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

Timeline



Oct 17, 2008:

11:18 PM Changeset in webkit [37675] by mjs@apple.com
  • 2 edits in trunk/WebKitTools

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:
11:17 PM Changeset in webkit [37674] by mjs@apple.com
  • 3 edits in trunk/JavaScriptCore

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):
9:54 PM Changeset in webkit [37673] by Stephanie Lewis
  • 2 edits in trunk/WebKitTools

2008-10-17 Stephanie Lewis <Stephanie Lewis>

Reviewed by Mark Rowe.

Fix layout tests that use prologues and epilogues.

  • Scripts/run-webkit-tests:
9:29 PM Changeset in webkit [37672] by mjs@apple.com
  • 2 edits in trunk/WebKitTools

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:
7:53 PM Changeset in webkit [37671] by barraclough@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

typo in ChangeLog

7:51 PM Changeset in webkit [37670] by barraclough@apple.com
  • 12 edits in trunk/JavaScriptCore

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):
6:04 PM Changeset in webkit [37669] by mjs@apple.com
  • 2 edits in trunk/WebKitTools

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:
5:08 PM Changeset in webkit [37668] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

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):
5:03 PM Changeset in webkit [37667] by kevino@webkit.org
  • 6 edits in trunk

Reviewed by Kevin Ollivier

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

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

4:22 PM Changeset in webkit [37666] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix. EAppearance -> ControlPart.

3:56 PM Changeset in webkit [37665] by pam@chromium.org
  • 1 edit
    37 adds in trunk/LayoutTests

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.
3:26 PM Changeset in webkit [37664] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

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):
3:02 PM Changeset in webkit [37663] by hyatt@apple.com
  • 16 edits in trunk/WebCore

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:
2:26 PM Changeset in webkit [37662] by hyatt@apple.com
  • 6 edits
    4 adds in trunk/WebCore

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:
2:22 PM Changeset in webkit [37661] by kmccullough@apple.com
  • 4 edits in trunk/WebKit/win

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:
2:16 PM Changeset in webkit [37660] by jmalonzo@webkit.org
  • 6 edits in trunk

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):
2:04 PM Changeset in webkit [37659] by timothy@apple.com
  • 3 edits in trunk/WebCore

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.
1:17 PM Changeset in webkit [37658] by mitz@apple.com
  • 3 edits in trunk/WebKit/win

Reviewed by Sam Weinig.

  • export WTF::initializeOnMainThread()
  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def:
11:07 AM Changeset in webkit [37657] by pam@chromium.org
  • 2 edits in trunk/LayoutTests

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:
9:51 AM Changeset in webkit [37656] by timothy@apple.com
  • 3 edits in trunk/WebCore

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.
8:56 AM Changeset in webkit [37655] by brettw@chromium.org
  • 2 edits in trunk/WebCore

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):
6:35 AM Changeset in webkit [37654] by ap@webkit.org
  • 5 edits in trunk/WebCore

Non-Mac build fix.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCoreSources.bkl: Added ActiveDOMObject to the build.
4:55 AM Changeset in webkit [37653] by mjs@apple.com
  • 5 edits in trunk/JavaScriptCore

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.
3:46 AM Changeset in webkit [37652] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

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):
3:15 AM Changeset in webkit [37651] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

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):
2:06 AM Changeset in webkit [37650] by mjs@apple.com
  • 3 edits in trunk/JavaScriptCore

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:
1:10 AM Changeset in webkit [37649] by ap@webkit.org
  • 10 edits
    2 adds in trunk/WebCore

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.
1:04 AM Changeset in webkit [37648] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

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:

Oct 16, 2008:

8:24 PM Changeset in webkit [37647] by mjs@apple.com
  • 6 edits in trunk/JavaScriptCore

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:
8:05 PM Changeset in webkit [37646] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

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.
7:57 PM Changeset in webkit [37645] by weinig@apple.com
  • 8 edits in trunk/JavaScriptCore

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:
6:20 PM Changeset in webkit [37644] by hyatt@apple.com
  • 13 edits in trunk/WebCore

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):
6:04 PM Changeset in webkit [37643] by hyatt@apple.com
  • 3 edits in trunk/WebCore/svg

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

5:54 PM Changeset in webkit [37642] by hyatt@apple.com
  • 1 edit in trunk/WebCore/svg/SVGFESpecularLightingElement.cpp

Fix Qt bustage. Why are filters on in Qt?

5:48 PM Changeset in webkit [37641] by hyatt@apple.com
  • 1 edit in trunk/WebCore/svg/SVGFEFloodElement.cpp

Fix Qt bustage. Why are filters on in Qt?

5:47 PM Changeset in webkit [37640] by hyatt@apple.com
  • 1 edit in trunk/WebCore/svg/SVGFEDiffuseLightingElement.cpp

Fix Qt bustage. Why are filters on in Qt?

5:46 PM Changeset in webkit [37639] by hyatt@apple.com
  • 1 edit in trunk/WebCore/svg/SVGFEDiffuseLightingElement.cpp

Fix Qt bustage. Why are filters on in Qt?

5:46 PM Changeset in webkit [37638] by hyatt@apple.com
  • 1 edit in trunk/WebCore/svg/SVGFEDiffuseLightingElement.cpp

Fix Qt bustage. Why are filters on in Qt?

5:25 PM Changeset in webkit [37637] by hyatt@apple.com
  • 62 edits in trunk/WebCore

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 PM Changeset in webkit [37636] by andersca@apple.com
  • 2 edits in trunk/WebCore

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 AM Changeset in webkit [37635] by jmalonzo@webkit.org
  • 2 edits in trunk/WebKitTools

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

Gtk build fix. Not reviewed.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setSmartInsertDeleteEnabled):
9:12 AM Changeset in webkit [37634] by jchaffraix@webkit.org
  • 2 edits in trunk/LayoutTests

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:
8:52 AM Changeset in webkit [37633] by Darin Adler
  • 8 edits
    2 adds in trunk

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.
4:11 AM Changeset in webkit [37632] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

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.
1:00 AM Changeset in webkit [37631] by ap@webkit.org
  • 12 edits in trunk

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.

Oct 15, 2008:

11:41 PM Changeset in webkit [37630] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

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.
10:31 PM Changeset in webkit [37629] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

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:
9:56 PM Changeset in webkit [37628] by jhoneycutt@apple.com
  • 2 edits in trunk/WebCore

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:
9:36 PM Changeset in webkit [37627] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

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::):
8:09 PM Changeset in webkit [37626] by mrowe@apple.com
  • 2 edits in trunk/WebKit/mac

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.

7:36 PM Changeset in webkit [37625] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

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.
6:14 PM Changeset in webkit [37624] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

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]):
6:05 PM Changeset in webkit [37623] by mrowe@apple.com
  • 2 edits in trunk/WebKit/mac

<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:]):

4:33 PM Changeset in webkit [37622] by ggaren@apple.com
  • 32 edits
    2 copies
    1 add in trunk

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.
3:22 PM Changeset in webkit [37621] by zecke@webkit.org
  • 2 edits in trunk/WebCore

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):
3:10 PM Changeset in webkit [37620] by adele@apple.com
  • 2 edits in trunk/WebCore

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

Attempt to fix the Tiger build.

  • platform/network/mac/ResourceHandleMac.mm:
3:08 PM Changeset in webkit [37619] by zecke@webkit.org
  • 2 edits in trunk/WebCore

Build fix for Cairo after changes to BitmapeImage.h

3:01 PM Changeset in webkit [37618] by zecke@webkit.org
  • 2 edits in trunk/WebCore

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):
3:01 PM Changeset in webkit [37617] by mrowe@apple.com
  • 2 edits in trunk/WebKit

<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.
2:53 PM Changeset in webkit [37616] by adele@apple.com
  • 4 edits in trunk/WebCore

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:]):
2:11 PM Changeset in webkit [37615] by pkasting@chromium.org
  • 2 edits in trunk/WebCore

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

Reviewed by David Hyatt.

Qt build bustage fix.

  • platform/graphics/qt/StillImageQt.h: (WebCore::StillImage::destroyDecodedData):
2:06 PM Changeset in webkit [37614] by hyatt@apple.com
  • 2 edits in trunk/WebCore

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):
1:53 PM Changeset in webkit [37613] by zecke@webkit.org
  • 4 edits in trunk/WebCore

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):
1:38 PM Changeset in webkit [37612] by pkasting@chromium.org
  • 11 edits in trunk/WebCore

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):
1:32 PM Changeset in webkit [37611] by Beth Dakin
  • 9 edits
    2 adds in trunk

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.
1:18 PM Changeset in webkit [37610] by zecke@webkit.org
  • 7 edits
    2 adds in trunk/WebCore

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 AM Changeset in webkit [37609] by Adam Roben
  • 3 edits in trunk/WebKit/win

Export WTF::Mutex::tryLock

  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def:
11:19 AM Changeset in webkit [37608] by sfalken@apple.com
  • 1 edit in tags/Safari-6528.4.2/WebCore/WebCore.vcproj/WebCore.submit.sln

Merge r37596.

11:12 AM Changeset in webkit [37607] by sfalken@apple.com
  • 1 copy in tags/Safari-6528.4.2

New tag.

10:21 AM Changeset in webkit [37606] by timothy@apple.com
  • 3 edits in trunk/WebKit/mac

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 AM Changeset in webkit [37605] by Darin Adler
  • 15 edits in trunk/WebCore

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):
9:42 AM Changeset in webkit [37604] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

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.
9:34 AM Changeset in webkit [37603] by jchaffraix@webkit.org
  • 7 edits
    4 copies in branches/XBL2/WebCore

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):
2:35 AM Changeset in webkit [37602] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

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):

Oct 14, 2008:

10:22 PM Changeset in webkit [37601] by darin@chromium.org
  • 2 edits in trunk/WebCore

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):
10:21 PM Changeset in webkit [37600] by darin@chromium.org
  • 2 edits in trunk/JavaScriptCore

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
10:15 PM Changeset in webkit [37599] by darin@chromium.org
  • 17 edits in trunk/WebCore

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:
8:41 PM Changeset in webkit [37598] by timothy@apple.com
  • 3 edits in trunk/WebKit/mac

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:.
7:39 PM Changeset in webkit [37597] by mjs@apple.com
  • 9 edits in trunk/JavaScriptCore

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:
5:23 PM Changeset in webkit [37596] by sfalken@apple.com
  • 1 edit in trunk/WebCore/WebCore.vcproj/WebCore.submit.sln

Build fix. Fix dependency chain in sln file.

3:43 PM Changeset in webkit [37595] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

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.
3:16 PM Changeset in webkit [37594] by adachan@apple.com
  • 6 edits in trunk/WebKitTools

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:
3:11 PM Changeset in webkit [37593] by Adam Roben
  • 2 edits in trunk/BugsSite

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.
2:31 PM Changeset in webkit [37592] by cmarrin@apple.com
  • 3 edits
    2 adds in trunk

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):
1:35 PM Changeset in webkit [37591] by hyatt@apple.com
  • 5 edits
    273 adds in trunk

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 PM Changeset in webkit [37590] by weinig@apple.com
  • 16 edits
    9 deletes in trunk

WebCore:

2008-10-14 Dimitri Glazkov <Dimitri Glazkov>

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 <Dimitri Glazkov>

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 PM Changeset in webkit [37589] by Darin Adler
  • 5 edits in trunk/WebCore

2008-10-14 Darin Adler <Darin Adler>

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 PM Changeset in webkit [37588] by timothy@apple.com
  • 2 edits in trunk/WebKitTools

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 AM Changeset in webkit [37587] by Darin Adler
  • 26 edits
    1 add in trunk/WebKitTools

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:
9:22 AM Changeset in webkit [37586] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

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.
5:50 AM Changeset in webkit [37585] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Simon.

Fix QtWebKit scrollbar painting errors

1:46 AM Changeset in webkit [37584] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

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.

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

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

Reviewed by Simon.

Fix scrollbar arrows for horizontal scrollbars

1:38 AM Changeset in webkit [37582] by vestbo@webkit.org
  • 4 edits in trunk/WebCore

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.

1:21 AM Changeset in webkit [37581] by mjs@apple.com
  • 7 edits in trunk/JavaScriptCore

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:
12:49 AM Changeset in webkit [37580] by jhoneycutt@apple.com
  • 3 edits in trunk/WebKit/win

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

Export currentThread.

Rubber-stamped by Dan Bernstein.

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

Oct 13, 2008:

11:45 PM Changeset in webkit [37579] by hyatt@apple.com
  • 3 edits in trunk/WebCore

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):
11:29 PM Changeset in webkit [37578] by hyatt@apple.com
  • 4 edits in trunk/WebCore

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:
11:12 PM Changeset in webkit [37577] by hyatt@apple.com
  • 4 edits in trunk/WebCore

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):
10:29 PM Changeset in webkit [37576] by mjs@apple.com
  • 3 edits in trunk/JavaScriptCore

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):
9:14 PM Changeset in webkit [37575] by alp@webkit.org
  • 4 edits in trunk

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

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

7:28 PM Changeset in webkit [37574] by mrowe@apple.com
  • 2 edits in trunk/WebCore

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.

7:16 PM Changeset in webkit [37573] by alp@webkit.org
  • 2 edits in trunk

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:
6:21 PM Changeset in webkit [37572] by mjs@apple.com
  • 9 edits in trunk

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:
5:59 PM Changeset in webkit [37571] by hyatt@apple.com
  • 7 edits in trunk/WebCore

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:
5:20 PM Changeset in webkit [37570] by cwzwarich@webkit.org
  • 6 edits in trunk/JavaScriptCore

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):
4:39 PM Changeset in webkit [37569] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebScrollBar.h

Fix Windows build bustage.

4:39 PM Changeset in webkit [37568] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/PopupMenu.h

Fix Windows build bustage.

3:48 PM Changeset in webkit [37567] by Chris Fleizach
  • 14 edits
    2 adds in trunk

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

This also fixes the positions of image map links

3:42 PM Changeset in webkit [37566] by hyatt@apple.com
  • 4 edits
    4 adds in trunk

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.
3:25 PM Changeset in webkit [37565] by timothy@apple.com
  • 1 edit
    45 adds in trunk/LayoutTests

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.
2:53 PM Changeset in webkit [37564] by hyatt@apple.com
  • 3 edits in trunk/WebCore

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):
2:41 PM Changeset in webkit [37563] by weinig@apple.com
  • 8 edits in trunk

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):
2:23 PM Changeset in webkit [37562] by hyatt@apple.com
  • 10 edits in trunk/WebCore

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):
1:56 PM Changeset in webkit [37561] by hyatt@apple.com
  • 6 edits in trunk/WebCore

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):
1:21 PM Changeset in webkit [37560] by hyatt@apple.com
  • 5 edits in trunk/WebCore

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 AM Changeset in webkit [37559] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools

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 AM Changeset in webkit [37558] by sfalken@apple.com
  • 9 edits in branches/Safari-3-2-branch

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 AM Changeset in webkit [37557] by sfalken@apple.com
  • 2 edits in trunk/WebKit/win

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

Reorder methods to preserve compatibility.


Rubber stamped by Oliver Hunt.

  • Interfaces/IWebViewPrivate.idl:
4:44 AM Changeset in webkit [37556] by jmalonzo@webkit.org
  • 6 edits
    2 adds in trunk

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):

Oct 12, 2008:

7:43 PM Changeset in webkit [37555] by jhoneycutt@apple.com
  • 2 edits in trunk/WebCore

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

Windows build fix.

  • loader/TextResourceDecoder.cpp:
7:20 PM Changeset in webkit [37554] by Darin Adler
  • 5 edits in trunk/LayoutTests

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

Reviewed by Darin Adler.

Add tests to cover more gradient edge cases: missing endpoints, only
endpoints, only one stop.

  • fast/canvas/fillrect_gradient.html:
  • platform/mac/fast/canvas/fillrect_gradient-expected.checksum:
  • platform/mac/fast/canvas/fillrect_gradient-expected.png:
  • platform/mac/fast/canvas/fillrect_gradient-expected.txt:
7:16 PM Changeset in webkit [37553] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-10-12 Gabriella Toth <gtoth@inf.u-szeged.hu>

Reviewed by Darin Adler.

  • kjs/nodes.cpp: Deleted a function that is not invoked: statementListInitializeVariableAccessStack.
7:13 PM Changeset in webkit [37552] by Darin Adler
  • 2 edits in trunk/WebCore

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

Reviewed by Darin Adler.

  • platform/network/NetworkStateNotifier.h: Add the #include.
6:41 PM Changeset in webkit [37551] by abarth@webkit.org
  • 1 edit in trunk/LayoutTests/ChangeLog

Fix typo in LayoutTests/ChangeLog

6:37 PM Changeset in webkit [37550] by Darin Adler
  • 6 edits
    2 adds in trunk/WebCore

2008-10-12 Darin Adler <Darin Adler>

Based on work by Holger Freyther.

  • GNUmakefile.am: Added new source files.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • WebCoreSources.bkl: Ditto.
  • platform/graphics/Font.cpp: Use WidthIterator from its new place.
  • platform/graphics/WidthIterator.cpp: Added.
  • platform/graphics/WidthIterator.h: Added.
6:29 PM Changeset in webkit [37549] by abarth@webkit.org
  • 3 edits in trunk/LayoutTests

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

Fixed 'completed' variable name to match 'running' one.
See https://bugs.webkit.org/show_bug.cgi?21506

Reviewed by Darin Adler.
Landed by Adam Barth.

  • dom/html/level2/html/HTMLFrameElement09.js:
  • dom/html/level2/html/HTMLIFrameElement11.js:
6:26 PM Changeset in webkit [37548] by mrowe@apple.com
  • 2 edits in branches/Safari-3-2-branch/JavaScriptCore

Merge r37526.

6:15 PM Changeset in webkit [37547] by abarth@webkit.org
  • 2 edits in trunk/LayoutTests

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

Remove a race condition in a test by promoting layoutTestController
calls outside document.write(). Add document.close().
See https://bugs.webkit.org/show_bug.cgi?id=21524

Reviewed by Darin Adler.
Landed by Adam Barth.

  • fast/encoding/script-in-head.html:
6:15 PM Changeset in webkit [37546] by abarth@webkit.org
  • 4 edits
    1 add in trunk/LayoutTests

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

Remove data: URLs to avoid cross-domain security restrictions.
See https://bugs.webkit.org/show_bug.cgi?id=21528

Reviewed by Darin Adler.
Landed by Adam Barth.

  • fast/events/resources/tabindex-focus-blur-all-frame1.html:
  • fast/events/resources/tabindex-focus-blur-all-frame2.html:
  • fast/events/resources/tabindex-focus-blur-all-frame3.html: Added.
  • fast/events/tabindex-focus-blur-all.html:
6:15 PM Changeset in webkit [37545] by abarth@webkit.org
  • 2 edits in trunk/LayoutTests

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

Fix test when removesExtraParentheses == false.
See https://bugs.webkit.org/show_bug.cgi?id=21529

Reviewed by Darin Adler.
Landed by Adam Barth.

  • fast/js/resources/function-toString-parentheses.js:
6:15 PM Changeset in webkit [37544] by abarth@webkit.org
  • 4 edits in trunk/LayoutTests

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

Fix a race condition by waiting for all create functions to be called
before terminating.
See https://bugs.webkit.org/show_bug.cgi?id=21531

Reviewed by Darin Adler.
Landed by Adam Barth.

  • platform/mac/svg/carto.net/window-expected.checksum:
  • platform/mac/svg/carto.net/window-expected.png:
  • platform/mac/svg/carto.net/window-expected.txt:
  • svg/carto.net/window.svg:
6:14 PM Changeset in webkit [37543] by abarth@webkit.org
  • 3 edits in trunk/LayoutTests

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

Remove inadvertent const redefinition, and add specific test for it.
See https://bugs.webkit.org/show_bug.cgi?id=21532

Reviewed by Darin Adler.
Landed by Adam Barth.

  • fast/js/const-expected.txt:
  • fast/js/resources/const.js:
6:14 PM Changeset in webkit [37542] by abarth@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

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

Add a test for null character data.
See https://bugs.webkit.org/show_bug.cgi?id=21535

Reviewed by Darin Adler.
Landed by Adam Barth.

  • fast/dom/null-chardata-crash-expected.txt: Added.
  • fast/dom/null-chardata-crash.html: Added.
6:13 PM Changeset in webkit [37541] by Darin Adler
  • 3 edits in trunk/WebCore

2008-10-12 Tony Chang <tony@chromium.org>

Reviewed by Sam Weinig.

  • plugins/PluginInfoStore.cpp: Added an include.
  • plugins/PluginInfoStore.h: Removed struct declarations.
6:07 PM Changeset in webkit [37540] by Darin Adler
  • 3 edits in trunk/WebCore

2008-10-12 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • platform/graphics/Gradient.cpp: Removed the overload of addColorStop that accepts a CSS color string. That's handled in the DOM now, not here. (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own copy of it here.
  • platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
5:58 PM Changeset in webkit [37539] by Darin Adler
  • 4 edits
    3 adds
    6 deletes in trunk

WebCore:

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

Reviewed by Darin Adler.

Added feature to allow multi-line inputs into text fields.
HTMLInputElement would cut the set text at the first 'system' character,
so it would truncate at the first carriage return or newline.
This fix modifies that behavior to truncate at any non-space system character
but changes \r, \n, and \r\n to a single space.

Tests: editing/pasteboard/paste-multiline-text-input.html


  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::constrainValue):

LayoutTests:

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

Reviewed by Darin Adler.

Added new test to verify that the user can cut and paste multiple lines of text
into a single line text field.

  • fast/forms/paste-multiline-text-input-expected.txt: Added.
  • fast/forms/paste-multiline-text-input.html: Added.
  • fast/forms/input-truncate-newline-expected.txt: Removed.
  • fast/forms/input-truncate-newline.html: Removed.
  • fast/forms/8250-expected.txt: Added.
  • fast/forms/8250.html: Updated test to be text-only and expect new results.
  • platform/mac/fast/forms/8250-expected.checksum: Removed.
  • platform/mac/fast/forms/8250-expected.png: Removed.
  • platform/mac/fast/forms/8250-expected.txt: Removed.
  • platform/qt/fast/forms/8250-expected.txt: Removed.
5:25 PM Changeset in webkit [37538] by Darin Adler
  • 8 edits
    9 adds in trunk

WebCore:

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

Reviewed by Eric Seidel.

Added exception codes to canvas gradients to match current specification.

Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html

fast/canvas/linearGradient-infinite-values.html
fast/canvas/radialGradient-infinite-values.html

  • html/CanvasGradient.cpp: (WebCore::CanvasGradient::addColorStop):
  • html/CanvasGradient.h:
  • html/CanvasGradient.idl:
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createLinearGradient): (WebCore::CanvasRenderingContext2D::createRadialGradient):
  • html/CanvasRenderingContext2D.h:
  • html/CanvasRenderingContext2D.idl:

LayoutTests:

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

Reviewed by Eric Seidel.

Added new tests to check behavior of canvas gradients to infinite values
or invalid colors.

  • fast/canvas/gradient-addColorStop-with-invalid-color-expected.txt: Added.
  • fast/canvas/gradient-addColorStop-with-invalid-color.html: Added.
  • fast/canvas/linearGradient-infinite-values-expected.txt: Added.
  • fast/canvas/linearGradient-infinite-values.html: Added.
  • fast/canvas/radialGradient-infinite-values-expected.txt: Added.
  • fast/canvas/radialGradient-infinite-values.html: Added.
  • fast/canvas/resources/gradient-addColorStop-with-invalid-color.js: Added.
  • fast/canvas/resources/linearGradient-infinite-values.js: Added.
  • fast/canvas/resources/radialGradient-infinite-values.js: Added.
4:59 PM Changeset in webkit [37537] by Darin Adler
  • 3 edits in trunk/WebCore

2008-10-12 Eric Roman <eroman@chromium.org>

Reviewed by David Hyatt.

  • rendering/RenderThemeWin.cpp: (WebCore::cssValueIdToSysColorIndex): (WebCore::RenderThemeWin::systemColor):
  • rendering/RenderThemeWin.h:
4:51 PM Changeset in webkit [37536] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch/WebKit/win

Merge r36005.

4:50 PM Changeset in webkit [37535] by Darin Adler
  • 2 edits in trunk/WebCore

2008-10-12 Aaron Bockover <abockover@novell.com>

Reviewed by Alp Toker.

Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy
plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window
handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>

  • plugins/gtk/PluginPackageGtk.cpp:
4:01 PM Changeset in webkit [37534] by Darin Adler
  • 2 edits in trunk/WebCore

2008-10-12 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>

Reviewed by Oliver Hunt.

  • page/DragController.cpp: (WebCore::DragController::startDrag): When a link is dragged without any text selected (note: for this to work, the EditableLinkBehavior setting must be set to 'live' or 'default') and then dropped into an editable html document it will eventually violate an ASSERT in MoveSelectionCommand that requires that there is a selection. To prevent this, expand the selection to the enclosing anchor tag when the drag begins.
3:53 PM Changeset in webkit [37533] by Darin Adler
  • 2 edits in trunk/WebCore

2008-10-12 Darin Adler <Darin Adler>

Reviewed by Mark Rowe.

  • rendering/RenderObject.cpp: (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain until we hit an Element. Nowadays, Node::isElementNode() is just as efficient as RenderObject::isText(), and this guarantees that the node can be cast to Element*, which is done just below. The reason this is hit is that RenderLayer can call getPseudoStyle on a RenderView, which has the document as its element() -- and a document is neither a Text node nor an Element. A loose end is that this seems to mean you can't style the scrollbar corner or the resizer on a RenderView. Hyatt may want to look into that later.
3:51 PM Changeset in webkit [37532] by Darin Adler
  • 3 edits in trunk/JavaScriptCore

2008-10-12 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • wtf/unicode/icu/UnicodeIcu.h: Fixed indentation to match WebKit coding style.
  • wtf/unicode/qt4/UnicodeQt4.h: Ditto.
3:49 PM Changeset in webkit [37531] by Darin Adler
  • 8 edits
    12 adds in trunk

JavaScriptCore:

2008-10-12 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • wtf/unicode/icu/UnicodeIcu.h: Removed isDigit, digitValue, and isFormatChar.
  • wtf/unicode/qt4/UnicodeQt4.h: Ditto.

WebCore:

2008-10-12 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

Tests: fast/dom/HTMLFontElement/size-attribute.html

fast/dom/HTMLInputElement/size-attribute.html
fast/dom/HTMLTableElement/cellpadding-attribute.html

  • html/HTMLFontElement.cpp: (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of Unicode::isDigit, since non-ASCII digits are not valid here.
  • html/HTMLFontElement.h: Tweaked formatting a bit and removed the unneeded destructor declaration.
  • platform/text/String.cpp: (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead of Unicode::isDigit, since non-ASCII digits are not valid.

LayoutTests:

2008-10-12 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

The fix was in a function used all over the place. I set a breakpoint in the
function and made some regression tests for the first few places it was used.

  • fast/dom/HTMLFontElement: Added.
  • fast/dom/HTMLFontElement/resources: Added.
  • fast/dom/HTMLFontElement/resources/TEMPLATE.html: Added.
  • fast/dom/HTMLFontElement/resources/size-attribute.js: Added.
  • fast/dom/HTMLFontElement/size-attribute-expected.txt: Added.
  • fast/dom/HTMLFontElement/size-attribute.html: Added.
  • fast/dom/HTMLInputElement/resources/size-attribute.js: Added.
  • fast/dom/HTMLInputElement/size-attribute-expected.txt: Added.
  • fast/dom/HTMLInputElement/size-attribute.html: Added.
  • fast/dom/HTMLTableElement/cellpadding-attribute-expected.txt: Added.
  • fast/dom/HTMLTableElement/cellpadding-attribute.html: Added.
  • fast/dom/HTMLTableElement/resources/cellpadding-attribute.js: Added.
3:38 PM Changeset in webkit [37530] by Darin Adler
  • 3 edits
    2 adds in trunk

WebCore:

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

Reviewed by Darin Adler.

Treat x-user-defined as windows-1252 for html files with meta charset
declaration to be compatible with Indian web sites.
( https://bugs.webkit.org/show_bug.cgi?id=18270 )

Test: fast/encoding/charset-xuser-defined.html

  • loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::setEncoding):

LayoutTests:

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

Reviewed by Darin Adler.

Treat x-user-defined as windows-1252 for html files with meta charset
declaration to be compatible with Indian web sites.
( https://bugs.webkit.org/show_bug.cgi?id=18270 )

  • fast/encoding/charset-xuser-defined-expected.txt: Added.
  • fast/encoding/charset-xuser-defined.html: Added.
3:24 PM Changeset in webkit [37529] by Darin Adler
  • 130 edits in trunk/LayoutTests

2008-10-12 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • svg/custom/immutable-properties.html: Updated path to test resources so it does not go up out of and back into LayoutTests.
  • svg/custom/svg-modify-currentTranslate.html: Ditto.
  • svg/custom/svg-xml-dom-sync.html: Ditto.
  • svg/custom/tearoffs-with-tearoffs.html: Ditto.
  • svg/dynamic-updates/resources/*.js: Allow the make-js-test-wrappers script to add var successfullyParsed = true; to these files. It's not helpful for the tests, but it's not harmful either.
2:32 PM Changeset in webkit [37528] by weinig@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Dan Bernstein.

Remove unneeded forward declaration.

  • platform/graphics/ImageBuffer.h:
1:43 PM Changeset in webkit [37527] by weinig@apple.com
  • 14 edits
    1 add in trunk/WebCore

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

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
Layering violation: String should not be responsible for creating Lengths

It was a layering violation for String to know haw to parse
into Lengths, LengthArrays, and CoordsArrays.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • html/HTMLAreaElement.cpp: (WebCore::HTMLAreaElement::parseMappedAttribute):
  • html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::parseMappedAttribute):
  • platform/text/AtomicString.h: (WebCore::AtomicString::percentage):
  • platform/text/PlatformString.h:
  • platform/text/String.cpp:
  • platform/text/StringImpl.cpp:
  • platform/text/StringImpl.h:
  • rendering/Length.cpp: Added. (WebCore::parseLength): (WebCore::countCharacter): (WebCore::newCoordsArray): (WebCore::newLengthArray):
  • rendering/Length.h: (WebCore::LengthSize::LengthSize):
12:51 PM Changeset in webkit [37526] by andersca@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Darin Adler.

Make the append method that takes a Vector more strict - it now requires the elements
of the vector to be appended same type as the elements of the Vector they're being appended to.


This would cause problems when dealing with Vectors containing other Vectors.


  • wtf/Vector.h: (WTF::::append):
12:34 PM Changeset in webkit [37525] by Darin Adler
  • 2 edits in trunk/WebKitTools

2008-10-12 Darin Adler <Darin Adler>

  • Scripts/make-js-test-wrappers: Update exceptions list so the script won't overwrite files and mangle tests.
11:23 AM Changeset in webkit [37524] by Darin Adler
  • 3 edits
    2 adds in trunk

WebCore:

2008-10-12 Brad Garcia <bgarcia@google.com>

Reviewed by Darin Adler.

Interpret fractional percentage values for %MultiLength values.
Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
Test: fast/frames/frame-length-fractional-percentage.html

  • platform/text/StringImpl.cpp: (WebCore::parseLength):

LayoutTests:

2008-10-12 Brad Garcia <bgarcia@google.com>

Reviewed by Darin Adler.

Testcases for fractional frame lengths.
https://bugs.webkit.org/show_bug.cgi?id=3591

  • fast/frames/frame-length-fractional.html: Added.
  • fast/frames/frame-length-fractional-expected.txt: Added.
10:04 AM Changeset in webkit [37523] by timothy@apple.com
  • 4 edits in trunk/WebCore

Remember the expanded state of the rules in the Styles pane. So
collapsing a rule will persist across all the elements that have
that same rule. The same applies to Computed Style, so the Computed
Style rule is now collapsed by default. This should help lessen the
confusion on why Computed Style can't be edited (a common confusion.)

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

Reviewed by Darin Adler.

  • inspector/front-end/PropertiesSection.js: (WebInspector.PropertiesSection): Set the _expanded property directly, instead of using the setter. Expanded is the default, so no work is needed. This prevents calling StylesSidebarPane.collapse before object initialization is complete.
  • inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object for the expanded state of the StylePropertiesSection. Collapse computed style by default and expand everything else. (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used when remembering expanded state. (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state to true for this identifier in Preferences.styleRulesExpandedState. Don't remember the state if the dontRememberState property is true. (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state to false for this identifier in Preferences.styleRulesExpandedState.
  • inspector/front-end/inspector.js: (Preferences.styleRulesExpandedState): Initialize to an empty object.
4:47 AM Changeset in webkit [37522] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Alp Toker.

[Gtk] Remove libWebCoreJS.la when doing make clean
https://bugs.webkit.org/show_bug.cgi?id=21544

Remove libWebCoreJS.la when doing a clean target

  • GNUmakefile.am: add libWebCoreJS.la to CLEANFILES

Oct 11, 2008:

11:50 PM Changeset in webkit [37521] by alp@webkit.org
  • 3 edits in trunk/WebCore

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

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=20592
The focus ring is not shown while navigating on some pages

Fix drawFocusRing() so it doesn't depend on the current graphics
state, thus matching other platforms which already work this way.

This patch provides two code paths: one using straight Cairo and
one specialised for the GTK+ port with a more conventional appearance.

Also change focusRingColor() to return a null color, allowing the
focus ring to pick up the style's current color if it isn't overridden
with CSS.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawFocusRing):
  • platform/gtk/TemporaryLinkStubs.cpp: (WebCore::focusRingColor):
10:00 PM Changeset in webkit [37520] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Sam Weinig.

Clean up RegExpMatchesArray.h to match our coding style.

  • kjs/RegExpMatchesArray.h: (JSC::RegExpMatchesArray::getOwnPropertySlot): (JSC::RegExpMatchesArray::put): (JSC::RegExpMatchesArray::deleteProperty): (JSC::RegExpMatchesArray::getPropertyNames):
9:56 PM Changeset in webkit [37519] by mitz@apple.com
  • 2 edits in trunk/WebCore

Rubber-stamped by Sam Weinig.

  • change all internal callers to use Cache::evict() instead of remove()
  • loader/Cache.cpp: (WebCore::Cache::revalidateResource): (WebCore::Cache::revalidationSucceeded): (WebCore::Cache::pruneDeadResources): (WebCore::Cache::setDisabled):
9:26 PM Changeset in webkit [37518] by hyatt@apple.com
  • 2 edits in trunk/WebCore

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

Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.

Reviewed by Tim Hatcher

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::invalidatePart):
9:20 PM Changeset in webkit [37517] by hyatt@apple.com
  • 6 edits in trunk/WebCore

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

https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).

Also fixed resizer positioning problems.

Reviewed by Tim Hatcher

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::splitTrack): (WebCore::ScrollbarThemeComposite::trackPosition): (WebCore::ScrollbarThemeComposite::trackLength):
  • platform/ScrollbarThemeComposite.h: (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
  • rendering/RenderLayer.cpp: (WebCore::scrollCornerRect): (WebCore::RenderLayer::positionOverflowControls): (WebCore::RenderLayer::paintOverflowControls): (WebCore::RenderLayer::isPointInResizeControl): (WebCore::RenderLayer::hitTestOverflowControls):
  • rendering/RenderScrollbarTheme.cpp: (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
  • rendering/RenderScrollbarTheme.h:
8:48 PM Changeset in webkit [37516] by mrowe@apple.com
  • 1 edit in branches/Safari-3-2-branch/JavaScriptCore/wtf/ASCIICType.h

Merge ASCIICType.h portion of r36244.

8:33 PM Changeset in webkit [37515] by alp@webkit.org
  • 3 edits in trunk/WebCore

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

Reviewed by David Hyatt.

Implement release/retain for Widget GTK+.

  • platform/Widget.cpp:
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::~Widget): (WebCore::Widget::releasePlatformWidget): (WebCore::Widget::retainPlatformWidget):
6:38 PM Changeset in webkit [37514] by mrowe@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fix ChangeLog header that was mangled in r37484.

6:31 PM Changeset in webkit [37513] by mrowe@apple.com
  • 1 move in trunk/LayoutTests/animations/font-size-using-ems.html-disabled

Disable animations/font-size-using-ems.html as it has been causing the following test, animatinos/generic-from-to.html, to hang since it was added.

4:10 PM Changeset in webkit [37512] by mitz@apple.com
  • 4 edits in trunk/WebKitTools

Reviewed by Sam Weinig and Anders Carlsson.

  • update Mac DumpRenderTree to use the new WebView SPI for forcing the complex text code path
  • add --complex-text support to Windows DumpRenderTree
  • DumpRenderTree/mac/DumpRenderTree.mm: (dumpRenderTree):
  • DumpRenderTree/win/DumpRenderTree.cpp: (createWebViewAndOffscreenWindow): (main):
  • Scripts/run-webkit-tests:
3:53 PM Changeset in webkit [37511] by mitz@apple.com
  • 15 edits in trunk

WebCore:

Reviewed by Sam Weinig.

  • rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath and add a corresponding getter; add the same functions on Windows
  • WebCore.base.exp:
  • platform/graphics/Font.cpp: (WebCore::Font::setCodePath): (WebCore::codePath): (WebCore::Font::canUseGlyphCache):
  • platform/graphics/Font.h:
  • platform/mac/WebCoreTextRenderer.h:
  • platform/mac/WebCoreTextRenderer.mm: (WebCoreSetAlwaysUsesComplexTextCodePath): (WebCoreAlwaysUsesComplexTextCodePath):
  • platform/win/WebCoreTextRenderer.cpp: (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath): (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
  • platform/win/WebCoreTextRenderer.h:

WebKit/mac:

Reviewed by Sam Weinig.

  • rename _setAlwaysUseATSU to _setAlwaysUsesComplexTextCodePath and update it for the renamed WebCoreTextRenderer method; keep the old method around for clients that use it
  • WebView/WebView.mm: (+[WebView _setAlwaysUseATSU:]): (+[WebView _setAlwaysUsesComplexTextCodePath:]):
  • WebView/WebViewPrivate.h:

WebKit/win:

Reviewed by Sam Weinig.

  • add SPI for forcing the complex text code path to be used for all text
  • Interfaces/IWebViewPrivate.idl:
  • WebView.cpp: (WebView::setAlwaysUsesComplexTextCodePath): (WebView::alwaysUsesComplexTextCodePath):
  • WebView.h:
3:20 PM Changeset in webkit [37510] by weinig@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Cameron Zwarich.

Stop leaking the event parameter names. The protected strings were showing up
in the caches window after one use. No measurable performance loss.

  • bindings/js/JSEventListener.cpp: (WebCore::eventParameterName):
3:10 PM Changeset in webkit [37509] by weinig@apple.com
  • 3 edits in trunk/WebCore

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

Reviewed by Cameron Zwarich.

Remove unused function getNodeEventListener.

  • bindings/js/JSEventListener.cpp:
  • bindings/js/JSEventListener.h:
1:58 PM Changeset in webkit [37508] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

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

Reviewed by Sam Weinig.

Bug 21525: 55 StructureID leaks on Wikitravel's main page
<https://bugs.webkit.org/show_bug.cgi?id=21525>

Bug 21533: Simple JavaScript code leaks StructureIDs
<https://bugs.webkit.org/show_bug.cgi?id=21533>

StructureID::getEnumerablePropertyNames() ends up calling back to itself
via JSObject::getPropertyNames(), which causes the PropertyNameArray to
be cached twice. This leads to a memory leak in almost every use of
JSObject::getPropertyNames() on an object. The fix here is based on a
suggestion of Sam Weinig.

This patch also fixes every StructureID leaks that occurs while running
the Mozilla MemBuster test.

  • kjs/PropertyNameArray.h: (JSC::PropertyNameArray::PropertyNameArray): (JSC::PropertyNameArray::setCacheable): (JSC::PropertyNameArray::cacheable):
  • kjs/StructureID.cpp: (JSC::StructureID::getEnumerablePropertyNames):
12:50 AM Changeset in webkit [37507] by hyatt@apple.com
  • 8 edits in trunk/WebCore

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

Add support for both positive and negative margins to tracks and track pieces.

Reviewed by Tim Hatcher

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint): (WebCore::ScrollbarThemeComposite::hitTest): (WebCore::ScrollbarThemeComposite::splitTrack): (WebCore::ScrollbarThemeComposite::trackPieceRects): (WebCore::ScrollbarThemeComposite::trackPosition): (WebCore::ScrollbarThemeComposite::trackLength):
  • platform/ScrollbarThemeComposite.h: (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::trackRect): (WebCore::RenderScrollbar::trackPieceRectWithMargins):
  • rendering/RenderScrollbar.h:
  • rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::computeScrollbarWidth): (WebCore::RenderScrollbarPart::computeScrollbarHeight):
  • rendering/RenderScrollbarTheme.cpp: (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
  • rendering/RenderScrollbarTheme.h:

Oct 10, 2008:

11:33 PM Changeset in webkit [37506] by hyatt@apple.com
  • 4 edits in trunk/LayoutTests/scrollbars

Update scrollbars layout tests to new syntax.

11:30 PM Changeset in webkit [37505] by hyatt@apple.com
  • 4 edits in trunk/WebCore

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

Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
the scrollbar pseudo-elements anyway.

Reviewed by Tim Hatcher

  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
11:26 PM Changeset in webkit [37504] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • separate Cache::remove() into a private method and a public interface, then make Cache::pruneDeadResources() use the private method.
  • loader/Cache.cpp: (WebCore::Cache::pruneDeadResources): (WebCore::Cache::evict):
  • loader/Cache.h: (WebCore::Cache::remove):
11:12 PM Changeset in webkit [37503] by hyatt@apple.com
  • 2 edits in trunk/WebCore

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

Fix a math error when splitting a vertical track. Clean up more of ScrollbarThemeComposite
now that the track pieces meet under the thumb.

Reviewed by Tim Hatcher

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint): (WebCore::ScrollbarThemeComposite::splitTrack):
11:04 PM Changeset in webkit [37502] by hyatt@apple.com
  • 2 edits in trunk/WebCore

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

Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).

Reviewed by Tim Hatcher

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::hitTest): (WebCore::ScrollbarThemeComposite::splitTrack):
10:54 PM Changeset in webkit [37501] by hyatt@apple.com
  • 5 edits in trunk/WebCore

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

Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.

Reviewed by Tim Hatcher

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::createScrollbar):
  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::createCustomScrollbar): (WebCore::RenderScrollbar::RenderScrollbar): (WebCore::RenderScrollbar::setParent): (WebCore::RenderScrollbar::updateScrollbarParts): (WebCore::RenderScrollbar::updateScrollbarPart):
  • rendering/RenderScrollbar.h:
  • rendering/style/RenderStyle.h: (WebCore::RenderStyle::):
10:49 PM Changeset in webkit [37500] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

Use fastcall calling convention on GCC > 4.0

Reviewed by Cameron Zwarich

Results in a 2-3% improvement in GCC 4.2 performance, so
that it is no longer a regression vs. GCC 4.0

10:30 PM Changeset in webkit [37499] by hyatt@apple.com
  • 4 edits in trunk/WebCore

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

Make sure scrollbar background images cause proper part invalidation to occur.

Reviewed by Tim Hatcher

  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::setHoveredPart): (WebCore::RenderScrollbar::setPressedPart):
  • rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::styleDidChange): (WebCore::RenderScrollbarPart::imageChanged):
  • rendering/RenderScrollbarPart.h:
7:53 PM Changeset in webkit [37498] by weinig@apple.com
  • 8 edits in trunk

JavaScriptCore:

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

Reviewed by Darin Adler.

  • Add a workaround for a bug in ceil in Darwin libc.
  • Remove old workarounds for JS math functions that are not needed anymore.

The math functions are heavily tested by fast/js/math.html.

  • kjs/MathObject.cpp: (JSC::mathProtoFuncAbs): Remove workaround. (JSC::mathProtoFuncCeil): Ditto. (JSC::mathProtoFuncFloor): Ditto.
  • wtf/MathExtras.h: (wtf_ceil): Add ceil workaround for darwin.

LayoutTests:

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

Reviewed by Darin Adler.

  • Update tests after fixing ceil(-0.1) behavior on darwin.
  • fast/js/math-expected.txt:
  • fast/js/resources/math.js: Remove code to detect sign of 0 now that the harness can handle it.
  • fast/xpath/4XPath/Core/test_core_functions-expected.txt:
  • fast/xpath/4XPath/Core/test_core_functions.html: Update test expect correct result of -0.
7:05 PM Changeset in webkit [37497] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Darin Adler

Add Assertions to JSObject constructor.

  • kjs/JSObject.h: (JSC::JSObject::JSObject):
5:35 PM Changeset in webkit [37496] by Simon Fraser
  • 3 edits
    2 adds in trunk

2008-10-10 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

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

The blendFunc() for TransformOperations should never mess with the
operation lists by replacing some ops with identity, otherwise the lists
no longer match and transitions break.

Test: transitions/matched-transform-functions.html

  • page/animation/AnimationBase.cpp: (WebCore::blendFunc):
5:32 PM Changeset in webkit [37495] by Simon Fraser
  • 3 edits
    2 adds in trunk

2008-10-10 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

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

Fix re-targetting a running transition; if the target property
changes, we do need to make a new ImplicitAnimation.

Test: transitions/retargetted-transition.html

  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::updateTransitions):
4:21 PM Changeset in webkit [37494] by oliver@apple.com
  • 2 edits in trunk/WebCore

Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion

Reviewed by Cameron Zwarich

When JS is terminated by the user choosing to stop a slow script
the exception toString method throws, yet the console logger does
not perform exception checks after logging. This leaves an
exception on the Machine, which in turn results in an assertion
failure next time we attempt to enter JS. The solution is just to
clear the exception state after attempting to record the exception.

3:24 PM Changeset in webkit [37493] by hyatt@apple.com
  • 2 edits in trunk/WebCore

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

Make textareas work with custom CSS scrollbars and resizers. Need to access the correct renderer
when looking for pseudo styles.

Reviewed by Tim Hatcher

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::createScrollbar): (WebCore::RenderLayer::styleChanged):
3:19 PM Changeset in webkit [37492] by dino@apple.com
  • 2 edits in trunk/WebKitSite/specs/CSSVisualEffects

2008-10-10 Dean Jackson <dino@apple.com>

Keyframe example had "0" rather than "0%".

  • WebKitSite/specs/CSSVisualEffects/CSSAnimations.html:
3:16 PM Changeset in webkit [37491] by hyatt@apple.com
  • 10 edits in trunk/WebCore

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

Add the ability to style the scroll corner and the resizer from CSS.

Reviewed by Tim Hatcher

  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::~RenderLayer): (WebCore::RenderLayer::paintOverflowControls): (WebCore::RenderLayer::paintScrollCorner): (WebCore::RenderLayer::paintResizer): (WebCore::RenderLayer::styleChanged):
  • rendering/RenderLayer.h:
  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::updateScrollbarPart): (WebCore::RenderScrollbar::paintPart):
  • rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::RenderScrollbarPart): (WebCore::RenderScrollbarPart::paintIntoRect):
  • rendering/RenderScrollbarPart.h:
  • rendering/style/RenderStyle.h: (WebCore::RenderStyle::):
2:05 PM Changeset in webkit [37490] by hyatt@apple.com
  • 10 edits in trunk/WebCore

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

Make CSS scrollbars respect the OS setting regarding where buttons should be placed.

Reviewed by Sam Weinig

No test case possible, since the OS setting can vary.

  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
  • platform/Scrollbar.h: (WebCore::Scrollbar::styleChanged):
  • platform/mac/ScrollbarThemeMac.mm: (+[ScrollbarPrefsObserver appearancePrefsChanged:]): (WebCore::ScrollbarThemeMac::preferencesChanged):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::invalidateScrollbarRect):
  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::styleChanged): (WebCore::RenderScrollbar::updateScrollbarPart):
  • rendering/RenderScrollbar.h:
  • rendering/RenderScrollbarTheme.h: (WebCore::RenderScrollbarTheme::buttonsPlacement):
1:43 PM Changeset in webkit [37489] by adachan@apple.com
  • 3 edits in trunk/WebKit/win

Bug 21526: The hashmap webPreferencesInstances in WebPreferences.cpp can
potentially hold onto stale instances of WebPreferences
https://bugs.webkit.org/show_bug.cgi?id=21526


webPreferencesInstances now keeps a reference to all the instances it holds.
Fix up callers of WebPreferences::removeReferenceForIdentifier() to call
it after they have released their references to the WebPreferences objects.

Reviewed by Adam Roben.

  • WebPreferences.cpp: (WebPreferences::getInstanceForIdentifier): (WebPreferences::removeReferenceForIdentifier):
  • WebView.cpp: (WebView::close): (WebView::setPreferences):
1:27 PM Changeset in webkit [37488] by timothy@apple.com
  • 4 edits
    2 adds in trunk

Fixes a regression with input search fields, where the placeholder text
would not be updated when the value of the placeholder attribute changed.

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

Reviewed by Adele Peterson.

Test: fast/forms/search-placeholder-value-changed.html

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the placeholderValueChanged parameter of updatePlaceholderVisibility. (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter for placeholderValueChanged that informs the method that the value changed.
  • html/HTMLInputElement.h: Add the placeholderValueChanged to the updatePlaceholderVisibility method. Made it default to false.
1:12 PM Changeset in webkit [37487] by hyatt@apple.com
  • 6 edits in trunk/WebCore

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

Allow the track part to have negative margins so that it can slightly overlap buttons. This
is necessary to emulate the Aqua look in CSS.

Reviewed by Sam Weinig

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint): (WebCore::ScrollbarThemeComposite::hitTest):
  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::setHoveredPart): (WebCore::RenderScrollbar::trackRect):
  • rendering/RenderScrollbar.h:
  • rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::computeScrollbarWidth): (WebCore::RenderScrollbarPart::computeScrollbarHeight):
  • rendering/RenderScrollbarTheme.cpp: (WebCore::RenderScrollbarTheme::backButtonRect): (WebCore::RenderScrollbarTheme::forwardButtonRect): (WebCore::RenderScrollbarTheme::trackRect):
12:32 PM Changeset in webkit [37486] by hyatt@apple.com
  • 6 edits
    1 add in trunk/WebCore

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

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

Make CSS scrollbars support :not, :hover and :active.

Reviewed by Adam Roben

Added WebCore/manual-tests/scrollbar-hover-active.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::autoscrollPressedPart): (WebCore::Scrollbar::startTimerIfNeeded): (WebCore::Scrollbar::setHoveredPart): (WebCore::Scrollbar::setPressedPart): (WebCore::Scrollbar::mouseMoved): (WebCore::Scrollbar::mouseExited): (WebCore::Scrollbar::mouseUp): (WebCore::Scrollbar::mouseDown):
  • platform/Scrollbar.h:
  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::setHoveredPart): (WebCore::RenderScrollbar::setPressedPart): (WebCore::RenderScrollbar::updateScrollbarParts): (WebCore::pseudoForScrollbarPart): (WebCore::RenderScrollbar::updateScrollbarPart):
  • rendering/RenderScrollbar.h:
11:43 AM Changeset in webkit [37485] by cmarrin@apple.com
  • 4 edits
    2 adds in trunk

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

Reviewed by Dan Bernstein.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
CSS transition with duration=0 and delay=0 doesn't override ongoing transition

Test: transitions/interrupt-zero-duration.html

  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::updateTransitions):
11:04 AM Changeset in webkit [37484] by cmarrin@apple.com
  • 10 edits in trunk/WebCore

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

Reviewed by Dan Bernstein.

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

Redesigned how animation events are sent in order to get rid of
AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
are now ref counted. While calling the event handler, I keep a
reference to this class to avoid it getting destroyed out from under me.

I also moved most of the functionality of CompositeAnimation to
and internal class (CompositeAnimationPrivate) to reduce the exposure
of the internals of the various animation classes.

We have several transition and animation LayoutTests which verify that
this fix works as expected and continues to avoid crashes.

10:13 AM Changeset in webkit [37483] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix. Add new scrollbar-related sources.

9:59 AM Changeset in webkit [37482] by hyatt@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

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

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

Support increment/decrement/start/end on scrollbars. Allows a fully functional scrollbar to be
created. (Just :hover/:active left to finish it up.)

Reviewed by Adam Roben

Added scrollbars/scrollbar-buttons.html

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

LayoutTests:

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

Add test for scrollbar buttons and track supporting increment/decrement/start/end.

Reviewed by Adam Roben

  • platform/mac/scrollbars/scrollbar-buttons-expected.checksum: Added.
  • platform/mac/scrollbars/scrollbar-buttons-expected.png: Added.
  • platform/mac/scrollbars/scrollbar-buttons-expected.txt: Added.
  • scrollbars/scrollbar-buttons.html: Added.
9:40 AM Changeset in webkit [37481] by hyatt@apple.com
  • 1 edit in trunk/LayoutTests/scrollbars/scrollbar-orientation.html

Land updated layout test after pseudoclass rename.

9:40 AM Changeset in webkit [37480] by hyatt@apple.com
  • 4 edits in trunk/WebCore

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

Rename some pseudoclasses. Removing "-scrollbar-" from a bunch of the pseudoclasses. Renaming
back/forward to decrement/increment. Adding start/end pseudoclasses.

Reviewed by Eric Seidel

  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
12:18 AM Changeset in webkit [37479] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.

Remove now unused m_getterSetterFlag variable from PropertyMap.

  • kjs/PropertyMap.cpp: (JSC::PropertyMap::operator=):
  • kjs/PropertyMap.h: (JSC::PropertyMap::PropertyMap):
12:15 AM Changeset in webkit [37478] by hyatt@apple.com
  • 1 edit in trunk/WebCore/css/CSSStyleSelector.cpp

Fix build.

12:15 AM Changeset in webkit [37477] by hyatt@apple.com
  • 4 edits in trunk/WebCore

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

Switch window-active to window-inactive, since that will work better as far as degrading in other
browsers.

Reviewed by Tim Hatcher

  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
12:06 AM Changeset in webkit [37476] by timothy@apple.com
  • 1 edit in trunk/WebCore/bindings/objc/WebScriptObject.h

Yet another Tiger build fix.

12:04 AM Changeset in webkit [37475] by hyatt@apple.com
  • 9 edits
    4 adds in trunk

WebCore:

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

Add support for scrollbar orientation as a pseudoclass. Add support for whether or not the scrollbar
is active as well.

Reviewed by Tim Hatcher

Added scrollbars/scrollbar-orientation.html

  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::isWindowActive):
  • platform/Scrollbar.h:
  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::paint): (WebCore::RenderScrollbar::partForStyleResolve):
  • rendering/RenderScrollbar.h:

LayoutTests:

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

Add layout test for scrollbars honoring orientation and window active state.

Reviewed by Tim Hatcher

  • platform/mac/scrollbars/scrollbar-orientation-expected.checksum: Added.
  • platform/mac/scrollbars/scrollbar-orientation-expected.png: Added.
  • platform/mac/scrollbars/scrollbar-orientation-expected.txt: Added.
  • scrollbars/scrollbar-orientation.html: Added.

Oct 9, 2008:

11:39 PM Changeset in webkit [37474] by timothy@apple.com
  • 3 edits in trunk/WebKit/mac

Another build fix.

11:12 PM Changeset in webkit [37473] by timothy@apple.com
  • 3 edits in trunk

Full build fix for the fail on Tiger.

10:56 PM Changeset in webkit [37472] by hyatt@apple.com
  • 8 edits
    4 adds in trunk

WebCore:

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

Add support for pseudo classes on scrollbar pseudo elements. As an initial proof of concept only
:enabled/:disabled are supported. More pseudo classes will follow quickly now that this works.

Reviewed by Tim Hatcher

Added scrollbars/disabled-scrollbar.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
  • css/CSSStyleSelector.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::getPseudoStyle):
  • rendering/RenderObject.h:
  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::setEnabled): (WebCore::RenderScrollbar::scrollbarForStyleResolve): (WebCore::RenderScrollbar::getScrollbarPseudoStyle): (WebCore::RenderScrollbar::paintPart):
  • rendering/RenderScrollbar.h:

LayoutTests:

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

Add test case for disabled scrollbars.

Reviewed by Tim Hatcher

  • platform/mac/scrollbars/disabled-scrollbar-expected.checksum: Added.
  • platform/mac/scrollbars/disabled-scrollbar-expected.png: Added.
  • platform/mac/scrollbars/disabled-scrollbar-expected.txt: Added.
  • scrollbars/disabled-scrollbar.html: Added.
9:34 PM Changeset in webkit [37471] by timothy@apple.com
  • 2 edits in trunk

Tiger build fix.

9:04 PM Changeset in webkit [37470] by eric.carlson@apple.com
  • 5 edits in trunk/WebCore

2008-10-09 Eric Carlson <eric.carlson@apple.com>

Media controls should not show when element is not visible

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


Reviewed by Adele Peterson.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay in sync with visibility changes
  • html/HTMLMediaElement.h:
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining if element is visible or not. Don't animate controller visibility when change triggered by showing or hiding media element.
  • rendering/RenderMedia.h: declare m_previousVisible
8:42 PM Changeset in webkit [37469] by hyatt@apple.com
  • 1 edit in trunk/WebCore/GNUmakefile.am

Fix Gtk bustage.

8:41 PM Changeset in webkit [37468] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.pro

Fix Qt bustage.

8:37 PM Changeset in webkit [37467] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/win/ScrollbarThemeWin.cpp

Fix Windows bustage.

8:25 PM Changeset in webkit [37466] by hyatt@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fix typo in my Changelog comment

8:23 PM Changeset in webkit [37465] by timothy@apple.com
  • 15 edits in trunk

Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h availability macros and version macros.

WebCore:

2008-10-09 Timothy Hatcher <timothy@apple.com>

Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
availability macros and version macros.

https://bugs.webkit.org/show_bug.cgi?id=21496
rdar://problem/6259225

Reviewed by Sam Weinig.

  • bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
  • bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h and add an #if around the enum.
  • bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the comment to match the other headers.
  • bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
  • bindings/objc/DOMObject.h: Add a version #if around class interface.
  • bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h and add a version #if around the enum.
  • bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
  • bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
  • bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for when they where added to WebKit. Also annotate individual methods that are deprecated or where added after the class was added to WebKit.
  • bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h since this header is included by most DOM headers. Annotate the JSObject method.
  • bindings/scripts/CodeGeneratorObjC.pm: (ReadPublicInterfaces): Parse out the availability macro for each function/property. And parse out the availability version for the class/protocol. Default to WEBKIT_VERSION_LATEST if the class is new. (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the interface availability version check if the class has a required version. Create a public interface key (used to lookup in $publicInterfaces) and make a declaration suffix that includes the availability macro (if needed). Use the "available in 1.3 and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as the default availability macro for old style methods. Tweak line breaks in the generated headers to look good and not have too many extra lines.

WebKit/mac:

2008-10-09 Timothy Hatcher <timothy@apple.com>

Don't convert JavaScriptCore header include paths to WebKit paths. This was needed
back when NPAPI and WebScriptObject migrated from JavaScriptCore. Also remove
JavaScriptCore from the VPATH.

Reviewed by Sam Weinig.

  • MigrateHeaders.make:
8:15 PM Changeset in webkit [37464] by Simon Fraser
  • 47 edits in trunk/WebCore

2008-10-09 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

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

Refactor setStyle() methods into styleWillChange()
and styleDidChange(), so most of the setStyle() overrides can
be removed.

8:13 PM Changeset in webkit [37463] by hyatt@apple.com
  • 3 edits in trunk/WebCore

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

Make sure to destroy a custom scrollbar's RenderObject's before the arena goes away. When our widget
parent is nulled out is a good time.

Reviewed by Oliver Hunt

  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::~RenderScrollbar): (WebCore::RenderScrollbar::setParent): (WebCore::RenderScrollbar::updateScrollbarPart):
  • rendering/RenderScrollbar.h:
7:33 PM Changeset in webkit [37462] by hyatt@apple.com
  • 19 edits
    12 adds in trunk

WebCore:

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

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

This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between
orientation and back vs. forward on the buttons, but it's a start.

Reviewed by Oliver Hunt

Added scrollbars/basic-scrollbar.html

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  • platform/ScrollTypes.h: (WebCore::):
  • platform/Scrollbar.h: (WebCore::Scrollbar::styleChanged):
  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint): (WebCore::ScrollbarThemeComposite::splitTrack):
  • platform/ScrollbarThemeComposite.h: (WebCore::ScrollbarThemeComposite::paintScrollbarBackground): (WebCore::ScrollbarThemeComposite::paintTrackBackground): (WebCore::ScrollbarThemeComposite::paintTrackPiece):
  • platform/win/ScrollbarThemeSafari.cpp: (WebCore::ScrollbarThemeSafari::paintTrackBackground):
  • platform/win/ScrollbarThemeSafari.h:
  • platform/win/ScrollbarThemeWin.cpp: (WebCore::ScrollbarThemeWin::paintTrack):
  • platform/win/ScrollbarThemeWin.h:
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::createScrollbar): (WebCore::RenderLayer::styleChanged):
  • rendering/RenderScrollbar.cpp: Added. (WebCore::RenderScrollbar::createCustomScrollbar): (WebCore::RenderScrollbar::RenderScrollbar): (WebCore::RenderScrollbar::~RenderScrollbar): (WebCore::RenderScrollbar::getScrollbarPseudoStyle): (WebCore::RenderScrollbar::updateScrollbarParts): (WebCore::RenderScrollbar::updateScrollbarPart): (WebCore::RenderScrollbar::paintPart): (WebCore::RenderScrollbar::buttonRect): (WebCore::RenderScrollbar::minimumThumbLength):
  • rendering/RenderScrollbar.h: Added. (WebCore::RenderScrollbar::styleChanged): (WebCore::RenderScrollbar::owningRenderer):
  • rendering/RenderScrollbarPart.cpp: Added. (WebCore::RenderScrollbarPart::RenderScrollbarPart): (WebCore::RenderScrollbarPart::~RenderScrollbarPart): (WebCore::RenderScrollbarPart::layout): (WebCore::RenderScrollbarPart::layoutHorizontalPart): (WebCore::RenderScrollbarPart::layoutVerticalPart): (WebCore::calcScrollbarThicknessUsing): (WebCore::RenderScrollbarPart::computeScrollbarWidth): (WebCore::RenderScrollbarPart::computeScrollbarHeight): (WebCore::RenderScrollbarPart::calcPrefWidths): (WebCore::RenderScrollbarPart::setStyle):
  • rendering/RenderScrollbarPart.h: Added. (WebCore::RenderScrollbarPart::renderName): (WebCore::RenderScrollbarPart::requiresLayer):
  • rendering/RenderScrollbarTheme.cpp: Added. (WebCore::RenderScrollbarTheme::renderScrollbarTheme): (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis): (WebCore::RenderScrollbarTheme::hasButtons): (WebCore::RenderScrollbarTheme::hasThumb): (WebCore::RenderScrollbarTheme::minimumThumbLength): (WebCore::RenderScrollbarTheme::backButtonRect): (WebCore::RenderScrollbarTheme::forwardButtonRect): (WebCore::RenderScrollbarTheme::trackRect): (WebCore::RenderScrollbarTheme::paintScrollCorner): (WebCore::RenderScrollbarTheme::paintScrollbarBackground): (WebCore::RenderScrollbarTheme::paintTrackBackground): (WebCore::RenderScrollbarTheme::paintTrackPiece): (WebCore::RenderScrollbarTheme::paintButton): (WebCore::RenderScrollbarTheme::paintThumb):
  • rendering/RenderScrollbarTheme.h: Added. (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme): (WebCore::RenderScrollbarTheme::scrollbarThickness): (WebCore::RenderScrollbarTheme::buttonsPlacement): (WebCore::RenderScrollbarTheme::supportsControlTints): (WebCore::RenderScrollbarTheme::shouldCenterOnThumb): (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay): (WebCore::RenderScrollbarTheme::autoscrollTimerDelay): (WebCore::RenderScrollbarTheme::registerScrollbar): (WebCore::RenderScrollbarTheme::unregisterScrollbar):
  • rendering/style/RenderStyle.h: (WebCore::RenderStyle::):

LayoutTests:

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

Land layout test for CSS scrollbars.

Reviewed by Oliver Hunt

  • platform/mac/scrollbars: Added.
  • platform/mac/scrollbars/basic-scrollbar-expected.checksum: Added.
  • platform/mac/scrollbars/basic-scrollbar-expected.png: Added.
  • platform/mac/scrollbars/basic-scrollbar-expected.txt: Added.
  • scrollbars: Added.
  • scrollbars/basic-scrollbar.html: Added.
7:27 PM Changeset in webkit [37461] by eric@webkit.org
  • 3 edits
    7 adds in trunk

Reviewed by Oliver Hunt.

Test cases for https://bugs.webkit.org/show_bug.cgi?id=21498

  • fast/canvas/gradient-with-clip-expected.txt: Added.
  • fast/canvas/gradient-with-clip.html: Added.
  • fast/canvas/pattern-with-transform-expected.txt: Added.
  • fast/canvas/pattern-with-transform.html: Added.
  • fast/canvas/resources/TEMPLATE.html: Copied from LayoutTests/fast/dom/resources/TEMPLATE.html.
  • fast/canvas/resources/gradient-with-clip.js: Added.
  • fast/canvas/resources/pattern-with-transform.js: Added.
7:26 PM Changeset in webkit [37460] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Oliver Hunt.

Fix Canvex DOOM Game
Gradient clips were not getting cleared after filling the
gradient, this was causing nothing to draw in Canvex
https://bugs.webkit.org/show_bug.cgi?id=21498

Tests forthcoming.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect):
7:17 PM Changeset in webkit [37459] by cwzwarich@webkit.org
  • 2 edits in trunk/WebKitTools

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

Not reviewed.

Add StructureID.o to the exclusion list in the global initializers
script to fix the Debug build.

  • Scripts/check-for-global-initializers:
6:21 PM Changeset in webkit [37458] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

Add leaks checking to StructureID.

  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::~StructureID):
5:50 PM Changeset in webkit [37457] by alp@webkit.org
  • 11 edits in trunk

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

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=20760
Implement support for x86 Linux in CTI

Prepare to enable CTI/WREC on supported architectures.

Make it possible to use the CTI_ARGUMENT workaround with GCC as well
as MSVC by fixing some preprocessor conditionals.

Note that CTI/WREC no longer requires CTI_ARGUMENT on Linux so we
don't actually enable it except when building with MSVC. GCC on Win32
remains untested.

Adapt inline ASM code to use the global symbol underscore prefix only
on Darwin and to call the properly mangled Machine::cti_vm_throw
symbol name depending on CTI_ARGUMENT.

Also avoid global inclusion of the JIT infrastructure headers
throughout WebCore and WebKit causing recompilation of about ~1500
source files after modification to X86Assembler.h, CTI.h, WREC.h,
which are only used deep inside JavaScriptCore.

5:08 PM Changeset in webkit [37456] by eric@webkit.org
  • 55 edits in trunk

Reviewed by Oliver Hunt.

Fix transformed patterns
https://bugs.webkit.org/show_bug.cgi?id=21498

Test: fast/canvas/patternfill-repeat.html

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient):
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::applyStrokePattern): (WebCore::applyFillPattern): (WebCore::GraphicsContext::drawPath): (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect):
  • platform/graphics/qt/GraphicsContextQt.cpp:
  • platform/graphics/wx/GraphicsContextWx.cpp:
5:04 PM Changeset in webkit [37455] by cmarrin@apple.com
  • 1 edit
    4 adds in trunk/LayoutTests

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

Reviewed by Darin Adler.

More testcases for animation using font metrics
https://bugs.webkit.org/show_bug.cgi?id=21246

  • animations/font-size-using-ems-expected.txt: Added.
  • animations/font-size-using-ems.html: Added.
  • animations/width-using-ems-expected.txt: Added.
  • animations/width-using-ems.html: Added.
4:59 PM Changeset in webkit [37454] by cmarrin@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
Animations assert when navigating from page

Changed assertions to test the right flag for the paused state

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::updateStateMachine):
4:59 PM Changeset in webkit [37453] by barraclough@apple.com
  • 6 edits in trunk

JavaScriptCore:

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

Reviewed by Cameron Zwarich.

Fix for bug #21160, x=0;1/(x*-1) == -Infinity

  • ChangeLog:
  • VM/CTI.cpp: (JSC::CTI::emitFastArithDeTagImmediate): (JSC::CTI::emitFastArithDeTagImmediateJumpIfZero): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/CTI.h:
  • masm/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::emitUnlinkedJs):

LayoutTests:

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

Reviewed by Cameron Zwarich.

Correct results for -0 cases.

  • fast/js/math-transforms-expected.txt:
4:44 PM Changeset in webkit [37452] by kevino@webkit.org
  • 8 edits in trunk

wx build fixes.

4:04 PM Changeset in webkit [37451] by cmarrin@apple.com
  • 3 edits
    2 adds in trunk

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

Reviewed by Dan Bernstein.

Fixed > 180 degree rotation bug
Ensure that validateTransformFunctionList() is called after updating keyframe styles

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

Test: animations/big-rotation.html

  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::KeyframeAnimation):
2:47 PM Changeset in webkit [37450] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.

Bug 21459: REGRESSION (r37324): Safari crashes inside JavaScriptCore while browsing hulu.com
<https://bugs.webkit.org/show_bug.cgi?id=21459>

After r37324, an Arguments object does not mark an associated activation
object. This change was made because Arguments no longer directly used
the activation object in any way. However, if an activation is torn off,
then the backing store of Arguments becomes the register array of the
activation object. Arguments directly marks all of the arguments, but
the activation object is being collected, which causes its register
array to be freed and new memory to be allocated in its place.

Unfortunately, it does not seem possible to reproduce this issue in a
layout test.

  • kjs/Arguments.cpp: (JSC::Arguments::mark):
  • kjs/Arguments.h: (JSC::Arguments::setActivation): (JSC::Arguments::Arguments): (JSC::JSActivation::copyRegisters):
1:43 PM Changeset in webkit [37449] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-10-09 Brady Eidson <beidson@apple.com>

Reviewed by Anders

<rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things

The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page, so perform a second null check on the page. Bail if it has been cleared.
9:21 AM Changeset in webkit [37448] by alp@webkit.org
  • 2 edits in trunk/WebCore

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

Build fix for recent DOM generation Makefile changes when custom
CFLAGS/CXXFLAGS are passed in.

  • GNUmakefile.am:
9:13 AM Changeset in webkit [37447] by alp@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Alp Toker.

https://bugs.webkit.org/show_bug.cgi?id=21390
[Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)

  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::platformRemoveChild):
7:26 AM Changeset in webkit [37446] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-10-09 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

Build fix for MinGW.

  • wtf/AlwaysInline.h:
1:37 AM Changeset in webkit [37445] by Darin Adler
  • 2 edits in trunk/WebCore

2008-10-09 Darin Adler <Darin Adler>

  • try to fix Qt build
  • bridge/qt/qt_runtime.cpp: (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
12:25 AM Changeset in webkit [37444] by Darin Adler
  • 1 edit
    1 add in trunk/LayoutTests

2008-10-09 Darin Adler <Darin Adler>

  • checked in a missing expected result
  • fast/dom/css-RGBValue-expected.txt: Added.

Oct 8, 2008:

10:38 PM Changeset in webkit [37443] by mrowe@apple.com
  • 3 edits in tags/Safari-6528.4.1/WebKitLibraries

Merge r37442.

10:36 PM Changeset in webkit [37442] by mrowe@apple.com
  • 2 edits in trunk/WebKitLibraries

Remove restriction on version number ending in a 4.

Rubber-stamped by Jon Honeycutt.

  • win/tools/scripts/auto-version.sh:
10:30 PM Changeset in webkit [37441] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

Bug 21497: REGRESSION (r37433): Bytecode JSC tests are severely broken
<https://bugs.webkit.org/show_bug.cgi?id=21497>

Fix a typo in r37433 that causes the failure of a large number of JSC
tests with the bytecode interpreter enabled.

  • VM/Machine.cpp: (JSC::Machine::privateExecute):
10:19 PM Changeset in webkit [37440] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Fix the Windows build after r37434.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(dump): Update code to approximate valid C++ syntax.

9:34 PM Changeset in webkit [37439] by timothy@apple.com
  • 2 edits in trunk/WebKitTools

Add SVGElementInstance to the list of exceptions that have
global initializers in debug builds.

Rubber-stamped by Mark Rowe.

  • Scripts/check-for-global-initializers: Add SVGElementInstance.o.
9:05 PM Changeset in webkit [37438] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Windows build fix.

  • VM/CTI.cpp:

(JSC::): Update type of argument to ctiTrampoline.

8:57 PM Changeset in webkit [37437] by mitz@apple.com
  • 7 edits in trunk/LayoutTests/platform/mac

Correct MIME types

8:54 PM Changeset in webkit [37436] by Nikolas Zimmermann
  • 2 edits in trunk

Not reviewed. Fix Sams name :-)

8:34 PM Changeset in webkit [37435] by Nikolas Zimmermann
  • 22 edits
    4 moves
    18 adds
    4 deletes in trunk

Reviewed by Oliver Hunt & Sam Weining.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)

Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
use tree is rebuild.

Make SVGElementInstance a real EventTarget, as the SVG specification demands.
When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
share an event listener list. Every event listener change on the SVGElementInstance object is forwared
to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.

Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
see resources/use-instanceRoot-event-bubbling.js for details.

Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)

svg/custom/use-elementInstance-methods.svg (reenabled)
svg/custom/use-setAttribute-crash.svg (covers bug 20550)
svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)

5:45 PM Changeset in webkit [37434] by Simon Fraser
  • 5 edits in trunk/WebKitTools

2008-10-08 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

Avoid disconnect between DRT and run-webkit-tests
about whether to expect PNG dumps by having DRT always
print two blocks terminated by #EOF, the second of which
may be empty.

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

  • DumpRenderTree/cg/PixelDumpSupportCG.cpp: (printPNG): (dumpWebViewAsPixelsAndCompareWithExpected):
  • DumpRenderTree/mac/DumpRenderTree.mm: (dump):
  • DumpRenderTree/win/DumpRenderTree.cpp: (dump):
  • Scripts/run-webkit-tests:
5:40 PM Changeset in webkit [37433] by Darin Adler
  • 41 edits in trunk

JavaScriptCore:

2008-10-08 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

Add CallFrame as a synonym for ExecState. Arguably, some day we should switch every
client over to the new name.

Use CallFrame* consistently rather than Register* or ExecState* in low-level code such
as Machine.cpp and CTI.cpp. Similarly, use callFrame rather than r as its name and use
accessor functions to get at things in the frame.

Eliminate other uses of ExecState* that aren't needed, replacing in some cases with
JSGlobalData* and in other cases eliminating them entirely.

  • API/JSObjectRef.cpp: (JSObjectMakeFunctionWithCallback): (JSObjectMakeFunction): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectDeleteProperty):
  • API/OpaqueJSString.cpp:
  • API/OpaqueJSString.h:
  • VM/CTI.cpp: (JSC::CTI::getConstant): (JSC::CTI::emitGetArg): (JSC::CTI::emitGetPutArg): (JSC::CTI::getConstantImmediateNumericArg): (JSC::CTI::printOpcodeOperandTypes): (JSC::CTI::CTI): (JSC::CTI::compileOpCall): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::compileRegExp):
  • VM/CTI.h:
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitEqualityOp): (JSC::CodeGenerator::emitLoad): (JSC::CodeGenerator::emitUnexpectedLoad): (JSC::CodeGenerator::emitConstruct):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddSlowCase): (JSC::jsAdd): (JSC::jsTypeStringForValue): (JSC::Machine::resolve): (JSC::Machine::resolveSkip): (JSC::Machine::resolveGlobal): (JSC::inlineResolveBase): (JSC::Machine::resolveBase): (JSC::Machine::resolveBaseAndProperty): (JSC::Machine::resolveBaseAndFunc): (JSC::Machine::slideRegisterWindowForCall): (JSC::isNotObject): (JSC::Machine::callEval): (JSC::Machine::dumpCallFrame): (JSC::Machine::dumpRegisters): (JSC::Machine::unwindCallFrame): (JSC::Machine::throwException): (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope): (JSC::Machine::execute): (JSC::Machine::debug): (JSC::Machine::createExceptionScope): (JSC::cachePrototypeChain): (JSC::Machine::tryCachePutByID): (JSC::Machine::tryCacheGetByID): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::retrieveCaller): (JSC::Machine::retrieveLastCaller): (JSC::Machine::findFunctionCallFrame): (JSC::Machine::getArgumentsData): (JSC::Machine::tryCTICachePutByID): (JSC::Machine::getCTIArrayLengthTrampoline): (JSC::Machine::getCTIStringLengthTrampoline): (JSC::Machine::tryCTICacheGetByID): (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_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_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:
  • VM/Register.h:
  • VM/RegisterFile.h:
  • kjs/Arguments.h:
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::functionName): (JSC::DebuggerCallFrame::type): (JSC::DebuggerCallFrame::thisObject): (JSC::DebuggerCallFrame::evaluate):
  • kjs/DebuggerCallFrame.h:
  • kjs/ExecState.cpp: (JSC::CallFrame::thisValue):
  • kjs/ExecState.h:
  • kjs/FunctionConstructor.cpp: (JSC::constructFunction):
  • kjs/JSActivation.cpp: (JSC::JSActivation::JSActivation): (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h:
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::init):
  • kjs/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval):
  • kjs/JSVariableObject.h:
  • kjs/Parser.cpp: (JSC::Parser::parse):
  • kjs/RegExpConstructor.cpp: (JSC::constructRegExp):
  • kjs/RegExpPrototype.cpp: (JSC::regExpProtoFuncCompile):
  • kjs/Shell.cpp: (prettyPrintScript):
  • kjs/StringPrototype.cpp: (JSC::stringProtoFuncMatch): (JSC::stringProtoFuncSearch):
  • kjs/identifier.cpp: (JSC::Identifier::checkSameIdentifierTable):
  • kjs/interpreter.cpp: (JSC::Interpreter::checkSyntax): (JSC::Interpreter::evaluate):
  • kjs/nodes.cpp: (JSC::ThrowableExpressionData::emitThrowError): (JSC::RegExpNode::emitCode): (JSC::ArrayNode::emitCode): (JSC::InstanceOfNode::emitCode):
  • kjs/nodes.h:
  • kjs/regexp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::create):
  • kjs/regexp.h:
  • profiler/HeavyProfile.h:
  • profiler/Profile.h:
  • wrec/WREC.cpp:
  • wrec/WREC.h:

WebKit/mac:

2008-10-08 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

  • WebView/WebScriptDebugger.mm: (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
5:14 PM Changeset in webkit [37432] by weinig@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

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

Reviewed by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
REGRESSION (r36977): getRGBColorValue().red returning incorrect value

Update JSRGBColor to use the new static function per getter approach.

Test: fast/dom/css-RGBValue.html

  • bindings/js/JSRGBColor.cpp: (WebCore::): (jsRGBColorRed): (jsRGBColorGreen): (jsRGBColorBlue):
  • bindings/js/JSRGBColor.h:

LayoutTests:

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

Reviewed by Cameron Zwarich.

Test for https://bugs.webkit.org/show_bug.cgi?id=21241
REGRESSION (r36977): getRGBColorValue().red returning incorrect value

  • fast/dom/css-RGBValue.html: Added.
  • fast/dom/resources/css-RGBValue.js: Added.
3:48 PM Changeset in webkit [37431] by eric@webkit.org
  • 5 edits
    4 adds in trunk

Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.

svgElement.className.baseValue = "foo" does not work
https://bugs.webkit.org/show_bug.cgi?id=20651

  • dom/StyledElement.cpp: (WebCore::StyledElement::classAttributeChanged): (WebCore::StyledElement::parseMappedAttribute):
  • dom/StyledElement.h:
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::svgAttributeChanged):
3:38 PM Changeset in webkit [37430] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix crash in fast/js/constant-folding.html with CTI disabled.

Typed by Maciej Stachowiak, reviewed by Mark Rowe.

  • VM/Machine.cpp:

(JSC::Machine::privateExecute):

1:30 PM Changeset in webkit [37429] by mjs@apple.com
  • 3 edits in trunk/LayoutTests

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

Not reviewed, trying to fix bot.


Update -0 expectations better.

  • fast/xpath/4XPath/Core/test_numeric_expr-expected.txt:
  • fast/xpath/4XPath/Core/test_numeric_expr.html:
10:50 AM Changeset in webkit [37428] by timothy@apple.com
  • 41 edits in trunk

Roll out r37427 because it causes an infinite recursion loading about:blank.

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

10:03 AM Changeset in webkit [37427] by Darin Adler
  • 41 edits in trunk

JavaScriptCore:

2008-10-08 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

Add CallFrame as a synonym for ExecState. Arguably, some day we should switch every
client over to the new name.

Use CallFrame* consistently rather than Register* or ExecState* in low-level code such
as Machine.cpp and CTI.cpp. Similarly, use callFrame rather than r as its name and use
accessor functions to get at things in the frame.

Eliminate other uses of ExecState* that aren't needed, replacing in some cases with
JSGlobalData* and in other cases eliminating them entirely.

  • API/JSObjectRef.cpp: (JSObjectMakeFunctionWithCallback): (JSObjectMakeFunction): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectDeleteProperty):
  • API/OpaqueJSString.cpp:
  • API/OpaqueJSString.h:
  • VM/CTI.cpp: (JSC::CTI::getConstant): (JSC::CTI::emitGetArg): (JSC::CTI::emitGetPutArg): (JSC::CTI::getConstantImmediateNumericArg): (JSC::CTI::printOpcodeOperandTypes): (JSC::CTI::CTI): (JSC::CTI::compileOpCall): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::compileRegExp):
  • VM/CTI.h:
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitEqualityOp): (JSC::CodeGenerator::emitLoad): (JSC::CodeGenerator::emitUnexpectedLoad): (JSC::CodeGenerator::emitConstruct):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddSlowCase): (JSC::jsAdd): (JSC::jsTypeStringForValue): (JSC::Machine::resolve): (JSC::Machine::resolveSkip): (JSC::Machine::resolveGlobal): (JSC::inlineResolveBase): (JSC::Machine::resolveBase): (JSC::Machine::resolveBaseAndProperty): (JSC::Machine::resolveBaseAndFunc): (JSC::Machine::slideRegisterWindowForCall): (JSC::isNotObject): (JSC::Machine::callEval): (JSC::Machine::dumpCallFrame): (JSC::Machine::dumpRegisters): (JSC::Machine::unwindCallFrame): (JSC::Machine::throwException): (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope): (JSC::Machine::execute): (JSC::Machine::debug): (JSC::Machine::createExceptionScope): (JSC::cachePrototypeChain): (JSC::Machine::tryCachePutByID): (JSC::Machine::tryCacheGetByID): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::retrieveCaller): (JSC::Machine::retrieveLastCaller): (JSC::Machine::findFunctionCallFrame): (JSC::Machine::getArgumentsData): (JSC::Machine::tryCTICachePutByID): (JSC::Machine::getCTIArrayLengthTrampoline): (JSC::Machine::getCTIStringLengthTrampoline): (JSC::Machine::tryCTICacheGetByID): (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_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_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:
  • VM/Register.h:
  • VM/RegisterFile.h:
  • kjs/Arguments.h:
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::functionName): (JSC::DebuggerCallFrame::type): (JSC::DebuggerCallFrame::thisObject): (JSC::DebuggerCallFrame::evaluate):
  • kjs/DebuggerCallFrame.h:
  • kjs/ExecState.cpp: (JSC::CallFrame::thisValue):
  • kjs/ExecState.h:
  • kjs/FunctionConstructor.cpp: (JSC::constructFunction):
  • kjs/JSActivation.cpp: (JSC::JSActivation::JSActivation): (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h:
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::init):
  • kjs/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval):
  • kjs/JSVariableObject.h:
  • kjs/Parser.cpp: (JSC::Parser::parse):
  • kjs/RegExpConstructor.cpp: (JSC::constructRegExp):
  • kjs/RegExpPrototype.cpp: (JSC::regExpProtoFuncCompile):
  • kjs/Shell.cpp: (prettyPrintScript):
  • kjs/StringPrototype.cpp: (JSC::stringProtoFuncMatch): (JSC::stringProtoFuncSearch):
  • kjs/identifier.cpp: (JSC::Identifier::checkSameIdentifierTable):
  • kjs/interpreter.cpp: (JSC::Interpreter::checkSyntax): (JSC::Interpreter::evaluate):
  • kjs/nodes.cpp: (JSC::ThrowableExpressionData::emitThrowError): (JSC::RegExpNode::emitCode): (JSC::ArrayNode::emitCode): (JSC::InstanceOfNode::emitCode):
  • kjs/nodes.h:
  • kjs/regexp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::create):
  • kjs/regexp.h:
  • profiler/HeavyProfile.h:
  • profiler/Profile.h:
  • wrec/WREC.cpp:
  • wrec/WREC.h:

WebKit/mac:

2008-10-08 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

  • WebView/WebScriptDebugger.mm: (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
9:41 AM Changeset in webkit [37426] by timothy@apple.com
  • 2 edits in trunk/WebCore

Make the toolbar label text-shadow not disappear when clicking on the
search result count or around the search field.

Reviewed by Timothy Hatcher.

  • inspector/front-end/inspector.css: (.toolbar-item:active .toolbar-label): Make this rule also require the toggleable class with the toolbar-item class.
8:06 AM QtWebKitJournal edited by ariya.hidayat@trolltech.com
(diff)
6:30 AM Changeset in webkit [37425] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-10-08 Matthias Ettrich <ettrich@nokia.com>

Reviewed by Simon.

Make QWebView ignore focus changes with PopupFocusReason to avoid
massive updates when menus open and close.

6:13 AM Changeset in webkit [37424] by Simon Hausmann
  • 2 edits in trunk/WebCore

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

Reviewed by Simon.

Updated the qrc file for the Web Inspector to contain the current set
of images.

5:43 AM Changeset in webkit [37423] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>

Reviewed by Simon.

Fix the linking of applications against WebKit on Qt/Windows.

The prl files that qmake creates are buggy on Unix, but we they're
fine on Windows and we have to have them there in order to get the
dependencies correct.

5:20 AM Changeset in webkit [37422] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>

Reviewed by Oliver Hunt.

Avoid endless loops when compiling without the computed goto
optimization.

NEXT_OPCODE expands to "continue", which will not work inside
loops.

5:11 AM Changeset in webkit [37421] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

Speed up rectangle filling by not re-creating a QBrush all the time.

This triggers faster path in QPainter where the brush is reused.

5:08 AM Changeset in webkit [37420] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-10-08 Kavindra Palaraja <kdpalara@trolltech.com>

Reviewed by Simon.

Fixed a qdoc warning and adjusted some spacing

4:33 AM Changeset in webkit [37419] by mjs@apple.com
  • 2 edits in trunk/LayoutTests

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

Reviewed by Oliver Hunt.


  • update for new -0 handling in shouldBe


(I confirmed the correctness of this change against other browsers, too.)

  • fast/xpath/4XPath/Core/test_numeric_expr.html:
4:01 AM Changeset in webkit [37418] by dino@apple.com
  • 4 edits in trunk/WebKitSite/specs/CSSVisualEffects

2008-10-08 Dean Jackson <dino@apple.com>

Forgot to set the date on the spec documents with last commit.

  • CSSAnimations.html:
  • CSSTransforms.html:
  • CSSTransitions.html:
3:53 AM Changeset in webkit [37417] by mjs@apple.com
  • 5 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.

Re-landing the following fix with the crashing bug in it fixed (r37405):


  • optimize away multiplication by constant 1.0


2.3% speedup on v8 RayTrace benchmark

Apparently it's not uncommon for JavaScript code to multiply by
constant 1.0 in the mistaken belief that this converts integer to
floating point and that there is any operational difference.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): Optimize to_jsnumber for case where parameter is already number. (JSC::CTI::privateCompileSlowCases): ditto
  • VM/Machine.cpp: (JSC::Machine::privateExecute): ditto
  • kjs/grammar.y: (makeMultNode): Transform as follows: +FOO * BAR ==> FOO * BAR FOO * +BAR ==> FOO * BAR FOO * 1 ==> +FOO 1 * FOO ==> +FOO (makeDivNode): Transform as follows: +FOO / BAR ==> FOO / BAR FOO / +BAR ==> FOO / BAR (makeSubNode): Transform as follows: +FOO - BAR ==> FOO - BAR FOO - +BAR ==> FOO - BAR
  • kjs/nodes.h: (JSC::ExpressionNode::stripUnaryPlus): Helper for above grammar.y changes (JSC::UnaryPlusNode::stripUnaryPlus): ditto
3:27 AM Changeset in webkit [37416] by mjs@apple.com
  • 6 edits in trunk/LayoutTests

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

Reviewed by Oliver Hunt.


  • update regression testing system to be able to tell 0 from -0


  • fast/js/resources/js-test-pre.js:

Update tests and results appropriately.

  • fast/js/resources/constant-folding.js:
  • fast/js/constant-folding-expected.txt:
  • fast/js/math-transforms-expected.txt:
  • fast/js/resources/math-transforms.js:
2:18 AM Changeset in webkit [37415] by mjs@apple.com
  • 6 edits in trunk

JavaScriptCore:

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

Reviewed by Oliver Hunt.


  • correctly handle appending -0 to a string, it should stringify as just 0
  • kjs/ustring.cpp: (JSC::concatenate):

LayoutTests:

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

Reviewed by Oliver Hunt.

  • added test case for: correctly handle appending -0 to a string, it should stringify as just 0 (added to existing test)


  • fast/js/number-toString-expected.txt:
  • fast/js/resources/number-toString.js:
  • updated results in light of above fix


  • fast/js/math-transforms-expected.txt:
2:10 AM Changeset in webkit [37414] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-10-08 Thiago Macieira <thiago.macieira@nokia.com>

Reviewed by Simon.

Fixes: Encoding of Qt URLs

This encoding was added by Simon and I because QUrl's
tolerant parser wasn't tolerant enough. Now it is, so we don't need
this anymore.

2:10 AM Changeset in webkit [37413] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-10-08 Marius Storm-Olsen <marius@trolltech.com>

Reviewed by Simon.

Fixes dependencies in qmake generated visual studio projects.

Only add debug lib name if we're in the debug build_pass, else the release version.
The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.

2:10 AM Changeset in webkit [37412] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>

Reviewed by Simon.

Fix WebKit compilation with VC2008SP1

Apply the TR1 workaround for JavaScriptCore, too.

2:10 AM Changeset in webkit [37411] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-10-08 Rhys Weatherley <rhys.weatherley@nokia.com>

Reviewed by Simon.

Compile for platforms without context menus.

2:10 AM Changeset in webkit [37410] by Simon Hausmann
  • 6 edits in trunk

2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>

Reviewed by Simon.

Fix compilation errors on VS2008 64Bit

2:09 AM Changeset in webkit [37409] by Simon Hausmann
  • 4 edits in trunk

2008-10-08 André Pönitz <apoenitz@trolltech.com>

Reviewed by Simon.

Fix compilation with Qt namespaces.

12:35 AM QtWebKitJournal edited by ariya.hidayat@trolltech.com
(diff)
12:34 AM QtWebKitJournal edited by ariya.hidayat@trolltech.com
(diff)

Oct 7, 2008:

11:36 PM Changeset in webkit [37408] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

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

Roll out r37405.

10:24 PM Changeset in webkit [37407] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.26

New tag.

9:56 PM Changeset in webkit [37406] by oliver@apple.com
  • 6 edits in trunk/JavaScriptCore

Switch CTI runtime calls to the fastcall calling convention

Reviewed by Cameron Zwarich

Basically this means that we get to store the argument for CTI
calls in the ECX register, which saves a register->memory write
and subsequent memory->register read.

This is a 1.7% progression in SunSpider and 2.4% on commandline
v8 tests on Windows

8:46 PM Changeset in webkit [37405] by mjs@apple.com
  • 5 edits in trunk/JavaScriptCore

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

Reviewed by Mark Rowe.


  • optimize away multiplication by constant 1.0


2.3% speedup on v8 RayTrace benchmark

Apparently it's not uncommon for JavaScript code to multiply by
constant 1.0 in the mistaken belief that this converts integer to
floating point and that there is any operational difference.


  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): Optimize to_jsnumber for case where parameter is already number. (JSC::CTI::privateCompileSlowCases): ditto
  • VM/Machine.cpp: (JSC::Machine::privateExecute): ditto
  • kjs/grammar.y: (makeMultNode): Transform as follows: +FOO * BAR ==> FOO * BAR FOO * +BAR ==> FOO * BAR FOO * 1 ==> +FOO 1 * FOO ==> +FOO (makeDivNode): Transform as follows: +FOO / BAR ==> FOO / BAR FOO / +BAR ==> FOO / BAR (makeSubNode): Transform as follows: +FOO - BAR ==> FOO - BAR FOO - +BAR ==> FOO - BAR
  • kjs/nodes.h: (JSC::ExpressionNode::stripUnaryPlus): Helper for above grammar.y changes (JSC::UnaryPlusNode::stripUnaryPlus): ditto
8:46 PM Changeset in webkit [37404] by mjs@apple.com
  • 1 edit
    3 adds in trunk/LayoutTests

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

Reviewed by Mark Rowe.


  • test cases that will check some possible edge cases for math optimizations
  • fast/js/math-transforms-expected.txt: Added.
  • fast/js/math-transforms.html: Added.
  • fast/js/resources/math-transforms.js: Added.
5:42 PM Changeset in webkit [37403] by alp@webkit.org
  • 4 edits in trunk

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

GTK+ build fix for older automake versions (1.7). Discussed in bug
#21392.

5:15 PM Changeset in webkit [37402] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.


  • make constant folding code more consistent


Added a makeSubNode to match add, mult and div; use the makeFooNode functions always,
instead of allocating nodes directly in other places in the grammar.

  • kjs/grammar.y:
5:12 PM Changeset in webkit [37401] by mrowe@apple.com
  • 5 edits
    4 deletes in trunk

Roll out r37391 as it appears to have broken 40+ regression tests.

4:49 PM Changeset in webkit [37400] by weinig@apple.com
  • 6 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.

Move hasGetterSetterProperties flag from PropertyMap to StructureID.

  • kjs/JSObject.cpp: (JSC::JSObject::put): (JSC::JSObject::defineGetter): (JSC::JSObject::defineSetter):
  • kjs/JSObject.h: (JSC::JSObject::hasGetterSetterProperties): (JSC::JSObject::getOwnPropertySlotForWrite): (JSC::JSObject::getOwnPropertySlot):
  • kjs/PropertyMap.h:
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::addPropertyTransition): (JSC::StructureID::toDictionaryTransition): (JSC::StructureID::changePrototypeTransition): (JSC::StructureID::getterSetterTransition):
  • kjs/StructureID.h: (JSC::StructureID::hasGetterSetterProperties): (JSC::StructureID::setHasGetterSetterProperties):
4:31 PM Changeset in webkit [37399] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-10-07 Anders Carlsson <andersca@apple.com>

Reviewed by Antti Koivisto.

<rdar://problem/6273887> Crash in ApplicationCacheGroup


Make sure to stop loading even before a cache update is in progress so that the
manifest load will be stopped.

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup): (WebCore::ApplicationCacheGroup::stopLoading): (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
3:09 PM Changeset in webkit [37398] by timothy@apple.com
  • 2 edits in trunk/WebCore/bindings/objc

Fix the build due to a bad patch apply.

3:08 PM Changeset in webkit [37397] by timothy@apple.com
  • 2 edits in trunk/WebCore/bindings/objc

Fix the build due to a bad patch apply.

2:49 PM Changeset in webkit [37396] by timothy@apple.com
  • 10 edits
    2 adds in trunk/WebCore

Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.

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

Reviewed by Sam Weinig.

  • WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
  • bindings/objc/DOM.mm: Remove previous category implementations on DOMDocument for createNodeIterator: and createTreeWalker:. Also moves ObjCNodeFilterCondition to its own file.
  • bindings/objc/DOMTraversal.h: Remove the category methods that added createNodeIterator: and createTreeWalker: to DOMDocument. This is fine to do since DOmDocument.h is included still, and has these methods.
  • bindings/objc/DOMUtility.mm: (JSC::createDOMWrapper): Remove special case for JSNodeIterator and JSTreeWalker now that the ObjC binding conforms to the standard wrap.
  • bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm. (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm. (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
  • bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm. (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
  • bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and createTreeWalker: methods to DOMDocument.
  • bindings/scripts/CodeGeneratorObjC.pm: (GetObjCTypeGetter): Add a case for NodeFilter. (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter. (GenerateImplementation): Remove existing NodeFilter special case that used the m_filter member variable. Add a new special getter for protocol types that aren't EventTarget, so the right class is used for NodeFilter. Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
  • dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the OldStyleObjC extended attribute to createNodeIterator and createTreeWalker. Rename the entityReferenceExpansion parameter to expandEntityReferences to match the previous ObjC API.
  • dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The m_filter member variable was never used in practice, it was always nil! We can remove it and not pad the object because this can't be subclassed.
  • dom/TreeWalker.idl: Ditto.
2:49 PM Changeset in webkit [37395] by timothy@apple.com
  • 7 edits
    2 adds in trunk/WebCore

Auto-generate the DOMEventTarget protocol implementation for
DOMNode and DOMSVGElementInstance.

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

Reviewed by Darin Adler.

  • WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
  • bindings/objc/DOM.mm: Remove many unneeded header includes. Move ObjCEventListener to it's own file. Remove the manual impelmentations of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
  • bindings/objc/DOMEvents.h: Remove the categories that defined DOMEventTarget for DOMNode and DOMSVGElementInstance.
  • bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
  • bindings/objc/ObjCEventListener.mm: Split out from DOM.mm. (WebCore::ObjCEventListener::find): Moved from DOM.mm. (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the callers from doing a manual deref. (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm. (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
  • bindings/scripts/CodeGeneratorObjC.pm: (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr. (AddIncludesForType): Include ObjCEventListener.h for EventListener. And include EventTargetSVGElementInstance.h for SVGElementInstance. (GenerateHeader): Remove the check for multiple parents. (GenerateImplementation): Remove the check for multiple parents. Remove the @deprecatedFunctions array since deprecated methods get generated into the main @interface now to work with protocols. Add support for the EventTargetNodeCast extended attribute. Add support for EventListener parameters.
  • dom/Node.idl: Define superclasses for ObjC so the implementation and interface implement the DOMEventTarget protocol. Explicitly specify Object as a superclass to use DOMEventTarget. Object will turn into DOMObject. This is needed to take the code generator down the right path of multiple super-classes as protocols. It is ObjC only for legacy reasons. The event target methods are normally on NodeEventTarget, a subclass of Node. But the ObjC API has never has this subclass and they are on DOMNode.
  • svg/SVGElementInstance.idl: Ditto.
2:36 PM Changeset in webkit [37394] by hyatt@apple.com
  • 3 edits in trunk/WebCore

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

Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.

The new pseudo-elements are:

scrollbar
scrollbar-button
scrollbar-corner
scrollbar-thumb
scrollbar-track


These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
the following new pseudo-classes:

scrollbar-active
scrollbar-back
scrollbar-forward
scrollbar-horizontal
scrollbar-vertical


Reviewed by Adele

  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
2:35 PM Changeset in webkit [37393] by Adam Roben
  • 2 edits in trunk/WebKitTools

Make sure short functions get included in ChangeLog output for git repositories

Reviewed by Dave Kilzer.

  • Scripts/prepare-ChangeLog: (sub diffCommand): Pass -U0 to git diff so that each contiguous change will get its own chunk without any surrounding context. (sub extractLineRange): Use the line numbers from the chunk header without modifying them now that they're accurate.
2:29 PM Changeset in webkit [37392] by andersca@apple.com
  • 3 edits in trunk/WebKitLibraries

2008-10-07 Anders Carlsson <andersca@apple.com>

Reviewed by Mitz Pettel.

Update WebKitSystemInterface.


  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
2:27 PM Changeset in webkit [37391] by eric@webkit.org
  • 5 edits
    4 adds in trunk

Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.

svgElement.className.baseValue = "foo" does not work
https://bugs.webkit.org/show_bug.cgi?id=20651

  • dom/StyledElement.cpp: (WebCore::StyledElement::classAttributeChanged): (WebCore::StyledElement::parseMappedAttribute):
  • dom/StyledElement.h:
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::svgAttributeChanged):
2:22 PM Changeset in webkit [37390] by hyatt@apple.com
  • 2 edits in trunk/SunSpider

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

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

Remove global substitution from SunSpider regexp test, since only Firefox was honoring it and
we want all browsers to be doing the same thing on the test.

Reviewed by Maciej

  • tests/regexp-dna.js:
2:08 PM Changeset in webkit [37389] by timothy@apple.com
  • 3 edits in trunk/WebCore

Add support to the Resources panel for queries like "#123", "foo #123",
"line: 123" and "foo line: 123". These will match the query limiting
the search only to the line specified. If only a line is specified,
the whole line is matched.

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

Reviewed by Darin Adler.

  • inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last row if the index is greater than the rows collection. Let it return undefined by indexing out-of-bounds.
  • inspector/front-end/SourceView.js: (WebInspector.SourceView.prototype.performSearch): Add support for queries like "#123", "foo #123", "line: 123" and "foo line: 123". Also match the whole query to the whole document in case there are colors like "#333".
1:49 PM Changeset in webkit [37388] by weinig@apple.com
  • 10 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.

Roll r37370 back in with bug fixes.

  • PropertyMap::storageSize() should reflect the number of keys + deletedOffsets and has nothing to do with the internal deletedSentinel count anymore.
1:32 PM Changeset in webkit [37387] by hyatt@apple.com
  • 4 edits in trunk/WebKit/mac

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

Move viewless WebKit methods that Safari needs from WebViewInternal to WebViewPrivate.

Reviewed by Tim Hatcher

  • WebView/WebView.mm: (WebKitInitializeApplicationCachePathIfNecessary): (-[WebView _registerDraggedTypes]): (-[WebView _usesDocumentViews]): (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]): (-[WebView isFlipped]): (-[WebView viewWillDraw]):
  • WebView/WebViewInternal.h:
  • WebView/WebViewPrivate.h:
1:27 PM Changeset in webkit [37386] by barraclough@apple.com
  • 7 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.

Move callframe initialization into JIT code, again.


As a part of the restructuring the second result from functions is now
returned in edx, allowing the new value of 'r' to be returned via a
register, and stored to the stack from JIT code, too.

4.5% progression on v8-tests. (3% in their harness)

  • VM/CTI.cpp: (JSC::): (JSC::CTI::emitCall): (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile):
  • VM/CTI.h: (JSC::CallRecord::CallRecord):
  • VM/Machine.cpp: (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_construct_JSConstruct): (JSC::Machine::cti_op_resolve_func): (JSC::Machine::cti_op_post_inc): (JSC::Machine::cti_op_resolve_with_base): (JSC::Machine::cti_op_post_dec):
  • VM/Machine.h:
  • kjs/JSFunction.h:
  • kjs/ScopeChain.h:
1:17 PM Changeset in webkit [37385] by hyatt@apple.com
  • 2 edits in trunk/WebKit/mac

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

Fix crash in isFlipped. Null check _private since isFlipped can get called from within AppKit
machinery during teardown of the WebView.

Reviewed by Adam Roben

  • WebView/WebView.mm: (-[WebView isFlipped]):
1:15 PM Changeset in webkit [37384] by hyatt@apple.com
  • 4 edits in trunk/WebKit/mac

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

Make viewless WebKit update focused and active state when the window becomes and loses key.
The focus controller has been patched to understand that in viewless mode it can recur down and
update all of the frames, which is why this code works now when placed just on the WebView.

Reviewed by Adam Roben

  • WebView/WebView.mm: (-[WebView addWindowObservers]): (-[WebView removeWindowObservers]): (-[WebView viewWillMoveToWindow:]): (-[WebView viewDidMoveToWindow]): (-[WebView _updateFocusedAndActiveState]): (-[WebView _windowDidBecomeKey:]): (-[WebView _windowDidResignKey:]): (-[WebView _windowWillOrderOnScreen:]):
12:35 PM Changeset in webkit [37383] by mrowe@apple.com
  • 3 edits in trunk/JavaScriptCore

Fix typo in method name.

11:28 AM Changeset in webkit [37382] by alp@webkit.org
  • 4 edits in trunk

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

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=21392
[GTK] Auto-generate JS DOM binding sources list

Remove the huge lists of generated DOM binding sources and headers in
the build system. These are difficult to maintain and can be derived
automatically.

The new strategy is to re-use the existing lists of IDL sources (which
are needed for dist support anyway). This will also ease the addition
of new language bindings.

11:17 AM Changeset in webkit [37381] by cwzwarich@webkit.org
  • 10 edits in trunk/JavaScriptCore

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

Rubber-stamped by Mark Rowe.

Roll out r37370.

10:30 AM Changeset in webkit [37380] by mrowe@apple.com
  • 6 edits
    4 adds in branches/Safari-3-2-branch

Merge r35415.

10:30 AM Changeset in webkit [37379] by mrowe@apple.com
  • 11 edits
    2 adds in branches/Safari-3-2-branch

Merge r35362.

10:27 AM Changeset in webkit [37378] by Darin Adler
  • 2 edits in trunk/WebKitSite

2008-10-07 Darin Adler <Darin Adler>

  • coding/RefPtr.html: Second draft.
9:30 AM Changeset in webkit [37377] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Simon.

Don't attempt to paint when updating control tints

We don't have a valid PlatformGraphicsContext so schedule
the dirty scrollbar/scrollview area for repaint instead.

4:20 AM Changeset in webkit [37376] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

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

QtWebKit build fix after changes to FrameLoaderClient.h in r37371

3:39 AM QtWebKitContrib edited by ariya.hidayat@trolltech.com
add irc nicks (diff)
3:36 AM QtWebKitJournal edited by ariya.hidayat@trolltech.com
(diff)
1:09 AM Changeset in webkit [37375] by hyatt@apple.com
  • 2 edits in trunk/WebKit/mac

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

Make sure the parent visibility state is set up properly on the outermost ScrollView widget.
This fixes the repainting issues with viewless WebKit on Mac.

Reviewed by Sam Weinig

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::transitionToCommittedForNewPage):
12:54 AM Changeset in webkit [37374] by zecke@webkit.org
  • 4 edits in trunk

[qt] Build fix after Scrollbar.h and Widget.h changes.

12:50 AM Changeset in webkit [37373] by hyatt@apple.com
  • 2 edits in trunk/WebKit/mac

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

Make sure viewless Mac WebKit does a layout if needed before drawing.

Reviewed by Sam Weinig

  • WebView/WebView.mm: (-[WebView viewWillDraw]):
12:47 AM Changeset in webkit [37372] by hyatt@apple.com
  • 3 edits in trunk/WebKit/mac

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

Make sure observers get hooked up to watch for size changes in viewless WebKit mode.

Reviewed by Sam Weinig

  • ChangeLog:
  • WebView/WebFrame.mm: (-[WebFrame _drawRect:contentsOnly:]):
  • WebView/WebView.mm: (-[WebView viewWillDraw]): (-[WebView _boundsChanged]): (-[WebView addSizeObservers]): (-[WebView viewDidMoveToWindow]): (-[WebView viewDidMoveToSuperview]):

Oct 6, 2008:

11:58 PM Changeset in webkit [37371] by hyatt@apple.com
  • 31 edits in trunk

WebCore:

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

Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::hasWebView):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadWithDocumentLoader): (WebCore::FrameLoader::transitionToCommitted):
  • loader/FrameLoaderClient.h:
  • page/FocusController.cpp: (WebCore::FocusController::setActive):
  • page/FrameView.cpp: (WebCore::FrameView::FrameView): (WebCore::FrameView::init): (WebCore::FrameView::layoutIfNeededRecursive):
  • page/FrameView.h:

WebKit/gtk:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::windowResizerRect): (WebChromeClient::repaint): (WebChromeClient::screenToWindow): (WebChromeClient::windowToScreen): (WebChromeClient::platformWindow):
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::forceLayoutForNonHTML): (WebFrameLoaderClient::dispatchDidCommitLoad): (WebFrameLoaderClient::transitionToCommittedForNewPage): (WebFrameLoaderClient::createFrame):
  • WebView/WebFrame.mm: (-[WebFrame _drawRect:contentsOnly:]):
  • WebView/WebFrameInternal.h:
  • WebView/WebFrameView.mm:
  • WebView/WebFrameViewInternal.h:
  • WebView/WebHTMLView.mm: (-[WebHTMLView drawSingleRect:]): (-[WebHTMLView drawRect:]):
  • WebView/WebView.mm: (-[WebView isFlipped]): (-[WebView _boundsChanged]): (-[WebView _mustDrawUnionedRect:singleRects:count:]): (-[WebView drawSingleRect:]): (-[WebView drawRect:]): (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView initWithFrame:frameName:groupName:]): (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]): (-[WebView initWithCoder:]): (-[WebView removeSizeObservers]): (-[WebView viewWillMoveToWindow:]): (-[WebView viewWillMoveToSuperview:]): (-[WebView _usesDocumentViews]):
  • WebView/WebViewInternal.h:

WebKit/qt:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):

WebKit/win:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::createFrame):
  • WebCoreSupport/WebFrameLoaderClient.h:

WebKit/wx:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

  • WebKitSupport/FrameLoaderClientWx.cpp:
  • WebKitSupport/FrameLoaderClientWx.h:
10:43 PM Changeset in webkit [37370] by weinig@apple.com
  • 10 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21415
Improve the division between PropertyStorageArray and PropertyMap

  • Rework ProperyMap to store offsets in the value so that they don't change when rehashing. This allows us not to have to keep the PropertyStorageArray in sync and thus not have to pass it in.
  • Rename PropertyMap::getOffset -> PropertyMap::get since put/remove now also return offsets.
  • A Vector of deleted offsets is now needed since the storage is out of band.

1% win on SunSpider. Wash on V8 suite.

  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::transitionWillNeedStorageRealloc):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): Transition logic can be greatly simplified by the fact that the storage capacity is always known, and is correct for the inline case.
  • kjs/JSObject.cpp: (JSC::JSObject::put): Rename getOffset -> get. (JSC::JSObject::deleteProperty): Ditto. (JSC::JSObject::getPropertyAttributes): Ditto. (JSC::JSObject::removeDirect): Use returned offset to clear the value in the PropertyNameArray. (JSC::JSObject::allocatePropertyStorage): Add assert.
  • kjs/JSObject.h: (JSC::JSObject::getDirect): Rename getOffset -> get (JSC::JSObject::getDirectLocation): Rename getOffset -> get (JSC::JSObject::putDirect): Use propertyStorageCapacity to determine whether or not to resize. Also, since put now returns an offset (and thus addPropertyTransition does also) setting of the PropertyStorageArray is now done here. (JSC::JSObject::transitionTo):
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::checkConsistency): PropertyStorageArray is no longer passed in. (JSC::PropertyMap::operator=): Copy the delete offsets vector. (JSC::PropertyMap::put): Instead of setting the PropertyNameArray explicitly, return the offset where the value should go. (JSC::PropertyMap::remove): Instead of removing from the PropertyNameArray explicitly, return the offset where the value should be removed. (JSC::PropertyMap::get): Switch to using the stored offset, instead of the implicit one. (JSC::PropertyMap::insert): (JSC::PropertyMap::expand): This is never called when m_table is null, so remove that branch and add it as an assertion. (JSC::PropertyMap::createTable): Consistency checks no longer take a PropertyNameArray. (JSC::PropertyMap::rehash): No need to rehash the PropertyNameArray now that it is completely out of band.
  • kjs/PropertyMap.h: (JSC::PropertyMapEntry::PropertyMapEntry): Store offset into PropertyNameArray. (JSC::PropertyMap::get): Switch to using the stored offset, instead of the implicit one.
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): Initialize the propertyStorageCapacity to JSObject::inlineStorageCapacity. (JSC::StructureID::growPropertyStorageCapacity): Grow the storage capacity as described below. (JSC::StructureID::addPropertyTransition): Copy the storage capacity. (JSC::StructureID::toDictionaryTransition): Ditto. (JSC::StructureID::changePrototypeTransition): Ditto. (JSC::StructureID::getterSetterTransition): Ditto.
  • kjs/StructureID.h: (JSC::StructureID::propertyStorageCapacity): Add propertyStorageCapacity which is the current capacity for the JSObjects PropertyStorageArray. It starts at the JSObject::inlineStorageCapacity (currently 2), then when it first needs to be resized moves to the JSObject::nonInlineBaseStorageCapacity (currently 16), and after that doubles each time.
9:42 PM Changeset in webkit [37369] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • build fix
  • bindings/objc/DOMEvents.h:
9:16 PM Changeset in webkit [37368] by mrowe@apple.com
  • 4 edits
    3 adds in branches/Safari-3-2-branch

Merge r33567.

9:16 PM Changeset in webkit [37367] by mrowe@apple.com
  • 3 edits
    2 adds in branches/Safari-3-2-branch/WebCore

Merge r36108.

8:53 PM Changeset in webkit [37366] by cwzwarich@webkit.org
  • 8 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.

Bug 21396: Remove the OptionalCalleeActivation call frame slot
<https://bugs.webkit.org/show_bug.cgi?id=21396>

Remove the OptionalCalleeActivation call frame slot. We have to be
careful to store the activation object in a register, because objects
in the scope chain do not get marked.

This is a 0.3% speedup on both SunSpider and the V8 benchmark.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::emitReturn):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::Machine::dumpRegisters): (JSC::Machine::unwindCallFrame): (JSC::Machine::privateExecute): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_push_activation): (JSC::Machine::cti_op_tear_off_activation): (JSC::Machine::cti_op_construct_JSConstruct):
  • VM/Machine.h: (JSC::Machine::initializeCallFrame):
  • VM/RegisterFile.h: (JSC::RegisterFile::):
7:15 PM Changeset in webkit [37365] by mrowe@apple.com
  • 2 edits in branches/Safari-3-2-branch/WebKit/mac/Misc

Merge _webkit_localCacheDirectoryWithBundleIdentifier:.

6:21 PM Changeset in webkit [37364] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-10-06 Tony Chang <tony@chromium.org>

Reviewed by Alexey Proskuryakov.

Chromium doesn't use pthreads on windows, so make its use conditional.

Also convert a WORD to a DWORD to avoid a compiler warning. This
matches the other methods around it.

  • wtf/ThreadingWin.cpp: (WTF::wtfThreadEntryPoint): (WTF::ThreadCondition::broadcast):
6:15 PM Changeset in webkit [37363] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-10-06 Mark Mentovai <mark@moxienet.com>

Reviewed by Tim Hatcher.

Allow ENABLE_DASHBOARD_SUPPORT and ENABLE_MAC_JAVA_BRIDGE to be
disabled on the Mac.

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

  • wtf/Platform.h:
6:14 PM Changeset in webkit [37362] by eric@webkit.org
  • 6 edits in trunk/WebCore

2008-10-06 Mark Mentovai <mark@moxienet.com>

Reviewed by Tim Hatcher.

Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
Platform.h is not available, in preference to #ifdef ENABLE_feature.
#ifdef is wrong now that features are disabled by #defining
ENABLE_feature to 0.

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

  • bindings/objc/DOMEvents.h:
  • bindings/objc/PublicDOMInterfaces.h:
  • dom/Document.idl:
  • page/DOMWindow.idl:
  • svg/svgtags.in:
6:11 PM Changeset in webkit [37361] by eric@webkit.org
  • 2 edits in trunk/WebCore

2008-10-06 Mark Mentovai <mark@moxienet.com>

Reviewed by Sam Weinig.

  • platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h> to get the declaration for isMainThread().
6:10 PM Changeset in webkit [37360] by mrowe@apple.com
  • 2 edits in branches/Safari-3-2-branch/WebCore

Merge r36811.

6:10 PM Changeset in webkit [37359] by mrowe@apple.com
  • 7 edits
    2 adds in branches/Safari-3-2-branch

Merge r37008.

6:09 PM Changeset in webkit [37358] by eric@webkit.org
  • 2 edits
    1 move in trunk/WebCore

2008-10-06 Jeremy Moskovich <jeremy@chromium.org>

Reviewed by Tim Hatcher.

WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
to reflect that.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mac/WebCoreObjCExtras.c: Removed.
  • platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
6:05 PM Changeset in webkit [37357] by eric@webkit.org
  • 2 edits in trunk/WebCore

2008-10-06 Jeremy Moskovich <jeremy@chromium.org>

Reviewed by Dan Bernstein.

Added C++ forward declaration for the NSURLAuthenticationChallenge class
so that the m_currentMacChallenge variable doesn't cause a
compilation error when ResourceHandleInternal.h is included from a C++ file.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411

  • platform/network/ResourceHandleInternal.h:
5:38 PM Changeset in webkit [37356] by mrowe@apple.com
  • 3 edits
    3 adds in branches/Safari-3-2-branch

Merge r36810.

5:38 PM Changeset in webkit [37355] by mrowe@apple.com
  • 4 edits
    3 adds in branches/Safari-3-2-branch

Merge r33972.

5:17 PM Changeset in webkit [37354] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Windows build fix.

4:47 PM Changeset in webkit [37353] by sfalken@apple.com
  • 4 edits in trunk

JavaScriptCore:

https://bugs.webkit.org/show_bug.cgi?id=21416
Pass 0 for size to VirtualAlloc, as documented by MSDN.
Identified by Application Verifier.


Reviewed by Darin Adler.

  • kjs/collector.cpp: (KJS::freeBlock):

WebCore:

https://bugs.webkit.org/show_bug.cgi?id=21416
Add missing null checks identified by Application Verifier.


Reviewed by Darin Adler.

  • platform/win/SharedTimerWin.cpp: (WebCore::clearTimer):
4:15 PM Changeset in webkit [37352] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Tim Hatcher.

Removed accidentally left in debugging statement.

  • inspector/front-end/inspector.js:
4:10 PM Changeset in webkit [37351] by kmccullough@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

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

Reviewed by Tim Hatcher and Oliver Hunt.

https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable

  • inspector/InspectorController.cpp: Keep track of the user-initiated profiles here now. (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::startUserInitiatedProfiling): (WebCore::InspectorController::stopUserInitiatedProfiling):
  • inspector/InspectorController.h: The front end will now need to check for the existence of the user- initiated profile title and use its count instead of keeping its own.
  • inspector/front-end/ProfilesPanel.js:
4:09 PM Changeset in webkit [37350] by kmccullough@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

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

Reviewed by Tim Hatcheri and Oliver Hunt.

https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable

  • Export UString::from for use with creating the profile title.
4:08 PM Changeset in webkit [37349] by kmccullough@apple.com
  • 6 edits in trunk

JavaScriptCore:

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

Reviewed by Tim Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable

  • Export UString::from for use with creating the profile title.

WebCore:

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

Reviewed by Tim Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable

  • inspector/InspectorController.cpp: Keep track of the user-initiated profiles here now. (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::startUserInitiatedProfiling): (WebCore::InspectorController::stopUserInitiatedProfiling):
  • inspector/InspectorController.h: The front end will now need to check for the existence of the user- initiated profile title and use its count instead of keeping its own.
  • inspector/front-end/ProfilesPanel.js:
3:41 PM Changeset in webkit [37348] by kdecker@apple.com
  • 5 edits in trunk/WebKit/mac

Rubber-stamped by Anders Carlsson.

Rename _webkit_applicationCacheDirectoryWithBundleIdentifier to _webkit_localCacheDirectoryWithBundleIdentifier.


  • Misc/WebKitNSStringExtras.h:
  • Misc/WebKitNSStringExtras.m: (+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
  • WebView/WebDataSource.mm: (-[WebDataSource _transferApplicationCache:]):
  • WebView/WebView.mm: (WebKitInitializeApplicationCachePathIfNecessary):
3:22 PM Changeset in webkit [37347] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Reviewed by Sam Weinig.

Make WebNetscapePluginStream a WebCore::NetscapePlugInStreamLoaderClient.


  • Plugins/WebBaseNetscapePluginStream.h: (WebNetscapePluginStream::~WebNetscapePluginStream):
  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::didReceiveResponse): (-[WebBaseNetscapePluginStream startStreamWithResponse:]): (WebNetscapePluginStream::wantsAllStreams): (-[WebBaseNetscapePluginStream wantsAllStreams]): (WebNetscapePluginStream::didFail): (-[WebBaseNetscapePluginStream destroyStreamWithError:]): (WebNetscapePluginStream::didFinishLoading): (-[WebBaseNetscapePluginStream finishedLoading]): (WebNetscapePluginStream::didReceiveData): (-[WebBaseNetscapePluginStream receivedData:]):
2:56 PM Changeset in webkit [37346] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Bring back the stop method. It was called through performSelector, which
is why I couldn't find any references to it.

  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream stop]):
2:28 PM Changeset in webkit [37345] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

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

Reviewed by Sam Weinig.

More conversion and cleanup.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::startStream): (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
2:05 PM Changeset in webkit [37344] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Reviewed by Sam Weinig.

Fold initWithRequestURL into initWithRequest.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
1:57 PM Changeset in webkit [37343] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Reviewed by Sam Weinig.

Change the init methods not to return nil on failures. (These failures never occur anyway)


Use initWithRequest as the initializer, initWithRequestURL is going to be merged with it.


  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
1:34 PM Changeset in webkit [37342] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

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

Reviewed by David Hyatt.

Convert more methods over to C++.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::ownerForStream): (WebNetscapePluginStream::pluginCancelledConnectionError): (WebNetscapePluginStream::errorForReason): (-[WebBaseNetscapePluginStream errorForReason:]): (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError): (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]): (WebNetscapePluginStream::deliverData): (WebNetscapePluginStream::deliverDataTimerFired): (WebNetscapePluginStream::deliverDataToFile): (-[WebBaseNetscapePluginStream finishedLoading]): (-[WebBaseNetscapePluginStream receivedData:]):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView destroyStream:reason:]):
1:25 PM Changeset in webkit [37341] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • separate GDI text drawing into its own function
  • platform/graphics/win/FontCGWin.cpp: (WebCore::drawGDIGlyphs): (WebCore::Font::drawGlyphs):
1:13 PM Changeset in webkit [37340] by hyatt@apple.com
  • 3 edits in trunk/WebKit/mac

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

Add SPI for a new viewless WebKit mode. The idea is that when this flag is set there will be no
views created except for the outermost WebView.

Reviewed by Tim Hatcher

  • WebView/WebView.mm:
  • WebView/WebViewInternal.h:
1:02 PM Changeset in webkit [37339] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

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

Reviewed by David Hyatt.

Convert more methods over to C++.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::reasonForError): (WebNetscapePluginStream::destroyStreamWithReason): (WebNetscapePluginStream::cancelLoadWithError): (-[WebBaseNetscapePluginStream cancelLoadWithError:]): (WebNetscapePluginStream::destroyStreamWithError): (-[WebBaseNetscapePluginStream destroyStreamWithError:]): (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]): (-[WebBaseNetscapePluginStream _deliverDataToFile:]): (-[WebBaseNetscapePluginStream finishedLoading]):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]):
12:55 PM Changeset in webkit [37338] by sfalken@apple.com
  • 3 edits in trunk/WebCore

<rdar://problem/6249833> Fix default button appearance


Reviewed by Adele Peterson.

  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::supportsFocus): (WebCore::RenderThemeWin::determineClassicState): (WebCore::RenderThemeWin::determineButtonState): (WebCore::RenderThemeWin::getClassicThemeData): (WebCore::RenderThemeWin::getThemeData): (WebCore::drawControl):
  • rendering/RenderThemeWin.h:
11:31 AM Changeset in webkit [37337] by mjs@apple.com
  • 21 edits in trunk

JavaScriptCore:

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

Not reviewed. Build fix.


  • revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
  • API/JSValueRef.cpp: (JSValueToBoolean):
  • ChangeLog:
  • JavaScriptCore.exp:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_loop_if_true): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_jtrue):
  • kjs/ArrayPrototype.cpp: (JSC::arrayProtoFuncFilter): (JSC::arrayProtoFuncEvery): (JSC::arrayProtoFuncSome):
  • kjs/BooleanConstructor.cpp: (JSC::constructBoolean): (JSC::callBooleanConstructor):
  • kjs/GetterSetter.h:
  • kjs/JSCell.h: (JSC::JSValue::toBoolean):
  • kjs/JSNumberCell.cpp: (JSC::JSNumberCell::toBoolean):
  • kjs/JSNumberCell.h:
  • kjs/JSObject.cpp: (JSC::JSObject::toBoolean):
  • kjs/JSObject.h:
  • kjs/JSString.cpp: (JSC::JSString::toBoolean):
  • kjs/JSString.h:
  • kjs/JSValue.h:
  • kjs/RegExpConstructor.cpp: (JSC::setRegExpConstructorMultiline):
  • kjs/RegExpObject.cpp: (JSC::RegExpObject::match):
  • kjs/RegExpPrototype.cpp: (JSC::regExpProtoFuncToString):

JavaScriptGlue:

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

Not reviewed. Build fix.

  • revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
  • JSUtils.cpp: (KJSValueToCFTypeInternal):
11:19 AM Changeset in webkit [37336] by mjs@apple.com
  • 2 edits in trunk/JavaScriptGlue

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

Not reviewed.


  • fix build; toBoolean no longer takes an ExecState
  • JSUtils.cpp: (KJSValueToCFTypeInternal):
11:11 AM Changeset in webkit [37335] by vestbo@webkit.org
  • 7 edits in trunk/WebCore

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

Reviewed by Simon.

Add native virtual keycode to PlatformKeyboardEvent

10:51 AM Changeset in webkit [37334] by vestbo@webkit.org
  • 5 edits in trunk/WebCore

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

Reviewed by Simon.

Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac

10:50 AM Changeset in webkit [37333] by mjs@apple.com
  • 19 edits in trunk/JavaScriptCore

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

Reviewed by Sam Weinig.



1) Make JSValue::toBoolean nonvirtual and completely inline by
making use of the StructureID type field.


2) Make JSValue::toBoolean not take an ExecState; doesn't need it.


3) Make op_not, op_loop_if_true and op_jtrue not read the
ExecState (toBoolean doesn't need it any more) and not check
exceptions (toBoolean can't throw).

  • API/JSValueRef.cpp: (JSValueToBoolean):
  • JavaScriptCore.exp:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_loop_if_true): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_jtrue):
  • kjs/ArrayPrototype.cpp: (JSC::arrayProtoFuncFilter): (JSC::arrayProtoFuncEvery): (JSC::arrayProtoFuncSome):
  • kjs/BooleanConstructor.cpp: (JSC::constructBoolean): (JSC::callBooleanConstructor):
  • kjs/GetterSetter.h:
  • kjs/JSCell.h: (JSC::JSValue::toBoolean):
  • kjs/JSNumberCell.cpp:
  • kjs/JSNumberCell.h: (JSC::JSNumberCell::toBoolean):
  • kjs/JSObject.cpp:
  • kjs/JSObject.h: (JSC::JSObject::toBoolean): (JSC::JSCell::toBoolean):
  • kjs/JSString.cpp:
  • kjs/JSString.h: (JSC::JSString::toBoolean):
  • kjs/JSValue.h:
  • kjs/RegExpConstructor.cpp: (JSC::setRegExpConstructorMultiline):
  • kjs/RegExpObject.cpp: (JSC::RegExpObject::match):
  • kjs/RegExpPrototype.cpp: (JSC::regExpProtoFuncToString):
10:46 AM Changeset in webkit [37332] by vestbo@webkit.org
  • 3 edits in trunk/WebCore

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

Reviewed by Simon.

Use bundles on QtWebKit/Mac for platform modules

10:00 AM Changeset in webkit [37331] by Simon Hausmann
  • 6 edits in trunk

2008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

Build fix for MinGW.

  • platform/win/SystemTimeWin.cpp:
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::invalidateRect):

2008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

Build fix for MinGW.

8:44 AM Changeset in webkit [37330] by Adam Roben
  • 2 edits in trunk/WebCore

Mimic the inspector/ directory structure in WebCore.vcproj

  • WebCore.vcproj/WebCore.vcproj:
8:39 AM Changeset in webkit [37329] by Adam Roben
  • 2 edits in trunk/WebCore

Windows build fix

  • WebCore.vcproj/WebCore.vcproj: Update the Include path for all configurations to include WebCore/inspector.
1:23 AM Changeset in webkit [37328] by eric@webkit.org
  • 938 edits in trunk

Reviewed by Darin Adler.

SVG should support ascent and descent properties <font-face> instead of <font>!
https://bugs.webkit.org/show_bug.cgi?id=21365

Tested by many many existing SVG tests.

  • svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::ascent): (WebCore::SVGFontFaceElement::descent):

Oct 5, 2008:

11:44 PM Changeset in webkit [37327] by mjs@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Eric Seidel.

REGRESSION: crash in ScriptElement::notifyFinished
Fixes https://bugs.webkit.org/show_bug.cgi?id=21329

  • dom/ScriptElement.cpp: (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to ensure that the ScriptElementData object is not destroyed prematurely.
11:33 PM Changeset in webkit [37326] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.

Remove ScopeNode::containsClosures() now that it is unused.

  • kjs/nodes.h: (JSC::ScopeNode::containsClosures):
11:05 PM Changeset in webkit [37325] by mjs@apple.com
  • 3 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.


  • fix releas-only test failures caused by the fix to bug 21375
  • VM/Machine.cpp: (JSC::Machine::unwindCallFrame): Update ExecState while unwinding call frames; it now matters more to have a still-valid ExecState, since dynamicGlobalObject will make use of the ExecState's scope chain.
  • VM/Machine.h:
11:00 PM Changeset in webkit [37324] by cwzwarich@webkit.org
  • 15 edits in trunk

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

Reviewed by Oliver Hunt.

Bug 21364: Remove the branch in op_ret for OptionalCalleeActivation and OptionalCalleeArguments
<https://bugs.webkit.org/show_bug.cgi?id=21364>

Use information from the parser to detect whether an activation is
needed or 'arguments' is used, and emit explicit instructions to tear
them off before op_ret. This allows a branch to be removed from op_ret
and simplifies some other code. This does cause a small change in the
behaviour of 'f.arguments'; it is no longer live when 'arguments' is not
mentioned in the lexical scope of the function.

It should now be easy to remove the OptionaCalleeActivation slot in the
call frame, but this will be done in a later patch.

JavaScriptCore:

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitReturn):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::Machine::unwindCallFrame): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::cti_op_create_arguments): (JSC::Machine::cti_op_tear_off_activation): (JSC::Machine::cti_op_tear_off_arguments):
  • VM/Machine.h:
  • VM/Opcode.h:
  • kjs/Arguments.cpp: (JSC::Arguments::mark):
  • kjs/Arguments.h: (JSC::Arguments::isTornOff): (JSC::Arguments::Arguments): (JSC::Arguments::copyRegisters): (JSC::JSActivation::copyRegisters):
  • kjs/JSActivation.cpp: (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h:

LayoutTests:

  • fast/js/function-dot-arguments-expected.txt:
  • fast/js/resources/function-dot-arguments.js:
7:48 PM Changeset in webkit [37323] by mjs@apple.com
  • 8 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.



The problem is that dynamicGlobalObject had become O(N) in number
of call frames, but unwinding the stack for an exception called it
for every call frame, resulting in O(N2) behavior for an
exception thrown from inside deep recursion.

Instead of doing it that way, stash the dynamic global object in JSGlobalData.


  • JavaScriptCore.exp:
  • VM/Machine.cpp: (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Helper class to temporarily store and later restore a dynamicGlobalObject in JSGlobalData. (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope): (JSC::Machine::execute): In each version, establish a DynamicGlobalObjectScope. For ProgramNode, always establish set new dynamicGlobalObject, for FunctionBody and Eval, only if none is currently set.
  • VM/Machine.h:
  • kjs/ExecState.h:
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): Ininitalize new dynamicGlobalObject field to 0.
  • kjs/JSGlobalData.h:
  • kjs/JSGlobalObject.h: (JSC::ExecState::dynamicGlobalObject): Moved here from ExecState for benefit of inlining. Return lexical global object if this is a globalExec(), otherwise look in JSGlobalData for the one stashed there.
6:43 PM Changeset in webkit [37322] by jmalonzo@webkit.org
  • 3 edits in trunk/WebCore

2008-10-05 Chris Lord <chris@openedhand.com>

Reviewed by Alp Toker. Landed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=20624
WebKit-gtk uses deprecated GtkType/GtkObject

  • plugins/gtk/gtk2xtbin.c: (gtk_xtbin_get_type):
  • plugins/gtk/gtk2xtbin.h:
5:58 PM Changeset in webkit [37321] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

Avoid an extra lookup when transitioning to an existing StructureID
by caching the offset of property that caused the transition.

1% win on V8 suite. Wash on SunSpider.

  • kjs/PropertyMap.cpp: (JSC::PropertyMap::put):
  • kjs/PropertyMap.h:
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::addPropertyTransition):
  • kjs/StructureID.h: (JSC::StructureID::setCachedTransistionOffset): (JSC::StructureID::cachedTransistionOffset):
3:47 PM Changeset in webkit [37320] by cwzwarich@webkit.org
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

Bug 21364: Remove the branch in op_ret for OptionalCalleeActivation and OptionalCalleeArguments
<https://bugs.webkit.org/show_bug.cgi?id=21364>

This patch does not yet remove the branch, but it does a bit of refactoring
so that a CodeGenerator now knows whether the associated CodeBlock will need
a full scope before doing any code generation. This makes it possible to emit
explicit tear-off instructions before every op_ret.

  • VM/CodeBlock.h: (JSC::CodeBlock::CodeBlock):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::generate): (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::emitPushScope): (JSC::CodeGenerator::emitPushNewScope):
  • kjs/nodes.h: (JSC::ScopeNode::needsActivation):
2:57 PM Changeset in webkit [37319] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>

Reviewed by David Hyatt.

GTK_WINDOW_HWND not GTK_WINDOWING_HWND
https://bugs.webkit.org/show_bug.cgi?id=20725

Updated to ToT by Jan Alonzo.

  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::getValue):
2:50 PM Changeset in webkit [37318] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Darin Adler.

Invalid cast from GdkWindow to GtkWidget
https://bugs.webkit.org/show_bug.cgi?id=21391

Fix a misplaced closing parenthesis to actually cast the widget, not the window

  • platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenDepth):
12:12 PM Changeset in webkit [37317] by abarth@webkit.org
  • 11 edits
    30 adds in trunk

WebCore:

2008-10-04 Adam Barth <abarth@webkit.org>

Reviewed by Darin Alder.

Attach the Origin header to POST requests to help defend against
cross-site request forgery.

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

Collin Jackson <collinj@webkit.org> also contributed to this patch.

Tests: http/tests/security/originHeader/origin-header-for-data.html

http/tests/security/originHeader/origin-header-for-empty.html
http/tests/security/originHeader/origin-header-for-get.html
http/tests/security/originHeader/origin-header-for-https.html
http/tests/security/originHeader/origin-header-for-post.html

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::createWindow):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::createWindow): (WebCore::FrameLoader::urlSelected): (WebCore::FrameLoader::submitForm): (WebCore::FrameLoader::outgoingOrigin): (WebCore::FrameLoader::loadURL): (WebCore::FrameLoader::addExtraFieldsToRequest): (WebCore::FrameLoader::loadPostRequest): (WebCore::FrameLoader::loadResourceSynchronously): (WebCore::FrameLoader::loadItem):
  • loader/FrameLoader.h:
  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create):
  • loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests):
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::toHTTPOrigin):
  • platform/SecurityOrigin.h:
  • platform/network/ResourceRequestBase.h: (WebCore::ResourceRequestBase::httpOrigin): (WebCore::ResourceRequestBase::setHTTPOrigin): (WebCore::ResourceRequestBase::clearHTTPOrigin):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): (WebCore::XMLHttpRequest::didReceiveResponsePreflight):

LayoutTests:

2008-10-04 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Tests for the new Origin header.

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

Collin Jackson <collinj@webkit.org> also contributed to this patch.

  • http/tests/security/originHeader: Added.
  • http/tests/security/originHeader/origin-header-for-data-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-data.html: Added.
  • http/tests/security/originHeader/origin-header-for-empty-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-empty.html: Added.
  • http/tests/security/originHeader/origin-header-for-get-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-get.html: Added.
  • http/tests/security/originHeader/origin-header-for-https-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-https.html: Added.
  • http/tests/security/originHeader/origin-header-for-post-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-post.html: Added.
  • http/tests/security/originHeader/origin-header-for-xmlhttprequest-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-xmlhttprequest.html: Added.
  • http/tests/security/originHeader/resources: Added.
  • http/tests/security/originHeader/resources/origin-header-post-to-http.html: Added.
  • http/tests/security/originHeader/resources/print-origin.cgi: Added.
10:38 AM Changeset in webkit [37316] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.

Fix for bug #21387 - using SamplingTool with CTI.

(1) A repatch offset offset changes due to an additional instruction to update SamplingTool state.
(2) Fix an incusion order problem due to ExecState changes.
(3) Change to a MACHINE_SAMPLING macro, use of exec should now be accessing global data.

  • VM/CTI.h: (JSC::CTI::execute):
  • VM/SamplingTool.h: (JSC::SamplingTool::privateExecuteReturned):
  • kjs/Shell.cpp:
1:28 AM Changeset in webkit [37315] by oliver@apple.com
  • 3 edits
    2 adds in trunk

Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
<https://bugs.webkit.org/show_bug.cgi?id=21381>

Reviewed by Tim Hatcher.

If we hit a parsing boundary (end of a packet, etc) in the middle of a
<script> element when we are doing an incremental parse, we exit the
parser, and reenter later when more data is available. During this
reentry we incorrectly reset the scriptStartLineno to the current line
in the parser, which is now part way through the script element.

The solution is to track whether we are entering or reentering the parsing
of a script element. We do this simply by 0 checking scriptStartLineno,
and resetting it after we complete parsing of each script element.

Test: http/tests/incremental/pause-in-script-element.pl

Oct 4, 2008:

11:13 PM Changeset in webkit [37314] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by David Hyatt. Landed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=20924
[Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3

https://bugs.webkit.org/show_bug.cgi?id=19578
[CURL] problem in parseDataUrl

De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
This patch also fixes encoding support in escaped (non-Base64) data
URLs. All manual data URL tests now pass in both GLib and non-GLib
code paths.

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::parseDataUrl):
9:12 PM Changeset in webkit [37313] by timothy@apple.com
  • 5 edits
    1 add in trunk/WebCore

Makes breakpoints and debugging code during page load work in the
Web Inspector's debugger. Specifically, this makes the source
code for loading resources show up in the Scripts panel.

https://bugs.webkit.org/show_bug.cgi?id=19053
rdar://problem/5933408

Reviewed by Mark Rowe.

  • WebCore.xcodeproj/project.pbxproj: Mark the inspector group as not using tabs and a tab width of 8.
  • inspector/InspectorController.cpp: (WebCore::addResourceSourceToFrame): Return a bool to report if the source was added successfully or not. (WebCore::addSourceToFrame): Ditto.
  • inspector/front-end/ScriptView.js: (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Return early if the InspectorController.addSourceToFrame fails. Moved the delete of the _frameNeedsSetup property after that call so if the source wasn't added it will be attempted again.
  • inspector/front-end/SourceView.js: (WebInspector.SourceView.prototype.detach): Move a comment. (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Don't check if the resource is finished or failed, just attempt to add the source to the frame. WebCore has the source, but the finished property hasn't been set yet. Return early if the InspectorController.addSourceToFrame fails. Moved the delete of the _frameNeedsSetup property after that call so if the source wasn't added it will be attempted again. (WebInspector.SourceView.prototype._resourceLoadingFinished): Clear the _frameNeedsSetup and _sourceFrameSetup properties so the source frame will we populated again now that the resource load has finished.
  • manual-tests/inspector/debugger-pause-during-load.html: Added.
8:04 PM Changeset in webkit [37312] by mrowe@apple.com
  • 8 edits in trunk

Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.

Reviewed by Tim Hatcher.

8:04 PM Changeset in webkit [37311] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Update check-for-weak-vtables to check only the final linked image for weak vtables.
This gives more useful results than checking each object file independently.

Reviewed by Tim Hatcher.

7:55 PM Changeset in webkit [37310] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/WidgetQt.cpp

Fix Qt build bustage.

7:21 PM Changeset in webkit [37309] by mrowe@apple.com
  • 12 edits in trunk/WebKitSite

Upgrade to WordPress 2.6.2.

  • blog:
6:38 PM Changeset in webkit [37308] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Update format of CFBundleShortVersionString for <rdar://problem/6269394>.

6:04 PM Changeset in webkit [37307] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.h

Fix build bustage I just introduced.

5:55 PM Changeset in webkit [37306] by hyatt@apple.com
  • 3 edits in trunk/WebCore

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

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

Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
is still present.

Reviewed by Mark Rowe

  • page/FrameView.cpp: (WebCore::FrameView::~FrameView):
5:22 PM Changeset in webkit [37305] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Versioning.

5:21 PM Changeset in webkit [37304] by mrowe@apple.com
  • 12 edits in branches/Safari-3-2-branch

Merge r35278.

4:33 PM Changeset in webkit [37303] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/QWebPopup.cpp

Fix Qt bustage.

4:15 PM Changeset in webkit [37302] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/QWebPopup.cpp

Fix Qt bustage.

3:52 PM Changeset in webkit [37301] by weinig@apple.com
  • 8 edits in trunk/WebCore

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

Reviewed by Dan Bernstein.

Avoid copying a Vector when using getSupportedKeySizes.

  • html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::HTMLKeygenElement):
  • platform/SSLKeyGenerator.h:
  • platform/gtk/TemporaryLinkStubs.cpp: (WebCore::getSupportedKeySizes):
  • platform/mac/SSLKeyGeneratorMac.mm: (WebCore::getSupportedKeySizes):
  • platform/qt/TemporaryLinkStubs.cpp: (WebCore::getSupportedKeySizes):
  • platform/win/TemporaryLinkStubs.cpp: (WebCore::getSupportedKeySizes):
  • platform/wx/TemporaryLinkStubs.cpp: (WebCore::getSupportedKeySizes):
2:57 PM Changeset in webkit [37300] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.

Fix https://bugs.webkit.org/show_bug.cgi?id=21320
leaks of PropertyNameArrayData seen on buildbot

  • Fix RefPtr cycle by making PropertyNameArrayData's pointer back to the StructureID a weak pointer.
  • kjs/PropertyNameArray.h: (JSC::PropertyNameArrayData::setCachedStructureID): (JSC::PropertyNameArrayData::cachedStructureID):
  • kjs/StructureID.cpp: (JSC::StructureID::getEnumerablePropertyNames): (JSC::StructureID::clearEnumerationCache): (JSC::StructureID::~StructureID):
2:56 PM Changeset in webkit [37299] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.pro

Speculative fix for Qt bustage from inspector directory move.

2:53 PM Changeset in webkit [37298] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.vcproj/WebCore.vcproj

Fix build bustage from the inspector directory move on Windows.

2:12 PM Changeset in webkit [37297] by Darin Adler
  • 24 edits in trunk

JavaScriptCore:

2008-10-04 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

10% faster on Richards; other v8 benchmarks faster too.
A wash on SunSpider.

This does the minimum necessary to get the speedup. Next step in
cleaning this up is to replace ExecState with a CallFrame class,
and be more judicious about when to pass a call frame and when
to pass a global data pointer, global object pointer, or perhaps
something else entirely.

  • VM/CTI.cpp: Remove the debug-only check of the exception in ctiVMThrowTrampoline -- already checked in the code the trampoline jumps to, so not all that useful. Removed the exec argument from ctiTrampoline. Removed emitDebugExceptionCheck -- no longer needed. (JSC::CTI::emitCall): Removed code to set ExecState::m_callFrame. (JSC::CTI::privateCompileMainPass): Removed code in catch to extract the exception from ExecState::m_exception; instead, the code that jumps into catch will make sure the exception is already in eax.
  • VM/CTI.h: Removed exec from the ctiTrampoline. Also removed the non-helpful "volatile". Temporarily left ARG_exec in as a synonym for ARG_r; I'll change that on a future cleanup pass when introducing more use of the CallFrame type. (JSC::CTI::execute): Removed the ExecState* argument.
  • VM/ExceptionHelpers.cpp: (JSC::InterruptedExecutionError::InterruptedExecutionError): Take JSGlobalData* instead of ExecState*. (JSC::createInterruptedExecutionException): Ditto.
  • VM/ExceptionHelpers.h: Ditto. Also removed an unneeded include.
  • VM/Machine.cpp: (JSC::slideRegisterWindowForCall): Removed the exec and exceptionValue arguments. Changed to return 0 when there's a stack overflow rather than using a separate exception argument to cut down on memory accesses in the calling convention. (JSC::Machine::unwindCallFrame): Removed the exec argument when constructing a DebuggerCallFrame. Also removed code to set ExecState::m_callFrame. (JSC::Machine::throwException): Removed the exec argument when construction a DebuggerCallFrame. (JSC::Machine::execute): Updated to use the register instead of ExecState and also removed various uses of ExecState. (JSC::Machine::debug): (JSC::Machine::privateExecute): Put globalData into a local variable so it can be used throughout the interpreter. Changed the VM_CHECK_EXCEPTION to get the exception in globalData instead of through ExecState. (JSC::Machine::retrieveLastCaller): Turn exec into a registers pointer by calling registers() instead of by getting m_callFrame. (JSC::Machine::callFrame): Ditto. Tweaked exception macros. Made new versions for when you know you have an exception. Get at global exception with ARG_globalData. Got rid of the need to pass in the return value type. (JSC::Machine::cti_op_add): Update to use new version of exception macros. (JSC::Machine::cti_op_pre_inc): Ditto. (JSC::Machine::cti_timeout_check): Ditto. (JSC::Machine::cti_op_instanceof): Ditto. (JSC::Machine::cti_op_new_func): Ditto. (JSC::Machine::cti_op_call_JSFunction): Optimized by using the ARG values directly instead of through local variables -- this gets rid of code that just shuffles things around in the stack frame. Also get rid of ExecState and update for the new way exceptions are handled in slideRegisterWindowForCall. (JSC::Machine::cti_vm_compile): Update to make exec out of r since they are both the same thing now. (JSC::Machine::cti_op_call_NotJSFunction): Ditto. (JSC::Machine::cti_op_init_arguments): Ditto. (JSC::Machine::cti_op_resolve): Ditto. (JSC::Machine::cti_op_construct_JSConstruct): Ditto. (JSC::Machine::cti_op_construct_NotJSConstruct): Ditto. (JSC::Machine::cti_op_resolve_func): Ditto. (JSC::Machine::cti_op_put_by_val): Ditto. (JSC::Machine::cti_op_put_by_val_array): Ditto. (JSC::Machine::cti_op_resolve_skip): Ditto. (JSC::Machine::cti_op_resolve_global): Ditto. (JSC::Machine::cti_op_post_inc): Ditto. (JSC::Machine::cti_op_resolve_with_base): Ditto. (JSC::Machine::cti_op_post_dec): Ditto. (JSC::Machine::cti_op_call_eval): Ditto. (JSC::Machine::cti_op_throw): Ditto. Also rearranged to return the exception value as the return value so it can be used by op_catch. (JSC::Machine::cti_op_push_scope): Ditto. (JSC::Machine::cti_op_in): Ditto. (JSC::Machine::cti_op_del_by_val): Ditto. (JSC::Machine::cti_vm_throw): Ditto. Also rearranged to return the exception value as the return value so it can be used by op_catch.
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::functionName): Pass globalData. (JSC::DebuggerCallFrame::evaluate): Eliminated code to make a new ExecState.
  • kjs/DebuggerCallFrame.h: Removed ExecState argument from constructor.
  • kjs/ExecState.h: Eliminated all data members and made ExecState inherit privately from Register instead. Also added a typedef to the future name for this class, which is CallFrame. It's just a Register* that knows it's a pointer at a call frame. The new class can't be constructed or copied. Changed all functions to use the this pointer instead of m_callFrame. Changed exception-related functions to access an exception in JSGlobalData. Removed functions used by CTI to pass the return address to the throw machinery -- this is now done directly with a global in the global data.
  • kjs/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): Pass globalData instead of exec.
  • kjs/InternalFunction.cpp: (JSC::InternalFunction::name): Take globalData instead of exec.
  • kjs/InternalFunction.h: Ditto.
  • kjs/JSGlobalData.cpp: Initialize the new exception global to 0.
  • kjs/JSGlobalData.h: Declare two new globals. One for the current exception and another for the return address used by CTI to implement the throw operation.
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): Removed code to set up globalExec, which is now the same thing as globalCallFrame. (JSC::JSGlobalObject::reset): Get globalExec from our globalExec function so we don't have to repeat the logic twice. (JSC::JSGlobalObject::mark): Removed code to mark the exception; the exception is now stored in JSGlobalData and marked there. (JSC::JSGlobalObject::globalExec): Return a pointer to the end of the global call frame.
  • kjs/JSGlobalObject.h: Removed the globalExec data member.
  • kjs/JSObject.cpp: (JSC::JSObject::putDirectFunction): Pass globalData instead of exec.
  • kjs/collector.cpp: (JSC::Heap::collect): Mark the global exception.
  • profiler/ProfileGenerator.cpp: (JSC::ProfileGenerator::addParentForConsoleStart): Pass globalData instead of exec to createCallIdentifier.
  • profiler/Profiler.cpp: (JSC::Profiler::willExecute): Pass globalData instead of exec to createCallIdentifier. (JSC::Profiler::didExecute): Ditto. (JSC::Profiler::createCallIdentifier): Take globalData instead of exec. (JSC::createCallIdentifierFromFunctionImp): Ditto.
  • profiler/Profiler.h: Change interface to take a JSGlobalData instead of an ExecState.

WebKit/mac:

2008-10-04 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

  • WebView/WebScriptDebugger.mm: (WebScriptDebugger::WebScriptDebugger): Remove 0 passed for ExecState.
2:10 PM Changeset in webkit [37296] by Darin Adler
  • 3 edits in trunk/WebCore

2008-10-04 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

  • bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Remove bogus "const".
  • bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
2:03 PM Changeset in webkit [37295] by hyatt@apple.com
  • 12 edits
    1 add in trunk/WebCore

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

Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.

Reviewed by Darin Adler

  • WebCore.xcodeproj/project.pbxproj:
  • platform/PopupMenuClient.h:
  • platform/gtk/PopupMenuGtk.cpp: (WebCore::PopupMenu::show):
  • platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::populate): (WebCore::PopupMenu::show):
  • platform/qt/PopupMenuQt.cpp: (WebCore::PopupMenu::populate):
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::calculatePositionAndSize): (WebCore::PopupMenu::paint): (WebCore::PopupWndProc):
  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::itemStyle): (WebCore::RenderMenuList::menuStyle): (WebCore::RenderMenuList::hostWindow):
  • rendering/RenderMenuList.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::itemStyle): (WebCore::RenderTextControl::menuStyle): (WebCore::RenderTextControl::hostWindow):
  • rendering/RenderTextControl.h:
1:32 PM Changeset in webkit [37294] by cwzwarich@webkit.org
  • 7 edits in trunk/JavaScriptCore

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

Reviewed by Darin Adler.

Bug 21369: Add opcode documentation for all undocumented opcodes
<https://bugs.webkit.org/show_bug.cgi?id=21369>

This patch adds opcode documentation for all undocumented opcodes, and
it also renames op_init_arguments to op_create_arguments.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_create_arguments):
  • VM/Machine.h:
  • VM/Opcode.h:
11:41 AM Changeset in webkit [37293] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

2008-10-04 Matt Lilek <webkit@mattlilek.com>

Build fix - restore Private role to headers that had it before the move.

  • WebCore.xcodeproj/project.pbxproj:
11:37 AM Changeset in webkit [37292] by Darin Adler
  • 1 edit in trunk/WebCore/ChangeLog

Fix ChangeLog.

11:37 AM Changeset in webkit [37291] by Darin Adler
  • 3 edits in trunk/WebCore

2008-10-04 Darin Adler <Darin Adler>

  • try to fix build
  • DerivedSources.make: Add new inspector directory to VPATH.
  • GNUmakefile.am:
10:28 AM Changeset in webkit [37290] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

2008-10-04 Matt Lilek <webkit@mattlilek.com>

Not reviewed, attempt to fix Gtk build.

  • GNUmakefile.am:
1:10 AM Changeset in webkit [37289] by timothy@apple.com
  • 6 edits
    156 moves
    3 adds in trunk/WebCore

Move the Web Inspector files into a top-level "inspector" folder.

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

Reviewed by Dave Hyatt.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
  • inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
  • inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
  • inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
  • inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
  • inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
  • inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
  • inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
  • inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
  • inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
  • inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
  • inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
  • inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
  • inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
  • inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
  • inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
  • inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
  • inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
  • inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
  • inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
  • inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
  • inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
  • inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
  • inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
  • inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
  • inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
  • inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
  • inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
  • inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
  • inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
  • inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
  • inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
  • inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
  • inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
  • inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
  • inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
  • inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
  • inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
  • inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
  • inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
  • inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
  • inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
  • inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
  • inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
  • inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
  • inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
  • inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
  • inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
  • inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
  • inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
  • inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
  • inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
  • inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
  • inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
  • inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
  • inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
  • inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
  • inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
  • inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
  • inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
  • inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
  • inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
  • inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
  • inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
  • inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
  • inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
  • inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
  • inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
  • inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
  • inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
  • inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
  • inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
  • inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
  • inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
  • inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
  • inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
  • inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
  • inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
  • inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
  • inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
  • inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
  • inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
  • inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
  • inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
  • inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
  • inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
  • inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
  • inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
  • inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
  • inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
  • inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
  • inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
  • inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
  • inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
  • inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
  • inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
  • inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
  • inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
  • inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
  • inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
  • inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
  • inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
  • inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
  • inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
  • inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
  • inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
  • inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
  • inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
  • inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
  • inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
  • inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
  • inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
  • inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
  • inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
  • inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
  • inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
  • inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
  • inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
  • inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
  • inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
  • inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
  • inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
  • inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
  • inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
  • inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
  • inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
  • inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
  • inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
  • inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
  • inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
  • inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
  • inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
  • inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
  • inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
  • inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
  • inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
  • inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
  • inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
  • inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
  • inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
  • inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
  • inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
  • inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
  • inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
  • inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
  • inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
  • inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
  • inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
  • inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
  • inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
  • inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
1:09 AM Changeset in webkit [37288] by timothy@apple.com
  • 2 edits in trunk/WebCore

Adds support to the Web Inspector's Elements panel for fast tag name,
class name, id and attribute name searching. The panel first tries
using getElementById, getElementsByClassName and getElementsByTagName
with the search query. Then does a slower search using XPath for partial
matches, text and comment matches.

Adds support for search queries like "<div>", "<h" and "frame>".
These forms limit the search to tag names, text and comment matches.

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

Reviewed by Maciej Stachowiak.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax support. Add new search functions that try exact matches first.
1:09 AM Changeset in webkit [37287] by timothy@apple.com
  • 2 edits in trunk/WebCore

Changes how searching works in the Web Inspector's Elements
panel. The search tasks are divided into chunks that are small
units of work that are performed at a time interval. This
change also prevents queries that will select all elements,
since that isn't useful.

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

Reviewed by Oliver Hunt.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.searchCancled): Remove the searchResultsProperty form results since there might be an unfinished search. (WebInspector.ElementsPanel.prototype.performSearch): Divide the documents and search functions into chunks that are performed on a interval of 25ms. Prevent searches for "*" and "*".
1:00 AM Changeset in webkit [37286] by timothy@apple.com
  • 1 edit in trunk/WebCore/page/inspector/Panel.js

Fix a typo.

12:15 AM Changeset in webkit [37285] by mjs@apple.com
  • 21 edits
    3 adds in trunk

JavaScriptCore:

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

Reviewed by Cameron Zwarich.


I changed things so that functions which use "this" do a fast
version of toThisObject conversion if needed. Currently we miss
the conversion entirely, at least for primitive types. Using
TypeInfo and the primitive check, I made the fast case bail out
pretty fast.


This is inexplicably an 1.007x SunSpider speedup (and a wash on V8 benchmarks).


Also renamed some opcodes for clarity:


init ==> enter
init_activation ==> enter_with_activation


  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::generate): (JSC::CodeGenerator::CodeGenerator):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_convert_this):
  • VM/Machine.h:
  • VM/Opcode.h:
  • kjs/JSActivation.cpp: (JSC::JSActivation::JSActivation):
  • kjs/JSActivation.h: (JSC::JSActivation::createStructureID):
  • kjs/JSCell.h: (JSC::JSValue::needsThisConversion):
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • kjs/JSGlobalData.h:
  • kjs/JSNumberCell.h: (JSC::JSNumberCell::createStructureID):
  • kjs/JSStaticScopeObject.h: (JSC::JSStaticScopeObject::JSStaticScopeObject): (JSC::JSStaticScopeObject::createStructureID):
  • kjs/JSString.h: (JSC::JSString::createStructureID):
  • kjs/JSValue.h:
  • kjs/TypeInfo.h: (JSC::TypeInfo::needsThisConversion):
  • kjs/nodes.h: (JSC::ScopeNode::usesThis):

WebCore:

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

Reviewed by Cameron Zwarich.

Updated so toThis conversion for the split window is handled properly.

  • bindings/scripts/CodeGeneratorJS.pm:

LayoutTests:

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

Reviewed by Cameron Zwarich.


  • test case for: "this" object in methods called on primitives should be wrapper object
  • fast/js/primitive-method-this-expected.txt: Added.
  • fast/js/primitive-method-this.html: Added.
  • fast/js/resources/primitive-method-this.js: Added.

Oct 3, 2008:

11:40 PM Changeset in webkit [37284] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/WidgetQt.cpp

Fix Qt bustage.

10:47 PM Changeset in webkit [37283] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

Bug 21356: The size of the RegisterFile differs depending on 32-bit / 64-bit and Debug / Release
<https://bugs.webkit.org/show_bug.cgi?id=21356>

The RegisterFile decreases in size (measured in terms of numbers of
Registers) as the size of a Register increases. This causes

js1_5/Regress/regress-159334.js

to fail in 64-bit debug builds. This fix makes the RegisterFile on all
platforms the same size that it is in 32-bit Release builds.

  • VM/RegisterFile.h: (JSC::RegisterFile::RegisterFile):
10:16 PM Changeset in webkit [37282] by weinig@apple.com
  • 6 edits
    3 moves in trunk/WebCore

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

Reviewed by David "The Motivator" Hyatt.

Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
Move SecurityOrigin out of platform/ to page/.

It was a layering violation for SecurityOrigin to be in platform
as it depended on FrameLoader.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
  • page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
  • page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
  • platform/SecurityOrigin.cpp: Removed.
  • platform/SecurityOrigin.h: Removed.
  • platform/SecurityOriginHash.h: Removed.
9:24 PM Changeset in webkit [37281] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18832
[curl] file upload does not work

The curl_off_t integer type has a different size depending if large
file support is enabled or not. There is no different public API for
the two cases, so the same function accepts a different type based on
a compilation option the could be different in WebKit and libcurl.
To fix the bug we query libcurl at runtime for large file support and
pass the right type based on that.

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::setupPOST):
9:02 PM Changeset in webkit [37280] by jmalonzo@webkit.org
  • 7 edits in trunk/WebCore

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

Reviewed by David Hyatt.

Gtk build fixes.

  • platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::openFileChooser):
  • platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenDepth): (WebCore::screenDepthPerComponent): (WebCore::screenAvailableRect):
  • platform/gtk/PopupMenuGtk.cpp: (WebCore::PopupMenu::show):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::platformAddChild): (WebCore::ScrollView::platformRemoveChild):
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::setCursor):
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::getValue): (WebCore::PluginView::forceRedraw): (WebCore::PluginView::init):
8:31 PM Changeset in webkit [37279] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/PopupMenuQt.cpp

Fix Qt bustage.

7:02 PM Changeset in webkit [37278] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebCoreSupport/WebChromeClient.h

Fix Windows bustage in WebKit side.

7:01 PM Changeset in webkit [37277] by hyatt@apple.com
  • 3 edits in trunk/WebKit/win

Fix Windows bustage in WebKit side.

6:50 PM Changeset in webkit [37276] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/win/FileChooserWin.cpp

Fix Win bustage.

6:39 PM Changeset in webkit [37275] by mjs@apple.com
  • 9 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.


  • Some code cleanup to how we handle code features.


1) Rename FeatureInfo typedef to CodeFeatures.
2) Rename NodeFeatureInfo template to NodeInfo.
3) Keep CodeFeature bitmask in ScopeNode instead of trying to break it out into individual bools.
4) Rename misleadingly named "needsClosure" method to "containsClosures", which better describes the meaning
of ClosureFeature.
5) Make setUsersArguments() not take an argument since it only goes one way.

  • JavaScriptCore.exp:
  • VM/CodeBlock.h: (JSC::CodeBlock::CodeBlock):
  • kjs/NodeInfo.h:
  • kjs/Parser.cpp: (JSC::Parser::didFinishParsing):
  • kjs/Parser.h: (JSC::Parser::parse):
  • kjs/grammar.y:
  • kjs/nodes.cpp: (JSC::ScopeNode::ScopeNode): (JSC::ProgramNode::ProgramNode): (JSC::ProgramNode::create): (JSC::EvalNode::EvalNode): (JSC::EvalNode::create): (JSC::FunctionBodyNode::FunctionBodyNode): (JSC::FunctionBodyNode::create):
  • kjs/nodes.h: (JSC::ScopeNode::usesEval): (JSC::ScopeNode::containsClosures): (JSC::ScopeNode::usesArguments): (JSC::ScopeNode::setUsesArguments):
6:11 PM Changeset in webkit [37274] by hyatt@apple.com
  • 2 edits in trunk/WebKit/gtk

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

Fix Gtk bustage from use of containingWindow() over on the WebKit side. Replace with HostWindow use.

  • webkit/webkitwebview.cpp:
6:09 PM Changeset in webkit [37273] by hyatt@apple.com
  • 2 edits in trunk/WebCore

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

Fix Qt bustage from missing include.

  • platform/qt/PlatformScreenQt.cpp:
6:08 PM Changeset in webkit [37272] by hyatt@apple.com
  • 2 edits in trunk/WebCore

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

Fix Windows scrollbar bustage in popup menus.

  • platform/win/PopupMenuWin.cpp: (WebCore::PopupWndProc):
6:07 PM Changeset in webkit [37271] by hyatt@apple.com
  • 5 edits in trunk/WebCore

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

Fix Windows bustage.

  • platform/win/FileChooserWin.cpp: (WebCore::FileChooser::openFileChooser):
  • platform/win/PlatformScreenWin.cpp: (WebCore::monitorInfoForWidget):
  • platform/win/WidgetWin.cpp:
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::getValue): (WebCore::PluginView::forceRedraw): (WebCore::PluginView::init):
5:21 PM Changeset in webkit [37270] by Simon Fraser
  • 2 edits in trunk/WebKitTools

2008-10-03 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Darin Adler

Render images to RGBA8 bitmaps independently of platform endianness.

Create image difference bitmap in reference image colorspace instead of device colorspace
(which depends on the main display profile), so that no color matching happens.

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

  • DumpRenderTree/cg/ImageDiffCG.cpp: (createDifferenceBitmap): (computePercentageDifferent): (compareImages):
5:16 PM Changeset in webkit [37269] by Simon Fraser
  • 2 edits in trunk/WebKitTools

2008-10-02 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

Fix hang when running with --pixel --reset, which occurs
because DRT spews PNG data when the script does not expect it.

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

  • Scripts/run-webkit-tests:
5:10 PM Changeset in webkit [37268] by cwzwarich@webkit.org
  • 5 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

Bug 21343: REGRESSSION (r37160): ecma_3/ExecutionContexts/10.1.3-1.js and js1_4/Functions/function-001.js fail on 64-bit
<https://bugs.webkit.org/show_bug.cgi?id=21343>

A fix was landed for this issue in r37253, and the ChangeLog assumes
that it is a compiler bug, but it turns out that it is a subtle issue
with mixing signed and unsigned 32-bit values in a 64-bit environment.
In order to properly fix this bug, we should convert our signed offsets
into the register file to use ptrdiff_t.

This may not be the only instance of this issue, but I will land this
fix first and look for more later.

  • VM/Machine.cpp: (JSC::Machine::getArgumentsData):
  • VM/Machine.h:
  • kjs/Arguments.cpp: (JSC::Arguments::getOwnPropertySlot):
  • kjs/Arguments.h: (JSC::Arguments::init):
4:15 PM Changeset in webkit [37267] by sullivan@apple.com
  • 2 edits in trunk/WebKit/mac

2008-10-03 John Sullivan <sullivan@apple.com>

Fixed Release build

  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::destroyStream): added !LOG_DISABLED guard around declaration of npErr used only in LOG
3:55 PM Changeset in webkit [37266] by Darin Adler
  • 2 edits in trunk/WebCore

2008-10-03 Darin Adler <Darin Adler>

  • bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure seen on some machines but not others by adding an include.
3:41 PM Changeset in webkit [37265] by Darin Adler
  • 3 edits in trunk/WebCore

2008-10-03 Darin Adler <Darin Adler>

  • Qt build fix
  • bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and execute functions. Declarations for these relied on the CodeType enumeration, which used to be in ExecState.h; but the functions aren't needed at all.
  • bridge/qt/qt_runtime.h: Ditto.
3:29 PM Changeset in webkit [37264] by Darin Adler
  • 3 edits in trunk/JavaScriptCore

2008-10-03 Darin Adler <Darin Adler>

  • VM/CTI.cpp: Another Windows build fix. Change the args of ctiTrampoline.
  • kjs/JSNumberCell.h: A build fix for newer versions of gcc. Added declarations of JSGlobalData overloads of jsNumberCell.
3:24 PM Changeset in webkit [37263] by hyatt@apple.com
  • 1 edit in trunk/WebKit/wx/WebKitSupport/ChromeClientWx.cpp

Fix wx bustage.

3:24 PM Changeset in webkit [37262] by hyatt@apple.com
  • 1 edit in trunk/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp

Fix Qt bustage.

3:23 PM Changeset in webkit [37261] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp

Fix Gtk bustage.

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

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

Reviewed by David Hyatt.


Convert destroyStream over to C++.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::destroyStream): (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): (-[WebBaseNetscapePluginStream _deliverData]):
2:54 PM Changeset in webkit [37259] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-10-03 Darin Adler <Darin Adler>

  • try to fix Windows build
  • kjs/ScopeChain.h: Add forward declaration of JSGlobalData.
2:45 PM Changeset in webkit [37258] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Reviewed by David Hyatt.

Use a Timer instead of -[NSObject performSelector:withObject:afterDelay];


  • Plugins/WebBaseNetscapePluginStream.h: (WebNetscapePluginStream::WebNetscapePluginStream):
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream _destroyStream]): (-[WebBaseNetscapePluginStream _deliverData]): (WebNetscapePluginStream::deliverDataTimerFired):
2:39 PM Changeset in webkit [37257] by Darin Adler
  • 42 edits in trunk

JavaScriptCore:

2008-10-03 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

Remove m_globalObject and m_globalData from ExecState.

SunSpider says this is a wash (slightly faster but not statistically
significant); which is good enough since it's a preparation step and
not supposed to be a spedup.

  • API/JSCallbackFunction.cpp: (JSC::JSCallbackFunction::JSCallbackFunction):
  • kjs/ArrayConstructor.cpp: (JSC::ArrayConstructor::ArrayConstructor):
  • kjs/BooleanConstructor.cpp: (JSC::BooleanConstructor::BooleanConstructor):
  • kjs/DateConstructor.cpp: (JSC::DateConstructor::DateConstructor):
  • kjs/ErrorConstructor.cpp: (JSC::ErrorConstructor::ErrorConstructor):
  • kjs/FunctionPrototype.cpp: (JSC::FunctionPrototype::FunctionPrototype):
  • kjs/JSFunction.cpp: (JSC::JSFunction::JSFunction):
  • kjs/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor::NativeErrorConstructor):
  • kjs/NumberConstructor.cpp: (JSC::NumberConstructor::NumberConstructor):
  • kjs/ObjectConstructor.cpp: (JSC::ObjectConstructor::ObjectConstructor):
  • kjs/PrototypeFunction.cpp: (JSC::PrototypeFunction::PrototypeFunction):
  • kjs/RegExpConstructor.cpp: (JSC::RegExpConstructor::RegExpConstructor):
  • kjs/StringConstructor.cpp: (JSC::StringConstructor::StringConstructor): Pass JSGlobalData* instead of ExecState* to the InternalFunction constructor.
  • API/OpaqueJSString.cpp: Added now-needed include.
  • VM/CTI.cpp: (JSC::CTI::emitSlowScriptCheck): Changed to use ARGS_globalData instead of ARGS_exec.
  • VM/CTI.h: Added a new argument to the CTI, the global data pointer. While it's possible to get to the global data pointer using the ExecState pointer, it's slow enough that it's better to just keep it around in the CTI arguments.
  • VM/CodeBlock.h: Moved the CodeType enum here from ExecState.h.
  • VM/Machine.cpp: (JSC::Machine::execute): Pass fewer arguments when constructing ExecState, and pass the global data pointer when invoking CTI. (JSC::Machine::firstCallFrame): Added. Used to get the dynamic global object, which is in the scope chain of the first call frame. (JSC::Machine::cti_op_add): Use globalData instead of exec when possible, to keep fast cases fast, since it's now more expensive to get to it through the exec pointer. (JSC::Machine::cti_timeout_check): Ditto. (JSC::Machine::cti_op_put_by_id_second): Ditto. (JSC::Machine::cti_op_get_by_id_second): Ditto. (JSC::Machine::cti_op_mul): Ditto. (JSC::Machine::cti_vm_compile): Ditto. (JSC::Machine::cti_op_get_by_val): Ditto. (JSC::Machine::cti_op_sub): Ditto. (JSC::Machine::cti_op_put_by_val): Ditto. (JSC::Machine::cti_op_put_by_val_array): Ditto. (JSC::Machine::cti_op_negate): Ditto. (JSC::Machine::cti_op_div): Ditto. (JSC::Machine::cti_op_pre_dec): Ditto. (JSC::Machine::cti_op_post_inc): Ditto. (JSC::Machine::cti_op_lshift): Ditto. (JSC::Machine::cti_op_bitand): Ditto. (JSC::Machine::cti_op_rshift): Ditto. (JSC::Machine::cti_op_bitnot): Ditto. (JSC::Machine::cti_op_mod): Ditto. (JSC::Machine::cti_op_post_dec): Ditto. (JSC::Machine::cti_op_urshift): Ditto. (JSC::Machine::cti_op_bitxor): Ditto. (JSC::Machine::cti_op_bitor): Ditto. (JSC::Machine::cti_op_call_eval): Ditto. (JSC::Machine::cti_op_throw): Ditto. (JSC::Machine::cti_op_is_string): Ditto. (JSC::Machine::cti_op_debug): Ditto. (JSC::Machine::cti_vm_throw): Ditto.
  • VM/Machine.h: Added firstCallFrame.
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluate): Pass fewer arguments when constructing ExecState.
  • kjs/ExecState.cpp: Deleted contents. Later we'll remove the file altogether.
  • kjs/ExecState.h: Removed m_globalObject and m_globalData. Moved CodeType into another header. (JSC::ExecState::ExecState): Take only a single argument, a call frame pointer. (JSC::ExecState::dynamicGlobalObject): Get the object from the first call frame since it's no longer stored. (JSC::ExecState::globalData): Get the global data from the scope chain, since we no longer store a pointer to it here. (JSC::ExecState::identifierTable): Ditto. (JSC::ExecState::propertyNames): Ditto. (JSC::ExecState::emptyList): Ditto. (JSC::ExecState::lexer): Ditto. (JSC::ExecState::parser): Ditto. (JSC::ExecState::machine): Ditto. (JSC::ExecState::arrayTable): Ditto. (JSC::ExecState::dateTable): Ditto. (JSC::ExecState::mathTable): Ditto. (JSC::ExecState::numberTable): Ditto. (JSC::ExecState::regExpTable): Ditto. (JSC::ExecState::regExpConstructorTable): Ditto. (JSC::ExecState::stringTable): Ditto. (JSC::ExecState::heap): Ditto.
  • kjs/FunctionConstructor.cpp: (JSC::FunctionConstructor::FunctionConstructor): Pass JSGlobalData* instead of ExecState* to the InternalFunction constructor. (JSC::constructFunction): Pass the global data pointer when constructing a new scope chain.
  • kjs/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): Take a JSGlobalData* instead of an ExecState*. Later we can change more places to work this way -- it's more efficient to take the type you need since the caller might already have it.
  • kjs/InternalFunction.h: Ditto.
  • kjs/JSCell.h: (JSC::JSCell::operator new): Added an overload that takes a JSGlobalData* so you can construct without an ExecState*.
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): Moved creation of the global scope chain in here, since it now requires a pointer to the global data. Moved the initialization of the call frame in here since it requires the global scope chain node. Removed the extra argument to ExecState when creating the global ExecState*.
  • kjs/JSGlobalObject.h: Removed initialization of globalScopeChain and the call frame from the JSGlobalObjectData constructor. Added a thisValue argument to the init function.
  • kjs/JSNumberCell.cpp: Added versions of jsNumberCell that take JSGlobalData* rather than ExecState*.
  • kjs/JSNumberCell.h: (JSC::JSNumberCell::operator new): Added a version that takes JSGlobalData*. (JSC::JSNumberCell::JSNumberCell): Ditto. (JSC::jsNumber): Ditto.
  • kjs/JSString.cpp: (JSC::jsString): Ditto. (JSC::jsSubstring): Ditto. (JSC::jsOwnedString): Ditto.
  • kjs/JSString.h: (JSC::JSString::JSString): Changed to take JSGlobalData*. (JSC::jsEmptyString): Added a version that takes JSGlobalData*. (JSC::jsSingleCharacterString): Ditto. (JSC::jsSingleCharacterSubstring): Ditto. (JSC::jsNontrivialString): Ditto. (JSC::JSString::getIndex): Ditto. (JSC::jsString): Ditto. (JSC::jsSubstring): Ditto. (JSC::jsOwnedString): Ditto.
  • kjs/ScopeChain.h: Added a globalData pointer to each node. (JSC::ScopeChainNode::ScopeChainNode): Initialize the globalData pointer. (JSC::ScopeChainNode::push): Set the global data pointer in the new node. (JSC::ScopeChain::ScopeChain): Take a globalData argument.
  • kjs/SmallStrings.cpp: (JSC::SmallStrings::createEmptyString): Take JSGlobalData* instead of ExecState*. (JSC::SmallStrings::createSingleCharacterString): Ditto.
  • kjs/SmallStrings.h: (JSC::SmallStrings::emptyString): Ditto. (JSC::SmallStrings::singleCharacterString): Ditto.

WebCore:

2008-10-03 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

Remove m_globalObject and m_globalData from ExecState.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData): Removed an argument now that JSGlobalObject doesn't need it any more. (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from the JSDOMWindowBaseData constructor, and added the this argument to the JSGlobalObject constructor. This is because a couple key bits of initialization moved from the data constructor to the JSGlobalObject constructor.
  • bindings/js/JSDOMWindowBase.h: Ditto.
  • bridge/qt/qt_runtime.cpp: (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
  • bridge/runtime_method.cpp: (JSC::RuntimeMethod::RuntimeMethod): Pass JSGlobalData* instead of ExecState* to the InternalFunction constructor.
2:34 PM Changeset in webkit [37256] by Simon Fraser
  • 1 edit
    2 adds in trunk/LayoutTests

2008-10-03 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

Testcase for "white-space: -webkit-nowrap" only being converted to
"white-space: nowrap" on <td> and <th> now, not any element with a table-cell
dispay type.

See https://bugs.webkit.org/show_bug.cgi?id=21287#c3

  • fast/table/td-display-nowrap-expected.txt: Added.
  • fast/table/td-display-nowrap.html: Added.
2:34 PM Changeset in webkit [37255] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Reviewed by David Hyatt.

More plug-in stream cleanup.


  • Plugins/WebBaseNetscapePluginStream.h: (WebNetscapePluginStream::create): (WebNetscapePluginStream::WebNetscapePluginStream):
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream initWithFrameLoader:]): (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream dealloc]): (-[WebBaseNetscapePluginStream finalize]): (-[WebBaseNetscapePluginStream setPlugin:]): (WebNetscapePluginStream::setPlugin): (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): (-[WebBaseNetscapePluginStream _destroyStream]):
2:16 PM Changeset in webkit [37254] by hyatt@apple.com
  • 19 edits in trunk

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

Fix Windows/Qt build bustage.

Reviewed by ggaren

  • loader/EmptyClients.h: (WebCore::EmptyChromeClient::platformWindow):
  • page/Chrome.cpp: (WebCore::Chrome::platformWindow):
  • page/Chrome.h:
  • page/ChromeClient.h:
  • platform/HostWindow.h:
  • platform/qt/PlatformScreenQt.cpp: (WebCore::screenDepth): (WebCore::screenDepthPerComponent): (WebCore::screenIsMonochrome): (WebCore::screenRect): (WebCore::screenAvailableRect):
  • platform/qt/PopupMenuQt.cpp: (WebCore::PopupMenu::show):
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::show): (WebCore::PopupMenu::calculatePositionAndSize): (WebCore::PopupWndProc):
1:56 PM Changeset in webkit [37253] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Geoff Garen.

Bug 21343: REGRESSSION (r37160): ecma_3/ExecutionContexts/10.1.3-1.js and js1_4/Functions/function-001.js fail on 64-bit
<https://bugs.webkit.org/show_bug.cgi?id=21343>

Add a workaround for a bug in GCC, which affects GCC 4.0, GCC 4.2, and
llvm-gcc 4.2. I put it in an #ifdef because it was a slight regression
on SunSpider in 32-bit, although that might be entirely random.

  • kjs/Arguments.cpp: (JSC::Arguments::getOwnPropertySlot):
1:20 PM Changeset in webkit [37252] by Simon Fraser
  • 46 edits in trunk/WebCore

2008-10-03 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

Make setStyle() take a const RenderStyle, to ensure that an
earlier RenderStyle::diff() remains valid.

1:10 PM Changeset in webkit [37251] by hyatt@apple.com
  • 10 edits in trunk/WebCore

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

Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar
event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new
method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
that will work properly for hit testing. This patch just stubs out that method to return the same
event untransformed.

Reviewed by Darin Adler

  • page/EventHandler.cpp: (WebCore::EventHandler::handleMouseDoubleClickEvent): (WebCore::EventHandler::handleMouseMoveEvent): (WebCore::EventHandler::handleMouseReleaseEvent): (WebCore::EventHandler::passMousePressEventToScrollbar):
  • page/gtk/EventHandlerGtk.cpp:
  • page/mac/EventHandlerMac.mm:
  • page/qt/EventHandlerQt.cpp:
  • page/win/EventHandlerWin.cpp:
  • page/wx/EventHandlerWx.cpp:
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::mouseMoved): (WebCore::Scrollbar::mouseExited): (WebCore::Scrollbar::mouseUp): (WebCore::Scrollbar::mouseDown): (WebCore::Scrollbar::transformEvent):
  • platform/Scrollbar.h:
1:00 PM Changeset in webkit [37250] by Simon Fraser
  • 1 edit
    6 adds in trunk/LayoutTests

2008-10-03 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyat

Clean up code that changes the RenderStyle passed in to
table renderer setStyle() methods.

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

  • fast/table/floating-th.html: Added.
  • fast/table/table-display-types-strict.html: Added.
  • fast/table/table-display-types.html: Added.
  • platform/mac/fast/table/floating-th-expected.txt: Added.
  • platform/mac/fast/table/table-display-types-expected.txt: Added.
  • platform/mac/fast/table/table-display-types-strict-expected.txt: Added.
12:17 PM Changeset in webkit [37249] by hyatt@apple.com
  • 12 edits in trunk

WebCore:

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

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


Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.


Reviewed by Dan Bernstein & Darin Adler


  • platform/ScrollView.cpp: (WebCore::ScrollView::addChild):
  • platform/Widget.cpp: (WebCore::Widget::init):
  • platform/Widget.h:
  • platform/mac/WidgetMac.mm:
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::show):

WebKit/gtk:

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

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


Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.

Reviewed by Dan Bernstein & Darin Adler


  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):

WebKit/win:

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

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


Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.


Reviewed by Dan Bernstein & Darin Adler

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::transitionToCommittedForNewPage):
  • WebScrollBar.cpp: (WebScrollBar::WebScrollBar): (WebScrollBar::init): (WebScrollBar::invalidateScrollbarRect):
  • WebScrollBar.h:
12:06 PM Changeset in webkit [37248] by adele@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Sam Weinig.

  • css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if settings is nil.
12:00 PM Changeset in webkit [37247] by rwlbuis@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by Darin.

https://bugs.webkit.org/show_bug.cgi?id=20134
REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)

Make sure the input element gets the right default value when no value is set.

Test: fast/forms/range-default-value.html

11:50 AM Changeset in webkit [37246] by hyatt@apple.com
  • 3 edits in trunk/WebKit/qt

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

Fix scroll method on Qt. The delta was supposed to use .width()/.height() and not .x()/.y().

Fix the QtPluginWidget to do an invalidate properly.

Reviewed by ggaren

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::scroll):
  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::):
11:42 AM Changeset in webkit [37245] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/win/WidgetWin.cpp

Remove commented out method.

11:29 AM Changeset in webkit [37244] by hyatt@apple.com
  • 9 edits
    1 delete in trunk/WebCore

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

Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
destructor that calls them, switch to having a cross-platform constructor/destructor that calls
platform-specific init/destroy methods.

With this change, ScrollViewWin.cpp can be removed from the build (yay!).

Reviewed by Darin Adler

  • WebCore.vcproj/WebCore.vcproj:
  • platform/ScrollView.cpp: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::~ScrollView): (WebCore::ScrollView::platformInit): (WebCore::ScrollView::platformDestroy): (WebCore::ScrollView::platformAddChild): (WebCore::ScrollView::platformRemoveChild):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::platformInit): (WebCore::ScrollView::platformDestroy):
  • platform/mac/ScrollViewMac.mm:
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::platformInit): (WebCore::ScrollView::platformDestroy):
  • platform/win/ScrollViewWin.cpp: Removed.
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformInit): (WebCore::ScrollView::platformDestroy): (WebCore::ScrollView::setPlatformWidget):
11:13 AM Changeset in webkit [37243] by adele@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Dan Bernstein.

Fix for <rdar://problem/6012018>
https://bugs.webkit.org/show_bug.cgi?id=21335
CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8

  • css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
10:27 AM Changeset in webkit [37242] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-10-03 Darin Adler <Darin Adler>

Rubber stamped by Alexey Proskuryakov.

  • kjs/Shell.cpp: (main): Don't delete JSGlobalData. Later, we need to change this tool to use public JavaScriptCore API instead.
10:01 AM Changeset in webkit [37241] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>

Build fix. Remove addToDirtyRegion from the header file.

  • WebCoreSupport/ChromeClientQt.h:
9:09 AM Changeset in webkit [37240] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-10-03 Darin Adler <Darin Adler>

Suggested by Alexey Proskuryakov.

  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::~JSGlobalData): Remove call to heap.destroy() because it's too late to ref the JSGlobalData object once it's already being destroyed. In practice this is not a problem because WebCore's JSGlobalData is never destroyed and JSGlobalContextRelease takes care of calling heap.destroy() in advance.
9:02 AM Changeset in webkit [37239] by Simon Hausmann
  • 5 edits in trunk

2008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>

Build fix.

  • platform/qt/WidgetQt.cpp: (WebCore::Widget::invalidateRect):

2008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>

Build fix.

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::scroll):
  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::): (WebCore::FrameLoaderClientQt::createPlugin):
6:36 AM Changeset in webkit [37238] by alp@webkit.org
  • 6 edits in trunk

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

Remove some left-over GTK+ includes. No change in functionality.

5:59 AM Changeset in webkit [37237] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

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

Build fix following r37234. Remove addToDirtyRegion from the header
too.

  • WebCoreSupport/ChromeClientGtk.h:
5:38 AM Changeset in webkit [37236] by alp@webkit.org
  • 2 edits in trunk/WebCore

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

Build fix for trailing comment after #endif

  • dom/ElementRareData.h:
4:11 AM Changeset in webkit [37235] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Replace SSE3 check with an SSE2 check, and implement SSE2 check on windows.

Reviewed by Maciej Stachowiak

5.6% win on SunSpider on windows.

2:03 AM Changeset in webkit [37234] by hyatt@apple.com
  • 19 edits in trunk

WebCore:

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

Remove addToDirtyRegion.


Reviewed by Oliver Hunt

  • page/Chrome.cpp:
  • page/Chrome.h:
  • page/ChromeClient.h:
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:

WebKit/gtk:

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

Remove addToDirtyRegion.


Reviewed by Oliver Hunt

  • WebCoreSupport/ChromeClientGtk.cpp:

WebKit/mac:

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

Remove addToDirtyRegion.


Reviewed by Oliver Hunt


  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

WebKit/qt:

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

Remove addToDirtyRegion.


Reviewed by Oliver Hunt

  • WebCoreSupport/ChromeClientQt.cpp:

WebKit/win:

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

Remove addToDirtyRegion.


Reviewed by Oliver Hunt

  • WebCoreSupport/WebChromeClient.cpp:

WebKit/wx:

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

Remove addToDirtyRegion.


Reviewed by Oliver Hunt

  • WebKitSupport/ChromeClientWx.cpp:
2:00 AM Changeset in webkit [37233] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Maciej Stachowiak.

  • fix a CachedResource leak introduced in r37176

Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
afterwards bail out of the outer pruneDeadResources().

  • loader/Cache.cpp: (WebCore::Cache::Cache): (WebCore::Cache::pruneDeadResources): (WebCore::Cache::remove):
  • loader/Cache.h:
1:50 AM Changeset in webkit [37232] by hyatt@apple.com
  • 4 edits in trunk/WebCore

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

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

Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
scrollbars.


Reviewed by Oliver Hunt

  • platform/ScrollView.cpp: (WebCore::ScrollView::setHasHorizontalScrollbar): (WebCore::ScrollView::setHasVerticalScrollbar): (WebCore::ScrollView::platformHasHorizontalAdjustment): (WebCore::ScrollView::platformHasVerticalAdjustment):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::adjustmentChanged): (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::~ScrollView): (WebCore::ScrollView::setGtkAdjustments): (WebCore::ScrollView::platformHandleHorizontalAdjustment): (WebCore::ScrollView::platformHandleVerticalAdjustment):
1:15 AM Changeset in webkit [37231] by jchaffraix@webkit.org
  • 4 edits in trunk/WebCore

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

Reviewed by Maciej Stachowiak.

Bug 21106: .in format discussed changes
https://bugs.webkit.org/show_bug.cgi?id=21106

Change "upperCase" to "interfaceName" per-tag parameter as
discussed on the mailing list. Removed the per-attribute version
as it was not used.

Also add the "Element" suffix to all interfaceName parameter to match
the class name (and thus remove it from make_names.pl).

  • dom/make_names.pl:
  • html/HTMLTagNames.in:
  • svg/svgtags.in:
12:52 AM Changeset in webkit [37230] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp

Another speculative Gtk scrolling fix.

12:52 AM Changeset in webkit [37229] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp

Another speculative Gtk scrolling fix.

12:51 AM Changeset in webkit [37228] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp

Another speculative Gtk scrolling fix.

12:47 AM Changeset in webkit [37227] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Rubber stamped by Cameron Zwarich.


fix mistaken change of | to
which caused a big perf regression on EarleyBoyer
  • kjs/grammar.y:
12:44 AM Changeset in webkit [37226] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.h

Fix Qt bustage.

12:41 AM Changeset in webkit [37225] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp

Speculative fix for gtk not painting on scroll.

12:38 AM Changeset in webkit [37224] by hyatt@apple.com
  • 4 edits in trunk/WebCore

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

Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
Hopefully this is a temporary hack that could eventually be removed.

Reviewed by Sam Weinig

  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollContents):
  • platform/ScrollView.h: (WebCore::ScrollView::rootPreventsBlitting):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::~ScrollView): (WebCore::ScrollView::platformAddChild): (WebCore::ScrollView::platformRemoveChild):
12:06 AM Changeset in webkit [37223] by hyatt@apple.com
  • 31 edits in trunk

WebCore:

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

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


Make widget invalidation more cross-platform.


(1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.


(2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.


(3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.


(4) FrameViews now do a repaintRectangle on their owner element's renderer.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameView::invalidateRect): (WebCore::FrameView::invalidateScrollbarRect):
  • page/FrameView.h:
  • platform/PopupMenu.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollContents):
  • platform/ScrollView.h:
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::setEnabled): (WebCore::Scrollbar::invalidateRect):
  • platform/Scrollbar.h:
  • platform/ScrollbarClient.h:
  • platform/Widget.h:
  • platform/gtk/WidgetGtk.cpp:
  • platform/mac/WidgetMac.mm:
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::invalidateScrollbarRect):
  • platform/win/WidgetWin.cpp:
  • plugins/PluginView.cpp: (WebCore::PluginView::invalidateTimerFired): (WebCore::PluginView::invalidateWindowlessPluginRect):
  • plugins/PluginView.h:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::invalidateRect):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::invalidateRect):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::invalidateRect): (WebCore::PluginView::invalidateRegion):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::invalidateScrollbarRect):
  • rendering/RenderLayer.h:
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintObject): (WebCore::RenderListBox::paintScrollbar): (WebCore::RenderListBox::invalidateScrollbarRect):
  • rendering/RenderListBox.h:

WebKit/mac:

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

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


Make widget invalidation more cross-platform.


(1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.


(2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.


(3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.


(4) FrameViews now do a repaintRectangle on their owner element's renderer.

Reviewed by Sam Weinig

  • WebCoreSupport/WebFrameLoaderClient.mm: (PluginWidget::PluginWidget): (PluginWidget::invalidateRect): (NetscapePluginWidget::NetscapePluginWidget): (WebFrameLoaderClient::createPlugin):

WebKit/win:

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

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


Make widget invalidation more cross-platform.


(1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.


(2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.


(3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.


(4) FrameViews now do a repaintRectangle on their owner element's renderer.

Reviewed by Sam Weinig

  • WebCoreSupport/EmbeddedWidget.cpp: (EmbeddedWidget::invalidateRect):
  • WebCoreSupport/EmbeddedWidget.h:
  • WebScrollBar.cpp: (WebScrollBar::invalidateScrollbarRect):
  • WebScrollBar.h:

Oct 2, 2008:

11:20 PM Changeset in webkit [37222] by mitz@apple.com
  • 5 edits
    2 adds in trunk

WebCore:

Reviewed by Geoffrey Garen and Sam Weinig.

  • fix SVGFontFaceElement leaks seen in Acid3
  • make font-face elements take effect only when they are in the document tree

Test: svg/custom/font-face-not-in-document.svg

  • svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a RefPtr to a plain pointer to break a ref cycle. (WebCore::SVGFontData::svgFontFaceElement):
  • svg/SVGFontFaceElement.cpp: Changed to insert and remove the @font-face rule from the document's mapped element sheet when the element is inserted and removed from the document, and to update it only when the element is in the document. (WebCore::SVGFontFaceElement::SVGFontFaceElement): (WebCore::SVGFontFaceElement::parseMappedAttribute): (WebCore::SVGFontFaceElement::rebuildFontFace): (WebCore::SVGFontFaceElement::insertedIntoDocument): (WebCore::SVGFontFaceElement::removedFromDocument): (WebCore::SVGFontFaceElement::childrenChanged): (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
  • svg/SVGFontFaceElement.h:

LayoutTests:

Reviewed by Geoffrey Garen and Sam Weinig.

  • svg/custom/font-face-not-in-document-expected.txt: Added.
  • svg/custom/font-face-not-in-document.svg: Added.
6:59 PM Changeset in webkit [37221] by mrowe@apple.com
  • 2 edits in branches/Safari-3-2-branch/JavaScriptCore

Merge r31824.

5:43 PM Changeset in webkit [37220] by Simon Fraser
  • 6 edits in trunk/WebCore

2008-10-01 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

Fix RenderFileUploadControl::setStyle() and
RenderMenuList::setStyle() to not touch the style; replace
with html4.css and CSSStyleSelector changes.

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

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle):
  • css/html4.css:
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::setStyle):
  • rendering/RenderFileUploadControl.cpp:
  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle):
5:41 PM Changeset in webkit [37219] by Simon Fraser
  • 7 edits in trunk

2008-10-01 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

Clean up code that changes the RenderStyle passed in to
table renderer setStyle() methods.

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

Tests: fast/table/floating-th.html

fast/table/table-display-types-strict.html
fast/table/table-display-types.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::setStyle):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::setStyle):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::setStyle):
5:28 PM Changeset in webkit [37218] by Darin Adler
  • 2 edits in trunk/WebCore

2008-10-02 Darin Adler <Darin Adler>

  • fix build
  • bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too. Not just locally in my generated file!
5:25 PM Changeset in webkit [37217] by adele@apple.com
  • 15 edits in trunk

WebCore:

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

Reviewed by Dan Bernstein.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
REGRESSION: <input> color specified in inline style applies to placeholder

I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element
is more appropriate. This change adds "-webkit-input-placeholder".

  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added definition for "-webkit-input-placeholder" pseudo element.
  • css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added case for PseudoInputPlaceholder.
  • css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
  • rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility. (WebCore::HTMLInputElement::setValueFromRenderer): ditto. (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer. setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible. (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so the text will be updated correctly.
  • rendering/RenderTextControl.h:

LayoutTests:

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

Reviewed by Dan Bernstein.

Update tests for https://bugs.webkit.org/show_bug.cgi?id=21299
REGRESSION: <input> color specified in inline style applies to placeholder

  • fast/forms/placeholder-pseudo-style.html:
  • platform/mac/fast/forms/password-placeholder-expected.txt:
  • platform/mac/fast/forms/password-placeholder-text-security-expected.txt:
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/mac/fast/forms/placeholder-set-attribute-expected.txt:
4:59 PM Changeset in webkit [37216] by Chris Fleizach
  • 6 edits in trunk

<rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables

4:48 PM Changeset in webkit [37215] by Darin Adler
  • 20 edits in trunk

JavaScriptCore:

2008-10-02 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

1.019x as fast on SunSpider.

  • API/JSBase.cpp: (JSEvaluateScript): Use heap. instead of heap-> to work with the heap. (JSCheckScriptSyntax): Ditto. (JSGarbageCollect): Ditto. (JSReportExtraMemoryCost): Ditto.
  • API/JSContextRef.cpp: (JSGlobalContextRetain): Ditto. (JSGlobalContextRelease): Destroy the heap with the destroy function instead of the delete operator. (JSContextGetGlobalObject): Use heap. instead of heap-> to work with the heap.
  • API/JSObjectRef.cpp: (JSObjectMake): Use heap. instead of heap-> to work with the heap. (JSObjectMakeFunctionWithCallback): Ditto. (JSObjectMakeConstructor): Ditto. (JSObjectMakeFunction): Ditto. (JSObjectMakeArray): Ditto. (JSObjectMakeDate): Ditto. (JSObjectMakeError): Ditto. (JSObjectMakeRegExp): Ditto. (JSObjectHasProperty): Ditto. (JSObjectGetProperty): Ditto. (JSObjectSetProperty): Ditto. (JSObjectGetPropertyAtIndex): Ditto. (JSObjectSetPropertyAtIndex): Ditto. (JSObjectDeleteProperty): Ditto. (JSObjectCallAsFunction): Ditto. (JSObjectCallAsConstructor): Ditto. (JSObjectCopyPropertyNames): Ditto. (JSPropertyNameAccumulatorAddName): Ditto.
  • API/JSValueRef.cpp: (JSValueIsEqual): Ditto. (JSValueIsInstanceOfConstructor): Ditto. (JSValueMakeNumber): Ditto. (JSValueMakeString): Ditto. (JSValueToNumber): Ditto. (JSValueToStringCopy): Ditto. (JSValueToObject): Ditto. (JSValueProtect): Ditto. (JSValueUnprotect): Ditto.
  • kjs/ExecState.h: (JSC::ExecState::heap): Update to use the & operator.
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): Update to initialize a heap member instead of calling new to make a heap. (JSC::JSGlobalData::~JSGlobalData): Destroy the heap with the destroy function instead of the delete operator.
  • kjs/JSGlobalData.h: Change from Heap* to a Heap.
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::mark): Use the & operator here. (JSC::JSGlobalObject::operator new): Use heap. instead of heap-> to work with the heap.

WebCore:

2008-10-02 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

  • bindings/js/GCController.cpp: (WebCore::collect): Use heap. instead of heap-> to work with the heap. (WebCore::GCController::gcTimerFired): Ditto. (WebCore::GCController::garbageCollectNow): Ditto.
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::operator new): Ditto.
  • storage/Database.cpp: (WebCore::Database::Database): Ditto.

WebKit/mac:

2008-10-02 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

  • Misc/WebCoreStatistics.mm: (+[WebCoreStatistics javaScriptObjectsCount]): Use heap. instead of heap-> to work with the heap. (+[WebCoreStatistics javaScriptGlobalObjectsCount]): Ditto. (+[WebCoreStatistics javaScriptProtectedObjectsCount]): Ditto. (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): Ditto. (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): Ditto. (+[WebCoreStatistics javaScriptReferencedObjectsCount]): Ditto.

WebKit/win:

2008-10-02 Darin Adler <Darin Adler>

  • WebCoreStatistics.cpp: (WebCoreStatistics::javaScriptObjectsCount): Use heap. instead of heap-> to work with the heap. (WebCoreStatistics::javaScriptGlobalObjectsCount): Ditto. (WebCoreStatistics::javaScriptProtectedObjectsCount): Ditto. (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount): Ditto. (WebCoreStatistics::javaScriptProtectedObjectTypeCounts): Ditto.
  • WebJavaScriptCollector.cpp: (WebJavaScriptCollector::objectCount): Ditto.
4:05 PM Changeset in webkit [37214] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix Gtk bustage.

3:19 PM Changeset in webkit [37213] by cwzwarich@webkit.org
  • 5 edits in trunk/JavaScriptCore

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

Reviewed by Geoff Garen.

Bug 21317: Replace RegisterFile size and capacity information with Register pointers
<https://bugs.webkit.org/show_bug.cgi?id=21317>

This is a 2.3% speedup on the V8 DeltaBlue benchmark, a 3.3% speedup on
the V8 Raytrace benchmark, and a 1.0% speedup on SunSpider.

  • VM/Machine.cpp: (JSC::slideRegisterWindowForCall): (JSC::Machine::callEval): (JSC::Machine::execute): (JSC::Machine::privateExecute): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_construct_JSConstruct):
  • VM/RegisterFile.cpp: (JSC::RegisterFile::~RegisterFile):
  • VM/RegisterFile.h: (JSC::RegisterFile::RegisterFile): (JSC::RegisterFile::start): (JSC::RegisterFile::end): (JSC::RegisterFile::size): (JSC::RegisterFile::shrink): (JSC::RegisterFile::grow): (JSC::RegisterFile::lastGlobal): (JSC::RegisterFile::markGlobals): (JSC::RegisterFile::markCallFrames):
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::copyGlobalsTo):
2:54 PM Changeset in webkit [37212] by adele@apple.com
  • 8 edits in trunk/LayoutTests

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

Update results for mac-tiger.

  • platform/mac-tiger/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
  • platform/mac-tiger/svg/hixie/perf/001-expected.txt:
  • platform/mac-tiger/svg/hixie/perf/002-expected.txt:
  • platform/mac-tiger/svg/hixie/text/003-expected.txt:
  • platform/mac-tiger/svg/hixie/text/003a-expected.txt:
  • platform/mac-tiger/svg/hixie/viewbox/preserveAspectRatio/002-expected.txt:
  • platform/mac-tiger/svg/text/text-path-01-b-expected.txt:
2:33 PM Changeset in webkit [37211] by hyatt@apple.com
  • 2 edits in trunk/WebKit/win

Fix scrolling=no iframe regression on Windows.

2:03 PM Changeset in webkit [37210] by hyatt@apple.com
  • 2 edits in trunk/WebKit/win

Fix Win build bustage.

1:46 PM Changeset in webkit [37209] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Alexey Proskuryakov.

  • fix a Database leak that resulted in Document leaks
  • storage/Database.cpp: (WebCore::Database::openDatabase): Account for the fact that RefCounted objects start out with a ref count of 1.
1:29 PM Changeset in webkit [37208] by weinig@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Mr. Geoffrey Garen.

Always mark your parent before marking members.

  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::mark):
1:26 PM Changeset in webkit [37207] by Adam Roben
  • 2 edits in trunk/BugsSite
  • template/en/custom/attachment/reviewform.html.tmpl: Fix typo.
1:23 PM Changeset in webkit [37206] by Adam Roben
  • 2 edits in trunk/BugsSite
  • template/en/custom/attachment/review.html.tmpl: Fix URLs
1:21 PM Changeset in webkit [37205] by Adam Roben
  • 3 edits
    2 adds in trunk/BugsSite

Fix Bug 21315: bugs.webkit.org should have a nicer patch review interface

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

Reviewed by Tim Hatcher.

  • attachment.cgi: (top level): Added support for the "review" and "reviewform" actions. (sub edit): Accept the template name as a parameter. If no name is give, use "edit" as before.
  • template/en/custom/attachment/list.html.tmpl: Added a "Review Patch" link for all patch attachments.
  • template/en/custom/attachment/review.html.tmpl: Added. Simple <frameset> page to show the patch on the top and a comment form on the bottom.
  • template/en/custom/attachment/reviewform.html.tmpl: Added. Simple comment form for reviewing patches.
1:17 PM Changeset in webkit [37204] by hyatt@apple.com
  • 26 edits in trunk

WebCore:

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

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


Make scrollBackingStore cross-platform.

Reviewed by Sam Weinig

  • loader/EmptyClients.h: (WebCore::EmptyChromeClient::repaint): (WebCore::EmptyChromeClient::scroll):
  • page/Chrome.cpp: (WebCore::Chrome::repaint): (WebCore::Chrome::scroll):
  • page/Chrome.h:
  • page/ChromeClient.h:
  • page/EventHandler.cpp: (WebCore::EventHandler::handleAutoscroll):
  • platform/HostWindow.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollContents): (WebCore::ScrollView::addPanScrollIcon): (WebCore::ScrollView::removePanScrollIcon):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::~ScrollView):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::~ScrollView):

WebKit/gtk:

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

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


Make scrollBackingStore cross-platform.

Reviewed by Sam Weinig

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::repaint): (WebKit::ChromeClient::scroll):
  • WebCoreSupport/ChromeClientGtk.h:

WebKit/mac:

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

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


Make scrollBackingStore cross-platform.

Reviewed by Sam Weinig

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::repaint): (WebChromeClient::scroll):

WebKit/qt:

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

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


Make scrollBackingStore cross-platform.

Reviewed by Sam Weinig

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::repaint): (WebCore::ChromeClientQt::scroll):
  • WebCoreSupport/ChromeClientQt.h:

WebKit/win:

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

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


Make scrollBackingStore cross-platform.

Reviewed by Sam Weinig

  • WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::repaint): (WebChromeClient::scroll):
  • WebCoreSupport/WebChromeClient.h:
  • WebView.cpp: (WebView::repaint):
  • WebView.h:
12:59 PM Changeset in webkit [37203] by kevino@webkit.org
  • 5 edits in trunk

wx build fixes after Frame/ScrollView changes.

12:33 PM Changeset in webkit [37202] by brettw@chromium.org
  • 92 edits in trunk

Reviewed by Sam Weinig.

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

Revert the changes to enclosingIntRect made in r12530 since the new code
doesn't round correctly.

11:48 AM Changeset in webkit [37201] by mitz@apple.com
  • 4 edits in trunk/WebCore

Reviewed by Anders Carlsson and Eric Seidel.

  • fix HTMLCanvaseElement leak from -webkit-canvas() values

Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
pointer, as the document owns the canvas elements. Added code to release
those elements in Document::removedLastRef() because they reference
the document.

  • css/CSSCanvasValue.cpp: (WebCore::CSSCanvasValue::element):
  • css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::CSSCanvasValue):
  • dom/Document.cpp: (WebCore::Document::removedLastRef):
11:40 AM Changeset in webkit [37200] by ap@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

A typo fix for ChangeLog.

11:39 AM Changeset in webkit [37199] by ap@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Maciej Stachowiak.

Build fix for platform that don't implement WTF::ThreadSpecific.

  • bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet): Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this code is only needed for JS bindings in worker threads.
11:23 AM Changeset in webkit [37198] by hyatt@apple.com
  • 23 edits in trunk

WebCore:

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

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


Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
will make that cross-platform.


The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).


Reviewed by Sam Weinig

  • page/FrameView.cpp: (WebCore::FrameView::windowClipRect): (WebCore::FrameView::isActive):
  • page/FrameView.h: (WebCore::FrameView::visibleContentsResized):
  • platform/PopupMenu.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::init): (WebCore::ScrollView::destroy): (WebCore::ScrollView::setHasHorizontalScrollbar): (WebCore::ScrollView::setHasVerticalScrollbar): (WebCore::ScrollView::valueChanged): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollContents): (WebCore::ScrollView::platformHandleHorizontalAdjustment): (WebCore::ScrollView::platformHandleVerticalAdjustment):
  • platform/ScrollView.h:
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::windowClipRect):
  • platform/ScrollbarClient.h:
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::platformHandleHorizontalAdjustment): (WebCore::ScrollView::platformHandleVerticalAdjustment):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::scrollContents):
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::windowClipRect):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::scrollContents):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::windowClipRect):
  • rendering/RenderLayer.h:
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::panScroll): (WebCore::RenderListBox::windowClipRect):
  • rendering/RenderListBox.h:

WebKit/win:

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

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


Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
will make that cross-platform.


The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).

Reviewed by Sam Weinig

  • WebScrollBar.cpp: (WebScrollBar::windowClipRect):
  • WebScrollBar.h:
10:54 AM Changeset in webkit [37197] by sfalken@apple.com
  • 2 edits in branches/Safari-3-2-branch/WebKit/win

Merge r31212 for fix <rdar://problem/6168976> visitCount not updated in History.plist

10:03 AM Changeset in webkit [37196] by Adam Roben
  • 2 edits
    2 deletes in trunk/BugsSite

Remove references to some backup files I created when implementing PrettyPatch in Bugzilla

Reviewed by Tim Hatcher.

  • attachment-aroben.cgi: Removed.
  • template/en/default/attachment/edit-aroben.html.tmpl: Removed.
  • template/en/custom/attachment/edit.html.tmpl: Removed an erroneous reference to attachment-aroben.cgi. attachment.cgi will work just fine.
10:00 AM Changeset in webkit [37195] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

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

Rubber-stamped by Darin Adler.

Change bitwise operations introduced in r37166 to boolean operations. We
only use bitwise operations over boolean operations for increasing
performance in extremely hot code, but that does not apply to anything
in the parser.

  • kjs/grammar.y:
9:45 AM Changeset in webkit [37194] by barraclough@apple.com
  • 6 edits
    3 adds in trunk

JavaScriptCore:

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

Reviewed by Darin Adler.

Fix for bug #21232 - should reset m_isPendingDash on flush,
and should allow '\-' as beginning or end of a range (though
not to specifiy a range itself).

  • ChangeLog:
  • wrec/CharacterClassConstructor.cpp: (JSC::CharacterClassConstructor::put): (JSC::CharacterClassConstructor::flush):
  • wrec/CharacterClassConstructor.h: (JSC::CharacterClassConstructor::flushBeforeEscapedHyphen):
  • wrec/WREC.cpp: (JSC::WRECGenerator::generateDisjunction): (JSC::WRECParser::parseCharacterClass): (JSC::WRECParser::parseDisjunction):
  • wrec/WREC.h:

LayoutTests:

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

Reviewed by Darin Adler.

Layout tests for for bug #21232 - plus a range of tests for, um, ranges.

  • fast/js/regexp-ranges-and-escaped-hyphens-expected.txt: Added.
  • fast/js/regexp-ranges-and-escaped-hyphens.html: Added.
  • fast/js/resources/regexp-ranges-and-escaped-hyphens.js: Added.
9:45 AM Changeset in webkit [37193] by ap@webkit.org
  • 1 edit in trunk/JavaScriptCore/JavaScriptCore.exp

Forgot to land JavaScriptCore.exp with the previous check-in.

9:39 AM Changeset in webkit [37192] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-10-02 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • remove the "static" from declarations in a header file, since we don't want them to have internal linkage
  • VM/Machine.h: Remove the static keyword from the constant and the three inline functions that Geoff just moved here.
9:22 AM Changeset in webkit [37191] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Sam Weinig.


Fixed https://bugs.webkit.org/show_bug.cgi?id=21283.
Profiler Crashes When Started

  • VM/Machine.cpp:
  • VM/Machine.h: (JSC::makeHostCallFramePointer): (JSC::isHostCallFrame): (JSC::stripHostCallFrameBit): Moved some things to the header so JSGlobalObject could use them.
  • kjs/JSGlobalObject.h: (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData): Call the new makeHostCallFramePointer API, since 0 no longer indicates a host call frame.
9:18 AM Changeset in webkit [37190] by ap@webkit.org
  • 35 edits
    2 deletes in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21304
Stop using a static wrapper map for WebCore JS bindings

The static domObjects map was not thread safe.

  • dom/Document.h: (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message ports. (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
  • dom/Document.cpp: (WebCore::Document::createdXMLHttpRequest): (WebCore::Document::destroyedXMLHttpRequest): Moved XMLHttpRequest tracking from a global map to Document.
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • webcore-base.bkl:
  • bindings/DOMProtect.cpp: Removed.
  • bindings/DOMProtect.h: Removed. Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference, so they can no longer protect bindings objects.
  • dom/MessagePort.cpp: (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): (WebCore::CloseMessagePortTimer::fired): (WebCore::MessagePort::MessagePort): (WebCore::MessagePort::queueCloseEvent): (WebCore::MessagePort::setPendingActivity): (WebCore::MessagePort::unsetPendingActivity):
  • dom/MessagePort.h: (WebCore::MessagePort::hasPendingActivity): MessagePort now counts outstanding async events, so JSDocument::mark can decide whether to protect it.
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::hasPendingActivity):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::~XMLHttpRequest): (WebCore::XMLHttpRequest::loadRequestAsynchronously): (WebCore::XMLHttpRequest::dropProtection): (WebCore::XMLHttpRequest::didFinishLoadingPreflight): (WebCore::XMLHttpRequest::cancelRequests): (WebCore::XMLHttpRequest::detachRequests): (WebCore::XMLHttpRequest::setPendingActivity): (WebCore::XMLHttpRequest::unsetPendingActivity): Moved XMLHttpRequest tracking from a global map to Document.
  • bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet): (WebCore::DOMObjectWrapperMap::mapFor): (WebCore::DOMObjectWrapperMap::get): (WebCore::DOMObjectWrapperMap::set): (WebCore::DOMObjectWrapperMap::remove): (WebCore::getCachedDOMObjectWrapper): (WebCore::cacheDOMObjectWrapper): (WebCore::forgetDOMObject): (WebCore::getCachedDOMNodeWrapper): (WebCore::forgetDOMNode): (WebCore::cacheDOMNodeWrapper): (WebCore::markActiveObjectsForDocument):
  • bindings/js/JSDOMBinding.h: (WebCore::createDOMObjectWrapper): (WebCore::getDOMObjectWrapper): Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug). WebCore objects can never migrate between threads.
  • bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark): Call markActiveObjectsForDocument() from JSDOMBinding.
  • bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJS):
  • bindings/js/JSCSSValueCustom.cpp: (WebCore::toJS):
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::markDOMObjectWrapper): (WebCore::JSDOMWindow::mark):
  • bindings/js/JSEventCustom.cpp: (WebCore::toJS):
  • bindings/js/JSEventTarget.cpp: (WebCore::toJS):
  • bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJS):
  • bindings/js/JSImageDataCustom.cpp: (WebCore::toJS):
  • bindings/js/JSMessageChannelCustom.cpp: (WebCore::JSMessageChannel::mark):
  • bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::mark):
  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::mark):
  • bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJS):
  • bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJS):
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::mark):
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::mark):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::finishedWithEvent):
  • bindings/scripts/CodeGeneratorJS.pm: Pass a JSGlobalData reference to functions that track JS wrapper objects.

JavaScriptCore:

  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): (JSC::JSGlobalData::~JSGlobalData): (JSC::JSGlobalData::ClientData::~ClientData):
  • kjs/JSGlobalData.h: Added a client data member to JSGlobalData. WebCore will use it to store bindings-related global data.
12:52 AM Changeset in webkit [37189] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • build fix
  • page/JavaScriptCallFrame.idl:
12:35 AM Changeset in webkit [37188] by oliver@apple.com
  • 4 edits in trunk/WebCore

Add new file to project files

Reviewed by NOBODY (Build fix)

12:15 AM Changeset in webkit [37187] by ggaren@apple.com
  • 3 edits in trunk/WebCore

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

Not reviewed.

Try to fix some more builds.

  • GNUmakefile.am:
  • WebCore.pro:
12:13 AM Changeset in webkit [37186] by ggaren@apple.com
  • 2 edits in trunk/WebCore

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

Not reviewed.


Try to fix Windows build.

  • WebCore.vcproj/WebCore.vcproj:
12:04 AM Changeset in webkit [37185] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Not reviewed.


Try to fix Qt build.

  • kjs/Error.h:

Oct 1, 2008:

11:44 PM Changeset in webkit [37184] by ggaren@apple.com
  • 54 edits
    1 copy in trunk

JavaScriptCore:

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

Reviewed by Darin Adler and Cameron Zwarich.

Preliminary step toward dynamic recompilation: Standardized and
simplified the parsing interface.


The main goal in this patch is to make it easy to ask for a duplicate
compilation, and get back a duplicate result -- same source URL, same
debugger / profiler ID, same toString behavior, etc.


The basic unit of compilation and evaluation is now SourceCode, which
encompasses a SourceProvider, a range in that provider, and a starting
line number.

A SourceProvider now encompasses a source URL, and *is* a source ID,
since a pointer is a unique identifier.

  • API/JSBase.cpp: (JSEvaluateScript): (JSCheckScriptSyntax): Provide a SourceCode to the Interpreter, since other APIs are no longer supported.


  • VM/CodeBlock.h: (JSC::EvalCodeCache::get): Provide a SourceCode to the Interpreter, since other APIs are no longer supported. (JSC::CodeBlock::CodeBlock): ASSERT something that used to be ASSERTed by our caller -- this is a better bottleneck.
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator): Updated for the fact that FunctionBodyNode's parameters are no longer a WTF::Vector.
  • kjs/Arguments.cpp: (JSC::Arguments::Arguments): ditto
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluate): Provide a SourceCode to the Parser, since other APIs are no longer supported.
  • kjs/FunctionConstructor.cpp: (JSC::constructFunction): Provide a SourceCode to the Parser, since other APIs are no longer supported. Adopt FunctionBodyNode's new "finishParsing" API.
  • kjs/JSFunction.cpp: (JSC::JSFunction::lengthGetter): (JSC::JSFunction::getParameterName): Updated for the fact that FunctionBodyNode's parameters are no longer a wtf::Vector.
  • kjs/JSFunction.h: Nixed some cruft.
  • kjs/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval): Provide a SourceCode to the Parser, since other APIs are no longer supported.
  • kjs/Parser.cpp: (JSC::Parser::parse): Require a SourceCode argument, instead of a bunch of broken out parameters. Stop tracking sourceId as an integer, since we use the SourceProvider pointer for this now. Don't clamp the startingLineNumber, since SourceCode does that now.
  • kjs/Parser.h: (JSC::Parser::parse): Standardized the parsing interface to require a SourceCode.
  • kjs/Shell.cpp: (functionRun): (functionLoad): (prettyPrintScript): (runWithScripts): (runInteractive): Provide a SourceCode to the Interpreter, since other APIs are no longer supported.
  • kjs/SourceProvider.h: (JSC::SourceProvider::SourceProvider): (JSC::SourceProvider::url): (JSC::SourceProvider::asId): (JSC::UStringSourceProvider::create): (JSC::UStringSourceProvider::UStringSourceProvider): Added new responsibilities described above.
  • kjs/SourceRange.h: (JSC::SourceCode::SourceCode): (JSC::SourceCode::toString): (JSC::SourceCode::provider): (JSC::SourceCode::firstLine): (JSC::SourceCode::data): (JSC::SourceCode::length): Added new responsibilities described above. Renamed SourceRange to SourceCode, based on review feedback. Added a makeSource function for convenience.
  • kjs/debugger.h: Provide a SourceCode to the client, since other APIs are no longer supported.
  • kjs/grammar.y: Provide startingLineNumber when creating a SourceCode.
  • kjs/debugger.h: Treat sourceId as intptr_t to avoid loss of precision on 64bit platforms.
  • kjs/interpreter.cpp: (JSC::Interpreter::checkSyntax): (JSC::Interpreter::evaluate):
  • kjs/interpreter.h: Require a SourceCode instead of broken out arguments.
  • kjs/lexer.cpp: (JSC::Lexer::setCode):
  • kjs/lexer.h: (JSC::Lexer::sourceRange): Fold together the SourceProvider and line number into a SourceCode. Fixed a bug where the Lexer would accidentally keep alive the last SourceProvider forever.
  • kjs/nodes.cpp: (JSC::ScopeNode::ScopeNode): (JSC::ProgramNode::ProgramNode): (JSC::ProgramNode::create): (JSC::EvalNode::EvalNode): (JSC::EvalNode::generateCode): (JSC::EvalNode::create): (JSC::FunctionBodyNode::FunctionBodyNode): (JSC::FunctionBodyNode::finishParsing): (JSC::FunctionBodyNode::create): (JSC::FunctionBodyNode::generateCode): (JSC::ProgramNode::generateCode): (JSC::FunctionBodyNode::paramString):
  • kjs/nodes.h: (JSC::ScopeNode::): (JSC::ScopeNode::sourceId): (JSC::FunctionBodyNode::): (JSC::FunctionBodyNode::parameterCount): (JSC::FuncExprNode::): (JSC::FuncDeclNode::): Store a SourceCode in all ScopeNodes, since SourceCode is now responsible for tracking URL, ID, etc. Streamlined some ad hoc FunctionBodyNode fixups into a "finishParsing" function, to help make clear what you need to do in order to finish parsing a FunctionBodyNode.
  • wtf/Vector.h: (WTF::::releaseBuffer): Don't ASSERT that releaseBuffer() is only called when buffer is not 0, since FunctionBodyNode is more than happy to get back a 0 buffer, and other functions like RefPtr::release() allow for 0, too.

JavaScriptGlue:

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

Reviewed by Darin Adler and Cameron Zwarich.

  • JSRun.cpp: (JSRun::Evaluate): (JSRun::CheckSyntax): Provide a SourceCode to the Interpreter, since other APIs are no longer supported.

WebCore:

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

Reviewed by Darin Adler and Cameron Zwarich.

Updated for JavaScriptCore API changes: use a SourceCode instead of
broken out parameters; treat sourceId as intptr_t.

  • ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate):
  • bindings/js/StringSourceProvider.h: (WebCore::StringSourceProvider::create): (WebCore::StringSourceProvider::StringSourceProvider):

(WebCore::makeSource): Added a makeSource function for convenience.

  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject evaluateWebScript:]):
  • bridge/NP_jsobject.cpp: (_NPN_Evaluate):
  • bridge/jni/jni_jsobject.mm: (JavaJSObject::call): (JavaJSObject::eval): (JavaJSObject::getMember): (JavaJSObject::setMember): (JavaJSObject::removeMember):
  • bridge/jni/jni_runtime.h: (JSC::Bindings::JavaString::operator UString): Replaced the explicit ustring() function with an implicit operator because this class already holds a UString::rep.
  • page/Console.cpp: (WebCore::retrieveLastCaller): (WebCore::Console::trace):
  • page/InspectorController.cpp: (WebCore::jsStringRef): (WebCore::InspectorController::addBreakpoint): (WebCore::InspectorController::removeBreakpoint): (WebCore::InspectorController::didParseSource): (WebCore::InspectorController::failedToParseSource):
  • page/InspectorController.h:
  • page/JavaScriptCallFrame.cpp: (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
  • page/JavaScriptCallFrame.h: (WebCore::JavaScriptCallFrame::create): (WebCore::JavaScriptCallFrame::sourceIdentifier): (WebCore::JavaScriptCallFrame::update):
  • page/JavaScriptDebugListener.h:
  • page/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::addBreakpoint): (WebCore::JavaScriptDebugServer::removeBreakpoint): (WebCore::JavaScriptDebugServer::hasBreakpoint): (WebCore::dispatchDidParseSource): (WebCore::dispatchFailedToParseSource): (WebCore::JavaScriptDebugServer::sourceParsed): (WebCore::JavaScriptDebugServer::callEvent): (WebCore::JavaScriptDebugServer::atStatement): (WebCore::JavaScriptDebugServer::returnEvent): (WebCore::JavaScriptDebugServer::exception): (WebCore::JavaScriptDebugServer::willExecuteProgram): (WebCore::JavaScriptDebugServer::didExecuteProgram): (WebCore::JavaScriptDebugServer::didReachBreakpoint):
  • page/JavaScriptDebugServer.h:
  • page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and sourceIdentifier to sourceID.

WebKit/mac:

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

Reviewed by Darin Adler and Cameron Zwarich.

Updated for JavaScriptCore API changes: use a SourceCode instead of
broken out parameters; treat sourceId as intptr_t.


We still treat sourceId as int in some cases because of DashCode. See
<rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for
sourceId, not int.

  • WebView/WebScriptDebugger.h:
  • WebView/WebScriptDebugger.mm: (toNSString): (WebScriptDebugger::sourceParsed): (WebScriptDebugger::callEvent): (WebScriptDebugger::atStatement): (WebScriptDebugger::returnEvent): (WebScriptDebugger::exception): (WebScriptDebugger::willExecuteProgram): (WebScriptDebugger::didExecuteProgram): (WebScriptDebugger::didReachBreakpoint):
11:08 PM Changeset in webkit [37183] by mitz@apple.com
  • 6 edits in trunk/WebCore

Reviewed by Geoffrey Garen.

  • fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html

Broke a ref cycle by changing the m_svgFontFaceElement members of
CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
pointers. Also made sure that the @font-face rule added by
SVGFontFaceElement to the document's mapped element sheet is removed
when the font-face element is deleted or moved to another document.

  • css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::CSSFontFaceSource): (WebCore::CSSFontFaceSource::getFontData):
  • css/CSSFontFaceSource.h: (WebCore::CSSFontFaceSource::svgFontFaceElement):
  • css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::svgFontFaceElement): (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
  • svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::~SVGFontFaceElement): (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument): (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument): (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
  • svg/SVGFontFaceElement.h:
10:06 PM Changeset in webkit [37182] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

Bug 21289: REGRESSION (r37160): Inspector crashes on load
<https://bugs.webkit.org/show_bug.cgi?id=21289>

The code in Arguments::mark() in r37160 was wrong. It marks indices in
d->registers, but that makes no sense (they are local variables, not
arguments). It should mark those indices in d->registerArray instead.

This patch also changes Arguments::copyRegisters() to use d->numParameters
instead of recomputing it.

  • kjs/Arguments.cpp: (JSC::Arguments::mark):
  • kjs/Arguments.h: (JSC::Arguments::copyRegisters):
10:02 PM Changeset in webkit [37181] by oliver@apple.com
  • 5 edits
    1 add
    1 delete in trunk/WebCore

Bug 20315: Memory leak with Canvas getImageData
<https://bugs.webkit.org/show_bug.cgi?id=20315>

Reviewed by Maciej Stachowiak

This wasn't a leak, the issue was that we were reporting the cost
of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
and we should have been reporting the cost when we create the
JSImageData wrapper.

9:54 PM Changeset in webkit [37180] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Mark Rowe.

  • svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so that renderer destruction happens before the SVGMarkerElement is destroyed.
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
7:48 PM Changeset in webkit [37179] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/win/ScrollViewWin.cpp

Fix Win32 bustage.

6:47 PM Changeset in webkit [37178] by eric@webkit.org
  • 2 edits in trunk/WebCore

2008-10-01 Evan Martin <evan@chromium.org>

Reviewed by Eric Seidel.

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

  • css/makeprop.pl: Die if gperf fails.
6:43 PM Changeset in webkit [37177] by eric@webkit.org
  • 2 edits in trunk/WebCore

2008-10-01 Evan Martin <evan@chromium.org>

Reviewed by Eric Seidel.

  • loader/icon/IconDatabase.h: IconDatabase uses HashMap, so it needs to #include the header.
6:35 PM Changeset in webkit [37176] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Mark Rowe.

  • fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
  • loader/Cache.cpp: (WebCore::Cache::remove): Disable pruning temporarily during CachedResource deletion.
6:30 PM Changeset in webkit [37175] by Darin Adler
  • 8 edits in trunk/JavaScriptCore

2008-09-30 Darin Adler <Darin Adler>

Reviewed by Eric Seidel.

Eliminate some unneeded uses of dynamicGlobalObject.

  • API/JSClassRef.cpp: (OpaqueJSClass::contextData): Changed to use a map in the global data instead of on the global object. Also fixed to use only a single hash table lookup.
  • API/JSObjectRef.cpp: (JSObjectMakeConstructor): Use lexicalGlobalObject rather than dynamicGlobalObject to get the object prototype.
  • kjs/ArrayPrototype.cpp: (JSC::arrayProtoFuncToString): Use arrayVisitedElements set in global data rather than in the global object. (JSC::arrayProtoFuncToLocaleString): Ditto. (JSC::arrayProtoFuncJoin): Ditto.
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): Don't initialize opaqueJSClassData, since it's no longer a pointer. (JSC::JSGlobalData::~JSGlobalData): We still need to delete all the values, but we don't need to delete the map since it's no longer a pointer.
  • kjs/JSGlobalData.h: Made opaqueJSClassData a map instead of a pointer to a map. Also added arrayVisitedElements.
  • kjs/JSGlobalObject.h: Removed arrayVisitedElements.
  • kjs/Shell.cpp: (functionRun): Use lexicalGlobalObject instead of dynamicGlobalObject. (functionLoad): Ditto.
6:05 PM Changeset in webkit [37174] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp

Fix Gtk repaint method finally. Should fix build bustage.

5:56 PM Changeset in webkit [37173] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix Gtk bustage from removal of update(). Make sure to include HostWindow.h

5:56 PM Changeset in webkit [37172] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix Gtk bustage from removal of update().

5:48 PM Changeset in webkit [37171] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Mark Rowe.

  • fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
  • svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::rebuildFontFace):
  • svg/SVGFontFaceElement.h: (WebCore::SVGFontFaceElement::associatedFontElement):
5:40 PM Changeset in webkit [37170] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebView.cpp

Fix Win bustage.

5:22 PM Changeset in webkit [37169] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h

Fix Gtk bustage.

5:21 PM Changeset in webkit [37168] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollbarThemeQt.cpp

Fix Qt bustage.

5:20 PM Changeset in webkit [37167] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebCoreSupport/WebChromeClient.cpp

Fix Win bustage.

4:38 PM Changeset in webkit [37166] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

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

Not reviewed.

Speculative Windows build fix.

  • kjs/grammar.y:
3:43 PM Changeset in webkit [37165] by hyatt@apple.com
  • 1 edit in trunk/WebCore/page/PrintContext.cpp

Fix Qt bustage.

3:43 PM Changeset in webkit [37164] by hyatt@apple.com
  • 1 edit in trunk/WebCore/page/PrintContext.cpp

Fix Qt bustage.

3:34 PM Changeset in webkit [37163] by brettw@chromium.org
  • 2 edits in trunk/WebCore

Reviewed by Maciej Stachowiak.

Document the rounding behavior of the mapRect(IntRect) function in
AffineTransform.h.

  • platform/graphics/AffineTransform.h:
3:30 PM Changeset in webkit [37162] by hyatt@apple.com
  • 13 edits in trunk

WebCore:

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

Move prohibitsScrolling from the Frame to the ScrollView.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • page/Frame.cpp: (WebCore::FramePrivate::FramePrivate):
  • page/Frame.h:
  • page/FramePrivate.h:
  • page/FrameView.cpp: (WebCore::FrameView::scrollRectIntoViewRecursively): (WebCore::FrameView::setScrollPosition):
  • platform/ScrollView.cpp: (WebCore::ScrollView::init): (WebCore::ScrollView::scrollRectIntoViewRecursively): (WebCore::ScrollView::setScrollPosition):
  • platform/ScrollView.h: (WebCore::ScrollView::setProhibitsScrolling): (WebCore::ScrollView::prohibitsScrolling):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::updateScrollbars):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::updateScrollbars):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::updateScrollbars):

WebKit/mac:

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

Move prohibitsScrolling from the Frame to the ScrollView.

Reviewed by Sam Weinig

  • WebView/WebView.mm: (-[WebView setProhibitsMainFrameScrolling:]):
3:24 PM Changeset in webkit [37161] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.

Reviewed by Geoff Garen.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
that we do during the loadRequestAsynchronously of the preflight request with a deref and
GC unprotect.

3:18 PM Changeset in webkit [37160] by cwzwarich@webkit.org
  • 19 edits in trunk

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

Reviewed by Darin Adler.

Bug 21123: using "arguments" in a function should not force creation of an activation object
<https://bugs.webkit.org/show_bug.cgi?id=21123>

Make the 'arguments' object not require a JSActivation. We store the
'arguments' object in the OptionalCalleeArguments call frame slot. We
need to be able to get the original 'arguments' object to tear it off
when returning from a function, but 'arguments' may be assigned to in a
number of ways.

Therefore, we use the OptionalCalleeArguments slot when we want to get
the original activation or we know that 'arguments' was not assigned a
different value. When 'arguments' may have been assigned a new value,
we use a new local variable that is initialized with 'arguments'. Since
a function parameter named 'arguments' may overwrite the value of
'arguments', we also need to be careful to look up 'arguments' in the
symbol table, so we get the parameter named 'arguments' instead of the
local variable that we have added for holding the 'arguments' object.

This is a 19.1% win on the V8 Raytrace benchmark using the SunSpider
harness, and a 20.7% win using the V8 harness. This amounts to a 6.5%
total speedup on the V8 benchmark suite using the V8 harness.

JavaScriptCore:

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator):
  • VM/Machine.cpp: (JSC::Machine::unwindCallFrame): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::cti_op_init_arguments): (JSC::Machine::cti_op_ret_activation_arguments):
  • VM/Machine.h:
  • VM/RegisterFile.h: (JSC::RegisterFile::):
  • kjs/Arguments.cpp: (JSC::Arguments::mark): (JSC::Arguments::fillArgList): (JSC::Arguments::getOwnPropertySlot): (JSC::Arguments::put):
  • kjs/Arguments.h: (JSC::Arguments::setRegisters): (JSC::Arguments::init): (JSC::Arguments::Arguments): (JSC::Arguments::copyRegisters): (JSC::JSActivation::copyRegisters):
  • kjs/JSActivation.cpp: (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h: (JSC::JSActivation::JSActivationData::JSActivationData):
  • kjs/grammar.y:
  • kjs/nodes.h: (JSC::ScopeNode::setUsesArguments):
  • masm/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::orl_mr):

LayoutTests:

  • fast/js/arguments-expected.txt:
  • fast/js/function-dot-arguments-expected.txt:
  • fast/js/resources/arguments.js:
  • fast/js/resources/function-dot-arguments.js:
3:12 PM Changeset in webkit [37159] by hyatt@apple.com
  • 12 edits in trunk

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

Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars.

Reviewed by Tim Hatcher

  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameView::setCanHaveScrollbars):
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::setCanHaveScrollbars): (WebCore::ScrollView::wheelEvent):
  • platform/ScrollView.h: (WebCore::ScrollView::canHaveScrollbars):
2:48 PM Changeset in webkit [37158] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebCoreSupport/WebChromeClient.h

Fix Win bustage.

2:19 PM Changeset in webkit [37157] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Mark Rowe.

  • fix some CachedResource leaks seen on buildbot

The issue here was that emptying the cache was a no-op when it only
contained resources with no data. Changed to go after those
resources when the desired cache capacity is zero.

  • loader/Cache.cpp: (WebCore::Cache::pruneLiveResources): (WebCore::Cache::pruneDeadResources):
  • loader/Cache.h: (WebCore::Cache::prune):
2:11 PM Changeset in webkit [37156] by hyatt@apple.com
  • 7 edits in trunk/WebCore

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

Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the
HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.)

Reviewed by Adam Roben

  • platform/ScrollView.cpp: (WebCore::ScrollView::isOffscreen): (WebCore::ScrollView::platformIsOffscreen):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformIsOffscreen):
  • platform/qt/ScrollViewQt.cpp:
  • platform/wx/ScrollViewWx.cpp:
1:58 PM Changeset in webkit [37155] by hyatt@apple.com
  • 5 edits in trunk/WebCore

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

Make show/hide/setParentVisible cross-platform on ScrollView.

Reviewed by Adam Roben

  • platform/ScrollView.cpp: (WebCore::ScrollView::setParentVisible): (WebCore::ScrollView::show): (WebCore::ScrollView::hide):
  • platform/ScrollView.h:
  • platform/win/ScrollViewWin.cpp:
1:41 PM Changeset in webkit [37154] by kmccullough@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

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

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=21284
Bug 21284: Max height affects max width

  • Looks like a cut and paste bug
  • Added layout test fast/css/max-height-and-max-width.html
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

LayoutTests:

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

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=21284
Bug 21284: Max height affects max width

  • Looks like a cut and paste bug
  • fast/css/max-height-and-max-width-expected.txt: Added.
  • fast/css/max-height-and-max-width.html: Added.
1:34 PM Changeset in webkit [37153] by hyatt@apple.com
  • 25 edits in trunk

WebCore:

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

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


Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.


Reviewed by Adam Roben

  • loader/EmptyClients.h: (WebCore::EmptyChromeClient::screenToWindow): (WebCore::EmptyChromeClient::windowToScreen):
  • page/Chrome.cpp: (WebCore::Chrome::screenToWindow): (WebCore::Chrome::windowToScreen):
  • page/Chrome.h:
  • page/ChromeClient.h:
  • platform/HostWindow.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::contentsToScreen): (WebCore::ScrollView::screenToContents): (WebCore::ScrollView::platformContentsToScreen): (WebCore::ScrollView::platformScreenToContents):
  • platform/ScrollView.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformContentsToScreen): (WebCore::ScrollView::platformScreenToContents):
  • platform/win/ScrollViewWin.cpp:

WebKit/gtk:

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

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


Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.


Reviewed by Adam Roben

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::windowToScreen): (WebKit::ChromeClient::screenToWindow):
  • WebCoreSupport/ChromeClientGtk.h:

WebKit/mac:

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

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


Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.


Reviewed by Adam Roben

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::repaint): (WebChromeClient::screenToWindow): (WebChromeClient::windowToScreen):

WebKit/qt:

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

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


Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.


Reviewed by Adam Roben

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::windowToScreen): (WebCore::ChromeClientQt::screenToWindow):
  • WebCoreSupport/ChromeClientQt.h:

WebKit/win:

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

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


Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.


Reviewed by Adam Roben

  • WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::windowToScreen): (WebChromeClient::screenToWindow):
  • WebCoreSupport/WebChromeClient.h:

WebKit/wx:

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

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


Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.


Reviewed by Adam Roben

  • WebKitSupport/ChromeClientWx.cpp: (WebCore::ChromeClientWx::windowToScreen): (WebCore::ChromeClientWx::screenToWindow):
  • WebKitSupport/ChromeClientWx.h:
1:31 PM Changeset in webkit [37152] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)

Test: fast/parser/residual-style-close-across-removed-block.html

  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed an assertion that turned out to be wrong in this case, and changed to terminate the algorithm at the first empty block.

LayoutTests:

Reviewed by Darin Adler.

  • test for <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
  • fast/parser/residual-style-close-across-removed-block-expected.txt: Added.
  • fast/parser/residual-style-close-across-removed-block.html: Added.
12:24 PM Changeset in webkit [37151] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.h

Fix Mac bustage. Make sure the setFrameRect method is moved outside the ifdef in the header.

12:23 PM Changeset in webkit [37150] by hyatt@apple.com
  • 7 edits in trunk/WebCore

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

Make setFrameRect on ScrollView cross-platform.

Reviewed by Sam Weinig

  • page/FrameView.h: (WebCore::FrameView::contentsResized):
  • platform/ScrollView.cpp: (WebCore::ScrollView::setFrameRect):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
12:17 PM Changeset in webkit [37149] by weinig@apple.com
  • 6 edits in trunk/WebCore

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

Reviewed by Adele Peterson.

Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
to JSDOMWindow from JSDOMWindowBase.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::removeTimeout):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::setTimeoutOrInterval): (WebCore::JSDOMWindow::setTimeout): (WebCore::JSDOMWindow::clearTimeout): (WebCore::JSDOMWindow::setInterval): (WebCore::JSDOMWindow::clearInterval): (WebCore::JSDOMWindow::atob): (WebCore::JSDOMWindow::btoa):
  • page/DOMWindow.idl:
11:40 AM Changeset in webkit [37148] by kmccullough@apple.com
  • 3 edits in trunk/JavaScriptCore

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

Rubberstamped by Geoff .

Remove BreakpointCheckStatement because it's not used anymore.
No effect on sunspider or the jsc tests.

  • kjs/nodes.cpp:
  • kjs/nodes.h:
11:12 AM Changeset in webkit [37147] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • Mac build fix
  • WebCore.base.exp:
10:51 AM Changeset in webkit [37146] by hyatt@apple.com
  • 25 edits in trunk

Make ScrollView::paint cross-platform.

10:33 AM Changeset in webkit [37145] by timothy@apple.com
  • 2 edits in trunk/WebCore

Prevent stealing focus from the search field when focusing a DOM node.

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

Reviewed by Kevin McCullough.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged): Don't steal focus if the current focus element is the search field.
6:32 AM QtWebKitJournal edited by Simon Hausmann
(diff)
12:59 AM Changeset in webkit [37144] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp

Speculative fix for Gtk bustage.

12:55 AM Changeset in webkit [37143] by hyatt@apple.com
  • 1 edit in trunk/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp

Fix Qt bustage.

12:27 AM Changeset in webkit [37142] by weinig@apple.com
  • 16 edits in trunk/WebCore

2008-09-30 Sam Weinig <sam@webkit.org>

Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.

Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
Autogenerate JS event listeners

  • Generate getting/setting of EventListeners.
  • Adding a new named EventListener now has the same process as adding any other DOM attribute. (Add a method with the same name in the c++ file).

(The EventListeners for MessagePort have been intentionally left custom so that we
can continue to experiment with making those EventListeners work in a frame-less world.)

  • bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
  • bindings/js/JSDOMWindowCustom.cpp: ditto.
  • bindings/js/JSEventTargetNodeCustom.cpp: ditto.
  • bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
  • bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener getter/setters
  • dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
  • dom/EventTargetNode.h: ditto.
  • dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator will use JSEventListerner instead of JSUnprotectedEventListener.
  • loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
  • page/DOMWindow.cpp: Add getter/setters for named EventListener
  • page/DOMWindow.h: ditto.
  • page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator will use JSEventListerner instead of JSUnprotectedEventListener.
  • xml/XMLHttpRequest.idl: Remove custom attributes.
  • xml/XMLHttpRequestUpload.idl: ditto.

Sep 30, 2008:

11:57 PM Changeset in webkit [37141] by mrowe@apple.com
  • 1 edit in trunk/WebCore/loader/CachedResource.cpp

A-Z.

11:53 PM Changeset in webkit [37140] by mrowe@apple.com
  • 4 edits in trunk

Add a leak counter for CachedResources since we've had two recent leaks involving them.

Reviewed by Dan Bernstein.

11:25 PM Changeset in webkit [37139] by mitz@apple.com
  • 4 edits
    2 moves in trunk/WebCore

Reviewed by Dave Hyatt.

If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
the font name in memory.

  • WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to OpenTypeUtilities.*.
  • platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is used. (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path for fonts loaded using AddFontMemResourceEx. (WebCore::createFontCustomPlatformData): Added a call to renameAndActivateFont() if TTLoadEmbeddedFont fails. If TTLoadEmbeddedFont succeeds, set the font name to the null string, as fontPlatformData() will retrieve the name from the font reference.
  • platform/graphics/win/FontCustomPlatformData.h: (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a font name member.
  • platform/graphics/win/GetEOTHeader.cpp: Renamed.
  • platform/graphics/win/GetEOTHeader.h: Renamed.
  • platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp. (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor. (WebCore::BigEndianULong::BigEndianULong): Ditto. (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of the font data and modifies it to have the given name, then activates it using AddFontMemResourceEx.
  • platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
11:16 PM Changeset in webkit [37138] by oliver@apple.com
  • 5 edits in trunk/JavaScriptCore

Improve performance of CTI on windows.

Reviewed by Geoff Garen

Currently on platforms where the compiler doesn't allow us to safely
index relative to the address of a parameter we need to actually
provide a pointer to CTI runtime call arguments. This patch improves
performance in this case by making the CTI logic for restoring this
parameter much less conservative by only resetting it before we actually
make a call, rather than between each and every SF bytecode we generate
code for.

This results in a 3.6% on the v8 benchmark when compiled with MSVC.

11:09 PM Changeset in webkit [37137] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Fix many leaks seen on fast/backgrounds/svg-as-mask.html.

Reviewed by Dan Bernstein.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
with calls to removeClient when we're being destroyed.

10:45 PM Changeset in webkit [37136] by eric.carlson@apple.com
  • 4 edits
    4 adds in trunk

2008-09-30 Eric Carlson <eric.carlson@apple.com>

Reviewed by Antti

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

Fix loopstart and loopend default values.

Tests: media/loopend-limits.html

media/loopstart-limits.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value

2008-09-30 Eric Carlson <eric.carlson@apple.com>

Reviewed by Antti

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

Test default loopstart and loopend values.

  • media/loopend-limits-expected.txt: Added.
  • media/loopend-limits.html: Added.
  • media/loopstart-limits-expected.txt: Added.
  • media/loopstart-limits.html: Added.
  • media/video-test.js:
10:29 PM Changeset in webkit [37135] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Fix many leaks seen on fast/backgrounds/svg-as-background-1.html.

JavaScript wrappers were keeping DOM objects alive, which was leading to the SVG background image
being kept alive in the memory cache past our last attempt to empty the cache prior to quitting.
We need to empty the memory cache after forcing a JavaScript garbage collection to ensure that
any live JavaScript wrappers are collected and their corresponding DOM objects have a chance to be
torn down before we exit.

Rubber-stamped by Dan Bernstein.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(dumpRenderTree):
(main):

10:04 PM Changeset in webkit [37134] by kevino@webkit.org
  • 3 edits in trunk/WebCore

wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.

9:43 PM Changeset in webkit [37133] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • fix HTMLViewSourceDocument leaks by breaking a ref cycle which was fixed in r17249 and re-introduced in r31435.
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): (WebCore::HTMLViewSourceDocument::addSpanWithClassName): (WebCore::HTMLViewSourceDocument::addLine): (WebCore::HTMLViewSourceDocument::addLink):
  • html/HTMLViewSourceDocument.h:
7:57 PM Changeset in webkit [37132] by mjs@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-09-30 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.

  • track uses of "this", "with" and "catch" in the parser


Knowing this up front will be useful for future optimizations.


Perf and correctness remain the same.


  • kjs/NodeInfo.h:
  • kjs/grammar.y:
6:05 PM Changeset in webkit [37131] by kdecker@apple.com
  • 3 edits in trunk/WebKit/mac

Reviewed by Anders Carlsson.

Remove the NPDrawingModelOpenGL entirely. To my knowledge no shipping plug-in ever used it, and no other browser engine
ever supported it.


  • Plugins/WebBaseNetscapePluginView.h: Removed AGL.h import and OpenGL related ivars.
  • Plugins/WebBaseNetscapePluginView.mm: Removed soft linking for OpenGL and AGL frameworks. Also removed many methods AGL/CGL support methods that are no longer necessary. (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed NPDrawingModelOpenGL related code. (-[WebBaseNetscapePluginView restorePortState:]): Ditto. (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Ditto. (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): Ditto. (-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto. (-[WebBaseNetscapePluginView stop]): Ditto. (-[WebBaseNetscapePluginView dealloc]): Ditto. (-[WebBaseNetscapePluginView drawRect:]): (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Ditto. (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto. (-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins WebKit does not support NPDrawingModelOpenGL. (-[WebBaseNetscapePluginView setVariable:value:]): Removed NPDrawingModelOpenGL related code. (-[WebBaseNetscapePluginView _viewHasMoved]): Ditto.
6:00 PM Changeset in webkit [37130] by dino@apple.com
  • 3 edits in trunk/LayoutTests

2008-09-30 Dean Jackson <dino@apple.com>

Reviewed by Simon Fraser.

Remove console output that can cause test to fail on slow
machines.

  • animations/transition-and-animation-2-expected.txt:
  • animations/transition-and-animation-2.html:
5:43 PM Changeset in webkit [37129] by Simon Fraser
  • 3 edits in trunk/WebKitTools

2008-09-30 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

Don't run pixel comparison for text-only tests.
https://bugs.webkit.org/show_bug.cgi?id=21124

  • DumpRenderTree/mac/DumpRenderTree.mm: (dump):
  • Scripts/run-webkit-tests:
5:39 PM Changeset in webkit [37128] by weinig@apple.com
  • 24 edits in trunk/WebCore

2008-09-30 Sam Weinig <sam@webkit.org>

Reviewed by Eric Seidel.

More for https://bugs.webkit.org/show_bug.cgi?id=21122
Autogenerate JS event listeners

  • Make EventListener getter/setters names in c++ files match those in JS (ie. onLoadListener -> onload).
  • Add standard way to access the frame associated with the EventTarget for EventListener lookup.
  • Autogenerate dispatchEvent, it wasn't doing anything custom.
  • bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::mark): (WebCore::JSDOMApplicationCache::addEventListener): (WebCore::JSDOMApplicationCache::removeEventListener): (WebCore::JSDOMApplicationCache::setOnchecking): (WebCore::JSDOMApplicationCache::onchecking): (WebCore::JSDOMApplicationCache::setOnerror): (WebCore::JSDOMApplicationCache::onerror): (WebCore::JSDOMApplicationCache::setOnnoupdate): (WebCore::JSDOMApplicationCache::onnoupdate): (WebCore::JSDOMApplicationCache::setOndownloading): (WebCore::JSDOMApplicationCache::ondownloading): (WebCore::JSDOMApplicationCache::setOnprogress): (WebCore::JSDOMApplicationCache::onprogress): (WebCore::JSDOMApplicationCache::setOnupdateready): (WebCore::JSDOMApplicationCache::onupdateready): (WebCore::JSDOMApplicationCache::setOncached): (WebCore::JSDOMApplicationCache::oncached):
  • bindings/js/JSEventTargetNodeCustom.cpp: (WebCore::JSEventTargetNode::addEventListener): (WebCore::JSEventTargetNode::removeEventListener): (WebCore::JSEventTargetNode::getListener): (WebCore::JSEventTargetNode::setListener):
  • bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::mark): (WebCore::JSMessagePort::addEventListener): (WebCore::JSMessagePort::removeEventListener): (WebCore::JSMessagePort::setOnmessage): (WebCore::JSMessagePort::onmessage): (WebCore::JSMessagePort::setOnclose): (WebCore::JSMessagePort::onclose):
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::mark): (WebCore::JSXMLHttpRequest::onreadystatechange): (WebCore::JSXMLHttpRequest::setOnreadystatechange): (WebCore::JSXMLHttpRequest::onabort): (WebCore::JSXMLHttpRequest::setOnabort): (WebCore::JSXMLHttpRequest::onerror): (WebCore::JSXMLHttpRequest::setOnerror): (WebCore::JSXMLHttpRequest::onload): (WebCore::JSXMLHttpRequest::setOnload): (WebCore::JSXMLHttpRequest::onloadstart): (WebCore::JSXMLHttpRequest::setOnloadstart): (WebCore::JSXMLHttpRequest::onprogress): (WebCore::JSXMLHttpRequest::setOnprogress): (WebCore::JSXMLHttpRequest::addEventListener): (WebCore::JSXMLHttpRequest::removeEventListener):
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::mark): (WebCore::JSXMLHttpRequestUpload::onabort): (WebCore::JSXMLHttpRequestUpload::setOnabort): (WebCore::JSXMLHttpRequestUpload::onerror): (WebCore::JSXMLHttpRequestUpload::setOnerror): (WebCore::JSXMLHttpRequestUpload::onload): (WebCore::JSXMLHttpRequestUpload::setOnload): (WebCore::JSXMLHttpRequestUpload::onloadstart): (WebCore::JSXMLHttpRequestUpload::setOnloadstart): (WebCore::JSXMLHttpRequestUpload::onprogress): (WebCore::JSXMLHttpRequestUpload::setOnprogress): (WebCore::JSXMLHttpRequestUpload::addEventListener): (WebCore::JSXMLHttpRequestUpload::removeEventListener):
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/EventTarget.h:
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::associatedFrame):
  • dom/EventTargetNode.h:
  • dom/EventTargetNode.idl:
  • dom/MessagePort.cpp: (WebCore::MessagePort::associatedFrame):
  • dom/MessagePort.h: (WebCore::MessagePort::setOnmessage): (WebCore::MessagePort::onmessage): (WebCore::MessagePort::setOnclose): (WebCore::MessagePort::onclose):
  • dom/MessagePort.idl:
  • loader/appcache/DOMApplicationCache.h: (WebCore::DOMApplicationCache::setOnchecking): (WebCore::DOMApplicationCache::onchecking): (WebCore::DOMApplicationCache::setOnerror): (WebCore::DOMApplicationCache::onerror): (WebCore::DOMApplicationCache::setOnnoupdate): (WebCore::DOMApplicationCache::onnoupdate): (WebCore::DOMApplicationCache::setOndownloading): (WebCore::DOMApplicationCache::ondownloading): (WebCore::DOMApplicationCache::setOnprogress): (WebCore::DOMApplicationCache::onprogress): (WebCore::DOMApplicationCache::setOnupdateready): (WebCore::DOMApplicationCache::onupdateready): (WebCore::DOMApplicationCache::setOncached): (WebCore::DOMApplicationCache::oncached): (WebCore::DOMApplicationCache::associatedFrame):
  • loader/appcache/DOMApplicationCache.idl:
  • svg/EventTargetSVGElementInstance.cpp: (WebCore::EventTargetSVGElementInstance::associatedFrame): (WebCore::EventTargetSVGElementInstance::addEventListener): (WebCore::EventTargetSVGElementInstance::removeEventListener): (WebCore::EventTargetSVGElementInstance::dispatchEvent):
  • svg/EventTargetSVGElementInstance.h:
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::associatedFrame):
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::setOnreadystatechange): (WebCore::XMLHttpRequest::onreadystatechange): (WebCore::XMLHttpRequest::setOnabort): (WebCore::XMLHttpRequest::onabort): (WebCore::XMLHttpRequest::setOnerror): (WebCore::XMLHttpRequest::onerror): (WebCore::XMLHttpRequest::setOnload): (WebCore::XMLHttpRequest::onload): (WebCore::XMLHttpRequest::setOnloadstart): (WebCore::XMLHttpRequest::onloadstart): (WebCore::XMLHttpRequest::setOnprogress): (WebCore::XMLHttpRequest::onprogress):
  • xml/XMLHttpRequest.idl:
  • xml/XMLHttpRequestUpload.cpp: (WebCore::XMLHttpRequestUpload::associatedFrame):
  • xml/XMLHttpRequestUpload.h: (WebCore::XMLHttpRequestUpload::setOnabort): (WebCore::XMLHttpRequestUpload::onabort): (WebCore::XMLHttpRequestUpload::setOnerror): (WebCore::XMLHttpRequestUpload::onerror): (WebCore::XMLHttpRequestUpload::setOnload): (WebCore::XMLHttpRequestUpload::onload): (WebCore::XMLHttpRequestUpload::setOnloadstart): (WebCore::XMLHttpRequestUpload::onloadstart): (WebCore::XMLHttpRequestUpload::setOnprogress): (WebCore::XMLHttpRequestUpload::onprogress):
  • xml/XMLHttpRequestUpload.idl:
5:38 PM Changeset in webkit [37127] by Darin Adler
  • 2 edits in trunk/WebCore

2008-09-30 Darin Adler <Darin Adler>

  • roll out assertion breaking regression tests
  • platform/ScrollView.cpp: (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion that fires in regression tests. Hyatt can add it back later. The assertion fires in the regression test because of layout that triggers repaint occuring during the process of removing a frame.
4:58 PM Changeset in webkit [37126] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-30 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Add WebKitAvailability macros for JSObjectMakeArray, JSObjectMakeDate, JSObjectMakeError,
and JSObjectMakeRegExp

  • API/JSObjectRef.h:
4:46 PM Changeset in webkit [37125] by Darin Adler
  • 4 edits in trunk/JavaScriptCore

2008-09-30 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

Replaced the m_prev field of ExecState with a bit in the
call frame pointer to indicate "host" call frames.

  • VM/Machine.cpp: (JSC::makeHostCallFramePointer): Added. Sets low bit. (JSC::isHostCallFrame): Added. Checks low bit. (JSC::stripHostCallFrameBit): Added. Clears low bit. (JSC::Machine::unwindCallFrame): Replaced null check that was formerly used to detect host call frames with an isHostCallFrame check. (JSC::Machine::execute): Pass in a host call frame pointer rather than always passing 0 when starting execution from the host. This allows us to follow the entire call frame pointer chain when desired, or to stop at the host calls when that's desired. (JSC::Machine::privateExecute): Replaced null check that was formerly used to detect host call frames with an isHostCallFrame check. (JSC::Machine::retrieveCaller): Ditto. (JSC::Machine::retrieveLastCaller): Ditto. (JSC::Machine::callFrame): Removed the code to walk up m_prev pointers and replaced it with code that uses the caller pointer and uses the stripHostCallFrameBit function.
  • kjs/ExecState.cpp: Removed m_prev.
  • kjs/ExecState.h: Ditto.
4:24 PM Changeset in webkit [37124] by hyatt@apple.com
  • 1 edit in trunk/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp

Fix Qt bustage.

4:21 PM Changeset in webkit [37123] by adele@apple.com
  • 19 edits
    8 adds in trunk

WebCore:

2008-09-30 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
<rdar://problem/6222134> add a way to set color for input placeholder text

Test: fast/forms/placeholder-pseudo-style.html

This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
input elements when they are displaying the placeholder text.

  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
  • css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
  • css/html4.css: Add rule to make placeholder text default to darkGray.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible. (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility. (WebCore::HTMLInputElement::dispatchBlurEvent): ditto. (WebCore::HTMLInputElement::parseMappedAttribute): ditto. (WebCore::HTMLInputElement::setValue): ditto. (WebCore::HTMLInputElement::setValueFromRenderer): ditto. (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state. This calculation used to be done in the renderer, but since the node knows everything about the state, it can make that decision, and the renderer will just ask the node if it should draw the placeholder.
  • html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
  • rendering/RenderTextControl.cpp: (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color, just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast. If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme. (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none". This can only happen as a result of either a setStyle call (which will be followed by a call to updateFromElement) or from createSubtreeIfNeeded, which is called directly from updateFromElement. updateFromElement will immediately update the text displayed. (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed. (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
  • rendering/RenderTextControl.h:

LayoutTests:

2008-09-30 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Tests for https://bugs.webkit.org/show_bug.cgi?id=21227
<rdar://problem/6222134> add a way to set color for input placeholder text

  • fast/forms/password-placeholder-text-security.html: Added.
  • fast/forms/placeholder-pseudo-style.html: Added.
  • platform/mac/fast/forms/password-placeholder-text-security-expected.checksum: Added.
  • platform/mac/fast/forms/password-placeholder-text-security-expected.png: Added.
  • platform/mac/fast/forms/password-placeholder-text-security-expected.txt: Added.
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.checksum: Added.
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.png: Added.
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.txt: Added.

Updated results. The placeholder color is now reflected on the RenderTextControl, not just on an inner element.

  • platform/mac/fast/forms/input-disabled-color-expected.checksum:
  • platform/mac/fast/forms/input-disabled-color-expected.png:
  • platform/mac/fast/forms/input-disabled-color-expected.txt:
  • platform/mac/fast/forms/password-placeholder-expected.checksum:
  • platform/mac/fast/forms/password-placeholder-expected.png:
  • platform/mac/fast/forms/password-placeholder-expected.txt:
  • platform/mac/fast/forms/placeholder-set-attribute-expected.checksum:
  • platform/mac/fast/forms/placeholder-set-attribute-expected.png:
  • platform/mac/fast/forms/placeholder-set-attribute-expected.txt:
4:19 PM Changeset in webkit [37122] by Beth Dakin
  • 3 edits
    2 adds in trunk

WebCore:

2008-09-30 Beth Dakin <Beth Dakin>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
by failed allocation due to invalid counter/attr
and corresponding: <rdar://problem/6152371>

  • css/CSSParser.cpp: (WebCore::CSSParser::parseCounterContent): The spec indicates that only identifiers should be accepted here.

LayoutTests:

2008-09-30 Beth Dakin <Beth Dakin>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
by failed allocation due to invalid counter/attr
and corresponding: <rdar://problem/6152371>

  • fast/css/counters/counter-number-input-expected.txt: Added.
  • fast/css/counters/counter-number-input.html: Added.
3:33 PM Changeset in webkit [37121] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-09-30 Kevin McCullough <kmccullough@apple.com>

Reviewed by Oliver Hunt.

Bug 21255: console.profileEnd() without a console.profile() crashes the
web inspector

  • page/Console.cpp: (WebCore::Console::profileEnd):
3:31 PM Changeset in webkit [37120] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-09-30 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim Hatcher.

Bug 21252: calling console.profile() with a title that is 2 chars or
shorter does not linkify it

  • Previously we tried to not linkify very short URLs but since profile titles can be any length this is not always true.
  • page/inspector/inspector.js:
3:30 PM Changeset in webkit [37119] by mrowe@apple.com
  • 20 edits in tags/Safari-6528.4.1/WebCore/platform

Remove bogus executable bit from some source files.

3:28 PM Changeset in webkit [37118] by mrowe@apple.com
  • 20 edits in trunk/WebCore/platform

Remove bogus executable bit from some source files.

3:17 PM Changeset in webkit [37117] by cwzwarich@webkit.org
  • 7 edits
    3 adds in trunk

2008-09-30 Cameron Zwarich <zwarich@apple.com>

Reviewed by Geoff Garen.

Move all detection of 'arguments' in a lexical scope to the parser, in
preparation for fixing

Bug 21123: using "arguments" in a function should not force creation of an activation object
<https://bugs.webkit.org/show_bug.cgi?id=21123>

JavaScriptCore:

  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator):
  • kjs/NodeInfo.h:
  • kjs/grammar.y:

LayoutTests:

  • fast/js/arguments-expected.txt:
  • fast/js/function-dot-arguments-expected.txt: Added.
  • fast/js/function-dot-arguments.html: Added.
  • fast/js/resources/arguments.js:
  • fast/js/resources/function-dot-arguments.js: Added.
2:46 PM Changeset in webkit [37116] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-30 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

  • kjs/Shell.cpp: (runWithScripts): Fixed indentation.
2:34 PM Changeset in webkit [37115] by timothy@apple.com
  • 67 edits in trunk/WebCore/page/inspector/Images

Add the image/png mime-type to the Web Inspector images to make Mark and Dan happy.

2:31 PM Changeset in webkit [37114] by hyatt@apple.com
  • 2 edits in trunk/WebKit

Tweak the Gtk/Qt ChromeClient methods structurally to make sure immediate displays/flushes can happen even if the content doesn't change.

2:30 PM Changeset in webkit [37113] by hyatt@apple.com
  • 9 edits in trunk/WebCore

Eliminate the ScrollView update() method.

2:04 PM Changeset in webkit [37112] by mrowe@apple.com
  • 11 edits
    2 deletes in trunk

Roll out r37060 as it introduced many, many leaks.

1:57 PM Changeset in webkit [37111] by timothy@apple.com
  • 3 edits in trunk/WebCore

Focus the DOM tree in the Web Inspector when a node is inspected.
So when the search field has focus, the focus moves to the tree,
allowing the arrow keys work. This can happen when using the new
find in page feature.

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

Reviewed by Geoff Garen.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel): Set currentFocusElement to the main-panels element if the panel is visible. (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Remove a set of currentFocusElement since this moved.
  • page/inspector/inspector.js: (WebInspector.set currentFocusElement): Always focus the element. This ensures that when focus changes in the page and we don't catch it, we will still focus the elements even if we think it was already focused.
1:57 PM Changeset in webkit [37110] by timothy@apple.com
  • 8 edits in trunk/WebCore

Make the Web Inspector's toolbar icons darker when the mouse is
pressed on them. This matches the standard NSToolbar look.

https://bugs.webkit.org/show_bug.cgi?id=21249
rdar://problem/6033752

Reviewed by Adam Roben.

  • page/inspector/Images/databasesIcon.png:
  • page/inspector/Images/elementsIcon.png:
  • page/inspector/Images/profilesIcon.png:
  • page/inspector/Images/resourcesIcon.png:
  • page/inspector/Images/scriptsIcon.png:
  • page/inspector/Panel.js:
  • page/inspector/inspector.css:
1:56 PM Changeset in webkit [37109] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollViewQt.cpp

Fix qt bustage.

1:27 PM Changeset in webkit [37108] by mrowe@apple.com
  • 1 edit in tags/Safari-6528.4.1/JavaScriptCore/JavaScriptCore.exp

Build fix.

1:27 PM Changeset in webkit [37107] by mrowe@apple.com
  • 1 edit in trunk/JavaScriptCore/JavaScriptCore.exp

Build fix.

1:26 PM Changeset in webkit [37106] by kmccullough@apple.com
  • 5 edits in trunk/WebCore

2008-09-30 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim Hatcher.

Bug 21139: Profiler log message is wrong

  • Correctly fix =( Don't call _format twice.
  • page/Page.h:
  • page/inspector/Console.js:
  • page/inspector/ProfilesPanel.js:
  • page/inspector/inspector.js:
1:09 PM Changeset in webkit [37105] by hyatt@apple.com
  • 32 edits in trunk

Make ScrollView's updateContents method cross-platform.

12:42 PM Changeset in webkit [37104] by mrowe@apple.com
  • 3 edits in tags/Safari-6528.4.1/JavaScriptCore

Merge r37103.

12:38 PM Changeset in webkit [37103] by mrowe@apple.com
  • 3 edits in trunk/JavaScriptCore

Build fix.

Move InternalFunction::classInfo implementation into the .cpp file to
prevent the vtable for InternalFunction being generated as a weak symbol.
Has no effect on SunSpider.

Rubber-stamped by Sam Weinig.

  • kjs/InternalFunction.cpp:

(JSC::InternalFunction::classInfo):

  • kjs/InternalFunction.h:
12:29 PM Changeset in webkit [37102] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

2008-09-30 Anders Carlsson <andersca@apple.com>

Reviewed by Mark Rowe and Adam Roben.

No need to use pointers to store C++ objects as pointers in WebViewPrivate, we can just
store them directly.


  • Configurations/Base.xcconfig: Set GCC_OBJC_CALL_CXX_CDTORS to YES.


  • WebView/WebView.mm: (-[WebViewPrivate init]): (-[WebViewPrivate dealloc]): (-[WebViewPrivate finalize]): (-[WebView _preferencesChangedNotification:]): (-[WebView setApplicationNameForUserAgent:]): (-[WebView setCustomUserAgent:]): (-[WebView customUserAgent]): (-[WebView WebCore::_userAgentForURL:WebCore::]): (-[WebView _addObject:forIdentifier:]): (-[WebView _objectForIdentifier:]): (-[WebView _removeObjectForIdentifier:]):
11:05 AM Changeset in webkit [37101] by mrowe@apple.com
  • 4 edits in tags/Safari-6528.4.1

Versioning.

11:02 AM Changeset in webkit [37100] by mrowe@apple.com
  • 6 edits
    2 deletes in tags/Safari-6528.4.1

Merge r36902.

11:00 AM Changeset in webkit [37099] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.4.1

New tag.

10:58 AM Changeset in webkit [37098] by ap@webkit.org
  • 6 edits in trunk/WebCore

Non-Mac build fixes.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCoreSources.bkl:
  • webcore-base.bkl: Added DOMProtect.{cpp,h}.
10:40 AM Changeset in webkit [37097] by kdecker@apple.com
  • 2 edits in trunk/WebCore

Reviewed by John Sullivan.

  • bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
10:05 AM Changeset in webkit [37096] by jchaffraix@webkit.org
  • 11 edits in trunk/WebCore

2008-09-29 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Maciej Stachowiak.

Bug 21106: .in format discussed changes
https://bugs.webkit.org/show_bug.cgi?id=21106

  • Removed "cppNamespace" global parameter and hard-coded "WebCore" as it is the only namespace used.
  • Removed "generateFactory" and "generateWrapperFactory" parameters and re-introduced the command line options.
  • Cleaned up the output of make_names.pl (removed unneeded new line).
  • DerivedSources.make: Added factories command line options.
  • GNUmakefile.am: Ditto.
  • WebCore.pro: Ditto and removed some arguments that were migrated to the .in files.
  • dom/make_names.pl: Clean up (see above).
  • html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory" and "generateWrapperFactory" occurences.
  • html/HTMLTagNames.in: Ditto.
  • svg/svgattrs.in: Ditto.
  • svg/svgtags.in: Ditto.
  • svg/xlinkattrs.in: Ditto.
  • xml/xmlattrs.in: Ditto.
9:19 AM Changeset in webkit [37095] by Chris Fleizach
  • 5 edits
    2 adds in trunk

<rdar://problem/6255456> AX: <file> input button shouldn't have children exposed

8:52 AM Changeset in webkit [37094] by ap@webkit.org
  • 7 edits
    6 adds in trunk

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=21213
MessagePort crash when GC collects an object with a pending close event

Test: fast/events/message-channel-gc-2.html

fast/events/message-channel-listener-circular-ownership.html

  • bindings/DOMProtect.cpp: Added. (WebCore::gcProtectDOMObject): (WebCore::gcUnprotectDOMObject):
  • bindings/DOMProtect.h: Added. Added an abstraction for GC protection to avoid the need to call JS bindings code from DOM objects directly.
  • dom/MessagePort.cpp: (WebCore::CloseMessagePortTimer::fired): (WebCore::MessagePort::queueCloseEvent): GC protect MessagePort wrapper while there is a pending close event. This may be necessary for message events, too, but that case is not a crasher, and actually behaves to the letter of the current HTML5 text, so I'll consider it later.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::loadRequestAsynchronously): (WebCore::XMLHttpRequest::dropProtection): Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
  • bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::addEventListener): (WebCore::JSMessagePort::removeEventListener): (WebCore::JSMessagePort::setOnmessage): (WebCore::JSMessagePort::setOnclose): Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::mark): While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not from XMLHttpRequest.
7:17 AM Changeset in webkit [37093] by Adam Roben
  • 2 edits in trunk/WebCore

Windows build fix

  • DerivedSources.cpp: Add JSEventTargetNode.cpp.
12:42 AM Changeset in webkit [37092] by hyatt@apple.com
  • 2 edits in trunk/WebCore/platform

Fix gtk qt bustage.

12:10 AM Changeset in webkit [37091] by cwzwarich@webkit.org
  • 1 edit in trunk/JavaScriptCore/ChangeLog

2008-09-30 Cameron Zwarich <zwarich@apple.com>

Not reviewed.

Add the performance improvement to the ChangeLog entry for r37050.

  • ChangeLog
12:01 AM Changeset in webkit [37090] by weinig@apple.com
  • 12 edits
    4 adds
    3 deletes in trunk/WebCore

2008-09-29 Sam Weinig <sam@webkit.org>

Reviewed by Tim Hatcher.

Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
Autogenerate JS event listeners

  • Generate EventTargetNode.
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSEventListener.cpp:
  • bindings/js/JSEventTarget.cpp: Added. (WebCore::toJS):
  • bindings/js/JSEventTarget.h: Added.
  • bindings/js/JSEventTargetBase.cpp: Removed.
  • bindings/js/JSEventTargetBase.h:
  • bindings/js/JSEventTargetNode.cpp: Removed.
  • bindings/js/JSEventTargetNode.h: Removed.
  • bindings/js/JSEventTargetNodeCustom.cpp: Added. (WebCore::JSEventTargetNode::addEventListener): (WebCore::JSEventTargetNode::removeEventListener): (WebCore::JSEventTargetNode::dispatchEvent): (WebCore::JSEventTargetNode::getListener): (WebCore::JSEventTargetNode::setListener): (WebCore::JSEventTargetNode::pushEventHandlerScope):
  • bindings/js/JSEventTargetSVGElementInstance.cpp: (WebCore::): (WebCore::JSEventTargetSVGElementInstancePrototype::self): (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot): (jsEventTargetAddEventListener): (jsEventTargetRemoveEventListener): (jsEventTargetDispatchEvent):
  • bindings/js/JSEventTargetSVGElementInstance.h: (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype): (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/EventTargetNode.idl: Added.

Sep 29, 2008:

6:31 PM Changeset in webkit [37089] by mjs@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-09-29 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin Adler.



It's pretty common in real-world code (and on some of the v8
benchmarks) to append a number to a string, so I made this one of
the fast cases, and also added support to UString to do it
directly without allocating a temporary UString.


~1% speedup on v8 benchmark.

  • VM/Machine.cpp: (JSC::jsAddSlowCase): Make this NEVER_INLINE because somehow otherwise the change is a regression. (JSC::jsAdd): Handle number + string special case. (JSC::Machine::cti_op_add): Integrate much of the logic of jsAdd to avoid exception check in the str + str, num + num and str + num cases.
  • kjs/ustring.cpp: (JSC::expandedSize): Make this a non-member function, since it needs to be called in non-member functions but not outside this file. (JSC::expandCapacity): Ditto. (JSC::UString::expandCapacity): Call the non-member version. (JSC::createRep): Helper to make a rep from a char*. (JSC::UString::UString): Use above helper. (JSC::concatenate): Guts of concatenating constructor for cases where first item is a UString::Rep, and second is a UChar* and length, or a char*. (JSC::UString::append): Implement for cases where first item is a UString::Rep, and second is an int or double. Sadly duplicates logic of UString::from(int) and UString::from(double).
  • kjs/ustring.h:
6:14 PM Changeset in webkit [37088] by Darin Adler
  • 10 edits in trunk

JavaScriptCore:

2008-09-29 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • JavaScriptCore.exp: Updated since JSGlobalObject::init no longer takes a parameter.
  • VM/Machine.cpp: (JSC::Machine::execute): Removed m_registerFile argument for ExecState constructors.
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluate): Removed globalThisValue argument for ExecState constructor.
  • kjs/ExecState.cpp: (JSC::ExecState::ExecState): Removed globalThisValue and registerFile arguments to constructors.
  • kjs/ExecState.h: Removed m_globalThisValue and m_registerFile data members.
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): Removed globalThisValue argument for ExecState constructor.
  • kjs/JSGlobalObject.h: (JSC::JSGlobalObject::JSGlobalObject): Got rid of parameter for the init function.

WebCore:

2008-09-29 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument for base class constructor.
6:03 PM Changeset in webkit [37087] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-29 Geoffrey Garen <ggaren@apple.com>

Rubber-stamped by Cameron Zwarich.


Fixed https://bugs.webkit.org/show_bug.cgi?id=21225
Machine::retrieveLastCaller should check for a NULL codeBlock


In order to crash, you would need to call retrieveCaller in a situation
where you had two host call frames in a row in the register file. I
don't know how to make that happen, or if it's even possible, so I don't
have a test case -- but better safe than sorry!

  • VM/Machine.cpp: (JSC::Machine::retrieveLastCaller):
5:46 PM Changeset in webkit [37086] by ggaren@apple.com
  • 13 edits
    2 copies
    6 adds in trunk

JavaScriptCore:

2008-09-29 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Store the callee ScopeChain, not the caller ScopeChain, in the call frame
header. Nix the "scopeChain" local variable and ExecState::m_scopeChain, and
access the callee ScopeChain through the call frame header instead.

Profit: call + return are simpler, because they don't have to update the
"scopeChain" local variable, or ExecState::m_scopeChain.


Because CTI keeps "r" in a register, reading the callee ScopeChain relative
to "r" can be very fast, in any cases we care to optimize.

0% speedup on empty function call benchmark. (5.5% speedup in bytecode.)
0% speedup on SunSpider. (7.5% speedup on controlflow-recursive.)
2% speedup on SunSpider --v8.
2% speedup on v8 benchmark.

  • VM/CTI.cpp: Changed scope chain access to read the scope chain from the call frame header. Sped up op_ret by changing it not to fuss with the "scopeChain" local variable or ExecState::m_scopeChain.
  • VM/CTI.h: Updated CTI trampolines not to take a ScopeChainNode* argument, since that's stored in the call frame header now.
  • VM/Machine.cpp: Access "scopeChain" and "codeBlock" through new helper functions that read from the call frame header. Updated functions operating on ExecState::m_callFrame to account for / take advantage of the fact that Exec:m_callFrame is now never NULL.


Fixed a bug in op_construct, where it would use the caller's default
object prototype, rather than the callee's, when constructing a new object.

  • VM/Machine.h: Made some helper functions available. Removed ScopeChainNode* arguments to a lot of functions, since the ScopeChainNode* is now stored in the call frame header.
  • VM/RegisterFile.h: Renamed "CallerScopeChain" to "ScopeChain", since that's what it is now.
  • kjs/DebuggerCallFrame.cpp: Updated for change to ExecState signature.
  • kjs/ExecState.cpp:
  • kjs/ExecState.h: Nixed ExecState::m_callFrame, along with the unused isGlobalObject function.
  • kjs/JSGlobalObject.cpp:
  • kjs/JSGlobalObject.h: Gave the global object a fake call frame in which to store the global scope chain, since our code now assumes that it can always read the scope chain out of the ExecState's call frame.

JavaScriptGlue:

2008-09-29 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Forwarding headers to fix the build.

  • ForwardingHeaders/kjs/CTI.h: Copied from ForwardingHeaders/kjs/ExecState.h.
  • ForwardingHeaders/kjs/ustring.h: Copied from ForwardingHeaders/kjs/ExecState.h.
  • ForwardingHeaders/masm: Added.
  • ForwardingHeaders/masm/X86Assembler.h: Added.
  • ForwardingHeaders/profiler: Added.
  • ForwardingHeaders/profiler/Profiler.h: Added.

LayoutTests:

2008-09-29 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Test case for which prototype is used when calling "new" across windows.

  • fast/js/construct-global-object-expected.txt: Added.
  • fast/js/construct-global-object.html: Added.
5:42 PM Changeset in webkit [37085] by hyatt@apple.com
  • 4 edits
    1 add in trunk/WebCore

2008-09-29 David Hyatt <hyatt@apple.com>

Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page
now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars
and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
(Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)

Reviewed by Sam Weinig

  • WebCore.xcodeproj/project.pbxproj:
  • page/Chrome.h:
  • platform/HostWindow.h: Added. (WebCore::HostWindow::HostWindow): (WebCore::HostWindow::~HostWindow):
5:17 PM Changeset in webkit [37084] by kdecker@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Anders Carlsson.

  • bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of
4:42 PM Changeset in webkit [37083] by mitz@apple.com
  • 5 edits in trunk

WebCore:

Reviewed by Adam Roben.

  • WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added. (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being unloaded, to avoid calling uxtheme.dll functions after that library has been unloaded.
  • rendering/RenderThemeWin.h:

WebKit/win:

Reviewed by Adam Roben.

  • WebKit/win part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
  • WebKitDLL.cpp: (DllMain): Call RenderThemeWin::setWebKitIsBeingUnloaded() when WebKit is being unloaded.
4:10 PM Changeset in webkit [37082] by Chris Fleizach
  • 2 edits in trunk/WebCore

<rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas

3:50 PM Changeset in webkit [37081] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

3:49 PM Changeset in webkit [37080] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.4

New tag.

3:34 PM Changeset in webkit [37079] by timothy@apple.com
  • 6 edits in trunk/WebCore

Makes the node highlight always show up when hovering a node in
the Web Inspector now that the highlight does not scroll to reveal
the node. Also adds a hover effect in the inspector when hovering
causes a highlight in the page. This ties the user hovering action
to the highlight so it is clear what causes the highlight to appear.

Also the highlight now temporarily shows up for 2 seconds after
selecting a node in the DOM tree. So arrowing around in the tree
will show the node on the page, providing feedback to the user.

Plus fixes an issue where quickly moving away from hovering
a node would keep showing the page highlight. This was happening
in breadcrumbs and the DOM tree.

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

Reviewed by Kevin McCullough.

  • page/inspector/Console.js: (WebInspector.Console.prototype._mouseOverNode): Added. Used for hovering DOM nodes in the console. (WebInspector.Console.prototype._mouseOutOfNode): Ditto. (WebInspector.Console.prototype._formatnode): Use the new event listeners and add a class name to the anchor element.
  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel): Add new event listeners to the crumbs element to do the node hovering highlight. (WebInspector.ElementsPanel.prototype.hide): (WebInspector.ElementsPanel.prototype.reset): (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs): (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs): (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
  • page/inspector/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode): Show the node hishlight for 2 seconds then restore the highlight to the current hovered node. (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the hovered node and set the hovered state on the tree element. (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the hovered node to null and removed the hovered state from the previous hovered tree element. (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds the hovered class to the list item. (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
  • page/inspector/inspector.css:
  • page/inspector/inspector.js: (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon based on the showingDOMNodeHighlight property of 50ms or 500ms. This causes the highlight to change sooner if there is one already showing and appear later if there isn't one showing. This is like tooltips, hovering a node for 500ms will cause highlight then mousing between nodes will keep the highlight and change to the new node. (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and always reset the timeout so continuous mousing does not keep flasshing the highlight on the screen. (WebInspector._updateHoverHighlight): Removed the alt key check and added the showingDOMNodeHighlight property. (WebInspector.documentKeyDown): Removed the alt key check. (WebInspector.documentKeyUp): Ditto. (WebInspector.reset): Clear the hoveredDOMNode.
3:04 PM Changeset in webkit [37078] by Simon Fraser
  • 3 edits in trunk/WebCore

2008-09-29 Simon Fraser <Simon Fraser>

Reviewed by Anders Carlsson

Fix RenderStyle leak in animation code, and assert that
keyframe resolution in CSSStyleSelector is not going to clobber
m_style.

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::~KeyframeAnimation):
2:31 PM Changeset in webkit [37077] by Simon Fraser
  • 14 edits
    2 adds in trunk

2008-09-29 Chris Marrin <cmarrin@apple.com>

Reviewed by Dave Hyatt

Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
Rewrite keyframe resolution to be like styleForElement()

Test: animations/lineheight-animation.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::addKeyframeStyle): (WebCore::CSSStyleSelector::~CSSStyleSelector): (WebCore::CSSStyleSelector::keyframeStylesForAnimation): (WebCore::CSSRuleSet::addRulesFromSheet): (WebCore::CSSStyleSelector::mapAnimationName):
  • css/CSSStyleSelector.h:
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::updateKeyframeAnimations):
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::KeyframeAnimation): (WebCore::KeyframeAnimation::animate): (WebCore::KeyframeAnimation::hasAnimationForProperty): (WebCore::KeyframeAnimation::sendAnimationEvent): (WebCore::KeyframeAnimation::overrideAnimations): (WebCore::KeyframeAnimation::resumeOverriddenAnimations): (WebCore::KeyframeAnimation::affectsProperty): (WebCore::KeyframeAnimation::validateTransformFunctionList):
  • page/animation/KeyframeAnimation.h:
  • rendering/style/Animation.cpp: (WebCore::Animation::animationsMatch):
  • rendering/style/Animation.h:
  • rendering/style/KeyframeList.cpp: (WebCore::KeyframeList::~KeyframeList): (WebCore::KeyframeList::clear): (WebCore::KeyframeList::insert):
  • rendering/style/KeyframeList.h: (WebCore::KeyframeValue::KeyframeValue): (WebCore::KeyframeList::KeyframeList): (WebCore::KeyframeList::operator!=): (WebCore::KeyframeList::animationName): (WebCore::KeyframeList::addProperty): (WebCore::KeyframeList::containsProperty): (WebCore::KeyframeList::beginProperties): (WebCore::KeyframeList::endProperties): (WebCore::KeyframeList::isEmpty): (WebCore::KeyframeList::size): (WebCore::KeyframeList::beginKeyframes): (WebCore::KeyframeList::endKeyframes):
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareNonInheritedData.cpp:
  • rendering/style/StyleRareNonInheritedData.h:
2:24 PM Changeset in webkit [37076] by Simon Fraser
  • 4 edits
    2 adds in trunk

2008-09-29 Chris Marrin <cmarrin@apple.com>

Reviewed by Eric Seidel

Clean up fix in PropertyWrapperGetter::equals
https://bugs.webkit.org/show_bug.cgi?id=21011

Test: transitions/override-transition-crash.html

  • page/animation/AnimationBase.cpp: (WebCore::PropertyWrapperGetter::equals):
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::updateTransitions):
2:21 PM Changeset in webkit [37075] by Simon Fraser
  • 6 edits
    2 adds in trunk

2008-09-29 Chris Marrin <cmarrin@apple.com>

Reviewed by Eric Seidel

https://bugs.webkit.org/show_bug.cgi?id=21001
Starting transition after animation, when animation
is finished, transition is wrong.

Test: animations/transition-and-animation-2.html

  • page/animation/AnimationBase.h:
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::updateTransitions): (WebCore::CompositeAnimation::updateKeyframeAnimations): (WebCore::CompositeAnimation::resetTransitions): (WebCore::CompositeAnimation::cleanupFinishedAnimations):
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::ImplicitAnimation): (WebCore::ImplicitAnimation::~ImplicitAnimation): (WebCore::ImplicitAnimation::animate): (WebCore::ImplicitAnimation::reset):
  • page/animation/ImplicitAnimation.h:
2:18 PM Changeset in webkit [37074] by Simon Fraser
  • 6 edits
    2 adds in trunk

2008-09-29 Chris Marrin <cmarrin@apple.com>

Reviewed by Sam Weinig

https://bugs.webkit.org/show_bug.cgi?id=20921
-webkit-animation-timing-function: inside of keyframes is ignored

Test: animations/keyframe-timing-functions.html

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::progress):
  • page/animation/AnimationBase.h:
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::animate):
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::animate):
2:09 PM Changeset in webkit [37073] by Simon Fraser
  • 1 edit
    5 adds in trunk/LayoutTests

2008-09-29 Chris Marrin <cmarrin@apple.com>

Reviewed by Darin Adler

Testcase for crash when parsing keyframes from an @imported
CSS file
https://bugs.webkit.org/show_bug.cgi?id=20855

  • animations/import-crash-expected.txt: Added.
  • animations/import-crash.html: Added.
  • animations/import-expected.txt: Added.
  • animations/import.html: Added.
  • animations/resources/keyframes.css: Added.
2:04 PM Changeset in webkit [37072] by mitz@apple.com
  • 2 edits in trunk/WebCore

Windows build fix, take 3

1:57 PM Changeset in webkit [37071] by mitz@apple.com
  • 2 edits in trunk/WebCore

Windows build fix, take 2

1:52 PM Changeset in webkit [37070] by mitz@apple.com
  • 2 edits in trunk/WebCore

Windows build fix

1:09 PM Changeset in webkit [37069] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-09-29 David Hyatt <hyatt@apple.com>

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

Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows.
It's silly that the code was this fragile, but for now just put the check back in.

Reviewed by Dan Bernstein

  • platform/ScrollView.cpp: (WebCore::ScrollView::setScrollbarModes):
12:49 PM Changeset in webkit [37068] by cwzwarich@webkit.org
  • 5 edits in trunk/JavaScriptCore

2008-09-29 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Sam Weinig.

Remove the isActivationObject() virtual method on JSObject and use
StructureID information instead. This should be slightly faster, but
isActivationObject() is only used in assertions and unwinding the stack
for exceptions.

  • VM/Machine.cpp: (JSC::depth): (JSC::Machine::unwindCallFrame): (JSC::Machine::privateExecute): (JSC::Machine::cti_op_ret_activation):
  • kjs/JSActivation.cpp:
  • kjs/JSActivation.h:
  • kjs/JSObject.h:
12:46 PM Changeset in webkit [37067] by hyatt@apple.com
  • 8 edits in trunk/WebCore

2008-09-29 David Hyatt <hyatt@apple.com>

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

Make setScrollPosition and scroll() cross-platform.

Reviewed by Anders

  • platform/ScrollView.cpp: (WebCore::ScrollView::setScrollPosition): (WebCore::ScrollView::scroll):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformSetScrollPosition): (WebCore::ScrollView::platformScroll):
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformSetScrollPosition): (WebCore::ScrollView::platformScroll):
12:09 PM Changeset in webkit [37066] by kmccullough@apple.com
  • 3 edits in trunk/WebCore

2008-09-29 Kevin McCullough <kmccullough@apple.com>

Reviewed by Oliver.

Bug 21139: Profiler log message is wrong

  • Because _format was called twice the number in the log was incremented too many times, but we were passing it around in the link the whole time
  • page/inspector/ProfilesPanel.js:
  • page/inspector/inspector.js:
12:09 PM Changeset in webkit [37065] by weinig@apple.com
  • 6 edits in trunk/WebCore

2008-09-29 Sam Weinig <sam@webkit.org>

Reviewed by Cameron Zwarich.

Autogenerate EventListeners, addEventListener and removeEventListener
for JSDOMWindow.

  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::onwebkitanimationstart): (WebCore::JSDOMWindow::setOnwebkitanimationstart): (WebCore::JSDOMWindow::onwebkitanimationiteration): (WebCore::JSDOMWindow::setOnwebkitanimationiteration): (WebCore::JSDOMWindow::onwebkitanimationend): (WebCore::JSDOMWindow::setOnwebkitanimationend): (WebCore::JSDOMWindow::onwebkittransitionend): (WebCore::JSDOMWindow::setOnwebkittransitionend): (WebCore::JSDOMWindow::addEventListener): (WebCore::JSDOMWindow::removeEventListener): (WebCore::JSDOMWindow::setListener): (WebCore::JSDOMWindow::getListener):
  • bindings/scripts/CodeGeneratorJS.pm:
  • page/DOMWindow.idl:
9:08 AM Changeset in webkit [37064] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-09-29 Gunnar Sletta <gunnar@trolltech.com>

Reviewed by Simon

Compile on windows using MSVC 2005

For the PCH We need to define _WIN32_WINNT and include windows.h early on,
otherwise we'll miss several functions.

9:03 AM Changeset in webkit [37063] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-29 Peter Gal <galpeter@inf.u-szeged.hu>

Reviewed and tweaked by Darin Adler.

Fix build for non-all-in-one platforms.

  • kjs/StringPrototype.cpp: Added missing ASCIICType.h include.
7:55 AM Changeset in webkit [37062] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-09-29 Bradley T. Hughes <bradley.hughes@nokia.com>

Reviewed by Simon.

Fix compilation with icpc

5:47 AM Changeset in webkit [37061] by Simon Hausmann
  • 139 edits in trunk

2008-09-29 Thiago Macieira <thiago.macieira@nokia.com>

Reviewed by Simon.

Changed copyright from Trolltech ASA to Nokia.

Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.

4:48 AM Changeset in webkit [37060] by jchaffraix@webkit.org
  • 11 edits
    2 adds in trunk

WebCore:

2008-09-26 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 5727: We want to evaluate scripts in viewless documents
https://bugs.webkit.org/show_bug.cgi?id=5727

Add the posibility to evaluate script or fetch resources on viewless
document using the EmptyClient workaround.

Test: fast/loader/viewless-document.html

  • dom/Document.h: (WebCore::Document::setFrame): Method to set the Document's Frame, added a warning that it should be used under special circumstances.
  • dom/ScriptElement.cpp: (WebCore::ScriptElementData::requestScript): If the frame is empty (viewless document), get a dummy Frame to be able to evalute the script. (WebCore::ScriptElementData::evaluateScript): Ditto.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Take a bool to toogle empty Document creation.

(WebCore::FrameLoader::fakeLoad): Fake remote resource load.

(WebCore::FrameLoader::createDummyFrame):

  • loader/FrameLoader.h:
  • page/Frame.cpp: (WebCore::Frame::isDummyFrame): (WebCore::Frame::setIsDummyFrame): (WebCore::Frame::setDocument):

(WebCore::FramePrivate::FramePrivate): Added m_isDummyFrame.
(WebCore::FramePrivate::~FramePrivate): We have to free the Page if it is a dummyFrame
(a dummyFrame own its Page).

  • page/Frame.h:
  • page/FramePrivate.h:
  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::SVGImage): (WebCore::SVGImage::dataChanged): Use the dummy Frame work-around.
  • svg/graphics/SVGImage.h: Removed unused members.

LayoutTests:

2008-09-26 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.


Bug 5727: We want to evaluate scripts in viewless documents
https://bugs.webkit.org/show_bug.cgi?id=5727


  • fast/loader/viewless-document-expected.txt: Added.
  • fast/loader/viewless-document.html: Added.


4:46 AM QtWebKitContrib edited by ariya.hidayat@trolltech.com
(diff)
4:24 AM QtWebKitJournal edited by ariya.hidayat@trolltech.com
(diff)
4:24 AM QtWebKitJournal created by ariya.hidayat@trolltech.com
4:14 AM QtWebKitTodo edited by ariya.hidayat@trolltech.com
(diff)
2:03 AM Changeset in webkit [37059] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-09-29 Thiago Macieira <thiago.macieira@trolltech.com>

Reviewed by Simon

Fix compilation with gcc 4.3

gcc 4.3 is stricter and ctype.h isn't getting included

automatically here by dependencies. So do it directly.

2:02 AM Changeset in webkit [37058] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-09-29 Morten Sørvig <msorvig@trolltech.com>

Reviewed by Simon.

Fix compilation with Qt/Mac without plugins.

2:02 AM Changeset in webkit [37057] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-09-29 Simon Hausmann <Simon Hausmann>

Reviewed by Lars.

Don't accidentially install libJavaScriptCore.a for the build inside
Qt.

1:20 AM Changeset in webkit [37056] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
In the few places that we call .upper() in WebCore the strings represent things like
tag and attribute names, which are nearly always going to be ASCII.

Reviewed by Sam Weinig.

  • platform/text/StringImpl.cpp:

(WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
in to Unicode::toLower the second time.
(WebCore::StringImpl::upper):

1:19 AM Changeset in webkit [37055] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
rather than String::operator+=.

Reviewed by Sam Weinig.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::cssText):

1:19 AM Changeset in webkit [37054] by mrowe@apple.com
  • 3 edits in trunk/WebCore

Speed up computedStyle.getPropertyValue('color') by 4.5x.

Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
as it avoids many memory reallocations.

This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
unrelated properties on an element.

Reviewed by Oliver Hunt.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
and use appendNumber rather than the String::number in order to cut down on memory allocations.

  • platform/text/PlatformString.h:

(WebCore::appendNumber): A helper function for formatting an unsigned character as a number
into a Vector<UChar>.

Sep 28, 2008:

9:17 PM Changeset in webkit [37053] by weinig@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fix spelling

9:16 PM Changeset in webkit [37052] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-09-28 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Remove spurious call to lower().

  • css/MediaQueryEvaluator.cpp: (WebCore::MediaQueryEvaluator):
8:41 PM Changeset in webkit [37051] by weinig@apple.com
  • 3 edits in trunk/WebCore

2008-09-28 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Use a CaseFoldingHash instead of calling lower on family strings.

  • css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::addFontFaceRule): (WebCore::CSSFontSelector::getFontData):
  • css/CSSFontSelector.h:
8:04 PM Changeset in webkit [37050] by cwzwarich@webkit.org
  • 18 edits in trunk/JavaScriptCore

2008-09-28 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 21200: Allow direct access to 'arguments' without using op_resolve
<https://bugs.webkit.org/show_bug.cgi?id=21200>

Allow fast access to the 'arguments' object by adding an extra slot to
the callframe to store it.

  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::registerFor):
  • VM/CodeGenerator.h: (JSC::CodeGenerator::registerFor):
  • VM/Machine.cpp: (JSC::Machine::initializeCallFrame): (JSC::Machine::dumpRegisters): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_create_arguments): (JSC::Machine::cti_op_construct_JSConstruct):
  • VM/Machine.h:
  • VM/Opcode.h:
  • VM/RegisterFile.h: (JSC::RegisterFile::):
  • kjs/JSActivation.cpp: (JSC::JSActivation::mark): (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h: (JSC::JSActivation::JSActivationData::JSActivationData):
  • kjs/NodeInfo.h:
  • kjs/Parser.cpp: (JSC::Parser::didFinishParsing):
  • kjs/Parser.h: (JSC::Parser::parse):
  • kjs/grammar.y:
  • kjs/nodes.cpp: (JSC::ScopeNode::ScopeNode): (JSC::ProgramNode::ProgramNode): (JSC::ProgramNode::create): (JSC::EvalNode::EvalNode): (JSC::EvalNode::create): (JSC::FunctionBodyNode::FunctionBodyNode): (JSC::FunctionBodyNode::create):
  • kjs/nodes.h: (JSC::ScopeNode::usesArguments):
7:45 PM Changeset in webkit [37049] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Add an ASCII fast-path to toLowerCase and toUpperCase.

The fast path speeds up the common case of an ASCII-only string by up to 60% while adding a less than 5% penalty
to the less common non-ASCII case.

This also removes stringProtoFuncToLocaleLowerCase and stringProtoFuncToLocaleUpperCase, which were identical
to the non-locale variants of the functions. toLocaleLowerCase and toLocaleUpperCase now use the non-locale
variants of the functions directly.

Reviewed by Sam Weinig.

  • kjs/StringPrototype.cpp:

(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):

7:00 PM Changeset in webkit [37048] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Speed up parseInt and parseFloat.

Repeatedly indexing into a UString is slow, so retrieve a pointer into the underlying buffer once up front
and use that instead. This is a 7% win on a parseInt/parseFloat micro-benchmark.

Reviewed by Cameron Zwarich.

4:57 PM Changeset in webkit [37047] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools

Bug 21185: resolve-ChangeLogs should be able to fix poorly merged ChangeLog entries after a git svn rebase

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

Reviewed by Adam.

Scripts/resolve-ChangeLogs: Added new -ffix-merge switch that

will attempt to reapply the last commit to a ChangeLog file such
that the ChangeLog entry appears at the top of the file.
(findChangeLog): Added prototype and moved method below the exit
statement.
(fixMergedChangeLog): Added. Method to fix incorrectly merged
ChangeLog entries.

4:31 PM Changeset in webkit [37046] by timothy@apple.com
  • 9 edits in trunk

Improves the Web Inspector node highlight so it does not scroll to reveal the node in the page.

WebCore:

2008-09-28 Timothy Hatcher <timothy@apple.com>

Remove the scrollIntoViewIfNeeded() call when drawing the
Inspector node highlight.

<rdar://problem/6115804> Don't scroll when highlighting (21000)
https://bugs.webkit.org/show_bug.cgi?id=21000

Reviewed by Dan Bernstein.

  • page/InspectorController.cpp: (WebCore::InspectorController::drawNodeHighlight):

WebKit/mac:

2008-09-28 Timothy Hatcher <timothy@apple.com>

Improves the Web Inspector node highlight so it does not scroll
to reveal the node in the page. This makes the highlight less
invasive and causes less things to change on screen. Also makes
the highlight redraw when the WebView draws, so it stays current
if the node changes on the page for any reason.

<rdar://problem/6115804> Don't scroll when highlighting (21000)
https://bugs.webkit.org/show_bug.cgi?id=21000

Reviewed by Dan Bernstein.

  • WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController highlightNode:]): Call setNeedsDisplay:YES if there is an existing highlight. (-[WebInspectorWindowController didAttachWebNodeHighlight:]): Set the current highlight node on the inspected WebView. (-[WebInspectorWindowController willDetachWebNodeHighlight:]): Set the current highlight node on the inspected WebView to nil.
  • WebInspector/WebNodeHighlight.m: (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Disable screen updates until flush for the inspected window. Invalidate the whole highlight view since we don't know the rect that needs updated since the highlight can be larger than the highlighted element due to the margins and other factors.
  • WebInspector/WebNodeHighlightView.m:
  • WebView/WebHTMLView.mm: (-[WebHTMLView drawSingleRect:]): Call setNeedsUpdateInTargetViewRect: on the current highlight node.
  • WebView/WebView.mm: (-[WebViewPrivate dealloc]): Release the current highlight node. (-[WebView setCurrentNodeHighlight:]): Set the current highlight node. (-[WebView currentNodeHighlight]): Return the current highlight node.
  • WebView/WebViewInternal.h:
12:58 PM Changeset in webkit [37045] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-09-28 David Hyatt <hyatt@apple.com>

Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
changed.

Reviewed by Dan Bernstein

  • platform/mac/ScrollbarThemeMac.mm: (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
12:52 PM Changeset in webkit [37044] by timothy@apple.com
  • 2 edits in trunk/WebCore

Clear the current search results in the Inspector when
the search query is less than 3 characters long. Incremental
searches only occur for 3 characters or longer, but deleting
under this limit would not clear the results unless the whole
query was deleted.

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

Reviewed by Dan Bernstein.

  • page/inspector/inspector.js: (WebInspector.performSearch): Check for short queries in the if statement that triggers the clear.
12:41 PM Changeset in webkit [37043] by mitz@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fix typo noticed by Hyatt in review, which I forgot to fix before checking in.

12:38 PM Changeset in webkit [37042] by mitz@apple.com
  • 4 edits in trunk/WebCore

Reviewed by Dave Hyatt.

  • fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
  • platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and overlayLength parameters. (WebCore::EOTStream::read): Added code to overlay the the m_overlayLength bytes starting at m_overlayDst with the same number of bytes from m_overlaySrc. (WebCore::createFontCustomPlatformData): Changed to get overlay parameters from getEOTHeader.
  • platform/graphics/win/GetEOTHeader.cpp: (WebCore::getEOTHeader): Added code to specify overlaying of the family name with the prefix of the full name if they differ, because that such a difference causes TTLoadEmbeddedFont to fail.
  • platform/graphics/win/GetEOTHeader.h:
12:17 PM QtWebKitTodo edited by Simon Hausmann
(diff)
11:57 AM Changeset in webkit [37041] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-09-28 Simon Hausmann <Simon Hausmann>

Reviewed by David Hyatt.

Ensure the mainThreadIdentifier is set as well as other bits and pieces of
the threading machinery, by calling JSC::initializeThreading().

11:56 AM Changeset in webkit [37040] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-09-28 Simon Hausmann <Simon Hausmann>

Reviewed by David Hyatt.

In Qt's initializeThreading re-use an existing thread identifier for the main
thread if it exists.

currentThread() implicitly creates new identifiers and it could be that
it is called before initializeThreading().

11:48 AM QtWebKitGitInstructions edited by Simon Hausmann
Update to the current branch situation (diff)
11:43 AM QtWebKitTodo edited by Simon Hausmann
Cleanups and start of 4.5 plan (diff)
11:22 AM Changeset in webkit [37039] by ddkilzer@apple.com
  • 2 edits in trunk/WebKit/mac

Fix build warning in WebDefaultUIDelegate.m

Reviewed by Dan Bernstein.

This fixes a warning noticed by the clang static analyzer:
.../WebDefaultUIDelegate.m: In function ‘-[WebDefaultUIDelegate webViewFirstResponder:]’:
.../WebDefaultUIDelegate.m:92: warning: initialization from distinct Objective-C type

Note that this doesn't actually cause any change in behavior since
the gcc compiler ignores the semi-colon anyway.

  • DefaultDelegates/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate webViewFirstResponder:]): Removed semi-colon from method signature.
6:23 AM Changeset in webkit [37038] by ap@webkit.org
  • 6 edits in trunk

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=20366
Reproducible test failure for editing/undo/undo-iframe-location-change.html

This does not fix the problem, but makes the test more predictable by using iframe onload.
Also, makes the test runnable in browser. Turns out that the test reliably fails there too,
even without any special steps needed in DRT.

  • editing/undo/undo-iframe-location-change-expected.txt:
  • editing/undo/undo-iframe-location-change.html:
  • ChangeLog-2007-10-14: Added bug URLs for a patch that included this test.

WebCore:

  • ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
2:35 AM Changeset in webkit [37037] by Darin Adler
  • 28 edits in trunk/WebCore

2008-09-28 Darin Adler <Darin Adler>

Reviewed by Sam Weinig (except for a few comment and header tweaks).

Speeds up Dromaeo a bit less than 1%.

  • bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of Node.h now that some inlines are in there.
  • dom/Attr.h: Override both the virtual and non-virtual name functions.
  • dom/ChildNodeList.cpp: (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
  • dom/ChildNodeList.h: Ditto.
  • dom/ClassNodeList.cpp: (WebCore::ClassNodeList::nodeMatches): Ditto.
  • dom/ClassNodeList.h: Ditto.
  • dom/Document.h: Put the Node::isDocumentNode() function's inline definition here where it can see the Document class definition.
  • dom/DynamicNodeList.cpp: (WebCore::DynamicNodeList::length): Changed to pass an Element. (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto. (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto. (WebCore::DynamicNodeList::itemWithName): Ditto.
  • dom/DynamicNodeList.h: Ditto.
  • dom/Element.cpp: Removed virtualHasTagName.
  • dom/Element.h: Made localName, prefix, namespaceURI, and styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName, virtualNamespaceURI, and removed virtualHasTagName. Put the Node::hasTagName, Node::hasAttributes, and Node::attributes functions' inline definitions here where they can see the Element class definition.
  • dom/NameNodeList.cpp: (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
  • dom/NameNodeList.h: Ditto.
  • dom/Node.cpp: (WebCore::Node::virtualPrefix): Renamed from prefix. (WebCore::Node::virtualLocalName): Renamed from localName. (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI. (WebCore::Node::styleForRenderer): Handle the Element case here.
  • dom/Node.h: Removed definition of hasTagName that calls virtual, since we now have a non-virtual version. Made hasAttributes, attributes, remove, localName, namespaceURI, prefix, isDocumentNode, and styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName, and virtualNamespaceURI. Removed isMalformed and setMalformed, which are used only on HTMLFormElement objects.
  • dom/TagNodeList.cpp: (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
  • dom/TagNodeList.h: Ditto.
  • html/HTMLAnchorElement.cpp: Added a comment.
  • html/HTMLFormControlElement.cpp: Ditto.
  • html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex function. Marked tabIndex function virtual explicitly for clarity.
  • html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex function. Marked isFocusable function virtual explicitly for clarity.
  • html/HTMLElement.h: Marked tabIndex function virtual explicitly for clarity.
  • html/HTMLFormControlElement.h: Ditto.
  • html/HTMLFormElement.h: Made isMalformed non-virtual.
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement pointer to call localName since that one does not need to call a virtual function.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before calling isMalformed. We already did a tag name check so we know it's an HTMLFormELement.
  • xml/XPathUtil.cpp: (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls to nodeType(), since it's a virtual function.
2:33 AM Changeset in webkit [37036] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/wx/MouseWheelEventWx.cpp

Fix wx bustage.

1:52 AM Changeset in webkit [37035] by hyatt@apple.com
  • 7 edits in trunk/WebCore

2008-09-28 David Hyatt <hyatt@apple.com>

Make frameRectsChanged() cross-platform on ScrollView.

Reviewed by Oliver Hunt

  • platform/ScrollView.cpp: (WebCore::ScrollView::frameRectsChanged):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp:
1:36 AM Changeset in webkit [37034] by oliver@apple.com
  • 2 edits in trunk/WebCore

Bug 21141: REGRESSION: Exception messages for user entered commands are poor
<https://bugs.webkit.org/show_bug.cgi?id=21141>

Reviewed by Maciej Stachowiak.

The bug repsonsible for this was the the JSInspectedObjectWrapper instances
were not initialising their StructureID's to indicate that the wrapper
overrides hasInstance, etc. The solution is simply to use the createStructureID
helper on JSQuarantinedObjectWrapper to create a correct StructureID.

1:30 AM Changeset in webkit [37033] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/webkit/webkitwebview.cpp

Fix GTK bustage.

1:29 AM Changeset in webkit [37032] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-09-28 David Hyatt <hyatt@apple.com>

Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
terms of lines.

Reviewed by Oliver Hunt

  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchWheelEvent):
1:21 AM Changeset in webkit [37031] by hyatt@apple.com
  • 16 edits in trunk/WebCore

2008-09-28 David Hyatt <hyatt@apple.com>

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

Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
on ScrollView to be cross-platform.

Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
events are now pixel wheel events.

Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
(1) Page scrolling has been corrected to be properly detected (on Windows
page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
you could page scroll horizontally.
(2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
This caused the scroll amount for page scrolling to be way too large on layers.

Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.

Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).

Reviewed by Oliver Hunt

  • editing/EditorCommand.cpp: (WebCore::verticalScrollDistance):
  • page/EventHandler.cpp: (WebCore::scrollAndAcceptEvent): (WebCore::EventHandler::handleWheelEvent):
  • platform/PlatformWheelEvent.h: (WebCore::): (WebCore::PlatformWheelEvent::pos): (WebCore::PlatformWheelEvent::globalPos): (WebCore::PlatformWheelEvent::deltaX): (WebCore::PlatformWheelEvent::deltaY): (WebCore::PlatformWheelEvent::granularity): (WebCore::PlatformWheelEvent::x): (WebCore::PlatformWheelEvent::globalX): (WebCore::PlatformWheelEvent::ignore): (WebCore::PlatformWheelEvent::horizontalLineMultiplier): (WebCore::PlatformWheelEvent::verticalLineMultiplier):
  • platform/ScrollView.cpp: (WebCore::ScrollView::wheelEvent):
  • platform/Scrollbar.h:
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::updateScrollbars):
  • platform/gtk/WheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  • platform/mac/ScrollViewMac.mm:
  • platform/mac/WheelEventMac.mm: (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::updateScrollbars):
  • platform/qt/WheelEventQt.cpp:
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::updateScrollbars):
  • platform/win/WheelEventWin.cpp: (WebCore::PlatformWheelEvent::horizontalLineMultiplier): (WebCore::PlatformWheelEvent::verticalLineMultiplier): (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): (WebCore::ScrollView::wheelEvent):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateScrollInfoAfterLayout):

Sep 27, 2008:

10:38 PM Changeset in webkit [37030] by eric.carlson@apple.com
  • 5 edits in trunk/WebCore

2008-09-27 Eric Carlson <eric.carlson@apple.com>

Reviewed by Sam Weinig.

fix https://bugs.webkit.org/show_bug.cgi?id=20994
<rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned


HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
all unsigned media attributes from string with toUInt() instead of toInt().


  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
  • html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::videoWidth): (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl. (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return unsigned value. (WebCore::HTMLVideoElement::height): Ditto. (WebCore::HTMLVideoElement::setWidth): take unsigned value. (WebCore::HTMLVideoElement::setHeight): Ditto.
  • html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
  • html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
9:59 PM Changeset in webkit [37029] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/mac/WheelEventMac.mm

Fix indentation error from bug 17589 fix made in WheelEventMac.mm

9:57 PM Changeset in webkit [37028] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/PlatformWheelEvent.h

It's SENSITIVE. SENSITIVE. Not SENSIBLE.

9:40 PM Changeset in webkit [37027] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes an exception when typing a command in the Console.

Reviewed by Oliver Hunt.

  • page/inspector/Console.js: (WebInspector.Console.prototype.addMessage): Null check this.previosMessage.
9:40 PM Changeset in webkit [37026] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes a bug where the Profiles panel sidebar would be empty
after closing and reopening the Web Inspector.

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

Reviewed by Sam Weinig.

  • page/inspector/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.reset): Don't call populateInterface, it is called automatically. (WebInspector.ProfilesPanel.prototype._populateProfiles): Return early if the sidebar is already populated.
9:38 PM Changeset in webkit [37025] by hyatt@apple.com
  • 2 edits in trunk/WebCore

Fix for line step being too small on Windows.

8:51 PM Changeset in webkit [37024] by hyatt@apple.com
  • 7 edits in trunk/WebCore

2008-09-27 David Hyatt <hyatt@apple.com>

Make the scrollbarUnderMouse method cross-platform.

Reviewed by Sam Weinig

  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollbarUnderMouse):
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/mac/ScrollViewMac.mm:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp:
6:50 PM Changeset in webkit [37023] by zecke@webkit.org
  • 2 edits in trunk/WebCore

Gtk+ build fix.

6:49 PM Changeset in webkit [37022] by zecke@webkit.org
  • 5 edits in trunk

/
2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=20287
[Gtk] disable plugins for gtk/directfb target

Introduce WTF_PLATFORM_X11 for X11 builds.
Also use target-specific packages when building the port

  • configure.ac: Do not check for cairo-ft for directfb builds.

WebCore
2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=20287
[Gtk] disable plugins for gtk/directfb target

Introduce WTF_PLATFORM_X11 for X11 builds.
Also use target-specific packages when building the port

  • platform/gtk/PlatformScreenGtk.cpp:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::getValueStatic): (WebCore::PluginView::getValue): (WebCore::PluginView::init):
6:08 PM Changeset in webkit [37021] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebView.cpp

Missed WebKit single line change.

6:07 PM Changeset in webkit [37020] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.cpp

Oops. Checked in stale file.

6:07 PM Changeset in webkit [37019] by hyatt@apple.com
  • 12 edits in trunk/WebCore

2008-09-27 David Hyatt <hyatt@apple.com>

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

Make scrollbar suppression and resizer avoidance cross-platform.

Reviewed by Anders

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::transitionToCommitted):
  • page/FrameView.cpp: (WebCore::FrameView::resetScrollbars): (WebCore::FrameView::clear): (WebCore::FrameView::layout): (WebCore::FrameView::restoreScrollbar): (WebCore::FrameView::windowResizerRect):
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::init): (WebCore::ScrollView::resizerOverlapsContent): (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount): (WebCore::ScrollView::setParent): (WebCore::ScrollView::setScrollbarsSuppressed): (WebCore::ScrollView::platformSetScrollbarsSuppressed):
  • platform/ScrollView.h: (WebCore::ScrollView::scrollbarsSuppressed): (WebCore::ScrollView::windowResizerRect):
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::setFrameRect): (WebCore::Scrollbar::setParent):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::paint):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::~ScrollView): (WebCore::ScrollView::platformSetScrollbarsSuppressed): (WebCore::ScrollView::setScrollPosition):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::frameRectsChanged): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::paint):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::paint):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
4:58 PM Changeset in webkit [37018] by timothy@apple.com
  • 1 edit in trunk/LayoutTests/fast/dom/Window/window-properties-expected.txt

Update a layout test result to add console.trace.

4:46 PM Changeset in webkit [37017] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>

Rubber-stamped by Anders Carlsson.

Compile fix.

  • plugins/PluginView.cpp: (WebCore::PluginView::load):
4:23 PM Changeset in webkit [37016] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html

Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.

Rubber-stamped by Sam Weinig.

  • loader/CachedResource.cpp:

(WebCore::CachedResource::~CachedResource):

3:56 PM Changeset in webkit [37015] by zecke@webkit.org
  • 2 edits in trunk

2008-09-27 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=21174
[GTK][AUTOTOOLS] Enable large file support at configure time

  • configure.ac: Enable large file support with AC_SYS_LARGEFILE.
3:46 PM Changeset in webkit [37014] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[qt] Use QImageReader to figure out which image formats are supported

  • Qt can have many different plugins for different image formats. Instead of checking only for a few in WebCore use Qt to determine if this data can be treated as an image.
3:45 PM Changeset in webkit [37013] by zecke@webkit.org
  • 3 edits in trunk/WebCore

[qt] Clean the pattern code

  • Use save/restore on the painter after manipulating the pen/brush
  • Make the context and object null checking consistent. CG is using the object unconditionally so the Qt webkit platform can do the same.
  • Move code below the early exit. Only use the m_ownerElement before the early exit as the CG code is doing it.
3:18 PM Changeset in webkit [37012] by timothy@apple.com
  • 8 edits in trunk

Added support for console.trace.

JavaScriptCore:

2008-09-27 Keishi Hattori <casey.hattori@gmail.com>

Added Machine::retrieveCaller to the export list.

Reviewed by Kevin McCullough and Tim Hatcher.

WebCore:

2008-09-27 Keishi Hattori <casey.hattori@gmail.com>

Added support for console.trace.

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

Reviewed by Kevin McCullough and Tim Hatcher.

  • bindings/js/JSConsoleCustom.cpp: (WebCore::JSConsole::trace):
  • page/Console.cpp: (WebCore::Console::trace): Calls Machine::retrieveCaller to get a stack trace.
  • page/Console.h: (WebCore::): Added TraceMessageLevel.
  • page/Console.idl: Added console.trace.
  • page/inspector/Console.js: (ConsoleMessage): Added case for TraceMessageLevel.
3:18 PM Changeset in webkit [37011] by hyatt@apple.com
  • 2 edits in trunk/WebKit/mac

2008-09-27 David Hyatt <hyatt@apple.com>

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

Make sure Mac null checks the view like the other platforms do now that Mac goes through WebCore
to call setAllowsScrolling.

Reviewed by Mark Rowe

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createFrame):
3:15 PM Changeset in webkit [37010] by hyatt@apple.com
  • 5 edits in trunk/WebKit

WebKit/qt:

2008-09-27 David Hyatt <hyatt@apple.com>

Forgot to land renaming changes in WebKit.

  • Api/qwebframe.cpp: (QWebFrame::render): (QWebFrame::pos): (QWebFrame::geometry):
  • Api/qwebpage.cpp: (QWebPage::viewportSize): (QWebPage::setViewportSize):

WebKit/win:

2008-09-27 David Hyatt <hyatt@apple.com>

Land the frameGeometry->frameRect changes that I forgot to land in WebKit.

  • Interfaces/IWebScrollBarPrivate.idl:
  • WebCoreSupport/EmbeddedWidget.cpp: (EmbeddedWidget::setFrameRect): (EmbeddedWidget::frameRectsChanged):
  • WebCoreSupport/EmbeddedWidget.h:
  • WebScrollBar.cpp: (WebScrollBar::setRect): (WebScrollBar::frameRect):
  • WebScrollBar.h:
2:30 PM Changeset in webkit [37009] by mitz@apple.com
  • 1 edit
    2 moves in trunk/LayoutTests

Rubber-stamped by Sam Weinig.

  • fix typo in test name
  • media/video-click-dblckick-standalone-expected.txt: Copied from media/video-click-dlbclick-standalone-expected.txt.
  • media/video-click-dblckick-standalone.html: Copied from media/video-click-dlbclick-standalone.html.
  • media/video-click-dlbclick-standalone-expected.txt: Removed.
  • media/video-click-dlbclick-standalone.html: Removed.
2:28 PM Changeset in webkit [37008] by andersca@apple.com
  • 7 edits
    2 adds in trunk

WebCore:

2008-09-27 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

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

Check if the plug-in is allowed to load the resource. This matches Firefox.

Test: http/tests/plugins/local-geturl-from-remote.html

  • plugins/PluginView.cpp: (WebCore::PluginView::load):

WebKit/mac:

2008-09-27 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

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

Check if the plug-in is allowed to load the resource. This matches Firefox.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):

WebKitTools:

2008-09-27 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.


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


Return the result value from getURL.


  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: (getURL):

LayoutTests:

2008-09-27 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

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


Add tests.


  • http/tests/plugins/local-geturl-from-remote-expected.txt: Added.
  • http/tests/plugins/local-geturl-from-remote.html: Added.
2:13 PM Changeset in webkit [37007] by andersca@apple.com
  • 4 edits in trunk/WebKit/win

2008-09-27 Anders Carlsson <andersca@apple.com>

Fix build.

  • WebCoreSupport/EmbeddedWidget.cpp: (EmbeddedWidget::setFrameRect): (EmbeddedWidget::frameRectsChanged):
  • WebCoreSupport/EmbeddedWidget.h:
  • WebScrollBar.cpp: (WebScrollBar::setRect): (WebScrollBar::frameGeometry):
2:06 PM Changeset in webkit [37006] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-09-22 Dirk Schulze <vbs85@gmx.de>

Reviewed by Eric Seidel.

Added SVG pattern support to Qt.

[Qt] SVG patterns are missing
https://bugs.webkit.org/show_bug.cgi?id=20973

  • svg/graphics/qt/SVGPaintServerPatternQt.cpp: (WebCore::SVGPaintServerPattern::setup):
1:18 PM Changeset in webkit [37005] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixed a bug in the JS syntax highlighter with multiple line tokens.

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

Reviewed by Tim Hatcher.

  • page/inspector/SourceFrame.js: (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
1:18 PM Changeset in webkit [37004] by timothy@apple.com
  • 2 edits in trunk/WebCore

Change searching in the Profiles panel to not match the
Self and Total columns when there are no units. The only
column that is matched for unitless number searches is
now the Calls column.

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

Reviewed by Sam Weinig.

  • page/inspector/ProfileView.js: (WebInspector.ProfileView.prototype.performSearch):
12:56 PM Changeset in webkit [37003] by hyatt@apple.com
  • 11 edits in trunk/WebCore

2008-09-27 David Hyatt <hyatt@apple.com>

Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.

Reviewed by Sam Weinig

  • platform/ScrollView.h:
  • platform/Widget.h: (WebCore::Widget::boundsRect): (WebCore::Widget::invalidate): (WebCore::Widget::frameRectsChanged):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollViewScrollbar::frameRectsChanged): (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::frameRectsChanged):
  • platform/gtk/ScrollbarGtk.cpp: (ScrollbarGtk::setFrameRect): (ScrollbarGtk::frameRectsChanged):
  • platform/gtk/ScrollbarGtk.h:
  • platform/gtk/WidgetGtk.cpp:
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::frameRectsChanged): (WebCore::ScrollView::updateScrollbars):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::frameRectsChanged):
  • plugins/PluginView.cpp: (WebCore::PluginView::frameRectsChanged):
  • plugins/PluginView.h:
12:49 PM Changeset in webkit [37002] by Simon Hausmann
  • 3 edits in trunk/WebCore

2008-09-27 Simon Hausmann <Simon Hausmann>

Refix the previous build fix to compile on non-Qt platforms, too.

12:15 PM Changeset in webkit [37001] by Simon Hausmann
  • 6 edits in trunk/WebCore

2008-09-27 Simon Hausmann <Simon Hausmann>

Fix compilation with gcc 4.3 (probably > 4.0)

11:32 AM Changeset in webkit [37000] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

2008-09-27 Simon Hausmann <Simon Hausmann>

Qt build fix - use frameRect instead of frameGeometry, adapt
to renamed scrollbar frameview methods.

10:41 AM Changeset in webkit [36999] by andersca@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-27 Anders Carlsson <andersca@apple.com>

Fix build.

  • VM/CTI.cpp: (JSC::):
10:20 AM Changeset in webkit [36998] by ggaren@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Added bug #

10:19 AM Changeset in webkit [36997] by ggaren@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-09-27 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Store the callee CodeBlock, not the caller CodeBlock, in the call frame
header. Nix the "codeBlock" local variable, and access the callee
CodeBlock through the call frame header instead.


Profit: call + return are simpler, because they don't have to update the
"codeBlock" local variable.


Because CTI keeps "r" in a register, reading the callee CodeBlock relative
to "r" can be very fast, in any cases we care to optimize. Presently,
no such cases seem important.


Also, stop writing "dst" to the call frame header. CTI doesn't use it.


21.6% speedup on empty function call benchmark.
3.8% speedup on SunSpider --v8.
2.1% speedup on v8 benchmark.
0.7% speedup on SunSpider (6% speedup on controlflow-recursive).


Small regression in bytecode, because currently every op_ret reads the
callee CodeBlock to check needsFullScopeChain, and bytecode does not
keep "r" in a register. On-balance, this is probably OK, since CTI is
our high-performance execution model. Also, this should go away once
we make needsFullScopeChain statically determinable at parse time.

  • VM/CTI.cpp: (JSC::CTI::compileOpCall): The speedup! (JSC::CTI::privateCompileSlowCases): ditto
  • VM/CTI.h: (JSC::): Fixed up magic trampoline constants to account for the nixed "codeBlock" argument. (JSC::CTI::execute): Changed trampoline function not to take a "codeBlock" argument, since codeBlock is now stored in the call frame header.


  • VM/Machine.cpp: Read the callee CodeBlock from the register file. Use a NULL CallerRegisters in the call frame header to signal a built-in caller, since CodeBlock is now never NULL.
  • VM/Machine.h: Made some stand-alone functions Machine member functions so they could call the private codeBlock() accessor in the Register class, of which Machine is a friend. Renamed "CallerCodeBlock" to "CodeBlock", since it's no longer the caller's CodeBlock.
  • VM/RegisterFile.h: Marked some methods const to accommodate a const RegisterFile* being passed around in Machine.cpp.
1:23 AM Changeset in webkit [36996] by jmalonzo@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Qt build fix - rename frameGeometry to frameRect per r36995.

  • Api/qwebframe.cpp: (QWebFrame::render): (QWebFrame::pos): (QWebFrame::geometry):
1:01 AM Changeset in webkit [36995] by hyatt@apple.com
  • 31 edits in trunk/WebCore

2008-09-27 David Hyatt <hyatt@apple.com>

Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.

Reviewed by Dan Bernstein

  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameView::FrameView): (WebCore::FrameView::updateControlTints):
  • platform/ScrollView.h:
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::Scrollbar): (WebCore::Scrollbar::paint): (WebCore::Scrollbar::setFrameRect):
  • platform/Scrollbar.h:
  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint):
  • platform/Widget.h: (WebCore::Widget::x): (WebCore::Widget::y): (WebCore::Widget::width): (WebCore::Widget::height): (WebCore::Widget::size): (WebCore::Widget::pos): (WebCore::Widget::resize): (WebCore::Widget::move):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollViewScrollbar::geometryChanged): (WebCore::ScrollView::update): (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint):
  • platform/gtk/ScrollbarGtk.cpp: (ScrollbarGtk::setFrameRect): (ScrollbarGtk::geometryChanged):
  • platform/gtk/ScrollbarGtk.h:
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::trackRect): (WebCore::ScrollbarThemeMac::paint):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint):
  • platform/qt/ScrollbarThemeQt.cpp: (WebCore::styleOptionSlider):
  • platform/qt/WidgetQt.cpp: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::invalidateItem): (WebCore::PopupMenu::valueChanged): (WebCore::PopupWndProc):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint):
  • platform/win/ScrollbarThemeSafari.cpp: (WebCore::ScrollbarThemeSafari::trackRect):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • platform/wx/WidgetWx.cpp: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • plugins/PluginView.cpp: (WebCore::PluginView::setFrameRect):
  • plugins/PluginView.h:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::paint): (WebCore::PluginView::init):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::init):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::paintMissingPluginIcon): (WebCore::PluginView::paint): (WebCore::PluginView::init):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::positionOverflowControls):
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintScrollbar):
  • rendering/RenderPart.cpp: (WebCore::RenderPart::updateWidgetPosition):
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidgetGeometry): (WebCore::RenderWidget::updateWidgetPosition):
12:51 AM Changeset in webkit [36994] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/wx/ScrollViewWx.cpp

Fix wx bustage.

12:43 AM Changeset in webkit [36993] by hyatt@apple.com
  • 1 edit in trunk/WebCore/page/FocusController.cpp
12:43 AM Changeset in webkit [36992] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-09-27 David Hyatt <hyatt@apple.com>

<rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF

This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
access an actual member variable.

Reviewed by Dan Bernstein

  • page/FocusController.cpp: (WebCore::FocusController::setFocusedFrame):
12:38 AM Changeset in webkit [36991] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Attempt to fix QT Build. Not reviewed.

  • WebCore.pro: add -n WebCore parameter to create_hash_table

Sep 26, 2008:

11:48 PM Changeset in webkit [36990] by jmalonzo@webkit.org
  • 3 edits in trunk/WebCore

2008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>

Reviewed by Eric Seidel.

http://bugs.webkit.org/show_bug.cgi?id=18905
[GTK] Fix build with older pango (1.14.8)

  • platform/graphics/gtk/FontGtk.cpp:
  • platform/gtk/Language.cpp: (_pango_get_lc_ctype): (pango_language_get_default):
11:36 PM Changeset in webkit [36989] by jmalonzo@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-26 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk build fix. Not reviewed.

Narrow-down the target of the JavaScriptCore .lut.h generator so
it won't try to create the WebCore .lut.hs.

  • GNUmakefile.am:
11:23 PM Changeset in webkit [36988] by hyatt@apple.com
  • 8 edits in trunk/WebCore

2008-09-26 David Hyatt <hyatt@apple.com>

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

Make contentsToWindow/windowToContents cross-platform.

Reviewed by Oliver Hunt

  • platform/ScrollView.cpp: (WebCore::ScrollView::windowToContents): (WebCore::ScrollView::contentsToWindow):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/mac/ScrollViewMac.mm:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp:
11:15 PM Changeset in webkit [36987] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-09-26 Sam Weinig <sam@webkit.org>

GTK build fix.

  • GNUmakefile.am:
10:47 PM Changeset in webkit [36986] by pewtermoose@webkit.org
  • 6 edits in trunk

JavaScriptCore:

2008-09-26 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.

  • Configurations/JavaScriptCore.xcconfig:

WebKit/mac:

2008-09-26 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.

  • Configurations/WebKit.xcconfig:

WebKitTools:

2008-09-26 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.

  • Scripts/build-webkit:
10:26 PM Changeset in webkit [36985] by hyatt@apple.com
  • 10 edits in trunk/WebCore

2008-09-26 David Hyatt <hyatt@apple.com>

Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.

Reviewed by Oliver Hunt

  • page/FrameView.cpp: (WebCore::FrameView::repaintContentRectangle):
  • page/FrameView.h:
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::isOffscreen):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::updateContents): (WebCore::ScrollView::isOffscreen):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::isOffscreen):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::isOffscreen):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::isOffscreen):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::willRenderImage):
10:24 PM Changeset in webkit [36984] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.h

Fix WIndows bustage.

9:44 PM Changeset in webkit [36983] by hyatt@apple.com
  • 3 edits in trunk/LayoutTests/platform/mac/editing/selection

Land new result.

9:43 PM Changeset in webkit [36982] by hyatt@apple.com
  • 16 edits in trunk

WebCore:

2008-09-26 David Hyatt <hyatt@apple.com>

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

Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameView::setAllowsScrolling):
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::setAllowsScrolling):
  • platform/ScrollView.h: (WebCore::ScrollView::allowsScrolling):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::wheelEvent):

WebKit/mac:

2008-09-26 David Hyatt <hyatt@apple.com>

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

Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.

Reviewed by Sam Weinig

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createFrame):
  • WebView/WebDynamicScrollBarsView.h:
  • WebView/WebDynamicScrollBarsView.m:
  • WebView/WebDynamicScrollBarsViewInternal.h:
  • WebView/WebFrameView.mm: (-[WebFrameView setAllowsScrolling:]): (-[WebFrameView allowsScrolling]):
8:23 PM Changeset in webkit [36981] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-26 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Rubber-stamped by Anders Carlson.

Change the name 'sc' to 'scopeChainNode' in a few places.

  • kjs/nodes.cpp: (JSC::EvalNode::generateCode): (JSC::FunctionBodyNode::generateCode): (JSC::ProgramNode::generateCode):
8:22 PM Changeset in webkit [36980] by kevino@webkit.org
  • 7 edits in trunk

wx build fixes after Widget/ScrollView changes.

7:44 PM Changeset in webkit [36979] by timothy@apple.com
  • 1 edit
    2 adds in trunk/WebKitSite

Add screenshots of searching in the Web Inspector.

Not reviewed.

  • blog-files/inspector-searching-elements.png: Added.
  • blog-files/inspector-searching-profiles.png: Added.
7:44 PM Changeset in webkit [36978] by timothy@apple.com
  • 2 edits in trunk/WebCore

Allow searching for paths by always performing the
three search methods in the Elements panel and not
assume a search with a "/" is a XPath query.

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

Reviewed by Geoff Garen.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.performSearch):
7:36 PM Changeset in webkit [36977] by weinig@apple.com
  • 36 edits in trunk

JavaScriptCore:

2008-09-26 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
Speedup static property get/put

Convert getting/setting static property values to use static functions
instead of storing an integer and switching in getValueProperty/putValueProperty.

  • kjs/JSObject.cpp: (JSC::JSObject::deleteProperty): (JSC::JSObject::getPropertyAttributes):
  • kjs/MathObject.cpp: (JSC::MathObject::getOwnPropertySlot):
  • kjs/NumberConstructor.cpp: (JSC::numberConstructorNaNValue): (JSC::numberConstructorNegInfinity): (JSC::numberConstructorPosInfinity): (JSC::numberConstructorMaxValue): (JSC::numberConstructorMinValue):
  • kjs/PropertySlot.h: (JSC::PropertySlot::):
  • kjs/RegExpConstructor.cpp: (JSC::regExpConstructorDollar1): (JSC::regExpConstructorDollar2): (JSC::regExpConstructorDollar3): (JSC::regExpConstructorDollar4): (JSC::regExpConstructorDollar5): (JSC::regExpConstructorDollar6): (JSC::regExpConstructorDollar7): (JSC::regExpConstructorDollar8): (JSC::regExpConstructorDollar9): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::RegExpConstructor::setInput): (JSC::RegExpConstructor::setMultiline): (JSC::RegExpConstructor::multiline):
  • kjs/RegExpConstructor.h:
  • kjs/RegExpObject.cpp: (JSC::regExpObjectGlobal): (JSC::regExpObjectIgnoreCase): (JSC::regExpObjectMultiline): (JSC::regExpObjectSource): (JSC::regExpObjectLastIndex): (JSC::setRegExpObjectLastIndex):
  • kjs/RegExpObject.h: (JSC::RegExpObject::setLastIndex): (JSC::RegExpObject::lastIndex): (JSC::RegExpObject::RegExpObjectData::RegExpObjectData):
  • kjs/StructureID.cpp: (JSC::StructureID::getEnumerablePropertyNames):
  • kjs/create_hash_table:
  • kjs/lexer.cpp: (JSC::Lexer::lex):
  • kjs/lookup.cpp: (JSC::HashTable::createTable): (JSC::HashTable::deleteTable): (JSC::setUpStaticFunctionSlot):
  • kjs/lookup.h: (JSC::HashEntry::initialize): (JSC::HashEntry::setKey): (JSC::HashEntry::key): (JSC::HashEntry::attributes): (JSC::HashEntry::function): (JSC::HashEntry::functionLength): (JSC::HashEntry::propertyGetter): (JSC::HashEntry::propertyPutter): (JSC::HashEntry::lexerValue): (JSC::HashEntry::): (JSC::HashTable::entry): (JSC::getStaticPropertySlot): (JSC::getStaticValueSlot): (JSC::lookupPut):

WebCore:

2008-09-26 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
Speedup static property get/put

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMBinding.cpp:
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::getDOMConstructor): (WebCore::jsDOMWindowBaseCrypto): (WebCore::jsDOMWindowBaseEvent): (WebCore::jsDOMWindowBaseImage): (WebCore::jsDOMWindowBaseMessageChannel): (WebCore::jsDOMWindowBaseOption): (WebCore::jsDOMWindowBaseXMLHttpRequest): (WebCore::jsDOMWindowBaseAudio): (WebCore::jsDOMWindowBaseXSLTProcessor): (WebCore::jsDOMWindowBaseOnabort): (WebCore::jsDOMWindowBaseOnblur): (WebCore::jsDOMWindowBaseOnchange): (WebCore::jsDOMWindowBaseOnclick): (WebCore::jsDOMWindowBaseOndblclick): (WebCore::jsDOMWindowBaseOnerror): (WebCore::jsDOMWindowBaseOnfocus): (WebCore::jsDOMWindowBaseOnkeydown): (WebCore::jsDOMWindowBaseOnkeypress): (WebCore::jsDOMWindowBaseOnkeyup): (WebCore::jsDOMWindowBaseOnload): (WebCore::jsDOMWindowBaseOnmousedown): (WebCore::jsDOMWindowBaseOnmousemove): (WebCore::jsDOMWindowBaseOnmouseout): (WebCore::jsDOMWindowBaseOnmouseover): (WebCore::jsDOMWindowBaseOnmouseup): (WebCore::jsDOMWindowBaseOnMouseWheel): (WebCore::jsDOMWindowBaseOnreset): (WebCore::jsDOMWindowBaseOnresize): (WebCore::jsDOMWindowBaseOnscroll): (WebCore::jsDOMWindowBaseOnsearch): (WebCore::jsDOMWindowBaseOnselect): (WebCore::jsDOMWindowBaseOnsubmit): (WebCore::jsDOMWindowBaseOnbeforeunload): (WebCore::jsDOMWindowBaseOnunload): (WebCore::jsDOMWindowBaseOnWebKitAnimationStart): (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration): (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd): (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd): (WebCore::JSDOMWindowBase::getOwnPropertySlot): (WebCore::JSDOMWindowBase::put): (WebCore::setJSDOMWindowBaseOnabort): (WebCore::setJSDOMWindowBaseOnblur): (WebCore::setJSDOMWindowBaseOnchange): (WebCore::setJSDOMWindowBaseOnclick): (WebCore::setJSDOMWindowBaseOndblclick): (WebCore::setJSDOMWindowBaseOnerror): (WebCore::setJSDOMWindowBaseOnfocus): (WebCore::setJSDOMWindowBaseOnkeydown): (WebCore::setJSDOMWindowBaseOnkeypress): (WebCore::setJSDOMWindowBaseOnkeyup): (WebCore::setJSDOMWindowBaseOnload): (WebCore::setJSDOMWindowBaseOnmousedown): (WebCore::setJSDOMWindowBaseOnmousemove): (WebCore::setJSDOMWindowBaseOnmouseout): (WebCore::setJSDOMWindowBaseOnmouseover): (WebCore::setJSDOMWindowBaseOnmouseup): (WebCore::setJSDOMWindowBaseOnMouseWheel): (WebCore::setJSDOMWindowBaseOnreset): (WebCore::setJSDOMWindowBaseOnresize): (WebCore::setJSDOMWindowBaseOnscroll): (WebCore::setJSDOMWindowBaseOnsearch): (WebCore::setJSDOMWindowBaseOnselect): (WebCore::setJSDOMWindowBaseOnsubmit): (WebCore::setJSDOMWindowBaseOnbeforeunload): (WebCore::setJSDOMWindowBaseOnunload): (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart): (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration): (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd): (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd): (WebCore::setJSDOMWindowBaseEvent): (WebCore::setJSDOMWindowBaseAudio): (WebCore::setJSDOMWindowBaseImage): (WebCore::setJSDOMWindowBaseMessageChannel): (WebCore::setJSDOMWindowBaseOption): (WebCore::setJSDOMWindowBaseXMLHttpRequest): (WebCore::setJSDOMWindowBaseXSLTProcessor):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::nonCachingStaticCloseFunctionGetter): (WebCore::nonCachingStaticBlurFunctionGetter): (WebCore::nonCachingStaticFocusFunctionGetter): (WebCore::nonCachingStaticPostMessageFunctionGetter):
  • bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  • bindings/js/JSEventTargetBase.cpp:
  • bindings/js/JSEventTargetBase.h: (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): (WebCore::JSEventTargetBasePrototype::classInfo):
  • bindings/js/JSEventTargetNode.cpp: (WebCore::): (WebCore::JSEventTargetNode::getOwnPropertySlot): (WebCore::JSEventTargetNode::put):
  • bindings/js/JSEventTargetNode.h: (WebCore::JSEventTargetNode::classInfo): (WebCore::JSEventTargetNode::prototypeClassName):
  • bindings/js/JSEventTargetSVGElementInstance.cpp: (WebCore::): (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot): (WebCore::JSEventTargetSVGElementInstance::put):
  • bindings/js/JSEventTargetSVGElementInstance.h: (WebCore::JSEventTargetSVGElementInstance::classInfo): (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
  • bindings/js/JSHTMLInputElementCustom.cpp: (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
  • bindings/js/JSHistoryCustom.cpp: (WebCore::nonCachingStaticBackFunctionGetter): (WebCore::nonCachingStaticForwardFunctionGetter): (WebCore::nonCachingStaticGoFunctionGetter): (WebCore::JSHistory::customGetOwnPropertySlot):
  • bindings/js/JSLocationCustom.cpp: (WebCore::nonCachingStaticReplaceFunctionGetter): (WebCore::nonCachingStaticReloadFunctionGetter): (WebCore::nonCachingStaticAssignFunctionGetter): (WebCore::JSLocation::customGetOwnPropertySlot): (WebCore::JSLocation::customPut):
  • bindings/scripts/CodeGeneratorJS.pm:
6:44 PM Changeset in webkit [36976] by barraclough@apple.com
  • 12 edits
    1 add in trunk/JavaScriptCore

2008-09-26 Gavin Barraclough <barraclough@apple.com>

Reviewed by Maciej Stachowiak & Oliver Hunt.

Add support for reusing temporary JSNumberCells. This change is based on the observation
that if the result of certain operations is a JSNumberCell and is consumed by a subsequent
operation that would produce a JSNumberCell, we can reuse the object rather than allocating
a fresh one. E.g. given the expression ((a * b) * c), we can statically determine that
(a * b) will have a numeric result (or else it will have thrown an exception), so the result
will either be a JSNumberCell or a JSImmediate.

This patch changes three areas of JSC:

  • The AST now tracks type information about the result of each node.
  • This information is consumed in bytecode compilation, and certain bytecode operations now carry the statically determined type information about their operands.
  • CTI uses the information in a number of fashions:
    • Where an operand to certain arithmetic operations is reusable, it will plant code to try to perform the operation in JIT code & reuse the cell, where appropriate.
    • Where it can be statically determined that an operand can only be numeric (typically the result of another arithmetic operation) the code will not redundantly check that the JSCell is a JSNumberCell.
    • Where either of the operands to an add are non-numeric do not plant an optimized arithmetic code path, just call straight out to the C function.

+6% Sunspider (10% progression on 3D, 16% progression on math, 60% progression on access-nbody),
+1% v8-tests (improvements in raytrace & crypto)

  • VM/CTI.cpp: Add optimized code generation with reuse of temporary JSNumberCells.
  • VM/CTI.h:
  • kjs/JSNumberCell.h:
  • masm/X86Assembler.h:
  • VM/CodeBlock.cpp: Add type information to specific bytecodes.
  • VM/CodeGenerator.cpp:
  • VM/CodeGenerator.h:
  • VM/Machine.cpp:
  • kjs/nodes.cpp: Track static type information for nodes.
  • kjs/nodes.h:
  • kjs/ResultDescriptor.h: (Added)
  • JavaScriptCore.xcodeproj/project.pbxproj:
4:01 PM Changeset in webkit [36975] by alice.liu@apple.com
  • 2 edits in trunk/WebKitTools

2008-09-26 Alice Liu <alice.liu@apple.com>

Remove usage of atlstr.h and CString for VCExpress compatibility

Reviewed by Stephanie Lewis.

  • record-memory-win/main.cpp: (ProcessArgs): (UseImage): (QueryContinuously): (OneQuery): (OneQueryMP):
3:45 PM Changeset in webkit [36974] by staikos@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-26 Yichao Yin <yichao.yin@torchmobile.com.cn>

Reviewed by George Staikos, Maciej Stachowiak.

Add utility functions needed for upcoming WML code.

  • wtf/ASCIICType.h: (WTF::isASCIIPrintable):
3:43 PM Changeset in webkit [36973] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-09-26 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


Reverted the part of r36614 that used static data because static data
is not thread-safe.

3:40 PM Changeset in webkit [36972] by ggaren@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-09-26 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Removed dynamic check for whether the callee needs an activation object.
Replaced with callee code to create the activation object.

0.5% speedup on SunSpider.
No change on v8 benchmark. (Might be a speedup, but it's in range of the
variance.)

0.7% speedup on v8 benchmark in bytecode.
1.3% speedup on empty call benchmark in bytecode.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): Added support for op_init_activation, the new opcode that specifies that the callee's initialization should create an activation object. (JSC::CTI::privateCompile): Removed previous code that did a similar thing in an ad-hoc way.
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump): Added a case for dumping op_init_activation.
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::generate): Added fixup code to change op_init to op_init_activation if necessary. (With a better parser, we would know which to use from the beginning.)
  • VM/Instruction.h: (JSC::Instruction::Instruction): (WTF::): Faster traits for the instruction vector. An earlier version of this patch relied on inserting at the beginning of the vector, and depended on this change for speed.
  • VM/Machine.cpp: (JSC::Machine::execute): Removed clients of setScopeChain, the old abstraction for dynamically checking for whether an activation object needed to be created. (JSC::Machine::privateExecute): ditto

(JSC::Machine::cti_op_push_activation): Renamed this function from
cti_vm_updateScopeChain, and made it faster by removing the call to
setScopeChain.

  • VM/Machine.h:
  • VM/Opcode.h: Declared op_init_activation.
2:57 PM Changeset in webkit [36971] by hyatt@apple.com
  • 3 edits in trunk/WebKit/win

fix Win bustage.

2:53 PM Changeset in webkit [36970] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp

fix Win bustage.

2:45 PM Changeset in webkit [36969] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/win/ScrollViewWin.cpp

Fix Win bustage.

2:35 PM Changeset in webkit [36968] by hyatt@apple.com
  • 1 edit in trunk/WebKit/qt/Api/qwebframe.cpp

Fix Qt bustage.

2:35 PM Changeset in webkit [36967] by kevino@webkit.org
  • 2 edits in trunk/WebKitTools

wx build fix. Update the version of libpng.

2:22 PM Changeset in webkit [36966] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollViewQt.cpp

Fix Qt bustage.

2:19 PM Changeset in webkit [36965] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Versioning.

2:00 PM Changeset in webkit [36964] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix gtk bustage.

1:54 PM Changeset in webkit [36963] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp

Fix gtk bustage.

1:49 PM Changeset in webkit [36962] by hyatt@apple.com
  • 17 edits in trunk

WebCore:

2008-09-26 David Hyatt <hyatt@apple.com>

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

Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
Eliminate the unused isScrollable() method.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameView::resetScrollbars): (WebCore::FrameView::initScrollbars): (WebCore::FrameView::layout):
  • page/FrameView.h:
  • page/mac/WebCoreFrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::init): (WebCore::ScrollView::setScrollbarModes): (WebCore::ScrollView::scrollbarModes): (WebCore::ScrollView::platformSetScrollbarModes): (WebCore::ScrollView::platformScrollbarModes):
  • platform/ScrollView.h: (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar): (WebCore::ScrollView::isScrollViewScrollbar): (WebCore::ScrollView::setHorizontalScrollbarMode): (WebCore::ScrollView::setVerticalScrollbarMode): (WebCore::ScrollView::horizontalScrollbarMode): (WebCore::ScrollView::verticalScrollbarMode): (WebCore::ScrollView::convertSelfToChild):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::isScrollViewScrollbar): (WebCore::ScrollView::paint): (WebCore::ScrollView::scroll):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformSetScrollbarModes): (WebCore::ScrollView::platformScrollbarModes):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar): (WebCore::ScrollView::invalidateScrollbars): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint): (WebCore::ScrollView::scroll):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling): (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling): (WebCore::ScrollView::suppressScrollbars): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint): (WebCore::ScrollView::scroll):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformSetScrollbarModes): (WebCore::ScrollView::platformScrollbarModes):

WebKit/mac:

2008-09-26 David Hyatt <hyatt@apple.com>

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

More refactoring to make scrollbar modes cross-platform. Reduce the protocol that
WebDynamicScrollBarsView has to implement for communicating with WebCore to just three methods.

Reviewed by Sam Weinig

  • WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]): (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
  • WebView/WebDynamicScrollBarsViewInternal.h:
  • WebView/WebFrameView.mm: (-[WebFrameView setAllowsScrolling:]):
  • WebView/WebView.mm: (-[WebView setAlwaysShowVerticalScroller:]): (-[WebView setAlwaysShowHorizontalScroller:]):
1:47 PM Changeset in webkit [36961] by ddkilzer@apple.com
  • 7 edits in trunk

Fix Mac build with XPATH and XSLT disabled

WebCore:

Fix Mac build with XPATH and XSLT disabled

Reviewed by Alexey.

  • bindings/objc/DOMUtility.mm: (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to prevent an unused code warning.

WebKit/mac:

Fix Mac build with XSLT disabled

Reviewed by Alexey.

  • Misc/WebCache.mm: (+[WebCache statistics]): Populate xslStyleSheet statistics with zeros if XSLT is disabled.

WebKit/win:

Speculative Windows build fix with XSLT disabled

Reviewed by Alexey.

  • WebCache.cpp: (WebCache::statistics): Populate xslStyleSheet statistics with zeros if XSLT is disabled.
10:57 AM Changeset in webkit [36960] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-09-26 Kevin McCullough <kmccullough@apple.com>

Rubber stamped by Tim Hatcher.

Bug 21098: Crashing under Console::log

  • Speculative ASSERT to help find the problem.
  • page/InspectorController.cpp: (WebCore::ConsoleMessage::isEqual):
10:56 AM Changeset in webkit [36959] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[gtk+] Build fix for the latest ScrollView changes

10:27 AM Changeset in webkit [36958] by timothy@apple.com
  • 3 edits in trunk/WebCore

Fixes a bug where the console message repeat count would be wrong
when typing commands in between repeated messages.

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

Reviewed by Kevin McCullough.

  • page/InspectorController.cpp: (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel. (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
  • page/inspector/Console.js: (WebInspector.Console.prototype.addMessage): Remember the original repeat count for each message as totalRepeatCount, since we now modify repeatCount to mean repeats since previous console command. If repeatCountBeforeCommand is a number, subtract that value from the repeatCount. (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand and commandSincePreviousMessage properties.
10:26 AM Changeset in webkit [36957] by eric.carlson@apple.com
  • 17 edits in trunk/WebCore

2008-09-26 Eric Carlson <eric.carlson@apple.com>

Reviewed by Antti

https://bugs.webkit.org/show_bug.cgi?id=21116
<rdar://problem/5726325> Audio from <video> can still be heard after navigating
back to page with <video>, then closing tab

Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
deletion.

  • dom/Document.cpp: (WebCore::Document::documentWillBecomeInactive): (WebCore::Document::documentDidBecomeActive): (WebCore::Document::registerForDocumentActivationCallbacks): (WebCore::Document::unregisterForDocumentActivationCallbacks):
  • dom/Document.h:
  • dom/Element.h: (WebCore::Element::documentWillBecomeInactive): (WebCore::Element::documentDidBecomeActive):
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage):
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::~HTMLFormElement): (WebCore::HTMLFormElement::parseMappedAttribute): (WebCore::HTMLFormElement::documentDidBecomeActive): (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
  • html/HTMLFormElement.h:
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement): (WebCore::HTMLInputElement::setInputType): (WebCore::HTMLInputElement::parseMappedAttribute): (WebCore::HTMLInputElement::needsActivationCallback): (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded): (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded): (WebCore::HTMLInputElement::documentDidBecomeActive): (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
  • html/HTMLInputElement.h:
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): (WebCore::HTMLMediaElement::~HTMLMediaElement): (WebCore::HTMLMediaElement::documentWillBecomeInactive): (WebCore::HTMLMediaElement::documentDidBecomeActive):
  • html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::inActiveDocument):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::opened):
  • page/Page.cpp: (WebCore::Page::~Page):
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControls):
  • rendering/RenderVideo.cpp: (WebCore::RenderVideo::updatePlayer):
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::SVGSVGElement): (WebCore::SVGSVGElement::~SVGSVGElement): (WebCore::SVGSVGElement::documentWillBecomeInactive): (WebCore::SVGSVGElement::documentDidBecomeActive):
  • svg/SVGSVGElement.h:
9:30 AM Changeset in webkit [36956] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon

Fix the build inside Qt, don't create faulty prl files for now.

6:17 AM Changeset in webkit [36955] by Simon Hausmann
  • 4 edits in trunk/WebCore

2008-09-26 Simon Hausmann <Simon Hausmann>

Fix compilation on Qt/Windows

  • Add WebCore/ to the include path so that config.h is found that enables JSC
  • Link against winmm for the multimedia timer functions
  • Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/ subdirectory
  • In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port but set m_window directly as setPlatformWidget takes a QWidget*.
4:53 AM Changeset in webkit [36954] by oliver@apple.com
  • 14 edits
    6 adds in trunk

Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
<https://bugs.webkit.org/show_bug.cgi?id=21054>

Reviewed by Maciej Stachowiak

This performance regression is actually just a symptom of a correctness
bug. The constructor objects for a number of properties that have security
checks on access were returning new objects each time. The most obvious
symptom of this bug is that window.Image != window.Image, etc.

The solution to this is to make sure we cache these constructors
in the same way as all the other DOM constructors. To achieve this
without causing any refcount cycles it is necessary to replace the
refcounted document pointer in the Image, MessageChannel, Option,
XMLHttpRequest, and Audio constructor objects with a reference to
the document's JS wrapper.

Tests: fast/dom/constructors-cached-navigate.html

fast/dom/constructors-cached.html

3:55 AM Changeset in webkit [36953] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-09-26 Simon Hausmann <Simon Hausmann>

Unreviewed one-liner build fix for the Qt/Windows build.

The build requires NPAPI support to be enabled, fix the condition in
the .pro file for that.

3:51 AM Changeset in webkit [36952] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-09-26 Trenton Schulz <twschulz@trolltech.com>

Reviewed by Simon.

Fix compilation with the Qt/Cocoa port.

2:37 AM Changeset in webkit [36951] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-09-26 Simon Hausmann <Simon Hausmann>

Reviewed by Holger.

Fix compilation with VC9SP1, work around bug in TR1 library by
disabling it.

2:37 AM Changeset in webkit [36950] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-09-26 Simon Hausmann <Simon Hausmann>

Reviewed by Holger.

Fix an lupdate() warning.

Don't use tr() in a class that is not a QObject, use
QCoreApplication::translate() directly.

2:36 AM Changeset in webkit [36949] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

2008-09-26 Ariya Hidayat <ahidayat@trolltech.com>

Reviewed by Simon.

Fixed potential crash when deleting QWebView instance.

When deleting the view, sets the page's view to NULL.
The reason is that the page is smart and its destructor might lead to a call
that operates on a view (which is in the process of being deleted).

2:36 AM Changeset in webkit [36948] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-09-26 Ariya Hidayat <ahidayat@trolltech.com>

Reviewed by Simon.

Fixed using modifiers to type special symbols (e.g '@','$') does not work on Mac OS X.

2:36 AM Changeset in webkit [36947] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-09-26 Håvard Wall <hwall@trolltech.com>

Reviewed by Simon.

Fix compilation with QT_NO_MESSAGEBOX

12:19 AM Changeset in webkit [36946] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix Gtk bustage.

12:15 AM Changeset in webkit [36945] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/wx/ScrollViewWx.cpp

Fix wx bustage.

12:15 AM Changeset in webkit [36944] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.cpp

Fix Win, Gtk, Qt bustage.

12:07 AM Changeset in webkit [36943] by hyatt@apple.com
  • 1 edit in trunk/WebKit/qt/Api/qwebframe.cpp

Fix Qt bustage.

12:03 AM Changeset in webkit [36942] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebView.cpp

Fix Win bustage.

Sep 25, 2008:

11:50 PM Changeset in webkit [36941] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollViewQt.cpp

Put back a hide() call on Qt that I accidentally removed.

11:47 PM Changeset in webkit [36940] by hyatt@apple.com
  • 3 edits in trunk/WebCore/platform

Fix Win, Qt, Gtk bustage.

11:45 PM Changeset in webkit [36939] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix Gtk bustage.

11:44 PM Changeset in webkit [36938] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollViewQt.cpp

Fix Qt bustage.

11:33 PM Changeset in webkit [36937] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/win/ScrollViewWin.cpp

Fix Win bustage.

11:32 PM Changeset in webkit [36936] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/webkit/webkitwebview.cpp

Fix Gtk bustage.

11:30 PM Changeset in webkit [36935] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/graphics/IntPoint.h

Fix Win, Gtk, Qt bustage.

11:21 PM Changeset in webkit [36934] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-09-25 David Hyatt <hyatt@apple.com>

Remove the scrollTo() method from FrameView, since it is not used by anyone.

Reviewed by Oliver Hunt

  • page/FrameView.cpp:
  • page/FrameView.h:
11:17 PM Changeset in webkit [36933] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.h

Add some comments to the ScrollView.h header.

11:15 PM Changeset in webkit [36932] by hyatt@apple.com
  • 7 edits in trunk/WebCore

2008-09-25 David Hyatt <hyatt@apple.com>

Make scrollRectIntoViewRecursively cross-platform.

Reviewed by Oliver Hunt

  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollRectIntoViewRecursively):
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/mac/ScrollViewMac.mm:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp:
11:07 PM Changeset in webkit [36931] by hyatt@apple.com
  • 10 edits in trunk/WebCore

2008-09-25 David Hyatt <hyatt@apple.com>

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


Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
cross-platform.

Reviewed by Oliver Hunt

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::begin):
  • page/FrameView.cpp: (WebCore::FrameView::adjustViewSize):
  • platform/ScrollView.cpp: (WebCore::ScrollView::setContentsSize):
  • platform/ScrollView.h: (WebCore::ScrollView::updateScrollbars):
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformSetContentsSize):
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformSetContentsSize):
11:03 PM Changeset in webkit [36930] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.cpp

Fix Windows bustage when scrolling.

10:40 PM Changeset in webkit [36929] by hyatt@apple.com
  • 15 edits in trunk/WebCore

2008-09-25 David Hyatt <hyatt@apple.com>

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

Clean up the methods that actually do the scrolling in ScrollView.

Reviewed by Oliver Hunt

  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::setScrollLeft): (WebCore::HTMLBodyElement::setScrollTop):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::restoreScrollPositionAndViewState):
  • loader/ImageDocument.cpp: (WebCore::ImageDocument::imageClicked):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::scrollBy): (WebCore::DOMWindow::scrollTo):
  • page/FrameView.cpp: (WebCore::FrameView::scrollTo): (WebCore::FrameView::setScrollPosition):
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::maximumScrollPosition):
  • platform/ScrollView.h: (WebCore::ScrollView::contentsWidth): (WebCore::ScrollView::contentsHeight): (WebCore::ScrollView::scrollBy):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::setScrollPosition):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::setScrollPosition):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::setScrollPosition): (WebCore::ScrollView::scrollRectIntoViewRecursively):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::setScrollPosition): (WebCore::ScrollView::scrollRectIntoViewRecursively):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::setScrollPosition):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollByRecursively): (WebCore::RenderLayer::scrollRectToVisible):
10:25 PM Changeset in webkit [36928] by mitz@apple.com
  • 2 edits in trunk/WebCore

Attempted Windows build fix

10:03 PM Changeset in webkit [36927] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix Gtk bustage.

9:35 PM Changeset in webkit [36926] by timothy@apple.com
  • 2 edits in trunk/WebCore

Revert the padding changes done in r36905 to prevent the
scrollbar from overlapping the URLs in the Console.

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

  • page/inspector/inspector.css:
9:28 PM Changeset in webkit [36925] by hyatt@apple.com
  • 18 edits in trunk/WebCore

2008-09-25 David Hyatt <hyatt@apple.com>

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

Refactor contents size and scroll offset to be cross-platform. Reduce further the number
of platform-specific methods required of ScrollView implementations.

Reviewed by Tim Hatcher

  • dom/MouseRelatedEvent.cpp: (WebCore::contentsX): (WebCore::contentsY):
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::scrollLeft): (WebCore::HTMLBodyElement::setScrollLeft): (WebCore::HTMLBodyElement::scrollTop): (WebCore::HTMLBodyElement::setScrollTop):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::scrollX): (WebCore::DOMWindow::scrollY):
  • page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
  • page/FrameView.cpp: (WebCore::FrameView::scrollTo): (WebCore::FrameView::windowClipRect):
  • platform/ScrollView.cpp: (WebCore::ScrollView::visibleContentRect): (WebCore::ScrollView::contentsSize): (WebCore::ScrollView::platformContentsSize):
  • platform/ScrollView.h: (WebCore::ScrollView::scrollPosition): (WebCore::ScrollView::scrollOffset): (WebCore::ScrollView::scrollX): (WebCore::ScrollView::scrollY): (WebCore::ScrollView::contentsWidth): (WebCore::ScrollView::contentsHeight):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged): (WebCore::ScrollView::setGtkAdjustments): (WebCore::ScrollView::resizeContents): (WebCore::ScrollView::contentsWidth): (WebCore::ScrollView::contentsHeight): (WebCore::ScrollView::scrollOffset): (WebCore::ScrollView::maximumScroll): (WebCore::ScrollView::scrollBy): (WebCore::ScrollView::suppressScrollbars): (WebCore::ScrollView::setHScrollbarMode): (WebCore::ScrollView::setVScrollbarMode): (WebCore::ScrollView::setScrollbarsMode): (WebCore::ScrollView::setFrameGeometry): (WebCore::ScrollView::updateScrollbars):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformContentsSize): (WebCore::ScrollView::scrollBy):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::convertFromContainingWindow): (WebCore::Widget::convertToContainingWindow):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::resizeContents): (WebCore::ScrollView::setFrameGeometry): (WebCore::ScrollView::scrollOffset): (WebCore::ScrollView::maximumScroll): (WebCore::ScrollView::scrollBy): (WebCore::ScrollView::setHScrollbarMode): (WebCore::ScrollView::setVScrollbarMode): (WebCore::ScrollView::setScrollbarsMode): (WebCore::ScrollView::updateScrollbars):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling): (WebCore::ScrollView::resizeContents): (WebCore::ScrollView::setFrameGeometry): (WebCore::ScrollView::scrollOffset): (WebCore::ScrollView::maximumScroll): (WebCore::ScrollView::scrollBy): (WebCore::ScrollView::setHScrollbarMode): (WebCore::ScrollView::setVScrollbarMode): (WebCore::ScrollView::setScrollbarsMode): (WebCore::ScrollView::updateScrollbars):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformVisibleContentRect): (WebCore::ScrollView::platformContentsSize):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::nodeAtPoint):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollRectToVisible): (WebCore::RenderLayer::calculateClipRects): (WebCore::RenderLayer::calculateRects):
  • rendering/RenderView.cpp: (WebCore::RenderView::absolutePosition): (WebCore::RenderView::computeAbsoluteRepaintRect):
9:05 PM Changeset in webkit [36924] by dsmith@webkit.org
  • 5 edits in trunk/WebCore

2008-09-25 David Smith <catfish.man@gmail.com>

Reviewed by Dave Hyatt.

Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.

  • dom/Element.cpp: (WebCore::Element::rareData):
  • dom/Element.h:
  • dom/Node.cpp: (WebCore::Node::rareData):
  • dom/Node.h:
7:36 PM Changeset in webkit [36923] by dsmith@webkit.org
  • 14 edits
    2 adds in trunk/WebCore

2008-09-25 David Smith <catfish.man@gmail.com>

Reviewed by Darin Adler.


https://bugs.webkit.org/show_bug.cgi?id=20980
Split off uncommonly used data from Node similar to ElementRareData


Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
  • dom/ContainerNode.cpp: Set isContainer to true (WebCore::ContainerNode::ContainerNode):
  • dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container (WebCore::Node::containerChildNode): ditto (WebCore::Node::containerFirstChild): ditto (WebCore::Node::containerLastChild): ditto
  • dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h (WebCore::Element::Element): (WebCore::Element::~Element): (WebCore::Element::rareData): (WebCore::Element::ensureRareData): Renamed from createRareData (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type (WebCore::Element::attach): Check hasRareData rather than null-checking rareData() (WebCore::Element::detach): ditto (WebCore::Element::recalcStyle): ditto (WebCore::Element::focus): (WebCore::Element::minimumSizeForResizing): ditto (WebCore::Element::setMinimumSizeForResizing): ditto (WebCore::Element::computedStyle): (WebCore::Element::cancelFocusAppearanceUpdate): ditto
  • dom/Element.h:
  • dom/ElementRareData.h: Added; everything copied from Element.cpp (WebCore::defaultMinimumSizeForResizing): (WebCore::ElementRareData::ElementRareData): (WebCore::ElementRareData::resetComputedStyle):
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
  • dom/EventTargetNode.h:
  • dom/Node.cpp: (WebCore::Node::Node): (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData (WebCore::Node::rareData): (WebCore::Node::ensureRareData): (WebCore::Node::createRareData): (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData (WebCore::Node::setTabIndexExplicitly): (WebCore::Node::childNodes): NodeLists are now in rareData (WebCore::Node::setFocus): (WebCore::Node::rareDataFocused): (WebCore::Node::isFocusable): (WebCore::Node::isKeyboardFocusable): (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData (WebCore::Node::unregisterDynamicNodeList): ditto (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto (WebCore::Node::getElementsByName): ditto (WebCore::Node::getElementsByClassName): ditto
  • dom/Node.h: (WebCore::Node::firstChild): Use isContainerNode() to devirtualize (WebCore::Node::lastChild): ditto (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container (WebCore::Node::focused): focus is in rareData if set (WebCore::Node::childTypeAllowed): (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize (WebCore::Node::childNode): ditto (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
  • dom/NodeRareData.h: Added. Most of this is just properties moved from Node (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :( (WebCore::NodeRareData::NodeRareData): (WebCore::NodeRareData::rareDataMap): (WebCore::NodeRareData::rareDataFromMap): (WebCore::NodeRareData::clearNodeLists): (WebCore::NodeRareData::setNodeLists): (WebCore::NodeRareData::nodeLists): (WebCore::NodeRareData::tabIndex): (WebCore::NodeRareData::setTabIndex): (WebCore::NodeRareData::tabIndexSetExplicitly):
  • dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
  • xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
6:54 PM Changeset in webkit [36922] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[qt] ImageBuffer::toDataURL implementation

6:47 PM Changeset in webkit [36921] by zecke@webkit.org
  • 3 edits
    1 add in trunk/WebCore

[qt] Implement SharedBuffer for Qt

6:26 PM Changeset in webkit [36920] by mjs@apple.com
  • 1 edit
    2 adds in trunk/WebKitSite

2008-09-25 Maciej Stachowiak <mjs@apple.com>

Not reviewed.


  • add some screenshots.
  • blog-files/acid3-screenshot.png: Added.
  • blog-files/acid3-timing-screenshot.png: Added.
6:22 PM Changeset in webkit [36919] by hyatt@apple.com
  • 2 edits in trunk/WebKit/mac

2008-09-25 David Hyatt <hyatt@apple.com>

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

Fix the updating of the active state to not be dumb, so that viewless scrollbars repaint properly.

Reviewed by Tim Hatcher

  • WebView/WebHTMLView.mm: (-[WebHTMLView _updateFocusedAndActiveState]):
5:53 PM Changeset in webkit [36918] by ddkilzer@apple.com
  • 11 edits
    2 adds in trunk

WebCore:

Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
<rdar://problem/6243032>

Reviewed by Dave Hyatt.

Test: fast/dom/attribute-downcast-right.html

Add isMappedAttribute function to Attribute for checking if an object
is an instance of MappedAttribute. Removed attributeItem,
getAttributeItem functions from NamedMappedAttrMap, and callers
expecting MappedAttribute have to check isMappedAttribute before
downcasting the return value to MappedAttribute.

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForElement):
  • dom/Attribute.h: (WebCore::Attribute::isMappedAttribute):
  • dom/MappedAttribute.h: (WebCore::MappedAttribute::isMappedAttribute):
  • dom/NamedMappedAttrMap.cpp: (WebCore::NamedMappedAttrMap::declCount): (WebCore::NamedMappedAttrMap::mapsEquivalent):
  • dom/NamedMappedAttrMap.h:
  • dom/StyledElement.cpp: (WebCore::StyledElement::attributeChanged):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setInputType):
  • svg/SVGForeignObjectElement.cpp: (WebCore::addCSSPropertyAndNotifyAttributeMap):
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::getPresentationAttribute):

LayoutTests:

Test for: https://bugs.webkit.org/show_bug.cgi?id=21032
<rdar://problem/6243032>

Reviewed by Dave Hyatt.

The test crashes webkit if using Windows heap allocator.

  • fast/dom/attribute-downcast-right-expected.txt: Added.
  • fast/dom/attribute-downcast-right.html: Added.
5:26 PM Changeset in webkit [36917] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix Gtk bustage.

4:13 PM Changeset in webkit [36916] by hyatt@apple.com
  • 2 edits in trunk/WebKit/win

Fix Win bustage.

4:03 PM Changeset in webkit [36915] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/win/ScrollViewWin.cpp

Fix Win bustage.

3:52 PM Changeset in webkit [36914] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.cpp

Fix Qt, Win, Gtk bustage.

3:47 PM Changeset in webkit [36913] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollViewQt.cpp

Fix Qt bustage.

3:34 PM Changeset in webkit [36912] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.cpp

Fix Win, Gtk, Qt bustage.

3:30 PM Changeset in webkit [36911] by hyatt@apple.com
  • 1 edit in trunk/WebKit/qt/Api/qwebframe.cpp

Fix Qt bustage.

3:28 PM Changeset in webkit [36910] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollViewQt.cpp

Fix Qt bustage.

3:25 PM Changeset in webkit [36909] by hyatt@apple.com
  • 12 edits in trunk/WebCore

2008-09-25 David Hyatt <hyatt@apple.com>

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

Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
didn't want to mix that change in with this patch).

Reviewed by Sam Weinig

  • page/Frame.cpp: (WebCore::Frame::markAllMatchesForText):
  • page/FrameView.cpp: (WebCore::FrameView::repaintContentRectangle): (WebCore::FrameView::windowClipRect): (WebCore::FrameView::updateControlTints):
  • platform/ScrollView.cpp: (WebCore::ScrollView::visibleContentRect): (WebCore::ScrollView::platformVisibleContentRect):
  • platform/ScrollView.h: (WebCore::ScrollView::visibleWidth): (WebCore::ScrollView::visibleHeight):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar): (WebCore::ScrollView::platformVisibleContentRect):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformVisibleContentRect): (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollRectToVisible): (WebCore::frameVisibleRect):
  • rendering/RenderView.cpp: (WebCore::RenderView::viewRect):
2:21 PM Changeset in webkit [36908] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Versioning.

1:55 PM Changeset in webkit [36907] by dsmith@webkit.org
  • 3 edits in trunk/WebCore

2008-09-25 David Smith <catfish.man@gmail.com>

Reviewed by Timothy Hatcher

https://bugs.webkit.org/show_bug.cgi?id=21052
Generalize id selector special case for querySelectorAll


By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
Changes results on http://native.khan.mozilla.org
from

#title: 2ms
h1#title: 55ms
div #title: 55ms

to:

#title: 1ms
h1#title: 2ms
div #title: 5ms


  • dom/Node.cpp: (WebCore::Node::querySelector):
  • dom/SelectorNodeList.cpp: (WebCore::createSelectorNodeList):
1:49 PM Changeset in webkit [36906] by hyatt@apple.com
  • 9 edits in trunk/WebCore

2008-09-25 David Hyatt <hyatt@apple.com>

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

Make the concept of whether you can blit on scroll cross-platform on ScrollView.

Reviewed by Sam Weinig

  • page/FrameView.cpp: (WebCore::FrameView::clear): (WebCore::FrameView::layout): (WebCore::FrameView::setUseSlowRepaints): (WebCore::FrameView::addSlowRepaintObject): (WebCore::FrameView::removeSlowRepaintObject):
  • platform/ScrollView.cpp: (WebCore::ScrollView::init): (WebCore::ScrollView::addChild): (WebCore::ScrollView::removeChild): (WebCore::ScrollView::setCanBlitOnScroll):
  • platform/ScrollView.h: (WebCore::ScrollView::canBlitOnScroll):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::ScrollView):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::platformAddChild): (WebCore::ScrollView::platformRemoveChild): (WebCore::ScrollView::platformSetCanBlitOnScroll):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::ScrollView):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::ScrollView):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::scrollBy):
1:29 PM Changeset in webkit [36905] by kmccullough@apple.com
  • 3 edits in trunk/WebCore

2008-09-25 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim Hatcher.

Bug 21109: Console should right-align urls

  • page/inspector/Console.js: Re-order the message elements so that when it overflows it doesn't get mixed in with the next message.
  • page/inspector/inspector.css:
1:15 PM Changeset in webkit [36904] by hyatt@apple.com
  • 5 edits
    2 copies in trunk

2008-09-25 David Hyatt <hyatt@apple.com>

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

Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.

Reviewed by Darin Adler

  • css/CSSImportRule.cpp: (WebCore::CSSImportRule::insertedIntoParent):
  • css/CSSRule.cpp: (WebCore::CSSRule::parentStyleSheet): (WebCore::CSSRule::parentRule):
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::CSSStyleSheet):
  • css/CSSStyleSheet.h:
1:02 PM Changeset in webkit [36903] by Darin Adler
  • 2 edits in trunk/WebCore

2008-09-25 Darin Adler <Darin Adler>

Reviewed by Adele Peterson.

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Use files() instead of value() to get the path, since value() now returns just the basename.
11:37 AM Changeset in webkit [36902] by beidson@apple.com
  • 6 edits
    2 deletes in trunk

WebCore:

2008-09-25 Brady Eidson <beidson@apple.com>

Rubberstamped by Mark Rowe

Roll out 36771 as it caused <rdar://problem/6246554>
"nytimes.com doesn't display after returning to it with back/forward"

  • css/CSSImportRule.cpp: (WebCore::CSSImportRule::insertedIntoParent):
  • css/CSSRule.cpp: (WebCore::CSSRule::parentStyleSheet): (WebCore::CSSRule::parentRule):
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::CSSStyleSheet): (WebCore::CSSStyleSheet::docLoader):
  • css/CSSStyleSheet.h: (WebCore::CSSStyleSheet::doc):

LayoutTests:

2008-09-25 Brady Eidson <beidson@apple.com>

Rubberstamped by Mark Rowe

Roll out 36771 as it caused <rdar://problem/6246554>
"nytimes.com doesn't display after returning to it with back/forward"

  • fast/css/nested-rule-parent-sheet-expected.txt: Removed.
  • fast/css/nested-rule-parent-sheet.html: Removed.
10:47 AM Changeset in webkit [36901] by Adam Roben
  • 2 edits in trunk/WebCore

Windows build fix

  • WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
10:27 AM Changeset in webkit [36900] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • Windows build fix
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::addChildPlatformWidget): (WebCore::ScrollView::removeChildPlatformWidget):
10:24 AM Changeset in webkit [36899] by Darin Adler
  • 2 edits in trunk/WebKitSite

2008-09-25 Darin Adler <Darin Adler>

  • contact.html: Take a cut at making the role of webkitsdk-dev clearer, specifying that it's Mac OS X specific and hosted at Apple, not WebKit.
10:07 AM Changeset in webkit [36898] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes a leak of ConsoleMessage seen when repeated console
messages occur.

Reviewed by Mark Rowe.

  • page/InspectorController.cpp: (WebCore::InspectorController::addConsoleMessage): Delete the repeat since we don't add it to m_consoleMessages.
9:59 AM Changeset in webkit [36897] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Versioning.

9:55 AM Changeset in webkit [36896] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.25.2

New tag.

9:48 AM Changeset in webkit [36895] by kmccullough@apple.com
  • 4 edits in trunk/WebCore

2008-09-25 Kevin McCullough <kmccullough@apple.com>

Reviewed by Dan Bernstein.

Bug 21105: XHRs logged in the console may show the wrong URL for the
source

  • Get the url at the time of the send() and pass it on to the XHR.
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFinishLoading):
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::setLastSendURL):
9:04 AM Changeset in webkit [36894] by kmccullough@apple.com
  • 4 edits in trunk/WebCore

2008-09-25 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff and Tim.

Bug 20322: XHRs logged in the console do not have line numbers

  • Get the line number at the time of the send and pass it on to the XHR.
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::didFinishLoading):
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::setLastSendLineNumber):
8:33 AM Changeset in webkit [36893] by eric.carlson@apple.com
  • 40 edits in trunk

2008-09-25 Eric Carlson <eric.carlson@apple.com>

Reviewed by Eric Seidel.


<rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
https://bugs.webkit.org/show_bug.cgi?id=21003

  • dom/EventNames.h: remove "begin" event
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"

2008-09-25 Eric Carlson <eric.carlson@apple.com>

Reviewed by Eric Seidel.


<rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
https://bugs.webkit.org/show_bug.cgi?id=21003

Update media layout test results for progress event name change from "begin" to "loadstart"

  • media/audio-constructor-expected.txt:
  • media/audio-constructor-src-expected.txt:
  • media/audio-constructor-src.html:
  • media/audio-constructor.html:
  • media/progress-event-expected.txt:
  • media/progress-event-total-expected.txt:
  • media/progress-event-total.html:
  • media/progress-event.html:
  • media/video-error-abort-expected.txt:
  • media/video-error-abort.html:
  • media/video-load-networkState-expected.txt:
  • media/video-load-networkState.html:
  • media/video-load-readyState-expected.txt:
  • media/video-load-readyState.html:
  • media/video-pause-empty-events-expected.txt:
  • media/video-pause-empty-events.html:
  • media/video-play-empty-events-expected.txt:
  • media/video-play-empty-events.html:
  • media/video-source-expected.txt:
  • media/video-source-media-expected.txt:
  • media/video-source-media.html:
  • media/video-source-type-expected.txt:
  • media/video-source-type-params-expected.txt:
  • media/video-source-type-params.html:
  • media/video-source-type.html:
  • media/video-source.html:
  • media/video-src-change-expected.txt:
  • media/video-src-change.html:
  • media/video-src-expected.txt:
  • media/video-src-remove-expected.txt:
  • media/video-src-remove.html:
  • media/video-src-set-expected.txt:
  • media/video-src-set.html:
  • media/video-src-source-expected.txt:
  • media/video-src-source.html:
  • media/video-src.html:
4:30 AM Changeset in webkit [36892] by ap@webkit.org
  • 4 edits
    2 adds in trunk

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=21097
Calling a MessageChannel constructor from a destroyed document results in a crash

Test: fast/events/message-port-constructor-for-deleted-document.html

  • bindings/js/JSMessageChannelConstructor.cpp: (WebCore::JSMessageChannelConstructor::construct):
  • bindings/js/JSMessageChannelConstructor.h: Made m_document a RefPtr.
3:15 AM Changeset in webkit [36891] by ap@webkit.org
  • 28 edits
    27 adds in trunk

Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.

https://bugs.webkit.org/show_bug.cgi?id=20879
Implement HTML5 channel messaging

Tests: fast/events/message-channel-gc.html

fast/events/message-port-deleted-document.html
fast/events/message-port-deleted-frame.html
fast/events/message-port-inactive-document.html
fast/events/message-port.html
http/tests/security/MessagePort/event-listener-context.html

  • Configurations/WebCore.xcconfig: Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
  • DerivedSources.make: Added MessageChannel and MessagePort.
  • WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be turmed off anyway. Added new files.
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl: Added new files.
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty): Added suport for window.MessageChannel constructor.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage):
  • page/DOMWindow.h:
  • page/DOMWindow.idl: Added support for three-argument postMessage (that posts a MessagePort).
  • dom/EventTarget.cpp: (WebCore::EventTarget::toMessagePort):
  • dom/EventTarget.h:
  • bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another EventTarget variant.
  • bindings/js/JSMessageChannelConstructor.h:
  • bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could take a browsing context (document) parameter.
  • bindings/js/JSMessageChannelCustom.cpp: Added. (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark port1 and port2 that it owns.
  • bindings/js/JSMessagePortCustom.cpp: Added. (WebCore::JSMessagePort::startConversation): (WebCore::JSMessagePort::addEventListener): (WebCore::JSMessagePort::removeEventListener): (WebCore::JSMessagePort::dispatchEvent): (WebCore::JSMessagePort::setOnmessage): (WebCore::JSMessagePort::onmessage): (WebCore::JSMessagePort::setOnclose): (WebCore::JSMessagePort::onclose): (WebCore::JSMessagePort::mark):
  • dom/MessagePort.cpp: Added.
  • dom/MessagePort.h: Added.
  • dom/MessagePort.idl: Added. Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works with Documents as contexts, but in the future, it will be used for communication with worker threads.
  • bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not really have Obj-C bindings, as they are far from being final, but a MessagePort stub is needed for MessageEvent.
  • bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
  • dom/Document.cpp: (WebCore::MessagePortTimer::MessagePortTimer): (WebCore::MessagePortTimer::fired): (WebCore::Document::processMessagePortMessagesSoon): (WebCore::Document::~Document): (WebCore::Document::dispatchMessagePortEvents): (WebCore::Document::createdMessagePort): (WebCore::Document::destroyedMessagePort):
  • dom/Document.h: Document keeps track of all MessagePort objects that were created when it was fully active in its context.
  • dom/EventNames.h: Added closeEvent.
  • dom/MessageChannel.cpp: Added. (WebCore::MessageChannel::MessageChannel): (WebCore::MessageChannel::~MessageChannel):
  • dom/MessageChannel.h: Added. (WebCore::MessageChannel::create): (WebCore::MessageChannel::port1): (WebCore::MessageChannel::port2):
  • dom/MessageChannel.idl: Added. Addded JSMessageChannel implementation.
  • dom/MessageEvent.cpp: (WebCore::MessageEvent::MessageEvent): (WebCore::MessageEvent::initMessageEvent):
  • dom/MessageEvent.h: (WebCore::MessageEvent::create): (WebCore::MessageEvent::messagePort):
  • dom/MessageEvent.idl: MessageEvent has a MessagePort member now, making it possible to pass ports across documents.
1:57 AM Changeset in webkit [36890] by dsmith@webkit.org
  • 5 edits
    4 adds in trunk

WebCore:

2008-09-25 David Smith <catfish.man@gmail.com>

Reviewed by Eric Seidel


fix https://bugs.webkit.org/show_bug.cgi?id=21091
Regression: querySelector matches tag names case sensitively


Tests: fast/dom/SelectorAPI/caseTag.html

fast/dom/SelectorAPI/caseTagX.xhtml

  • css/CSSParser.cpp: (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
  • css/CSSParser.h:
  • dom/Node.cpp: (WebCore::Node::querySelector): (WebCore::Node::querySelectorAll):

LayoutTests:

2008-09-25 David Smith <catfish.man@gmail.com>

Reviewed by Eric Seidel


Tests for https://bugs.webkit.org/show_bug.cgi?id=21091
Regression: querySelector matches tag names case sensitively

  • ChangeLog:
  • fast/dom/SelectorAPI/caseTag-expected.txt: Added.
  • fast/dom/SelectorAPI/caseTag.html: Added.
  • fast/dom/SelectorAPI/caseTagX-expected.txt: Added.
  • fast/dom/SelectorAPI/caseTagX.xhtml: Added.
1:23 AM Changeset in webkit [36889] by hyatt@apple.com
  • 1 edit in trunk/WebCore/page/FrameView.cpp

Fix Qt bustage.

1:09 AM Changeset in webkit [36888] by hyatt@apple.com
  • 1 edit in trunk/WebCore/page/JavaScriptDebugServer.cpp

Fix Qt bustage.

12:57 AM Changeset in webkit [36887] by hyatt@apple.com
  • 1 edit in trunk/WebCore/page/JavaScriptDebugServer.cpp

Fix Qt bustage.

12:38 AM Changeset in webkit [36886] by hyatt@apple.com
  • 19 edits
    1 add in trunk/WebCore

2008-09-24 David Hyatt <hyatt@apple.com>

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

Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
functionality. Add platform stubs for connecting/disconnecting the platform widgets.

Reviewed by Sam Weinig

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • platform/ScrollView.h: (WebCore::ScrollView::children):
  • platform/Widget.h:
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::addChildPlatformWidget): (WebCore::ScrollView::removeChildPlatformWidget): (WebCore::ScrollView::geometryChanged):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::addChildPlatformWidget): (WebCore::ScrollView::removeChildPlatformWidget):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::geometryChanged): (WebCore::ScrollView::addChildPlatformWidget): (WebCore::ScrollView::removeChildPlatformWidget):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::geometryChanged): (WebCore::ScrollView::setParentVisible): (WebCore::ScrollView::show): (WebCore::ScrollView::hide):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::addChildPlatformWidget): (WebCore::ScrollView::removeChildPlatformWidget):
12:16 AM Changeset in webkit [36885] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Dave Hyatt.

  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with this method, which sets both the location and the size. (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget with a call to the new method setWidgetGeometry. Positioning the widget correctly ensures that the scroll bars invalidate correctly when they are created and resized.
  • rendering/RenderWidget.h:

Sep 24, 2008:

8:32 PM Changeset in webkit [36884] by mrowe@apple.com
  • 9 edits in branches/Safari-3-2-branch

Merge r35897.

8:32 PM Changeset in webkit [36883] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch/WebKit/win

Merge r35896.

7:46 PM Changeset in webkit [36882] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Move most of the return code back into the callee, now that the callee
doesn't have to calculate anything dynamically.


11.5% speedup on empty function call benchmark.


SunSpider says 0.3% faster. SunSpider --v8 says no change.

  • VM/CTI.cpp: (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
6:10 PM Changeset in webkit [36881] by pewtermoose@webkit.org
  • 2 edits in trunk/WebKit/win

2008-09-24 Matt Lilek <webkit@mattlilek.com>

Reviewed by Darin Adler.

Bug 20999: Inspector hover to select does not work properly on Windows
https://bugs.webkit.org/show_bug.cgi?id=20999
<rdar://problem/6236524>

  • WebNodeHighlight.cpp: (WebNodeHighlight::show):
6:08 PM Changeset in webkit [36880] by Darin Adler
  • 5 edits in trunk/WebKit/mac

2008-09-24 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • DefaultDelegates/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Use the new +[WebView _canHandleRequest:forMainFrame:] so we can give a different answer for the main frame and subframes.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::canHandleRequest): Ditto.
  • WebView/WebView.mm: (+[WebView _canHandleRequest:forMainFrame:]): Added forMainFrame. Only look for scheme-specific representations for the main frame, not subframes. (+[WebView _canHandleRequest:]): Give answer for main frame -- calls the method above with YES for main frame.
  • WebView/WebViewInternal.h: Added _canHandleRequest:forMainFrame:.
5:53 PM Changeset in webkit [36879] by Darin Adler
  • 4 edits in trunk/WebKit

..:

2008-09-24 Darin Adler <Darin Adler>

  • StringsNotToBeLocalized.txt: Updated for recent changes.

../win:

2008-09-24 Darin Adler <Darin Adler>

  • English.lproj/Localizable.strings: Updated for recent changes.
5:50 PM Changeset in webkit [36878] by mitz@apple.com
  • 2 edits in trunk/WebCore

Rubber-stamped by Sam Weinig.

  • create a "style" subfolder under "rendering" and move style files to that folder
  • WebCore.vcproj/WebCore.vcproj:
5:39 PM Changeset in webkit [36877] by weinig@apple.com
  • 6 edits in trunk

JavaScriptCore:

2008-09-24 Sam Weinig <sam@webkit.org>

Reviewed by Maciej Stachowiak.

Remove staticFunctionGetter. There is only one remaining user of
staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.

WebCore:

2008-09-24 Sam Weinig <sam@webkit.org>

Reviewed by Maciej Stachowiak.

Remove staticFunctionGetter. There is only one remaining user of
staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getOwnPropertySlot):
5:26 PM Changeset in webkit [36876] by mjs@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-09-24 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.


  • inline JIT fast case of op_neq
  • remove extra level of function call indirection from slow cases of eq and neq


1% speedup on Richards

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_eq): (JSC::Machine::cti_op_neq):
  • kjs/operations.cpp: (JSC::equal): (JSC::equalSlowCase):
  • kjs/operations.h: (JSC::equalSlowCaseInline):
5:07 PM Changeset in webkit [36875] by weinig@apple.com
  • 5 edits
    2 adds in trunk

JavaScriptCore:

2008-09-24 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21080
<rdar://problem/6243534>
Crash below Function.apply when using a runtime array as the argument list

Test: plugins/bindings-array-apply-crash.html

  • kjs/FunctionPrototype.cpp: (JSC::functionProtoFuncApply): Revert to the slow case if the object inherits from JSArray (via ClassInfo) but is not a JSArray.

WebKitTools:

2008-09-24 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21080
<rdar://problem/6243534>
Crash below Function.apply when using a runtime array as the argument list

Add method to ObjCController to return a runtime array.

  • DumpRenderTree/mac/ObjCController.m: (+[ObjCController isSelectorExcludedFromWebScript:]): (+[ObjCController webScriptNameForSelector:]): (-[ObjCController testArray]):

LayoutTests:

2008-09-24 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?id=21080
<rdar://problem/6243534>
Crash below Function.apply when using a runtime array as the argument list

  • platform/mac/plugins/bindings-array-apply-crash-expected.txt: Added.
  • platform/mac/plugins/bindings-array-apply-crash.html: Added.
4:40 PM Changeset in webkit [36874] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

2008-09-24 Jeremy Moskovich <jeremy@chromium.org>

Reviewed by Dan Bernstein.

Test: editing/spelling/inline_spelling_markers.html


Measure spelling markers with selectionRectForText() to fix RTL.

This patch also fixes hit-testing for spelling marker tool tips,
which used to work only on the first line.

  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):

LayoutTests:

2008-09-24 Jeremy Moskovich <jeremy@chromium.org>

Reviewed by Dan Bernstein.


  • editing/spelling/inline_spelling_markers.html: Added.
  • platform/mac/editing/spelling/inline_spelling_markers-expected.checksum: Added.
  • platform/mac/editing/spelling/inline_spelling_markers-expected.png: Added.
  • platform/mac/editing/spelling/inline_spelling_markers-expected.txt: Added.
3:26 PM Changeset in webkit [36873] by Darin Adler
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Removed a stray line from a recent ChangeLog entry.

3:24 PM Changeset in webkit [36872] by kmccullough@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-24 Kevin McCullough <kmccullough@apple.com>

Style change.

  • kjs/nodes.cpp: (JSC::statementListEmitCode):
3:19 PM Changeset in webkit [36871] by kmccullough@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-09-24 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff.

Bug 21031: Breakpoints in the condition of loops only breaks the first
time

  • Now when setting breakpoints in the condition of a loop (for, while, for in, and do while) will successfully break each time throught the loop.
  • For 'for' loops we need a little more complicated behavior that cannot be accomplished without some more significant changes: https://bugs.webkit.org/show_bug.cgi?id=21073
  • kjs/nodes.cpp: (JSC::statementListEmitCode): We don't want to blindly emit a debug hook at the first line of loops, instead let the loop emit the debug hooks. (JSC::DoWhileNode::emitCode): (JSC::WhileNode::emitCode): (JSC::ForNode::emitCode): (JSC::ForInNode::emitCode):
  • kjs/nodes.h: (JSC::StatementNode::): (JSC::DoWhileNode::): (JSC::WhileNode::): (JSC::ForInNode::):
2:48 PM Changeset in webkit [36870] by Beth Dakin
  • 2 edits in trunk/WebKitTools

2008-09-24 Beth Dakin <Beth Dakin>

Reviewed by Sam Weinig.

Speculative build fix.

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp: (AccessibilityUIElement::supportsPressAction):
2:45 PM Changeset in webkit [36869] by hyatt@apple.com
  • 7 edits
    2 deletes in trunk/WebCore

2008-09-24 David Hyatt <hyatt@apple.com>

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

Make sure the viewless scrollbar knows how to paint properly when transformed.

Reviewed by Sam Weinig

  • platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::ScrollbarThemeMac): (WebCore::ScrollbarThemeMac::paint):
2:28 PM Changeset in webkit [36868] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-09-24 David Hyatt <hyatt@apple.com>

Make sure the viewless scrollbar knows how to paint properly when transformed.

Reviewed by Sam Weinig

  • platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::ScrollbarThemeMac): (WebCore::ScrollbarThemeMac::paint):
2:18 PM Changeset in webkit [36867] by timothy@apple.com
  • 1 edit
    3 adds in trunk/WebKitSite

Add new screenshots of the Web Inspector's Scope Variables pane.

Not reviewed.

  • blog-files/inspector-closure-scope.png: Added.
  • blog-files/inspector-event-scope.png: Added.
  • blog-files/inspector-with-scope.png: Added.
2:17 PM Changeset in webkit [36866] by Nikolas Zimmermann
  • 3 edits in trunk/WebCore

Not reviewed. Try to fix win build.
Add missing ChangeLog entry from last commit.

2:13 PM Changeset in webkit [36865] by Darin Adler
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Remove stray characters Maciej pointed out in log.

2:08 PM Changeset in webkit [36864] by Simon Fraser
  • 4 edits in trunk/WebCore

2008-09-24 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

Wrap up dirtying the z-order list of the stacking context
RenderLayer into a method.
https://bugs.webkit.org/show_bug.cgi?id=21072

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::setHasVisibleContent): (WebCore::RenderLayer::addChild): (WebCore::RenderLayer::removeChild): (WebCore::RenderLayer::dirtyStackingContextZOrderLists): (WebCore::RenderLayer::styleChanged):
  • rendering/RenderLayer.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::setStyle):
1:38 PM Changeset in webkit [36863] by ggaren@apple.com
  • 5 edits
    1 add in trunk/JavaScriptCore

2008-09-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


Fixed <rdar://problem/5605532> Need a SPI for telling JS the size of
the objects it retains

  • API/JSBase.h: Filled in some missing function names.
  • API/tests/testapi.c: Test the new SPI a little.
  • API/JSSPI.cpp: Add the new SPI.
  • API/JSSPI.h: Add the new SPI.
  • JavaScriptCore.exp: Add the new SPI.
  • JavaScriptCore.xcodeproj/project.pbxproj: Add the new SPI.
1:37 PM Changeset in webkit [36862] by timothy@apple.com
  • 1 edit
    1 add in trunk/WebKitSite

Add another screenshot of the Web Inspector.

Not reviewed.

  • blog-files/inspector-disabling-properties.png: Added.
1:22 PM Changeset in webkit [36861] by kmccullough@apple.com
  • 3 edits in trunk/WebCore

2008-09-24 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

Bug 21070: REGRESSION Repeated messages with arguments are not repeated
or displayed multiple times

  • The Insepctor Controller was comparing JSValue pointers so thought the message was not a repeat, but the JS of the inspector compared the strings and so knew it was the same message and so overwrote the old message.
  • page/InspectorController.cpp: (WebCore::ConsoleMessage::isEqual): (WebCore::InspectorController::addMessageToConsole): (WebCore::InspectorController::addConsoleMessage): (WebCore::InspectorController::startGroup): (WebCore::InspectorController::endGroup):
  • page/InspectorController.h:
1:19 PM Changeset in webkit [36860] by hyatt@apple.com
  • 5 edits in trunk/WebCore

2008-09-24 David Hyatt <hyatt@apple.com>

Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
arrow placement preference and the thumb jump preference).

Reviewed by Adam Roben

  • platform/Scrollbar.cpp: (WebCore::Scrollbar::Scrollbar): (WebCore::Scrollbar::~Scrollbar):
  • platform/ScrollbarTheme.h: (WebCore::ScrollbarTheme::registerScrollbar): (WebCore::ScrollbarTheme::unregisterScrollbar):
  • platform/mac/ScrollbarThemeMac.h:
  • platform/mac/ScrollbarThemeMac.mm: (+[ScrollbarPrefsObserver appearancePrefsChanged:]): (+[ScrollbarPrefsObserver behaviorPrefsChanged:]): (+[ScrollbarPrefsObserver registerAsObserver]): (WebCore::ScrollbarThemeMac::registerScrollbar): (WebCore::ScrollbarThemeMac::unregisterScrollbar): (WebCore::ScrollbarThemeMac::ScrollbarThemeMac): (WebCore::ScrollbarThemeMac::preferencesChanged):
1:13 PM Changeset in webkit [36859] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.

  • API/JSBase.h: Filled in some missing function names.
1:06 PM Changeset in webkit [36858] by Nikolas Zimmermann
  • 2 edits
    1 add in trunk/WebCore/dom

Reviewed by Oliver.

Add ContainerNodeAlgorithms.h, as central place to share algorithms
operating on TreeShared-derived classes with a Node-style interface.

This allows SVGElementInstance & ContainerNode to share code.

12:50 PM Changeset in webkit [36857] by timothy@apple.com
  • 1 edit
    10 adds in trunk/WebKitSite

Add new screenshots of the Web Inspector.

Not reviewed.

  • blog-files/inspector-console-autocomplete.png: Added.
  • blog-files/inspector-databases-panel-query-view.png: Added.
  • blog-files/inspector-databases-panel.png: Added.
  • blog-files/inspector-elements-panel.png: Added.
  • blog-files/inspector-numeric-style-stepping.gif: Added.
  • blog-files/inspector-profiles-panel.png: Added.
  • blog-files/inspector-resources-panel.png: Added.
  • blog-files/inspector-scripts-panel.png: Added.
  • blog-files/inspector-status-bar-with-errors.png: Added.
  • blog-files/inspector-toolbar.png: Added.
12:23 PM Changeset in webkit [36856] by rwlbuis@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by Darin.

https://bugs.webkit.org/show_bug.cgi?id=20557
getScreenCTM() returns wrong values

Use the absolute position of the svg root when
determining the screen ctm.

Test: svg/custom/getscreenctm-in-mixed-content2.xhtml

11:26 AM Changeset in webkit [36855] by hyatt@apple.com
  • 52 edits in trunk

2008-09-24 David Hyatt <hyatt@apple.com>

Turn off support for CSS variables.

  • ChangeLog:
  • css/CSSParser.cpp: (WebCore::CSSParser::createVariablesRule): (WebCore::CSSParser::addVariable): (WebCore::CSSParser::addVariableDeclarationBlock):
11:15 AM Changeset in webkit [36854] by hyatt@apple.com
  • 5 edits
    1 delete in trunk

2008-09-24 David Hyatt <hyatt@apple.com>

Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).

  • css/CSSGrammar.y:
  • css/CSSParserValues.cpp: (WebCore::CSSParserValue::isVariable):
  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cleanup): (WebCore::CSSPrimitiveValue::getStringValue): (WebCore::CSSPrimitiveValue::cssText): (WebCore::CSSPrimitiveValue::parserValue):
  • css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::): (WebCore::CSSPrimitiveValue::isVariable):
10:54 AM Changeset in webkit [36853] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed https://bugs.webkit.org/show_bug.cgi?id=21057
Crash in RegisterID::deref() running fast/canvas/canvas-putImageData.html

  • VM/CodeGenerator.h: Changed declaration order to ensure the m_lastConstant, which is a RefPtr that points into m_calleeRegisters, has its destructor called before the destructor for m_calleeRegisters.
10:40 AM Changeset in webkit [36852] by timothy@apple.com
  • 2 edits in trunk/WebKitSite
  • demos/drosera/demo.js: Add some console.profile() calls.
10:02 AM Changeset in webkit [36851] by Darin Adler
  • 9 edits in trunk/JavaScriptCore

2008-09-24 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

About 1% on v8-raytrace.

  • kjs/JSActivation.cpp: Moved copyRegisters to the header to make it inline.
  • kjs/JSActivation.h: (JSC::JSActivation::copyRegisters): Moved here. Also removed the registerArraySize argument to setRegisters, since the object doesn't need to store the number of registers.
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset): Removed unnecessary clearing left over from when we used this on objects that weren't brand new. These days, this function is really just part of the constructor.
  • kjs/JSGlobalObject.h: Added registerArraySize to JSGlobalObjectData, since JSVariableObjectData no longer needs it. Added a setRegisters override here that handles storing the size.
  • kjs/JSStaticScopeObject.h: Removed code to set registerArraySize, since it no longer exists.
  • kjs/JSVariableObject.cpp: Moved copyRegisterArray and setRegisters to the header to make them inline.
  • kjs/JSVariableObject.h: Removed registerArraySize from JSVariableObjectData, since it was only used for the global object. (JSC::JSVariableObject::copyRegisterArray): Moved here ot make it inline. (JSC::JSVariableObject::setRegisters): Moved here to make it inline. Also removed the code to set registerArraySize and changed an if statement into an assert to save an unnnecessary branch.
9:39 AM Changeset in webkit [36850] by mitz@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Added bug URLs for r36001

9:23 AM Changeset in webkit [36849] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes a regression where the "incorrect MIME-type" warning would not
show up correctly in the Console or the resources sidebar.

Reviewed by Kevin McCullough.

  • page/inspector/Resource.js: (WebInspector.Resource.prototype._addTip): Add the repeat count argument to the WebInspector.ConsoleMessage constructor call. (WebInspector.Resource.prototype._checkWarning): Ditto.
6:47 AM Changeset in webkit [36848] by vestbo@webkit.org
  • 5 edits in trunk

2008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Remove deprecated JS Qt bindings object call/construct code and fix autotests

1:11 AM Changeset in webkit [36847] by mjs@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-09-24 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.


  • inline PropertyMap::getOffset to speed up polymorphic lookups


~1.5% speedup on v8 benchmark
no effect on SunSpider

  • JavaScriptCore.exp:
  • kjs/PropertyMap.cpp:
  • kjs/PropertyMap.h: (JSC::PropertyMap::getOffset):
12:43 AM Changeset in webkit [36846] by jmalonzo@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-24 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Alp Toker.

https://bugs.webkit.org/show_bug.cgi?id=20992
Build fails on GTK+ Mac OS

  • wtf/ThreadingGtk.cpp: Remove platform ifdef as suggested by Richard Hult. (WTF::initializeThreading):
12:42 AM Changeset in webkit [36845] by jmalonzo@webkit.org
  • 3 edits in trunk

2008-09-23 Richard Hult <richard@imendio.com>

Reviewed by Alp Toker. Landed by Jan Alonzo.

http://bugs.webkit.org/show_bug.cgi?id=20582
[Gtk] Link error on Mac OS X

  • GNUmakefile.am: Only use the -version-script flag for the gnu linker.
  • configure.ac: Check for GNU OSes.
12:42 AM Changeset in webkit [36844] by jmalonzo@webkit.org
  • 3 edits in trunk/WebCore

2008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>

Reviewed by Alp Toker. Landed by Jan Alonzo.

Bug 20883: [CURL] Add deferred loading
https://bugs.webkit.org/show_bug.cgi?id=20883

Implement deferred loading for the libcURL backend using curl_easy_pause.
As the method was introduced in version 7.18.0, all the code checks for libcURL
version.

  • platform/network/curl/ResourceHandleCurl.cpp: (WebCore::ResourceHandle::setDefersLoading):
  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::writeCallback): Add an assertion that deferred loading is not activated. (WebCore::headerCallback): Ditto. (WebCore::readCallback): Ditto. (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force defersLoading to be false in order to avoid triggering an assertion. (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is activated, pause the easy handle.
12:32 AM Changeset in webkit [36843] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

Bug 19968: Slow Script at www.huffingtonpost.com
<https://bugs.webkit.org/show_bug.cgi?id=19968>

Reviewed by Maciej Stachowiak

Finally found the cause of this accursed issue. It is triggered
by synchronous creation of a new global object from JS. The new
global object resets the timer state in this execution group's
Machine, taking timerCheckCount to 0. Then when JS returns the
timerCheckCount is decremented making it non-zero. The next time
we execute JS we will start the timeout counter, however the non-zero
timeoutCheckCount means we don't reset the timer information. This
means that the timeout check is now checking the cumulative time
since the creation of the global object rather than the time since
JS was last entered. At this point the slow script dialog is guaranteed
to eventually be displayed incorrectly unless a page is loaded
asynchronously (which will reset everything into a sane state).

The fix for this is rather trivial -- the JSGlobalObject constructor
should not be resetting the machine timer state.

Sep 23, 2008:

11:44 PM Changeset in webkit [36842] by ggaren@apple.com
  • 4 edits
    2 adds in trunk

JavaScriptCore:

2008-09-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Fixed https://bugs.webkit.org/show_bug.cgi?id=21038 | <rdar://problem/6240812>
Uncaught exceptions in regex replace callbacks crash webkit


This was a combination of two problems:


(1) the replace function would continue execution after an exception
had been thrown.


(2) In some cases, the Machine would return 0 in the case of an exception,
despite the fact that a few clients dereference the Machine's return
value without first checking for an exception.


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


Return jsNull() instead of 0 in the case of an exception, since some
clients depend on using our return value.


ASSERT that execution does not continue after an exception has been
thrown, to help catch problems like this in the future.

  • kjs/StringPrototype.cpp: (JSC::stringProtoFuncReplace):


Stop execution if an exception has been thrown.

LayoutTests:

2008-09-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Test for https://bugs.webkit.org/show_bug.cgi?id=21038
Uncaught exceptions in regex replace callbacks crash webkit

  • fast/js/string-replace-exception-crash-expected.txt: Added.
  • fast/js/string-replace-exception-crash.html: Added.
10:49 PM Changeset in webkit [36841] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-23 Geoffrey Garen <ggaren@apple.com>

Try to fix the windows build.

  • VM/CTI.cpp: (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileMainPass):
8:36 PM Changeset in webkit [36840] by alp@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-23 Alp Toker <alp@nuanti.com>

Build fix.

  • VM/CTI.h:
8:24 PM Changeset in webkit [36839] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

2008-09-23 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Inspector search field style tweaks.

  • page/inspector/inspector.css:
7:23 PM Changeset in webkit [36838] by Nikolas Zimmermann
  • 3 edits in trunk/WebCore

Reviewed by Eric.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)

Fix missing negation in EventTargetNode::insertedIntoDocument.
Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
Remove code, that wasn't supposed to go in in dispatchGenericEvent().

7:08 PM Changeset in webkit [36837] by timothy@apple.com
  • 4 edits in trunk/WebCore

Adds search support to the Profiles panel.

The Profiles panel supports a few types of queries:

  • Standard string matching for function names and file URLs.
  • Greater than and less than search for numeric columns. So a query of ">24" will match all rows that have calls greater than 24. Or "<=42" will match all 42 or less.
  • Percent and time units. Adding a unit of "s", "ms" or "%" is supported and will match only the Self and Total columns. So a query of ">1.25s" will match all rows that took longer than 1.25 seconds.

Reviewed by Oliver Hunt.

  • page/inspector/ProfileView.js: (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time it will start at the first result. (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file. (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted data grid nodes. (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes. (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult. (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto. (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto. (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto. (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says. (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto. (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node. Expand all the ancestors first so the profile node will have a DataGridNode. (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree. (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that have search matches.
  • page/inspector/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery. (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile. (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view. (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed. (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView. (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views. (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches. (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches. (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
  • page/inspector/inspector.css: New style rules for the cell highlight color.
7:08 PM Changeset in webkit [36836] by timothy@apple.com
  • 8 edits
    4 adds in trunk/WebCore

Adds search support to the Resources and Scripts panels.

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

Reviewed by Oliver Hunt.

  • page/inspector/Images/searchSmallBlue.png: Added.
  • page/inspector/Images/searchSmallBrightBlue.png: Added.
  • page/inspector/Images/searchSmallGray.png: Added.
  • page/inspector/Images/searchSmallWhite.png: Added.
  • page/inspector/ResourceView.js: (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views" or "script-resource-views" since one might not be created yet.
  • page/inspector/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that are not this panel's current visible view. This can happen when a ResourceView is visible in the Scripts panel then switched to the this panel. (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the visibleView first. (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function that uses the current graph search function. So cycling through results will be in the order things appear in the sidebar. (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the resource's sidebar tree element. (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles in the sidebar. Calls the Panel prototype's searchCanceled. (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles in the sidebar. Calls the Panel prototype's performSearch. (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery. (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings if there is a current search query. (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto. (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto. (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view. (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content. (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class. (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
  • page/inspector/ScriptView.js: (WebInspector.ScriptView): Set _sourceFrameSetup to flase. (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time it will start at the first result. (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax highlighting complete". (WebInspector.ScriptView.prototype): Share many methods with SourceView.
  • page/inspector/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this This can happen when a ResourceView is visible in the Resources panel then switched to the this panel. (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first. (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery. (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view. (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
  • page/inspector/SourceFrame.js: (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
  • page/inspector/SourceView.js: (WebInspector.SourceView.prototype.hide): (WebInspector.SourceView.prototype.detach): (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file. (WebInspector.SourceView.prototype._addBreakpoint): Ditto. (WebInspector.SourceView.prototype.searchCanceled): Delete search properties. (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished. (WebInspector.SourceView.prototype.jumpToFirstSearchResult): (WebInspector.SourceView.prototype.jumpToLastSearchResult): (WebInspector.SourceView.prototype.jumpToNextSearchResult): (WebInspector.SourceView.prototype.jumpToPreviousSearchResult): (WebInspector.SourceView.prototype.showingFirstSearchResult): (WebInspector.SourceView.prototype.showingLastSearchResult): (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range. (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches. (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
  • page/inspector/inspector.css:
7:08 PM Changeset in webkit [36835] by timothy@apple.com
  • 3 edits in trunk/WebCore

Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
so future code can be shared.

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

Reviewed by Oliver Hunt.

  • page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement. And visibleResourceView to visibleView.
  • page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
7:08 PM Changeset in webkit [36834] by timothy@apple.com
  • 4 edits in trunk/WebCore

Highlight all matched search results in the Elements panel DOM tree.

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

Reviewed by Oliver Hunt.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight on all previous search results. (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight on all new search results.
  • page/inspector/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement): Delay setting the title until onattach. (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes the highlighted class on the listItemElement. (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class if needed. Calls _updateTitle. (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight class so it can be styled when the highlighted class is present.
  • page/inspector/inspector.css: New style rules for the hihglight.
7:08 PM Changeset in webkit [36833] by timothy@apple.com
  • 2 edits in trunk/WebCore

Add search support to the Elements panel.

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

Reviewed by Oliver Hunt.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount with a 0 match count to rest. Reset the other search properties. (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath query and a CSS selector on all the Documents in the page. Remembers the found nodes and avoids duplicates. Focuses the first result. (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result. (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
7:08 PM Changeset in webkit [36832] by timothy@apple.com
  • 2 edits in trunk/WebCore

Add support to Panel that allows easy searching of sub-views.

Reviewed by Oliver Hunt.

  • page/inspector/Panel.js: (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the views in the search results and delete the currentQuery property. Call WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the other search properties. (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will reset everything we need before doing a new search. Get an array of searchableViews from the panel, implemented by sub-classes. Iterate over the views one-by-one with an interval to prevent blocking the UI for large lists of searchableViews. This keeps the interface really responsive. Pass a finishedCallback function to the performSearch on each view so it can notify the panel of results. (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the searchResults of the visibleView, so we know where in the results we are. This is done every time incase the user manually navigates to a new view. If the view is showing the last result, jump to the next view and show it's first result. Otherwise jump to the next result in the current view. (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
7:08 PM Changeset in webkit [36831] by timothy@apple.com
  • 5 edits in trunk/WebCore

Add support for asking the current panel to perform a search, find next/previous and clear.
A search is performed on the new new current panel when switching between panels. The search
label/placeholder in the toolbar now includes the panel name to make it clear that panel will
be searched. The search field contents are selected when Command/Control-F or Enter/Return
is pressed, so the user can easily type an entirely new query. The search match count shows
up in the toolbar next to the search field.

Also changed:

  • Rename lastQuery to currentQuery since it better matches the truth.
  • Set the search field "results" attribute to zero since results arn't saved for how we use the search field.
  • Make repeated presses of the Return key jump to the next search result instead of doing nothing.
  • Increased the search field width.

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

Reviewed by Oliver Hunt.

  • English.lproj/localizedStrings.js: New strings.
  • page/inspector/inspector.css: New styles.
  • page/inspector/inspector.html: Add the search-results-matches element. Add the incremental attribute to the search field and set the results attribute to zero.
  • page/inspector/inspector.js: (WebInspector.set currentPanel): perform the search on the new panel. (WebInspector.loaded): Change the event listeners and remove code that changes the search label text. (WebInspector.documentKeyDown): Add support for Command/Control-G and Command/Control-Shift-G. To jump to the next and previous search results. (WebInspector.updateSearchLabel): Added. Update the search placeholder/label. This does different things depending on the attached state. (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key. This prevents a "search" event from firing for key down. We handle the Enter key on key up in searchKeyUp. This stops performSearch from being called twice in a row. (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key. (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search. Call updateSearchMatchesCount to reset the matches count in the toolbar. (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
7:08 PM Changeset in webkit [36830] by timothy@apple.com
  • 4 edits in trunk/WebCore

Remove the previous Inspector search code to make room for the new stuff.

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

Reviewed by Oliver Hunt.

  • page/inspector/inspector.css:
  • page/inspector/inspector.html:
  • page/inspector/inspector.js: (WebInspector.get/set showingSearchResults): Removed. (WebInspector.searchResultsKeyDown): Removed. (WebInspector.searchResultsResizerDragStart): Removed. (WebInspector.searchResultsResizerDragEnd): Removed. (WebInspector.searchResultsResizerDrag): Removed. (WebInspector.performSearch): Removed searching parts.
7:07 PM Changeset in webkit [36829] by timothy@apple.com
  • 4 edits in trunk/WebCore

Use the Array.remove helper function in more places.

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

Reviewed by Kevin McCullough.

  • page/inspector/ResourceCategory.js: (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
  • page/inspector/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
  • page/inspector/inspector.js: (WebInspector.removeResource): Ditto.
7:07 PM Changeset in webkit [36828] by timothy@apple.com
  • 3 edits in trunk/WebCore

Fixes a bug where inspecting a node after reloading the page
would not reveal the node in the DOM tree. The TreeOutline
was not being told to forget decendants of a removed child.
So old TreeElements would be found that are not in the tree.

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

Reviewed by Kevin McCullough.

  • page/inspector/treeoutline.js: (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive in addition to _forgetTreeElement. (TreeOutline._removeChildren): Call _forgetChildrenRecursive in addition to _forgetTreeElement. (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly search for known elements. (TreeOutline._forgetTreeElement): Use Array.remove to remove elements. (TreeOutline._forgetChildrenRecursive): Recursively traverse the descendants and call _forgetTreeElement.
  • page/inspector/utilities.js: (Array.prototype.remove): Speed up this function by using Array.indexOf when onlyFirst is true.
7:07 PM Changeset in webkit [36827] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes a bug where inspecting some short text nodes does
not reveal them in the Elements panel DOM tree.

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

Reviewed by Oliver Hunt.

  • page/inspector/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode): The revealAndSelectNode() method might find a different element if there is inlined text, and the select() call would change the focusedDOMNode and reenter this setter. So to avoid calling focusedNodeChanged() twice, first check if _focusedDOMNode is the same node as the one passed in. (WebInspector.ElementsTreeOutline.prototype.update): Remove use of this.treeOutline, since this is the TreeOutline. (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added. Provides default functions for isAncestor, getParet and equal. Calls the base protoype's findTreeElement. If that returns null and the node is a text node, try finding it's parent. (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed. Renamed to revealAndSelectNode. (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode): Selects and reveals the node passed in. Use the simple findTreeElement. (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent): Remove use of this.treeOutline, since this is the TreeOutline.
7:07 PM Changeset in webkit [36826] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes an exception that happened when removing a Resource
from the ResourcesPanel.

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

Reviewed by Kevin McCullough.

  • page/inspector/ResourcesPanel.js: (WebInspctor.ResourcesPanel.prototype.removeResource): Remove the graphElement.
6:52 PM Changeset in webkit [36825] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.

  • wtf/Platform.h: Removed duplicate #if.
6:18 PM Changeset in webkit [36824] by kmccullough@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

2008-09-23 Kevin McCullough <kmccullough@apple.com>

Fixed "Time" to "Tim"

  • ChangeLog:
6:00 PM Changeset in webkit [36823] by Nikolas Zimmermann
  • 12 edits in trunk/WebCore

Reviewed by Oliver.

Move mapInstanceToElement/removeInstanceMapping/instancesForElement
from SVGDocumentExtensions to SVGElement. It's more useful to store
the list of SVGElementInstances per SVGElement, instead of using
a document-wide hash for this purpose.

5:53 PM Changeset in webkit [36822] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix.

5:27 PM Changeset in webkit [36821] by ggaren@apple.com
  • 27 edits in trunk/JavaScriptCore

2008-09-23 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


Changed the layout of the call frame from


{ header, parameters, locals | constants, temporaries }


to


{ parameters, header | locals, constants, temporaries }


This simplifies function entry+exit, and enables a number of future
optimizations.


13.5% speedup on empty call benchmark for bytecode; 23.6% speedup on
empty call benchmark for CTI.


SunSpider says no change. SunSpider --v8 says 1% faster.

  • VM/CTI.cpp:


Added a bit of abstraction for calculating whether a register is a
constant, since this patch changes that calculation:
(JSC::CTI::isConstant):
(JSC::CTI::getConstant):
(JSC::CTI::emitGetArg):
(JSC::CTI::emitGetPutArg):
(JSC::CTI::getConstantImmediateNumericArg):

Updated for changes to callframe header location:
(JSC::CTI::emitPutToCallFrameHeader):
(JSC::CTI::emitGetFromCallFrameHeader):
(JSC::CTI::printOpcodeOperandTypes):


Renamed to spite Oliver:
(JSC::CTI::emitInitRegister):


Added an abstraction for emitting a call through a register, so that
calls through registers generate exception info, too:
(JSC::CTI::emitCall):

Updated to match the new callframe header layout, and to support calls
through registers, which have no destination address:
(JSC::CTI::compileOpCall):
(JSC::CTI::privateCompileMainPass):
(JSC::CTI::privateCompileSlowCases):
(JSC::CTI::privateCompile):

  • VM/CTI.h:

More of the above:
(JSC::CallRecord::CallRecord):

  • VM/CodeBlock.cpp:

Updated for new register layout:
(JSC::registerName):
(JSC::CodeBlock::dump):

  • VM/CodeBlock.h:


Updated CodeBlock to track slightly different information about the
register frame, and tweaked the style of an ASSERT_NOT_REACHED.
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::getStubInfo):

  • VM/CodeGenerator.cpp:


Added some abstraction around constant register allocation, since this
patch changes it, changed codegen to account for the new callframe
layout, and added abstraction around register fetching code
that used to assume that all local registers lived at negative indices,
since vars now live at positive indices:
(JSC::CodeGenerator::generate):
(JSC::CodeGenerator::addVar):
(JSC::CodeGenerator::addGlobalVar):
(JSC::CodeGenerator::allocateConstants):
(JSC::CodeGenerator::CodeGenerator):
(JSC::CodeGenerator::addParameter):
(JSC::CodeGenerator::registerFor):
(JSC::CodeGenerator::constRegisterFor):
(JSC::CodeGenerator::newRegister):
(JSC::CodeGenerator::newTemporary):
(JSC::CodeGenerator::highestUsedRegister):
(JSC::CodeGenerator::addConstant):


ASSERT that our caller referenced the registers it passed to us.
Otherwise, we might overwrite them with parameters:
(JSC::CodeGenerator::emitCall):
(JSC::CodeGenerator::emitConstruct):

  • VM/CodeGenerator.h:


Added some abstraction for getting a RegisterID for a given index,
since the rules are a little weird:
(JSC::CodeGenerator::registerFor):

  • VM/Machine.cpp:

Utility function to transform a machine return PC to a virtual machine
return VPC, for the sake of stack unwinding, since both PCs are stored
in the same location now:
(JSC::vPCForPC):

Tweaked to account for new call frame:
(JSC::Machine::initializeCallFrame):


Tweaked to account for registerOffset supplied by caller:
(JSC::slideRegisterWindowForCall):

Tweaked to account for new register layout:
(JSC::scopeChainForCall):
(JSC::Machine::callEval):
(JSC::Machine::dumpRegisters):
(JSC::Machine::unwindCallFrame):
(JSC::Machine::execute):

Changed op_call and op_construct to implement the new calling convention:
(JSC::Machine::privateExecute):

Tweaked to account for the new register layout:
(JSC::Machine::retrieveArguments):
(JSC::Machine::retrieveCaller):
(JSC::Machine::retrieveLastCaller):
(JSC::Machine::callFrame):
(JSC::Machine::getArgumentsData):

Changed CTI call helpers to implement the new calling convention:
(JSC::Machine::cti_op_call_JSFunction):
(JSC::Machine::cti_op_call_NotJSFunction):
(JSC::Machine::cti_op_ret_activation):
(JSC::Machine::cti_op_ret_profiler):
(JSC::Machine::cti_op_construct_JSConstruct):
(JSC::Machine::cti_op_construct_NotJSConstruct):
(JSC::Machine::cti_op_call_eval):

  • VM/Machine.h:
  • VM/Opcode.h:


Renamed op_initialise_locals to op_init, because this opcode
doesn't initialize all locals, and it doesn't initialize only locals.
Also, to spite Oliver.


  • VM/RegisterFile.h:


New call frame enumeration values:
(JSC::RegisterFile::):

Simplified the calculation of whether a RegisterID is a temporary,
since we can no longer assume that all positive non-constant registers
are temporaries:

  • VM/RegisterID.h: (JSC::RegisterID::RegisterID): (JSC::RegisterID::setTemporary): (JSC::RegisterID::isTemporary):

Renamed firstArgumentIndex to firstParameterIndex because the assumption
that this variable pertained to the actual arguments supplied by the
caller caused me to write some buggy code:

  • kjs/Arguments.cpp: (JSC::ArgumentsData::ArgumentsData): (JSC::Arguments::Arguments): (JSC::Arguments::fillArgList): (JSC::Arguments::getOwnPropertySlot): (JSC::Arguments::put):

Updated for new call frame layout:

  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::functionName): (JSC::DebuggerCallFrame::type):
  • kjs/DebuggerCallFrame.h:

Changed the activation object to account for the fact that a call frame
header now sits between parameters and local variables. This change
requires all variable objects to do their own marking, since they
now use their register storage differently:

  • kjs/JSActivation.cpp: (JSC::JSActivation::mark): (JSC::JSActivation::copyRegisters): (JSC::JSActivation::createArgumentsObject):
  • kjs/JSActivation.h:

Updated global object to use the new interfaces required by the change
to JSActivation above:

  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset): (JSC::JSGlobalObject::mark): (JSC::JSGlobalObject::copyGlobalsFrom): (JSC::JSGlobalObject::copyGlobalsTo):
  • kjs/JSGlobalObject.h: (JSC::JSGlobalObject::addStaticGlobals):

Updated static scope object to use the new interfaces required by the
change to JSActivation above:

  • kjs/JSStaticScopeObject.cpp: (JSC::JSStaticScopeObject::mark): (JSC::JSStaticScopeObject::~JSStaticScopeObject):
  • kjs/JSStaticScopeObject.h: (JSC::JSStaticScopeObject::JSStaticScopeObject): (JSC::JSStaticScopeObject::d):

Updated variable object to use the new interfaces required by the
change to JSActivation above:

  • kjs/JSVariableObject.cpp: (JSC::JSVariableObject::copyRegisterArray): (JSC::JSVariableObject::setRegisters):
  • kjs/JSVariableObject.h:

Changed the bit twiddling in symbol table not to assume that all indices
are negative, since they can be positive now:

  • kjs/SymbolTable.h: (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::isNull): (JSC::SymbolTableEntry::getIndex): (JSC::SymbolTableEntry::getAttributes): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::isReadOnly): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidIndex):

Changed call and construct nodes to ref their functions and/or bases,
so that emitCall/emitConstruct doesn't overwrite them with parameters.
Also, updated for rename to registerFor:

  • kjs/nodes.cpp: (JSC::ResolveNode::emitCode): (JSC::NewExprNode::emitCode): (JSC::EvalFunctionCallNode::emitCode): (JSC::FunctionCallValueNode::emitCode): (JSC::FunctionCallResolveNode::emitCode): (JSC::FunctionCallBracketNode::emitCode): (JSC::FunctionCallDotNode::emitCode): (JSC::PostfixResolveNode::emitCode): (JSC::DeleteResolveNode::emitCode): (JSC::TypeOfResolveNode::emitCode): (JSC::PrefixResolveNode::emitCode): (JSC::ReadModifyResolveNode::emitCode): (JSC::AssignResolveNode::emitCode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::ForInNode::emitCode):

Added abstraction for getting exception info out of a call through a
register:

  • masm/X86Assembler.h: (JSC::X86Assembler::emitCall):


Removed duplicate #if:

  • wtf/Platform.h:
5:23 PM Changeset in webkit [36820] by Nikolas Zimmermann
  • 10 edits in trunk/WebCore

Rubber stamped by Sam.

Move code from EventTarget to EventTargetNode.

I refactored most parts to live in EventTarget, a year ago,
though the implementation of EventTargetSVGElementInstance is
done in another way, that obsoletes this.

5:14 PM Changeset in webkit [36819] by hyatt@apple.com
  • 3 edits in trunk/WebCore

Fix horizontal scrollbars on windows.

5:09 PM Changeset in webkit [36818] by Beth Dakin
  • 13 edits
    2 adds in trunk

WebCore:

2008-09-23 Beth Dakin <Beth Dakin>

Reviewed by Sam Weinig.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
link at gmail does not support AXPress action
and corresponding: <rdar://problem/6216178>

I fixed this bug by making AccessibilityObject::anchorElement
support ARIA links.

  • page/AccessibilityImageMapLink.cpp: (WebCore::AccessibilityImageMapLink::anchorElement):
  • page/AccessibilityImageMapLink.h:
  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::anchorElement):
  • page/AccessibilityObject.h: (WebCore::AccessibilityObject::isNativeAnchor):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::isNativeAnchor): (WebCore::AccessibilityRenderObject::anchorElement): (WebCore::AccessibilityRenderObject::internalLinkElement): (WebCore::AccessibilityRenderObject::url):
  • page/AccessibilityRenderObject.h:
  • page/mac/AccessibilityObjectWrapper.mm: (AXLinkElementForNode):

WebKitTools:

2008-09-23 Beth Dakin <Beth Dakin>

Reviewed by Sam Weinig.

This patch extends DumpRenderTree's AccessibilityController to ask
if the focused element supports the press action.

  • DumpRenderTree/AccessibilityUIElement.cpp: (getSupportsPressActionCallback): (AccessibilityUIElement::getJSClass):
  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/mac/AccessibilityUIElementMac.mm: (AccessibilityUIElement::supportsPressAction):

LayoutTests:

2008-09-23 Beth Dakin <Beth Dakin>

Reviewed by Sam Weinig.

Test for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add
Contact" link at gmail does not support AXPress action
and corresponding: <rdar://problem/6216178>

  • accessibility/aria-link-supports-press-expected.txt: Added.
  • accessibility/aria-link-supports-press.html: Added.
5:05 PM Changeset in webkit [36817] by kmccullough@apple.com
  • 7 edits in trunk/WebCore

2008-09-23 Kevin McCullough <kmccullough@apple.com>

Reviewed by Time and Oliver.

Bug 20949: Catch repeated messages in Inspector Controller to limit
memory usage

  • Store the repeat count in the Console Message object, in the Inspector Controller and JS ConsoleMessage object.
  • page/InspectorController.cpp: (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::ConsoleMessage::operator==): (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::addConsoleMessage): (WebCore::InspectorController::addScriptConsoleMessage):
  • page/InspectorController.h:
  • page/inspector/Console.js:
  • page/inspector/Resource.js:
  • page/inspector/ResourcesPanel.js:
  • page/inspector/SourceFrame.js:
4:44 PM Changeset in webkit [36816] by Nikolas Zimmermann
  • 16 edits
    2 moves
    5 adds in trunk

Reviewed by Eric.

Working on proper EventTarget support for SVGElementInstance.

Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.

Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
implementation. Let it use TreeShared directly.

It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
The transition to EventTargetSVGElementInstance will be done in a few individual patches.

2:47 PM Changeset in webkit [36815] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Dave Hyatt.

  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::getCTFont):
2:43 PM Changeset in webkit [36814] by hyatt@apple.com
  • 9 edits in trunk

WebCore:

2008-09-23 David Hyatt <hyatt@apple.com>

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

Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.

Reviewed by Sam Weinig

  • platform/ScrollView.h:
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::setFrameGeometry):
  • platform/Scrollbar.h:
  • platform/Widget.cpp: (WebCore::Widget::convertFromContainingWindow):
  • platform/Widget.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::~ScrollView): (WebCore::ScrollView::windowResizerRect): (WebCore::ScrollView::resizerOverlapsContent): (WebCore::ScrollView::adjustOverlappingScrollbarCount): (WebCore::ScrollView::setParent):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::convertFromContainingWindow):

WebKit/mac:

2008-09-23 David Hyatt <hyatt@apple.com>

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

Teach the viewless Mac scrollbar how to avoid the NSWindow resizer.

Reviewed by Sam Weinig

  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::windowResizerRect):
2:33 PM Changeset in webkit [36813] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-09-23 Dirk Schulze <vbs85@gmx.de>

Reviewed by Darin Adler. Landed by Jan Alonzo.

Added support for getImageData() and putImageData()
to Cairo.

[CAIRO] needs getImageData and putImageData support
https://bugs.webkit.org/show_bug.cgi?id=20838

  • platform/graphics/cairo/ImageBufferCairo.cpp: (WebCore::ImageBuffer::ImageBuffer): (WebCore::ImageBuffer::getImageData): (WebCore::ImageBuffer::putImageData):
2:07 PM Changeset in webkit [36812] by jmalonzo@webkit.org
  • 3 edits
    2 adds in trunk/WebCore

2008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=18987
[GTK] Implement SharedBuffer::createWithContentsOfFile and
KURL::fileSystemPath

  • GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
  • platform/gtk/KURLGtk.cpp: Added. (WebCore::KURL::fileSystemPath): Implemented.
  • platform/gtk/SharedBufferGtk.cpp: Added. (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
  • platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
1:39 PM Changeset in webkit [36811] by ap@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Oliver Hunt, okayed by Darin Adler.

<rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app

  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
1:30 PM Changeset in webkit [36810] by mitz@apple.com
  • 3 edits
    3 adds in trunk

WebKit/mac:

Reviewed by Beth Dakin.

  • fix <rdar://problem/6233388> Crash beneath -[WebFrameView keyDown:]

Test: fast/events/keydown-remove-frame.html

  • WebView/WebFrameView.mm: (-[WebFrameView keyDown:]): Added a null check.

LayoutTests:

Reviewed by Beth Dakin.

  • test for <rdar://problem/6233388> Crash beneath -[WebFrameView keyDown:]
  • fast/events/keydown-remove-frame-expected.txt: Added.
  • fast/events/keydown-remove-frame.html: Added.
  • fast/events/resources/keydown-remove-frame-iframe.html: Added.
11:37 AM Changeset in webkit [36809] by kmccullough@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-09-23 Kevin McCullough <kmccullough@apple.com>

Reviewed by Darin.

Bug 21030: The JS debugger breaks on the do of a do-while not the while
(where the conditional statement is)
https://bugs.webkit.org/show_bug.cgi?id=21030
Now the statementListEmitCode detects if a do-while node is being
emited and emits the debug hook on the last line instead of the first.

This change had no effect on sunspider.

  • kjs/nodes.cpp: (JSC::statementListEmitCode):
  • kjs/nodes.h: (JSC::StatementNode::isDoWhile): (JSC::DoWhileNode::isDoWhile):
10:30 AM Changeset in webkit [36808] by mjs@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-09-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Camron Zwarich.

~2% speedup on EarleyBoyer test.


  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/Machine.cpp: (JSC::Machine::cti_op_instanceof):
9:34 AM Changeset in webkit [36807] by ap@webkit.org
  • 8 edits in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21023
Don't use TEC for encodings supported by ICU

  • platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic, x-mac-greek, and x-mac-turkish.
  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames): Register aliases for these encodings that are not registered automatically; updated comments.
7:18 AM Changeset in webkit [36806] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • add forgotten slow case logic for !==
  • VM/CTI.cpp: (JSC::CTI::privateCompileSlowCases):
6:20 AM Changeset in webkit [36805] by mjs@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-09-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.

  • inline the fast cases of !==, same as for ===


2.9% speedup on EarleyBoyer benchmark

  • VM/CTI.cpp: (JSC::CTI::compileOpStrictEq): Factored stricteq codegen into this function, and parameterized so it can do the reverse version as well. (JSC::CTI::privateCompileMainPass): Use the above for stricteq and nstricteq.
  • VM/CTI.h: (JSC::CTI::): Declare above stuff.
  • VM/Machine.cpp: (JSC::Machine::cti_op_nstricteq): Removed fast cases, now handled inline.
3:59 AM Changeset in webkit [36804] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver Hunt.

Bug 20989: Aguments constructor should put 'callee' and 'length' properties in a more efficient way
<https://bugs.webkit.org/show_bug.cgi?id=20989>

Make special cases for the 'callee' and 'length' properties in the
Arguments object.

This is somewhere between a 7.8% speedup and a 10% speedup on the V8
Raytrace benchmark, depending on whether it is run alone or with the
other V8 benchmarks.

  • kjs/Arguments.cpp: (JSC::ArgumentsData::ArgumentsData): (JSC::Arguments::Arguments): (JSC::Arguments::mark): (JSC::Arguments::getOwnPropertySlot): (JSC::Arguments::put): (JSC::Arguments::deleteProperty):
3:03 AM Changeset in webkit [36803] by oliver@apple.com
  • 1 add in trunk/WebCore/bindings/js/JSCanvasPixelArrayCustom.h

Build fix (add file i forgot in r36801)

12:46 AM Changeset in webkit [36802] by mjs@apple.com
  • 7 edits in trunk

JavaScriptCore:

2008-09-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.


~2% speedup on EarleyBoyer

The idea here is to record in the StructureID whether the class
needs a special hasInstance or if it can use the normal logic from
JSObject.


Based on this I inlined the real work directly into
cti_op_instanceof and put the fastest checks up front and the
error handling at the end (so it should be fairly straightforward
to split off the beginning to be inlined if desired).

I only did this for CTI, not the bytecode interpreter.


  • API/JSCallbackObject.h: (JSC::JSCallbackObject::createStructureID):
  • ChangeLog:
  • VM/Machine.cpp: (JSC::Machine::cti_op_instanceof):
  • kjs/JSImmediate.h: (JSC::JSImmediate::isAnyImmediate):
  • kjs/TypeInfo.h: (JSC::TypeInfo::overridesHasInstance): (JSC::TypeInfo::flags):

WebCore:

2008-09-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

~2% speedup on EarleyBoyer

(WebCore updates.)


  • bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::createStructureID):
12:40 AM Changeset in webkit [36801] by oliver@apple.com
  • 7 edits in trunk/WebCore

2008-09-22 Darin Adler <Darin Adler>

Reviewed by Oliver Hunt

  • GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and indexSetter. These are now both inlined, so in the header.
  • bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex function is what's used for HasCustomIndexGetter. Also moved the indexSetter function here.
  • bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter to use a getByIndex member function rather than an indexGetter stat member function in a property slot. This lets us avoid the property slot mechanism's rule where it turns numeric property names into strings in the identifier table, which is good because that's slow. Also added a new property CustomHeader that allows IDL files to introduce headers to be included -- useful when we have functions that we want to inline into the binding.
  • html/CanvasPixelArray.idl: Added CustomHeader attribute.
12:23 AM Changeset in webkit [36800] by eric@webkit.org
  • 2 edits in trunk/WebCore

No review, build fix only.

Another blind stab in the dark.

  • svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
12:04 AM Changeset in webkit [36799] by eric@webkit.org
  • 3 edits in trunk/WebCore

No review, build fix only.

Third time's the charm, eh? My local build is sadly still not done...

  • platform/graphics/AffineTransform.cpp: remove extra &
  • platform/graphics/AffineTransform.h: remove extra &

Sep 22, 2008:

11:47 PM Changeset in webkit [36798] by eric@webkit.org
  • 2 edits in trunk/WebCore

2008-09-22 Eric Seidel <eric@webkit.org>

No review, build fix only.

  • platform/graphics/AffineTransform.cpp: remove extra ;
11:38 PM Changeset in webkit [36797] by eric@webkit.org
  • 2 edits in trunk/WebCore

No review, build fix only.

Speculative fix for the build while I wait for my compile to finish.

  • platform/graphics/AffineTransform.cpp:
11:25 PM Changeset in webkit [36796] by alice.liu@apple.com
  • 3 edits
    3 adds in trunk

WebKit/win:

2008-09-22 Alice Liu <alice.liu@apple.com>

Added record-memory-win.vcproj tool to the solution

Reviewed by Steve Falkenburg.

  • WebKit.vcproj/WebKit.sln:

WebKitTools:

2008-09-22 Alice Liu <alice.liu@apple.com>

Adding a stand-alone Windows console application to record a process's memory usage

Reviewed by Steve Falkenburg.

  • record-memory-win: Added.
  • record-memory-win/main.cpp: Added.
  • record-memory-win/record-memory-win.vcproj: Added.
11:05 PM Changeset in webkit [36795] by eric@webkit.org
  • 7 edits in trunk/WebCore

2008-09-22 Dirk Schulze <vbs85@gmx.de>

Reviewed by eseidel. Landed by eseidel.

Moved makeMapBetweenRects from SVG/CG to AffineTransform
Make SVGResourceClipper::applyClip more cross-platform

  • platform/graphics/AffineTransform.cpp:
  • platform/graphics/AffineTransform.h:
  • svg/graphics/cg/CgSupport.cpp:
  • svg/graphics/cg/CgSupport.h:
  • svg/graphics/cg/SVGPaintServerGradientCg.cpp: (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
  • svg/graphics/cg/SVGResourceClipperCg.cpp: (WebCore::SVGResourceClipper::applyClip):
10:45 PM Introducing SquirrelFish Extreme.ja edited by omo@dodgson.org
(diff)
10:22 PM Changeset in webkit [36794] by Darin Adler
  • 3 edits in trunk/JavaScriptCore

2008-09-22 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

Speeds up v8-raytrace by 7.2%.

  • kjs/nodes.cpp: (JSC::FunctionBodyNode::FunctionBodyNode): Initialize m_refCount to 0.
  • kjs/nodes.h: (JSC::FunctionBodyNode::ref): Call base class ref once, and thereafter use m_refCount. (JSC::FunctionBodyNode::deref): Ditto, but the deref side.
10:12 PM Changeset in webkit [36793] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-22 Darin Adler <Darin Adler>

Pointed out by Sam Weinig.

  • kjs/Arguments.cpp: (JSC::Arguments::fillArgList): Fix bad copy and paste. Oops!
9:55 PM Changeset in webkit [36792] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-22 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

Speeds up v8-raytrace by 5%.

  • kjs/Arguments.cpp: (JSC::ArgumentsData::ArgumentsData): Use a fixed buffer if there are 4 or fewer extra arguments. (JSC::Arguments::Arguments): Use a fixed buffer if there are 4 or fewer extra arguments. (JSC::Arguments::~Arguments): Delete the buffer if necessary. (JSC::Arguments::mark): Update since extraArguments are now Register. (JSC::Arguments::fillArgList): Added special case for the only case that's actually used in the practice, when there are no parameters. There are some other special cases in there too, but that's the only one that matters. (JSC::Arguments::getOwnPropertySlot): Updated to use setValueSlot since there's no operation to get you at the JSValue* inside a Register as a "slot".
8:08 PM Changeset in webkit [36791] by alp@webkit.org
  • 4 edits in trunk/WebCore

2008-09-22 Alp Toker <alp@nuanti.com>

Reviewed by David Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=16331
[Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed

Obey GTK+ focusing conventions for controls and anchor elements.

It could be interesting to push these decisions up to Settings or
ChromeClient some day but this gets things working.

Right and middle click events still need some work to match GTK+
conventions.

  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isMouseFocusable):
  • html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::isMouseFocusable):
  • page/EventHandler.cpp: (WebCore::EventHandler::sendContextMenuEvent):
7:46 PM Changeset in webkit [36790] by weinig@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fix typo in ChangeLog

7:44 PM Changeset in webkit [36789] by weinig@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-09-22 Sam Weinig <sam@webkit.org>

Reviewed by Maciej Stachowiak.

Patch for https://bugs.webkit.org/show_bug.cgi?id=21014
Speed up for..in by using StructureID to avoid call hasProperty

Speeds up fasta by 8%.

  • VM/JSPropertyNameIterator.cpp: (JSC::JSPropertyNameIterator::invalidate):
  • VM/JSPropertyNameIterator.h: (JSC::JSPropertyNameIterator::next):
  • kjs/PropertyNameArray.h: (JSC::PropertyNameArrayData::begin): (JSC::PropertyNameArrayData::end): (JSC::PropertyNameArrayData::setCachedStructureID): (JSC::PropertyNameArrayData::cachedStructureID):
  • kjs/StructureID.cpp: (JSC::StructureID::getEnumerablePropertyNames): (JSC::structureIDChainsAreEqual):
  • kjs/StructureID.h:
6:24 PM Changeset in webkit [36788] by Darin Adler
  • 2 edits in trunk/WebCore

2008-09-22 Darin Adler <Darin Adler>

  • page/mac/FrameMac.mm: (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
6:19 PM Changeset in webkit [36787] by weinig@apple.com
  • 10 edits
    2 adds
    2 deletes in trunk

WebCore:

2008-09-22 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
class!

  • selectionStart, selectionEnd and setSelectionRange now are visible in iteration of non-selectable input types, but return undefined when accessed.
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSHTMLInputElementBase.cpp: Removed.
  • bindings/js/JSHTMLInputElementBase.h: Removed.
  • bindings/js/JSHTMLInputElementCustom.cpp: Added. (WebCore::JSHTMLInputElement::customGetOwnPropertySlot): (WebCore::JSHTMLInputElement::selectionStart): (WebCore::JSHTMLInputElement::selectionEnd):
  • bindings/js/JSHTMLInputElementCustom.h: Added.
  • html/HTMLInputElement.idl:

LayoutTests:

2008-09-22 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Tests for https://bugs.webkit.org/show_bug.cgi?id=21013

  • fast/forms/selection-functions.html: Update test to match new behavior that we now share with Firefox.
5:48 PM Changeset in webkit [36786] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message

Not testable in DumpRenderTree or in Safari

  • page/mac/FrameMac.mm: (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the case that the selection start node is a block.
4:18 PM Changeset in webkit [36785] by weinig@apple.com
  • 2 edits in trunk/WebKitSite

2008-09-22 Alexander Orlov <alexander.orlov@loxal.net>

Reviewed by Darin Adler.

  • projects/performance/index.html: Remove dead link to the 24fun test.
4:01 PM Changeset in webkit [36784] by weinig@apple.com
  • 11 edits in trunk/JavaScriptCore

2008-09-22 Kelvin Sherlock <ksherlock@gmail.com>

Updated and tweaked by Sam Weinig.

Reviewed by Geoffrey Garen.

Bug 20020: Proposed enhancement to JavaScriptCore API
<https://bugs.webkit.org/show_bug.cgi?id=20020>

Add JSObjectMakeArray, JSObjectMakeDate, JSObjectMakeError, and JSObjectMakeRegExp
functions to create JavaScript Array, Date, Error, and RegExp objects, respectively.

  • API/JSObjectRef.cpp: The functions
  • API/JSObjectRef.h: Function prototype and documentation
  • JavaScriptCore.exp: Added functions to exported function list
  • API/tests/testapi.c: Added basic functionality tests.
  • kjs/DateConstructor.cpp: Replaced static JSObject* constructDate(ExecState* exec, JSObject*, const ArgList& args) with JSObject* constructDate(ExecState* exec, const ArgList& args). Added static JSObject* constructWithDateConstructor(ExecState* exec, JSObject*, const ArgList& args) function
  • kjs/DateConstructor.h: added prototype for JSObject* constructDate(ExecState* exec, const ArgList& args)
  • kjs/ErrorConstructor.cpp: removed static qualifier from ErrorInstance* constructError(ExecState* exec, const ArgList& args)
  • kjs/ErrorConstructor.h: added prototype for ErrorInstance* constructError(ExecState* exec, const ArgList& args)
  • kjs/RegExpConstructor.cpp: removed static qualifier from JSObject* constructRegExp(ExecState* exec, const ArgList& args)
  • kjs/RegExpConstructor.h: added prototype for JSObject* constructRegExp(ExecState* exec, const ArgList& args)
3:17 PM Changeset in webkit [36783] by hyatt@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

2008-09-22 David Hyatt <hyatt@apple.com>

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

Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.

Reviewed by Sam Weinig

  • page/EventHandler.cpp: (WebCore::EventHandler::handleMouseDoubleClickEvent):

LayoutTests:

2008-09-22 David Hyatt <hyatt@apple.com>

Layout test for double click scrollbar bug.

Reviewed by Sam Weinig

  • fast/events/scrollbar-double-click-expected.txt: Added.
  • fast/events/scrollbar-double-click.html: Added.
2:59 PM Changeset in webkit [36782] by pewtermoose@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-09-22 Matt Lilek <webkit@mattlilek.com>

Not reviewed, Windows build fix.

  • kjs/Arguments.cpp:
  • kjs/FunctionPrototype.cpp:
2:44 PM Changeset in webkit [36781] by eric@webkit.org
  • 7 edits in trunk/WebCore

No review, rollback only.

Roll out Peter's change (per his request)
http://trac.webkit.org/changeset/36069
https://bugs.webkit.org/show_bug.cgi?id=19663
This change has been the source of numerous regressions
(several of which were latent bugs revealed by this change,
others were bugs in this change)

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::startAnimation): (WebCore::BitmapImage::advanceAnimation):
  • platform/graphics/BitmapImage.h:
  • platform/graphics/cairo/ImageCairo.cpp: (WebCore::BitmapImage::draw):
  • platform/graphics/cg/ImageCG.cpp: (WebCore::BitmapImage::draw):
  • platform/graphics/qt/ImageQt.cpp: (WebCore::BitmapImage::draw):
  • platform/graphics/wx/ImageWx.cpp: (WebCore::BitmapImage::draw):
2:32 PM Changeset in webkit [36780] by mitz@apple.com
  • 3 edits
    16 adds in trunk

WebCore:

Reviewed by Sam Weinig.

  • fix <rdar://problem/5158514> Switch the complex text code path to Core Text

Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html

platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html

  • config.h: Use Core Text if not building for Leopard or Tiger.

LayoutTests:

Reviewed by Sam Weinig.

  • tests and updated results for <rdar://problem/5158514> Switch the complex text code path to Core Text
  • platform/mac-snowleopard/fast: Added.
  • platform/mac-snowleopard/fast/text: Added.
  • platform/mac-snowleopard/fast/text/atsui-multiple-renderers-expected.checksum: Added.
  • platform/mac-snowleopard/fast/text/atsui-multiple-renderers-expected.png: Added.
  • platform/mac-snowleopard/fast/text/atsui-multiple-renderers-expected.txt: Added.
  • platform/mac-snowleopard/fast/text/myanmar-shaping-expected.checksum: Added.
  • platform/mac-snowleopard/fast/text/myanmar-shaping-expected.png: Added.
  • platform/mac-snowleopard/fast/text/myanmar-shaping-expected.txt: Added.
  • platform/mac-snowleopard/fast/text/myanmar-shaping.html: Added.
  • platform/mac-snowleopard/fast/text/resources: Added.
  • platform/mac-snowleopard/fast/text/resources/Garuda.ttf: Added from http://www.w3.org/International/tests/test-webfonts/test-thai-tibetan-myanmar.html.
  • platform/mac-snowleopard/fast/text/resources/mm3.ttf: Added from http://www.w3.org/International/tests/test-webfonts/test-thai-tibetan-myanmar.html.
  • platform/mac-snowleopard/fast/text/thai-combining-mark-positioning-expected.checksum: Added.
  • platform/mac-snowleopard/fast/text/thai-combining-mark-positioning-expected.png: Added.
  • platform/mac-snowleopard/fast/text/thai-combining-mark-positioning-expected.txt: Added.
  • platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html: Added.
2:20 PM Changeset in webkit [36779] by weinig@apple.com
  • 8 edits
    3 adds in trunk

JavaScriptCore:

2008-09-22 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Patch for https://bugs.webkit.org/show_bug.cgi?id=20982
Speed up the apply method of functions by special-casing array and 'arguments' objects

1% speedup on v8-raytrace.

Test: fast/js/function-apply.html

  • kjs/Arguments.cpp: (JSC::Arguments::fillArgList):
  • kjs/Arguments.h:
  • kjs/FunctionPrototype.cpp: (JSC::functionProtoFuncApply):
  • kjs/JSArray.cpp: (JSC::JSArray::fillArgList):
  • kjs/JSArray.h:

LayoutTests:

2008-09-22 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?id=20982

  • fast/js/function-apply-expected.txt: Added.
  • fast/js/function-apply.html: Added.
  • fast/js/resources/function-apply.js: Added.
2:04 PM Changeset in webkit [36778] by Darin Adler
  • 5 edits in trunk/JavaScriptCore

2008-09-22 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

3% or so speedup on DeltaBlue benchmark.

  • kjs/ArrayPrototype.cpp: (JSC::arrayProtoFuncPop): Call JSArray::pop when appropriate. (JSC::arrayProtoFuncPush): Call JSArray::push when appropriate.
  • kjs/JSArray.cpp: (JSC::JSArray::putSlowCase): Set m_fastAccessCutoff when appropriate, getting us into the fast code path. (JSC::JSArray::pop): Added. (JSC::JSArray::push): Added.
  • kjs/JSArray.h: Added push and pop.
  • kjs/operations.cpp: (JSC::throwOutOfMemoryError): Don't inline this. Helps us avoid PIC branches.
2:03 PM Changeset in webkit [36777] by hyatt@apple.com
  • 6 edits in trunk/WebCore

2008-09-22 David Hyatt <hyatt@apple.com>

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

Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
switched on. There are still a few more refinements to make to the rendering and behavior.

Reviewed by Darin Adler

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint):
  • platform/ScrollbarThemeComposite.h: (WebCore::ScrollbarThemeComposite::paintTrack): (WebCore::ScrollbarThemeComposite::paintButton): (WebCore::ScrollbarThemeComposite::paintThumb):
  • platform/mac/ScrollbarThemeMac.h:
  • platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::backButtonRect): (WebCore::ScrollbarThemeMac::forwardButtonRect): (WebCore::scrollbarPartToHIPressedState): (WebCore::ScrollbarThemeMac::paint):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::invalidateRect):
1:38 PM Changeset in webkit [36776] by sfalken@apple.com
  • 2 edits in branches/Safari-3-2-branch/JavaScriptCore

Merged r36578

1:35 PM Changeset in webkit [36775] by sfalken@apple.com
  • 3 edits in branches/Safari-3-2-branch/WebCore

Merge r36748, r36750.

1:19 PM Changeset in webkit [36774] by Simon Fraser
  • 5 edits in trunk

2008-09-22 Chris Marrin <cmarrin@apple.com>

Reviewed by Sam Weinig

transition end event when -webkit-transition-property: all puts wrong
propertyName in event
https://bugs.webkit.org/show_bug.cgi?id=20903

  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::sendTransitionEvent):
11:47 AM Changeset in webkit [36773] by Chris Fleizach
  • 3 edits
    2 adds in trunk

<rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell

11:30 AM Changeset in webkit [36772] by Chris Fleizach
  • 8 edits
    2 adds in trunk

<rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly

11:21 AM Changeset in webkit [36771] by hyatt@apple.com
  • 6 edits
    2 adds in trunk

WebCore:

2008-09-22 David Hyatt <hyatt@apple.com>

Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
rule.

Reviewed by Sam Weinig

Added fast/css/nested-rule-parent-sheet.html

  • css/CSSImportRule.cpp:

(WebCore::CSSImportRule::insertedIntoParent):

  • css/CSSRule.cpp: (WebCore::CSSRule::parentStyleSheet): (WebCore::CSSRule::parentRule):
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::CSSStyleSheet):
  • css/CSSStyleSheet.h:

LayoutTests:

2008-09-22 David Hyatt <hyatt@apple.com>

Add new test for .parentStyleSheet.

Reviewed by Sam Weinig

  • fast/css/nested-rule-parent-sheet.html: Added.
11:17 AM Changeset in webkit [36770] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.

Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text

  • platform/graphics/mac/FontMacATSUI.mm: (WebCore::overrideLayoutOperation):
10:10 AM Changeset in webkit [36769] by mrowe@apple.com
  • 1 edit in branches/Safari-3-2-branch/WebKitLibraries/win/tools/scripts/PRODUCTVERSION

Versioning.

9:39 AM Changeset in webkit [36768] by mrowe@apple.com
  • 3 edits in branches/Safari-3-2-branch/WebKit/win

Merge r34834.

9:39 AM Changeset in webkit [36767] by mrowe@apple.com
  • 9 edits in branches/Safari-3-2-branch

Merge r35182.

8:03 AM Changeset in webkit [36766] by mjs@apple.com
  • 19 edits in trunk

JavaScriptCore:

2008-09-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag

Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>


2.2% speedup on EarleyBoyer benchmark.

  • API/JSCallbackConstructor.cpp:
  • API/JSCallbackConstructor.h: (JSC::JSCallbackConstructor::createStructureID):
  • API/JSCallbackFunction.cpp:
  • API/JSCallbackFunction.h: (JSC::JSCallbackFunction::createStructureID):
  • API/JSCallbackObject.h: (JSC::JSCallbackObject::createStructureID):
  • API/JSCallbackObjectFunctions.h: (JSC::::hasInstance):
  • API/JSValueRef.cpp: (JSValueIsInstanceOfConstructor):
  • JavaScriptCore.exp:
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_instanceof):
  • kjs/InternalFunction.cpp:
  • kjs/InternalFunction.h: (JSC::InternalFunction::createStructureID):
  • kjs/JSObject.cpp:
  • kjs/JSObject.h:
  • kjs/TypeInfo.h: (JSC::TypeInfo::implementsHasInstance):

WebCore:

2008-09-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.

  • speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag

Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>


2.2% speedup on EarleyBoyer benchmark.

  • bindings/js/JSQuarantinedObjectWrapper.cpp:
  • bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::createStructureID):
  • bindings/scripts/CodeGeneratorJS.pm:
7:31 AM Changeset in webkit [36765] by Adam Roben
  • 2 edits in trunk/WebCore

Windows build fix

  • WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
6:59 AM Changeset in webkit [36764] by mjs@apple.com
  • 19 edits
    1 add in trunk

JavaScriptCore:

2008-09-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Dave Hyatt.


Based on initial work by Darin Adler.


0.5% speedup on SunSpider
~4% speedup on Richards benchmark


  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/Machine.cpp: (JSC::jsTypeStringForValue): (JSC::jsIsObjectType): (JSC::Machine::privateExecute): (JSC::Machine::cti_op_is_undefined):
  • VM/Machine.h:
  • kjs/JSCell.h:
  • kjs/JSValue.h:
  • kjs/StringObjectThatMasqueradesAsUndefined.h: (JSC::StringObjectThatMasqueradesAsUndefined::create): (JSC::StringObjectThatMasqueradesAsUndefined::createStructureID):
  • kjs/StructureID.h: (JSC::StructureID::mutableTypeInfo):
  • kjs/TypeInfo.h: (JSC::TypeInfo::TypeInfo): (JSC::TypeInfo::masqueradesAsUndefined):
  • kjs/operations.cpp: (JSC::equal):
  • masm/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::setne_r): (JSC::X86Assembler::setnz_r): (JSC::X86Assembler::testl_i32m):

WebCore:

2008-09-22 Maciej Stachowiak <mjs@apple.com>

Reviewed by Dave Hyatt.

Based on initial work by Darin Adler.



  • WebCore.xcodeproj/project.pbxproj:
  • WebCore.vcproj/WebCore.vcproj:
  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::nameGetter):
  • bindings/js/JSHTMLAllCollection.cpp: Added. (WebCore::):
  • bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::createStructureID): (WebCore::JSHTMLAllCollection::toBoolean):
6:27 AM Changeset in webkit [36763] by vestbo@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Initialize QCoreApplication in kjs binary/Shell.cpp

This allows us to use QCoreApplication::instance() to
get the main thread in ThreadingQt.cpp

6:27 AM Changeset in webkit [36762] by vestbo@webkit.org
  • 3 edits in trunk/WebCore

2008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Fix the QtWebKit build

1:53 AM Changeset in webkit [36761] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-09-22 Alp Toker <alp@nuanti.com>

Suggested by David Hyatt.

Build fix: ScrollView::update() is still used by Document.cpp on !MAC
so make it public.

  • platform/ScrollView.h:
1:36 AM Changeset in webkit [36760] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-09-22 David Hyatt <hyatt@apple.com>

Fix a regression in Windows scrollbar painting. (Also fix the same
bug in my new viewless Mac scrollbar painting code). The track rect
was being improperly inflated when painting resulting in the scrollbar
being too tall and painting in the border of overflow sections.

Reviewed by Oliver Hunt

  • platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::trackRect):
  • platform/win/ScrollbarThemeSafari.cpp: (WebCore::ScrollbarThemeSafari::trackRect):
12:57 AM Changeset in webkit [36759] by hyatt@apple.com
  • 7 edits in trunk/WebCore

2008-09-22 David Hyatt <hyatt@apple.com>

Fix a hit testing bug where events are mistakenly passed to subframes
if the mouse is over the border or padding area of the frame. Add
a boolean flag, isOverWidget(), to hit test results so that EventHandler
can check it to tell if the mouse is really over the content box of a
RenderWidget and not just in the border/padding area.

This is not testable, since the old code properly recovered when it detected
that the mouse was outside the bounds of the view, but this prevents
the extra passdown from even occurring (and is basically a nice cleanup).

Reviewed by Oliver Hunt

  • page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent): (WebCore::EventHandler::hitTestResultAtPoint): (WebCore::subframeForHitTestResult): (WebCore::EventHandler::handleMouseDoubleClickEvent): (WebCore::EventHandler::handleMouseMoveEvent): (WebCore::EventHandler::handleMouseReleaseEvent): (WebCore::EventHandler::handleWheelEvent):
  • page/MouseEventWithHitTestResults.h: (WebCore::MouseEventWithHitTestResults::isOverWidget):
  • rendering/HitTestResult.cpp: (WebCore::HitTestResult::HitTestResult): (WebCore::HitTestResult::operator=):
  • rendering/HitTestResult.h: (WebCore::HitTestResult::isOverWidget): (WebCore::HitTestResult::setIsOverWidget):
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::nodeAtPoint):
  • rendering/RenderWidget.h:

Sep 21, 2008:

10:54 PM Changeset in webkit [36758] by hyatt@apple.com
  • 9 edits in trunk/WebCore

2008-09-21 David Hyatt <hyatt@apple.com>

Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
both it and ScrollView's updateContents method be off-limits to everyone in
WebCore except for RenderView.

Make repaintViewRectangle the only possible method for WebCore code to do
an invalidation. This ensures that all invalidates triggered by WebCore
cross-platform code that cross ownerElement() boundaries are transform-aware.

Make sure that iframes/frames contained inside objects that have transforms
or reflections are not allowed to blit (this was already true for transparency).

It is not possible to make a test for any of this, since iframe scrolling
still doesn't work on Mac (since the invalidates are not being done
through WebCore's cross-platform invalidation code but are instead going
through NSScrollView's setNeedsDisplay still).

Reviewed by Oliver Hunt

  • editing/SelectionController.cpp: (WebCore::SelectionController::recomputeCaretRect): (WebCore::SelectionController::invalidateCaretRect): (WebCore::SelectionController::focusedOrActiveStateChanged):
  • page/FrameView.cpp: (WebCore::FrameView::repaintContentRectangle): (WebCore::FrameView::endDeferredRepaints):
  • page/FrameView.h:
  • platform/ScrollView.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintFillLayerExtended):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::enclosingPositionedAncestor): (WebCore::RenderLayer::requiresSlowRepaints):
  • rendering/RenderLayer.h: (WebCore::RenderLayer::hasTransform):
  • rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations): (WebCore::RenderView::repaintViewRectangle): (WebCore::RenderView::setSelection):
9:07 PM Changeset in webkit [36757] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-21 Darin Adler <Darin Adler>

  • blind attempt to fix non-all-in-one builds
  • kjs/JSGlobalObject.cpp: Added includes of Arguments.h and RegExpObject.h.
8:35 PM Changeset in webkit [36756] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-21 Darin Adler <Darin Adler>

  • fix debug build
  • kjs/StructureID.cpp: (JSC::StructureID::addPropertyTransition): Use typeInfo().type() instead of m_type. (JSC::StructureID::createCachedPrototypeChain): Ditto.
8:15 PM Changeset in webkit [36755] by mjs@apple.com
  • 30 edits
    2 adds in trunk

JavaScriptCore:

2008-09-21 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.


  • JavaScriptCore.exp:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompilePutByIdTransition):
  • VM/Machine.cpp: (JSC::jsIsObjectType): (JSC::Machine::Machine):
  • kjs/AllInOneFile.cpp:
  • kjs/JSCell.h: (JSC::JSCell::isObject): (JSC::JSCell::isString):
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset):
  • kjs/JSGlobalObject.h: (JSC::StructureID::prototypeForLookup):
  • kjs/JSNumberCell.h: (JSC::JSNumberCell::createStructureID):
  • kjs/JSObject.cpp: (JSC::JSObject::createInheritorID):
  • kjs/JSObject.h: (JSC::JSObject::createStructureID):
  • kjs/JSString.h: (JSC::JSString::createStructureID):
  • kjs/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor::NativeErrorConstructor):
  • kjs/RegExpConstructor.cpp:
  • kjs/RegExpMatchesArray.h: Added. (JSC::RegExpMatchesArray::getOwnPropertySlot): (JSC::RegExpMatchesArray::put): (JSC::RegExpMatchesArray::deleteProperty): (JSC::RegExpMatchesArray::getPropertyNames):
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::addPropertyTransition): (JSC::StructureID::toDictionaryTransition): (JSC::StructureID::changePrototypeTransition): (JSC::StructureID::getterSetterTransition):
  • kjs/StructureID.h: (JSC::StructureID::create): (JSC::StructureID::typeInfo):
  • kjs/TypeInfo.h: Added. (JSC::TypeInfo::TypeInfo): (JSC::TypeInfo::type):

WebCore:

2008-09-21 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.


  • bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::JSAudioConstructor):
  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::nameGetter):
  • bindings/js/JSDOMBinding.cpp: (WebCore::createDOMStructure):
  • bindings/js/JSDOMBinding.h: (WebCore::getDOMStructure):
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::JSDOMWindowShell): (WebCore::JSDOMWindowShell::setWindow):
  • bindings/js/JSEventTargetNode.cpp: (WebCore::JSEventTargetNode::createPrototype):
  • bindings/js/JSHTMLOptionElementConstructor.cpp: (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
  • bindings/js/JSImageConstructor.cpp: (WebCore::JSImageConstructor::JSImageConstructor):
  • bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
  • bindings/js/JSXSLTProcessorConstructor.cpp: (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
  • bindings/scripts/CodeGeneratorJS.pm:
7:12 PM Changeset in webkit [36754] by Darin Adler
  • 3 edits in trunk/WebCore

2008-09-21 Darin Adler <Darin Adler>

Reviewed by Maciej Stachowiak.

  • fix problem Maciej noticed where every JSNamedNodesCollection gets its own StructureID
  • bindings/js/JSNamedNodesCollection.cpp: (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use getDOMStructure to get the structure.
  • bindings/js/JSNamedNodesCollection.h: (WebCore::JSNamedNodesCollection::createPrototype): Return the object prototype.
5:42 PM Changeset in webkit [36753] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-21 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

  • fix crash logging into Gmail due to recent Arguments change
  • kjs/Arguments.cpp: (JSC::Arguments::Arguments): Fix window where mark() function could see d->extraArguments with uninitialized contents. (JSC::Arguments::mark): Check d->extraArguments for 0 to handle two cases: 1) Inside the constructor before it's initialized. 2) numArguments <= numParameters.
5:33 PM Changeset in webkit [36752] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-09-20 David Hyatt <hyatt@apple.com>

Make sure transformed scrollbars in overflow sections position
properly. This patch mimics the same behavior that works for
iframes, namely making sure that the same code that dynamically
adjusts iframe widget positions at paint time for fixed positioning
and transforms also applies to scrollbars. (This is as simple as passing
in the current translation factor at paint time rather than crawling
up the layer tree to compute a "false" absolute position.)

An existing transform test covers this (although only a pixel result
reveals the correct rendering).

Reviewed by Darin Adler

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): (WebCore::RenderLayer::positionOverflowControls): (WebCore::RenderLayer::paintOverflowControls): (WebCore::RenderLayer::paintLayer):
  • rendering/RenderLayer.h:
5:18 PM Changeset in webkit [36751] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-21 Darin Adler <Darin Adler>

  • fix loose end from the "duplicate constant values" patch
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitLoad): Add a special case for values the hash table can't handle.
5:12 PM Changeset in webkit [36750] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Removed unnecessary nested timer check.


Rubber-stamped by Dan Bernstein.

  • platform/win/SharedTimerWin.cpp: (WebCore::TimerWindowWndProc):
5:12 PM Changeset in webkit [36749] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix the non-AllInOneFile build.

5:08 PM Changeset in webkit [36748] by sfalken@apple.com
  • 3 edits in trunk/WebCore

Improve timer resolution on WinXP.
https://bugs.webkit.org/show_bug.cgi?id=20979


Removed last-chance timer. It should not be necessary.
Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
Remove Vista checks. We now run the same code on both XP and Vista.


Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).


Reviewed by Maciej Stachowiak.

  • platform/win/SharedTimerWin.cpp: (WebCore::): (WebCore::TimerWindowWndProc): (WebCore::setSharedTimerFireTime):
  • platform/win/SystemTimeWin.cpp: (WebCore::currentTime):
5:01 PM Changeset in webkit [36747] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-21 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich and Mark Rowe.

  • fix test failure caused by my recent IndexToNameMap patch
  • kjs/Arguments.cpp: (JSC::Arguments::deleteProperty): Added the accidentally-omitted check of the boolean result from toArrayIndex.
4:08 PM Changeset in webkit [36746] by Darin Adler
  • 4 edits in trunk/JavaScriptCore

2008-09-21 Darin Adler <Darin Adler>

Reviewed by Maciej Stachowiak.

  • VM/CTI.h: Renamed emitJumpSlowCaseIfNotImm to emitJumpSlowCaseIfNotImmNum, since the old name was incorrect.
  • VM/CTI.cpp: Updated for new name. (JSC::CTI::privateCompileMainPass): Added op_eq. (JSC::CTI::privateCompileSlowCases): Added op_eq.
  • VM/Machine.cpp: (JSC::Machine::cti_op_eq): Removed fast case, since it's now compiled.
2:53 PM Changeset in webkit [36745] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-21 Peter Gal <galpter@inf.u-szeged.hu>

Reviewed by Tim Hatcher and Eric Seidel.

Fix the QT/Linux JavaScriptCore segmentation fault.
https://bugs.webkit.org/show_bug.cgi?id=20914

  • wtf/ThreadingQt.cpp: (WTF::initializeThreading): Use currentThread() if platform is not a MAC (like in pre 36541 revisions)
2:36 PM Changeset in webkit [36744] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-21 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • kjs/debugger.h: Removed some unneeded includes and declarations.
2:35 PM Changeset in webkit [36743] by Darin Adler
  • 10 edits
    2 deletes in trunk/JavaScriptCore

2008-09-21 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

No change on SunSpider. 1.29x as fast on V8 Raytrace.

  • kjs/Arguments.cpp: Moved ArgumentsData in here. Eliminated the indexToNameMap and hadDeletes data members. Changed extraArguments into an OwnArrayPtr and added deletedArguments, another OwnArrayPtr. Replaced numExtraArguments with numParameters, since that's what's used more directly in hot code paths. (JSC::Arguments::Arguments): Pass in argument count instead of ArgList. Initialize ArgumentsData the new way. (JSC::Arguments::mark): Updated. (JSC::Arguments::getOwnPropertySlot): Overload for the integer form so we don't have to convert integers to identifiers just to get an argument. Integrated the deleted case with the fast case. (JSC::Arguments::put): Ditto. (JSC::Arguments::deleteProperty): Ditto.
  • kjs/Arguments.h: Minimized includes. Made everything private. Added overloads for the integral property name case. Eliminated mappedIndexSetter. Moved ArgumentsData into the .cpp file.
  • kjs/IndexToNameMap.cpp: Emptied out and prepared for deletion.
  • kjs/IndexToNameMap.h: Ditto.
  • kjs/JSActivation.cpp: (JSC::JSActivation::createArgumentsObject): Elminated ArgList.
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • kjs/AllInOneFile.cpp: Removed IndexToNameMap.
1:41 PM Changeset in webkit [36742] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-21 Darin Adler <Darin Adler>

  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitLoad): One more tweak: Wrote this in a slightly clearer style.
1:35 PM Changeset in webkit [36741] by Darin Adler
  • 4 edits in trunk/JavaScriptCore

2008-09-21 Judit Jasz <jasy@inf.u-szeged.hu>

Reviewed and tweaked by Darin Adler.

Seems to be a wash on SunSpider.

  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitLoad): Use m_numberMap and m_stringMap to guarantee we emit the same JSValue* for identical numbers and strings.
  • VM/CodeGenerator.h: Added overload of emitLoad for const Identifier&. Add NumberMap and IdentifierStringMap types and m_numberMap and m_stringMap.
  • kjs/nodes.cpp: (JSC::StringNode::emitCode): Call the new emitLoad and let it do the JSString creation.
1:17 PM Changeset in webkit [36740] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-21 Paul Pedriana <webkit@pedriana.com>

Reviewed and tweaked by Darin Adler.

  • wtf/Vector.h: Added WTF_ALIGH_ON, WTF_ALIGNED, AlignedBufferChar, and AlignedBuffer. Use AlignedBuffer insteadof an array of char in VectorBuffer.
12:15 PM Changeset in webkit [36739] by Darin Adler
  • 3 edits
    3 adds in trunk

JavaScriptCore:

2008-09-21 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Darin Adler.

1.008x as fast on SunSpider.

  • kjs/grammar.y: (makeNegateNode): Fold if expression is a number > 0. (makeBitwiseNotNode): Fold if expression is a number. (makeMultNode): Fold if expressions are both numbers. (makeDivNode): Fold if expressions are both numbers. (makeAddNode): Fold if expressions are both numbers. (makeLeftShiftNode): Fold if expressions are both numbers. (makeRightShiftNode): Fold if expressions are both numbers.

LayoutTests:

2008-09-21 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed and tweaked by Darin Adler.

  • fast/js/constant-folding-expected.txt: Added.
  • fast/js/constant-folding.html: Added.
  • fast/js/resources/constant-folding.js: Added.
3:39 AM Changeset in webkit [36738] by mjs@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-09-21 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • VM/CTI.cpp: (JSC::CTI::emitJumpSlowCaseIfNotImmediateNumber): (JSC::CTI::emitJumpSlowCaseIfNotImmediateNumbers): (JSC::CTI::emitJumpSlowCaseIfNotImmediates): (JSC::CTI::emitTagAsBoolImmediate): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/CTI.h:
  • VM/Machine.cpp: (JSC::Machine::cti_op_stricteq):
  • masm/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::sete_r): (JSC::X86Assembler::setz_r): (JSC::X86Assembler::movzbl_rr): (JSC::X86Assembler::emitUnlinkedJnz):
3:37 AM Changeset in webkit [36737] by eric@webkit.org
  • 8 edits in trunk/WebCore

2008-09-21 Dirk Schulze <vbs85@gmx.de>

Reviewed by eseidel. Landed by eseidel.

All platforms use the DashArray in the GraphicsContext.

  • svg/graphics/SVGPaintServer.h:
  • svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: (WebCore::SVGPaintServerGradient::setup):
  • svg/graphics/cairo/SVGPaintServerPatternCairo.cpp: (WebCore::SVGPaintServerPattern::setup):
  • svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: (WebCore::SVGPaintServerSolid::setup):
  • svg/graphics/qt/SVGPaintServerGradientQt.cpp: (WebCore::SVGPaintServerGradient::setup):
  • svg/graphics/qt/SVGPaintServerQt.cpp:
  • svg/graphics/qt/SVGPaintServerSolidQt.cpp: (WebCore::SVGPaintServerSolid::setup):
1:46 AM Changeset in webkit [36736] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-09-21 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Free memory allocated for extra arguments in the destructor of the
Arguments object.

  • kjs/Arguments.cpp: (JSC::Arguments::~Arguments):
  • kjs/Arguments.h:
1:37 AM Changeset in webkit [36735] by cwzwarich@webkit.org
  • 8 edits
    3 adds in trunk

2008-09-21 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 20815: 'arguments' object creation is non-optimal
<https://bugs.webkit.org/show_bug.cgi?id=20815>

Fix our inefficient way of creating the arguments object by only
creating named properties for each of the arguments after a use of the
'delete' statement. This patch also speeds up access to the 'arguments'
object slightly, but it still does not use the array fast path for
indexed access that exists for many opcodes.

This is about a 20% improvement on the V8 Raytrace benchmark, and a 1.5%
improvement on the Earley-Boyer benchmark, which gives a 4% improvement
overall.

JavaScriptCore:

  • kjs/Arguments.cpp: (JSC::Arguments::Arguments): (JSC::Arguments::mark): (JSC::Arguments::getOwnPropertySlot): (JSC::Arguments::put): (JSC::Arguments::deleteProperty):
  • kjs/Arguments.h: (JSC::Arguments::ArgumentsData::ArgumentsData):
  • kjs/IndexToNameMap.h: (JSC::IndexToNameMap::size):
  • kjs/JSActivation.cpp: (JSC::JSActivation::createArgumentsObject):
  • kjs/JSActivation.h: (JSC::JSActivation::uncheckedSymbolTableGet): (JSC::JSActivation::uncheckedSymbolTableGetValue): (JSC::JSActivation::uncheckedSymbolTablePut):
  • kjs/JSFunction.h: (JSC::JSFunction::numParameters):

LayoutTests:

  • fast/js/arguments-expected.txt: Added.
  • fast/js/arguments.html: Added.
  • fast/js/resources/arguments.js: Added.
12:59 AM Changeset in webkit [36734] by eric@webkit.org
  • 14 edits
    1 copy in trunk

2008-09-21 Dirk Schulze <vbs85@gmx.de>

Reviewed by eseidel. Landed by eseidel.

Moved DashArray to GraphicsContext.

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/DashArray.h: Added.
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::setLineDash):
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setLineDash):
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::setLineDash):
  • svg/graphics/SVGPaintServer.cpp: (WebCore::applyStrokeStyleToContext):
  • svg/graphics/SVGPaintServer.h:
  • svg/graphics/cg/CgSupport.cpp:
  • svg/graphics/cg/CgSupport.h:
12:16 AM Changeset in webkit [36733] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Mark Rowe.

  • fix linker warnings
  • WebCore.base.exp:

Sep 20, 2008:

11:50 PM Changeset in webkit [36732] by Darin Adler
  • 2 edits in trunk/WebCore

2008-09-20 Darin Adler <Darin Adler>

  • another try at fixing Qt
  • bridge/qt/qt_runtime.cpp: "using namespce WebCore"
11:34 PM Changeset in webkit [36731] by Darin Adler
  • 3 edits in trunk/WebCore

2008-09-20 Darin Adler <Darin Adler>

  • blind attempt to fix Qt build
  • bridge/qt/qt_runtime.cpp: (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead of regExpPrototype to make a RegExpObject. There should really be some sort of public helper function for this. Same thing for DateInstance and dateStructure. For JSObject, use constructEmptyObject. (JSC::Bindings::): (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure. It is not correct to do this inside the constructor because it could cause a garbage collect while the QtRuntimeMethod object is half- allocated, which could lead to a crash; note that RuntimeMethod, QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
  • bridge/qt/qt_runtime.h: Add s_info and createPrototype.
11:26 PM Changeset in webkit [36730] by collinj@webkit.org
  • 2 edits in trunk/WebCore

2008-09-20 Collin Jackson <collinj@webkit.org>

Prefetch DNS for hyperlinks that the user mouses over.

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

Reviewed by Sam Weinig.

  • page/Chrome.cpp: (WebCore::Chrome::mouseDidMoveOverElement):
11:21 PM Changeset in webkit [36729] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-20 Darin Adler <Darin Adler>

Reviewed by Mark Rowe.

  • fix crash seen on buildbot
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::mark): Add back mark of arrayPrototype, deleted by accident in my recent check-in.
11:16 PM Changeset in webkit [36728] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-20 Maciej Stachowiak <mjs@apple.com>

Not reviewed, build fix.


  • speculative fix for non-AllInOne builds
  • kjs/operations.h:
10:54 PM Changeset in webkit [36727] by mjs@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-09-20 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.



2.5% speedup on earley-boyer test

  • VM/Machine.cpp: (JSC::Machine::cti_op_stricteq): Use inline version of strictEqualSlowCase; remove unneeded exception check. (JSC::Machine::cti_op_nstricteq): ditto
  • kjs/operations.cpp: (JSC::strictEqual): Use strictEqualSlowCaseInline (JSC::strictEqualSlowCase): ditto
  • kjs/operations.h: (JSC::strictEqualSlowCaseInline): Version of strictEqualSlowCase that can be inlined, since the extra function call indirection is a lose for CTI.
9:53 PM FAQ edited by hahn.seb@web.de
(diff)
7:29 PM Changeset in webkit [36726] by Darin Adler
  • 93 edits in trunk

JavaScriptCore:

2008-09-20 Darin Adler <Darin Adler>

Reviewed by Maciej Stachowiak.

This also includes some optimizations that make the change an overall
small speedup. Without those it was a bit of a slowdown.

  • API/JSCallbackConstructor.cpp: (JSC::JSCallbackConstructor::JSCallbackConstructor): Take a structure.
  • API/JSCallbackConstructor.h: Ditto.
  • API/JSCallbackFunction.cpp: (JSC::JSCallbackFunction::JSCallbackFunction): Pass a structure.
  • API/JSCallbackObject.h: Take a structure.
  • API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject::JSCallbackObject): Ditto.
  • API/JSClassRef.cpp: (OpaqueJSClass::prototype): Pass in a structure. Call setPrototype if there's a custom prototype involved.
  • API/JSObjectRef.cpp: (JSObjectMake): Ditto. (JSObjectMakeConstructor): Pass in a structure.
  • VM/Machine.cpp: (JSC::jsLess): Added a special case for when both arguments are strings. This avoids converting both strings to with UString::toDouble. (JSC::jsLessEq): Ditto. (JSC::Machine::privateExecute): Pass in a structure. (JSC::Machine::cti_op_construct_JSConstruct): Ditto. (JSC::Machine::cti_op_new_regexp): Ditto. (JSC::Machine::cti_op_is_string): Ditto.
  • VM/Machine.h: Made isJSString public so it can be used in the CTI.
  • kjs/Arguments.cpp: (JSC::Arguments::Arguments): Pass in a structure.
  • kjs/JSCell.h: Mark constructor explicit.
  • kjs/JSGlobalObject.cpp: (JSC::markIfNeeded): Added an overload for marking structures. (JSC::JSGlobalObject::reset): Eliminate code to set data members to zero. We now do that in the constructor, and we no longer use this anywhere except in the constructor. Added code to create structures. Pass structures rather than prototypes when creating objects. (JSC::JSGlobalObject::mark): Mark the structures.
  • kjs/JSGlobalObject.h: Removed unneeded class declarations. Added initializers for raw pointers in JSGlobalObjectData so everything starts with a 0. Added structure data and accessor functions.
  • kjs/JSImmediate.cpp: (JSC::JSImmediate::nonInlineNaN): Added.
  • kjs/JSImmediate.h: (JSC::JSImmediate::toDouble): Rewrote to avoid PIC branches.
  • kjs/JSNumberCell.cpp: (JSC::jsNumberCell): Made non-inline to avoid PIC branches in functions that call this one. (JSC::jsNaN): Ditto.
  • kjs/JSNumberCell.h: Ditto.
  • kjs/JSObject.h: Removed constructor that takes a prototype. All callers now pass structures.
  • kjs/ArrayConstructor.cpp: (JSC::ArrayConstructor::ArrayConstructor): (JSC::constructArrayWithSizeQuirk):
  • kjs/ArrayConstructor.h:
  • kjs/ArrayPrototype.cpp: (JSC::ArrayPrototype::ArrayPrototype):
  • kjs/ArrayPrototype.h:
  • kjs/BooleanConstructor.cpp: (JSC::BooleanConstructor::BooleanConstructor): (JSC::constructBoolean): (JSC::constructBooleanFromImmediateBoolean):
  • kjs/BooleanConstructor.h:
  • kjs/BooleanObject.cpp: (JSC::BooleanObject::BooleanObject):
  • kjs/BooleanObject.h:
  • kjs/BooleanPrototype.cpp: (JSC::BooleanPrototype::BooleanPrototype):
  • kjs/BooleanPrototype.h:
  • kjs/DateConstructor.cpp: (JSC::DateConstructor::DateConstructor): (JSC::constructDate):
  • kjs/DateConstructor.h:
  • kjs/DateInstance.cpp: (JSC::DateInstance::DateInstance):
  • kjs/DateInstance.h:
  • kjs/DatePrototype.cpp: (JSC::DatePrototype::DatePrototype):
  • kjs/DatePrototype.h:
  • kjs/ErrorConstructor.cpp: (JSC::ErrorConstructor::ErrorConstructor): (JSC::constructError):
  • kjs/ErrorConstructor.h:
  • kjs/ErrorInstance.cpp: (JSC::ErrorInstance::ErrorInstance):
  • kjs/ErrorInstance.h:
  • kjs/ErrorPrototype.cpp: (JSC::ErrorPrototype::ErrorPrototype):
  • kjs/ErrorPrototype.h:
  • kjs/FunctionConstructor.cpp: (JSC::FunctionConstructor::FunctionConstructor):
  • kjs/FunctionConstructor.h:
  • kjs/FunctionPrototype.cpp: (JSC::FunctionPrototype::FunctionPrototype): (JSC::FunctionPrototype::addFunctionProperties):
  • kjs/FunctionPrototype.h:
  • kjs/GlobalEvalFunction.cpp: (JSC::GlobalEvalFunction::GlobalEvalFunction):
  • kjs/GlobalEvalFunction.h:
  • kjs/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction):
  • kjs/InternalFunction.h: (JSC::InternalFunction::InternalFunction):
  • kjs/JSArray.cpp: (JSC::JSArray::JSArray): (JSC::constructEmptyArray): (JSC::constructArray):
  • kjs/JSArray.h:
  • kjs/JSFunction.cpp: (JSC::JSFunction::JSFunction): (JSC::JSFunction::construct):
  • kjs/JSObject.cpp: (JSC::constructEmptyObject):
  • kjs/JSString.cpp: (JSC::StringObject::create):
  • kjs/JSWrapperObject.h:
  • kjs/MathObject.cpp: (JSC::MathObject::MathObject):
  • kjs/MathObject.h:
  • kjs/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor::NativeErrorConstructor): (JSC::NativeErrorConstructor::construct):
  • kjs/NativeErrorConstructor.h:
  • kjs/NativeErrorPrototype.cpp: (JSC::NativeErrorPrototype::NativeErrorPrototype):
  • kjs/NativeErrorPrototype.h:
  • kjs/NumberConstructor.cpp: (JSC::NumberConstructor::NumberConstructor): (JSC::constructWithNumberConstructor):
  • kjs/NumberConstructor.h:
  • kjs/NumberObject.cpp: (JSC::NumberObject::NumberObject): (JSC::constructNumber): (JSC::constructNumberFromImmediateNumber):
  • kjs/NumberObject.h:
  • kjs/NumberPrototype.cpp: (JSC::NumberPrototype::NumberPrototype):
  • kjs/NumberPrototype.h:
  • kjs/ObjectConstructor.cpp: (JSC::ObjectConstructor::ObjectConstructor): (JSC::constructObject):
  • kjs/ObjectConstructor.h:
  • kjs/ObjectPrototype.cpp: (JSC::ObjectPrototype::ObjectPrototype):
  • kjs/ObjectPrototype.h:
  • kjs/PrototypeFunction.cpp: (JSC::PrototypeFunction::PrototypeFunction):
  • kjs/PrototypeFunction.h:
  • kjs/RegExpConstructor.cpp: (JSC::RegExpConstructor::RegExpConstructor): (JSC::RegExpMatchesArray::RegExpMatchesArray): (JSC::constructRegExp):
  • kjs/RegExpConstructor.h:
  • kjs/RegExpObject.cpp: (JSC::RegExpObject::RegExpObject):
  • kjs/RegExpObject.h:
  • kjs/RegExpPrototype.cpp: (JSC::RegExpPrototype::RegExpPrototype):
  • kjs/RegExpPrototype.h:
  • kjs/Shell.cpp: (GlobalObject::GlobalObject):
  • kjs/StringConstructor.cpp: (JSC::StringConstructor::StringConstructor): (JSC::constructWithStringConstructor):
  • kjs/StringConstructor.h:
  • kjs/StringObject.cpp: (JSC::StringObject::StringObject):
  • kjs/StringObject.h:
  • kjs/StringObjectThatMasqueradesAsUndefined.h: (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
  • kjs/StringPrototype.cpp: (JSC::StringPrototype::StringPrototype):
  • kjs/StringPrototype.h: Take and pass structures.

WebCore:

2008-09-20 Darin Adler <Darin Adler>

Reviewed by Maciej Stachowiak.

  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure ID. Note that this makes a new structure every time -- we could optimize this slightly be caching and reusing a single one.
  • bridge/runtime_method.cpp: (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using getDOMStructure.
  • bridge/runtime_method.h: (JSC::RuntimeMethod::createPrototype): Added createPrototype so getDOMStructure will work.
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to 0; needed in case garbage collection happens while creating the JSDOMWindow.
6:29 PM Changeset in webkit [36725] by mrowe@apple.com
  • 12 edits
    1 delete in trunk/WebCore

Roll out r36719 and attempted build fixes r36121 and r36722 due to massive build breakage.

5:52 PM Changeset in webkit [36724] by mitz@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Added Radar link

5:49 PM Changeset in webkit [36723] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Eric Seidel.

  • svg/SVGTextContentElement.cpp: (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to not include the first character in the extraCharsAvailable count.
5:42 PM Changeset in webkit [36722] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • Mac build fix
  • WebCore.xcodeproj/project.pbxproj: Made DashArray.h a private header.
5:36 PM Changeset in webkit [36721] by mitz@apple.com
  • 1 add in trunk/WebCore/platform/graphics/DashArray.h

Added a file that was missing from r36719

4:56 PM Changeset in webkit [36720] by kevino@webkit.org
  • 2 edits in trunk

Add missing bug reference to ChangeLog.

4:46 PM Changeset in webkit [36719] by eric@webkit.org
  • 12 edits in trunk/WebCore

2008-09-20 Dirk Schulze <vbs85@gmx.de>

Reviewed by eseidel. Landed by eseidel.

Moved DashArray to the GraphicsContext.

  • GNUmakefile.am:
  • platform/graphics/DashArray.h: Added.
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::setLineDash):
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setLineDash):
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::setLineDash):
  • svg/graphics/SVGPaintServer.cpp: (WebCore::applyStrokeStyleToContext):
  • svg/graphics/SVGPaintServer.h:
  • svg/graphics/cg/CgSupport.cpp:
  • svg/graphics/cg/CgSupport.h:
4:39 PM Changeset in webkit [36718] by kevino@webkit.org
  • 4 edits in trunk

Reviewed by Dan Bernstein.

Fix two memory leaks.

3:31 PM Changeset in webkit [36717] by kevino@webkit.org
  • 11 edits in trunk

wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.

3:21 PM Changeset in webkit [36716] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fix the new Node Search button image to not be blurry.

  • page/inspector/Images/nodeSearchButtons.png:
2:53 PM Changeset in webkit [36715] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

2008-09-20 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Cut down some of the inspector javascript -> InspectorController glue code
with two new macros. Also rearrange the exposed function list to be grouped
by implementation and to all explicitly use the WebCore namespace.

  • page/InspectorController.cpp: (WebCore::InspectorController::windowScriptObjectAvailable):
2:53 PM Changeset in webkit [36714] by pewtermoose@webkit.org
  • 2 edits in trunk/WebKit/mac

2008-09-20 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Revert r35688. We use a textured window on Leopard, which does not have the
square corners of the standard Aqua window on Tiger.

  • WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController window]): Add back the call to WKNSWindowMakeBottomCornersSquare.
2:30 PM Changeset in webkit [36713] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

2008-09-20 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Fix regression from my previous patch where the breadcrumbs bar was not displayed.

  • page/inspector/inspector.css:
1:19 PM Changeset in webkit [36712] by Nikolas Zimmermann
  • 15 edits
    2 copies in trunk/WebCore

Reviewed by Eric.

Refactor HTMLImageLoader/SVGImageLoader code.
Move html/HTMLImageLoader.* to loader/ImageLoader.*

Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
SVGImageLoader used to inherit from HTMLImageLoader which is awkward.

7:36 AM Changeset in webkit [36711] by Darin Adler
  • 2 edits in trunk/WebKit/win

2008-09-20 Darin Adler <Darin Adler>

  • fix build
  • WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::paintCustomScrollbar): Tweaked constant names to make this compile, but it may not be working correctly. Hyatt should do the real fix.
7:29 AM Changeset in webkit [36710] by Darin Adler
  • 2 edits in trunk/WebKitTools

2008-09-20 Darin Adler <Darin Adler>

  • DumpRenderTree/mac/DumpRenderTree.mm: (convertMIMEType): Turn on Stephanie's workaround for Tiger too.
7:24 AM Changeset in webkit [36709] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[qtwebkit] ScrollBar build fix after r36684.

BackButtonPart was split into Start and End Part
ForwardButtonPart was split into Start and End Part

7:24 AM Changeset in webkit [36708] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[qtwebkit] Make qt_instance.cpp compile.

Revision of 36675 introduced getDOMStructure to give unique
structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp

7:24 AM Changeset in webkit [36707] by zecke@webkit.org
  • 3 edits in trunk/WebCore

[svg] Change SVGLocatable to deal with a plain SVGElement

There is no requirement in the code that we have to have a
SVGStyledElement. Remove that artificial limitation and compile
with SVGElement.

7:23 AM Changeset in webkit [36706] by zecke@webkit.org
  • 3 edits in trunk/WebCore

[svg] Use OwnPtr for the SVGExtensions

Use OwnPtr to avoid custom lifetime management.

Sep 19, 2008:

11:34 PM Changeset in webkit [36705] by alp@webkit.org
  • 7 edits in trunk

2008-09-19 Alp Toker <alp@nuanti.com>

Build fix for the 'gold' linker and recent binutils. New behaviour
requires that we link to used libraries explicitly.

10:17 PM Changeset in webkit [36704] by Stephanie Lewis
  • 6 edits in trunk

2008-09-19 Stephanie Lewis <Stephanie Lewis>

Reviewed by Oliver Hunt.

Implement a workaround for an incorrect mime-type on machines with
Dashcode 2.0.1. Dashcode is overriding the UTI type for .js files.
See radar <rdar://problem/6234318>.

  • DumpRenderTree/mac/DumpRenderTree.mm: (convertMIMEType):

Use correct mime-type for javascript

  • svg/webarchive/svg-script-subresouces-expected.webarchive:
  • webarchive/test-duplicate-resources-expected.webarchive:
  • webarchive/test-script-src-expected.webarchive:
10:09 PM Changeset in webkit [36703] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-09-19 David Hyatt <hyatt@apple.com>

Fix for crash in updateTransitions. Make sure to test for a style
being null when comparing two RenderStyles.

Reviewed by Oliver Hunt

  • page/animation/AnimationBase.cpp: (WebCore::PropertyWrapperGetter::equals):
9:50 PM Changeset in webkit [36702] by hyatt@apple.com
  • 7 edits in trunk/WebCore

2008-09-19 David Hyatt <hyatt@apple.com>

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

Roll out r36628 since it has caused horrible regressions with
animated GIF CPU usage.

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::cacheFrame): (WebCore::BitmapImage::startAnimation):
  • platform/graphics/BitmapImage.h: (WebCore::FrameData::FrameData):
  • platform/graphics/cairo/ImageCairo.cpp: (WebCore::FrameData::clear):
  • platform/graphics/cg/ImageCG.cpp: (WebCore::FrameData::clear):
  • platform/graphics/qt/ImageQt.cpp: (WebCore::FrameData::clear):
  • platform/graphics/wx/ImageWx.cpp: (WebCore::FrameData::clear):
9:35 PM Changeset in webkit [36701] by weinig@apple.com
  • 11 edits in trunk/JavaScriptCore

2008-09-19 Sam Weinig <sam@webkit.org>

Roll r36694 back in. It did not cause the crash.

  • JavaScriptCore.exp:
  • VM/JSPropertyNameIterator.cpp: (JSC::JSPropertyNameIterator::~JSPropertyNameIterator): (JSC::JSPropertyNameIterator::invalidate):
  • VM/JSPropertyNameIterator.h: (JSC::JSPropertyNameIterator::JSPropertyNameIterator): (JSC::JSPropertyNameIterator::create):
  • kjs/JSObject.cpp: (JSC::JSObject::getPropertyNames):
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::getEnumerablePropertyNames):
  • kjs/PropertyMap.h:
  • kjs/PropertyNameArray.cpp: (JSC::PropertyNameArray::add):
  • kjs/PropertyNameArray.h: (JSC::PropertyNameArrayData::create): (JSC::PropertyNameArrayData::propertyNameVector): (JSC::PropertyNameArrayData::setCachedPrototypeChain): (JSC::PropertyNameArrayData::cachedPrototypeChain): (JSC::PropertyNameArrayData::begin): (JSC::PropertyNameArrayData::end): (JSC::PropertyNameArrayData::PropertyNameArrayData): (JSC::PropertyNameArray::PropertyNameArray): (JSC::PropertyNameArray::addKnownUnique): (JSC::PropertyNameArray::size): (JSC::PropertyNameArray::operator[]): (JSC::PropertyNameArray::begin): (JSC::PropertyNameArray::end): (JSC::PropertyNameArray::setData): (JSC::PropertyNameArray::data): (JSC::PropertyNameArray::releaseData):
  • kjs/StructureID.cpp: (JSC::structureIDChainsAreEqual): (JSC::StructureID::getEnumerablePropertyNames): (JSC::StructureID::clearEnumerationCache): (JSC::StructureID::createCachedPrototypeChain):
  • kjs/StructureID.h:
8:43 PM Changeset in webkit [36700] by alp@webkit.org
  • 24 edits in trunk/WebCore

2008-09-20 Alp Toker <alp@nuanti.com>

Reviewed by Timothy Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=20913
Avoid redudant includes

Document.h is included excessively such that a modification to Document.h (or
any of the header it includes itself) triggers a rebuild of many files
including the whole of SVG and a lot of the JS bindings.

Some of these includes can be avoided by only including Document.h where
necessary.

  • bindings/js/JSAttrCustom.cpp:
  • bindings/js/JSElementCustom.cpp:
  • bindings/js/JSEventTargetBase.cpp:
  • bindings/js/JSEventTargetBase.h:
  • bindings/js/JSEventTargetNode.cpp:
  • bindings/js/JSHTMLFrameElementCustom.cpp:
  • bindings/js/JSHTMLIFrameElementCustom.cpp:
  • bindings/scripts/CodeGeneratorJS.pm:
  • css/CSSCursorImageValue.cpp:
  • css/SVGCSSStyleSelector.cpp:
  • dom/make_names.pl:
  • svg/SVGAnimateElement.h:
  • svg/SVGAnimatedProperty.h: (WebCore::::baseValue): (WebCore::::setBaseValue): (WebCore::::startAnimation): (WebCore::::stopAnimation):
  • svg/SVGElement.cpp: (WebCore::SVGElement::accessDocumentSVGExtensions):
  • svg/SVGElement.h:
  • svg/SVGElementInstance.cpp:
  • svg/SVGFitToViewBox.cpp:
  • svg/SVGFontElement.cpp:
  • svg/SVGFontFaceElement.cpp:
  • svg/SVGLinearGradientElement.cpp:
  • svg/SVGMPathElement.cpp:
  • svg/SVGViewSpec.cpp:
8:33 PM Changeset in webkit [36699] by Nikolas Zimmermann
  • 10 edits
    39 adds in trunk

Reviewed by Antti & Eric.

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

Finish HTMLScriptElement / SVGScriptElement unification.
SVG <script> support is complete now, full SVGLoad event
respecting the influence of the externalResourcesRequired attribute
as well as SVGError event support. All other features shared with HTML.

Tests: fast/dom/HTMLScriptElement/script-reexecution.html

svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
svg/dom/SVGScriptElement/script-load-and-error-events.svg
svg/dom/SVGScriptElement/script-reexecution.svg
svg/dom/SVGScriptElement/script-set-href.svg

8:23 PM Changeset in webkit [36698] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by John Sullivan.

Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html

  • dom/Position.cpp: (WebCore::Position::getInlineBoxAndOffset):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::positionForOffset):
8:21 PM Changeset in webkit [36697] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-09-19 David Hyatt <hyatt@apple.com>

Add support for hit testing of all five possible scrollbar button placements.

Reviewed by Sam Weinig

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint):
  • platform/mac/ScrollbarThemeMac.mm: (WebCore::): (WebCore::ScrollbarThemeMac::backButtonRect): (WebCore::ScrollbarThemeMac::forwardButtonRect): (WebCore::ScrollbarThemeMac::trackRect): (WebCore::ScrollbarThemeMac::paintButton):
8:19 PM Changeset in webkit [36696] by weinig@apple.com
  • 11 edits in trunk/JavaScriptCore

2008-09-19 Sam Weinig <sam@webkit.org>

Roll out r36694.

  • JavaScriptCore.exp:
  • VM/JSPropertyNameIterator.cpp: (JSC::JSPropertyNameIterator::~JSPropertyNameIterator): (JSC::JSPropertyNameIterator::invalidate):
  • VM/JSPropertyNameIterator.h: (JSC::JSPropertyNameIterator::JSPropertyNameIterator): (JSC::JSPropertyNameIterator::create):
  • kjs/JSObject.cpp: (JSC::JSObject::getPropertyNames):
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::getEnumerablePropertyNames):
  • kjs/PropertyMap.h:
  • kjs/PropertyNameArray.cpp: (JSC::PropertyNameArray::add):
  • kjs/PropertyNameArray.h: (JSC::PropertyNameArray::PropertyNameArray): (JSC::PropertyNameArray::addKnownUnique): (JSC::PropertyNameArray::begin): (JSC::PropertyNameArray::end): (JSC::PropertyNameArray::size): (JSC::PropertyNameArray::operator[]): (JSC::PropertyNameArray::releaseIdentifiers):
  • kjs/StructureID.cpp: (JSC::StructureID::getEnumerablePropertyNames):
  • kjs/StructureID.h: (JSC::StructureID::clearEnumerationCache):
8:00 PM Changeset in webkit [36695] by oliver@apple.com
  • 7 edits in trunk/JavaScriptCore

Improve peformance of local variable initialisation.

Reviewed by Maciej Stachowiak

Pull local and constant initialisation out of slideRegisterWindowForCall
and into its own opcode. This allows the JIT to generate the initialisation
code for a function directly into the instruction stream and so avoids a few
branches on function entry.

Results a 1% progression in SunSpider, particularly in a number of the bitop
tests where the called functions are very fast.

7:23 PM Changeset in webkit [36694] by weinig@apple.com
  • 11 edits in trunk/JavaScriptCore

2008-09-19 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Patch for https://bugs.webkit.org/show_bug.cgi?id=20928
Speed up JS property enumeration by caching entire PropertyNameArray

1.3% speedup on Sunspider, 30% on string-fasta.

  • JavaScriptCore.exp:
  • VM/JSPropertyNameIterator.cpp: (JSC::JSPropertyNameIterator::~JSPropertyNameIterator): (JSC::JSPropertyNameIterator::invalidate):
  • VM/JSPropertyNameIterator.h: (JSC::JSPropertyNameIterator::JSPropertyNameIterator): (JSC::JSPropertyNameIterator::create):
  • kjs/JSObject.cpp: (JSC::JSObject::getPropertyNames):
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::getEnumerablePropertyNames):
  • kjs/PropertyMap.h:
  • kjs/PropertyNameArray.cpp: (JSC::PropertyNameArray::add):
  • kjs/PropertyNameArray.h: (JSC::PropertyNameArrayData::create): (JSC::PropertyNameArrayData::propertyNameVector): (JSC::PropertyNameArrayData::setCachedPrototypeChain): (JSC::PropertyNameArrayData::cachedPrototypeChain): (JSC::PropertyNameArrayData::begin): (JSC::PropertyNameArrayData::end): (JSC::PropertyNameArrayData::PropertyNameArrayData): (JSC::PropertyNameArray::PropertyNameArray): (JSC::PropertyNameArray::addKnownUnique): (JSC::PropertyNameArray::size): (JSC::PropertyNameArray::operator[]): (JSC::PropertyNameArray::begin): (JSC::PropertyNameArray::end): (JSC::PropertyNameArray::setData): (JSC::PropertyNameArray::data): (JSC::PropertyNameArray::releaseData):
  • kjs/ScopeChain.cpp: (JSC::ScopeChainNode::print):
  • kjs/StructureID.cpp: (JSC::structureIDChainsAreEqual): (JSC::StructureID::getEnumerablePropertyNames): (JSC::StructureID::clearEnumerationCache): (JSC::StructureID::createCachedPrototypeChain):
  • kjs/StructureID.h:
6:54 PM Changeset in webkit [36693] by zecke@webkit.org
  • 2 edits in trunk/JavaScriptCore

Fix a mismatched new[]/delete in JSObject::allocatePropertyStorage

6:22 PM Changeset in webkit [36692] by alice.liu@apple.com
  • 2 edits in trunk/WebKit/win

2008-09-19 Alice Liu <alice.liu@apple.com>

Fix crash when submitting form at bugreport.apple.com rdar://6234126

Reviewed by Mark Rowe.

  • COMPropertyBag.h: (::GetPropertyInfo): correct mis-use of comma operator
6:08 PM Changeset in webkit [36691] by hyatt@apple.com
  • 2 edits in trunk/WebCore/platform

Fix build bustage on Win.

6:05 PM Changeset in webkit [36690] by Darin Adler
  • 4 edits in trunk/WebCore

2008-09-19 Darin Adler <Darin Adler>

  • try to fix Qt build
  • bridge/qt/qt_instance.cpp: (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument. (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
  • bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
  • bridge/runtime_object.h: Ditto.
5:57 PM Changeset in webkit [36689] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/win/ScrollbarThemeWin.cpp

Fix build bustage.

5:54 PM Changeset in webkit [36688] by hyatt@apple.com
  • 3 edits in trunk/WebCore/platform

Fix build bustage.

5:53 PM Changeset in webkit [36687] by dino@apple.com
  • 8 edits
    2 adds in trunk

2008-09-19 Chris Marrin <cmarrin@apple.com>

Reviewed by Dave Hyatt.

Transition starts running when it shouldn't
https://bugs.webkit.org/show_bug.cgi?id=20892

When there is a transition and an animation on the
same element, make sure the animation wins.

The fix is to save the unanimated style when an animation is started.
Then, when starting a transition, check to see if there is a current
animation on the same prop. If so, use the unanimated style as the
fromStyle rather than the current style.

Test: animations/transition-and-animation-1.html

  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::updateTransitions): (WebCore::CompositeAnimation::updateKeyframeAnimations): (WebCore::CompositeAnimation::animate): (WebCore::CompositeAnimation::getAnimationForProperty):
  • page/animation/CompositeAnimation.h:
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::reset):
  • page/animation/ImplicitAnimation.h:
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::hasAnimationForProperty):
  • page/animation/KeyframeAnimation.h: (WebCore::KeyframeAnimation::KeyframeAnimation): (WebCore::KeyframeAnimation::unanimatedStyle):
5:42 PM Changeset in webkit [36686] by hyatt@apple.com
  • 9 edits in trunk/WebCore

2008-09-19 David Hyatt <hyatt@apple.com>

Add support for painting/hit testing of four possible scrollbar buttons.
The Windows themes simply ignore the two parts that they will never
show. The Mac theme also ignores the other two buttons for now.

The cross-platform base for all three themes, ScrollbarThemeComposite,
has all the proper support though.

Reviewed by Sam Weinig

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::hitTest): (WebCore::ScrollbarThemeComposite::invalidatePart):
  • platform/ScrollbarThemeComposite.h:
  • platform/mac/ScrollbarThemeMac.h:
  • platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::backButtonRect): (WebCore::ScrollbarThemeMac::forwardButtonRect): (WebCore::ScrollbarThemeMac::paintButton):
  • platform/win/ScrollbarThemeSafari.cpp: (WebCore::ScrollbarThemeSafari::backButtonRect): (WebCore::ScrollbarThemeSafari::forwardButtonRect): (WebCore::ScrollbarThemeSafari::paintButton):
  • platform/win/ScrollbarThemeSafari.h:
  • platform/win/ScrollbarThemeWin.cpp: (WebCore::ScrollbarThemeWin::backButtonRect): (WebCore::ScrollbarThemeWin::forwardButtonRect): (WebCore::ScrollbarThemeWin::paintButton):
  • platform/win/ScrollbarThemeWin.h:
5:11 PM Changeset in webkit [36685] by pewtermoose@webkit.org
  • 8 edits
    1 add in trunk/WebCore

2008-09-19 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Bug 17772: Inspector should support point-and-click to select a node to inspect
https://bugs.webkit.org/show_bug.cgi?id=17772
<rdar://problem/5792395>

  • English.lproj/localizedStrings.js:
  • page/Chrome.cpp: (WebCore::Chrome::mouseDidMoveOverElement):
  • page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent):
  • page/InspectorController.cpp: (WebCore::toggleNodeSearch): (WebCore::searchingForNode): (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::toggleSearchForNodeInPage): (WebCore::InspectorController::mouseDidMoveOverElement): (WebCore::InspectorController::handleMousePressOnNode): (WebCore::InspectorController::windowScriptObjectAvailable):
  • page/InspectorController.h: (WebCore::InspectorController::searchingForNodeInPage):
  • page/inspector/ElementsPanel.js:
  • page/inspector/Images/nodeSearchButtons.png: Added.
  • page/inspector/inspector.css:
4:39 PM Changeset in webkit [36684] by hyatt@apple.com
  • 6 edits in trunk/WebCore

2008-09-19 David Hyatt <hyatt@apple.com>

Add new scrollbar parts to be able to represent back and forward buttons
at either end of the scrollbar. The current scrollbar still just draws
a single button at either end, but the parts now exist.

Reviewed by Sam Weinig

  • platform/ScrollTypes.h: (WebCore::):
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::autoscrollTimerFired): (WebCore::Scrollbar::pressedPartScrollDirection): (WebCore::Scrollbar::pressedPartScrollGranularity): (WebCore::Scrollbar::handleMouseMoveEvent):
  • platform/ScrollbarTheme.h: (WebCore::ScrollbarTheme::buttonsPlacement): (WebCore::ScrollbarTheme::invalidateParts):
  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint): (WebCore::ScrollbarThemeComposite::hitTest): (WebCore::ScrollbarThemeComposite::invalidatePart):
  • platform/ScrollbarThemeComposite.h:
4:02 PM Changeset in webkit [36683] by Beth Dakin
  • 3 edits
    4 adds in trunk

WebCore:

2008-09-19 Beth Dakin <Beth Dakin>

Reviewed by Dave Hyatt.

Fix for <rdar://problem/6231308> crash in AutoTableLayout

The code assumes later on that a TableSection's grid's row vector
will never be empty. So make 1 the minimum number of columns.

  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::ensureRows):

LayoutTests:

2008-09-19 Beth Dakin <Beth Dakin>

Reviewed by Dave Hyatt.

Test for <rdar://problem/6231308> crash in AutoTableLayout

  • fast/table/empty-row-crash.html: Added.
  • platform/mac/fast/table/empty-row-crash-expected.checksum: Added.
  • platform/mac/fast/table/empty-row-crash-expected.png: Added.
  • platform/mac/fast/table/empty-row-crash-expected.txt: Added.
3:55 PM Changeset in webkit [36682] by hyatt@apple.com
  • 5 edits in trunk/WebCore

2008-09-19 David Hyatt <hyatt@apple.com>

Add a new ScrollbarButtonsPlacement type for specifying where
the button arrows are in a scrollbar.

Read in the placement settings for Mac. Nothing is done with the
setting yet.

Add a new buttonsPlacement() method to ScrollbarTheme composite
so that the arrow settings can be obtained.

Reviewed by Sam Weinig

  • platform/ScrollTypes.h: (WebCore::):
  • platform/ScrollbarThemeComposite.h: (WebCore::ScrollbarThemeComposite::buttonsPlacement):
  • platform/mac/ScrollbarThemeMac.mm: (WebCore::updateArrowPlacement): (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
3:47 PM Changeset in webkit [36681] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Roll out r36626. It is causing variance in SunSpider numbers on XP.


Rubber stamped by Mark Rowe.

  • platform/win/SharedTimerWin.cpp: (WebCore::isRunningOnVistaOrLater): (WebCore::setSharedTimerFireTime):
3:46 PM Changeset in webkit [36680] by Chris Fleizach
  • 2 edits in trunk/WebKitTools

Fix Windows bustage

3:12 PM Changeset in webkit [36679] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-09-19 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

https://bugs.webkit.org/show_bug.cgi?id=20942
Bug 20942: Repeated messages in resources don't collapse

  • Now repeated messages in a resource's view are collapsed and a message says how many were repeated.
  • English.lproj/localizedStrings.js:
  • manual-tests/inspector/multiple-console-messages.html:
  • page/inspector/Console.js: Send all the messages to the resource's view before possibly returning early if the message is a repeat.
  • page/inspector/SourceFrame.js: Add the text about the message being repeated, if it is, and increment it when necessary.
2:56 PM Changeset in webkit [36678] by kmccullough@apple.com
  • 5 edits in trunk/WebCore

2008-09-19 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

https://bugs.webkit.org/show_bug.cgi?id=20942
Bug 20942: Repeated messages in resources don't collapse

  • Now repeated messages in a resource's view are collapsed and a message says how many were repeated.
  • English.lproj/localizedStrings.js:
  • manual-tests/inspector/multiple-console-messages.html:
  • page/inspector/Console.js: Send all the messages to the resource's view before possibly returning early if the message is a repeat.
  • page/inspector/SourceFrame.js: Add the text about the message being repeated, if it is, and increment it when necessary.
2:39 PM Changeset in webkit [36677] by Chris Fleizach
  • 2 edits in trunk/WebCore

Removed unnecessary #if

2:20 PM Changeset in webkit [36676] by hyatt@apple.com
  • 3 edits
    1 move in trunk/WebCore

2008-09-19 David Hyatt <hyatt@apple.com>

Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
Set the initial button repeat delay to 0.5 for Mac.

Reviewed by Sam Weinig

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mac/ScrollbarThemeMac.cpp: Removed.
  • platform/mac/ScrollbarThemeMac.h: (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
  • platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
2:15 PM Changeset in webkit [36675] by Darin Adler
  • 46 edits in trunk

JavaScriptCore:

2008-09-19 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • JavaScriptCore.exp: Exported constructEmptyObject for use in WebCore.
  • kjs/JSGlobalObject.h: Changed the protected constructor to take a structure instead of a prototype.
  • kjs/JSVariableObject.h: Removed constructor that takes a prototype.

WebCore:

2008-09-19 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

+ Fixed all cases where we were using a shared structure for multiple

C++ classes in WebCore. This still has to be done in JavaScriptCore.

+ Got rid of cacheGlobalObject.

+ Improved use of PassRefPtr in bindings code.

+ Removed a couple cases where we were potentially allocating prototypes

inside a JSObject's construction process -- this can lead to trouble if
we do a garbage collection while an object is only partly constructed.

  • bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly so we don't implicitly share the structure with other objects that use the object prototype.
  • bindings/js/JSDOMBinding.cpp: (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we don't need cacheGlobalObject any more. (WebCore::cacheDOMConstructor): Ditto.
  • bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype. Added functions and a function template for getting cached DOM constructors. Removed cacheGlobalObject function template.
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since we're taking ownership.
  • bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since we're taking ownership. Added constructor map.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since we're taking ownership. Use the new setWindow function to create the JSDOMWindow; this is now done in only that one place. (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on the passed-in DOMWindow. Code was moved here and changed to allocate unique structures for both the window prototype and the window.
  • bindings/js/JSDOMWindowShell.h: Ditto.
  • bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't have the same name (JSEventTarget) as an actual class. Removed unhelpful use of private/friend in JSEventTargetBase. Removed comments referring to defunct macros. Changed JSEventTargetBasePrototype to get the prototype with the new rather than its own copy of cacheGlobalObject (I missed this during pass 1). Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
  • bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme for caching structures and prototypes. (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr. (WebCore::JSEventTargetNode::createPrototype): Added.
  • bindings/js/JSEventTargetNode.h: Updated for above changes.
  • bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
  • bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::getNamedItems): Pass ExecState instead of prototype.
  • bindings/js/JSHTMLFormElementCustom.cpp: (WebCore::JSHTMLFormElement::nameGetter): Ditto.
  • bindings/js/JSHTMLInputElementBase.cpp: (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
  • bindings/js/JSHTMLInputElementBase.h: Ditto.
  • bindings/js/JSHTMLOptionElementConstructor.cpp: (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Create a unique structure instead of sharing.
  • bindings/js/JSImageConstructor.cpp: (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
  • bindings/js/JSInspectedObjectWrapper.cpp: (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes a prototype rather than a structure. Made the use of inheritorID() here explicit.
  • bindings/js/JSInspectedObjectWrapper.h: Ditto.
  • bindings/js/JSInspectorCallbackWrapper.cpp: (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
  • bindings/js/JSInspectorCallbackWrapper.h: Ditto.
  • bindings/js/JSNamedNodesCollection.cpp: (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to take an ExecState argument instead of a prototype. Create a unique StructureID instead of sharing.
  • bindings/js/JSNamedNodesCollection.h: Ditto.
  • bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded constructor that takes a prototype instead of a structure.
  • bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
  • bindings/js/JSRGBColor.cpp: (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a prototype; create a unique structure. (WebCore::getJSRGBColor): Ditto.
  • bindings/js/JSRGBColor.h: Ditto.
  • bindings/js/JSSQLResultSetRowListCustom.cpp: (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead of explicit coding the idiom for making a new object.
  • bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Create a unique structure instead of the shared one.
  • bindings/js/JSXSLTProcessorConstructor.cpp: (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): Ditto.
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::clearWindowShell): Let the window shell's setWindow function create the JSDOMWindow instead of doing it here.
  • bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for the structure and the wrapped object when creating wrappers. Simplified some of the special cases for DOMWindow so they are different only in ways the need to be. Eliminated the JSDOMWindow::createPrototype and JSDOMWindowPrototype::self functions. Moved responsibility for creating the structure and parent prototype out of the prototype constructor into the createPrototype function. Removed the unused "DoNotCache" flag for objects other than DOMWindow. Use getDOMConstructor instead of cacheGlobalObject for constructors. Make each constructor have a unique structure ID.
  • bridge/objc/objc_runtime.h: Added createPrototype and changed the name of the info member to s_info so we can use the standard DOM binding macros to handl the prototype.
  • bridge/objc/objc_runtime.mm: Fixed namespacing a bit. (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp): Create a unique structure using getDOMStructure.
  • bridge/runtime_array.cpp: Fixed namespacing a bit. (JSC::RuntimeArray::RuntimeArray): Create a unique structure using getDOMStructure.
  • bridge/runtime_array.h: Added createPrototype so getDOMStructure will work.
  • bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using getDOMStructure.
  • bridge/runtime_object.h: Added createPrototype so getDOMStructure will work.
  • history/CachedPage.cpp: (WebCore::CachedPage::restore): Let the window shell's setWindow function create the JSDOMWindow instead of doing it here.
  • page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
2:10 PM Changeset in webkit [36674] by mitz@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fixed ChangeLog typo

2:02 PM Changeset in webkit [36673] by mitz@apple.com
  • 6 edits in trunk/WebCore

Reviewed by Dave Hyatt.

This optimization was suggested by Daniel Fenwick

  • speed up measuring text on the Core Text code path by not specifying a paragraph writing direction

Specifying LTR paragraph directionality when measuring runs of RTL text
resulted in typically two CTRuns being generated for every run instad
of one, due to the leading space being reordered to the left.

  • platform/graphics/SimpleFontData.h: Removed the ltr parameter to getCFStringAttributes() and changed m_CFStringAttributes from an array to a single value.
  • platform/graphics/mac/CoreTextController.cpp: (WebCore::CoreTextController::CoreTextController): Added a mayUseNaturalWritingDirection parameter. (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed to force the bidi embedding level whenever m_mayUseNaturalWritingDirectrion is false. Since this is now a common case, made the typesetter options dictionaries static.
  • platform/graphics/mac/CoreTextController.h:
  • platform/graphics/mac/FontMacCoreText.cpp: (WebCore::Font::selectionRectForComplexText): Renamed a local variable. (WebCore::Font::floatWidthForComplexText): Changed to allow the CoreTextController to not set the writing direction.
  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr parameter and the paragraph style attribute.
1:54 PM Changeset in webkit [36672] by hyatt@apple.com
  • 3 edits
    5 adds in trunk

WebCore:

2008-09-19 David Hyatt <hyatt@apple.com>

Reviewed by Sam Weinig

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

Incorrect height calculation for replaced element inside nested
positioned elements (where the inner has a percentage height and
the outer implicitly has a fixed height because of explicit top/bottom
values).

Added fast/block/positioning/replaced-inside-top-bottom.html

  • rendering/RenderBox.cpp: (WebCore::RenderBox::availableHeightUsing):

LayoutTests:

2008-09-19 David Hyatt <hyatt@apple.com>

Fix for bug 20941.

Reviewed by Sam Weinig

  • fast/block/positioning/replaced-inside-fixed-top-bottom.html: Added.
  • platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.checksum: Added.
  • platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.png: Added.
  • platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.txt: Added.
1:48 PM Changeset in webkit [36671] by Chris Fleizach
  • 2 edits in trunk/WebCore

Fix Tiger bustage

1:24 PM Changeset in webkit [36670] by Chris Fleizach
  • 11 edits
    2 adds in trunk

<rdar://problem/6211041> Expose legend tag in accessibility

Makes the <legend> tag the titleUIElement of the field set.

1:05 PM ProposedWebInspectorRearchitecting edited by Dimitri Glazkov
(diff)
1:04 PM Changeset in webkit [36669] by Chris Fleizach
  • 2 edits in trunk/WebCore

<rdar://problem/6213171> WebKit should use new array-centric methods for AX performance

1:02 PM ProposedWebInspectorRearchitecting edited by Dimitri Glazkov
started on message format (diff)
11:47 AM Changeset in webkit [36668] by Darin Adler
  • 2 edits in trunk/WebKit/mac

2008-09-19 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Moved call to RefCountedLeakCounter::suppressMessages in here. (-[WebView initWithFrame:frameName:groupName:]): Moved it out of here.
7:35 AM Introducing SquirrelFish Extreme.ja edited by omo@dodgson.org
(diff)
7:34 AM Introducing SquirrelFish Extreme.ja edited by omo@dodgson.org
(diff)
7:13 AM Introducing SquirrelFish Extreme.ja created by omo@dodgson.org
4:43 AM Changeset in webkit [36667] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[qtwebkit] Set the m_should* flags to their proper value on entry

With plugins it was possible that we finished a job twice. This was
some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
setting the flag to (m_loadMode == LoadDeferred) they will always have
the right value and we will not send responses twice.

4:06 AM Changeset in webkit [36666] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[qtwebkit] Pass test 70 of acid3. Handle text decoding errors

Handle text decoding errors before instructing the parser to parse. We
have converted the text to QString and all encoding errors are gone and
the parser will not be able to detect them. So handle them before parsing.

2:55 AM Changeset in webkit [36665] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix Gtk bustage.

2:54 AM Changeset in webkit [36664] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollbarThemeQt.cpp

Fix Qt bustage.

1:50 AM Changeset in webkit [36663] by jchaffraix@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-19 Julien Chaffraix <jchaffraix@pleyo.com>

Reviewed by Alexey Proskuryakov.

Use the template hoisting technique on the RefCounted class. This reduces the code bloat due to
non-template methods' code been copied for each instance of the template.
The patch splits RefCounted between a base class that holds non-template methods and attributes
and the template RefCounted class that keeps the same functionnality.

On my Linux with gcc 4.3 for the Gtk port, this is:

  • a ~600KB save on libwebkit.so in release.
  • a ~1.6MB save on libwebkit.so in debug.

It is a wash on Sunspider and a small win on Dromaeo (not sure it is relevant).
On the whole, it should be a small win as we reduce the compiled code size and the only
new function call should be inlined by the compiler.

  • wtf/RefCounted.h: (WTF::RefCountedBase::ref): Copied from RefCounted. (WTF::RefCountedBase::hasOneRef): Ditto. (WTF::RefCountedBase::refCount): Ditto. (WTF::RefCountedBase::RefCountedBase): Ditto. (WTF::RefCountedBase::~RefCountedBase): Ditto. (WTF::RefCountedBase::derefBase): Tweaked from the RefCounted version to remove template section. (WTF::RefCounted::RefCounted): (WTF::RefCounted::deref): Small wrapper around RefCountedBase::derefBase(). (WTF::RefCounted::~RefCounted): Keep private destructor.

Sep 18, 2008:

11:49 PM Changeset in webkit [36662] by Darin Adler
  • 37 edits in trunk

JavaScriptCore:

2008-09-18 Darin Adler <Darin Adler>

Reviewed by Maciej Stachowiak.

  • kjs/lookup.h: Removed things here that were used only in WebCore: cacheGlobalObject, JSC_DEFINE_PROTOTYPE, JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE, and JSC_IMPLEMENT_PROTOTYPE.

WebCore:

2008-09-18 Darin Adler <Darin Adler>

Reviewed by Maciej Stachowiak.

  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException instead of DOMExceptionTranslator.
  • bindings/js/JSDOMBinding.cpp: (WebCore::getCachedDOMObjectWrapper): Updated function name. (WebCore::cacheDOMObjectWrapper): Ditto. (WebCore::forgetDOMObject): Ditto. (WebCore::getCachedDOMNodeWrapper): Ditto. (WebCore::forgetDOMNode): Ditto. (WebCore::cacheDOMNodeWrapper): Ditto. (WebCore::forgetAllDOMNodesForDocument): Ditto. (WebCore::markDOMNodesForDocument): Ditto. (WebCore::updateDOMNodeDocument): Ditto. (WebCore::getCachedDOMStructure): Added. (WebCore::createDOMStructure): Ditto.
  • bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter class and replace the static member functions with non-member functions. Added many other functions for getting at structures, prototypes, wrappers, and creating them. Also moved the cacheGlobalObject function here from JavaScriptCore; eventually I'll remove that once I get rid of the remaining callers. Also removed the DOMExceptionTranslator class.
  • bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type, and put one of those maps in each window.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::markDOMObjectWrapper): Updated for function name change. (WebCore::JSDOMWindow::mark): Added code to mark all the structures in the structure map.
  • bindings/js/JSEventTargetNode.cpp: (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take a structure instead of a prototype.
  • bindings/js/JSEventTargetNode.h: Ditto.
  • bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
  • bindings/js/JSHTMLInputElementBase.cpp: (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a structure instead of a prototype.
  • bindings/js/JSHTMLInputElementBase.h: Removed use of the JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor to take a structure instead of a prototype. Created a dummy prototype class that causes the HTMLInputElement prototype to have the HTMLElement prototype.
  • bindings/scripts/CodeGeneratorJS.pm: Change constructors to take structures instead of prototypes. Changed the prototype self function to use the getDOMPrototype function -- later we can eliminate it and have callers invoke getDOMPrototype directly instead. Updated other functions that have name changes. Added code to generate the createPrototype member function. Changed use of cacheGlobalObject to get it from the WebCore namespace instead of the JSC namespace. Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
  • dom/Document.cpp: (WebCore::Document::~Document): Updated for name change and also removed unnecessary JSLock use -- there's no need to lock around this.
  • dom/Node.cpp: (WebCore::Node::setDocument): Ditto.
  • dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro instead of calling new directly.
  • bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJS): Updated for function name changes and used the CREATE_DOM_OBJECT_WRAPPER macro.
  • bindings/js/JSCSSValueCustom.cpp: (WebCore::toJS): Ditto.
  • bindings/js/JSCanvasPixelArrayCustom.cpp: (WebCore::toJS): Ditto.
  • bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark): Ditto. (WebCore::toJS): Ditto.
  • bindings/js/JSElementCustom.cpp: (WebCore::toJSNewlyCreated): Ditto.
  • bindings/js/JSEventCustom.cpp: (WebCore::toJS): Ditto.
  • bindings/js/JSEventTargetBase.cpp: (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead of DOMExceptionTranslator. (WebCore::toJS): Updated for function name changes and used the CREATE_DOM_OBJECT_WRAPPER macro.
  • bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJS): Ditto.
  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::mark): Ditto. (WebCore::createWrapper): Ditto. (WebCore::toJS): Ditto.
  • bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJS): Ditto.
  • bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJS): Ditto. (WebCore::JSStyleSheet::mark): Ditto.
  • bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): Ditto.
  • bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::constructXMLHttpRequest): Ditto.
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::mark): Ditto.
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
  • bindings/js/JSXSLTProcessorConstructor.cpp: (WebCore::constructXSLTProcessor): Ditto.
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::finishedWithEvent): Ditto.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto. (WebCore::XMLHttpRequest::dropProtection): Ditto.

LayoutTests:

2008-09-18 Darin Adler <Darin Adler>

Reviewed by Maciej Stachowiak.

  • platform/mac/fast/dom/wrapper-classes-expected.txt: Update results to reflect correct prototype for CSSStyleRule.
11:48 PM Changeset in webkit [36661] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.xcodeproj/project.pbxproj

Fix conflict inXCode file.

11:32 PM Changeset in webkit [36660] by Darin Adler
  • 8 edits in trunk/JavaScriptCore

2008-09-18 Darin Adler <Darin Adler>

Reviewed by Maciej Stachowiak.

  • kjs/grammar.y: Get rid of string from the union, and use ident for STRING as well as for IDENT.
  • kjs/lexer.cpp: (JSC::Lexer::lex): Use makeIdentifier instead of makeUString for String.
  • kjs/lexer.h: Remove makeUString.
  • kjs/nodes.h: Changed StringNode to hold an Identifier instead of UString.
  • VM/CodeGenerator.cpp: (JSC::keyForCharacterSwitch): Updated since StringNode now holds an Identifier. (JSC::prepareJumpTableForStringSwitch): Ditto.
  • kjs/nodes.cpp: (JSC::StringNode::emitCode): Ditto. The comment from here is now in the lexer. (JSC::processClauseList): Ditto.
  • kjs/nodes2string.cpp: (JSC::StringNode::streamTo): Ditto.
11:30 PM Changeset in webkit [36659] by hyatt@apple.com
  • 8 edits in trunk/WebCore

2008-09-18 David Hyatt <hyatt@apple.com>

This patch gets a viewless scrollbar working on Mac. It is turned off
by default. Hit testing works. For now the scrollbar just paints ugly
debug rects in the place of the buttons, track and thumb. It does match
Aqua metrics though.

Reviewed by Sam Weinig

  • WebCore.xcodeproj/project.pbxproj:
  • page/mac/EventHandlerMac.mm: (WebCore::EventHandler::passMousePressEventToScrollbar):
  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint): (WebCore::ScrollbarThemeComposite::trackPosition):
  • platform/ScrollbarThemeComposite.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::addChild):
  • platform/mac/ScrollbarThemeMac.cpp: (WebCore::): (WebCore::ScrollbarThemeMac::hasButtons): (WebCore::ScrollbarThemeMac::hasThumb): (WebCore::buttonRepaintRect): (WebCore::ScrollbarThemeMac::backButtonRect): (WebCore::ScrollbarThemeMac::forwardButtonRect): (WebCore::trackRepaintRect): (WebCore::ScrollbarThemeMac::trackRect): (WebCore::ScrollbarThemeMac::minimumThumbLength): (WebCore::ScrollbarThemeMac::shouldCenterOnThumb): (WebCore::ScrollbarThemeMac::paintTrack): (WebCore::ScrollbarThemeMac::paintButton): (WebCore::ScrollbarThemeMac::paintThumb):
  • platform/mac/ScrollbarThemeMac.h: (WebCore::ScrollbarThemeMac::supportsControlTints):
  • platform/qt/ScrollbarThemeQt.cpp: (WebCore::ScrollbarThemeQt::trackPosition):
11:13 PM Changeset in webkit [36658] by collinj@webkit.org
  • 2 edits in trunk/WebCore

2008-09-18 Collin Jackson <collinj@webkit.org>

Build fix; added missing header file to GNUmakefile.am

  • GNUmakefile.am:
10:54 PM Changeset in webkit [36657] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/mac/ScrollViewMac.mm

Fix Mac release build bustage.

10:53 PM Changeset in webkit [36656] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/mac/ScrollViewMac.mm

Fix Mac release build bustage.

10:52 PM Changeset in webkit [36655] by Darin Adler
  • 2 edits in trunk/WebKitTools

2008-09-18 Darin Adler <Darin Adler>

  • Scripts/do-webcore-rename: More renaming plans.
10:24 PM Changeset in webkit [36654] by collinj@webkit.org
  • 2 edits in trunk/LayoutTests

2008-09-18 Collin Jackson <collinj@webkit.org>

Reviewed by Antti Koivisto and Mark Rowe.

This is correct expected output for the DNS prefetch control
layout test I just checked in.

  • http/tests/misc/dns-prefetch-control-expected.txt:
9:56 PM Changeset in webkit [36653] by weinig@apple.com
  • 5 edits
    5 moves in trunk/WebCore

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

Reviewed by David "the Hair" Hyatt.

Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/DataRef.h: Removed.
  • rendering/SVGRenderStyle.cpp: Removed.
  • rendering/SVGRenderStyle.h: Removed.
  • rendering/SVGRenderStyleDefs.cpp: Removed.
  • rendering/SVGRenderStyleDefs.h: Removed.
  • rendering/style/DataRef.h: Copied from rendering/DataRef.h.
  • rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
  • rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
  • rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
  • rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
9:47 PM Changeset in webkit [36652] by mrowe@apple.com
  • 21 edits in trunk

Clear the main frame's name between tests to get more consistent test results
when running the WebKit tests with --nthly.

Reviewed by Dan Bernstein.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebViewToConsistentStateBeforeTesting):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebViewToConsistentStateBeforeTesting):

Add SPI to WebView to allow DRT to clear the main frame's name between tests.

  • Interfaces/IWebViewPrivate.idl:
  • WebView.cpp:

(WebView::clearMainFrameName):

  • WebView.h:

Add SPI to WebView to allow DRT to clear the main frame's name between tests.

  • WebView/WebView.mm:

(-[WebView _clearMainFrameName]):

  • WebView/WebViewPrivate.h:

Add a means of clearing a FrameTree's name.

  • WebCore.base.exp:
  • page/FrameTree.cpp:

(WebCore::FrameTree::clearName):

  • page/FrameTree.h:

Update test results now that frame tree names are cleared between tests.

  • fast/events/onunload-clears-onbeforeunload-expected.txt:
  • fast/events/onunload-expected.txt:
  • fast/events/onunload-not-on-body-expected.txt:
  • fast/events/onunload-window-property-expected.txt:
  • fast/forms/button-state-restore-expected.txt:
  • fast/forms/form-and-frame-interaction-retains-values-expected.txt:
9:30 PM Changeset in webkit [36651] by hyatt@apple.com
  • 4 edits in trunk/WebCore

2008-09-18 David Hyatt <hyatt@apple.com>

Eliminate addToSuperview from Widget, since it was only called
by ScrollViewMac's addChild method. Just shift the original body
of addToSuperView into addChild.

Reviewed by Sam Weinig

  • platform/Widget.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::addChild):
  • platform/mac/WidgetMac.mm:
9:15 PM Changeset in webkit [36650] by collinj@webkit.org
  • 14 edits
    5 adds in trunk
9:01 PM Changeset in webkit [36649] by hyatt@apple.com
  • 4 edits in trunk/WebCore

2008-09-18 David Hyatt <hyatt@apple.com>

Eliminate the convertToScreenCoordinate method on Widget, since
ScrollView has redundant methods that already do the same thing.

Reviewed by Sam Weinig

  • editing/mac/SelectionControllerMac.mm: (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
  • platform/Widget.h:
  • platform/mac/WidgetMac.mm: (WebCore::Widget::containingWindow):
8:18 PM Changeset in webkit [36648] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/Scrollbar.cpp

Fix Qt warning.

8:16 PM Changeset in webkit [36647] by hyatt@apple.com
  • 9 edits in trunk/WebCore

2008-09-18 David Hyatt <hyatt@apple.com>

Move to only one constructor for Widgets. Rename data to m_data and make
it have an #ifdef only for platforms that have platform-specific data (Mac
and Gtk).

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • platform/Widget.cpp: (WebCore::Widget::init):
  • platform/Widget.h:
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::Widget): (WebCore::Widget::~Widget): (WebCore::Widget::cursor): (WebCore::Widget::setCursor):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::Widget): (WebCore::Widget::~Widget): (WebCore::Widget::addToSuperview): (WebCore::Widget::removeFromSuperview): (WebCore::Widget::beforeMouseDown): (WebCore::Widget::afterMouseDown):
  • platform/qt/WidgetQt.cpp: (WebCore::Widget::Widget):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::Widget):
  • platform/wx/WidgetWx.cpp: (WebCore::Widget::Widget):
8:04 PM Changeset in webkit [36646] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/Widget.cpp

Fix Qt/Win/Gtk bustage.

8:01 PM Changeset in webkit [36645] by hyatt@apple.com
  • 8 edits in trunk/WebCore

2008-09-18 David Hyatt <hyatt@apple.com>

Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
was no reason for it to be on Widget. This change eliminates Qt ifdefs
from Widget.

Reviewed by Sam Weinig

  • bindings/js/ScriptControllerQt.cpp: (WebCore::ScriptController::createScriptInstanceForWidget):
  • platform/qt/WidgetQt.cpp: (WebCore::WidgetPrivate::WidgetPrivate): (WebCore::WidgetPrivate::~WidgetPrivate): (WebCore::Widget::Widget): (WebCore::Widget::~Widget):
  • plugins/PluginView.cpp: (WebCore::PluginView::PluginView):
  • plugins/PluginView.h: (WebCore::PluginView::isNPAPIPlugin): (WebCore::PluginView::setIsNPAPIPlugin):
7:53 PM Changeset in webkit [36644] by mjs@apple.com
  • 1 edit
    1 add in trunk/WebKitSite

2008-09-18 Maciej Stachowiak <mjs@apple.com>

Not reviewed.

  • blog-files/animation-demo.svg: Added.
7:36 PM Changeset in webkit [36643] by hyatt@apple.com
  • 4 edits in trunk/WebCore

2008-09-18 David Hyatt <hyatt@apple.com>

Make geometryChanged() cross-platform on Widget. GTK and WIN platform
ifdefs are now gone from Widget!

Reviewed by Sam Weinig

  • platform/Widget.h: (WebCore::Widget::geometryChanged):
  • platform/gtk/WidgetGtk.cpp:
  • platform/qt/WidgetQt.cpp:
7:29 PM Changeset in webkit [36642] by hyatt@apple.com
  • 12 edits in trunk/WebCore

2008-09-18 David Hyatt <hyatt@apple.com>

Consolidate convertTo/FromContainingWindow methods so that all platforms
but Mac share the same code.

Move convertSelfToChild and convertChildToSelf to ScrollView, since
Widget should know nothing about children. Make the methods cross-platform
on ScrollView.

Reviewed by Sam Weinig

  • platform/ScrollView.h: (WebCore::ScrollView::convertChildToSelf): (WebCore::ScrollView::convertSelfToChild):
  • platform/Widget.cpp: (WebCore::Widget::convertToContainingWindow): (WebCore::Widget::convertFromContainingWindow):
  • platform/Widget.h: (WebCore::Widget::geometryChanged):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::isScrollViewScrollbar):
  • platform/gtk/WidgetGtk.cpp:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::isScrollViewScrollbar):
  • platform/mac/WidgetMac.mm:
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::isScrollViewScrollbar):
  • platform/qt/WidgetQt.cpp:
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::isScrollViewScrollbar):
  • platform/win/WidgetWin.cpp:
6:51 PM Changeset in webkit [36641] by mjs@apple.com
  • 1 edit
    1 add in trunk/WebKitSite

2008-09-18 Maciej Stachowiak <mjs@apple.com>

Not reviewed.

  • blog-files/sfx-perf.png: Added.
6:34 PM Changeset in webkit [36640] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Fix style.

  • VM/Instruction.h: (JSC::Instruction::Instruction):
6:00 PM Changeset in webkit [36639] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[qt] Build fixes after the Widget/ScrollView cleanup

topLevel() is now root()

5:51 PM Changeset in webkit [36638] by hyatt@apple.com
  • 2 edits in trunk/WebCore/platform

Fix WIndows bustage.

5:46 PM Changeset in webkit [36637] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Bug 20911: REGRESSION(r36480?): Reproducible assertion failure below derefStructureIDs 64-bit JavaScriptCore
<https://bugs.webkit.org/show_bug.cgi?id=20911>

Reviewed by Maciej Stachowiak.

The problem was simply caused by the int constructor for Instruction
failing to initialise the full struct in 64bit builds.

5:39 PM Changeset in webkit [36636] by hyatt@apple.com
  • 4 edits in trunk/WebCore

2008-09-18 David Hyatt <hyatt@apple.com>

Make the conversion methods that go to and from some containingWindow
cross-platform. Implement them on Mac.

Reviewed by Sam Weinig

  • platform/Widget.h: (WebCore::Widget::setContainingWindow):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::convertFromContainingWindow): (WebCore::Widget::convertToContainingWindow):
5:28 PM Changeset in webkit [36635] by weinig@apple.com
  • 5 edits in trunk/WebCore

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

Rubber-stamped by David "Yeah-yeah" Hyatt.

Cleanup RenderStyle.

  • WebCore.xcodeproj/project.pbxproj:
  • rendering/style/CounterContent.h:
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
5:01 PM Changeset in webkit [36634] by dino@apple.com
  • 15 edits in trunk/WebCore

2008-09-18 Chris Marrin <cmarrin@apple.com>

Reviewed by Sam Weinig

Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
Now TransformOperations and AnimationList no longer
inherit from Vector<> but rather have API to access.

  • css/CSSComputedStyleDeclaration.cpp:
  • css/CSSStyleSelector.cpp:
  • page/animation/AnimationBase.cpp:
  • page/animation/CompositeAnimation.cpp:
  • page/animation/ImplicitAnimation.cpp:
  • page/animation/KeyframeAnimation.cpp:
  • rendering/RenderLayer.cpp:
  • rendering/style/AnimationList.cpp:
  • rendering/style/AnimationList.h:
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
  • rendering/style/TransformOperations.cpp:
  • rendering/style/TransformOperations.h:
4:47 PM Changeset in webkit [36633] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-18 Darin Adler <Darin Adler>

  • fix release build
  • wtf/RefCountedLeakCounter.cpp: Removed stray "static".
4:34 PM Changeset in webkit [36632] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-18 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • kjs/JSGlobalObject.h: Tiny style guideline tweak.
4:30 PM Changeset in webkit [36631] by Darin Adler
  • 7 edits in trunk

2008-09-18 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • JavaScriptCore.exp: Updated, and also added an export needed for future WebCore use of JSC::StructureID.
  • wtf/RefCountedLeakCounter.cpp: (WTF::RefCountedLeakCounter::suppressMessages): Added. (WTF::RefCountedLeakCounter::cancelMessageSuppression): Added. (WTF::RefCountedLeakCounter::RefCountedLeakCounter): Tweaked a bit. (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): Added code to log the reason there was no leak checking done. (WTF::RefCountedLeakCounter::increment): Tweaked a bit. (WTF::RefCountedLeakCounter::decrement): Ditto.
  • wtf/RefCountedLeakCounter.h: Replaced setLogLeakMessages with two new functions, suppressMessages and cancelMessageSuppression. Also added m_ prefixes to the data member names.

2008-09-18 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

  • WebView/WebPreferences.mm: (-[WebPreferences setFullDocumentTeardownEnabled:]): Removed unneeded call to setLogLeakMessages.
  • WebView/WebView.mm: (-[WebView _closeWithFastTeardown]): Call RefCountedLeakCounter::suppressMessages, telling it that we can't track leaks because at least one WebView was closed with fast teardown. (-[WebView _close]): Removed unneeded call to setLogLeakMessages. Added a call to cancelMessageSuppression since the WebView is no longer open. Added an explicit garbage collect to help with the case where we're closing during the quit process -- the garbageCollectSoon() calls done inside WebCore won't help us in that case. (-[WebView initWithFrame:frameName:groupName:]): Call RefCountedLeakCounter::suppressMessages telling it that we can't track leaks because at least one WebView is currently open.
4:28 PM Changeset in webkit [36630] by zecke@webkit.org
  • 10 edits
    2 copies in trunk

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

Reviewed by Mark Rowe.

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

Add a proper #define to define which XML Parser implementation to use. Client
code can use #if USE(QXMLSTREAM) to decide if the Qt XML StreamReader
implementation is going to be used.

  • wtf/Platform.h:

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

Reviewed by Mark Rowe.

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

XMLTokenizer.cpp used to contain two different implementations. One was using
libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
separating the two implementations from each other.
Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
XMLTokenizerLibxml2.cpp. There should be no functional changes.

Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
to work.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • dom/XMLTokenizer.cpp: (WebCore::isScriptElement): (WebCore::castToScriptElement): (WebCore::XMLTokenizer::setCurrentNode): (WebCore::XMLTokenizer::write): (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): (WebCore::XMLTokenizer::enterText): (WebCore::toString): (WebCore::XMLTokenizer::exitText): (WebCore::XMLTokenizer::end): (WebCore::XMLTokenizer::insertErrorMessageBlock):
  • dom/XMLTokenizer.h: (WebCore::XMLTokenizer::wellFormed):
  • dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp. (WebCore::createMemoryParser): (WebCore::XMLTokenizer::XMLTokenizer): (WebCore::XMLTokenizer::~XMLTokenizer): (WebCore::XMLTokenizer::doWrite): (WebCore::ignorableWhitespaceHandler): (WebCore::XMLTokenizer::initializeParserContext): (WebCore::XMLTokenizer::doEnd): (WebCore::XMLTokenizer::lineNumber): (WebCore::XMLTokenizer::columnNumber): (WebCore::XMLTokenizer::stopParsing): (WebCore::XMLTokenizer::resumeParsing): (WebCore::parseXMLDocumentFragment): (WebCore::attributesStartElementNsHandler): (WebCore::parseAttributes):
  • dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp. (WebCore::EntityResolver::resolveUndeclaredEntity): (WebCore::XMLTokenizer::XMLTokenizer): (WebCore::XMLTokenizer::~XMLTokenizer): (WebCore::XMLTokenizer::doWrite): (WebCore::XMLTokenizer::initializeParserContext): (WebCore::XMLTokenizer::doEnd): (WebCore::XMLTokenizer::lineNumber): (WebCore::XMLTokenizer::columnNumber): (WebCore::XMLTokenizer::stopParsing): (WebCore::XMLTokenizer::resumeParsing): (WebCore::parseXMLDocumentFragment): (WebCore::attributesStartElementNsHandler): (WebCore::parseAttributes): (WebCore::):
4:08 PM Changeset in webkit [36629] by Beth Dakin
  • 2 edits in trunk/WebCore

2008-09-18 Beth Dakin <Beth Dakin>

Reviewed by Geoff Garen.

Build fix for non-Mac builds.

  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText):
4:07 PM Changeset in webkit [36628] by eric@webkit.org
  • 7 edits in trunk/WebCore

2008-09-18 Peter Kasting <pkasting@google.com>

Reviewed by hyatt. Landed by eseidel.

https://bugs.webkit.org/show_bug.cgi?id=20745
Animated GIFs do not animate properly with (at least) CG.

  • WebCore\platform\graphics\BitmapImage.cpp:
  • WebCore\platform\graphics\BitmapImage.h:
  • WebCore\platform\graphics\cairo\ImageCairo.cpp:
  • WebCore\platform\graphics\cg\ImageCG.cpp:
  • WebCore\platform\graphics\qt\ImageQt.cpp:
  • WebCore\platform\graphics\wx\ImageWx.cpp:
3:54 PM Changeset in webkit [36627] by Chris Fleizach
  • 11 edits
    3 adds in trunk

<rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA role specifies otherwise

If a <table> tag has an aria role, it should not appear as an AXTable
Likewise, it's rows and cells should not appear as AXRow or AXCell

3:29 PM Changeset in webkit [36626] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Use higher-resolution timers on all variants of Windows.


Reviewed by Darin Adler.

  • platform/win/SharedTimerWin.cpp: (WebCore::setSharedTimerFireTime):
3:21 PM Changeset in webkit [36625] by hyatt@apple.com
  • 8 edits in trunk/WebCore

2008-09-18 David Hyatt <hyatt@apple.com>

Make containingWindow() and setContainingWindow() cross-platform.
Add a root() function cross-platform so Qt doesn't have to
define its own.

Reviewed by Darin Adler

  • platform/Widget.cpp: (WebCore::Widget::root):
  • platform/Widget.h: (WebCore::Widget::setContainingWindow):
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::Widget): (WebCore::Widget::containingWindow):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::addChild): (WebCore::ScrollView::removeChild):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::containingWindow):
  • platform/qt/WidgetQt.cpp: (WebCore::Widget::invalidateRect): (WebCore::Widget::containingWindow):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::Widget): (WebCore::Widget::~Widget): (WebCore::Widget::containingWindow):
3:18 PM Changeset in webkit [36624] by Beth Dakin
  • 5 edits
    2 adds in trunk

WebCore:

2008-09-18 Beth Dakin <Beth Dakin>

Reviewed by Dave Hyatt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
dashboard-region=
and corresponding: <rdar://problem/6174100>

This patch makes CSSParserValue::createCSSValue handle unknown
identifiers.

  • css/CSSParserValues.cpp: (WebCore::CSSParserValue::createCSSValue): If we have an identifier with no id (an unknown identifier) create a CSSPrimitiveValue of type CSS_PARSER_IDENTIFIER
  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText): (WebCore::CSSPrimitiveValue::parserValue):
  • css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::):

LayoutTests:

2008-09-18 Beth Dakin <Beth Dakin>

Reviewed by Dave Hyatt.

Test for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
dashboard-region=
and corresponding: <rdar://problem/6174100>

  • fast/css/variables/invalid-identifier-expected.txt: Added.
  • fast/css/variables/invalid-identifier.html: Added.
2:46 PM Changeset in webkit [36623] by weinig@apple.com
  • 8 edits
    9 copies in trunk/WebCore

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

Rubber-stamped by David "I'd prefer not" Hyatt.

More the remaining class out of RenderStyle.h/cpp

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h. (WebCore::CursorData::CursorData): (WebCore::CursorData::operator==): (WebCore::CursorData::operator!=):
  • rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h. (WebCore::CursorList::operator[]): (WebCore::CursorList::CursorList):
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h: (WebCore::RenderStyle::deref): (WebCore::RenderStyle::hasOneRef): (WebCore::RenderStyle::InheritedFlags::operator!=): (WebCore::RenderStyle::NonInheritedFlags::operator!=): (WebCore::RenderStyle::hasBackground): (WebCore::RenderStyle::outlineWidth): (WebCore::RenderStyle::autoWrap): (WebCore::RenderStyle::preserveNewline): (WebCore::RenderStyle::collapseWhiteSpace): (WebCore::RenderStyle::isCollapsibleWhiteSpace): (WebCore::RenderStyle::breakOnlyAfterWhiteSpace): (WebCore::RenderStyle::breakWords): (WebCore::RenderStyle::outlineOffset): (WebCore::RenderStyle::setLeft): (WebCore::RenderStyle::setRight): (WebCore::RenderStyle::setTop): (WebCore::RenderStyle::setBottom): (WebCore::RenderStyle::setDashboardRegion): (WebCore::RenderStyle::setBackgroundColor): (WebCore::RenderStyle::setBorderImage): (WebCore::RenderStyle::setBorderRadius): (WebCore::RenderStyle::setFontDescription): (WebCore::RenderStyle::adjustBackgroundLayers): (WebCore::RenderStyle::adjustMaskLayers): (WebCore::RenderStyle::deleteBindingURIs): (WebCore::RenderStyle::inheritBindingURIs): (WebCore::RenderStyle::isDisplayReplacedType): (WebCore::RenderStyle::isDisplayInlineType): (WebCore::RenderStyle::isOriginalDisplayInlineType):
  • rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleInheritedData::operator!=):
  • rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleRareInheritedData::operator!=):
  • rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
  • rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
2:29 PM Changeset in webkit [36622] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/Scrollbar.cpp

Fix Mac bustage.

1:24 PM Changeset in webkit [36621] by hyatt@apple.com
  • 7 edits in trunk/WebCore

2008-09-18 David Hyatt <hyatt@apple.com>

Move the concept of suppression invalidation on Widgets to Scrollbar
instead. Since this is only used by Scrollbars, there is no need for
it to be on Widget.

Reviewed by Sam Weinig

  • platform/Scrollbar.cpp: (WebCore::Scrollbar::Scrollbar): (WebCore::Scrollbar::invalidateRect):
  • platform/Scrollbar.h: (WebCore::Scrollbar::suppressInvalidation): (WebCore::Scrollbar::setSuppressInvalidation):
  • platform/Widget.h:
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::Widget): (WebCore::Widget::invalidateRect):
  • platform/qt/WidgetQt.cpp: (WebCore::WidgetPrivate::WidgetPrivate): (WebCore::Widget::invalidateRect):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::Widget): (WebCore::Widget::invalidateRect):
1:09 PM Changeset in webkit [36620] by hyatt@apple.com
  • 8 edits in trunk/WebCore

2008-09-18 David Hyatt <hyatt@apple.com>

Make invalidate() on Widget non-virtual and make it just call
invalidateRect() on the boundsGeometry() of the Widget.

Reviewed by Dan Bernstein

  • platform/Widget.h: (WebCore::Widget::boundsGeometry): (WebCore::Widget::invalidate):
  • platform/gtk/WidgetGtk.cpp:
  • platform/mac/WidgetMac.mm:
  • platform/qt/WidgetQt.cpp:
  • platform/win/WidgetWin.cpp:
  • platform/wx/WidgetWx.cpp:
12:40 PM Changeset in webkit [36619] by weinig@apple.com
  • 14 edits
    18 copies in trunk/WebCore

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

Rubber-stamped in exile by David Hyatt.

Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
RenderStyle.h/cpp

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • css/CSSStyleSelector.cpp:
  • css/CSSStyleSelector.h:
  • page/animation/CompositeAnimation.cpp:
  • page/animation/KeyframeAnimation.cpp:
  • page/animation/KeyframeAnimation.h:
  • rendering/RenderCounter.h:
  • rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp. (WebCore::Animation::~Animation): (WebCore::Animation::animationsMatch): (WebCore::Animation::keyframeList): (WebCore::Animation::setAnimationKeyframe):
  • rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
  • rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
  • rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h. (WebCore::BindingURI::operator!=):
  • rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h. (WebCore::ContentData::ContentData): (WebCore::ContentData::~ContentData):
  • rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h. (WebCore::CounterContent::CounterContent):
  • rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h. (WebCore::CounterDirectives::CounterDirectives):
  • rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp. (WebCore::KeyframeList::insert):
  • rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h. (WebCore::KeyframeValue::KeyframeValue): (WebCore::KeyframeList::create): (WebCore::KeyframeList::KeyframeList):
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
  • rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h. (WebCore::ShadowData::ShadowData): (WebCore::ShadowData::~ShadowData): (WebCore::ShadowData::operator!=):
  • rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleFlexibleBoxData::operator!=):
  • rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h. (WebCore::TimingFunction::TimingFunction): (WebCore::TimingFunction::operator==):
11:49 AM Changeset in webkit [36618] by adele@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Dan Bernstein.

Fix RenderStyle leaks.

  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
11:30 AM Changeset in webkit [36617] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

2008-09-18 Anders Carlsson <andersca@apple.com>

Reviewed by Adam Roben.

Move the remainder of the stream ivars to the C++ object.


  • Plugins/WebBaseNetscapePluginStream.h: (WebNetscapePluginStream::WebNetscapePluginStream):
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): (-[WebBaseNetscapePluginStream initWithFrameLoader:]): (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream dealloc]): (-[WebBaseNetscapePluginStream finalize]): (-[WebBaseNetscapePluginStream setPlugin:]): (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): (-[WebBaseNetscapePluginStream start]): (-[WebBaseNetscapePluginStream stop]): (-[WebBaseNetscapePluginStream wantsAllStreams]): (-[WebBaseNetscapePluginStream _destroyStream]): (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): (-[WebBaseNetscapePluginStream cancelLoadWithError:]): (-[WebBaseNetscapePluginStream _deliverData]):
11:03 AM Changeset in webkit [36616] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-09-18 Kevin McCullough <kmccullough@apple.com>

Accidentally checked in code.

  • html/HTMLElementFactory.cpp: (WebCore::frameConstructor): (WebCore::iframeConstructor):
10:21 AM Changeset in webkit [36615] by kmccullough@apple.com
  • 4 edits
    1 add in trunk/WebCore

2008-09-18 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

<rdar://problem/5722310> gracefully handle too many console messages
(20904)

  • Keep track of the most previous message and then compare it to the subsequent messages as they come in. If there are multiple of the same message create a count that indicates the current number.
  • manual-tests/inspector/multiple-console-messages.html: Added.
  • page/inspector/Console.js:
  • page/inspector/inspector.css:
9:00 AM ProposedWebInspectorRearchitecting edited by Dimitri Glazkov
WebKit -> WebCore rename (diff)
4:50 AM Changeset in webkit [36614] by alp@webkit.org
  • 3 edits in trunk/WebCore

2008-09-18 Jonathon Jongsma <jonathon@quotidian.org>

Reviewed by Alp Toker

https://bugs.webkit.org/show_bug.cgi?id=20830
[GTK] Don't use deprecated pango API

Replace deprecated pango functions with non-deprecated ones for newer
versions of pango

  • platform/graphics/gtk/FontGtk.cpp: (WebCore::getDefaultPangoLayout):
  • platform/graphics/gtk/FontPlatformDataPango.cpp: (WebCore::FontPlatformData::FontPlatformData):
2:39 AM Changeset in webkit [36613] by Stephanie Lewis
  • 2 edits in trunk/WebKitTools

2008-09-18 Stephanie Lewis <Stephanie Lewis>

Really fix tiger jsc tests.

  • Scripts/run-javascriptcore-tests:
2:35 AM Changeset in webkit [36612] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-09-18 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Make a Unicode non-breaking space count as a whitespace character in
PCRE. This change was already made in WREC, and it fixes one of the
Mozilla JS tests. Since it is now fixed in PCRE as well, we can check
in a new set of expected test results.

  • pcre/pcre_internal.h: (isSpaceChar):
  • tests/mozilla/expected.html:
2:13 AM Changeset in webkit [36611] by Stephanie Lewis
  • 3 edits in trunk/WebKitTools

2008-09-18 Stephanie Lewis <Stephanie Lewis>

Reviewed by Maciej Stachowiak.

Fix jsc tests on Tiger. Make jsc tests smarter about when to use the arch flag.

  • Scripts/run-javascriptcore-tests:
  • Scripts/webkitdirs.pm:
1:10 AM Changeset in webkit [36610] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-09-18 Alp Toker <alp@nuanti.com>

Build fix for r36587. Add new sources (and sort the lists).

  • GNUmakefile.am:
12:48 AM Changeset in webkit [36609] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Print warning to stdout rather than stderr when a test attempts to access a remote resource.
This should make it more obvious when a test does this, as stderr output tends to be obscured
by noise in the test results.

Also fixes some coding style issues in ResourceLoadDelegate.mm.

Rubber-stamped by Sam Weinig.

  • DumpRenderTree/mac/ResourceLoadDelegate.mm:

(-[NSError _drt_descriptionSuitableForTestResult]):
(-[NSURL _drt_descriptionSuitableForTestResult]):
(-[ResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
(-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
(-[ResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]):
(-[ResourceLoadDelegate webView:resource:didFinishLoadingFromDataSource:]):
(-[ResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]):
(-[ResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:]):

12:48 AM Changeset in webkit [36608] by mrowe@apple.com
  • 2 edits in trunk/LayoutTests

Change test to not attempt to access a remote host. This stops
DRT from printing a warning to stderr while running this test.

Rubber-stamped by Sam Weinig.

  • fast/loader/cancel-load-during-port-block-timer.html:
12:43 AM Changeset in webkit [36607] by Stephanie Lewis
  • 4 edits in trunk

2008-09-18 Stephanie Lewis <Stephanie Lewis>

Reviewed by Mark Rowe and Maciej Stachowiak.

add an option use arch to specify which architecture to run.

  • tests/mozilla/jsDriver.pl:

add a --64-bit option and specify which architecture to run on Mac.

  • Scripts/run-javascriptcore-tests:
12:09 AM Changeset in webkit [36606] by mrowe@apple.com
  • 6 edits
    1 add in trunk/WebKitTools

Fix a crash seen running DumpRenderTree on fast/dom/null-document-window-open-crash.html under guard malloc.

Reviewed by Sam Weinig.

The JS wrapper for LayoutTestController could outlive the wrapped instance, and would crash when
attempting to access the wrapped instance within layoutTestControllerObjectFinalize. We fix this by making
LayoutTestController ref-counted to ensure that it is not outlived by the JS wrapper.

  • DumpRenderTree/ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/RefCounted.h.
  • DumpRenderTree/LayoutTestController.cpp:

(LayoutTestController::LayoutTestController):
(notifyDoneCallback): Remove code that is no longer needed now that we must always have a wrapped instance.
(layoutTestControllerObjectFinalize): Deref the wrapped object.
(LayoutTestController::makeWindowObject): Ref the wrapped object.

  • DumpRenderTree/LayoutTestController.h: Make LayoutTestController RefCounted.
  • DumpRenderTree/mac/DumpRenderTree.mm:

(runTest): Deref the LayoutTestController object rather than explicitly deleting it.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm: Remove code that is no longer needed.
  • DumpRenderTree/win/DumpRenderTree.cpp:

(runTest): Deref the LayoutTestController object rather than explicitly deleting it.

Sep 17, 2008:

11:45 PM Changeset in webkit [36605] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-17 Oliver Hunt <oliver@apple.com>

Correctly restore argument reference prior to SFX runtime calls.


Reviewed by Steve Falkenburg.

  • VM/CTI.cpp: (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile):
11:20 PM Changeset in webkit [36604] by cwzwarich@webkit.org
  • 8 edits in trunk/JavaScriptCore

2008-09-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 20876: REGRESSION (r36417, r36427): fast/js/exception-expression-offset.html fails
<https://bugs.webkit.org/show_bug.cgi?id=20876>

r36417 and r36427 caused an get_by_id opcode to be emitted before the
instanceof and construct opcodes, in order to enable inline caching of
the prototype property. Unfortunately, this regressed some tests dealing
with exceptions thrown by 'instanceof' and the 'new' operator. We fix
these problems by detecting whether an "is not an object" exception is
thrown before op_instanceof or op_construct, and emit the proper
exception in those cases.

  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitConstruct):
  • VM/CodeGenerator.h:
  • VM/ExceptionHelpers.cpp: (JSC::createInvalidParamError): (JSC::createNotAConstructorError): (JSC::createNotAnObjectError):
  • VM/ExceptionHelpers.h:
  • VM/Machine.cpp: (JSC::Machine::getOpcode): (JSC::Machine::privateExecute):
  • VM/Machine.h:
  • kjs/nodes.cpp: (JSC::NewExprNode::emitCode): (JSC::InstanceOfNode::emitCode):
10:51 PM Changeset in webkit [36603] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-09-17 Sam Weinig <sam@webkit.org>

Fix Windows build.

  • WebCore.vcproj/WebCore.vcproj:
10:28 PM Changeset in webkit [36602] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.base.exp

Fix mysterious Mac bustage.

10:10 PM Changeset in webkit [36601] by hyatt@apple.com
  • 14 edits in trunk/WebCore

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

Switch back to having frameGeometry be virtual in order to keep Mac
the way it used to be.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • platform/Widget.cpp: (WebCore::Widget::setParent):
  • platform/Widget.h:
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::frameGeometry): (WebCore::Widget::setFrameGeometry):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::frameGeometry): (WebCore::Widget::setFrameGeometry):
  • platform/qt/WidgetQt.cpp: (WebCore::Widget::frameGeometry): (WebCore::Widget::setFrameGeometry):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::frameGeometry): (WebCore::Widget::setFrameGeometry):
  • platform/wx/WidgetWx.cpp: (WebCore::Widget::frameGeometry): (WebCore::Widget::setFrameGeometry):
  • plugins/PluginView.cpp: (WebCore::PluginView::setFrameGeometry): (WebCore::PluginView::geometryChanged):
  • plugins/PluginView.h:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::updatePluginWidget):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::updatePluginWidget):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::updatePluginWidget):
10:03 PM Changeset in webkit [36600] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-09-17 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Fix assertion in DOMWindow::adjustWindowRect where we were passing
in garbage values and were getting lucky that they were a not Nan.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::windowProtoFuncOpen):
9:28 PM Changeset in webkit [36599] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-09-17 Sam Weinig <sam@webkit.org>

Fix gtk build.

  • rendering/style/MatrixTransformOperation.cpp:
8:36 PM Changeset in webkit [36598] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.base.exp

Fix Mac bustage.

8:34 PM Changeset in webkit [36597] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.25.1

New tag.

8:32 PM Changeset in webkit [36596] by hyatt@apple.com
  • 4 edits in trunk/WebCore/platform

Fix build bustage on Qt, Gtk, Win.

8:32 PM Changeset in webkit [36595] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.25

New tag.

8:28 PM Changeset in webkit [36594] by hyatt@apple.com
  • 6 edits in trunk/WebCore

Fix build bustage on Qt, Gtk, Win.

8:23 PM Changeset in webkit [36593] by weinig@apple.com
  • 11 edits
    16 copies in trunk/WebCore

2008-09-17 Sam Weinig <sam@webkit.org>

Rubber-stamped with love by David Hyatt.

Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • css/CSSStyleSelector.cpp:
  • page/animation/AnimationBase.cpp: (WebCore::solveEpsilon):
  • rendering/RenderLayer.cpp:
  • rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
  • rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h. (WebCore::MatrixTransformOperation::MatrixTransformOperation):
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
  • rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h. (WebCore::RotateTransformOperation::RotateTransformOperation):
  • rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h. (WebCore::ScaleTransformOperation::ScaleTransformOperation):
  • rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h. (WebCore::SkewTransformOperation::SkewTransformOperation):
  • rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleTransformData::operator!=):
  • rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h. (WebCore::TransformOperation::):
  • rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp. (WebCore::TransformOperations::TransformOperations):
  • rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h. (WebCore::TransformOperations::operator!=):
  • rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h. (WebCore::TranslateTransformOperation::TranslateTransformOperation):
8:06 PM Changeset in webkit [36592] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.base.exp

Fix Mac bustage.

8:00 PM Changeset in webkit [36591] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/WidgetQt.cpp

Fix Qt bustage.

7:59 PM Changeset in webkit [36590] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Build fix.

7:48 PM Changeset in webkit [36589] by hyatt@apple.com
  • 12 edits in trunk/WebCore

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

(1) Inline a bunch of methods for accessing frame geometry.
(2) Make sure frameGeometry() works even when you have no underlying
native widget.
(3) Cache a frame geometry rect cross-platform (even for widgets that
have underlying native widgets.
(4) PluginView's updateWindow call is now a virtual function on Widget.

Reviewed by Sam Weinig

  • ChangeLog:
  • WebCore.base.exp:
  • platform/Widget.cpp: (WebCore::Widget::setFrameGeometry):
  • platform/Widget.h: (WebCore::Widget::x): (WebCore::Widget::y): (WebCore::Widget::width): (WebCore::Widget::height): (WebCore::Widget::size): (WebCore::Widget::pos): (WebCore::Widget::frameGeometry): (WebCore::Widget::resize): (WebCore::Widget::move): (WebCore::Widget::isFrameView): (WebCore::Widget::windowClipRect):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::~Widget): (WebCore::Widget::updatePlatformWidgetFrameGeometry):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::updatePlatformWidgetFrameGeometry):
  • plugins/PluginView.cpp: (WebCore::PluginView::setFrameGeometry): (WebCore::PluginView::geometryChanged):
  • plugins/PluginView.h:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
  • plugins/wx/PluginViewWx.cpp:
7:47 PM Changeset in webkit [36588] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-09-17 Sam Weinig <sam@webkit.org>

Reviewed by David "Waterman" Hyatt.

Fix a leak of NSViews in WidgetMac.mm.

  • platform/mac/WidgetMac.mm: (WebCore::Widget::~Widget):
6:46 PM Changeset in webkit [36587] by weinig@apple.com
  • 8 edits
    13 copies in trunk/WebCore

2008-09-17 Sam Weinig <sam@webkit.org>

Rubber-stamped by David Waterman Hyatt.

Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h. (WebCore::FillLayer::operator!=): (WebCore::FillLayer::hasImage): (WebCore::FillLayer::hasFixedImage):
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp. (WebCore::StyleBackgroundData::StyleBackgroundData):
  • rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleBackgroundData::~StyleBackgroundData): (WebCore::StyleBackgroundData::operator!=):
  • rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleBoxData::operator!=):
  • rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleDashboardRegion::operator!=):
  • rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleMarqueeData::operator!=):
  • rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleMultiColData::operator!=): (WebCore::StyleMultiColData::ruleWidth):
  • rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleVisualData::operator==):
6:32 PM Changeset in webkit [36586] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollbarThemeComposite.cpp

Fix Win build bustage.

6:17 PM Changeset in webkit [36585] by hyatt@apple.com
  • 5 edits in trunk/WebCore

Fix Win and Qt build bustage.

5:56 PM Changeset in webkit [36584] by hyatt@apple.com
  • 9 edits
    1 delete in trunk/WebCore

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

Remove WidgetClient from Widget.

Reviewed by Sam Weinig

  • WebCore.xcodeproj/project.pbxproj:
  • platform/Widget.h: (WebCore::Widget::setClient): (WebCore::Widget::client):
  • platform/WidgetClient.h: Removed.
  • platform/gtk/WidgetGtk.cpp:
  • platform/mac/WidgetMac.mm: (WebCore::Widget::Widget): (WebCore::Widget::show): (WebCore::Widget::hide):
  • platform/qt/WidgetQt.cpp: (WebCore::WidgetPrivate::WidgetPrivate):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::Widget):
  • platform/wx/WidgetWx.cpp: (WebCore::Widget::Widget):
5:40 PM Changeset in webkit [36583] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Versioning.

5:39 PM Changeset in webkit [36582] by hyatt@apple.com
  • 14 edits in trunk/WebCore

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

Remove isEnabled/setEnabled from Widget. The concept of being enabled now
only applies to Scrollbars so the method has been moved there and made
cross-platform. Scrollbar subclasses that have a corresponding native
widget can subclass setEnabled to change the enabled state of the native
widget.

Reviewed by Sam Weinig & Darin Adler

  • WebCore.base.exp:
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::Scrollbar):
  • platform/Scrollbar.h: (WebCore::Scrollbar::enabled): (WebCore::Scrollbar::setEnabled):
  • platform/Widget.h:
  • platform/gtk/ScrollbarGtk.cpp: (ScrollbarGtk::setEnabled):
  • platform/gtk/ScrollbarGtk.h:
  • platform/gtk/WidgetGtk.cpp:
  • platform/mac/ScrollbarMac.h:
  • platform/mac/ScrollbarMac.mm: (WebCore::ScrollbarMac::scrollbarHit): (WebCore::ScrollbarMac::setEnabled):
  • platform/mac/WidgetMac.mm:
  • platform/qt/WidgetQt.cpp: (WebCore::WidgetPrivate::WidgetPrivate):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::Widget):
  • platform/wx/WidgetWx.cpp:
5:36 PM Changeset in webkit [36581] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.

JIT generation cti_op_construct_verify.


Quarter to half percent progression on v8-tests.
Roughly not change on SunSpider (possible minor progression).

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/Machine.cpp:
  • VM/Machine.h:
5:05 PM Changeset in webkit [36580] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/Widget.h

Land a comment in Widget.h to help describe the class.

4:56 PM Changeset in webkit [36579] by weinig@apple.com
  • 10 edits
    1 copy in trunk/WebCore

2008-09-17 Sam Weinig <sam@webkit.org>

Rubber-stamped by David Hyatt.

Split all RenderStyle enums into their own file.

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/style/BorderValue.h:
  • rendering/style/CollapsedBorderValue.h:
  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h. (WebCore::):
  • rendering/style/StyleCachedImage.h:
  • rendering/style/StyleGeneratedImage.h:
  • rendering/style/StyleImage.h:
4:54 PM Changeset in webkit [36578] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

Improve timer accuracy for JavaScript Date object on Windows.


Use a combination of ftime and QueryPerformanceCounter.
ftime returns the information we want, but doesn't have sufficient resolution.
QueryPerformanceCounter has high resolution, but is only usable to measure time intervals.
To combine them, we call ftime and QueryPerformanceCounter initially. Later calls will use
QueryPerformanceCounter by itself, adding the delta to the saved ftime. We re-sync to
correct for drift if the low-res and high-res elapsed time between calls differs by more
than twice the low-resolution timer resolution.


QueryPerformanceCounter may be inaccurate due to a problems with:


Reviewed by Darin Adler.

  • kjs/DateMath.cpp: (JSC::highResUpTime): (JSC::lowResUTCTime): (JSC::qpcAvailable): (JSC::getCurrentUTCTimeWithMicroseconds):
4:53 PM Changeset in webkit [36577] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Add back isFrameView check to fix failed assertion during scroll bar teardown.


Reviewed by Dave Hyatt.

  • platform/Scrollbar.cpp: (WebCore::Scrollbar::setParent):
4:41 PM Changeset in webkit [36576] by Simon Fraser
  • 1 edit
    6 adds in trunk/LayoutTests

2008-09-17 Simon Fraser <Simon Fraser>

Add pixel test expecteds for transform tests.

  • platform/mac/transforms/2d/compound-transforms-vs-containers-expected.checksum: Added.
  • platform/mac/transforms/2d/compound-transforms-vs-containers-expected.png: Added.
  • platform/mac/transforms/2d/transform-borderbox-expected.checksum: Added.
  • platform/mac/transforms/2d/transform-borderbox-expected.png: Added.
  • platform/mac/transforms/2d/transform-origin-borderbox-expected.checksum: Added.
  • platform/mac/transforms/2d/transform-origin-borderbox-expected.png: Added.
4:39 PM Changeset in webkit [36575] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp

Fix win bustage.

4:30 PM Changeset in webkit [36574] by beidson@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Mac build fix

  • WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
4:28 PM Changeset in webkit [36573] by sfalken@apple.com
  • 3 edits in trunk/WebCore

Fix build.

  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::setParentVisible):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::init):
4:25 PM Changeset in webkit [36572] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[QtWebKit] Implement error handling in TextCodecQt::decode

Use the QTextCodec parsing state to set the sawError out variable. This
is needed to pass Test 70 of acid3. The test case for this bug is
fast/encoding/invalid-xml.html that is now partially passed. To pass
it completely the Qt text codecs need to be adjusted to have proper
error handling.

4:12 PM Changeset in webkit [36571] by hyatt@apple.com
  • 1 edit in trunk/WebCore/plugins/win/PluginViewWin.cpp

Fix Windows bustage.

4:11 PM Changeset in webkit [36570] by hyatt@apple.com
  • 1 edit in trunk/WebCore/plugins/win/PluginViewWin.cpp

Fix Windows bustage.

4:07 PM Changeset in webkit [36569] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/win/ScrollViewWin.cpp

Fix Windows bustage.

4:03 PM Changeset in webkit [36568] by weinig@apple.com
  • 8 edits
    6 copies in trunk/WebCore

2008-09-17 Sam Weinig <sam@webkit.org>

Rubber-stamped by Dave Hyatt.

Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
out of RenderStyle.h/cpp

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h. (WebCore::BorderData::hasBorderRadius): (WebCore::BorderData::borderLeftWidth): (WebCore::BorderData::borderRightWidth): (WebCore::BorderData::borderTopWidth): (WebCore::BorderData::borderBottomWidth): (WebCore::BorderData::operator!=):
  • rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h. (WebCore::): (WebCore::BorderValue::BorderValue): (WebCore::BorderValue::nonZero): (WebCore::BorderValue::isTransparent): (WebCore::BorderValue::isVisible):
  • rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h. (WebCore::): (WebCore::CollapsedBorderValue::CollapsedBorderValue): (WebCore::CollapsedBorderValue::operator==):
  • rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h. (WebCore::OutlineValue::OutlineValue):
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleSurroundData::operator!=):
4:00 PM Changeset in webkit [36567] by Beth Dakin
  • 2 edits in trunk/WebCore

2008-09-17 Beth Dakin <Beth Dakin>

Reviewed by Darin Adler.

This is a better fix for: Invalid CSS code crashes Safari
https://bugs.webkit.org/show_bug.cgi?id=20512

The spec indicates that the only valid input for a counter is a
number or an identifier. So that is exactly what we allow.

  • css/CSSParser.cpp: (WebCore::CSSParser::parseCounterContent):
3:40 PM Changeset in webkit [36566] by barraclough@apple.com
  • 3 edits in trunk/JavaScriptCore

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

Reviewed by Geoff Garen.

Implement JIT generation of CallFrame initialization, for op_call.

1% sunspider 2.5% v8-tests.

  • VM/CTI.cpp: (JSC::CTI::compileOpCall):
  • VM/Machine.cpp: (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_call_NotJSFunction):
3:22 PM Changeset in webkit [36565] by hyatt@apple.com
  • 1 edit in trunk/WebCore/plugins/qt/PluginViewQt.cpp

Fix Qt bustage.

3:21 PM Changeset in webkit [36564] by hyatt@apple.com
  • 1 edit in trunk/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp

Fix Qt bustage.

3:16 PM Changeset in webkit [36563] by alp@webkit.org
  • 3 edits in trunk/WebCore

2008-09-17 Alp Toker <alp@nuanti.com>

GTK+ build fix. Adapt to use PlatformWidget functions.

  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollViewScrollbar::geometryChanged): (WebCore::ScrollView::addChild): (WebCore::ScrollView::removeChild):
  • platform/gtk/ScrollbarGtk.cpp: (ScrollbarGtk::ScrollbarGtk): (ScrollbarGtk::~ScrollbarGtk): (ScrollbarGtk::geometryChanged):
3:07 PM Changeset in webkit [36562] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/Widget.h

Fix wx bustage.

3:07 PM Changeset in webkit [36561] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollViewQt.cpp

Fix Qt bustage.

3:00 PM Changeset in webkit [36560] by weinig@apple.com
  • 3 edits
    3 adds in trunk

WebCore:

2008-09-17 Sam Weinig <sam@webkit.org>

Reviewed by Adele Peterson.

Patch for <rdar://problem/6133884>
Calling window.resizeTo() on a subframe shouldn't change the window size

Test: fast/dom/Window/window-resize-and-move-sub-frame.html

  • page/DOMWindow.cpp: (WebCore::DOMWindow::moveBy): (WebCore::DOMWindow::moveTo): (WebCore::DOMWindow::resizeBy): (WebCore::DOMWindow::resizeTo):

LayoutTests:

2008-09-17 Sam Weinig <sam@webkit.org>

Reviewed by Adele Peterson.

Test for <rdar://problem/6133884>
Calling window.resizeTo() on a subframe shouldn't change the window size

  • fast/dom/Window/resources/blank.html: Added.
  • fast/dom/Window/window-resize-and-move-sub-frame-expected.txt: Added.
  • fast/dom/Window/window-resize-and-move-sub-frame.html: Added.
2:49 PM ProposedWebInspectorRearchitecting edited by Dimitri Glazkov
(diff)
2:45 PM ProposedWebInspectorRearchitecting edited by Dimitri Glazkov
(diff)
2:43 PM ProposedWebInspectorRearchitecting edited by Dimitri Glazkov
added random notes (diff)
2:35 PM Changeset in webkit [36559] by Beth Dakin
  • 3 edits
    4 adds in trunk

WebCore:

2008-09-17 Beth Dakin <Beth Dakin>

Reviewed by Adam Roben.

Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
code crashes Safari
and corresponding: <rdar://problem/6173832>

Reading through the spec, it seems like a function is not valid
input for a counter. So this patch checks for that and bails in the
case of invalid input.

  • css/CSSParser.cpp: (WebCore::CSSParser::parseCounterContent):

LayoutTests:

2008-09-17 Beth Dakin <Beth Dakin>

Reviewed by Adam Roben.

Test for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
code crashes Safari
and corresponding: <rdar://problem/6173832>

  • fast/css/counters/counter-function-input-2-expected.txt: Added.
  • fast/css/counters/counter-function-input-2.html: Added.
  • fast/css/counters/counter-function-input-expected.txt: Added.
  • fast/css/counters/counter-function-input.html: Added.
2:30 PM Changeset in webkit [36558] by hyatt@apple.com
  • 1 edit in trunk/WebCore/plugins/gtk/PluginViewGtk.cpp

Fix Gtk bustage.

2:28 PM Changeset in webkit [36557] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollViewQt.cpp

Fix Qt bustage.

2:17 PM Changeset in webkit [36556] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.base.exp

Fix Mac bustage.

2:16 PM Changeset in webkit [36555] by hyatt@apple.com
  • 1 edit in trunk/WebCore/bindings/js/ScriptControllerQt.cpp

Fix Qt bustage

2:14 PM Changeset in webkit [36554] by Antti Koivisto
  • 2 edits in trunk/WebCore

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

Reviewed by Antti Koivisto.

Fix <rdar://problem/6227089>
Crash in WebCore::Frame::setNeedsReapplyStyles()


View is null checked elsewhere too.

  • page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles):
1:59 PM Changeset in webkit [36553] by hyatt@apple.com
  • 25 edits in trunk

WebCore:

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

Make the notion of having a native widget backing a Widget cross-platform.
The PlatformWidget abstraction (which already existed) is used for this.

Windows = HWND
Qt = QWidget
Mac = NSView
wx = wxWindow
Gtk = GtkWidget

There are new cross-platform methods that replace all of the unique
platform-specific methods.

platformWidget()
setPlatformWidget()

For plugins, on every platform except Qt on Windows, the plugin's native
widget is now stored in the Widget base class. Since Qt on Windows uses
HWNDs for plugins instead of QWidget, it is the only platform to keep the
m_window variable in PluginView.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::createScriptInstanceForWidget):
  • page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper attachmentView]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  • page/mac/EventHandlerMac.mm: (WebCore::EventHandler::passMouseDownEventToWidget): (WebCore::EventHandler::mouseDownViewIfStillGood): (WebCore::EventHandler::passWheelEventToWidget): (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
  • platform/Widget.cpp: (WebCore::Widget::init): (WebCore::Widget::setParent): (WebCore::Widget::releasePlatformWidget): (WebCore::Widget::retainPlatformWidget):
  • platform/Widget.h: (WebCore::Widget::platformWidget): (WebCore::Widget::setPlatformWidget):
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::Widget): (WebCore::Widget::setFocus): (WebCore::gdkDrawable): (WebCore::Widget::setCursor): (WebCore::Widget::show): (WebCore::Widget::hide): (WebCore::Widget::setEnabled): (WebCore::Widget::isEnabled): (WebCore::Widget::paint):
  • platform/mac/PlatformScreenMac.mm: (WebCore::screenRect): (WebCore::screenAvailableRect):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::scrollView): (WebCore::ScrollView::update): (WebCore::ScrollView::inWindow):
  • platform/mac/ScrollbarMac.mm: (WebCore::ScrollbarMac::ScrollbarMac): (WebCore::ScrollbarMac::~ScrollbarMac): (WebCore::ScrollbarMac::updateThumbPosition): (WebCore::ScrollbarMac::updateThumbProportion): (WebCore::ScrollbarMac::scrollbarHit):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::Widget): (WebCore::Widget::setEnabled): (WebCore::Widget::isEnabled): (WebCore::Widget::setFocus): (WebCore::Widget::getOuterView): (WebCore::Widget::paint): (WebCore::Widget::invalidate): (WebCore::Widget::invalidateRect): (WebCore::Widget::setIsSelected): (WebCore::Widget::releasePlatformWidget): (WebCore::Widget::retainPlatformWidget):
  • platform/qt/WidgetQt.cpp: (WebCore::WidgetPrivate::WidgetPrivate): (WebCore::Widget::Widget): (WebCore::Widget::setFrameGeometry): (WebCore::Widget::show): (WebCore::Widget::hide): (WebCore::Widget::isEnabled): (WebCore::Widget::setEnabled): (WebCore::Widget::invalidateRect): (WebCore::Widget::containingWindow):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::Widget):
  • platform/wx/WidgetWx.cpp: (WebCore::Widget::Widget): (WebCore::Widget::frameGeometry): (WebCore::Widget::setFocus): (WebCore::Widget::setCursor): (WebCore::Widget::show): (WebCore::Widget::hide): (WebCore::Widget::setFrameGeometry): (WebCore::Widget::setEnabled): (WebCore::Widget::isEnabled): (WebCore::Widget::invalidate): (WebCore::Widget::invalidateRect): (WebCore::Widget::paint):
  • plugins/PluginView.cpp: (WebCore::PluginView::PluginView):
  • plugins/PluginView.h: (WebCore::PluginView::platformPluginWidget):
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::updateWindow): (WebCore::PluginView::setFocus): (WebCore::PluginView::show): (WebCore::PluginView::hide): (WebCore::PluginView::setParent): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::setParentVisible): (WebCore::PluginView::getValue): (WebCore::PluginView::forceRedraw): (WebCore::PluginView::init):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::updateWindow): (WebCore::PluginView::setFocus): (WebCore::PluginView::show): (WebCore::PluginView::hide): (WebCore::PluginView::setParent): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::setParentVisible): (WebCore::PluginView::getValue): (WebCore::PluginView::~PluginView): (WebCore::PluginView::init):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::updateWindow): (WebCore::PluginView::setFocus): (WebCore::PluginView::show): (WebCore::PluginView::hide): (WebCore::PluginView::paint): (WebCore::PluginView::setParent): (WebCore::PluginView::setParentVisible): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::stop): (WebCore::PluginView::invalidateRect): (WebCore::PluginView::forceRedraw): (WebCore::PluginView::~PluginView): (WebCore::PluginView::init):

WebKit/mac:

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

Make the notion of Widget having an underlying native widget cross-platform.

Reviewed by Sam Weinig

  • WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent):
  • WebView/WebFrame.mm: (-[WebFrame _dragSourceMovedTo:]): (-[WebFrame _dragSourceEndedAt:operation:]):
  • WebView/WebFrameView.mm: (-[WebFrameView _install]):
  • WebView/WebRenderNode.mm: (copyRenderNode):
1:27 PM Changeset in webkit [36552] by mrowe@apple.com
  • 3 edits in branches/Safari-3-2-branch/WebKit/mac

Merge r36126.

1:27 PM Changeset in webkit [36551] by mrowe@apple.com
  • 13 edits in branches/Safari-3-2-branch

Merge r35950.

1:27 PM Changeset in webkit [36550] by mrowe@apple.com
  • 18 edits in branches/Safari-3-2-branch

Merge r32881.

1:27 PM Changeset in webkit [36549] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Versioning.

1:27 PM Changeset in webkit [36548] by mrowe@apple.com
  • 1 edit in branches/Safari-3-2-branch/JavaScriptCore/wtf/Vector.h

Merge new Vector::remove variant from r30593.

1:27 PM Changeset in webkit [36547] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Versioning.

1:17 PM Changeset in webkit [36546] by barraclough@apple.com
  • 1 edit in trunk/JavaScriptCore/VM/Machine.cpp

build fix

1:16 PM Changeset in webkit [36545] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-09-17 Sam Weinig <sam@webkit.org>

Fix assert.

  • platform/Widget.cpp: (WebCore::Widget::setParent):
12:29 PM Changeset in webkit [36544] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Geoff Garen.

Optimizations for op_call in CTI. Move check for (ctiCode == 0) into JIT code,
move copying of scopeChain for CodeBlocks that needFullScopeChain into head of
functions, instead of checking prior to making the call.

3% on v8-tests (4% on richards, 6% in delta-blue)

  • VM/CTI.cpp: (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile):
  • VM/Machine.cpp: (JSC::Machine::execute): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_vm_compile): (JSC::Machine::cti_vm_updateScopeChain): (JSC::Machine::cti_op_construct_JSConstruct):
  • VM/Machine.h:
11:46 AM Changeset in webkit [36543] by hyatt@apple.com
  • 18 edits in trunk/WebCore

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

Beginnings of Widget refactoring (in order to make the mixing of
widgets with and without corresponding native widgets more cross-platform).

This first patch makes the concept of a parent ScrollView cross-platform.

Note the similarity of the show/hide methods on the three PluginViews. This
will be refactored better in a later patch so that they can all share
a base class Widget show/hide method. For now the changes were made
simply to be able to bring WidgetWin's setParent method up into Widget.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • platform/ScrollView.h:
  • platform/Widget.cpp: (WebCore::Widget::init): (WebCore::Widget::setParent):
  • platform/Widget.h: (WebCore::Widget::isSelfVisible): (WebCore::Widget::isParentVisible): (WebCore::Widget::isVisible): (WebCore::Widget::setParentVisible): (WebCore::Widget::isPluginView): (WebCore::Widget::parent): (WebCore::Widget::handleEvent): (WebCore::Widget::geometryChanged):
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::Widget):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::addChild): (WebCore::ScrollView::removeChild):
  • platform/mac/ScrollbarMac.mm: (WebCore::ScrollbarMac::~ScrollbarMac):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::Widget): (WebCore::Widget::~Widget):
  • platform/qt/WidgetQt.cpp: (WebCore::WidgetPrivate::WidgetPrivate): (WebCore::Widget::Widget): (WebCore::Widget::topLevel):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::setAncestorVisible): (WebCore::ScrollView::show): (WebCore::ScrollView::hide):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::Widget): (WebCore::Widget::setParent):
  • platform/wx/WidgetWx.cpp: (WebCore::Widget::Widget):
  • plugins/PluginView.cpp: (WebCore::PluginView::PluginView):
  • plugins/PluginView.h:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::show): (WebCore::PluginView::hide): (WebCore::PluginView::setParentVisible):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::show): (WebCore::PluginView::hide): (WebCore::PluginView::setParentVisible):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::show): (WebCore::PluginView::hide): (WebCore::PluginView::setParentVisible):
11:16 AM ProposedWebInspectorRearchitecting edited by Dimitri Glazkov
added a note on fetchMessages (diff)
11:08 AM ProposedWebInspectorRearchitecting edited by Dimitri Glazkov
minor tweaking of the description. (diff)
11:02 AM ProposedWebInspectorRearchitecting edited by Dimitri Glazkov
added a bit of background description on current InspectorController … (diff)
9:50 AM Changeset in webkit [36542] by ap@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Adam Roben.

<rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0

  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
6:29 AM Changeset in webkit [36541] by vestbo@webkit.org
  • 4 edits in trunk

2008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>

Fix the QtWebKit/Mac build

1:34 AM Changeset in webkit [36540] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix Gtk bustage.

1:17 AM Changeset in webkit [36539] by hyatt@apple.com
  • 7 edits in trunk/WebCore

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

Add a #define to control whether or not to use an NSScroller on Mac.
This ifdef will allow the new NSView-less NSScroller on Mac to be
developed side by side with the current one.

The new scroller paints a debug red if turned on (although due to
Widget issues you won't see anything paint yet).

Reviewed by olliej

  • platform/Scrollbar.cpp:
  • platform/Scrollbar.h:
  • platform/mac/ScrollbarMac.h:
  • platform/mac/ScrollbarMac.mm:
  • platform/mac/ScrollbarThemeMac.cpp: (WebCore::ScrollbarThemeMac::paint):
  • platform/mac/ScrollbarThemeMac.h:
Note: See TracTimeline for information about the timeline view.