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

Timeline



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.
Note: See TracTimeline for information about the timeline view.