WebKit-https.git
12 years agoJavaScriptCore:
mjs@apple.com [Tue, 23 Sep 2008 07:46:55 +0000 (07:46 +0000)]
JavaScriptCore:

2008-09-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - speed up instanceof some more
        https://bugs.webkit.org/show_bug.cgi?id=20818

        ~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.

        - speed up instanceof some more
        https://bugs.webkit.org/show_bug.cgi?id=20818

        ~2% speedup on EarleyBoyer

        (WebCore updates.)

        * bindings/js/JSQuarantinedObjectWrapper.h:
        (WebCore::JSQuarantinedObjectWrapper::createStructureID):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36802 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Darin Adler <darin@apple.com>
oliver@apple.com [Tue, 23 Sep 2008 07:40:49 +0000 (07:40 +0000)]
2008-09-22  Darin Adler  <darin@apple.com>

- fix https://bugs.webkit.org/show_bug.cgi?id=21008
  getting pixels by index from CanvasPixelArray is unnecessarily slow

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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36801 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago No review, build fix only.
eric@webkit.org [Tue, 23 Sep 2008 07:23:14 +0000 (07:23 +0000)]
    No review, build fix only.

        Another blind stab in the dark.

        * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36800 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago No review, build fix only.
eric@webkit.org [Tue, 23 Sep 2008 07:04:11 +0000 (07:04 +0000)]
    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 &

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36799 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Eric Seidel <eric@webkit.org>
eric@webkit.org [Tue, 23 Sep 2008 06:47:51 +0000 (06:47 +0000)]
2008-09-22  Eric Seidel  <eric@webkit.org>

        No review, build fix only.

        * platform/graphics/AffineTransform.cpp: remove extra ;

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36798 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago No review, build fix only.
eric@webkit.org [Tue, 23 Sep 2008 06:38:10 +0000 (06:38 +0000)]
    No review, build fix only.

        Speculative fix for the build while I wait for my compile to finish.

        * platform/graphics/AffineTransform.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36797 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebKit/win:
alice.liu@apple.com [Tue, 23 Sep 2008 06:25:03 +0000 (06:25 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36796 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Dirk Schulze <vbs85@gmx.de>
eric@webkit.org [Tue, 23 Sep 2008 06:05:59 +0000 (06:05 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36795 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Darin Adler <darin@apple.com>
darin@apple.com [Tue, 23 Sep 2008 05:22:22 +0000 (05:22 +0000)]
2008-09-22  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - https://bugs.webkit.org/show_bug.cgi?id=21019
          make FunctionBodyNode::ref/deref fast

        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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36794 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Darin Adler <darin@apple.com>
darin@apple.com [Tue, 23 Sep 2008 05:12:23 +0000 (05:12 +0000)]
2008-09-22  Darin Adler  <darin@apple.com>

        Pointed out by Sam Weinig.

        * kjs/Arguments.cpp:
        (JSC::Arguments::fillArgList): Fix bad copy and paste. Oops!

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36793 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Darin Adler <darin@apple.com>
darin@apple.com [Tue, 23 Sep 2008 04:55:51 +0000 (04:55 +0000)]
2008-09-22  Darin Adler  <darin@apple.com>

        Reviewed by Cameron Zwarich.

        - https://bugs.webkit.org/show_bug.cgi?id=20983
          ArgumentsData should have some room to allocate some extra arguments inline

        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".

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36792 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Alp Toker <alp@nuanti.com>
alp@webkit.org [Tue, 23 Sep 2008 03:08:57 +0000 (03:08 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36791 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFix typo in ChangeLog
weinig@apple.com [Tue, 23 Sep 2008 02:46:31 +0000 (02:46 +0000)]
Fix typo in ChangeLog

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36790 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Sam Weinig <sam@webkit.org>
weinig@apple.com [Tue, 23 Sep 2008 02:44:09 +0000 (02:44 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36789 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Darin Adler <darin@apple.com>
darin@apple.com [Tue, 23 Sep 2008 01:24:31 +0000 (01:24 +0000)]
2008-09-22  Darin Adler  <darin@apple.com>

        * page/mac/FrameMac.mm:
        (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36788 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
weinig@apple.com [Tue, 23 Sep 2008 01:19:56 +0000 (01:19 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36787 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Sam Weinig.
mitz@apple.com [Tue, 23 Sep 2008 00:48:17 +0000 (00:48 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36786 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Alexander Orlov <alexander.orlov@loxal.net>
weinig@apple.com [Mon, 22 Sep 2008 23:18:56 +0000 (23:18 +0000)]
2008-09-22  Alexander Orlov  <alexander.orlov@loxal.net>

        Reviewed by Darin Adler.

        * projects/performance/index.html: Remove dead link to the 24fun test.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36785 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Kelvin Sherlock <ksherlock@gmail.com>
weinig@apple.com [Mon, 22 Sep 2008 23:01:43 +0000 (23:01 +0000)]
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)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36784 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
hyatt@apple.com [Mon, 22 Sep 2008 22:17:40 +0000 (22:17 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36783 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Matt Lilek <webkit@mattlilek.com>
pewtermoose@webkit.org [Mon, 22 Sep 2008 21:59:45 +0000 (21:59 +0000)]
2008-09-22  Matt Lilek  <webkit@mattlilek.com>

        Not reviewed, Windows build fix.

        * kjs/Arguments.cpp:
        * kjs/FunctionPrototype.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36782 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago No review, rollback only.
eric@webkit.org [Mon, 22 Sep 2008 21:44:28 +0000 (21:44 +0000)]
    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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36781 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
mitz@apple.com [Mon, 22 Sep 2008 21:32:14 +0000 (21:32 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36780 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJavaScriptCore:
weinig@apple.com [Mon, 22 Sep 2008 21:20:52 +0000 (21:20 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36779 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 22 Sep 2008 21:04:45 +0000 (21:04 +0000)]
2008-09-22  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - https://bugs.webkit.org/show_bug.cgi?id=20993
          Array.push/pop need optimized cases for JSArray

        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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36778 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Mon, 22 Sep 2008 21:03:02 +0000 (21:03 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36777 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Chris Marrin <cmarrin@apple.com>
simon.fraser@apple.com [Mon, 22 Sep 2008 20:19:53 +0000 (20:19 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36774 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago<rdar://problem/6230234> AXTable should probably not be exposed in there's only one...
cfleizach@apple.com [Mon, 22 Sep 2008 18:47:16 +0000 (18:47 +0000)]
<rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36773 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago<rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behav...
cfleizach@apple.com [Mon, 22 Sep 2008 18:30:36 +0000 (18:30 +0000)]
<rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36772 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
hyatt@apple.com [Mon, 22 Sep 2008 18:21:37 +0000 (18:21 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36771 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Sam Weinig.
mitz@apple.com [Mon, 22 Sep 2008 18:17:57 +0000 (18:17 +0000)]
    Reviewed by Sam Weinig.

        - fix https://bugs.webkit.org/show_bug.cgi?id=21002
          Make the ATSUI code path respect spacingDisabled()

        Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text

        * platform/graphics/mac/FontMacATSUI.mm:
        (WebCore::overrideLayoutOperation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36770 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJavaScriptCore:
mjs@apple.com [Mon, 22 Sep 2008 15:03:52 +0000 (15:03 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36766 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Windows build fix
aroben@apple.com [Mon, 22 Sep 2008 14:31:08 +0000 (14:31 +0000)]
    Windows build fix

        * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36765 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJavaScriptCore:
mjs@apple.com [Mon, 22 Sep 2008 13:59:06 +0000 (13:59 +0000)]
JavaScriptCore:

2008-09-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dave Hyatt.

        Based on initial work by Darin Adler.

        - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
        - use this to JIT inline code for eq_null and neq_null
        https://bugs.webkit.org/show_bug.cgi?id=20823

        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.

        - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
        - use this to JIT inline code for eq_null and neq_null
        https://bugs.webkit.org/show_bug.cgi?id=20823

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36764 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
vestbo@webkit.org [Mon, 22 Sep 2008 13:27:51 +0000 (13:27 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36763 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
vestbo@webkit.org [Mon, 22 Sep 2008 13:27:06 +0000 (13:27 +0000)]
2008-09-22  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon.

        Fix the QtWebKit build

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36762 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 Alp Toker <alp@nuanti.com>
alp@webkit.org [Mon, 22 Sep 2008 08:53:06 +0000 (08:53 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36761 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Mon, 22 Sep 2008 08:36:44 +0000 (08:36 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36760 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-22 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Mon, 22 Sep 2008 07:57:52 +0000 (07:57 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36759 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Mon, 22 Sep 2008 05:54:40 +0000 (05:54 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36758 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 22 Sep 2008 04:07:05 +0000 (04:07 +0000)]
2008-09-21  Darin Adler  <darin@apple.com>

        - blind attempt to fix non-all-in-one builds

        * kjs/JSGlobalObject.cpp: Added includes of Arguments.h and RegExpObject.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36757 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 22 Sep 2008 03:35:07 +0000 (03:35 +0000)]
2008-09-21  Darin Adler  <darin@apple.com>

        - fix debug build

        * kjs/StructureID.cpp:
        (JSC::StructureID::addPropertyTransition): Use typeInfo().type() instead of m_type.
        (JSC::StructureID::createCachedPrototypeChain): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36756 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJavaScriptCore:
mjs@apple.com [Mon, 22 Sep 2008 03:15:52 +0000 (03:15 +0000)]
JavaScriptCore:

2008-09-21  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
        https://bugs.webkit.org/show_bug.cgi?id=20981

        * 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.

        - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
        https://bugs.webkit.org/show_bug.cgi?id=20981

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36755 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 22 Sep 2008 02:12:57 +0000 (02:12 +0000)]
2008-09-21  Darin Adler  <darin@apple.com>

        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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36754 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 22 Sep 2008 00:42:11 +0000 (00:42 +0000)]
2008-09-21  Darin Adler  <darin@apple.com>

        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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36753 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-20 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Mon, 22 Sep 2008 00:33:19 +0000 (00:33 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36752 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 22 Sep 2008 00:18:14 +0000 (00:18 +0000)]
2008-09-21  Darin Adler  <darin@apple.com>

        - 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36751 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Removed unnecessary nested timer check.
sfalken@apple.com [Mon, 22 Sep 2008 00:12:28 +0000 (00:12 +0000)]
    Removed unnecessary nested timer check.

        Rubber-stamped by Dan Bernstein.

        * platform/win/SharedTimerWin.cpp:
        (WebCore::TimerWindowWndProc):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36750 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFix the non-AllInOneFile build.
mrowe@apple.com [Mon, 22 Sep 2008 00:12:14 +0000 (00:12 +0000)]
Fix the non-AllInOneFile build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36749 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Improve timer resolution on WinXP.
sfalken@apple.com [Mon, 22 Sep 2008 00:08:30 +0000 (00:08 +0000)]
    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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36748 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 22 Sep 2008 00:01:21 +0000 (00:01 +0000)]
2008-09-21  Darin Adler  <darin@apple.com>

        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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36747 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 21 Sep 2008 23:08:15 +0000 (23:08 +0000)]
2008-09-21  Darin Adler  <darin@apple.com>

        Reviewed by Maciej Stachowiak.

        - https://bugs.webkit.org/show_bug.cgi?id=20975
          inline immediate-number case of ==

        * 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36746 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Peter Gal <galpter@inf.u-szeged.hu>
eric@webkit.org [Sun, 21 Sep 2008 21:53:59 +0000 (21:53 +0000)]
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)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36745 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 21 Sep 2008 21:36:41 +0000 (21:36 +0000)]
2008-09-21  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        * kjs/debugger.h: Removed some unneeded includes and declarations.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36744 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 21 Sep 2008 21:35:23 +0000 (21:35 +0000)]
2008-09-21  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - https://bugs.webkit.org/show_bug.cgi?id=20972
          speed up Arguments further by eliminating the IndexToNameMap

        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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36743 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 21 Sep 2008 20:41:22 +0000 (20:41 +0000)]
2008-09-21  Darin Adler  <darin@apple.com>

        * VM/CodeGenerator.cpp:
        (JSC::CodeGenerator::emitLoad): One more tweak: Wrote this in a slightly
        clearer style.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36742 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Judit Jasz <jasy@inf.u-szeged.hu>
darin@apple.com [Sun, 21 Sep 2008 20:35:20 +0000 (20:35 +0000)]
2008-09-21  Judit Jasz  <jasy@inf.u-szeged.hu>

        Reviewed and tweaked by Darin Adler.

        - https://bugs.webkit.org/show_bug.cgi?id=20645
          Elminate duplicate constant values in CodeBlocks.

        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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36741 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Paul Pedriana <webkit@pedriana.com>
darin@apple.com [Sun, 21 Sep 2008 20:17:51 +0000 (20:17 +0000)]
2008-09-21  Paul Pedriana  <webkit@pedriana.com>

        Reviewed and tweaked by Darin Adler.

        - https://bugs.webkit.org/show_bug.cgi?id=16925
          Fixed lack of Vector buffer alignment for both GCC and MSVC.
          Since there's no portable way to do this, for now we don't support
          other compilers.

        * wtf/Vector.h: Added WTF_ALIGH_ON, WTF_ALIGNED, AlignedBufferChar, and AlignedBuffer.
        Use AlignedBuffer insteadof an array of char in VectorBuffer.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36740 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJavaScriptCore:
darin@apple.com [Sun, 21 Sep 2008 19:15:19 +0000 (19:15 +0000)]
JavaScriptCore:

2008-09-21  Gabor Loki  <loki@inf.u-szeged.hu>

        Reviewed by Darin Adler.

        - https://bugs.webkit.org/show_bug.cgi?id=19408
          Add lightweight constant folding to the parser for *, /, + (only for numbers), <<, >>, ~ operators.

        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.

        - https://bugs.webkit.org/show_bug.cgi?id=19408
          Add test case for constant folding.

        * fast/js/constant-folding-expected.txt: Added.
        * fast/js/constant-folding.html: Added.
        * fast/js/resources/constant-folding.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36739 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Sun, 21 Sep 2008 10:39:29 +0000 (10:39 +0000)]
2008-09-21  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.

        - speed up === operator by generating inline machine code for the fast paths
        https://bugs.webkit.org/show_bug.cgi?id=20820

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36738 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Dirk Schulze <vbs85@gmx.de>
eric@webkit.org [Sun, 21 Sep 2008 10:37:37 +0000 (10:37 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36737 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Sun, 21 Sep 2008 08:46:05 +0000 (08:46 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36736 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Sun, 21 Sep 2008 08:37:01 +0000 (08:37 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36735 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-21 Dirk Schulze <vbs85@gmx.de>
eric@webkit.org [Sun, 21 Sep 2008 07:59:58 +0000 (07:59 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36734 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Mark Rowe.
mitz@apple.com [Sun, 21 Sep 2008 07:16:29 +0000 (07:16 +0000)]
    Reviewed by Mark Rowe.

        - fix linker warnings

        * WebCore.base.exp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36733 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-20 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 21 Sep 2008 06:50:35 +0000 (06:50 +0000)]
2008-09-20  Darin Adler  <darin@apple.com>

        - another try at fixing Qt

        * bridge/qt/qt_runtime.cpp: "using namespce WebCore"

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36732 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-20 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 21 Sep 2008 06:34:40 +0000 (06:34 +0000)]
2008-09-20  Darin Adler  <darin@apple.com>

        - 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36731 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-20 Collin Jackson <collinj@webkit.org>
collinj@webkit.org [Sun, 21 Sep 2008 06:26:54 +0000 (06:26 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36730 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-20 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 21 Sep 2008 06:21:18 +0000 (06:21 +0000)]
2008-09-20  Darin Adler  <darin@apple.com>

        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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36729 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-20 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Sun, 21 Sep 2008 06:16:21 +0000 (06:16 +0000)]
2008-09-20  Maciej Stachowiak  <mjs@apple.com>

        Not reviewed, build fix.

        - speculative fix for non-AllInOne builds

        * kjs/operations.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36728 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-20 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Sun, 21 Sep 2008 05:54:23 +0000 (05:54 +0000)]
2008-09-20  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - assorted optimizations to === and !== operators
        (work towards <https://bugs.webkit.org/show_bug.cgi?id=20820>)

        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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36727 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJavaScriptCore:
darin@apple.com [Sun, 21 Sep 2008 02:29:12 +0000 (02:29 +0000)]
JavaScriptCore:

2008-09-20  Darin Adler  <darin@apple.com>

        Reviewed by Maciej Stachowiak.

        - finish https://bugs.webkit.org/show_bug.cgi?id=20858
          make each distinct C++ class get a distinct JSC::Structure

        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.

        * JavaScriptCore.exp: Updated.

        * 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@apple.com>

        Reviewed by Maciej Stachowiak.

        - finish https://bugs.webkit.org/show_bug.cgi?id=20858
          make each distinct C++ class get a distinct JSC::Structure

        * 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36726 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRoll out r36719 and attempted build fixes r36121 and r36722 due to massive build...
mrowe@apple.com [Sun, 21 Sep 2008 01:29:08 +0000 (01:29 +0000)]
Roll out r36719 and attempted build fixes r36121 and r36722 due to massive build breakage.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36725 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdded Radar link
mitz@apple.com [Sun, 21 Sep 2008 00:52:41 +0000 (00:52 +0000)]
Added Radar link

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36724 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Eric Seidel.
mitz@apple.com [Sun, 21 Sep 2008 00:49:49 +0000 (00:49 +0000)]
    Reviewed by Eric Seidel.

        - fix https://bugs.webkit.org/show_bug.cgi?id=20950
          Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc

        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
        not include the first character in the extraCharsAvailable count.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36723 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago - Mac build fix
mitz@apple.com [Sun, 21 Sep 2008 00:42:30 +0000 (00:42 +0000)]
    - Mac build fix

        * WebCore.xcodeproj/project.pbxproj: Made DashArray.h a private header.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36722 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdded a file that was missing from r36719
mitz@apple.com [Sun, 21 Sep 2008 00:36:57 +0000 (00:36 +0000)]
Added a file that was missing from r36719

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36721 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdd missing bug reference to ChangeLog.
kevino@webkit.org [Sat, 20 Sep 2008 23:56:57 +0000 (23:56 +0000)]
Add missing bug reference to ChangeLog.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36720 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-20 Dirk Schulze <vbs85@gmx.de>
eric@webkit.org [Sat, 20 Sep 2008 23:46:23 +0000 (23:46 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36719 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Dan Bernstein.
kevino@webkit.org [Sat, 20 Sep 2008 23:39:25 +0000 (23:39 +0000)]
Reviewed by Dan Bernstein.

Fix two memory leaks.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36718 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agowx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
kevino@webkit.org [Sat, 20 Sep 2008 22:31:24 +0000 (22:31 +0000)]
wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36717 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix the new Node Search button image to not be blurry.
timothy@apple.com [Sat, 20 Sep 2008 22:21:59 +0000 (22:21 +0000)]
    Fix the new Node Search button image to not be blurry.

        * page/inspector/Images/nodeSearchButtons.png:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36716 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-20 Matt Lilek <webkit@mattlilek.com>
pewtermoose@webkit.org [Sat, 20 Sep 2008 21:53:43 +0000 (21:53 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36715 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-20 Matt Lilek <webkit@mattlilek.com>
pewtermoose@webkit.org [Sat, 20 Sep 2008 21:53:10 +0000 (21:53 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36714 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-20 Matt Lilek <webkit@mattlilek.com>
pewtermoose@webkit.org [Sat, 20 Sep 2008 21:30:43 +0000 (21:30 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36713 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Eric.
zimmermann@webkit.org [Sat, 20 Sep 2008 20:19:45 +0000 (20:19 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36712 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-20 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 20 Sep 2008 14:36:57 +0000 (14:36 +0000)]
2008-09-20  Darin Adler  <darin@apple.com>

        - 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36711 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-20 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 20 Sep 2008 14:29:36 +0000 (14:29 +0000)]
2008-09-20  Darin Adler  <darin@apple.com>

        * DumpRenderTree/mac/DumpRenderTree.mm:
        (convertMIMEType): Turn on Stephanie's workaround for Tiger too.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36710 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[qtwebkit] ScrollBar build fix after r36684.
zecke@webkit.org [Sat, 20 Sep 2008 14:24:45 +0000 (14:24 +0000)]
[qtwebkit] ScrollBar build fix after r36684.
    BackButtonPart was split into Start and End Part
    ForwardButtonPart was split into Start and End Part

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36709 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[qtwebkit] Make qt_instance.cpp compile.
zecke@webkit.org [Sat, 20 Sep 2008 14:24:27 +0000 (14:24 +0000)]
[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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36708 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[svg] Change SVGLocatable to deal with a plain SVGElement
zecke@webkit.org [Sat, 20 Sep 2008 14:24:10 +0000 (14:24 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36707 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago[svg] Use OwnPtr for the SVGExtensions
zecke@webkit.org [Sat, 20 Sep 2008 14:23:55 +0000 (14:23 +0000)]
[svg] Use OwnPtr for the SVGExtensions
    Use OwnPtr to avoid custom lifetime management.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36706 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-19 Alp Toker <alp@nuanti.com>
alp@webkit.org [Sat, 20 Sep 2008 06:34:35 +0000 (06:34 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36705 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-19 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Sat, 20 Sep 2008 05:17:06 +0000 (05:17 +0000)]
2008-09-19  Stephanie Lewis  <slewis@apple.com>

        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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36704 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-19 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Sat, 20 Sep 2008 05:09:44 +0000 (05:09 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36703 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-19 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Sat, 20 Sep 2008 04:50:21 +0000 (04:50 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36702 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-19 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sat, 20 Sep 2008 04:35:33 +0000 (04:35 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36701 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-20 Alp Toker <alp@nuanti.com>
alp@webkit.org [Sat, 20 Sep 2008 03:43:42 +0000 (03:43 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36700 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Antti & Eric.
zimmermann@webkit.org [Sat, 20 Sep 2008 03:33:43 +0000 (03:33 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36699 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by John Sullivan.
mitz@apple.com [Sat, 20 Sep 2008 03:23:22 +0000 (03:23 +0000)]
    Reviewed by John Sullivan.

        - fix https://bugs.webkit.org/show_bug.cgi?id=20951
          Typo in Position::getInlineBoxAndOffset()
          and add an assertion

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36698 268f45cc-cd09-0410-ab3c-d52691b4dbfc