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

Timeline



Sep 16, 2008:

11:48 PM Changeset in webkit [36538] by hyatt@apple.com
  • 1 edit in trunk/WebKit/qt/Api/qwebpage.cpp

Fix Qt bustage.

11:32 PM Changeset in webkit [36537] by hyatt@apple.com
  • 1 edit in trunk/WebKit/qt/Api/qwebpage.cpp

Fix Qt bustage.

10:50 PM Changeset in webkit [36536] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollbarGtk.h

Fix gtk bustage.

10:06 PM Changeset in webkit [36535] by alp@webkit.org
  • 3 edits in trunk/WebKit/qt

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

Prospective Qt build fix. ScrollBar.h -> Scrollbar.h

  • Api/qwebframe.cpp:
  • Api/qwebpage.cpp:
9:35 PM Changeset in webkit [36534] by hyatt@apple.com
  • 3 edits in trunk/WebKit/qt

Fix Qt build bustage.

9:30 PM Changeset in webkit [36533] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=20854
[GTK] Windows can be not realized in ScrollView::update

Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.

  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::update):
9:22 PM Changeset in webkit [36532] by alp@webkit.org
  • 34 edits
    2 moves in trunk

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

Suggested by Dave Hyatt.

Build fix and cleanup. Rename ScrollBar to Scrollbar.

9:22 PM Changeset in webkit [36531] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/WidgetQt.cpp

Fix Qt build bustage.

8:54 PM Changeset in webkit [36530] by hyatt@apple.com
  • 1 edit in trunk/WebCore/rendering/RenderLayer.cpp

Fix Gtk/Qt build bustage.

8:49 PM Changeset in webkit [36529] by hyatt@apple.com
  • 5 edits in trunk/WebCore

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

Fix Qt build bustage by making moveThumb a member of Scrollbar so that
it can be called from ScrollbarQt.

  • platform/ScrollBar.cpp: (WebCore::Scrollbar::moveThumb): (WebCore::Scrollbar::handleMouseMoveEvent): (WebCore::Scrollbar::handleMousePressEvent):
  • platform/ScrollBar.h:
  • platform/qt/ScrollViewQt.cpp:
  • platform/qt/ScrollbarQt.cpp: (WebCore::Scrollbar::handleContextMenuEvent):
8:17 PM Changeset in webkit [36528] by cwzwarich@webkit.org
  • 6 edits in trunk

2008-09-16 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 20857: REGRESSION (r36427): ASSERTION FAILED: m_refCount >= 0 in RegisterID::deref()
<https://bugs.webkit.org/show_bug.cgi?id=20857>

Fix a problem stemming from the slightly unsafe behaviour of the
CodeGenerator::finalDestination() method by putting the "func" argument
of the emitConstruct() method in a RefPtr in its caller. Also, add an
assertion guaranteeing that this is always the case.

CodeGenerator::finalDestination() is still incorrect and can cause
problems with a different allocator; see bug 20340 for more details.

JavaScriptCore:

  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitConstruct):
  • kjs/nodes.cpp: (JSC::NewExprNode::emitCode):

LayoutTests:

  • fast/js/codegen-temporaries-expected.txt:
  • fast/js/resources/codegen-temporaries.js:
8:17 PM Changeset in webkit [36527] by hyatt@apple.com
  • 23 edits
    5 moves
    2 deletes in trunk

WebCore:

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

Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
now just use Scrollbar.

Reviewed by Sam Weinig

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • page/mac/FrameMac.mm:
  • platform/PopupMenu.h: (WebCore::PopupMenu::scrollbar):
  • platform/ScrollBar.cpp: (WebCore::createNativeScrollbar):
  • platform/ScrollBar.h:
  • platform/gtk/PlatformScrollBar.h: Removed.
  • platform/gtk/PlatformScrollBarGtk.cpp: Removed.
  • platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp. (gtkScrollEventCallback): (ScrollbarGtk::ScrollbarGtk): (ScrollbarGtk::~ScrollbarGtk): (ScrollbarGtk::updateThumbPosition): (ScrollbarGtk::updateThumbProportion): (ScrollbarGtk::setFrameGeometry): (ScrollbarGtk::geometryChanged): (ScrollbarGtk::gtkValueChanged):
  • platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
  • platform/mac/PlatformScrollBar.h: Removed.
  • platform/mac/PlatformScrollBarMac.mm: Removed.
  • platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
  • platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm. (-[WebCoreScrollBar initWithScrollbarMac:]): (-[WebCoreScrollBar detachScrollbarMac]): (WebCore::Scrollbar::createNativeScrollbar): (WebCore::ScrollbarMac::ScrollbarMac): (WebCore::ScrollbarMac::~ScrollbarMac): (WebCore::ScrollbarMac::updateThumbPosition): (WebCore::ScrollbarMac::updateThumbProportion): (WebCore::ScrollbarMac::scrollbarHit):
  • platform/qt/PlatformScrollBar.h: Removed.
  • platform/qt/PlatformScrollBarQt.cpp: Removed.
  • platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp. (WebCore::Scrollbar::handleContextMenuEvent):
  • rendering/HitTestResult.cpp:
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::createScrollbar): (WebCore::RenderLayer::destroyScrollbar):
  • rendering/RenderLayer.h:
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::~RenderListBox): (WebCore::RenderListBox::updateFromElement): (WebCore::RenderListBox::isPointInOverflowControl):
  • rendering/RenderObject.h:
  • rendering/RenderTextControl.cpp:

WebKit/win:

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

Eliminate PlatformScrollbar.

Reviewed by Sam Weinig

  • WebScrollBar.cpp: (WebScrollBar::init):
  • WebScrollBar.h:
7:15 PM Changeset in webkit [36526] by hyatt@apple.com
  • 8 edits in trunk/WebCore

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

Make the scrollbar resizer-dodging logic cross-platform in the
Scrollbar class.

Reviewed by Sam Weinig

  • platform/ScrollBar.cpp: (WebCore::Scrollbar::setFrameGeometry): (WebCore::Scrollbar::setParent): (WebCore::Scrollbar::windowClipRect):
  • platform/ScrollBar.h:
  • platform/ScrollView.h: (WebCore::ScrollView::windowResizerRect): (WebCore::ScrollView::resizerOverlapsContent): (WebCore::ScrollView::adjustOverlappingScrollbarCount):
  • platform/Widget.h: (WebCore::Widget::setParent):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::convertToContainingWindow):
  • platform/win/PlatformScrollBar.h:
  • platform/win/PlatformScrollBarWin.cpp:
5:18 PM Changeset in webkit [36525] by mrowe@apple.com
  • 1 edit
    2 moves in trunk/LayoutTests

Disable fast/js/garbage-collect-after-string-appends.html.

4:04 PM Changeset in webkit [36524] by mrowe@apple.com
  • 2 edits in trunk/LayoutTests

Tweak garbage-collect-after-string-appends.js to not fail when run twice or more in a row.
This will hopefully address the intermittent failures seen on the build bot.

Rubber-stamped by Sam Weinig.

  • fast/js/resources/garbage-collect-after-string-appends.js:
3:28 PM Changeset in webkit [36523] by weinig@apple.com
  • 2 edits in trunk/WebKitTools

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

Reviewed by Mark Rowe.

Add flag to disable running sample on tests that timeout.

  • Scripts/run-webkit-tests:
2:46 PM Changeset in webkit [36522] by dino@apple.com
  • 1 edit
    4 adds in trunk/LayoutTests

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

Reviewed by Dan Bernstein.

New tests for keyframe animations
https://bugs.webkit.org/show_bug.cgi?id=20891

  • animations/keyframes-expected.txt: Added.
  • animations/keyframes-out-of-order-expected.txt: Added.
  • animations/keyframes-out-of-order.html: Added.
  • animations/keyframes.html: Added.
1:43 PM Changeset in webkit [36521] by beidson@apple.com
  • 4 edits in trunk/LayoutTests

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

Reviewed by Sam Weinig

Update layout test results for tests changed by http://trac.webkit.org/changeset/35799


  • platform/mac-leopard/security/block-test-expected.txt:
  • platform/mac/webarchive/loading/cache-expired-subresource-expected.txt:
  • security/block-test-expected.txt:
1:15 PM Changeset in webkit [36520] by Simon Fraser
  • 3 edits in trunk/LayoutTests

2008-09-16 Simon Fraser <Simon Fraser>

Reviewed by Mark Rowe

Fix test cases that call notifyDone() twice
https://bugs.webkit.org/show_bug.cgi?id=20884

  • animations/change-one-anim.html:

Only respond to one of the two running animations, to avoid
doing things twice.
https://bugs.webkit.org/show_bug.cgi?id=20881

  • svg/custom/gradient-attr-update.svg:

Fix the test to not run code both on an onload handler,
and on the synthetic click handler.
https://bugs.webkit.org/show_bug.cgi?id=20884

12:40 PM Changeset in webkit [36519] by Adam Roben
  • 5 edits in trunk/WebKitTools

Windows build fix after r36511

Update for rename of layoutTestController to gLayoutTestController.

  • DumpRenderTree/LayoutTestController.cpp:
  • DumpRenderTree/win/EditingDelegate.cpp:
  • DumpRenderTree/win/FrameLoadDelegate.cpp:
  • DumpRenderTree/win/ResourceLoadDelegate.cpp:
  • DumpRenderTree/win/UIDelegate.cpp:
12:32 PM Changeset in webkit [36518] by alice.liu@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-16 Alice Liu <alice.liu@apple.com>

build fix.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
11:47 AM Changeset in webkit [36517] by Adam Roben
  • 1 edit
    1 add in trunk/WebKitTools

Add a script to print out the dependency tree of a Visual Studio solution file

  • Scripts/print-msvc-project-dependencies: Added.
11:01 AM Changeset in webkit [36516] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

Fix the build.

  • DumpRenderTree/LayoutTestController.cpp: (notifyDoneCallback): Call fprintf in a safer manner.
10:40 AM Changeset in webkit [36515] by mitz@apple.com
  • 6 edits in trunk

WebCore:

Reviewed by Darin Adler.

Covered by fast/repaint/4776765.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it did not have layout in the beginning. (WebCore::RenderBlock::layoutBlockChildren): If a child did not have layout in the beginning, repaint it in its new position, to compensate for the above (regardless of whether it "moved").
  • rendering/RenderObject.cpp: (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment about generalizing this fix in the future.

LayoutTests:

Reviewed by Darin Adler.

  • platform/mac/fast/repaint/4776765-expected.checksum:
  • platform/mac/fast/repaint/4776765-expected.png:
10:40 AM Changeset in webkit [36514] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

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

Reviewed by Geoff Garen.

CTI code generation for op_ret. The majority of the work
(updating variables on the stack & on exec) can be performed
directly in generated code.

We still need to check, & to call out to C-code to handle
activation records, profiling, and full scope chains.

+1.5% Sunspider, +5/6% v8 tests.

  • VM/CTI.cpp: (JSC::CTI::emitPutCTIParam): (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileMainPass):
  • VM/CTI.h:
  • VM/Machine.cpp: (JSC::Machine::cti_op_ret_activation): (JSC::Machine::cti_op_ret_profiler): (JSC::Machine::cti_op_ret_scopeChain):
  • VM/Machine.h:
10:34 AM Changeset in webkit [36513] by mitz@apple.com
  • 5 edits
    8 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

Test: fast/block/basic/quirk-percent-height-grandchild.html

Test: fast/replaced/percent-height-in-anonymous-block.html

Added a two-way mapping between boxes with percentage heights and
their non-parent ancestors up to the one the height is computed relative
to. In quirks mode (the first bug), this can be any number of containing
block with auto height. In strict mode (the second bug) this can be
the containing block of an anonymous block containing a replaced
element.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the mapping to/from this block to percentage-height descendants. (WebCore::RenderBlock::layoutBlockChildren): Added code to mark percentage-height descendants (and their containing block ancestry chain up to this block) for layout. This ensures that those descendants whose height depends on the height of this block (or an ancestor) are updated. (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes a two-way mapping between this block and the given box. (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes all the mapping to/from this box.
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::setStyle): Added calls to removePercentHeightDescendant() when style changes and the box previously had a percentage height. An exception is when the style change does not require layout, in which case the box still has a percentage height and the mappings are valid. In all other cases, any required mappings will be (re-)established during layout. (WebCore::RenderBox::destroy): Added a call to removePercentHeightDescendant. (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks mode, if a higher-than-parent containing block is affecting the box's height, creates a mapping between the box and that block. (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over anonymous containing blocks, if any, and when that happens, use addPercentHeightDescendant() to ensure that the non-anonymous block is aware of the dependent percent-height box.

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/block/basic/quirk-percent-height-grandchild.html: Added.
  • fast/replaced/percent-height-in-anonymous-block.html: Added.
  • platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.checksum: Added.
  • platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.png: Added.
  • platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.txt: Added.
  • platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.checksum: Added.
  • platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.png: Added.
  • platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.txt: Added.
10:27 AM Changeset in webkit [36512] by Simon Fraser
  • 4 edits in trunk/WebKitTools

2008-09-16 Simon Fraser <Simon Fraser>

Reviewed by Eric Seidel

Protect against tests that call layoutTestController.notifyDone()
more than once, which would lead to memory corruption, by nulling
out the LayoutTestController on the JSObjectRef on destruction. Also
add a finalize callback on the class so that if the LTC outlives
the JSObjectRef, the JSObjectRef backpointer on the LTC can be
nulled out.

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

10:22 AM Changeset in webkit [36511] by Simon Fraser
  • 12 edits in trunk/WebKitTools

2008-09-16 Simon Fraser <Simon Fraser>

Reviewed by Eric Seidel

Step 1 patch: rename global variable for clarity.
https://bugs.webkit.org/show_bug.cgi?id=20875

10:02 AM Changeset in webkit [36510] by mrowe@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fix typo in Dimitri's email address.

9:59 AM Changeset in webkit [36509] by mrowe@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-09-16 Dimitri Glazkov <dlglazkov@chromium.org>

Fix the Windows build.

Add some extra parentheses to stop MSVC from complaining so much.

  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_stricteq): (JSC::Machine::cti_op_nstricteq):
  • kjs/operations.cpp: (JSC::strictEqual):
9:59 AM Changeset in webkit [36508] by alp@webkit.org
  • 3 edits in trunk/WebCore

2008-09-16 Dirk Schulze <vbs85@gmx.de>

Reviewed by Oliver Hunt and Alp Toker.

Implemented toDataURL in Cairo. Only PNG support
at the moment.

Qt, Cairo and wx require toDataURL implementations
https://bugs.webkit.org/show_bug.cgi?id=17719

  • platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypesForEncoding):
  • platform/graphics/cairo/ImageBufferCairo.cpp: (WebCore::ImageBuffer::ImageBuffer): (WebCore::writeFunction): (WebCore::ImageBuffer::toDataURL):
9:47 AM Changeset in webkit [36507] by vestbo@webkit.org
  • 1 edit in trunk/WebCore/rendering/RenderMedia.cpp

Revert r36505 ("Only forward events to media element controls if they are visible")

Sorry, it snuck in while trying to commit something else.

9:45 AM Changeset in webkit [36506] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Hide unused media element controls in the QtWebKit port

9:40 AM Changeset in webkit [36505] by vestbo@webkit.org
  • 1 edit in trunk/WebCore/rendering/RenderMedia.cpp

Only forward events to media element controls if they are visible

9:12 AM Changeset in webkit [36504] by mrowe@apple.com
  • 1 copy in branches/Safari-3-2-branch

New branch.

7:19 AM Changeset in webkit [36503] by Simon Hausmann
  • 2 edits in trunk/WebCore

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

Reviewed by Simon.

Fix compilation of the Qt scrollbar code.

7:15 AM Changeset in webkit [36502] by treat@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Anders Carlsson.

Prevent accesses off of the end of the buffer introduced in r36450
and when checking for descriptions of mime. Also, coding style fix.

5:34 AM WikiStart edited by lkcl@lkcl.net
(diff)
5:29 AM ApplicationsGtk edited by lkcl@lkcl.net
(diff)
4:12 AM Changeset in webkit [36501] by rwlbuis@webkit.org
  • 5 edits
    4 adds in trunk

Reviewed by Eric.

https://bugs.webkit.org/show_bug.cgi?id=20634
SVG transform attribute is ignored by <use> in <clipPath>

Transform the paths with the local transform when part
of a clip path.

Test: svg/custom/use-clipped-transform.svg

4:07 AM Changeset in webkit [36500] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

2008-09-16 Anders Carlsson <andersca@apple.com>

Reviewed by Cameron Zwarich.

Move more instance variables down to the C++ class.

  • Plugins/WebBaseNetscapePluginStream.h: (WebNetscapePluginStream::WebNetscapePluginStream):
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream dealloc]): (-[WebBaseNetscapePluginStream finalize]): (-[WebBaseNetscapePluginStream transferMode]): (-[WebBaseNetscapePluginStream plugin]): (-[WebBaseNetscapePluginStream setPlugin:]): (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): (-[WebBaseNetscapePluginStream wantsAllStreams]): (-[WebBaseNetscapePluginStream _destroyStream]): (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): (-[WebBaseNetscapePluginStream _deliverData]): (-[WebBaseNetscapePluginStream _deliverDataToFile:]): (-[WebBaseNetscapePluginStream finishedLoading]): (-[WebBaseNetscapePluginStream receivedData:]):
2:48 AM Changeset in webkit [36499] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

2008-09-16 Anders Carlsson <andersca@apple.com>

Reviewed by Dave Hyatt.

Move a bunch of instance variables into the C++ class.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): (-[WebBaseNetscapePluginStream errorForReason:]): (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream dealloc]): (-[WebBaseNetscapePluginStream setRequestURL:]): (-[WebBaseNetscapePluginStream setResponseURL:]): (-[WebBaseNetscapePluginStream setMIMEType:]): (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): (-[WebBaseNetscapePluginStream _destroyStream]): (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): (-[WebBaseNetscapePluginStream _deliverData]): (-[WebBaseNetscapePluginStream receivedData:]):
2:47 AM Changeset in webkit [36498] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/PlatformScrollBar.h

Fix Qt build bustage in PlatformScrollbarQt.cpp

2:33 AM Changeset in webkit [36497] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

2008-09-16 Anders Carlsson <andersca@apple.com>

Reviewed by Dave Hyatt.

Add a new WebNetscapePluginStream C++ class. The idea is that it is supposed to replace the Obj-C
WebBaseNetscapePluginStream class. The plan is to gradually move/rewrite code from the Obj-C class to the C++ class
until the C++ class can replace the Obj-C class.


  • Plugins/WebBaseNetscapePluginStream.h: (WebNetscapePluginStream::create): (WebNetscapePluginStream::WebNetscapePluginStream):
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream initWithFrameLoader:]): (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream dealloc]): (-[WebBaseNetscapePluginStream finalize]):
2:27 AM Changeset in webkit [36496] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollbarThemeQt.cpp

Fix Qt build bustage in ScrollbarThemeQt.cpp

2:21 AM Changeset in webkit [36495] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/PlatformScrollBar.h

Speculative fix for scrollbar issues on GTK.

2:17 AM Changeset in webkit [36494] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollbarThemeQt.cpp

Fix Qt build bustage in ScrollbarThemeQt.cpp

2:16 AM Changeset in webkit [36493] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollbarThemeQt.cpp

Fix Qt build bustage in ScrollbarThemeQt.cpp

2:15 AM Changeset in webkit [36492] by andersca@apple.com
  • 5 edits in trunk/WebKit/mac

2008-09-16 Anders Carlsson <andersca@apple.com>

Reviewed by Dave Hyatt.

Instead of storing a pointer to NPP method individually, just store a pointer to the NPNetscapeFuncs vtable.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream setPlugin:]): (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): (-[WebBaseNetscapePluginStream wantsAllStreams]): (-[WebBaseNetscapePluginStream _destroyStream]): (-[WebBaseNetscapePluginStream _deliverData]):
  • Plugins/WebNetscapePluginPackage.h:
  • Plugins/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage pluginFuncs]):
2:11 AM Changeset in webkit [36491] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/PlatformScrollBarQt.cpp

Fix Qt build bustage in PlatformScrollbarQt.cpp

2:06 AM Changeset in webkit [36490] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

2008-09-16 Anders Carlsson <andersca@apple.com>

Reviewed by Dave Hyatt.

Remove references to WebNetscapePluginStream.


  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebNetscapePluginEmbeddedView.h:
2:00 AM Changeset in webkit [36489] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/LocalizedStringsGtk.cpp

Fix GTK bustage. Maybe. Cleaning up after Chris Fleizach's checkin...

Sep 15, 2008:

11:53 PM Changeset in webkit [36488] by hyatt@apple.com
  • 13 edits in trunk/WebCore

Convert Qt to ScrollbarTheme. Add cross-platform support for jumping a scrollbar thumb directly to a position on the track (Shift+Click on Windows, Middle Click on Qt)

11:48 PM Changeset in webkit [36487] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/Localizations.cpp

Fix Qt build bustage in Localizations.

11:39 PM Changeset in webkit [36486] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac

Reviewed by Dave Hyatt.

  • WebView/WebFrame.mm: (-[WebFrame _getVisibleRect:]): Changed to check if the RenderPart has layout before accessing it, instead of checking if the frame inside it has layout.
11:14 PM Changeset in webkit [36485] by dsmith@webkit.org
  • 10 edits
    2 adds in trunk/WebCore

2008-09-15 David Smith <catfish.man@gmail.com>

Reviewed by Sam Weinig.


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


Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.

  • GNUmakefile.am: Add CSSNthSelector
  • WebCore.pro: Add CSSNthSelector
  • WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
  • WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
  • css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
  • css/CSSNthSelector.cpp: Added. (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
  • css/CSSNthSelector.h: Added. (WebCore::CSSNthSelector::CSSNthSelector): (WebCore::CSSNthSelector::~CSSNthSelector):
  • css/CSSParser.cpp: (WebCore::CSSParser::createFloatingNthSelector):
  • css/CSSParser.h:
  • css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector (WebCore::CSSSelector::CSSSelector):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
11:12 PM Changeset in webkit [36484] by oliver@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Complete my previous changelog entry

11:08 PM Changeset in webkit [36483] by mjs@apple.com
  • 5 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.


  • speed up the === and !== operators by choosing the fast cases better


No effect on SunSpider but speeds up the V8 EarlyBoyer benchmark about 4%.

  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_stricteq): (JSC::Machine::cti_op_nstricteq):
  • kjs/JSImmediate.h: (JSC::JSImmediate::areBothImmediate):
  • kjs/operations.cpp: (JSC::strictEqual): (JSC::strictEqualSlowCase):
  • kjs/operations.h:
11:06 PM Changeset in webkit [36482] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Coding style cleanup.

RS=Sam

10:54 PM Changeset in webkit [36481] by alice.liu@apple.com
  • 2 edits in trunk/WebKitTools

2008-09-15 Alice Liu <alice.liu@apple.com>

A change needed to make PPC bots pass accessibility/table-cell-spans.html layout test

Reviewed by Stephanie Lewis.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm: Calling -[NSValue rangeValue] on nil object was returning bogus results on PPC, but not Intel. Add a check for nil before calling. (AccessibilityUIElement::rowIndexRange): (AccessibilityUIElement::columnIndexRange):
10:53 PM Changeset in webkit [36480] by oliver@apple.com
  • 8 edits in trunk/JavaScriptCore

Bug 20874: op_resolve does not do any form of caching
<https://bugs.webkit.org/show_bug.cgi?id=20874>

Reviewed by Cameron Zwarich

This patch adds an op_resolve_global opcode to handle (and cache)
property lookup we can statically determine must occur on the global
object (if at all).

3% progression on sunspider, 3.2x improvement to bitops-bitwise-and, and
10% in math-partial-sums

10:39 PM Changeset in webkit [36479] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

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

Roll out r36478. It did little to help the issue either.

  • fast/js/resources/garbage-collect-after-string-appends.js:
10:14 PM Changeset in webkit [36478] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

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

Avoid the single character optimization.

  • fast/js/resources/garbage-collect-after-string-appends.js:
9:34 PM Changeset in webkit [36477] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

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

Roll out r36476. It did little to help the issue.

  • fast/js/resources/garbage-collect-after-string-appends.js:
8:59 PM Changeset in webkit [36476] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

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

Make this test a little more forgiving.

  • fast/js/resources/garbage-collect-after-string-appends.js:
8:46 PM Changeset in webkit [36475] by weinig@apple.com
  • 9 edits in trunk/JavaScriptCore

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

Roll out r36462. It broke document.all.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/CTI.h:
  • VM/Machine.cpp: (JSC::Machine::Machine): (JSC::Machine::cti_op_eq_null): (JSC::Machine::cti_op_neq_null):
  • VM/Machine.h: (JSC::Machine::isJSString):
  • kjs/JSCell.h:
  • kjs/JSWrapperObject.h:
  • kjs/StringObject.h:
  • kjs/StringObjectThatMasqueradesAsUndefined.h:
8:27 PM Changeset in webkit [36474] by weinig@apple.com
  • 1 edit
    1 delete in trunk/LayoutTests

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

http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase.html
now passes on Leopard in 10.5.5.

  • platform/mac-leopard/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt: Removed.
7:46 PM Changeset in webkit [36473] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

2008-09-15 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Clean up some inspector JS callbacks to remove an extra return.

  • page/InspectorController.cpp: (WebCore::hideDOMNodeHighlight): (WebCore::loaded): (WebCore::unloading): (WebCore::attach): (WebCore::detach): (WebCore::startDebuggingAndReloadInspectedPage): (WebCore::stopDebugging): (WebCore::debuggerAttached): (WebCore::pauseOnExceptions): (WebCore::pauseInDebugger): (WebCore::resumeDebugger): (WebCore::stepOverStatementInDebugger): (WebCore::stepIntoStatementInDebugger): (WebCore::stepOutOfFunctionInDebugger): (WebCore::isWindowVisible): (WebCore::closeWindow):
7:44 PM Changeset in webkit [36472] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-15 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 20863: ASSERTION FAILED: addressOffset < instructions.size() in CodeBlock::getHandlerForVPC
<https://bugs.webkit.org/show_bug.cgi?id=20863>

r36427 changed the number of arguments to op_construct without changing
the argument index for the vPC in the call to initializeCallFrame() in
the CTI case. This caused a JSC test failure. Correcting the argument
index fixes the test failure.

  • VM/Machine.cpp: (JSC::Machine::cti_op_construct_JSConstruct):
7:30 PM Changeset in webkit [36471] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebCoreSupport/WebChromeClient.cpp

Scrollbars on Windows are now completely under the control of their theme classes. It is now possible to switch between Aqua scrollbars and native scrollbars via a preferences setting (the same one used for controls.

7:29 PM Changeset in webkit [36470] by hyatt@apple.com
  • 12 edits
    1 delete in trunk/WebCore

Scrollbars on Windows are now completely under the control of their theme classes. It is now possible to switch between Aqua scrollbars and native scrollbars via a preferences setting (the same one used for controls.

6:34 PM Changeset in webkit [36469] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix GCC 4.2 build.

5:46 PM Changeset in webkit [36468] by dino@apple.com
  • 1 edit
    4 adds in trunk/LayoutTests

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

Reviewed by Dave Hyatt.

Make transform animation behavior match spec
https://bugs.webkit.org/show_bug.cgi?id=20770

  • transitions/transform-op-list-match-expected.txt: Added.
  • transitions/transform-op-list-match.html: Added.
  • transitions/transform-op-list-no-match-expected.txt: Added.
  • transitions/transform-op-list-no-match.html: Added.
5:17 PM Changeset in webkit [36467] by Chris Fleizach
  • 22 edits
    5 adds in trunk

<rdar://problem/4003789> Expose lists as AXList
<rdar://problem/5707399> VO: Definition lists not announced in Safari

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

Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
Inside the definition list, each <dt> "term" has an accessibility description ("term"),
as does each <dd> tag ("definition")

5:01 PM Changeset in webkit [36466] by Nikolas Zimmermann
  • 47 edits
    2 deletes in trunk/WebCore

Reviewed by Eric.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.

Several renames:
dispatchHTMLEvent -> dispatchEventForType
setHTMLEventListener -> setEventListenerForType
getHTMLEventListener -> eventListenerForType
removeHTMLEventListener -> removeEventListenerForType
isHTMLEventListener -> isAttachedToEventTargetNode
...

Similar renames for the dispatch/get/set/*Window*Event functions.
Kill JSSVGLazyEventListener and merge with JSLazyEventListener.

Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.

setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
SVG is able to use the code as well now. This affects most files in html/.

No functional changes.

4:44 PM Changeset in webkit [36465] by hyatt@apple.com
  • 8 edits in trunk/WebCore

Switch PlatformScrollbarWin's hit testing to use ScrollbarTheme. The file is now nearly completely empty. PlatformScrollbarSafari and PlatformScrollbarQt still need to be converted.

4:38 PM Changeset in webkit [36464] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.


Fixed a typo in op_get_by_id_chain that caused it to miss every time
in the interpreter.


Also, a little cleanup.

  • VM/Machine.cpp: (JSC::Machine::privateExecute): Set up baseObject before entering the loop, so we compare against the right values.
4:37 PM Changeset in webkit [36463] by ggaren@apple.com
  • 8 edits in trunk/JavaScriptCore

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

Reviewed by Sam Weinig.


Removed the CalledAsConstructor flag from the call frame header. Now,
we use an explicit opcode at the call site to fix up constructor results.

SunSpider says 0.4% faster.


cti_op_construct_verify is an out-of-line function call for now, but we
can fix that once StructureID holds type information like isObject.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): Codegen for the new opcode.
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: Codegen for the new opcode. Also... (JSC::CodeGenerator::emitCall): ... don't test for known non-zero value. (JSC::CodeGenerator::emitConstruct): ... ditto.
  • VM/Machine.cpp: No more CalledAsConstructor (JSC::Machine::privateExecute): Implementation for the new opcode. (JSC::Machine::cti_op_ret): The speedup: no need to check whether we were called as a constructor. (JSC::Machine::cti_op_construct_verify): Implementation for the new opcode.
  • VM/Machine.h:
  • VM/Opcode.h: Declare new opcode.
  • VM/RegisterFile.h: (JSC::RegisterFile::): No more CalledAsConstructor
4:33 PM Changeset in webkit [36462] by barraclough@apple.com
  • 9 edits in trunk/JavaScriptCore

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

Reviewed by Geoff Garen.

Inline code generation of eq_null/neq_null for CTI. Uses vptr checking for
StringObjectsThatAreMasqueradingAsBeingUndefined. In the long run, the
masquerading may be handled differently (through the StructureIDs - see bug
#20823).

1% on v8-tests.

  • VM/CTI.cpp: (JSC::CTI::emitJumpSlowCaseIfIsJSCell): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/CTI.h:
  • VM/Machine.cpp: (JSC::Machine::Machine): (JSC::Machine::cti_op_eq_null): (JSC::Machine::cti_op_neq_null):
  • VM/Machine.h: (JSC::Machine::doesMasqueradesAsUndefined):
  • kjs/JSWrapperObject.h: (JSC::JSWrapperObject::): (JSC::JSWrapperObject::JSWrapperObject):
  • kjs/StringObject.h: (JSC::StringObject::StringObject):
  • kjs/StringObjectThatMasqueradesAsUndefined.h: (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
4:08 PM Changeset in webkit [36461] by dsmith@webkit.org
  • 2 edits in trunk/WebCore

2008-09-15 David Smith <catfish.man@gmail.com>

"Just do it"'d by Mark Rowe

https://bugs.webkit.org/show_bug.cgi?id=20856
Add missing license header

  • dom/NodeRenderStyle.h:
3:17 PM Changeset in webkit [36460] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-15 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Rubber-stamped by Oliver Hunt.

r36427 broke CodeBlock::dump() by changing the number of arguments to
op_construct without changing the code that prints it. This patch fixes
it by printing the additional argument.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
2:52 PM Changeset in webkit [36459] by dino@apple.com
  • 3 edits
    2 adds in trunk

2008-09-15 Dean Jackson <dino@apple.com>

Reviewed by Tim Hatcher.

Add default constructor for ShadowData
https://bugs.webkit.org/show_bug.cgi?id=20757

Test: transitions/shadow.html

  • rendering/style/RenderStyle.h:
2:40 PM Changeset in webkit [36458] by dino@apple.com
  • 2 edits in trunk/WebCore

2008-09-15 Dean Jackson <dino@apple.com>

Reviewed by Tim Hatcher.

RenderStyle should update keyframes.
http://bugs.webkit.org/show_bug.cgi?id=20756

  • rendering/style/RenderStyle.cpp: (WebCore::StyleRareNonInheritedData::updateKeyframes):
2:31 PM Changeset in webkit [36457] by dino@apple.com
  • 2 edits in trunk/WebCore

2008-09-15 Dean Jackson <dino@apple.com>

Reviewed by Tim Hatcher.

Unnecessary ASSERT in ImplicitAnimation destructor.
https://bugs.webkit.org/show_bug.cgi?id=20817

  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::~ImplicitAnimation):
2:27 PM Changeset in webkit [36456] by andersca@apple.com
  • 7 edits
    2 deletes in trunk/WebKit

WebKit:

2008-09-15 Anders Carlsson <andersca@apple.com>

Reviewed by Mitz.

Merge WebNetscapePluginStream into WebBaseNetscapePluginStream.


  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

2008-09-15 Anders Carlsson <andersca@apple.com>

Reviewed by Mitz.

Merge WebNetscapePluginStream into WebBaseNetscapePluginStream.

  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream initWithFrameLoader:]): (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream dealloc]): (-[WebBaseNetscapePluginStream finalize]): (-[WebBaseNetscapePluginStream start]): (-[WebBaseNetscapePluginStream stop]): (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView pluginView:receivedResponse:]): (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
  • Plugins/WebNetscapePluginEmbeddedView.mm:
  • Plugins/WebNetscapePluginStream.h: Removed.
  • Plugins/WebNetscapePluginStream.mm: Removed.
2:22 PM Changeset in webkit [36455] by dino@apple.com
  • 2 adds in trunk/LayoutTests/transforms/2d/resources

Oops. Forgot this file in previous commit.

2:21 PM Changeset in webkit [36454] by dino@apple.com
  • 1 edit
    16 adds in trunk/LayoutTests

2008-09-15 Dean Jackson <dino@apple.com>

Reviewed by Tim Hatcher.

Tests for -webkit-transform
https://bugs.webkit.org/show_bug.cgi?id=20771

  • transforms/2d/compound-2d-transforms-expected.txt: Added.
  • transforms/2d/compound-2d-transforms.html: Added.
  • transforms/2d/compound-transforms-vs-containers.html: Added.
  • transforms/2d/transform-2d-expected.txt: Added.
  • transforms/2d/transform-2d.html: Added.
  • transforms/2d/transform-accuracy-expected.txt: Added.
  • transforms/2d/transform-accuracy.html: Added.
  • transforms/2d/transform-borderbox.html: Added.
  • transforms/2d/transform-origin-borderbox.html: Added.
  • transforms/2d/resources/transform-test-utils.js: Added.
  • platform/mac/transforms/2d/compound-transforms-vs-containers-expected.txt: Added.
  • platform/mac/transforms/2d/transform-borderbox-expected.txt: Added.
  • platform/mac/transforms/2d/transform-origin-borderbox-expected.txt: Added.
2:06 PM Changeset in webkit [36453] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/win/ScrollbarThemeWin.cpp

Fix Win build bustage.

2:02 PM Changeset in webkit [36452] by treat@webkit.org
  • 2 edits in trunk/WebKit/qt

Reviewed by Simon.

Yahoo assumes non-RFC compliant HTTP redirect behaviour. QtWebKit is (more)
compliant, so broken. I think the Yahoo-assumed behaviour is real-world standard.

Basically, Yahoo's login procedure for flickr looks like this:

  1. load flickr.com, click "sign in"
  2. this is a Yahoo page with a form

(https://login.yahoo.com/config/login?.src=flickr...)
when you click the "Sign In" button, the form submits to a yahoo.com POST URL

  1. The POST returns with a 302 (redirect) to another yahoo.com URL
  2. If you POST the redirected Location:, it all breaks. Yahoo assumes you will

convert the method to GET, which works fine but is definitely not
RFC-compliant. It would be compliant for 303, and the RFC says that many
implementations treat 302 and 303 the same way (for HTTP/1.0 compliance), but
converting to GET is explicitly wrong for 302.

1:59 PM Changeset in webkit [36451] by dino@apple.com
  • 1 edit
    7 adds in trunk/LayoutTests

2008-09-15 Dean Jackson <dino@apple.com>

Reviewed by Tim Hatcher

Tests for animations.
https://bugs.webkit.org/show_bug.cgi?id=20789

  • animations/animation-test-helpers.js: Added.
  • animations/generic-from-to-expected.txt: Added.
  • animations/generic-from-to.html: Added.
  • animations/multiple-animations-expected.txt: Added.
  • animations/multiple-animations.html: Added.
  • animations/multiple-keyframes-expected.txt: Added.
  • animations/multiple-keyframes.html: Added.
1:53 PM Changeset in webkit [36450] by treat@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Simon.

Fix plugin extension info. It was returning the mimetype where the
extension was given.

1:40 PM Changeset in webkit [36449] by dino@apple.com
  • 2 edits in trunk/WebCore

2008-09-15 Dean Jackson <dino@apple.com>

Reviewed by Tim Hatcher

Coding style violation!!!! Cleanup AnimationBase.cpp

  • page/animation/AnimationBase.cpp: (WebCore::blendFunc):
1:03 PM Changeset in webkit [36448] by hyatt@apple.com
  • 9 edits in trunk/WebCore

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

Move all hit testing code for scrollbars into the base class. Refactor
it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
functions.

No platform is using this code yet. Although it has been moved and compiles
(even on Mac), it is not being used on any platform.

Reviewed by Sam Weinig

  • platform/ScrollBar.cpp: (WebCore::Scrollbar::autoscrollPressedPart): (WebCore::Scrollbar::startTimerIfNeeded): (WebCore::Scrollbar::handleMouseMoveEvent): (WebCore::Scrollbar::handleMouseOutEvent): (WebCore::Scrollbar::handleMouseReleaseEvent): (WebCore::Scrollbar::handleMousePressEvent):
  • platform/ScrollBar.h: (WebCore::Scrollbar::handleContextMenuEvent):
  • platform/ScrollbarTheme.h: (WebCore::ScrollbarTheme::hitTest): (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit): (WebCore::ScrollbarTheme::invalidatePart): (WebCore::ScrollbarTheme::shouldCenterOnThumb): (WebCore::ScrollbarTheme::centerOnThumb): (WebCore::ScrollbarTheme::thumbPosition): (WebCore::ScrollbarTheme::thumbLength): (WebCore::ScrollbarTheme::trackLength): (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay): (WebCore::ScrollbarTheme::autoscrollTimerDelay):
  • platform/Widget.h: (WebCore::Widget::parent):
  • platform/mac/PlatformScrollBar.h: (WebCore::PlatformScrollbar::handleMouseMoveEvent): (WebCore::PlatformScrollbar::handleMouseOutEvent): (WebCore::PlatformScrollbar::handleMousePressEvent): (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::convertFromContainingWindow):
  • platform/win/ScrollbarThemeWin.cpp: (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
  • platform/win/ScrollbarThemeWin.h:
11:48 AM Changeset in webkit [36447] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • fix <rdar://problem/5842247> Single long breakable word takes O(n2) to lay out

Cache the next breakable position for text nodes in InlineIterator.

  • rendering/bidi.cpp: (WebCore::InlineIterator::InlineIterator): (WebCore::InlineIterator::increment): (WebCore::RenderBlock::findNextLineBreak):
10:10 AM Changeset in webkit [36446] by Simon Fraser
  • 2 edits in trunk/WebCore

2008-09-15 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

Fix assertion and integral pixel issue when creating subimages.
https://bugs.webkit.org/show_bug.cgi?id=20786

  • platform/graphics/cg/ImageCG.cpp: (WebCore::BitmapImage::draw):
8:16 AM Changeset in webkit [36445] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Build fix

  • kjs/StructureID.cpp: Removed a stray semicolon.
5:43 AM Changeset in webkit [36444] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Implment seek() and clean up and improve debugging output

4:40 AM Changeset in webkit [36443] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Simon.

Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation

m_mediaObject, m_audioOutput, m_videoWidget get created in the
c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
only check if we use the MediaPlayerPrivate after it has been deleted.

Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>

4:35 AM Changeset in webkit [36442] by andersca@apple.com
  • 5 edits in trunk

WebCore:

2008-09-15 Anders Carlsson <andersca@apple.com>

Reviewed by Maciej.

<rdar://problem/6163988>
https://bugs.webkit.org/show_bug.cgi?id=20457
Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern


Check the width and height and throw an exception if any of them are 0.


  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createPattern):

LayoutTests:

2008-09-15 Anders Carlsson <andersca@apple.com>

Reviewed by Maciej.


<rdar://problem/6163988>
https://bugs.webkit.org/show_bug.cgi?id=20457
Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern


Add test for createPattern where the canvas passed in has a zero height/width.


  • fast/canvas/canvas-with-incorrect-args-expected.txt:
  • fast/canvas/canvas-with-incorrect-args.html:
4:28 AM Changeset in webkit [36441] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Render media element controls with antialiasing enabled

4:27 AM Changeset in webkit [36440] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Simon.

Upon non fatal error, switch to the pause state (so that playback can continue)

4:22 AM Changeset in webkit [36439] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h

4:16 AM Changeset in webkit [36438] by vestbo@webkit.org
  • 7 edits in trunk

2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Make QtInstance::create() private and fix caching

3:43 AM Changeset in webkit [36437] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-15 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Fix a crash in fast/js/exception-expression-offset.html caused by not
updating all mentions of the length of op_construct in r36427.

  • VM/Machine.cpp: (JSC::Machine::cti_op_construct_NotJSConstruct):
3:20 AM Changeset in webkit [36436] by mjs@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.


  • fix layout test failure introduced by fix for 20849


(The failing test was fast/js/delete-then-put.html)

  • kjs/JSObject.cpp: (JSC::JSObject::removeDirect): Clear enumeration cache in the dictionary case.
  • kjs/JSObject.h: (JSC::JSObject::putDirect): Ditto.
  • kjs/StructureID.h: (JSC::StructureID::clearEnumerationCache): Inline to handle the clear.
3:02 AM Changeset in webkit [36435] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.


  • fix JSC test failures introduced by fix for 20849
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::getEnumerablePropertyNames): Use the correct count.
2:39 AM Changeset in webkit [36434] by cwzwarich@webkit.org
  • 5 edits in trunk

2008-09-15 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 20851: REGRESSION (r36410): fast/js/kde/GlobalObject.html fails
<https://bugs.webkit.org/show_bug.cgi?id=20851>

r36410 introduced an optimization for parseInt() that is incorrect when
its argument is larger than the range of a 32-bit integer. If the
argument is a number that is not an immediate integer, then the correct
behaviour is to return the floor of its value, unless it is an infinite
value, in which case the correct behaviour is to return 0.

JavaScriptCore:

  • kjs/JSGlobalObjectFunctions.cpp: (JSC::globalFuncParseInt):

LayoutTests:

  • fast/js/numeric-conversion-expected.txt:
  • fast/js/resources/numeric-conversion.js:
2:13 AM Changeset in webkit [36433] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollbarThemeQt.cpp

Fix Qt build bustage.

1:45 AM Changeset in webkit [36432] by dsmith@webkit.org
  • 3 edits in trunk/WebCore

2008-09-15 David Smith <catfish.man@gmail.com>

Reviewed by Dave Hyatt.

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


2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.

With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.


  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::CSSStyleSelector): (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
  • css/CSSStyleSelector.h:
1:34 AM Changeset in webkit [36431] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollbarThemeQt.cpp

Make sure ScrollbarThemeQt.cpp accurately reflects copyright information, since it contains code from PlatformScrollbarQt.cpp

1:31 AM Changeset in webkit [36430] by hyatt@apple.com
  • 2 edits in trunk/WebCore/platform/qt

Fix Qt build bustage.

12:27 AM Changeset in webkit [36429] by weinig@apple.com
  • 6 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

Patch for https://bugs.webkit.org/show_bug.cgi?id=20849
Cache property names for getEnumerablePropertyNames in the StructureID.

~0.5% speedup on Sunspider overall (9.7% speedup on string-fasta). ~1% speedup
on the v8 test suite.

  • kjs/JSObject.cpp: (JSC::JSObject::getPropertyNames):
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::getEnumerablePropertyNames):
  • kjs/PropertyMap.h:
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::getEnumerablePropertyNames):
  • kjs/StructureID.h:

Sep 14, 2008:

11:33 PM Changeset in webkit [36428] by hyatt@apple.com
  • 11 edits in trunk/WebCore

Refactor painting of the native windows scrollbar and prepare for code sharing with the Aqua windows scrollbar.

11:26 PM Changeset in webkit [36427] by mjs@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.


  • speed up JS construction by extracting "prototype" lookup so PIC applies.


~0.5% speedup on SunSpider
Speeds up some of the V8 tests as well, most notably earley-boyer.

  • VM/CTI.cpp: (JSC::CTI::compileOpCall): Account for extra arg for prototype. (JSC::CTI::privateCompileMainPass): Account for increased size of op_construct.
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitConstruct): Emit separate lookup to get prototype property.
  • VM/Machine.cpp: (JSC::Machine::privateExecute): Expect prototype arg in op_construct. (JSC::Machine::cti_op_construct_JSConstruct): ditto (JSC::Machine::cti_op_construct_NotJSConstruct): ditto
10:38 PM Changeset in webkit [36426] by timothy@apple.com
  • 3 edits in trunk/WebCore

Moving all resource graphs under the same container for future scalable feature.
This is a speedup on resize but maybe a loss on changing the sorting function.

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

Reviewed by Timothy Hatcher.

  • page/inspector/ResourcesPanel.js: Added a container for all resource graphs. Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
  • page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
10:05 PM Changeset in webkit [36425] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Eric Seidel.

Add a protected destructor for RefCounted.

It is wrong to call its destructor directly, because (1) this should be taken care of by
deref(), and (2) many classes that use RefCounted have non-virtual destructors.

No change in behavior.

  • wtf/RefCounted.h: (WTF::RefCounted::~RefCounted):
10:00 PM Changeset in webkit [36424] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollbarThemeQt.cpp

Fix Qt bustage.

9:52 PM Changeset in webkit [36423] by ap@webkit.org
  • 4 edits
    2 adds in trunk

Reviewed by Maciej Stachowiak.

https://bugs.webkit.org/show_bug.cgi?id=20738
compareBoundaryPoints gives incorrect results

Test: fast/dom/Range/compareBoundaryPoints-2.html

  • dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END and END_TO_START.
  • page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
8:10 PM Changeset in webkit [36422] by mjs@apple.com
  • 2 edits in trunk/WebCore

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

Unreviewed build fix.

Trying again.

  • bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::hasInstance):
7:55 PM Changeset in webkit [36421] by mjs@apple.com
  • 3 edits in trunk/WebCore

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

Unreviewed build fix.

Blind attempt to fix build. Correct parameters for hasInstance.

  • bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::hasInstance):
  • bindings/js/JSQuarantinedObjectWrapper.h:
7:23 PM Changeset in webkit [36420] by mitz@apple.com
  • 3 edits
    4 deletes in trunk

WebCore:

Rubber-stamped by Sam Weinig.

  • platform/graphics/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::getLastResortFallbackFont):

LayoutTests:

Rubber-stamped by Sam Weinig.

  • platform/mac/fast/text/last-resort-font-expected.checksum: Removed.
  • platform/mac/fast/text/last-resort-font-expected.png: Removed.
  • platform/mac/fast/text/last-resort-font-expected.txt: Removed.
  • platform/mac/fast/text/last-resort-font.html: Removed.
7:21 PM Changeset in webkit [36419] by barraclough@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Now with all new and improved Changelog in the correct order.

7:18 PM Changeset in webkit [36418] by barraclough@apple.com
  • 8 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.


  • split the "prototype" lookup for hasInstance into opcode stream so it can be cached


~5% speedup on v8 earley-boyer test

  • API/JSCallbackObject.h: Add a parameter for the pre-looked-up prototype.
  • API/JSCallbackObjectFunctions.h: (JSC::::hasInstance): Ditto.
  • API/JSValueRef.cpp: (JSValueIsInstanceOfConstructor): Look up and pass in prototype.
  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): Pass along prototype.
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump): Print third arg.
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitInstanceOf): Implement this, now that there is a third argument.
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::Machine::privateExecute): Pass along the prototype. (JSC::Machine::cti_op_instanceof): ditto
  • kjs/JSObject.cpp: (JSC::JSObject::hasInstance): Expect to get a pre-looked-up prototype.
  • kjs/JSObject.h:
  • kjs/nodes.cpp: (JSC::InstanceOfNode::emitCode): Emit a get_by_id of the prototype property and pass that register to instanceof.
  • kjs/nodes.h:
7:13 PM Changeset in webkit [36417] by mjs@apple.com
  • 14 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.


  • split the "prototype" lookup for hasInstance into opcode stream so it can be cached


~5% speedup on v8 earley-boyer test

  • API/JSCallbackObject.h: Add a parameter for the pre-looked-up prototype.
  • API/JSCallbackObjectFunctions.h: (JSC::::hasInstance): Ditto.
  • API/JSValueRef.cpp: (JSValueIsInstanceOfConstructor): Look up and pass in prototype.
  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): Pass along prototype.
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump): Print third arg.
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitInstanceOf): Implement this, now that there is a third argument.
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::Machine::privateExecute): Pass along the prototype. (JSC::Machine::cti_op_instanceof): ditto
  • kjs/JSObject.cpp: (JSC::JSObject::hasInstance): Expect to get a pre-looked-up prototype.
  • kjs/JSObject.h:
  • kjs/nodes.cpp: (JSC::InstanceOfNode::emitCode): Emit a get_by_id of the prototype property and pass that register to instanceof.
  • kjs/nodes.h:
5:56 PM Changeset in webkit [36416] by hyatt@apple.com
  • 4 edits
    2 adds in trunk/WebCore

Add ScrollbarThemeComposite for use by ScrollbarThemeSafari and ScrollbarThemeWin

5:53 PM Changeset in webkit [36415] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollbarThemeQt.cpp

Fix Qt build bustage.

5:36 PM Changeset in webkit [36414] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/win/ScrollbarThemeSafari.h

Fix Win build bustage.

5:35 PM Changeset in webkit [36413] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Sam Weinig.

Remove unnecessary virtual function call from cti_op_call_JSFunction -
~5% on richards, ~2.5% on v8-tests, ~0.5% on sunspider.

  • VM/Machine.cpp: (JSC::Machine::cti_op_call_JSFunction):
5:26 PM Changeset in webkit [36412] by cwzwarich@webkit.org
  • 11 edits
    3 adds in trunk

2008-09-14 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 20827: the 'typeof' operator is slow
<https://bugs.webkit.org/show_bug.cgi?id=20827>

Optimize the 'typeof' operator when its result is compared to a constant
string.

This is a 5.5% speedup on the V8 Earley-Boyer test.

JavaScriptCore:

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitEqualityOp):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::jsIsObjectType): (JSC::jsIsFunctionType): (JSC::Machine::privateExecute): (JSC::Machine::cti_op_is_undefined): (JSC::Machine::cti_op_is_boolean): (JSC::Machine::cti_op_is_number): (JSC::Machine::cti_op_is_string): (JSC::Machine::cti_op_is_object): (JSC::Machine::cti_op_is_function):
  • VM/Machine.h:
  • VM/Opcode.h:
  • kjs/nodes.cpp: (JSC::BinaryOpNode::emitCode): (JSC::EqualNode::emitCode): (JSC::StrictEqualNode::emitCode):
  • kjs/nodes.h:

LayoutTests:

  • fast/js/resources/typeof-codegen-crash.js: Added.
  • fast/js/typeof-codegen-crash-expected.txt: Added.
  • fast/js/typeof-codegen-crash.html: Added.
5:20 PM Changeset in webkit [36411] by alp@webkit.org
  • 4 edits in trunk/WebCore

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

https://bugs.webkit.org/show_bug.cgi?id=20320
[GTK] A white rectangle is visible behind widgets with rounded corners

Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
style exempt).

Requested by Michael Monreal.

  • platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::RenderThemeGtk):
  • platform/gtk/gtk2drawing.c: (moz_gtk_set_widget_name): (ensure_window_widget): (setup_widget_prototype): (ensure_button_arrow_widget): (moz_gtk_get_combo_box_inner_button): (moz_gtk_get_combo_box_button_inner_widgets): (ensure_combo_box_widgets): (moz_gtk_get_combo_box_entry_inner_widgets): (moz_gtk_get_combo_box_entry_arrow): (ensure_combo_box_entry_widgets): (ensure_toolbar_widget): (ensure_tooltip_widget): (ensure_menu_bar_widget): (ensure_menu_bar_item_widget): (ensure_menu_popup_widget): (ensure_menu_item_widget): (ensure_image_menu_item_widget): (ensure_menu_separator_widget): (ensure_check_menu_item_widget): (ensure_tree_header_cell_widget): (ensure_scrolled_window_widget): (moz_gtk_button_paint): (moz_gtk_init): (moz_gtk_button_get_inner_border): (moz_gtk_toggle_paint): (calculate_button_inner_rect): (calculate_arrow_rect): (moz_gtk_scrollbar_button_paint): (moz_gtk_scrollbar_thumb_paint): (moz_gtk_caret_paint): (moz_gtk_entry_paint): (moz_gtk_treeview_paint): (moz_gtk_tree_header_cell_paint): (moz_gtk_combo_box_paint): (moz_gtk_downarrow_paint): (moz_gtk_combo_box_entry_button_paint): (moz_gtk_toolbar_paint): (moz_gtk_tab_scroll_arrow_paint): (moz_gtk_menu_bar_paint): (moz_gtk_menu_item_paint): (moz_gtk_get_widget_border): (moz_gtk_get_combo_box_entry_button_size): (moz_gtk_get_tab_scroll_arrow_size): (moz_gtk_get_downarrow_size): (moz_gtk_images_in_menus): (moz_gtk_widget_paint): (moz_gtk_shutdown):
  • platform/gtk/gtkdrawing.h:
5:12 PM Changeset in webkit [36410] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.

Patch for https://bugs.webkit.org/show_bug.cgi?id=20844
Speed up parseInt for numbers

Sunspider reports this as 1.029x as fast overall and 1.37x as fast on string-unpack-code.
No change on the v8 suite.

  • kjs/JSGlobalObjectFunctions.cpp: (JSC::globalFuncParseInt): Don't convert numbers to strings just to convert them back to numbers.
4:55 PM Changeset in webkit [36409] by hyatt@apple.com
  • 17 edits in trunk/WebCore

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

Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
painting. Mac and Gtk themes don't do anything and just let the
underlying widget paint. Qt now uses the theme to paint. wx doesn't
do anything yet.

Reviewed by Sam Weinig

  • platform/ScrollBar.cpp: (WebCore::Scrollbar::paint):
  • platform/ScrollBar.h: (WebCore::Scrollbar::value): (WebCore::Scrollbar::visibleSize): (WebCore::Scrollbar::maximum): (WebCore::Scrollbar::lineStep): (WebCore::Scrollbar::pageStep): (WebCore::Scrollbar::pixelStep): (WebCore::Scrollbar::pressedPart): (WebCore::Scrollbar::hoveredPart): (WebCore::Scrollbar::theme):
  • platform/ScrollbarTheme.h: (WebCore::ScrollbarTheme::paint): (WebCore::ScrollbarTheme::scrollbarThickness): (WebCore::ScrollbarTheme::supportsControlTints): (WebCore::ScrollbarTheme::themeChanged):
  • platform/gtk/PlatformScrollBar.h:
  • platform/gtk/PlatformScrollBarGtk.cpp:
  • platform/mac/PlatformScrollBar.h:
  • platform/mac/PlatformScrollBarMac.mm:
  • platform/qt/PlatformScrollBar.h:
  • platform/qt/PlatformScrollBarQt.cpp:
  • platform/qt/ScrollbarThemeQt.cpp: (WebCore::styleOptionSlider):
  • platform/qt/ScrollbarThemeQt.h: (WebCore::ScrollbarThemeQt::paint):
  • platform/win/PlatformScrollBarSafari.cpp: (WebCore::PlatformScrollbar::paint):
  • platform/win/ScrollbarThemeSafari.h: (WebCore::ScrollbarThemeSafari::supportsControlTints):
  • platform/wx/PlatformScrollBar.h:
  • platform/wx/TemporaryLinkStubs.cpp: (PlatformScrollbar::~PlatformScrollbar):
4:01 PM Changeset in webkit [36408] by cwzwarich@webkit.org
  • 7 edits in trunk/JavaScriptCore

2008-09-14 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver Hunt.

Bug 20816: op_lesseq should be optimized
<https://bugs.webkit.org/show_bug.cgi?id=20816>

Add a loop_if_lesseq opcode that is similar to the loop_if_less opcode.

This is a 9.4% speedup on the V8 Crypto benchmark.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitJumpIfTrue):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_loop_if_lesseq):
  • VM/Machine.h:
  • VM/Opcode.h:
3:15 PM Changeset in webkit [36407] by weinig@apple.com
  • 2 edits in trunk/WebCore

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

Qt build fix.

  • platform/qt/PlatformScrollBarQt.cpp:
3:12 PM Changeset in webkit [36406] by weinig@apple.com
  • 12 edits in trunk

JavaScriptCore:

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

Reviewed by Mark Rowe.

Remove extraneous semicolons.

  • kjs/nodes.cpp: (JSC::PrefixResolveNode::emitCode):
  • wtf/FastMalloc.cpp: (WTF::TCMalloc_PageHeap::GrowHeap):

WebCore:

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

Reviewed by Mark Rowe.

Remove extraneous semicolons.

  • bindings/scripts/CodeGeneratorObjC.pm:
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::tokenizeRelAttribute):
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::charsetAttributeValue): (WebCore::HTMLScriptElement::typeAttributeValue):
  • platform/graphics/qt/GradientQt.cpp: (WebCore::Gradient::platformGradient):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::updateScrollbars):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintEllipsisBoxes):
  • svg/SVGPathSegList.cpp: (WebCore::SVGPathSegList::toPathData):
3:00 PM Changeset in webkit [36405] by weinig@apple.com
  • 2 edits in trunk/WebCore

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

Qt build fix.

  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::updateScrollbars):
2:36 PM Changeset in webkit [36404] by weinig@apple.com
  • 2 edits in trunk/WebCore

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

Qt build fix.

  • platform/qt/PlatformScrollBarQt.cpp: (WebCore::PlatformScrollbar::PlatformScrollbar): (WebCore::PlatformScrollbar::paint):
2:33 AM Changeset in webkit [36403] by mrowe@apple.com
  • 3 edits in trunk/WebKitTools

Build fix.

1:33 AM Changeset in webkit [36402] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.

Cleanup Sampling code.

  • VM/CTI.cpp: (JSC::CTI::emitCall): (JSC::CTI::privateCompileMainPass):
  • VM/CTI.h: (JSC::CTI::execute):
  • VM/SamplingTool.cpp: (JSC::): (JSC::SamplingTool::run): (JSC::SamplingTool::dump):
  • VM/SamplingTool.h: (JSC::SamplingTool::callingHostFunction):
1:18 AM Changeset in webkit [36401] by oliver@apple.com
  • 13 edits in trunk/JavaScriptCore

Bug 20821: Cache property transitions to speed up object initialization
https://bugs.webkit.org/show_bug.cgi?id=20821

Reviewed by Cameron Zwarich.

Implement a transition cache to improve the performance of new properties
being added to objects. This is extremely beneficial in constructors and
shows up as a 34% improvement on access-binary-trees in SunSpider (0.8%
overall)

Sep 13, 2008:

11:23 PM ProposedWebInspectorRearchitecting edited by timothy@apple.com
(diff)
11:21 PM ProposedWebInspectorRearchitecting edited by timothy@apple.com
Further define the message types and callback functions. (diff)
10:53 PM ProposedWebInspectorRearchitecting edited by timothy@apple.com
Defines some messages for Console. (diff)
10:29 PM Changeset in webkit [36400] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/PlatformScrollBar.h

Fix Qt bustage.

10:05 PM Changeset in webkit [36399] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebScrollBar.cpp

Fix Windows bustage.

9:53 PM Changeset in webkit [36398] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/mac/PlatformScrollBar.h

Fix Mac build bustage.

9:25 PM ProposedWebInspectorRearchitecting edited by timothy@apple.com
Define some of the Console API. (diff)
6:57 PM Changeset in webkit [36397] by jmalonzo@webkit.org
  • 3 edits in trunk/WebCore

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

Gtk build fix, not reviewed.

  • platform/gtk/PlatformScrollBarGtk.cpp: (PlatformScrollbar::PlatformScrollbar):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::updateScrollbars):
6:26 PM Changeset in webkit [36396] by hyatt@apple.com
  • 17 edits in trunk/WebCore

Eliminate Scrollbar's setRect method. Clients can now just use the Widget base class method, setFrameGeometry instead.

6:06 PM Changeset in webkit [36395] by hyatt@apple.com
  • 11 edits in trunk/WebCore

Remove setEnabled from all Scrollbar subclasses that were just using their Widget base class methods.

5:58 PM Changeset in webkit [36394] by hyatt@apple.com
  • 10 edits in trunk/WebCore

Remove width()/height() from Scrollbar and subclasses that just need to use the Widget method.

5:50 PM Changeset in webkit [36393] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/PlatformScrollBar.h

Remove now unused methods from GTK scrollbars.

5:49 PM Changeset in webkit [36392] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/PlatformScrollBarGtk.cpp

Remove now unused methods from GTK scrollbars.

5:32 PM Changeset in webkit [36391] by hyatt@apple.com
  • 6 edits in trunk/WebCore

Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar's destructor.

5:22 PM Changeset in webkit [36390] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollBar.h

Fix Qt build bustage.

4:57 PM Changeset in webkit [36389] by hyatt@apple.com
  • 3 edits in trunk/WebCore

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

Move maximum() from Qt's PlatformScrollbar to be a cross-platform
function on Scrollbar. Fixes Qt build bustage.

Reviewed by Sam Weinig

  • platform/ScrollBar.h: (WebCore::Scrollbar::orientation): (WebCore::Scrollbar::value): (WebCore::Scrollbar::maximum):
  • platform/qt/PlatformScrollBar.h:
4:47 PM Changeset in webkit [36388] by hyatt@apple.com
  • 2 edits in trunk/WebKit/qt/Api

Fix Qt bustage.

4:34 PM Changeset in webkit [36387] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/wx/TemporaryLinkStubs.cpp

Fix wx bustage.

4:32 PM Changeset in webkit [36386] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollbarThemeQt.cpp

Fix Qt bustage.

4:21 PM Changeset in webkit [36385] by hyatt@apple.com
  • 3 edits in trunk/WebCore/platform

Fix Qt, Gtk, and Mac build bustage.

4:10 PM Changeset in webkit [36384] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.pro

Fix Qt bustage.

4:08 PM Changeset in webkit [36383] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.xcodeproj/project.pbxproj

Fix Mac bustage.

4:06 PM Changeset in webkit [36382] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Sam Weinig.

  • use the LastResort font for missing glyphs instead of showing the primary font's missing glyph

Test: platform/mac/fast/text/last-resort-font.html

  • platform/graphics/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters): Changed to return the last resort font if a substitute font cannot be found. (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated comment (the user's preferred standard font is included in the search thanks to code in FontCache::getFontData()) and changed to return the LastResort font.

LayoutTests:

Reviewed by Sam Weinig.

  • test that the LastResort font is used for missing glyphs rather than the primary font's missing glyph
  • platform/mac/fast/text/last-resort-font-expected.checksum: Added.
  • platform/mac/fast/text/last-resort-font-expected.png: Added.
  • platform/mac/fast/text/last-resort-font-expected.txt: Added.
  • platform/mac/fast/text/last-resort-font.html: Added.
3:59 PM Changeset in webkit [36381] by hyatt@apple.com
  • 2 edits in trunk/WebKit/win

Add ScrollbarTheme to control scrollbar metrics (and eventually hit testing and rendering.

3:59 PM Changeset in webkit [36380] by hyatt@apple.com
  • 16 edits
    11 adds in trunk/WebCore

Add ScrollbarTheme to control scrollbar metrics (and eventually hit testing and rendering.

2:30 PM Changeset in webkit [36379] by jmalonzo@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-09-13 Adrien Nader <camaradetux@gmail.com>

Gtk build fix, not reviewed.

  • webkit/webkitwebview.cpp:
2:05 PM Changeset in webkit [36378] by Chris Fleizach
  • 20 edits in trunk

<rdar://problem/5060439> Web elements should have an AXTopLevelUIElement

expose AXTopLevelUIElement as an attribute

1:51 PM Changeset in webkit [36377] by hyatt@apple.com
  • 2 edits in trunk/WebKit/qt/Api

Fix Qt build bustage.

1:37 PM Changeset in webkit [36376] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/wx/ScrollViewWx.cpp

Fix wx build bustage.

1:33 PM Changeset in webkit [36375] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/PlatformScrollBarQt.cpp

Fix Qt build bustage.

1:27 PM Changeset in webkit [36374] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Timothy Hatcher.

  • fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache

No regression test because the back/forward cache is disabled in DumpRenderTree

  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::invalidateCounters): Bail out if the document is being destroyed.
12:14 PM Changeset in webkit [36373] by hyatt@apple.com
  • 3 edits in trunk/WebCore

Fix Mac build bustage.

11:52 AM Changeset in webkit [36372] by hyatt@apple.com
  • 2 edits in trunk/WebCore/platform

Fix Qt build bustage.

11:48 AM Changeset in webkit [36371] by kevino@webkit.org
  • 3 edits in trunk/WebCore

wx build fixes for new methods recently introduced.

11:41 AM Changeset in webkit [36370] by hyatt@apple.com
  • 2 edits in trunk/WebKit/win

more scrollbar refactoring.

11:39 AM Changeset in webkit [36369] by hyatt@apple.com
  • 29 edits
    1 add in trunk/WebCore

More scrollbar refactoring.

Sep 12, 2008:

9:57 PM Changeset in webkit [36368] by cwzwarich@webkit.org
  • 9 edits in trunk/JavaScriptCore

2008-09-12 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 20819: JSValue::isObject() is slow
<https://bugs.webkit.org/show_bug.cgi?id=20819>

Optimize JSCell::isObject() and JSCell::isString() by making them
non-virtual calls that rely on the StructureID type information.

This is a 0.7% speedup on SunSpider and a 1.0% speedup on the V8
benchmark suite.

  • JavaScriptCore.exp:
  • kjs/JSCell.cpp:
  • kjs/JSCell.h: (JSC::JSCell::isObject): (JSC::JSCell::isString):
  • kjs/JSObject.cpp:
  • kjs/JSObject.h:
  • kjs/JSString.cpp:
  • kjs/JSString.h: (JSC::JSString::JSString):
  • kjs/StructureID.h: (JSC::StructureID::type):
7:59 PM Changeset in webkit [36367] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Fix Mac build.

  • css/CSSStyleSelector.cpp: (WebCore::getTransformOperationType):
6:10 PM Changeset in webkit [36366] by hyatt@apple.com
  • 1 edit in trunk/WebCore/css/CSSStyleSelector.cpp

Fix Windows build bustage.

5:47 PM Changeset in webkit [36365] by dino@apple.com
  • 1 edit in trunk/LayoutTests/ChangeLog

Cleaning up LayoutTests/ChangeLog.

5:45 PM Changeset in webkit [36364] by dino@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Cleaning up WebCore/ChangeLog

5:41 PM Changeset in webkit [36363] by mrowe@apple.com
  • 15 edits
    5 deletes in trunk

Roll out r36360 as it broke all non-Mac builds.

5:33 PM Changeset in webkit [36362] by dino@apple.com
  • 13 edits in trunk

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

Reviewed by Dave Hyatt.

Make transform animation behavior match spec
https://bugs.webkit.org/show_bug.cgi?id=20770

Tests: transitions/transform-op-list-match.html

transitions/transform-op-list-no-match.html

  • css/CSSStyleSelector.cpp:
  • css/CSSStyleSelector.h:
  • page/animation/AnimationBase.cpp:
  • page/animation/AnimationBase.h:
  • page/animation/ImplicitAnimation.cpp:
  • page/animation/ImplicitAnimation.h:
  • page/animation/KeyframeAnimation.cpp:
  • page/animation/KeyframeAnimation.h:
  • rendering/RenderLayer.cpp:
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
4:30 PM Changeset in webkit [36361] by sullivan@apple.com
  • 2 edits in trunk/WebKit/mac

2008-09-12 John Sullivan <sullivan@apple.com>

Fixed <rdar://problem/6110941> Clicking the print button in PDF content does nothing

Reviewed by Darin Adler

  • WebView/WebPDFView.mm: (-[WebPDFView PDFViewPerformPrint:]): Implemented PDFKit delegate method that's called after a Print action in the PDF content
4:27 PM Changeset in webkit [36360] by Chris Fleizach
  • 15 edits
    5 adds in trunk

<rdar://problem/4003789> Expose lists as AXList
<rdar://problem/5707399> VO: Definition lists not announced in Safari

Exposes <ol>, <ul> and <dl> lists as AXLists through accessibility

3:43 PM Changeset in webkit [36359] by timothy@apple.com
  • 4 edits
    1 add in trunk/WebCore

Properly escape contents of links added to the inspector.
For now, just build the link with the DOM and get the
outerHTML. Eventually, we probably just want to do
this entirely with the DOM.

Reviewed by Timothy Hatcher.

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

  • manual-tests/inspector/escape-links.html: Added.
  • page/inspector/StylesSidebarPane.js:
  • page/inspector/inspector.js:
  • page/inspector/utilities.js:
3:14 PM Changeset in webkit [36358] by adele@apple.com
  • 2 edits in trunk/WebCore

2008-09-12 Adele Peterson <adele@apple.com>

Reviewed by John Sullivan and Kevin McCullough.

Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames

  • page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint): Hit testing again on the main frame will only work if we aren't already on the main frame. If we are already on the main frame, that will cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
3:08 PM Changeset in webkit [36357] by kmccullough@apple.com
  • 5 edits in trunk

WebCore:

2008-09-12 Kevin McCullough <kmccullough@apple.com>

RS by Tim .

Re-introducing the code since it was not the cause of the crash.
See r36343.

  • rendering/RenderObject.cpp: (WebCore::RenderObject::canBeProgramaticallyScrolled):
  • rendering/RenderObject.h:

LayoutTests:

2008-09-12 Kevin McCullough <kmccullough@apple.com>

RS by Tim.

Re-introducing the code since it was not the cause of the crash.
See r36343.

  • fast/events/autoscroll-with-non-scrollable-parent.html:
2:54 PM Changeset in webkit [36356] by dino@apple.com
  • 7 edits
    2 adds in trunk

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

Reviewed by Dave Hyatt.

When changing one animation in a list, don't reset other animations
https://bugs.webkit.org/show_bug.cgi?id=20675

Test: animations/change-one-anim.html

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::getNumProperties):
  • page/animation/AnimationBase.h:
  • page/animation/AnimationController.cpp:
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::updateKeyframeAnimations):
  • page/animation/CompositeAnimation.h:
  • page/animation/ImplicitAnimation.cpp:
  • page/animation/KeyframeAnimation.cpp:
  • page/animation/KeyframeAnimation.h: (WebCore::KeyframeAnimation::setIndex):
2:43 PM Changeset in webkit [36355] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix Gtk build bustage.

2:42 PM Changeset in webkit [36354] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/ScrollViewQt.cpp

Fix Qtbuild bustage.

11:47 AM ProposedWebInspectorRearchitecting edited by ojan@chromium.org
(diff)
11:40 AM Changeset in webkit [36353] by beidson@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Mitz Pettel

Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior. Subresources can never be created from nil data, but there is always a MainResource, whether or not there's any data. So in the case where the main resource has no data, fake it for the sake of creating the ArchiveResource.
11:39 AM ProposedWebInspectorRearchitecting edited by ojan@chromium.org
(diff)
11:37 AM Changeset in webkit [36352] by hyatt@apple.com
  • 10 edits in trunk/WebCore

Make Scrollbar derive from Widget. Remove isWidget guards on Scrollbars.

11:22 AM Changeset in webkit [36351] by mitz@apple.com
  • 9 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • page/animation/AnimationController.cpp:
  • page/animation/AnimationController.h:
  • page/animation/CompositeAnimation.cpp:
  • page/animation/CompositeAnimation.h:
  • page/animation/ImplicitAnimation.cpp:
  • page/animation/ImplicitAnimation.h:
  • page/animation/KeyframeAnimation.cpp:
  • page/animation/KeyframeAnimation.h:
10:58 AM Changeset in webkit [36350] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac

Reviewed by John Sullivan.

  • fix a crash in -visibleRect when it is called during WebFrameView deallocation
  • WebView/WebFrameView.mm: (-[WebFrameView visibleRect]): Added an early return if _private is 0.

Sep 11, 2008:

9:44 PM Changeset in webkit [36349] by timothy@apple.com
  • 5 edits in trunk/WebCore

Add a renderedImage method to DOMNode to get an image
of the rendering for the node and it's descendants.

<rdar://problem/5849349> Would like API to create
an image for a DOM node

Reviewed by Oliver Hunt.

  • bindings/objc/DOM.mm: (-[DOMNode renderedImage]): Call Frame::nodeImage.
  • bindings/objc/DOMPrivate.h:
  • page/Frame.h:
  • page/mac/FrameMac.mm: (WebCore::Frame::nodeImage):
6:25 PM Changeset in webkit [36348] by dino@apple.com
  • 3 edits in trunk/LayoutTests

2008-09-11 Dean Jackson <dino@apple.com>

Unfortunately the fix for
https://bugs.webkit.org/show_bug.cgi?id=20680
didn't update the relevant test

  • css3/keyframes-rule-expected.txt:
  • css3/keyframes-rule.html:
5:36 PM Changeset in webkit [36347] by dino@apple.com
  • 11 edits
    2 adds in trunk

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

Reviewed by Dave Hyatt

Need to support comma separated list of key times in keyframes selectors
https://bugs.webkit.org/show_bug.cgi?id=20680

Test: animations/keyframes-comma-separated.html

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::createKeyframeRule):
  • css/CSSParser.h:
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::addKeyframeStyle):
  • css/WebKitCSSKeyframeRule.cpp: (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule): (WebCore::WebKitCSSKeyframeRule::cssText): (WebCore::WebKitCSSKeyframeRule::parseKeyString):
  • css/WebKitCSSKeyframeRule.h: (WebCore::WebKitCSSKeyframeRule::keyText): (WebCore::WebKitCSSKeyframeRule::setKeyText): (WebCore::WebKitCSSKeyframeRule::getKeys):
  • css/WebKitCSSKeyframesRule.cpp: (WebCore::WebKitCSSKeyframesRule::append): (WebCore::WebKitCSSKeyframesRule::insertRule): (WebCore::WebKitCSSKeyframesRule::deleteRule): (WebCore::WebKitCSSKeyframesRule::findRule): (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
  • css/WebKitCSSKeyframesRule.h:
  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::blendProperties):
5:24 PM Changeset in webkit [36346] by mrowe@apple.com
  • 4 edits in tags/Safari-6528.3.1

Versioning.

5:24 PM Changeset in webkit [36345] by mrowe@apple.com
  • 2 edits in tags/Safari-6528.3.1/JavaScriptCore

Merge r36292.

5:15 PM Changeset in webkit [36344] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.3.1

New tag.

3:57 PM Changeset in webkit [36343] by kmccullough@apple.com
  • 5 edits in trunk

WebCore:

2008-09-11 Kevin McCullough <kmccullough@apple.com>

RS by Tim.

Reverting because this caused a crash.

  • rendering/RenderObject.cpp: (WebCore::RenderObject::canBeProgramaticallyScrolled): (WebCore::RenderObject::hasScrollableView):
  • rendering/RenderObject.h:

LayoutTests:

2008-09-11 Kevin McCullough <kmccullough@apple.com>

RS = Tim.

Reverted because this caused a crash.

  • fast/events/autoscroll-with-non-scrollable-parent.html:
3:32 PM Changeset in webkit [36342] by Stephanie Lewis
  • 2 edits in trunk/JavaScriptCore

2008-09-11 Stephanie Lewis <Stephanie Lewis>

Reviewed by Oliver Hunt.

Turn off PGO Optimization on CTI.cpp -> <rdar://problem/6207709>. Fixes
crash on CNN and on Dromaeo.
Fix Missing close tag in vcproj.

2:59 PM Changeset in webkit [36341] by dino@apple.com
  • 3 edits
    2 adds in trunk

2008-09-11 Dean Jackson <dino@apple.com>

Reviewed by Dan Bernstein.

Fix assertion on transition property "none"
https://bugs.webkit.org/show_bug.cgi?id=20751

Test: transitions/transition-end-event-set-none.html

  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::updateTransitions):
2:54 PM Changeset in webkit [36340] by dsmith@webkit.org
  • 1 edit
    1 delete in trunk/WebCore

2008-09-11 David Smith <catfish.man@gmail.com>

Rubber-stamped by mitzpettel.

Remove an accidentally added extra file.

  • WebCore: Removed.
2:41 PM Changeset in webkit [36339] by dsmith@webkit.org
  • 13 edits
    4 adds in trunk/WebCore

2008-09-11 David Smith <catfish.man@gmail.com>

Reviewed by Darin

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


This speeds up :nth-child matching as tested by querySelectorAll by around 10% by inlining the common case of Node::renderStyle(). Many thanks to mitzpettel and othermaciej for suggestions and help.

  • WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
  • css/CSSStyleSelector.cpp: include NodeRenderStyle.h
  • dom/Element.cpp: include NodeRenderStyle.h
  • dom/Node.cpp: Remove the definition of renderStyle() (WebCore::Node::nonRendererRenderStyle):
  • dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
  • dom/NodeRenderStyle.h: Added. (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
  • html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
  • html/HTMLOptGroupElement.h: (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
  • html/HTMLOptionElement.cpp: include NodeRenderStyle.h
  • html/HTMLOptionElement.h: (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
  • rendering/RenderListBox.cpp: include NodeRenderStyle.h
  • rendering/RenderMenuList.cpp: include NodeRenderStyle.h
  • svg/SVGUseElement.cpp: include NodeRenderStyle.h
2:15 PM Changeset in webkit [36338] by cwzwarich@webkit.org
  • 1 edit
    2 adds in trunk/JavaScriptCore

2008-09-11 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Not reviewed.

Correct an SVN problem with the last commit and actually add the new
files.

  • wrec/CharacterClassConstructor.cpp: Added. (JSC::): (JSC::getCharacterClassNewline): (JSC::getCharacterClassDigits): (JSC::getCharacterClassSpaces): (JSC::getCharacterClassWordchar): (JSC::getCharacterClassNondigits): (JSC::getCharacterClassNonspaces): (JSC::getCharacterClassNonwordchar): (JSC::CharacterClassConstructor::addSorted): (JSC::CharacterClassConstructor::addSortedRange): (JSC::CharacterClassConstructor::put): (JSC::CharacterClassConstructor::flush): (JSC::CharacterClassConstructor::append):
  • wrec/CharacterClassConstructor.h: Added. (JSC::CharacterClassConstructor::CharacterClassConstructor): (JSC::CharacterClassConstructor::isUpsideDown): (JSC::CharacterClassConstructor::charClass):
2:13 PM Changeset in webkit [36337] by cwzwarich@webkit.org
  • 4 edits in trunk/JavaScriptCore

2008-09-11 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 20788: Split CharacterClassConstructor into its own file
<https://bugs.webkit.org/show_bug.cgi?id=20788>

Split CharacterClassConstructor into its own file and clean up some
style issues.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • wrec/CharacterClassConstructor.cpp: Added. (JSC::): (JSC::getCharacterClassNewline): (JSC::getCharacterClassDigits): (JSC::getCharacterClassSpaces): (JSC::getCharacterClassWordchar): (JSC::getCharacterClassNondigits): (JSC::getCharacterClassNonspaces): (JSC::getCharacterClassNonwordchar): (JSC::CharacterClassConstructor::addSorted): (JSC::CharacterClassConstructor::addSortedRange): (JSC::CharacterClassConstructor::put): (JSC::CharacterClassConstructor::flush): (JSC::CharacterClassConstructor::append):
  • wrec/CharacterClassConstructor.h: Added. (JSC::CharacterClassConstructor::CharacterClassConstructor): (JSC::CharacterClassConstructor::isUpsideDown): (JSC::CharacterClassConstructor::charClass):
  • wrec/WREC.cpp: (JSC::WRECParser::parseCharacterClass):
1:29 PM Changeset in webkit [36336] by mitz@apple.com
  • 4 edits in trunk/WebKit/mac

Reviewed by John Sullivan.

  • eliminate excessive repainting when a clipped iframe is moved (noticed in <rdar://problem/6204032>)
  • WebView/WebFrame.mm: (-[WebFrame _getVisibleRect:]): Added. If the frame is in a RenderPart and has layout, gets the visible rect of the RenderPart and returns YES. Returns NO otherwise.
  • WebView/WebFrameInternal.h:
  • WebView/WebFrameView.mm: (-[WebFrameView visibleRect]): Added. Overrides this NSView method to take clipping in the render tree into account.
10:45 AM ProposedWebInspectorRearchitecting edited by ojan@chromium.org
(diff)
10:39 AM Changeset in webkit [36335] by kmccullough@apple.com
  • 5 edits in trunk

WebCore:

2008-09-11 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adele and Tim.

<rdar://problem/6100597> REGRESSION: clicking on search results in Web
Inspector does not scroll to the line of the results (20167)

  • This was put in by Max to fix auto scrolling but is not correct for the whole web: rdar://problem/6213098
  • rendering/RenderObject.cpp: (WebCore::RenderObject::canBeProgramaticallyScrolled):
  • rendering/RenderObject.h:

LayoutTests:

2008-09-11 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adele and Tim.

<rdar://problem/6100597> REGRESSION: clicking on search results in Web
Inspector does not scroll to the line of the results (20167)

  • This was put in by Max to fix some auto scroll behavior but is not correct for the whole web: rdar://problem/6213098
  • fast/events/autoscroll-with-non-scrollable-parent.html:
9:24 AM Changeset in webkit [36334] by Chris Fleizach
  • 3 edits
    2 adds in trunk

<rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title

3:50 AM Changeset in webkit [36333] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-09-11 Tor Arne Vestbø <tavestbo@trolltech.com>

Rubber-stamped by Simon.

Prevent leaking pages and frames in QWebKit autotest

2:53 AM Changeset in webkit [36332] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-09-11 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon

Fix QtWebKit autotest

1:03 AM Changeset in webkit [36331] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-09-11 Dirk Schulze <vbs85@gmx.de>

Reviewed by Simon.

Fixed stroke() and strokeRect() to support gradients
and patterns on Qt.

[Qt] Canvas stroke don't work for gradients and patterns
https://bugs.webkit.org/show_bug.cgi?id=20749

12:37 AM Changeset in webkit [36330] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-09-11 Dirk Schulze <vbs85@gmx.de>

Reviewed by Simon.

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

Fixed canvas gradients for Qt

12:34 AM Changeset in webkit [36329] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-09-11 Dirk Schulze <vbs85@gmx.de>

Reviewed by Simon.

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

Add support for patterns to Qt.

12:09 AM Changeset in webkit [36328] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-09-10 Simon Hausmann <Simon Hausmann>

Not reviewed but trivial one-liner for yet unused macro.

Changed PLATFORM(WINCE) to PLATFORM(WIN_CE) as requested by Mark.

(part of https://bugs.webkit.org/show_bug.cgi?id=20746)

Sep 10, 2008:

10:28 PM Changeset in webkit [36327] by cwzwarich@webkit.org
  • 4 edits in trunk/JavaScriptCore

2008-09-10 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Rubber-stamped by Oliver Hunt.

Fix a typo by renaming the overloaded orl_rr that takes an immediate to
orl_i32r.

  • VM/CTI.cpp: (JSC::CTI::emitFastArithPotentiallyReTagImmediate):
  • masm/X86Assembler.h: (JSC::X86Assembler::orl_i32r):
  • wrec/WREC.cpp: (JSC::WRECGenerator::generatePatternCharacter): (JSC::WRECGenerator::generateCharacterClassInverted):
9:01 PM Changeset in webkit [36326] by weinig@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

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

Rubber-stamped by David Hyatt.

Add additional test by Feng Qian.

  • fast/dom/StyleSheet/ownerNode-lifetime-2-expected.txt: Added.
  • fast/dom/StyleSheet/ownerNode-lifetime-2.html: Added.
7:42 PM Changeset in webkit [36325] by weinig@apple.com
  • 9 edits in trunk/JavaScriptCore

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

Reviewed by Geoff Garen.

Add inline property storage for JSObject.

1.2% progression on Sunspider. .5% progression on the v8 test suite.

  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain):
  • kjs/JSObject.cpp: (JSC::JSObject::mark): There is no reason to check storageSize now that we start from 0. (JSC::JSObject::allocatePropertyStorage): Allocates/reallocates heap storage.
  • kjs/JSObject.h: (JSC::JSObject::offsetForLocation): m_propertyStorage is not an OwnArrayPtr now so there is no reason to .get() (JSC::JSObject::usingInlineStorage): (JSC::JSObject::JSObject): Start with m_propertyStorage pointing to the inline storage. (JSC::JSObject::~JSObject): Free the heap storage if not using the inline storage. (JSC::JSObject::putDirect): Switch to the heap storage only when we know we know that we are about to add a property that will overflow the inline storage.
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::createTable): Don't allocate the propertyStorage, that is now handled by JSObject. (JSC::PropertyMap::rehash): PropertyStorage is not a OwnArrayPtr anymore.
  • kjs/PropertyMap.h: (JSC::PropertyMap::storageSize): Rename from markingCount.
  • kjs/StructureID.cpp: (JSC::StructureID::addPropertyTransition): Don't resize the property storage if we are using inline storage.
  • kjs/StructureID.h:
7:10 PM Changeset in webkit [36324] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Inline immediate number version of op_mul.

Reviewed by Geoff Garen

Renamed mull_rr to imull_rr as that's what it's
actually doing, and added imull_i32r for the constant
case immediate multiply.

1.1% improvement to SunSpider.

1:30 PM Changeset in webkit [36323] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

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

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=17267
[GTK] Primary selection/clipboard support

Implement primary selection support (copying only, no paste yet).

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::clipboard_get_contents_cb): (WebKit::clipboard_clear_contents_cb): (WebKit::EditorClient::respondToChangedSelection):
1:22 PM ProposedWebInspectorRearchitecting edited by ojan@chromium.org
(diff)
12:48 PM ProposedWebInspectorRearchitecting created by ojan@chromium.org
12:30 PM Web Inspector edited by ojan@chromium.org
(diff)
11:21 AM Changeset in webkit [36322] by mitz@apple.com
  • 8 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • clean up AnimationBase
  • page/animation/AnimationBase.cpp:
  • page/animation/AnimationBase.h:
  • page/animation/CompositeAnimation.cpp:
  • page/animation/ImplicitAnimation.cpp:
  • page/animation/ImplicitAnimation.h:
  • page/animation/KeyframeAnimation.cpp:
  • page/animation/KeyframeAnimation.h:
11:19 AM Changeset in webkit [36321] by mitz@apple.com
  • 17 edits in trunk/WebCore

Revert erroneous checkin

11:17 AM Changeset in webkit [36320] by mitz@apple.com
  • 15 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • clean up AnimationBase
  • page/animation/AnimationBase.cpp:
  • page/animation/AnimationBase.h:
  • page/animation/CompositeAnimation.cpp:
  • page/animation/ImplicitAnimation.cpp:
  • page/animation/ImplicitAnimation.h:
  • page/animation/KeyframeAnimation.cpp:
  • page/animation/KeyframeAnimation.h:
9:42 AM Changeset in webkit [36319] by ap@webkit.org
  • 4 edits
    15 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=20741
REGRESSION: ISO-8859-8-I encoding is registered incorrectly

Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.

I also found and fixed a potential crasher for non-Mac ports.

Tests: fast/encoding/hebrew/8859-8-e.html

fast/encoding/hebrew/8859-8-i.html
fast/encoding/hebrew/8859-8.html
fast/encoding/hebrew/csISO88598I.html
fast/encoding/hebrew/hebrew.html
fast/encoding/hebrew/iso-ir-138.html
fast/encoding/hebrew/logical.html

  • platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8 (case-insensitively, because different versions of ICU report this MIME name in different case).
  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments. (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too. There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up with an encoding map entry, but no codec for these. This was not an issue on the Mac, as we also support these via TEC (which we should stop doing), but on Windows, this would likely crash.
3:15 AM Changeset in webkit [36318] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-10 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Not reviewed.

Mac build fix.

2:23 AM Changeset in webkit [36317] by oliver@apple.com
  • 9 edits in trunk/JavaScriptCore

Add optimised access to known properties on the global object.

Reviewed by Maciej Stachowiak

Improve cross scope access to the global object by emitting
code to access it directly rather than by walking the scope chain.

This is a 0.8% win in SunSpider and a 1.7% win in the v8 benchmarks.

1:42 AM Changeset in webkit [36316] by mjs@apple.com
  • 17 edits in trunk/JavaScriptCore

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

Reviewed by Oliver.


  • enable polymorphic inline caching of properties of primitives


1.012x speedup on SunSpider.

We create special structure IDs for JSString and
JSNumberCell. Unlike normal structure IDs, these cannot hold the
true prototype. Due to JS autoboxing semantics, the prototype used
when looking up string or number properties depends on the lexical
global object of the call site, not the creation site. Thus we
enable StructureIDs to handle this quirk for primitives.


Everything else should be straightforward.


  • VM/CTI.cpp: (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain):
  • VM/CTI.h: (JSC::CTI::compileGetByIdProto): (JSC::CTI::compileGetByIdChain):
  • VM/JSPropertyNameIterator.h: (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
  • VM/Machine.cpp: (JSC::Machine::Machine): (JSC::cachePrototypeChain): (JSC::Machine::tryCachePutByID): (JSC::Machine::tryCacheGetByID): (JSC::Machine::privateExecute): (JSC::Machine::tryCTICachePutByID): (JSC::Machine::tryCTICacheGetByID):
  • kjs/GetterSetter.h: (JSC::GetterSetter::GetterSetter):
  • kjs/JSCell.h:
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • kjs/JSGlobalData.h:
  • kjs/JSGlobalObject.h: (JSC::StructureID::prototypeForLookup):
  • kjs/JSNumberCell.h: (JSC::JSNumberCell::JSNumberCell): (JSC::jsNumberCell):
  • kjs/JSObject.h: (JSC::JSObject::prototype):
  • kjs/JSString.cpp: (JSC::jsString): (JSC::jsSubstring): (JSC::jsOwnedString):
  • kjs/JSString.h: (JSC::JSString::JSString): (JSC::JSString::): (JSC::jsSingleCharacterString): (JSC::jsSingleCharacterSubstring): (JSC::jsNontrivialString):
  • kjs/SmallStrings.cpp: (JSC::SmallStrings::createEmptyString): (JSC::SmallStrings::createSingleCharacterString):
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::addPropertyTransition): (JSC::StructureID::getterSetterTransition): (JSC::StructureIDChain::StructureIDChain):
  • kjs/StructureID.h: (JSC::StructureID::create): (JSC::StructureID::storedPrototype):
1:09 AM Changeset in webkit [36315] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Sam Weinig.

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

Added WINCE platform macro.

  • wtf/Platform.h:
12:03 AM Changeset in webkit [36314] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

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

Reviewed by Mark Rowe.

Remove unnecessary override of getOffset.

Sunspider reports this as a .6% progression.

  • JavaScriptCore.exp:
  • kjs/JSObject.h: (JSC::JSObject::getDirectLocation): (JSC::JSObject::getOwnPropertySlotForWrite): (JSC::JSObject::putDirect):
  • kjs/PropertyMap.cpp:
  • kjs/PropertyMap.h:

Sep 9, 2008:

10:29 PM Changeset in webkit [36313] by hyatt@apple.com
  • 3 edits in trunk/WebCore

Resurrect PlatformScrollbarWin.

8:43 PM Changeset in webkit [36312] by cwzwarich@webkit.org
  • 2 edits in trunk/SunSpider

2008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Rubber-stamped by Maciej Stachowiak.

The bleeding edge branch of V8 now supports passing fileanmes after
'-f', so the SunSpider script should be changed to do this again.
This allows all 3 major JavaScript engines to be used with the
unmodified SunSpider script.

  • sunspider:
8:22 PM Changeset in webkit [36311] by cwzwarich@webkit.org
  • 8 edits
    1 add
    4 deletes in trunk

2008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 20759: Remove MacroAssembler
<https://bugs.webkit.org/show_bug.cgi?id=20759>

Remove MacroAssembler and move its functionality to X86Assembler.

JavaScriptCore:

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CTI.cpp: (JSC::CTI::emitGetArg): (JSC::CTI::emitGetPutArg): (JSC::CTI::emitPutArg): (JSC::CTI::emitPutCTIParam): (JSC::CTI::emitGetCTIParam): (JSC::CTI::emitPutToCallFrameHeader): (JSC::CTI::emitGetFromCallFrameHeader): (JSC::CTI::emitPutResult): (JSC::CTI::emitDebugExceptionCheck): (JSC::CTI::emitJumpSlowCaseIfNotImm): (JSC::CTI::emitJumpSlowCaseIfNotImms): (JSC::CTI::emitFastArithDeTagImmediate): (JSC::CTI::emitFastArithReTagImmediate): (JSC::CTI::emitFastArithPotentiallyReTagImmediate): (JSC::CTI::emitFastArithImmToInt): (JSC::CTI::emitFastArithIntToImmOrSlowCase): (JSC::CTI::emitFastArithIntToImmNoCheck): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateArrayLengthTrampoline): (JSC::CTI::privateStringLengthTrampoline): (JSC::CTI::compileRegExp):
  • VM/CTI.h: (JSC::CallRecord::CallRecord): (JSC::JmpTable::JmpTable): (JSC::SlowCaseEntry::SlowCaseEntry): (JSC::CTI::JSRInfo::JSRInfo):
  • masm/MacroAssembler.h: Removed.
  • masm/MacroAssemblerWin.cpp: Removed.
  • masm/X86Assembler.h: (JSC::X86Assembler::emitConvertToFastCall): (JSC::X86Assembler::emitRestoreArgumentReference):
  • wrec/WREC.h: (JSC::WRECGenerator::WRECGenerator): (JSC::WRECParser::WRECParser):

WebCore:

  • ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
  • ForwardingHeaders/masm/MacroAssembler.h: Removed.
  • ForwardingHeaders/masm/X86Assembler.h: Added.
7:36 PM Changeset in webkit [36310] by weinig@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.

Don't waste the first item in the PropertyStorage.

  • Fix typo (makingCount -> markingCount)
  • Remove undefined method declaration.

No change on Sunspider.

  • kjs/JSObject.cpp: (JSC::JSObject::mark):
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::put): (JSC::PropertyMap::remove): (JSC::PropertyMap::getOffset): (JSC::PropertyMap::insert): (JSC::PropertyMap::rehash): (JSC::PropertyMap::resizePropertyStorage): (JSC::PropertyMap::checkConsistency):
  • kjs/PropertyMap.h: (JSC::PropertyMap::markingCount): Fix typo.
6:26 PM Changeset in webkit [36309] by alp@webkit.org
  • 6 edits in trunk/WebCore

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

Reviewed by Dave Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=16792
[GTK] Fails to render Japanese/Chinese text with simple path

https://bugs.webkit.org/show_bug.cgi?id=16942
[GTK] Oddities in font selection and fall back

https://bugs.webkit.org/show_bug.cgi?id=16862
[GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting

GTK+ font fixes and enhancements.

Implement font fallback for the simple FontConfig-based text path and
improve the Pango-based complex text path to make use of requested
font properties and available font selection.

Add text shadow support to the complex path.

  • platform/graphics/gtk/FontCacheGtk.cpp: (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::getSimilarFontPlatformData):
  • platform/graphics/gtk/FontGtk.cpp: (WebCore::setPangoAttributes): (WebCore::Font::drawComplexText): (WebCore::getDefaultPangoLayout): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText): (WebCore::Font::selectionRectForComplexText):
  • platform/graphics/gtk/FontPlatformData.h: (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::hash):
  • platform/graphics/gtk/FontPlatformDataGtk.cpp: (WebCore::FontPlatformData::FontPlatformData):
  • platform/graphics/gtk/SimpleFontDataGtk.cpp: (WebCore::SimpleFontData::platformDestroy):
6:21 PM Changeset in webkit [36308] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Not reviewed.

Speculative Windows build fix.

  • masm/MacroAssemblerWin.cpp: (JSC::MacroAssembler::emitConvertToFastCall): (JSC::MacroAssembler::emitRestoreArgumentReference):
6:11 PM Changeset in webkit [36307] by cwzwarich@webkit.org
  • 6 edits in trunk/JavaScriptCore

2008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 20755: Create an X86 namespace for register names and other things
<https://bugs.webkit.org/show_bug.cgi?id=20755>

Create an X86 namespace to put X86 register names. Perhaps I will move
opcode names here later as well.

  • VM/CTI.cpp: (JSC::CTI::emitGetArg): (JSC::CTI::emitGetPutArg): (JSC::CTI::emitPutArg): (JSC::CTI::emitPutArgConstant): (JSC::CTI::emitPutCTIParam): (JSC::CTI::emitGetCTIParam): (JSC::CTI::emitPutToCallFrameHeader): (JSC::CTI::emitGetFromCallFrameHeader): (JSC::CTI::emitPutResult): (JSC::CTI::emitDebugExceptionCheck): (JSC::CTI::emitJumpSlowCaseIfNotImms): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateArrayLengthTrampoline): (JSC::CTI::privateStringLengthTrampoline): (JSC::CTI::compileRegExp):
  • VM/CTI.h:
  • masm/X86Assembler.h: (JSC::X86::): (JSC::X86Assembler::emitModRm_rm): (JSC::X86Assembler::emitModRm_rm_Unchecked): (JSC::X86Assembler::emitModRm_rmsib):
  • wrec/WREC.cpp: (JSC::WRECGenerator::generateNonGreedyQuantifier): (JSC::WRECGenerator::generateGreedyQuantifier): (JSC::WRECGenerator::generateParentheses): (JSC::WRECGenerator::generateBackreference): (JSC::WRECGenerator::gernerateDisjunction):
  • wrec/WREC.h:
5:07 PM Changeset in webkit [36306] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Geoffrey Garen.

Remove unnecessary friend declaration.

  • kjs/PropertyMap.h:
4:51 PM Changeset in webkit [36305] by hyatt@apple.com
  • 2 edits in trunk/WebCore

Fix the classic look on Windows by resolving the constants conflict between slider parts and buttons/checkboxes.

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

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

Reviewed by Geoffrey Garen.

Replace uses of PropertyMap::get and PropertyMap::getLocation with
PropertyMap::getOffset.

Sunspider reports this as a .6% improvement.

  • JavaScriptCore.exp:
  • kjs/JSObject.cpp: (JSC::JSObject::put): (JSC::JSObject::deleteProperty): (JSC::JSObject::getPropertyAttributes):
  • kjs/JSObject.h: (JSC::JSObject::getDirect): (JSC::JSObject::getDirectLocation): (JSC::JSObject::locationForOffset):
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::remove): (JSC::PropertyMap::getOffset):
  • kjs/PropertyMap.h:
4:36 PM Changeset in webkit [36303] by dino@apple.com
  • 3 edits
    4 adds in trunk

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

Reviewed by Sam Weinig.

Need to handle the case when 0% or 100% keyframe is omitted
https://bugs.webkit.org/show_bug.cgi?id=20679

Tests: animations/keyframes-from-missing.html

animations/keyframes-to-missing.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::addKeyframeStyle):
4:11 PM Changeset in webkit [36302] by hyatt@apple.com
  • 5 edits in trunk/WebCore

Resurrect RenderThemeWin and bring it up to ToT.

3:35 PM Changeset in webkit [36301] by cwzwarich@webkit.org
  • 5 edits in trunk/JavaScriptCore

2008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Sam Weinig.

Bug 20754: Remove emit prefix from assembler opcode methods
<https://bugs.webkit.org/show_bug.cgi?id=20754>

  • VM/CTI.cpp: (JSC::CTI::emitGetArg): (JSC::CTI::emitGetPutArg): (JSC::CTI::emitPutArg): (JSC::CTI::emitPutArgConstant): (JSC::CTI::emitPutCTIParam): (JSC::CTI::emitGetCTIParam): (JSC::CTI::emitPutToCallFrameHeader): (JSC::CTI::emitGetFromCallFrameHeader): (JSC::CTI::emitPutResult): (JSC::CTI::emitDebugExceptionCheck): (JSC::CTI::emitCall): (JSC::CTI::emitJumpSlowCaseIfNotImm): (JSC::CTI::emitJumpSlowCaseIfNotImms): (JSC::CTI::emitFastArithDeTagImmediate): (JSC::CTI::emitFastArithReTagImmediate): (JSC::CTI::emitFastArithPotentiallyReTagImmediate): (JSC::CTI::emitFastArithImmToInt): (JSC::CTI::emitFastArithIntToImmOrSlowCase): (JSC::CTI::emitFastArithIntToImmNoCheck): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateArrayLengthTrampoline): (JSC::CTI::privateStringLengthTrampoline): (JSC::CTI::compileRegExp):
  • masm/MacroAssemblerWin.cpp: (JSC::MacroAssembler::emitConvertToFastCall): (JSC::MacroAssembler::emitRestoreArgumentReference):
  • masm/X86Assembler.h: (JSC::X86Assembler::pushl_r): (JSC::X86Assembler::pushl_m): (JSC::X86Assembler::popl_r): (JSC::X86Assembler::popl_m): (JSC::X86Assembler::movl_rr): (JSC::X86Assembler::addl_rr): (JSC::X86Assembler::addl_i8r): (JSC::X86Assembler::addl_i32r): (JSC::X86Assembler::addl_mr): (JSC::X86Assembler::andl_rr): (JSC::X86Assembler::andl_i32r): (JSC::X86Assembler::cmpl_i8r): (JSC::X86Assembler::cmpl_rr): (JSC::X86Assembler::cmpl_rm): (JSC::X86Assembler::cmpl_i32r): (JSC::X86Assembler::cmpl_i32m): (JSC::X86Assembler::cmpw_rm): (JSC::X86Assembler::orl_rr): (JSC::X86Assembler::subl_rr): (JSC::X86Assembler::subl_i8r): (JSC::X86Assembler::subl_i32r): (JSC::X86Assembler::subl_mr): (JSC::X86Assembler::testl_i32r): (JSC::X86Assembler::testl_rr): (JSC::X86Assembler::xorl_i8r): (JSC::X86Assembler::xorl_rr): (JSC::X86Assembler::sarl_i8r): (JSC::X86Assembler::sarl_CLr): (JSC::X86Assembler::shl_i8r): (JSC::X86Assembler::shll_CLr): (JSC::X86Assembler::mull_rr): (JSC::X86Assembler::idivl_r): (JSC::X86Assembler::cdq): (JSC::X86Assembler::movl_mr): (JSC::X86Assembler::movzwl_mr): (JSC::X86Assembler::movl_rm): (JSC::X86Assembler::movl_i32r): (JSC::X86Assembler::movl_i32m): (JSC::X86Assembler::leal_mr): (JSC::X86Assembler::ret): (JSC::X86Assembler::jmp_r): (JSC::X86Assembler::jmp_m): (JSC::X86Assembler::call_r):
  • wrec/WREC.cpp: (JSC::WRECGenerator::generateBacktrack1): (JSC::WRECGenerator::generateBacktrackBackreference): (JSC::WRECGenerator::generateBackreferenceQuantifier): (JSC::WRECGenerator::generateNonGreedyQuantifier): (JSC::WRECGenerator::generateGreedyQuantifier): (JSC::WRECGenerator::generatePatternCharacter): (JSC::WRECGenerator::generateCharacterClassInvertedRange): (JSC::WRECGenerator::generateCharacterClassInverted): (JSC::WRECGenerator::generateCharacterClass): (JSC::WRECGenerator::generateParentheses): (JSC::WRECGenerator::gererateParenthesesResetTrampoline): (JSC::WRECGenerator::generateAssertionBOL): (JSC::WRECGenerator::generateAssertionEOL): (JSC::WRECGenerator::generateAssertionWordBoundary): (JSC::WRECGenerator::generateBackreference): (JSC::WRECGenerator::gernerateDisjunction):
1:44 PM Changeset in webkit [36300] by cwzwarich@webkit.org
  • 4 edits in trunk/JavaScriptCore

2008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Clean up the WREC code some more.

  • VM/CTI.cpp: (JSC::CTI::compileRegExp):
  • wrec/WREC.cpp: (JSC::getCharacterClassNewline): (JSC::getCharacterClassDigits): (JSC::getCharacterClassSpaces): (JSC::getCharacterClassWordchar): (JSC::getCharacterClassNondigits): (JSC::getCharacterClassNonspaces): (JSC::getCharacterClassNonwordchar): (JSC::WRECGenerator::generateBacktrack1): (JSC::WRECGenerator::generateBacktrackBackreference): (JSC::WRECGenerator::generateBackreferenceQuantifier): (JSC::WRECGenerator::generateNonGreedyQuantifier): (JSC::WRECGenerator::generateGreedyQuantifier): (JSC::WRECGenerator::generatePatternCharacter): (JSC::WRECGenerator::generateCharacterClassInvertedRange): (JSC::WRECGenerator::generateCharacterClassInverted): (JSC::WRECGenerator::generateCharacterClass): (JSC::WRECGenerator::generateParentheses): (JSC::WRECGenerator::gererateParenthesesResetTrampoline): (JSC::WRECGenerator::generateAssertionBOL): (JSC::WRECGenerator::generateAssertionEOL): (JSC::WRECGenerator::generateAssertionWordBoundary): (JSC::WRECGenerator::generateBackreference): (JSC::WRECGenerator::gernerateDisjunction): (JSC::WRECParser::parseCharacterClass): (JSC::WRECParser::parseEscape): (JSC::WRECParser::parseTerm):
  • wrec/WREC.h:
12:50 PM Changeset in webkit [36299] by dino@apple.com
  • 3 edits
    4 adds in trunk

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

Reviewed by Sam Weinig.

Document::createEvent missing cases for animation and
transition events.
https://bugs.webkit.org/show_bug.cgi?id=20734

Test: transitions/transition-end-event-create.html
Test: animations/animation-events-create.html

  • dom/Document.cpp: (WebCore::Document::createEvent):
    • add the two cases
12:07 PM Changeset in webkit [36298] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac
  • Tiger build fix
  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
11:48 AM Changeset in webkit [36297] by mitz@apple.com
  • 5 edits in trunk/WebCore
  • Tiger build fix
  • WebCore.Tiger.exp:
  • WebCore.base.exp:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
11:12 AM Changeset in webkit [36296] by mitz@apple.com
  • 13 edits in trunk

WebCore:

Reviewed by Darin Adler.

  • WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
  • WebCore.Tiger.exp:
  • WebCore.base.exp:
  • platform/graphics/SimpleFontData.h:
  • platform/graphics/mac/GlyphPageTreeNodeMac.cpp: (WebCore::GlyphPage::fill):
  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::initFontData): (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformDestroy):
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

WebKit/mac:

Reviewed by Darin Adler.

  • WebKit part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):

WebKitLibraries:

Reviewed by Darin Adler.

  • WebKitLibraries part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceLeopard.a:
9:40 AM Changeset in webkit [36295] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-09-09 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

<rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
breakpoints inside eval.

  • page/inspector/inspector.js:
7:17 AM Changeset in webkit [36294] by Simon Hausmann
  • 4 edits in trunk/WebCore

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

Reviewed by Simon.

Fix compilation of the Qt port with disabled plugins on Windows

7:17 AM Changeset in webkit [36293] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

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

Reviewed by Simon.

Added missing WebCore prefix to ResourceRequest

This is needed for Windows/CE compilation where there is a conflict
with a global ResourceRequest type. Elsewhere in this file ResourceRequest

is also prefixed with WebCore
2:01 AM Changeset in webkit [36292] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Build fix, rubber-stamped by Anders Carlsson.

Silence spurious build warnings about missing format attributes on functions in Assertions.cpp.

2:00 AM Changeset in webkit [36291] by mrowe@apple.com
  • 6 edits
    1 move
    1 delete in trunk/JavaScriptCore

Fix builds using the "debug" variant.

Rubber-stamped by Oliver Hunt.

This reverts r36130 and tweaks Identifier to export the same symbols for Debug
and Release configurations.

(JSC::Identifier::addSlowCase): #ifdef the call to checkSameIdentifierTable so that
there is no overhead in Release builds.
(JSC::Identifier::checkSameIdentifierTable): Add empty functions for Release builds.

  • kjs/identifier.h:

(JSC::Identifier::add): #ifdef the calls to checkSameIdentifierTable so that there is
no overhead in Release builds, and remove the inline definitions of checkSameIdentifierTable.

1:55 AM Changeset in webkit [36290] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Clean up WREC a bit to bring it closer to our coding style guidelines.

  • wrec/WREC.cpp: (JSC::): (JSC::getCharacterClass_newline): (JSC::getCharacterClass_d): (JSC::getCharacterClass_s): (JSC::getCharacterClass_w): (JSC::getCharacterClass_D): (JSC::getCharacterClass_S): (JSC::getCharacterClass_W): (JSC::CharacterClassConstructor::append): (JSC::WRECGenerator::generateNonGreedyQuantifier): (JSC::WRECGenerator::generateGreedyQuantifier): (JSC::WRECGenerator::generateCharacterClassInverted): (JSC::WRECParser::parseQuantifier): (JSC::WRECParser::parsePatternCharacterQualifier): (JSC::WRECParser::parseCharacterClassQuantifier): (JSC::WRECParser::parseBackreferenceQuantifier):
  • wrec/WREC.h: (JSC::Quantifier::): (JSC::Quantifier::Quantifier):
1:11 AM Changeset in webkit [36289] by ap@webkit.org
  • 7 edits in trunk

2008-09-09 Jungshik Shin <jungshik.shin@gmail.com>

Reviewed by Alexey Proskuryakov.

Try MIME charset names before trying IANA names
( https://bugs.webkit.org/show_bug.cgi?id=17537 )

With this change, shorter and more widely used names (preferred MIME
names) are returned by document.charset, document.characterSet,
document.inputEncoding rather than IANA names. This helps
fixing bug 18085 in addition to web developers who are more familiar
with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
used, the former is still recognized as aliases to the latter so that
there's very little, if any, to worry about.

1:05 AM Changeset in webkit [36288] by cwzwarich@webkit.org
  • 3 edits
    3 adds in trunk

2008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Mark Rowe.

Bug 20719: REGRESSION (r36135-36244): Hangs, then crashes after several seconds
<https://bugs.webkit.org/show_bug.cgi?id=20719>
<rdar://problem/6205787>

Fix a typo in the case-insensitive matching of character patterns.

JavaScriptCore:

  • wrec/WREC.cpp: (JSC::WRECGenerator::generatePatternCharacter):

LayoutTests:

  • fast/js/regexp-char-insensitive-expected.txt: Added.
  • fast/js/regexp-char-insensitive.html: Added.
  • fast/js/resources/regexp-char-insensitive.js: Added.
1:00 AM Changeset in webkit [36287] by mitz@apple.com
  • 2 edits in trunk/LayoutTests

Rubber-stamped by Maciej Stachowiak.

  • update results for the addition of console.dirxml
  • fast/dom/Window/window-properties-expected.txt:
12:58 AM Changeset in webkit [36286] by mjs@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Sam Weinig.


  • allow polymorphic inline cache to handle Math object functions and possibly other similar things


1.012x speedup on SunSpider.

  • kjs/MathObject.cpp: (JSC::MathObject::getOwnPropertySlot):
  • kjs/lookup.cpp: (JSC::setUpStaticFunctionSlot):
  • kjs/lookup.h: (JSC::getStaticPropertySlot):

Sep 8, 2008:

11:55 PM Changeset in webkit [36285] by weinig@apple.com
  • 11 edits
    3 adds in trunk

JavaScriptCore:

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

Reviewed by Maciej Stachowiak and Oliver Hunt.

Split storage of properties out of the PropertyMap and into the JSObject
to allow sharing PropertyMap on the StructureID. In order to get this
function correctly, the StructureID's transition mappings were changed to
transition based on property name and attribute pairs, instead of just
property name.

  • Removes the single property optimization now that the PropertyMap is shared. This will be replaced by in-lining some values on the JSObject.

This is a wash on Sunspider and a 6.7% win on the v8 test suite.

  • JavaScriptCore.base.exp:
  • VM/CTI.cpp: (JSC::CTI::privateCompileGetByIdSelf): Get the storage directly off the JSObject. (JSC::CTI::privateCompileGetByIdProto): Ditto. (JSC::CTI::privateCompileGetByIdChain): Ditto. (JSC::CTI::privateCompilePutByIdReplace): Ditto.
  • kjs/JSObject.cpp: (JSC::JSObject::mark): Mark the PropertyStorage. (JSC::JSObject::put): Update to get the propertyMap of the StructureID. (JSC::JSObject::deleteProperty): Ditto. (JSC::JSObject::defineGetter): Return early if the property is already a getter/setter. (JSC::JSObject::defineSetter): Ditto. (JSC::JSObject::getPropertyAttributes): Update to get the propertyMap of the StructureID (JSC::JSObject::getPropertyNames): Ditto. (JSC::JSObject::removeDirect): Ditto.
  • kjs/JSObject.h: Remove PropertyMap and add PropertyStorage. (JSC::JSObject::propertyStorage): return the PropertyStorage. (JSC::JSObject::getDirect): Update to get the propertyMap of the StructureID. (JSC::JSObject::getDirectLocation): Ditto. (JSC::JSObject::offsetForLocation): Compute location directly. (JSC::JSObject::hasCustomProperties): Update to get the propertyMap of the StructureID. (JSC::JSObject::hasGetterSetterProperties): Ditto. (JSC::JSObject::getDirectOffset): Get by indexing into PropertyStorage. (JSC::JSObject::putDirectOffset): Put by indexing into PropertyStorage. (JSC::JSObject::getOwnPropertySlotForWrite): Update to get the propertyMap of the StructureID. (JSC::JSObject::getOwnPropertySlot): Ditto. (JSC::JSObject::putDirect): Move putting into the StructureID unless the property already exists.
  • kjs/PropertyMap.cpp: Use the propertyStorage as the storage for the JSValues. (JSC::PropertyMap::checkConsistency): (JSC::PropertyMap::operator=): (JSC::PropertyMap::~PropertyMap): (JSC::PropertyMap::get): (JSC::PropertyMap::getLocation): (JSC::PropertyMap::put): (JSC::PropertyMap::getOffset): (JSC::PropertyMap::insert): (JSC::PropertyMap::expand): (JSC::PropertyMap::rehash): (JSC::PropertyMap::createTable): (JSC::PropertyMap::resizePropertyStorage): Resize the storage to match the size of the map (JSC::PropertyMap::remove): (JSC::PropertyMap::getEnumerablePropertyNames):
  • kjs/PropertyMap.h: (JSC::PropertyMapEntry::PropertyMapEntry): (JSC::PropertyMap::isEmpty): (JSC::PropertyMap::size): (JSC::PropertyMap::makingCount): (JSC::PropertyMap::PropertyMap):
  • kjs/StructureID.cpp: (JSC::StructureID::addPropertyTransition): Transitions now are based off the property name and attributes. (JSC::StructureID::toDictionaryTransition): Copy the map. (JSC::StructureID::changePrototypeTransition): Copy the map. (JSC::StructureID::getterSetterTransition): Copy the map. (JSC::StructureID::~StructureID):
  • kjs/StructureID.h: (JSC::TransitionTableHash::hash): Custom hash for transition map. (JSC::TransitionTableHash::equal): Ditto. (JSC::TransitionTableHashTraits::emptyValue): Custom traits for transition map (JSC::TransitionTableHashTraits::constructDeletedValue): Ditto. (JSC::TransitionTableHashTraits::isDeletedValue): Ditto. (JSC::StructureID::propertyMap): Added.

JavaScriptGlue:

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

Reviewed by Maciej Stachowiak and Oliver Hunt.

Add forwarding headers.

  • ForwardingHeaders/wtf/HashFunctions.h: Added.
  • ForwardingHeaders/wtf/HashTraits.h: Added.

WebCore:

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

Reviewed by Maciej Stachowiak and Oliver Hunt.

Add forwarding headers.

  • ForwardingHeaders/wtf/HashFunctions.h: Added.
11:20 PM Changeset in webkit [36284] by Adam Roben
  • 2 edits in trunk/WebKit/win

Respect the font smoothing preference when drawing via WebKitGraphics

Reviewed by Dave Hyatt.

  • WebKitGraphics.cpp: (makeFont): Check the font smoothing preference and update the FontDescription's rendering mode based on it.
10:01 PM Changeset in webkit [36283] by oliver@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Update ChangeLog for previous fix to include bug#

9:43 PM Changeset in webkit [36282] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Fix codegen for slow script dialog.

Reviewed by Mark Rowe

Correct error in timeout logic where execution tick count would
be reset to incorrect value due to incorrect offset and indirection.
Codegen for the slow script dialog was factored out into a separate
method (emitSlowScriptCheck) rather than having multiple copies of
the same code. Also added calls to generate slow script checks
for loop_if_less and loop_if_true opcodes.

8:08 PM Changeset in webkit [36281] by mitz@apple.com
  • 3 edits in trunk/WebKitTools

Reviewed by Mark Rowe.

  • add an option to run-webkit-tests to always use the complex text code path
  • DumpRenderTree/mac/DumpRenderTree.mm: (initializeGlobalsFromCommandLineOptions): (dumpRenderTree):
  • Scripts/run-webkit-tests:
6:37 PM Changeset in webkit [36280] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-09-08 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Remove references to the removed WRECompiler class.

  • VM/Machine.h:
  • wrec/WREC.h:
6:05 PM Changeset in webkit [36279] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-09-08 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Rubber-stamped by Mark Rowe.

Fix the build with CTI enabled but WREC disabled.

  • VM/CTI.cpp:
  • VM/CTI.h:
6:02 PM Changeset in webkit [36278] by dino@apple.com
  • 6 edits in trunk

2008-09-05 Dean Jackson <dino@apple.com>

Reviewed by Dan Bernstein.

Update grammar so that we can add a keyframe rule via the DOM.
https://bugs.webkit.org/show_bug.cgi?id=20613

  • css/CSSGrammar.y:
  • css/tokenizer.flex:
5:40 PM Changeset in webkit [36277] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-09-08 Antti Koivisto <Antti Koivisto>

Reviewed by Dan Bernstein.

Allow <br> for simple UA stylesheet. Editing code generates them. It does not
actually show up in any of the default stylesheets.

  • css/CSSStyleSelector.cpp: (WebCore::elementCanUseSimpleDefaultStyle):
5:35 PM Changeset in webkit [36276] by mitz@apple.com
  • 2 edits in trunk/WebCore

2008-09-08 Dimitri Glazkov <dglazkov@google.com>

Reviewed by Dan Bernstein.

Adds an extra check for Object Replacement Character (U+FFFC) to address
the issue with fast/text/zero-width-characters.html test when run
with Windows system default fonts.

  • platform/graphics/Font.h: (WebCore::Font::treatAsZeroWidthSpace):
3:51 PM Changeset in webkit [36275] by dino@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Sam Weinig.

Code style issue I forgot to fix from previous commit.

  • platform/graphics/AffineTransform.cpp: (WebCore::AffineTransform::blend):
3:46 PM Changeset in webkit [36274] by dino@apple.com
  • 5 edits
    2 adds in trunk

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

Reviewed by Sam Weinig

Test: animations/matrix-anim.html

  • ChangeLog:
  • platform/graphics/AffineTransform.cpp: (WebCore::affineTransformDecompose): (WebCore::affineTransformCompose): (WebCore::AffineTransform::blend):
  • platform/graphics/AffineTransform.h:
  • rendering/style/RenderStyle.cpp: (WebCore::MatrixTransformOperation::blend):
3:35 PM Changeset in webkit [36273] by sfalken@apple.com
  • 3 edits in trunk/WebKitTools

Another Windows nightly build fix.

Reviewed by Sam Weinig.

  • FindSafari/FindSafari.cpp: (_tmain): Delete existing WebKitNightly directory in temp.
  • FindSafari/Safari.exe.manifest: Add PROGIDs for each COM class. Remove non-production classes.
3:34 PM Changeset in webkit [36272] by sfalken@apple.com
  • 3 edits in trunk/WebKit/win

Another Windows nightly build fix.


Remove non-production versions of CLSIDs since we'll use registry free COM with
an embedded manifest now in all cases to find COM classes.


Reviewed by Sam Weinig.

  • ForEachCoClass.cpp: (setUseOpenSourceWebKit): Remove COM registration code.
  • Interfaces/WebKit.idl: Remove non-production COM classes
1:42 PM Changeset in webkit [36271] by mitz@apple.com
  • 2 edits in trunk/JavaScriptCore
  • build fix
  • kjs/nodes.h: (JSC::StatementNode::): (JSC::BlockNode::):
1:26 PM Changeset in webkit [36270] by kmccullough@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-09-08 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff.

<rdar://problem/6134407> Breakpoints in for loops, while loops or
conditions without curly braces don't break. (19306)
-Statement Lists already emit debug hooks but conditionals without
brackets are not lists.

  • kjs/nodes.cpp: (KJS::IfNode::emitCode): (KJS::IfElseNode::emitCode): (KJS::DoWhileNode::emitCode): (KJS::WhileNode::emitCode): (KJS::ForNode::emitCode): (KJS::ForInNode::emitCode):
  • kjs/nodes.h: (KJS::StatementNode::): (KJS::BlockNode::):
9:21 AM Changeset in webkit [36269] by ap@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=20668
multipart/form-data does not always include Content-type for submitted files

Cannot be tested with DRT or manual tests.

  • platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing. (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for unknown extensions, not just missing ones.
6:00 AM Changeset in webkit [36268] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-09-08 Simon Hausmann <Simon Hausmann>

Build fix for the Qt/Windows build, define USE_JSC to
enable the WebCore::String -> JSC::UString operator that
MSVC insists on seeing

5:17 AM Changeset in webkit [36267] by mjs@apple.com
  • 5 edits
    3 adds in trunk

JavaScriptCore:

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

Reviewed by Anders Carlsson.



1.052x on SunSpider
2.29x on date-format-tofte


Lots of real sites seem to get many hits on this cache as well,
including GMail, Google Spreadsheets, Slate and Digg (the last of
these gets over 100 hits on initial page load).

  • VM/CodeBlock.h: (JSC::EvalCodeCache::get):
  • VM/Machine.cpp: (JSC::Machine::callEval): (JSC::Machine::privateExecute): (JSC::Machine::cti_op_call_eval):
  • VM/Machine.h:

LayoutTests:

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

Reviewed by Anders Carlsson.

  • fast/js/eval-cache-crash-expected.txt: Added.
  • fast/js/eval-cache-crash.html: Added.
  • fast/js/resources/eval-cache-crash.js: Added.
4:39 AM Changeset in webkit [36266] by andersca@apple.com
  • 3 edits in trunk/WebCore

2008-09-08 Anders Carlsson <andersca@apple.com>

Reviewed by Maciej.

<rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.


In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).


Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.


  • bindings/js/JSDOMWindowBase.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::commitProvisionalLoad):
12:01 AM Changeset in webkit [36265] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-09-07 Antti Koivisto <Antti Koivisto>

Reviewed by Dave Hyatt.

Don't leak the simple stylesheet.
Also call RenderTheme::adjustDefaultStyleSheet() in right place.

  • css/CSSStyleSelector.cpp: (WebCore::loadFullDefaultStyle): (WebCore::loadSimpleDefaultStyle): (WebCore::CSSStyleSelector::styleForElement):

Sep 7, 2008:

9:25 PM Changeset in webkit [36264] by cwzwarich@webkit.org
  • 12 edits in trunk

2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver Hunt.

Bug 20711: Change KJS prefix on preprocessor macros to JSC
<https://bugs.webkit.org/show_bug.cgi?id=20711>

JavaScriptCore:

  • kjs/CommonIdentifiers.cpp: (JSC::CommonIdentifiers::CommonIdentifiers):
  • kjs/CommonIdentifiers.h:
  • kjs/PropertySlot.h: (JSC::PropertySlot::getValue): (JSC::PropertySlot::putValue): (JSC::PropertySlot::setValueSlot): (JSC::PropertySlot::setValue): (JSC::PropertySlot::setRegisterSlot):
  • kjs/lookup.h:
  • kjs/nodes.cpp:
  • kjs/nodes.h: (JSC::Node::): (JSC::ExpressionNode::): (JSC::StatementNode::): (JSC::NullNode::): (JSC::BooleanNode::): (JSC::NumberNode::): (JSC::ImmediateNumberNode::): (JSC::StringNode::): (JSC::RegExpNode::): (JSC::ThisNode::): (JSC::ResolveNode::): (JSC::ElementNode::): (JSC::ArrayNode::): (JSC::PropertyNode::): (JSC::PropertyListNode::): (JSC::ObjectLiteralNode::): (JSC::BracketAccessorNode::): (JSC::DotAccessorNode::): (JSC::ArgumentListNode::): (JSC::ArgumentsNode::): (JSC::NewExprNode::): (JSC::EvalFunctionCallNode::): (JSC::FunctionCallValueNode::): (JSC::FunctionCallResolveNode::): (JSC::FunctionCallBracketNode::): (JSC::FunctionCallDotNode::): (JSC::PrePostResolveNode::): (JSC::PostfixResolveNode::): (JSC::PostfixBracketNode::): (JSC::PostfixDotNode::): (JSC::PostfixErrorNode::): (JSC::DeleteResolveNode::): (JSC::DeleteBracketNode::): (JSC::DeleteDotNode::): (JSC::DeleteValueNode::): (JSC::VoidNode::): (JSC::TypeOfResolveNode::): (JSC::TypeOfValueNode::): (JSC::PrefixResolveNode::): (JSC::PrefixBracketNode::): (JSC::PrefixDotNode::): (JSC::PrefixErrorNode::): (JSC::UnaryPlusNode::): (JSC::NegateNode::): (JSC::BitwiseNotNode::): (JSC::LogicalNotNode::): (JSC::MultNode::): (JSC::DivNode::): (JSC::ModNode::): (JSC::AddNode::): (JSC::SubNode::): (JSC::LeftShiftNode::): (JSC::RightShiftNode::): (JSC::UnsignedRightShiftNode::): (JSC::LessNode::): (JSC::GreaterNode::): (JSC::LessEqNode::): (JSC::GreaterEqNode::): (JSC::ThrowableBinaryOpNode::): (JSC::InstanceOfNode::): (JSC::InNode::): (JSC::EqualNode::): (JSC::NotEqualNode::): (JSC::StrictEqualNode::): (JSC::NotStrictEqualNode::): (JSC::BitAndNode::): (JSC::BitOrNode::): (JSC::BitXOrNode::): (JSC::LogicalOpNode::): (JSC::ConditionalNode::): (JSC::ReadModifyResolveNode::): (JSC::AssignResolveNode::): (JSC::ReadModifyBracketNode::): (JSC::AssignBracketNode::): (JSC::AssignDotNode::): (JSC::ReadModifyDotNode::): (JSC::AssignErrorNode::): (JSC::CommaNode::): (JSC::VarDeclCommaNode::): (JSC::ConstDeclNode::): (JSC::ConstStatementNode::): (JSC::EmptyStatementNode::): (JSC::DebuggerStatementNode::): (JSC::ExprStatementNode::): (JSC::VarStatementNode::): (JSC::IfNode::): (JSC::IfElseNode::): (JSC::DoWhileNode::): (JSC::WhileNode::): (JSC::ForNode::): (JSC::ContinueNode::): (JSC::BreakNode::): (JSC::ReturnNode::): (JSC::WithNode::): (JSC::LabelNode::): (JSC::ThrowNode::): (JSC::TryNode::): (JSC::ParameterNode::): (JSC::ScopeNode::): (JSC::ProgramNode::): (JSC::EvalNode::): (JSC::FunctionBodyNode::): (JSC::FuncExprNode::): (JSC::FuncDeclNode::): (JSC::CaseClauseNode::): (JSC::ClauseListNode::): (JSC::CaseBlockNode::): (JSC::SwitchNode::):

WebCore:

  • bindings/js/JSEventTargetBase.h:
  • bindings/js/JSHTMLInputElementBase.cpp:
  • bindings/js/JSHTMLInputElementBase.h:
  • bindings/scripts/CodeGeneratorJS.pm:
6:28 PM Changeset in webkit [36263] by cwzwarich@webkit.org
  • 497 edits in trunk

2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 20704: Replace the KJS namespace
<https://bugs.webkit.org/show_bug.cgi?id=20704>

Rename the KJS namespace to JSC. There are still some uses of KJS in
preprocessor macros and comments, but these will also be changed some
time in the near future. There are also some uses in the names of JNI
functions, but I will check if these are safe to change as well.

JavaScriptCore:

  • API/APICast.h: (toJS): (toRef): (toGlobalRef):
  • API/JSBase.cpp:
  • API/JSCallbackConstructor.cpp:
  • API/JSCallbackConstructor.h:
  • API/JSCallbackFunction.cpp:
  • API/JSCallbackFunction.h:
  • API/JSCallbackObject.cpp:
  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h:
  • API/JSClassRef.cpp: (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions):
  • API/JSClassRef.h:
  • API/JSContextRef.cpp:
  • API/JSObjectRef.cpp:
  • API/JSProfilerPrivate.cpp:
  • API/JSStringRef.cpp:
  • API/JSValueRef.cpp: (JSValueGetType):
  • API/OpaqueJSString.cpp:
  • API/OpaqueJSString.h:
  • JavaScriptCore.Debug.exp:
  • JavaScriptCore.base.exp:
  • VM/CTI.cpp: (JSC::):
  • VM/CTI.h:
  • VM/CodeBlock.cpp:
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp:
  • VM/CodeGenerator.h:
  • VM/ExceptionHelpers.cpp:
  • VM/ExceptionHelpers.h:
  • VM/Instruction.h:
  • VM/JSPropertyNameIterator.cpp:
  • VM/JSPropertyNameIterator.h:
  • VM/LabelID.h:
  • VM/Machine.cpp:
  • VM/Machine.h:
  • VM/Opcode.cpp:
  • VM/Opcode.h:
  • VM/Register.h: (WTF::):
  • VM/RegisterFile.cpp:
  • VM/RegisterFile.h:
  • VM/RegisterID.h: (WTF::):
  • VM/SamplingTool.cpp:
  • VM/SamplingTool.h:
  • VM/SegmentedVector.h:
  • kjs/ArgList.cpp:
  • kjs/ArgList.h:
  • kjs/Arguments.cpp:
  • kjs/Arguments.h:
  • kjs/ArrayConstructor.cpp:
  • kjs/ArrayConstructor.h:
  • kjs/ArrayPrototype.cpp:
  • kjs/ArrayPrototype.h:
  • kjs/BatchedTransitionOptimizer.h:
  • kjs/BooleanConstructor.cpp:
  • kjs/BooleanConstructor.h:
  • kjs/BooleanObject.cpp:
  • kjs/BooleanObject.h:
  • kjs/BooleanPrototype.cpp:
  • kjs/BooleanPrototype.h:
  • kjs/CallData.cpp:
  • kjs/CallData.h:
  • kjs/ClassInfo.h:
  • kjs/CommonIdentifiers.cpp:
  • kjs/CommonIdentifiers.h:
  • kjs/ConstructData.cpp:
  • kjs/ConstructData.h:
  • kjs/DateConstructor.cpp:
  • kjs/DateConstructor.h:
  • kjs/DateInstance.cpp: (JSC::DateInstance::msToGregorianDateTime):
  • kjs/DateInstance.h:
  • kjs/DateMath.cpp:
  • kjs/DateMath.h:
  • kjs/DatePrototype.cpp:
  • kjs/DatePrototype.h:
  • kjs/DebuggerCallFrame.cpp:
  • kjs/DebuggerCallFrame.h:
  • kjs/Error.cpp:
  • kjs/Error.h:
  • kjs/ErrorConstructor.cpp:
  • kjs/ErrorConstructor.h:
  • kjs/ErrorInstance.cpp:
  • kjs/ErrorInstance.h:
  • kjs/ErrorPrototype.cpp:
  • kjs/ErrorPrototype.h:
  • kjs/ExecState.cpp:
  • kjs/ExecState.h:
  • kjs/FunctionConstructor.cpp:
  • kjs/FunctionConstructor.h:
  • kjs/FunctionPrototype.cpp:
  • kjs/FunctionPrototype.h:
  • kjs/GetterSetter.cpp:
  • kjs/GetterSetter.h:
  • kjs/GlobalEvalFunction.cpp:
  • kjs/GlobalEvalFunction.h:
  • kjs/IndexToNameMap.cpp:
  • kjs/IndexToNameMap.h:
  • kjs/InitializeThreading.cpp:
  • kjs/InitializeThreading.h:
  • kjs/InternalFunction.cpp:
  • kjs/InternalFunction.h: (JSC::InternalFunction::InternalFunction):
  • kjs/JSActivation.cpp:
  • kjs/JSActivation.h:
  • kjs/JSArray.cpp:
  • kjs/JSArray.h:
  • kjs/JSCell.cpp:
  • kjs/JSCell.h:
  • kjs/JSFunction.cpp:
  • kjs/JSFunction.h: (JSC::JSFunction::JSFunction):
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • kjs/JSGlobalData.h:
  • kjs/JSGlobalObject.cpp:
  • kjs/JSGlobalObject.h:
  • kjs/JSGlobalObjectFunctions.cpp:
  • kjs/JSGlobalObjectFunctions.h:
  • kjs/JSImmediate.cpp:
  • kjs/JSImmediate.h:
  • kjs/JSLock.cpp:
  • kjs/JSLock.h:
  • kjs/JSNotAnObject.cpp:
  • kjs/JSNotAnObject.h:
  • kjs/JSNumberCell.cpp:
  • kjs/JSNumberCell.h:
  • kjs/JSObject.cpp:
  • kjs/JSObject.h:
  • kjs/JSStaticScopeObject.cpp:
  • kjs/JSStaticScopeObject.h:
  • kjs/JSString.cpp:
  • kjs/JSString.h:
  • kjs/JSType.h:
  • kjs/JSValue.cpp:
  • kjs/JSValue.h:
  • kjs/JSVariableObject.cpp:
  • kjs/JSVariableObject.h:
  • kjs/JSWrapperObject.cpp:
  • kjs/JSWrapperObject.h:
  • kjs/LabelStack.cpp:
  • kjs/LabelStack.h:
  • kjs/MathObject.cpp:
  • kjs/MathObject.h:
  • kjs/NativeErrorConstructor.cpp:
  • kjs/NativeErrorConstructor.h:
  • kjs/NativeErrorPrototype.cpp:
  • kjs/NativeErrorPrototype.h:
  • kjs/NodeInfo.h:
  • kjs/NumberConstructor.cpp:
  • kjs/NumberConstructor.h:
  • kjs/NumberObject.cpp:
  • kjs/NumberObject.h:
  • kjs/NumberPrototype.cpp:
  • kjs/NumberPrototype.h:
  • kjs/ObjectConstructor.cpp:
  • kjs/ObjectConstructor.h:
  • kjs/ObjectPrototype.cpp:
  • kjs/ObjectPrototype.h:
  • kjs/Parser.cpp:
  • kjs/Parser.h:
  • kjs/PropertyMap.cpp: (JSC::PropertyMapStatisticsExitLogger::~PropertyMapStatisticsExitLogger):
  • kjs/PropertyMap.h:
  • kjs/PropertyNameArray.cpp:
  • kjs/PropertyNameArray.h:
  • kjs/PropertySlot.cpp:
  • kjs/PropertySlot.h:
  • kjs/PrototypeFunction.cpp:
  • kjs/PrototypeFunction.h:
  • kjs/PutPropertySlot.h:
  • kjs/RegExpConstructor.cpp:
  • kjs/RegExpConstructor.h:
  • kjs/RegExpObject.cpp:
  • kjs/RegExpObject.h:
  • kjs/RegExpPrototype.cpp:
  • kjs/RegExpPrototype.h:
  • kjs/ScopeChain.cpp:
  • kjs/ScopeChain.h:
  • kjs/ScopeChainMark.h:
  • kjs/Shell.cpp: (jscmain):
  • kjs/SmallStrings.cpp:
  • kjs/SmallStrings.h:
  • kjs/SourceProvider.h:
  • kjs/SourceRange.h:
  • kjs/StringConstructor.cpp:
  • kjs/StringConstructor.h:
  • kjs/StringObject.cpp:
  • kjs/StringObject.h:
  • kjs/StringObjectThatMasqueradesAsUndefined.h:
  • kjs/StringPrototype.cpp:
  • kjs/StringPrototype.h:
  • kjs/StructureID.cpp:
  • kjs/StructureID.h:
  • kjs/SymbolTable.h:
  • kjs/collector.cpp:
  • kjs/collector.h:
  • kjs/completion.h:
  • kjs/create_hash_table:
  • kjs/debugger.cpp:
  • kjs/debugger.h:
  • kjs/dtoa.cpp:
  • kjs/dtoa.h:
  • kjs/grammar.y:
  • kjs/identifier.cpp:
  • kjs/identifier.h: (JSC::Identifier::equal):
  • kjs/interpreter.cpp:
  • kjs/interpreter.h:
  • kjs/lexer.cpp: (JSC::Lexer::Lexer): (JSC::Lexer::clear): (JSC::Lexer::makeIdentifier):
  • kjs/lexer.h:
  • kjs/lookup.cpp:
  • kjs/lookup.h:
  • kjs/nodes.cpp:
  • kjs/nodes.h:
  • kjs/nodes2string.cpp:
  • kjs/operations.cpp:
  • kjs/operations.h:
  • kjs/protect.h:
  • kjs/regexp.cpp:
  • kjs/regexp.h:
  • kjs/ustring.cpp:
  • kjs/ustring.h: (JSC::operator!=): (JSC::IdentifierRepHash::hash): (WTF::):
  • masm/MacroAssembler.h:
  • masm/MacroAssemblerWin.cpp:
  • masm/X86Assembler.h:
  • pcre/pcre_exec.cpp:
  • profiler/CallIdentifier.h: (WTF::):
  • profiler/HeavyProfile.cpp:
  • profiler/HeavyProfile.h:
  • profiler/Profile.cpp:
  • profiler/Profile.h:
  • profiler/ProfileGenerator.cpp:
  • profiler/ProfileGenerator.h:
  • profiler/ProfileNode.cpp:
  • profiler/ProfileNode.h:
  • profiler/Profiler.cpp:
  • profiler/Profiler.h:
  • profiler/TreeProfile.cpp:
  • profiler/TreeProfile.h:
  • wrec/WREC.cpp:
  • wrec/WREC.h:
  • wtf/AVLTree.h:

WebCore:

  • WebCore.base.exp:
  • bindings/js/GCController.cpp:
  • bindings/js/JSAttrCustom.cpp:
  • bindings/js/JSAudioConstructor.cpp:
  • bindings/js/JSAudioConstructor.h: (WebCore::JSAudioConstructor::classInfo):
  • bindings/js/JSCSSRuleCustom.cpp:
  • bindings/js/JSCSSStyleDeclarationCustom.cpp:
  • bindings/js/JSCSSValueCustom.cpp:
  • bindings/js/JSCanvasPixelArrayCustom.cpp:
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  • bindings/js/JSClipboardCustom.cpp:
  • bindings/js/JSConsoleCustom.cpp:
  • bindings/js/JSCustomSQLStatementCallback.cpp: (WebCore::JSCustomSQLStatementCallback::handleEvent):
  • bindings/js/JSCustomSQLStatementCallback.h: (WebCore::JSCustomSQLStatementCallback::create):
  • bindings/js/JSCustomSQLStatementErrorCallback.cpp: (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  • bindings/js/JSCustomSQLStatementErrorCallback.h: (WebCore::JSCustomSQLStatementErrorCallback::create):
  • bindings/js/JSCustomSQLTransactionCallback.cpp: (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  • bindings/js/JSCustomSQLTransactionCallback.h: (WebCore::JSCustomSQLTransactionCallback::create):
  • bindings/js/JSCustomSQLTransactionErrorCallback.cpp: (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
  • bindings/js/JSCustomSQLTransactionErrorCallback.h: (WebCore::JSCustomSQLTransactionErrorCallback::create):
  • bindings/js/JSCustomVoidCallback.cpp: (WebCore::JSCustomVoidCallback::handleEvent):
  • bindings/js/JSCustomVoidCallback.h: (WebCore::JSCustomVoidCallback::create):
  • bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create):
  • bindings/js/JSCustomXPathNSResolver.h:
  • bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::dispatchEvent):
  • bindings/js/JSDOMBinding.cpp: (WebCore::jsOwnedStringOrNull):
  • bindings/js/JSDOMBinding.h: (WebCore::DOMObject::DOMObject): (WebCore::cacheDOMObject): (WebCore::cacheSVGDOMObject): (WebCore::DOMExceptionTranslator::DOMExceptionTranslator): (WebCore::toJS):
  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/js/JSDOMWindowBase.h: (WebCore::JSDOMWindowBase::classInfo): (WebCore::JSDOMWindowBase::d):
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::getPropertyAttributes):
  • bindings/js/JSDOMWindowCustom.h: (WebCore::asJSDOMWindow): (WebCore::JSDOMWindow::customGetOwnPropertySlot): (WebCore::JSDOMWindow::customPut): (WebCore::JSDOMWindowBase::allowsAccessFrom): (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::getPropertyAttributes):
  • bindings/js/JSDOMWindowShell.h: (WebCore::JSDOMWindowShell::classInfo):
  • bindings/js/JSDatabaseCustom.cpp:
  • bindings/js/JSDocumentCustom.cpp:
  • bindings/js/JSDocumentFragmentCustom.cpp:
  • bindings/js/JSElementCustom.cpp:
  • bindings/js/JSEventCustom.cpp:
  • bindings/js/JSEventListener.cpp:
  • bindings/js/JSEventListener.h: (WebCore::JSUnprotectedEventListener::create): (WebCore::JSEventListener::create):
  • bindings/js/JSEventTargetBase.cpp:
  • bindings/js/JSEventTargetBase.h: (WebCore::JSEventTargetBase::getValueProperty): (WebCore::JSEventTargetBase::putValueProperty): (WebCore::JSEventTargetBase::getOwnPropertySlot): (WebCore::JSEventTargetBase::put): (WebCore::JSEventTargetPrototype::JSEventTargetPrototype): (WebCore::JSEventTargetPrototype::self): (WebCore::JSEventTargetPrototype::getOwnPropertySlot): (WebCore::JSEventTargetPrototype::classInfo):
  • bindings/js/JSEventTargetNode.cpp:
  • bindings/js/JSEventTargetNode.h: (WebCore::JSEventTargetNode::getOwnPropertySlot): (WebCore::JSEventTargetNode::getValueProperty): (WebCore::JSEventTargetNode::put): (WebCore::JSEventTargetNode::putValueProperty):
  • bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): (WebCore::JSHTMLAllCollection::toBoolean):
  • bindings/js/JSHTMLAppletElementCustom.cpp:
  • bindings/js/JSHTMLCollectionCustom.cpp:
  • bindings/js/JSHTMLDocumentCustom.cpp:
  • bindings/js/JSHTMLElementCustom.cpp:
  • bindings/js/JSHTMLEmbedElementCustom.cpp:
  • bindings/js/JSHTMLFormElementCustom.cpp:
  • bindings/js/JSHTMLFrameElementCustom.cpp:
  • bindings/js/JSHTMLFrameSetElementCustom.cpp:
  • bindings/js/JSHTMLIFrameElementCustom.cpp:
  • bindings/js/JSHTMLInputElementBase.cpp: (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
  • bindings/js/JSHTMLInputElementBase.h: (WebCore::JSHTMLInputElementBase::classInfo):
  • bindings/js/JSHTMLObjectElementCustom.cpp:
  • bindings/js/JSHTMLOptionElementConstructor.cpp:
  • bindings/js/JSHTMLOptionElementConstructor.h: (WebCore::JSHTMLOptionElementConstructor::classInfo):
  • bindings/js/JSHTMLOptionsCollectionCustom.cpp:
  • bindings/js/JSHTMLSelectElementCustom.cpp: (WebCore::selectIndexSetter): (WebCore::JSHTMLSelectElement::indexSetter):
  • bindings/js/JSHTMLSelectElementCustom.h:
  • bindings/js/JSHistoryCustom.cpp:
  • bindings/js/JSImageConstructor.cpp:
  • bindings/js/JSImageConstructor.h: (WebCore::JSImageConstructor::classInfo):
  • bindings/js/JSInspectedObjectWrapper.cpp:
  • bindings/js/JSInspectedObjectWrapper.h: (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue): (WebCore::JSInspectedObjectWrapper::classInfo):
  • bindings/js/JSInspectorCallbackWrapper.cpp:
  • bindings/js/JSInspectorCallbackWrapper.h: (WebCore::JSInspectorCallbackWrapper::classInfo): (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
  • bindings/js/JSJavaScriptCallFrameCustom.cpp:
  • bindings/js/JSLocationCustom.cpp:
  • bindings/js/JSMimeTypeArrayCustom.cpp:
  • bindings/js/JSNSResolver.cpp:
  • bindings/js/JSNSResolver.h: (WebCore::JSNSResolver::create):
  • bindings/js/JSNamedNodeMapCustom.cpp:
  • bindings/js/JSNamedNodesCollection.cpp: (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
  • bindings/js/JSNamedNodesCollection.h: (WebCore::JSNamedNodesCollection::classInfo):
  • bindings/js/JSNavigatorCustom.cpp:
  • bindings/js/JSNodeCustom.cpp:
  • bindings/js/JSNodeFilterCondition.cpp: (WebCore::JSNodeFilterCondition::acceptNode):
  • bindings/js/JSNodeFilterCondition.h: (WebCore::JSNodeFilterCondition::create):
  • bindings/js/JSNodeFilterCustom.cpp:
  • bindings/js/JSNodeIteratorCustom.cpp:
  • bindings/js/JSNodeListCustom.cpp:
  • bindings/js/JSPluginArrayCustom.cpp:
  • bindings/js/JSPluginCustom.cpp:
  • bindings/js/JSPluginElementFunctions.cpp: (WebCore::getRuntimeObject):
  • bindings/js/JSPluginElementFunctions.h:
  • bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::construct): (WebCore::JSQuarantinedObjectWrapper::call):
  • bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::unwrappedObject): (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject): (WebCore::JSQuarantinedObjectWrapper::className):
  • bindings/js/JSRGBColor.cpp:
  • bindings/js/JSRGBColor.h: (WebCore::JSRGBColor::classInfo):
  • bindings/js/JSSQLResultSetRowListCustom.cpp:
  • bindings/js/JSSQLTransactionCustom.cpp:
  • bindings/js/JSSVGLazyEventListener.cpp:
  • bindings/js/JSSVGLazyEventListener.h:
  • bindings/js/JSSVGLengthCustom.cpp:
  • bindings/js/JSSVGMatrixCustom.cpp: (WebCore::JSSVGMatrix::inverse): (WebCore::JSSVGMatrix::rotateFromVector):
  • bindings/js/JSSVGPathSegCustom.cpp:
  • bindings/js/JSSVGPathSegListCustom.cpp: (WebCore::JSSVGPathSegList::initialize): (WebCore::JSSVGPathSegList::getItem): (WebCore::JSSVGPathSegList::insertItemBefore): (WebCore::JSSVGPathSegList::replaceItem): (WebCore::JSSVGPathSegList::removeItem): (WebCore::JSSVGPathSegList::appendItem):
  • bindings/js/JSSVGPointListCustom.cpp:
  • bindings/js/JSSVGTransformListCustom.cpp:
  • bindings/js/JSStorageCustom.cpp:
  • bindings/js/JSStyleSheetCustom.cpp:
  • bindings/js/JSStyleSheetListCustom.cpp:
  • bindings/js/JSTextCustom.cpp:
  • bindings/js/JSTreeWalkerCustom.cpp:
  • bindings/js/JSXMLHttpRequestConstructor.cpp:
  • bindings/js/JSXMLHttpRequestConstructor.h: (WebCore::JSXMLHttpRequestConstructor::classInfo):
  • bindings/js/JSXMLHttpRequestCustom.cpp:
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp:
  • bindings/js/JSXSLTProcessorConstructor.cpp:
  • bindings/js/JSXSLTProcessorConstructor.h: (WebCore::JSXSLTProcessorConstructor::classInfo):
  • bindings/js/JSXSLTProcessorCustom.cpp:
  • bindings/js/ScheduledAction.cpp:
  • bindings/js/ScheduledAction.h:
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::attachDebugger): (WebCore::ScriptController::windowScriptNPObject):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptControllerGtk.cpp: (WebCore::ScriptController::createScriptInstanceForWidget):
  • bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::createScriptInstanceForWidget): (WebCore::ScriptController::windowScriptObject): (WebCore::ScriptController::clearPlatformScriptObjects): (WebCore::updateRenderingForBindings): (WebCore::ScriptController::initJavaJSBindings):
  • bindings/js/ScriptControllerQt.cpp: (WebCore::ScriptController::createScriptInstanceForWidget):
  • bindings/js/ScriptControllerWin.cpp: (WebCore::ScriptController::createScriptInstanceForWidget):
  • bindings/js/ScriptControllerWx.cpp: (WebCore::ScriptController::createScriptInstanceForWidget):
  • bindings/js/StringSourceProvider.h: (WebCore::StringSourceProvider::getRange):
  • bindings/objc/DOM.mm: (-[DOMNode JSC::Bindings::]):
  • bindings/objc/DOMInternal.h:
  • bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]):
  • bindings/objc/DOMUtility.mm: (JSC::createDOMWrapper): (WebCore::createDOMWrapper):
  • bindings/objc/WebScriptObject.mm: (WebCore::createJSWrapper): (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
  • bindings/objc/WebScriptObjectPrivate.h:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/NP_jsobject.cpp:
  • bridge/NP_jsobject.h:
  • bridge/c/c_class.cpp:
  • bridge/c/c_class.h:
  • bridge/c/c_instance.cpp:
  • bridge/c/c_instance.h:
  • bridge/c/c_runtime.cpp:
  • bridge/c/c_runtime.h:
  • bridge/c/c_utility.cpp:
  • bridge/c/c_utility.h:
  • bridge/jni/jni_class.cpp:
  • bridge/jni/jni_class.h:
  • bridge/jni/jni_instance.cpp:
  • bridge/jni/jni_instance.h:
  • bridge/jni/jni_jsobject.h:
  • bridge/jni/jni_jsobject.mm: (JavaJSObject::call): (JavaJSObject::convertJObjectToValue):
  • bridge/jni/jni_objc.mm: (JSC::Bindings::dispatchJNICall):
  • bridge/jni/jni_runtime.cpp:
  • bridge/jni/jni_runtime.h:
  • bridge/jni/jni_utility.cpp:
  • bridge/jni/jni_utility.h:
  • bridge/npruntime.cpp: (_NPN_GetStringIdentifier):
  • bridge/objc/WebScriptObject.h:
  • bridge/objc/objc_class.h:
  • bridge/objc/objc_class.mm:
  • bridge/objc/objc_instance.h:
  • bridge/objc/objc_instance.mm:
  • bridge/objc/objc_runtime.h:
  • bridge/objc/objc_runtime.mm:
  • bridge/objc/objc_utility.h:
  • bridge/objc/objc_utility.mm:
  • bridge/qt/qt_class.cpp:
  • bridge/qt/qt_class.h:
  • bridge/qt/qt_instance.cpp:
  • bridge/qt/qt_instance.h:
  • bridge/qt/qt_runtime.cpp: (JSC::Bindings::convertQVariantToValue): (JSC::Bindings::):
  • bridge/qt/qt_runtime.h:
  • bridge/runtime.cpp:
  • bridge/runtime.h:
  • bridge/runtime_array.cpp:
  • bridge/runtime_array.h:
  • bridge/runtime_method.cpp:
  • bridge/runtime_method.h:
  • bridge/runtime_object.cpp:
  • bridge/runtime_object.h:
  • bridge/runtime_root.cpp: (JSC::Bindings::RootObject::invalidate): (JSC::Bindings::RootObject::gcProtect): (JSC::Bindings::RootObject::gcUnprotect):
  • bridge/runtime_root.h:
  • bridge/testbindings.cpp:
  • bridge/testbindings.mm:
  • bridge/testqtbindings.cpp:
  • dom/Document.cpp: (WebCore::Document::~Document):
  • dom/NSResolver.h:
  • dom/Node.cpp: (WebCore::Node::setDocument): (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor): (WebCore::resolveNamespacesForSelector): (WebCore::Node::querySelector): (WebCore::Node::querySelectorAll):
  • dom/Node.h:
  • dom/NodeFilter.cpp:
  • dom/NodeFilter.h:
  • dom/NodeFilterCondition.cpp:
  • dom/NodeFilterCondition.h:
  • dom/NodeIterator.cpp:
  • dom/NodeIterator.h:
  • dom/Traversal.cpp:
  • dom/Traversal.h:
  • dom/TreeWalker.cpp:
  • dom/TreeWalker.h:
  • dom/make_names.pl:
  • history/CachedPage.cpp:
  • history/CachedPage.h:
  • html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::getInstance):
  • html/HTMLPlugInElement.h:
  • loader/FrameLoader.cpp:
  • loader/FrameLoader.h:
  • loader/icon/IconDatabase.cpp: (WebCore::iconDatabase):
  • page/Console.cpp:
  • page/Console.h:
  • page/InspectorController.cpp: (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): (WebCore::InspectorResource::setXMLHttpRequestProperties): (WebCore::InspectorResource::sourceString): (WebCore::getResourceDocumentNode): (WebCore::search): (WebCore::InspectorController::focusNode): (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::addDatabaseScriptResource): (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
  • page/InspectorController.h: (WebCore::InspectorController::profiles):
  • page/JavaScriptCallFrame.cpp: (WebCore::JavaScriptCallFrame::scopeChain):
  • page/JavaScriptCallFrame.h: (WebCore::JavaScriptCallFrame::create): (WebCore::JavaScriptCallFrame::update):
  • page/JavaScriptDebugListener.h:
  • page/JavaScriptDebugServer.cpp: (WebCore::dispatchDidParseSource):
  • page/JavaScriptDebugServer.h:
  • page/JavaScriptProfile.cpp:
  • page/JavaScriptProfile.h:
  • page/JavaScriptProfileNode.cpp: (WebCore::getTotalTime): (WebCore::getSelfTime): (WebCore::getTotalPercent): (WebCore::getSelfPercent): (WebCore::getNumberOfCalls): (WebCore::getChildren): (WebCore::getVisible):
  • page/JavaScriptProfileNode.h:
  • page/Page.cpp: (WebCore::Page::setDebuggerForAllPages): (WebCore::Page::setDebugger):
  • page/Page.h: (WebCore::Page::debugger):
  • page/mac/FrameMac.mm:
  • platform/KURL.h: (WebCore::KURL::operator JSC::UString):
  • platform/text/AtomicString.cpp: (WebCore::AtomicString::add): (WebCore::AtomicString::find):
  • platform/text/AtomicString.h: (WebCore::AtomicString::AtomicString):
  • platform/text/PlatformString.h:
  • platform/text/String.cpp: (WebCore::charactersToDouble):
  • platform/win/BString.cpp:
  • platform/win/BString.h:
  • plugins/MimeTypeArray.h:
  • plugins/Plugin.h:
  • plugins/PluginArray.h:
  • plugins/PluginView.cpp: (WebCore::PluginView::start): (WebCore::PluginView::performRequest): (WebCore::PluginView::bindingInstance):
  • plugins/PluginView.h:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::paint): (WebCore::PluginView::handleKeyboardEvent): (WebCore::PluginView::handleMouseEvent): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::stop): (WebCore::PluginView::init):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::stop): (WebCore::PluginView::init):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::dispatchNPEvent): (WebCore::PluginView::handleKeyboardEvent): (WebCore::PluginView::handleMouseEvent): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::stop):
  • storage/Database.cpp: (WebCore::Database::Database):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseText): (WebCore::XMLHttpRequest::loadRequestAsynchronously): (WebCore::XMLHttpRequest::clearResponse): (WebCore::XMLHttpRequest::dropProtection): (WebCore::XMLHttpRequest::didFinishLoading): (WebCore::XMLHttpRequest::didReceiveData):
  • xml/XMLHttpRequest.h:

WebKit/gtk:

  • webkit/webkitprivate.cpp: (webkit_init):

WebKit/mac:

  • Misc/WebCoreStatistics.mm:
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream wantsAllStreams]):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): (-[WebBaseNetscapePluginView setWindowIfNecessary]): (-[WebBaseNetscapePluginView start]): (-[WebBaseNetscapePluginView createPluginScriptableObject]): (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): (-[WebBaseNetscapePluginView loadPluginRequest:]): (-[WebBaseNetscapePluginView _printedPluginBitmap]):
  • Plugins/WebPluginController.mm: (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): (-[WebPluginController startAllPlugins]): (-[WebPluginController stopAllPlugins]): (-[WebPluginController addPlugin:]): (-[WebPluginController destroyPlugin:]): (-[WebPluginController destroyAllPlugins]):
  • WebView/WebFrame.mm:
  • WebView/WebScriptDebugDelegate.mm:
  • WebView/WebScriptDebugger.h:
  • WebView/WebScriptDebugger.mm:
  • WebView/WebView.mm: (-[WebViewPrivate init]):

WebKit/qt:


  • Api/qwebframe.cpp: (QWebFrame::addToJavaScriptWindowObject): (QWebFrame::evaluateJavaScript):

WebKit/win:

  • WebCoreStatistics.cpp:
  • WebJavaScriptCollector.cpp:
  • WebScriptCallFrame.cpp: (WebScriptCallFrame::jsValueToString):
  • WebScriptCallFrame.h: (WebScriptCallFrame::state):
  • WebView.cpp: (WebView::WebView): (WebView::stringByEvaluatingJavaScriptFromString):

WebKit/wx:

  • WebFrame.cpp: (wxWebFrame::RunScript):
5:03 PM Changeset in webkit [36262] by abarth@webkit.org
  • 3 edits
    7 adds in trunk

WebCore:

2008-09-07 Adam Barth <abarth@webkit.org>

Reviewed by Sam Weinig.

Adopt opener restriction on frame navigation.

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

This restriction helps prevent an attacker from navigating top-level
windows that were created by another web site.

Tests: http/tests/security/frameNavigation/not-opener.html

http/tests/security/frameNavigation/opener.html

  • loader/FrameLoader.cpp: (WebCore::canAccessAncestor): (WebCore::FrameLoader::shouldAllowNavigation):

LayoutTests:

2008-09-07 Adam Barth <abarth@webkit.org>

Reviewed by Sam Weinig.

Tests that opener restriction is working properly.

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

  • http/tests/security/frameNavigation/not-opener-expected.txt: Added.
  • http/tests/security/frameNavigation/not-opener.html: Added.
  • http/tests/security/frameNavigation/opener-expected.txt: Copied from LayoutTests/fast/dom/Document/early-document-access-expected.txt.
  • http/tests/security/frameNavigation/opener.html: Added.
  • http/tests/security/frameNavigation/resources/not-opener-helper.html: Added.
  • http/tests/security/frameNavigation/resources/pass.html: Added.
  • http/tests/security/frameNavigation/resources/ready.html: Added.
4:23 PM Changeset in webkit [36261] by mjs@apple.com
  • 7 edits
    1 move in trunk/JavaScriptCore

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

Reviewed by Dan Bernstein.


  • rename IA32MacroAssembler class to X86Assembler


We otherwise call the platform X86, and also, I don't see any macros.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • masm/IA32MacroAsm.h: Removed.
  • masm/MacroAssembler.h: (KJS::MacroAssembler::MacroAssembler):
  • masm/MacroAssemblerWin.cpp: (KJS::MacroAssembler::emitRestoreArgumentReference):
  • masm/X86Assembler.h: Copied from masm/IA32MacroAsm.h. (KJS::X86Assembler::X86Assembler):
  • wrec/WREC.cpp: (KJS::WRECGenerator::generateNonGreedyQuantifier): (KJS::WRECGenerator::generateGreedyQuantifier): (KJS::WRECGenerator::generateParentheses): (KJS::WRECGenerator::generateBackreference): (KJS::WRECGenerator::gernerateDisjunction):
  • wrec/WREC.h:
4:19 PM Changeset in webkit [36260] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Maciej Stachowiak.

  • use the correct sign for vertical offsets of combining marks
  • platform/graphics/win/UniscribeController.cpp: (WebCore::UniscribeController::shapeAndPlaceItem):
3:30 PM Changeset in webkit [36259] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Dave Hyatt.

  • add the combining mark offsets in two places where I forgot them
  • platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs):
3:29 PM Changeset in webkit [36258] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Dave Hyatt.

  • correct glyph advances in complex text using web fonts rendered with Core Graphics
  • platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
10:28 AM Changeset in webkit [36257] by timothy@apple.com
  • 2 edits in trunk/PlanetWebKit

Add the Chromium Blog to Planet WebKit.

Reviewed by Tim Hatcher.

  • config.ini: Add The Chromium Blog
9:48 AM Changeset in webkit [36256] by timothy@apple.com
  • 2 adds in trunk/WebCore/manual-tests/inspector

Add a manual-test I forgot to commit in r36029.

9:48 AM Changeset in webkit [36255] by timothy@apple.com
  • 12 edits
    1 add in trunk/WebCore

Adds console.dirxml support to the Web Inspector.

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

Reviewed by Timothy Hatcher.

  • WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
  • bindings/js/JSConsoleCustom.cpp: (WebCore::JSConsole::dirxml):
  • page/Console.cpp: (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
  • page/Console.h: (WebCore::): Added NodeMessageLevel.
  • page/Console.idl: Added console.dirxml.
  • page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
  • page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
  • page/inspector/ElementsTreeOutline.js: Added. (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree. (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
  • page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
  • page/inspector/inspector.css:
  • page/inspector/inspector.html: Added ElementsTreeOutline.js.
  • page/inspector/inspector.js: Moved hover related methods to WebInspector. (WebInspector.altKeyDown): (WebInspector.forceHoverHighlight): (WebInspector.hoveredDOMNode): (WebInspector._updateHoverHighlightSoon): (WebInspector._updateHoverHighlight): (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
  • page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement, isAncestorIncludingParentFrames.
2:20 AM Changeset in webkit [36254] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-07 Cameron Zwarich <cwzwarich@webkit.org>

Not reviewed.

Visual C++ seems to have some odd casting rules, so just convert the
offending cast back to a C-style cast for now.

  • kjs/collector.cpp: (KJS::otherThreadStackPointer):
2:09 AM Changeset in webkit [36253] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Mark Rowe.

Attempt to fix the Windows build by using a const_cast to cast regs.Esp
to a uintptr_t instead of a reinterpret_cast.

  • kjs/collector.cpp: (KJS::otherThreadStackPointer):
1:41 AM Changeset in webkit [36252] by mrowe@apple.com
  • 3 edits in trunk/WebKit/win

Roll out r36245 in hopes of fixing the Windows nightly builds with Safari 3.1.2.

Rubber-stamped by Tim Hatcher.

1:39 AM Changeset in webkit [36251] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Sam Weinig.

Remove C-style casts from kjs/collector.cpp.

  • kjs/collector.cpp: (KJS::Heap::heapAllocate): (KJS::currentThreadStackBase): (KJS::Heap::markConservatively): (KJS::otherThreadStackPointer): (KJS::Heap::markOtherThreadConservatively): (KJS::Heap::sweep):
12:54 AM Changeset in webkit [36250] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Build fix for the debug variant.

  • DerivedSources.make: Also use the .Debug.exp exports file when building the debug variant.
12:21 AM Changeset in webkit [36249] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Timothy Hatcher.

Remove C-style casts from the CTI code.

  • VM/CTI.cpp: (KJS::CTI::emitGetArg): (KJS::CTI::emitGetPutArg): (KJS::ctiRepatchCallByReturnAddress): (KJS::CTI::compileOpCall): (KJS::CTI::privateCompileMainPass): (KJS::CTI::privateCompileGetByIdSelf): (KJS::CTI::privateCompileGetByIdProto): (KJS::CTI::privateCompileGetByIdChain): (KJS::CTI::privateCompilePutByIdReplace): (KJS::CTI::privateArrayLengthTrampoline): (KJS::CTI::privateStringLengthTrampoline):
12:12 AM Changeset in webkit [36248] by Stephanie Lewis
  • 3 edits in trunk/WebKitTools

2008-09-07 Stephanie Lewis <Stephanie Lewis>

Reviewed by Mark Rowe.

Fix DRT build

  • DumpRenderTree/DumpRenderTreePrefix.h:
  • DumpRenderTree/win/DumpRenderTree.vcproj:

Sep 6, 2008:

11:08 PM Changeset in webkit [36247] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Qt build fix.

10:50 PM Changeset in webkit [36246] by sfalken@apple.com
  • 3 edits
    3 adds in trunk/WebKitTools

Fix Windows nightlies.


Copy WebKit.dll alongside application so registry-free COM can find it.
Update embedded manifest to force use registry-free COM.

Reviewed by Dave Hyatt.

  • FindSafari/FindSafari.cpp: (copyManifest): (replaceManifest): (_tmain):
  • FindSafari/FindSafari.rc: Added.
  • FindSafari/FindSafari.vcproj:
  • FindSafari/Safari.exe.manifest: Added.
  • FindSafari/resource.h: Added.
10:48 PM Changeset in webkit [36245] by sfalken@apple.com
  • 3 edits in trunk/WebKit/win

Fix Windows nightlies.


Include both nightly and production CLSIDs in our interfaces, type library.
Remove COM registration code.

Reviewed by Dave Hyatt.

  • ForEachCoClass.cpp: (setUseOpenSourceWebKit):
  • Interfaces/WebKit.idl:
10:44 PM Changeset in webkit [36244] by mrowe@apple.com
  • 45 edits
    17 adds in trunk

Merge squirrelfish-extreme to trunk.

10:20 PM Changeset in webkit [36243] by mrowe@apple.com
  • 1 edit in branches/squirrelfish-extreme/JavaScriptCore/VM/CTI.h

Build fix.

9:44 PM Changeset in webkit [36242] by mrowe@apple.com
  • 1 edit in branches/squirrelfish-extreme/JavaScriptCore/kjs/regexp.cpp

Windows build fix.

9:37 PM Changeset in webkit [36241] by mrowe@apple.com
  • 6 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Sam Weinig. Adapted somewhat by Maciej Stachowiak.


  • refactor WREC to share more of the JIT infrastructure with CTI
  • VM/CTI.cpp: (KJS::CTI::emitGetArg): (KJS::CTI::emitGetPutArg): (KJS::CTI::emitPutArg): (KJS::CTI::emitPutArgConstant): (KJS::CTI::emitPutCTIParam): (KJS::CTI::emitGetCTIParam): (KJS::CTI::emitPutToCallFrameHeader): (KJS::CTI::emitGetFromCallFrameHeader): (KJS::CTI::emitPutResult): (KJS::CTI::emitDebugExceptionCheck): (KJS::CTI::emitJumpSlowCaseIfNotImm): (KJS::CTI::emitJumpSlowCaseIfNotImms): (KJS::CTI::emitFastArithDeTagImmediate): (KJS::CTI::emitFastArithReTagImmediate): (KJS::CTI::emitFastArithPotentiallyReTagImmediate): (KJS::CTI::emitFastArithImmToInt): (KJS::CTI::emitFastArithIntToImmOrSlowCase): (KJS::CTI::emitFastArithIntToImmNoCheck): (KJS::CTI::CTI): (KJS::CTI::compileOpCall): (KJS::CTI::privateCompileMainPass): (KJS::CTI::privateCompileSlowCases): (KJS::CTI::privateCompile): (KJS::CTI::privateCompileGetByIdSelf): (KJS::CTI::privateCompileGetByIdProto): (KJS::CTI::privateCompileGetByIdChain): (KJS::CTI::privateCompilePutByIdReplace): (KJS::CTI::privateArrayLengthTrampoline): (KJS::CTI::privateStringLengthTrampoline): (KJS::CTI::compileRegExp):
  • VM/CTI.h: (KJS::CallRecord::CallRecord): (KJS::JmpTable::JmpTable): (KJS::SlowCaseEntry::SlowCaseEntry): (KJS::CTI::JSRInfo::JSRInfo):
  • kjs/regexp.cpp: (KJS::RegExp::RegExp):
  • wrec/WREC.cpp: (KJS::GenerateParenthesesNonGreedyFunctor::GenerateParenthesesNonGreedyFunctor): (KJS::GeneratePatternCharacterFunctor::generateAtom): (KJS::GeneratePatternCharacterFunctor::backtrack): (KJS::GenerateCharacterClassFunctor::generateAtom): (KJS::GenerateCharacterClassFunctor::backtrack): (KJS::GenerateBackreferenceFunctor::generateAtom): (KJS::GenerateBackreferenceFunctor::backtrack): (KJS::GenerateParenthesesNonGreedyFunctor::generateAtom): (KJS::GenerateParenthesesNonGreedyFunctor::backtrack): (KJS::WRECGenerate::generateBacktrack1): (KJS::WRECGenerate::generateBacktrackBackreference): (KJS::WRECGenerate::generateBackreferenceQuantifier): (KJS::WRECGenerate::generateNonGreedyQuantifier): (KJS::WRECGenerate::generateGreedyQuantifier): (KJS::WRECGenerate::generatePatternCharacter): (KJS::WRECGenerate::generateCharacterClassInvertedRange): (KJS::WRECGenerate::generateCharacterClassInverted): (KJS::WRECGenerate::generateCharacterClass): (KJS::WRECGenerate::generateParentheses): (KJS::WRECGenerate::generateParenthesesNonGreedy): (KJS::WRECGenerate::gererateParenthesesResetTrampoline): (KJS::WRECGenerate::generateAssertionBOL): (KJS::WRECGenerate::generateAssertionEOL): (KJS::WRECGenerate::generateAssertionWordBoundary): (KJS::WRECGenerate::generateBackreference): (KJS::WRECGenerate::gernerateDisjunction): (KJS::WRECGenerate::terminateDisjunction): (KJS::WRECParser::parseGreedyQuantifier): (KJS::WRECParser::parseQuantifier): (KJS::WRECParser::parsePatternCharacterQualifier): (KJS::WRECParser::parseCharacterClassQuantifier): (KJS::WRECParser::parseBackreferenceQuantifier): (KJS::WRECParser::parseParentheses): (KJS::WRECParser::parseCharacterClass): (KJS::WRECParser::parseOctalEscape): (KJS::WRECParser::parseEscape): (KJS::WRECParser::parseTerm): (KJS::WRECParser::parseDisjunction):
  • wrec/WREC.h: (KJS::WRECGenerate::WRECGenerate): (KJS::WRECParser::): (KJS::WRECParser::WRECParser): (KJS::WRECParser::parseAlternative): (KJS::WRECParser::isEndOfPattern):
9:37 PM Changeset in webkit [36240] by mrowe@apple.com
  • 114 edits
    3 copies
    1 move
    13 adds
    2 deletes in branches/squirrelfish-extreme

Merge up to r36133.

9:37 PM Changeset in webkit [36239] by mrowe@apple.com
  • 1 edit in branches/squirrelfish-extreme/JavaScriptCore/ChangeLog

Re-review a patch only reviewed by Gavin before.

9:37 PM Changeset in webkit [36238] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

Fix the sampler build.

Reviewed by NOBODY(build fix)

9:37 PM Changeset in webkit [36237] by mrowe@apple.com
  • 10 edits
    1 delete in branches/squirrelfish-extreme/JavaScriptCore

Jump through the necessary hoops required to make MSVC cooperate with SFX

Reviewed by Maciej Stachowiak

We now explicitly declare the calling convention on all cti_op_* cfunctions,
and return int instead of bool where appropriate (despite the cdecl calling
convention seems to state MSVC generates code that returns the result value
through ecx). SFX behaves slightly differently under MSVC, specifically it
stores the base argument address for the cti_op_* functions in the first
argument, and then does the required stack manipulation through that pointer.
This is necessary as MSVC's optimisations assume they have complete control
of the stack, and periodically elide our stack manipulations, or move
values in unexpected ways. MSVC also frequently produces tail calls which may
clobber the first argument, so the MSVC path is slightly less efficient due
to the need to restore it.

9:37 PM Changeset in webkit [36236] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

2008-09-05 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak, or maybe the other way around.


Added the ability to coalesce JITCode buffer grow operations by first
growing the buffer and then executing unchecked puts to it.


About a 2% speedup on date-format-tofte.

  • VM/CTI.cpp: (KJS::CTI::compileOpCall):
  • masm/IA32MacroAsm.h: (KJS::JITCodeBuffer::ensureSpace): (KJS::JITCodeBuffer::putByteUnchecked): (KJS::JITCodeBuffer::putByte): (KJS::JITCodeBuffer::putShortUnchecked): (KJS::JITCodeBuffer::putShort): (KJS::JITCodeBuffer::putIntUnchecked): (KJS::JITCodeBuffer::putInt): (KJS::IA32MacroAssembler::emitTestl_i32r): (KJS::IA32MacroAssembler::emitMovl_mr): (KJS::IA32MacroAssembler::emitMovl_rm): (KJS::IA32MacroAssembler::emitMovl_i32m): (KJS::IA32MacroAssembler::emitUnlinkedJe): (KJS::IA32MacroAssembler::emitModRm_rr): (KJS::IA32MacroAssembler::emitModRm_rr_Unchecked): (KJS::IA32MacroAssembler::emitModRm_rm_Unchecked): (KJS::IA32MacroAssembler::emitModRm_rm): (KJS::IA32MacroAssembler::emitModRm_opr): (KJS::IA32MacroAssembler::emitModRm_opr_Unchecked): (KJS::IA32MacroAssembler::emitModRm_opm_Unchecked):
9:37 PM Changeset in webkit [36235] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

Disable WREC and CTI on platforms that we have not yet had a chance to test with.

Reviewed by Sam Weinig.

9:37 PM Changeset in webkit [36234] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

2008-09-05 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Use jo instead of a mask compare when fetching array.length and
string.length. 4% speedup on array.length / string.length torture
test.

  • VM/CTI.cpp: (KJS::CTI::privateArrayLengthTrampoline): (KJS::CTI::privateStringLengthTrampoline):
9:36 PM Changeset in webkit [36233] by mrowe@apple.com
  • 7 edits in branches/squirrelfish-extreme/JavaScriptCore

2008-09-05 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Removed a CTI compilation pass by recording labels during bytecode
generation. This is more to reduce complexity than it is to improve
performance.

SunSpider reports no change.

CodeBlock now keeps a "labels" set, which holds the offsets of all the
instructions that can be jumped to.

  • VM/CTI.cpp: Nixed a pass.
  • VM/CodeBlock.h: Added a "labels" set.
  • VM/LabelID.h: No need for a special LableID for holding jump destinations, since the CodeBlock now knows all jump destinations.
  • wtf/HashTraits.h: New hash traits to accomodate putting offset 0 in the set.
  • kjs/nodes.cpp: (KJS::TryNode::emitCode): Emit a dummy label to record sret targets.
9:36 PM Changeset in webkit [36232] by mrowe@apple.com
  • 1 edit in branches/squirrelfish-extreme/JavaScriptCore/ChangeLog

Re-review changes only reviewed by Gavin.

9:36 PM Changeset in webkit [36231] by mrowe@apple.com
  • 15 edits in branches/squirrelfish-extreme/JavaScriptCore

Move the JITCodeBuffer onto Machine and remove the static variables.

Reviewed by Oliver Hunt and Gavin Barraclough.

  • VM/CTI.cpp: Initialize m_jit with the Machine's code buffer.
  • VM/Machine.cpp:

(KJS::Machine::Machine): Allocate a JITCodeBuffer.

  • VM/Machine.h:
  • kjs/RegExpConstructor.cpp:

(KJS::constructRegExp): Pass the ExecState through.

  • kjs/RegExpPrototype.cpp:

(KJS::regExpProtoFuncCompile): Ditto.

  • kjs/StringPrototype.cpp:

(KJS::stringProtoFuncMatch): Ditto.
(KJS::stringProtoFuncSearch): Ditto.

  • kjs/nodes.cpp:

(KJS::RegExpNode::emitCode): Compile the pattern at code generation time
so that we have access to an ExecState.

  • kjs/nodes.h:

(KJS::RegExpNode::):

  • kjs/nodes2string.cpp:
  • kjs/regexp.cpp:

(KJS::RegExp::RegExp): Pass the ExecState through.
(KJS::RegExp::create): Ditto.

  • kjs/regexp.h:
  • masm/IA32MacroAsm.h:

(KJS::IA32MacroAssembler::IA32MacroAssembler): Reset the JITCodeBuffer when we are
constructed.

  • wrec/WREC.cpp:

(KJS::WRECompiler::compile): Retrieve the JITCodeBuffer from the Machine.

  • wrec/WREC.h:
9:36 PM Changeset in webkit [36230] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

Fix the build when CTI is disabled.

Reviewed by Oliver Hunt and Gavin Barraclough.

9:36 PM Changeset in webkit [36229] by mrowe@apple.com
  • 5 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Mark Rowe.

Fix some windows abi issues.

  • VM/CTI.cpp: (KJS::CTI::privateCompileMainPass): (KJS::CTI::privateCompileSlowCases):
  • VM/CTI.h: (KJS::CallRecord::CallRecord): (KJS::):
  • VM/Machine.cpp: (KJS::Machine::cti_op_resolve_func): (KJS::Machine::cti_op_post_inc): (KJS::Machine::cti_op_resolve_with_base): (KJS::Machine::cti_op_post_dec):
  • VM/Machine.h:
9:36 PM Changeset in webkit [36228] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

Fix ecma/FunctionObjects/15.3.5.3.js after I broke it in r93.

Reviewed by Sam Weinig.

  • VM/Machine.cpp:

(KJS::Machine::cti_op_call_NotJSFunction): Restore m_callFrame to the correct value after making the native call.
(KJS::Machine::cti_op_construct_NotJSConstruct): Ditto.

9:36 PM Changeset in webkit [36227] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

Fix fast/dom/Window/console-functions.html.

The call frame on the ExecState was not being updated on calls into native functions. This meant that functions
such as console.log would use the line number of the last JS function on the call stack.

Reviewed by Sam Weinig.

  • VM/Machine.cpp:

(KJS::Machine::cti_op_call_NotJSFunction): Update the ExecState's call frame before making a native function call,
and restore it when the function is done.
(KJS::Machine::cti_op_construct_NotJSConstruct): Ditto.

9:36 PM Changeset in webkit [36226] by mrowe@apple.com
  • 9 edits
    4 adds in branches/squirrelfish-extreme

Start bringing up SFX on windows.

Reviewed by Mark Rowe and Sam Weinig

Start doing the work to bring up SFX on windows. Initially
just working on WREC, as it does not make any calls so reduces
the amount of code that needs to be corrected.

Start abstracting the CTI JIT codegen engine.

9:36 PM Changeset in webkit [36225] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Sam Weinig.

Support for slow scripts (timeout checking).

  • VM/CTI.cpp: (KJS::CTI::privateCompileMainPass): (KJS::CTI::privateCompile):
  • VM/Machine.cpp: (KJS::slideRegisterWindowForCall): (KJS::Machine::cti_timeout_check): (KJS::Machine::cti_vm_throw):
9:36 PM Changeset in webkit [36224] by mrowe@apple.com
  • 7 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Mark Rowe.

Third round of style cleanup.

  • VM/CTI.cpp:
  • VM/CTI.h:
  • VM/CodeBlock.h:
  • VM/Machine.cpp:
  • VM/Machine.h:
  • kjs/ExecState.h:
9:36 PM Changeset in webkit [36223] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Jon Honeycutt.

Second round of style cleanup.

  • VM/CTI.cpp:
  • VM/CTI.h:
  • wrec/WREC.h:
9:36 PM Changeset in webkit [36222] by mrowe@apple.com
  • 6 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Mark Rowe.

First round of style cleanup.

  • VM/CTI.cpp:
  • VM/CTI.h:
  • masm/IA32MacroAsm.h:
  • wrec/WREC.cpp:
  • wrec/WREC.h:
9:36 PM Changeset in webkit [36221] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

2008-09-04 Geoffrey Garen <ggaren@apple.com>

Reviewed by Mark Rowe.


Merged http://trac.webkit.org/changeset/36081 to work with CTI.

  • VM/Machine.cpp: (KJS::Machine::tryCtiCacheGetByID):
9:36 PM Changeset in webkit [36220] by mrowe@apple.com
  • 1 edit
    16 adds in branches/squirrelfish-extreme/LayoutTests

2008-09-04 Geoffrey Garen <ggaren@apple.com>

Checking in some tests that got forgotten in a previous merge.

  • fast/js/pic/cached-deleted-properties-expected.txt: Added.
  • fast/js/pic/cached-deleted-properties.html: Added.
  • fast/js/pic/cached-getter-dictionary-and-proto-expected.txt: Added.
  • fast/js/pic/cached-getter-dictionary-and-proto.html: Added.
  • fast/js/pic/cached-getter-setter-expected.txt: Added.
  • fast/js/pic/cached-getter-setter.html: Added.
  • fast/js/pic/cached-prototype-setter-expected.txt: Added.
  • fast/js/pic/cached-prototype-setter.html: Added.
  • fast/js/pic/cached-single-entry-transition-expected.txt: Added.
  • fast/js/pic/cached-single-entry-transition.html: Added.
  • fast/js/pic/get-empty-string-expected.txt: Added.
  • fast/js/pic/get-empty-string.html: Added.
  • fast/js/pic/get-set-proxy-object-expected.txt: Added.
  • fast/js/pic/get-set-proxy-object.html: Added.
  • fast/js/pic/rehash-poisons-structure-expected.txt: Added.
  • fast/js/pic/rehash-poisons-structure.html: Added.
9:36 PM Changeset in webkit [36219] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Sam Weinig.

Enable profiling in CTI.

  • VM/CTI.h: (KJS::): (KJS::CTI::execute):
  • VM/Machine.cpp: (KJS::Machine::cti_op_call_JSFunction): (KJS::Machine::cti_op_call_NotJSFunction): (KJS::Machine::cti_op_ret): (KJS::Machine::cti_op_construct_JSConstruct): (KJS::Machine::cti_op_construct_NotJSConstruct):
9:36 PM Changeset in webkit [36218] by mrowe@apple.com
  • 205 edits
    6 copies
    3 moves
    65 adds
    2 deletes in branches/squirrelfish-extreme

Merge up to r36102.

9:35 PM Changeset in webkit [36217] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

2008-09-04 Victor Hernandez <vhernandez@apple.com>

Reviewed by Geoffrey Garen.


Fixed an #if to support using WREC without CTI.

  • kjs/regexp.cpp: (KJS::RegExp::match):
9:35 PM Changeset in webkit [36216] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Oliver Hunt.

The array/string length trampolines are owned by the Machine, not the codeblock that compiled them.

  • VM/CTI.cpp: (KJS::CTI::privateArrayLengthTrampoline): (KJS::CTI::privateStringLengthTrampoline):
  • VM/Machine.cpp: (KJS::Machine::~Machine):
  • VM/Machine.h:
9:35 PM Changeset in webkit [36215] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

Fix a crash on launch of jsc when GuardMalloc is enabled.

Reviewed by Gavin Barraclough.

  • kjs/ScopeChain.h:

(KJS::ScopeChain::ScopeChain): Initialize m_node to 0 when we have no valid scope chain.
(KJS::ScopeChain::~ScopeChain): Null-check m_node before calling deref.

9:35 PM Changeset in webkit [36214] by mrowe@apple.com
  • 4 edits
    3 adds in branches/squirrelfish-extreme

Fix inspector and fast array access so that it bounds
checks correctly.

Reviewed by Gavin Barraclough

9:35 PM Changeset in webkit [36213] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

Move the assertion after the InitializeAndReturn block, as
that is used even when CTI is enabled.

  • VM/Machine.cpp:

(KJS::Machine::privateExecute):

9:35 PM Changeset in webkit [36212] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

Replace calls to exit with ASSERT_WITH_MESSAGE or ASSERT_NOT_REACHED.

Reviewed by Sam Weinig.

  • VM/CTI.cpp:

(KJS::CTI::privateCompile_pass1_Scan):
(KJS::CTI::privateCompile_pass2_Main):
(KJS::CTI::privateCompile_pass4_SlowCases):

  • VM/Machine.cpp:

(KJS::Machine::privateExecute):
(KJS::Machine::cti_vm_throw):

9:35 PM Changeset in webkit [36211] by mrowe@apple.com
  • 12 edits in branches/squirrelfish-extreme/JavaScriptCore

Tweak JavaScriptCore to compile on non-x86 platforms. This is achieved
by wrapping more code with ENABLE(CTI), ENABLE(WREC), and PLATFORM(X86)

Reviewed by Sam Weinig.

  • VM/CTI.cpp:
  • VM/CTI.h:
  • VM/CodeBlock.cpp:

(KJS::CodeBlock::printStructureIDs): Use %td as the format specifier for
printing a ptrdiff_t.

  • VM/Machine.cpp:
  • VM/Machine.h:
  • kjs/regexp.cpp:

(KJS::RegExp::RegExp):
(KJS::RegExp::~RegExp):
(KJS::RegExp::match):

  • kjs/regexp.h:
  • masm/IA32MacroAsm.h:
  • wrec/WREC.cpp:
  • wrec/WREC.h:
  • wtf/Platform.h: Only enable CTI and WREC on x86. Add an extra define to

track whether any MASM-using features are enabled.

9:35 PM Changeset in webkit [36210] by mrowe@apple.com
  • 7 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Oliver Hunt.

Copy Geoff's array/string length optimization for CTI.

  • VM/CTI.cpp: (KJS::CTI::privateArrayLengthTrampoline): (KJS::CTI::privateStringLengthTrampoline):
  • VM/CTI.h: (KJS::CTI::compileArrayLengthTrampoline): (KJS::CTI::compileStringLengthTrampoline):
  • VM/Machine.cpp: (KJS::Machine::Machine): (KJS::Machine::getCtiArrayLengthTrampoline): (KJS::Machine::getCtiStringLengthTrampoline): (KJS::Machine::tryCtiCacheGetByID): (KJS::Machine::cti_op_get_by_id_second):
  • VM/Machine.h:
  • kjs/JSString.h:
  • kjs/ustring.h:
9:35 PM Changeset in webkit [36209] by mrowe@apple.com
  • 1 edit in branches/squirrelfish-extreme/JavaScriptCore/VM/CodeBlock.cpp

debug build fix from merge up to 36021

9:35 PM Changeset in webkit [36208] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Oliver Hunt.

Implement fast array accesses in CTI - 2-3% progression on sunspider.

  • VM/CTI.cpp: (KJS::CTI::emitFastArithIntToImmNoCheck): (KJS::CTI::compileOpCall): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile_pass4_SlowCases):
  • VM/CTI.h:
  • kjs/JSArray.h:
9:35 PM Changeset in webkit [36207] by mrowe@apple.com
  • 12 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Oliver Hunt.

Enable fast property access support in CTI.

  • VM/CTI.cpp: (KJS::ctiSetReturnAddress): (KJS::ctiRepatchCallByReturnAddress): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile): (KJS::CTI::privateCompileGetByIdSelf): (KJS::CTI::privateCompileGetByIdProto): (KJS::CTI::privateCompileGetByIdChain): (KJS::CTI::privateCompilePutByIdReplace):
  • VM/CTI.h: (KJS::CTI::compileGetByIdSelf): (KJS::CTI::compileGetByIdProto): (KJS::CTI::compileGetByIdChain): (KJS::CTI::compilePutByIdReplace):
  • VM/CodeBlock.cpp: (KJS::CodeBlock::~CodeBlock):
  • VM/CodeBlock.h:
  • VM/Machine.cpp: (KJS::doSetReturnAddressVmThrowTrampoline): (KJS::Machine::tryCtiCachePutByID): (KJS::Machine::tryCtiCacheGetByID): (KJS::Machine::cti_op_put_by_id): (KJS::Machine::cti_op_put_by_id_second): (KJS::Machine::cti_op_put_by_id_generic): (KJS::Machine::cti_op_put_by_id_fail): (KJS::Machine::cti_op_get_by_id): (KJS::Machine::cti_op_get_by_id_second): (KJS::Machine::cti_op_get_by_id_generic): (KJS::Machine::cti_op_get_by_id_fail): (KJS::Machine::cti_op_throw): (KJS::Machine::cti_vm_throw):
  • VM/Machine.h:
  • kjs/JSCell.h:
  • kjs/JSObject.h:
  • kjs/PropertyMap.h:
  • kjs/StructureID.cpp: (KJS::StructureIDChain::StructureIDChain):
  • masm/IA32MacroAsm.h: (KJS::IA32MacroAssembler::emitCmpl_i32m): (KJS::IA32MacroAssembler::emitMovl_mr): (KJS::IA32MacroAssembler::emitMovl_rm):
9:35 PM Changeset in webkit [36206] by mrowe@apple.com
  • 119 edits
    26 adds in branches/squirrelfish-extreme

JavaScriptCore:

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

Merge up to trunk - r36009:36021.

  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h: (KJS::::JSCallbackObject): (KJS::::put):
  • API/JSContextRef.cpp: (JSGlobalContextCreateInGroup):
  • API/JSObjectRef.cpp: (JSObjectMake): (JSObjectSetPrototype): (JSObjectSetProperty):
  • ChangeLog:
  • GNUmakefile.am:
  • JavaScriptCore.exp:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main):
  • VM/CodeBlock.cpp: (KJS::registerName): (KJS::pointerToSourceString): (KJS::printGetByIdOp): (KJS::printPutByIdOp): (KJS::CodeBlock::printStructureID): (KJS::CodeBlock::printStructureIDs): (KJS::CodeBlock::dump): (KJS::CodeBlock::~CodeBlock): (KJS::CodeBlock::derefStructureIDs): (KJS::CodeBlock::refStructureIDs):
  • VM/CodeBlock.h: (KJS::CodeBlock::CodeBlock):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator): (KJS::CodeGenerator::emitGetById): (KJS::CodeGenerator::emitPutById): (KJS::CodeGenerator::emitNewObject):
  • VM/CodeGenerator.h:
  • VM/ExceptionHelpers.cpp: (KJS::InterruptedExecutionError::InterruptedExecutionError): (KJS::createInterruptedExecutionException): (KJS::createNotAnObjectErrorStub):
  • VM/Instruction.h: (KJS::Instruction::Instruction): (KJS::Instruction::):
  • VM/Machine.cpp: (KJS::scopeChainForCall): (KJS::Machine::Machine): (KJS::Machine::execute): (KJS::createExceptionScope): (KJS::cachePrototypeChain): (KJS::Machine::tryCachePutByID): (KJS::Machine::uncachePutByID): (KJS::Machine::tryCacheGetByID): (KJS::Machine::uncacheGetByID): (KJS::Machine::privateExecute): (KJS::Machine::retrieveArguments): (KJS::Machine::cti_op_put_by_id): (KJS::Machine::cti_op_get_by_id): (KJS::Machine::cti_op_put_by_val): (KJS::Machine::cti_op_push_new_scope):
  • VM/Machine.h:
  • VM/Opcode.h:
  • VM/SamplingTool.cpp: (KJS::SamplingTool::dump):
  • kjs/Arguments.cpp: (KJS::Arguments::Arguments): (KJS::Arguments::put):
  • kjs/Arguments.h:
  • kjs/ArrayPrototype.cpp: (KJS::putProperty): (KJS::arrayProtoFuncPop): (KJS::arrayProtoFuncPush): (KJS::arrayProtoFuncShift): (KJS::arrayProtoFuncSplice): (KJS::arrayProtoFuncUnShift):
  • kjs/DateConstructor.cpp: (KJS::DateConstructor::DateConstructor):
  • kjs/InternalFunction.cpp: (KJS::InternalFunction::InternalFunction):
  • kjs/InternalFunction.h: (KJS::InternalFunction::InternalFunction):
  • kjs/JSActivation.cpp: (KJS::JSActivation::JSActivation): (KJS::JSActivation::getOwnPropertySlot): (KJS::JSActivation::put): (KJS::JSActivation::putWithAttributes):
  • kjs/JSActivation.h:
  • kjs/JSArray.cpp: (KJS::JSArray::JSArray): (KJS::JSArray::put): (KJS::JSArray::putSlowCase):
  • kjs/JSArray.h: (KJS::JSArray::):
  • kjs/JSCell.cpp: (KJS::JSCell::put):
  • kjs/JSCell.h: (KJS::JSCell::JSCell): (KJS::JSCell::structureID):
  • kjs/JSFunction.cpp: (KJS::JSFunction::put):
  • kjs/JSFunction.h: (KJS::JSFunction::JSFunction):
  • kjs/JSGlobalData.cpp: (KJS::JSGlobalData::JSGlobalData):
  • kjs/JSGlobalData.h:
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::put): (KJS::JSGlobalObject::putWithAttributes): (KJS::JSGlobalObject::reset): (KJS::JSGlobalObject::resetPrototype):
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObject): (KJS::JSGlobalObject::globalData):
  • kjs/JSImmediate.cpp: (KJS::JSImmediate::toObject): (KJS::JSImmediate::prototype):
  • kjs/JSNotAnObject.cpp: (KJS::JSNotAnObject::put):
  • kjs/JSNotAnObject.h: (KJS::JSNotAnObjectErrorStub::JSNotAnObjectErrorStub): (KJS::JSNotAnObject::JSNotAnObject):
  • kjs/JSObject.cpp: (KJS::JSObject::mark): (KJS::JSObject::put): (KJS::JSObject::deleteProperty): (KJS::JSObject::defaultValue): (KJS::JSObject::defineGetter): (KJS::JSObject::defineSetter): (KJS::JSObject::getPropertyNames): (KJS::JSObject::removeDirect): (KJS::JSObject::createInheritorID):
  • kjs/JSObject.h: (KJS::): (KJS::JSObject::offsetForLocation): (KJS::JSObject::hasGetterSetterProperties): (KJS::JSObject::getDirectOffset): (KJS::JSObject::putDirectOffset): (KJS::JSObject::isVariableObject): (KJS::JSObject::isWatchdogException): (KJS::JSObject::JSObject): (KJS::JSObject::~JSObject): (KJS::JSObject::prototype): (KJS::JSObject::setPrototype): (KJS::JSObject::setStructureID): (KJS::JSObject::inheritorID): (KJS::JSObject::getPropertySlot): (KJS::JSObject::getOwnPropertySlotForWrite): (KJS::JSObject::getOwnPropertySlot): (KJS::JSObject::putDirect): (KJS::JSValue::get): (KJS::JSValue::put):
  • kjs/JSStaticScopeObject.cpp: (KJS::JSStaticScopeObject::put):
  • kjs/JSStaticScopeObject.h: (KJS::JSStaticScopeObject::JSStaticScopeObject):
  • kjs/JSValue.h:
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::JSVariableObject):
  • kjs/JSWrapperObject.h: (KJS::JSWrapperObject::JSWrapperObject):
  • kjs/MathObject.cpp: (KJS::MathObject::MathObject): (KJS::MathObject::getOwnPropertySlot):
  • kjs/MathObject.h:
  • kjs/ObjectPrototype.cpp: (KJS::ObjectPrototype::ObjectPrototype):
  • kjs/PropertyMap.cpp: (KJS::PropertyMap::put):
  • kjs/PropertyMap.h: (KJS::PropertyMapEntry::PropertyMapEntry): (KJS::PropertyMapHashTable::entries): (KJS::PropertyMapHashTable::allocationSize): (KJS::PropertyMap::getOffset): (KJS::PropertyMap::putOffset): (KJS::PropertyMap::offsetForLocation): (KJS::PropertyMap::offsetForTableLocation):
  • kjs/PropertySlot.h: (KJS::PropertySlot::PropertySlot): (KJS::PropertySlot::isCacheable): (KJS::PropertySlot::cachedOffset): (KJS::PropertySlot::setValueSlot): (KJS::PutPropertySlot::): (KJS::PutPropertySlot::PutPropertySlot): (KJS::PutPropertySlot::setExistingProperty): (KJS::PutPropertySlot::setNewProperty): (KJS::PutPropertySlot::type): (KJS::PutPropertySlot::slotBase): (KJS::PutPropertySlot::isCacheable): (KJS::PutPropertySlot::cachedOffset):
  • kjs/RegExpConstructor.cpp: (KJS::RegExpMatchesArray::put): (KJS::RegExpMatchesArray::fillArrayInstance): (KJS::RegExpConstructor::put):
  • kjs/RegExpConstructor.h:
  • kjs/RegExpObject.cpp: (KJS::RegExpObject::put):
  • kjs/RegExpObject.h:
  • kjs/Shell.cpp: (GlobalObject::GlobalObject): (runWithScripts): (jscmain):
  • kjs/StringObject.cpp: (KJS::StringObject::put):
  • kjs/StringObject.h:
  • kjs/StructureID.cpp: Added. (KJS::StructureID::StructureID): (KJS::StructureID::addPropertyTransition): (KJS::StructureID::dictionaryTransition): (KJS::StructureID::changePrototypeTransition): (KJS::StructureID::getterSetterTransition): (KJS::StructureID::~StructureID): (KJS::StructureIDChain::StructureIDChain):
  • kjs/StructureID.h: Added. (KJS::StructureID::create): (KJS::StructureID::mark): (KJS::StructureID::isDictionary): (KJS::StructureID::prototype): (KJS::StructureID::setCachedPrototypeChain): (KJS::StructureID::cachedPrototypeChain): (KJS::StructureIDChain::create): (KJS::StructureIDChain::head):
  • kjs/SymbolTable.h:
  • kjs/lookup.cpp: (KJS::setUpStaticFunctionSlot):
  • kjs/lookup.h: (KJS::lookupPut):
  • kjs/nodes.cpp: (KJS::FuncExprNode::makeFunction):
  • kjs/ustring.h: (WTF::): (WTF::IdentifierRepHash::hash):

JavaScriptGlue:

2008-09-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.

First cut at inline caching for access to vanilla JavaScript properties.


Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
to JavaScriptGlue classes, and PutPropertySlot& arguments to put functions.

WebCore:

2008-09-02 Dean Jackson <dino@apple.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=20571
Make sure Window object can assign Animation/Transition event
listeners via attributes.

Also added a bunch of transition event tests, although
only transition-end-event-window is directly relevant to this patch.

(WebCore::JSDOMWindowBase::put):

Tests: transitions/transition-end-event-all-properties.html

transitions/transition-end-event-attributes.html
transitions/transition-end-event-container.html
transitions/transition-end-event-left.html
transitions/transition-end-event-multiple-01.html
transitions/transition-end-event-multiple-02.html
transitions/transition-end-event-multiple-03.html
transitions/transition-end-event-multiple-04.html
transitions/transition-end-event-nested.html
transitions/transition-end-event-transform.html
transitions/transition-end-event-window.html

WebKit/gtk:

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

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=19939
[GTK] webkit_web_history_item_get_title() fails with assertion

Make sure newly constructed WebHistoryItem objects wrap a WebCore
history item when necessary. Avoid G_PARAM_CONSTRUCT since it destroys
history data -- use WEBKIT_PARAM flags instead as they do the right
thing. This restores history functionality.

Also use CString to simplify UTF-8 string management.

  • webkit/webkitwebbackforwardlist.cpp: (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit): (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_list_with_limit): No need to initialize the vector with a size since it's cleared by the callee.
  • webkit/webkitwebhistoryitem.cpp: (_WebKitWebHistoryItemPrivate::webkit_web_history_item_finalize): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_class_init): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_title): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_alternate_title): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_uri): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_original_uri):

LayoutTests:

2008-09-02 Dean Jackson <dino@apple.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=20571
Add a bunch of tests for WebKitTransitionEndEvents.

  • transitions/end-event-helpers.js: Added.
  • transitions/interrupted-all-transition-expected.txt:
  • transitions/interrupted-all-transition.html:
  • transitions/opacity-transition-zindex-expected.txt:
  • transitions/transition-end-event-all-properties-expected.txt: Added.
  • transitions/transition-end-event-all-properties.html: Added.
  • transitions/transition-end-event-attributes-expected.txt: Added.
  • transitions/transition-end-event-attributes.html: Added.
  • transitions/transition-end-event-container-expected.txt: Added.
  • transitions/transition-end-event-container.html: Added.
  • transitions/transition-end-event-left-expected.txt: Added.
  • transitions/transition-end-event-left.html: Added.
  • transitions/transition-end-event-multiple-01-expected.txt: Added.
  • transitions/transition-end-event-multiple-01.html: Added.
  • transitions/transition-end-event-multiple-02-expected.txt: Added.
  • transitions/transition-end-event-multiple-02.html: Added.
  • transitions/transition-end-event-multiple-03-expected.txt: Added.
  • transitions/transition-end-event-multiple-03.html: Added.
  • transitions/transition-end-event-multiple-04-expected.txt: Added.
  • transitions/transition-end-event-multiple-04.html: Added.
  • transitions/transition-end-event-nested-expected.txt: Added.
  • transitions/transition-end-event-nested.html: Added.
  • transitions/transition-end-event-transform-expected.txt: Added.
  • transitions/transition-end-event-transform.html: Added.
  • transitions/transition-end-event-window-expected.txt: Added.
  • transitions/transition-end-event-window.html: Added.
9:35 PM Changeset in webkit [36205] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/LayoutTests

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

Rubber-stamped by Geoff Garen.

Change recursion limit to account for a fatter stack frame.

  • fast/js/deep-recursion-test.html:
9:35 PM Changeset in webkit [36204] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

A backslash (\) at the of a RegEx should produce an error.
Fixes fast/regex/test1.html.

  • wrec/WREC.cpp: (KJS::WRECompiler::parseEscape):
9:34 PM Changeset in webkit [36203] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Geoff Garen.

Link jumps for the slow case of op_loop_if_less. Fixes acid3.

  • VM/CTI.cpp: (KJS::CTI::privateCompile_pass4_SlowCases):
9:34 PM Changeset in webkit [36202] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Rubber-stamped by Maciej Stachowiak.

Switch WREC on by default.

  • wtf/Platform.h:
9:34 PM Changeset in webkit [36201] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Mark Rowe.

Fix two failures in fast/regex/test1.html

  • \- in a character class should be treated as a literal -
  • A missing max quantifier needs to be treated differently than a null max quantifier.
  • wrec/WREC.cpp: (KJS::WRECompiler::generateNonGreedyQuantifier): (KJS::WRECompiler::generateGreedyQuantifier): (KJS::WRECompiler::parseCharacterClass):
  • wrec/WREC.h: (KJS::Quantifier::Quantifier):
9:34 PM Changeset in webkit [36200] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Mark Rowe.

Fix crash in fast/js/kde/evil-n.html

  • kjs/regexp.cpp: Always pass a non-null offset vector to the wrec function.
9:34 PM Changeset in webkit [36199] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

Add pattern length limit fixing one test in fast/js.

  • wrec/WREC.cpp: (KJS::WRECompiler::compile):
  • wrec/WREC.h: (KJS::WRECompiler::):
9:34 PM Changeset in webkit [36198] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

Make octal escape parsing/back-reference parsing more closely match
prior behavior fixing one test in fast/js.

  • wrec/WREC.cpp: (KJS::WRECompiler::parseCharacterClass): 8 and 9 should be IdentityEscaped (KJS::WRECompiler::parseEscape):
  • wrec/WREC.h: (KJS::WRECompiler::peekDigit):
9:34 PM Changeset in webkit [36197] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

Fix one mozilla test.

  • wrec/WREC.cpp: (KJS::WRECompiler::generateCharacterClassInverted): Fix incorrect not ascii upper check.
9:34 PM Changeset in webkit [36196] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

Parse octal escapes in character classes fixing one mozilla test.

  • wrec/WREC.cpp: (KJS::WRECompiler::parseCharacterClass): (KJS::WRECompiler::parseOctalEscape):
  • wrec/WREC.h: (KJS::WRECompiler::consumeOctal):
9:34 PM Changeset in webkit [36195] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Oliver Hunt.

Fixes two mozilla tests with WREC enabled.

  • wrec/WREC.cpp: (KJS::CharacterClassConstructor::append): Keep the character class sorted when appending another character class.
9:34 PM Changeset in webkit [36194] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

Fixes two mozilla tests with WREC enabled.

  • wrec/WREC.cpp: (KJS::CharacterClassConstructor::addSortedRange): Insert the range at the correct position instead of appending it to the end.
9:34 PM Changeset in webkit [36193] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Oliver Hunt.

Move cross-compilation unit call into NEVER_INLINE function.

  • VM/Machine.cpp: (KJS::doSetReturnAddressVmThrowTrampoline):
9:34 PM Changeset in webkit [36192] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

Fix one test in fast/js.

  • VM/Machine.cpp: (KJS::Machine::cti_op_construct_NotJSConstruct): Throw a createNotAConstructorError, instead of a createNotAFunctionError.
9:34 PM Changeset in webkit [36191] by mrowe@apple.com
  • 8 edits in branches/squirrelfish-extreme/JavaScriptCore

2008-08-31 Gavin Barraclough <barraclough@apple.com>

Reviewed by Maciej Stachowiak.


Zero-cost exception handling. This patch takes the exception checking
back of the hot path. When an exception occurs in a Machine::cti*
method, the return address to JIT code is recorded, and is then
overwritten with a pointer to a trampoline routine. When the method
returns the trampoline will cause the cti_vm_throw method to be invoked.

cti_vm_throw uses the return address preserved above, to discover the
vPC of the bytecode that raised the exception (using a map build during
translation). From the VPC of the faulting bytecode the vPC of a catch
routine may be discovered (unwinding the stack where necesary), and then
a bytecode address for the catch routine is looked up. Final cti_vm_throw
overwrites its return address to JIT code again, to trampoline directly
to the catch routine.


cti_op_throw is handled in a similar fashion.

  • VM/CTI.cpp: (KJS::CTI::emitPutCTIParam): (KJS::CTI::emitPutToCallFrameHeader): (KJS::CTI::emitGetFromCallFrameHeader): (KJS::ctiSetReturnAddressForArgs): (KJS::CTI::emitDebugExceptionCheck): (KJS::CTI::printOpcodeOperandTypes): (KJS::CTI::emitCall): (KJS::CTI::compileOpCall): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile):
  • VM/CTI.h: (KJS::CallRecord::CallRecord): (KJS::): (KJS::CTI::execute):
  • VM/CodeBlock.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute): (KJS::Machine::cti_op_instanceof): (KJS::Machine::cti_op_call_NotJSFunction): (KJS::Machine::cti_op_resolve): (KJS::Machine::cti_op_resolve_func): (KJS::Machine::cti_op_resolve_skip): (KJS::Machine::cti_op_resolve_with_base): (KJS::Machine::cti_op_throw): (KJS::Machine::cti_op_in): (KJS::Machine::cti_vm_throw):
  • VM/RegisterFile.h: (KJS::RegisterFile::):
  • kjs/ExecState.h: (KJS::ExecState::setCtiReturnAddress): (KJS::ExecState::ctiReturnAddress):
  • masm/IA32MacroAsm.h: (KJS::IA32MacroAssembler::): (KJS::IA32MacroAssembler::emitPushl_m): (KJS::IA32MacroAssembler::emitPopl_m): (KJS::IA32MacroAssembler::getRelocatedAddress):
9:34 PM Changeset in webkit [36190] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

Fall back to PCRE for any regexp containing parentheses until we correctly backtrack within them.

Reviewed by Oliver Hunt.

  • wrec/WREC.cpp:

(KJS::WRECompiler::parseParentheses):

  • wrec/WREC.h:

(KJS::WRECompiler::):

9:34 PM Changeset in webkit [36189] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

Fix several issues within ecma_3/RegExp/perlstress-001.js with WREC enabled.

Reviewed by Oliver Hunt.

  • wrec/WREC.cpp:

(KJS::WRECompiler::generateNonGreedyQuantifier): Compare with the maximum quantifier count rather than the minimum.
(KJS::WRECompiler::generateAssertionEOL): Do a register-to-register comparison rather than immediate-to-register.
(KJS::WRECompiler::parseCharacterClass): Pass through the correct inversion flag.

9:34 PM Changeset in webkit [36188] by mrowe@apple.com
  • 139 edits
    2 copies
    2 moves
    20 adds
    1 delete in branches/squirrelfish-extreme

Merge up to r36009.

9:29 PM Changeset in webkit [36187] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/WebKitTools

Add a --profile flag to run-sunspider.

Reviewed by Maciej Stachowiak.

  • Scripts/webkitdirs.pm: Detect --profile or --profiling passed as a command-line argument

to build scripts as indicating that we should use the "Profiling" configuration. At present
this is only supported by JavaScriptCore, so using this argument to build any other project
will likely result in unexpected behaviour.

9:29 PM Changeset in webkit [36186] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

Re-fix the six remaining failures in the Mozilla JavaScript tests in a manner that does not kill performance.
This shows up as a 0.6% progression on SunSpider on my machine.

Grow the JITCodeBuffer's underlying buffer when we run out of space rather than just bailing out.

Reviewed by Oliver Hunt.

  • VM/CodeBlock.h:

(KJS::CodeBlock::~CodeBlock): Switch to using fastFree now that JITCodeBuffer::copy uses fastMalloc.

  • kjs/regexp.cpp: Ditto.
  • masm/IA32MacroAsm.h:

(KJS::JITCodeBuffer::growBuffer):
(KJS::JITCodeBuffer::JITCodeBuffer):
(KJS::JITCodeBuffer::~JITCodeBuffer):
(KJS::JITCodeBuffer::putByte):
(KJS::JITCodeBuffer::putShort):
(KJS::JITCodeBuffer::putInt):
(KJS::JITCodeBuffer::reset):
(KJS::JITCodeBuffer::copy):

9:29 PM Changeset in webkit [36185] by mrowe@apple.com
  • 6 edits in branches/squirrelfish-extreme/JavaScriptCore

Revert "Have JITCodeBuffer manage a Vector containing the generated code so that it can grow"

RS=Maciej

9:29 PM Changeset in webkit [36184] by mrowe@apple.com
  • 6 edits in branches/squirrelfish-extreme/JavaScriptCore

Have JITCodeBuffer manage a Vector containing the generated code so that it can grow
as needed when generating code for a large function. This fixes all six remaining failures
in Mozilla tests in both debug and release builds.

Reviewed by Oliver Hunt.

  • VM/CTI.cpp:

(KJS::CTI::privateCompile):

  • VM/CodeBlock.h:

(KJS::CodeBlock::~CodeBlock):

  • masm/IA32MacroAsm.h:

(KJS::JITCodeBuffer::putByte):
(KJS::JITCodeBuffer::putShort):
(KJS::JITCodeBuffer::putInt):
(KJS::JITCodeBuffer::getEIP):
(KJS::JITCodeBuffer::start):
(KJS::JITCodeBuffer::getOffset):
(KJS::JITCodeBuffer::getCode):
(KJS::IA32MacroAssembler::emitModRm_rr):

  • wrec/WREC.cpp:

(KJS::WRECompiler::compilePattern):

  • wrec/WREC.h:
9:29 PM Changeset in webkit [36183] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

Implement parsing of octal escapes in regular expressions. This fixes three Mozilla tests.

Reviewed by Oliver Hunt.

  • wrec/WREC.cpp:

(KJS::WRECompiler::parseOctalEscape):
(KJS::WRECompiler::parseEscape): Parse the escape sequence as an octal escape if it has a leading zero.
Add a FIXME about treating invalid backreferences as octal escapes in the future.

  • wrec/WREC.h:

(KJS::WRECompiler::consumeNumber): Multiply by 10 rather than 0 so that we handle numbers with more than
one digit.

  • wtf/ASCIICType.h:

(WTF::isASCIIOctalDigit):

9:29 PM Changeset in webkit [36182] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Mark Rowe.

Pass vPC to instanceof method. Fixes 2 mozilla tests in debug.

  • VM/CTI.cpp: (KJS::CTI::privateCompile_pass2_Main):
  • VM/Machine.cpp: (KJS::Machine::cti_op_instanceof):
9:29 PM Changeset in webkit [36181] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Mark Rowe.

Pass vPCs to resolve methods for correct exception creation. Fixes
17 mozilla tests in debug.

  • VM/CTI.cpp: (KJS::CTI::privateCompile_pass2_Main):
  • VM/CTI.h:
  • VM/Machine.cpp: (KJS::Machine::cti_op_resolve): (KJS::Machine::cti_op_resolve_func): (KJS::Machine::cti_op_resolve_skip): (KJS::Machine::cti_op_resolve_with_base):
9:29 PM Changeset in webkit [36180] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

2008-08-29 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Remembering to actually throw the exception passed to op throw helps.
Regressions 19 -> 6.

  • VM/Machine.cpp: (KJS::Machine::cti_op_throw): (KJS::Machine::cti_vm_throw):
9:29 PM Changeset in webkit [36179] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

2008-08-29 Gavin Barraclough <barraclough@apple.com>

Reviewed by Sam Weinig.

Support for exception unwinding the stack.

Once upon a time, Sam asked me for a bettr ChangeLog entry. The return address
is now preserved on entry to a JIT code function (if we preserve lazily we need
restore the native return address during exception stack unwind). This takes
the number of regressions down from ~150 to 19.

  • VM/CTI.cpp: (KJS::getJCB): (KJS::CTI::emitExceptionCheck): (KJS::CTI::compileOpCall): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile):
  • VM/CTI.h: (KJS::):
  • VM/Machine.cpp: (KJS::Machine::throwException): (KJS::Machine::cti_op_call_JSFunction): (KJS::Machine::cti_op_call_NotJSFunction): (KJS::Machine::cti_op_construct_JSConstruct): (KJS::Machine::cti_op_construct_NotJSConstruct): (KJS::Machine::cti_op_throw): (KJS::Machine::cti_vm_throw):
9:28 PM Changeset in webkit [36178] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

Fix js1_2/regexp/word_boundary.js and four other Mozilla tests with WREC enabled.

Reviewed by Oliver Hunt.

  • wrec/WREC.cpp:

(KJS::WRECompiler::generateCharacterClassInvertedRange): If none of the exact matches
succeeded, jump to failure.
(KJS::WRECompiler::compilePattern): Restore and increment the current position stored
on the stack to ensure that it will be reset to the correct position after a failed
match has consumed input.

9:28 PM Changeset in webkit [36177] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

Fix a hang in ecma_3/RegExp/15.10.2-1.js with WREC enabled.

A backreference with a quantifier would get stuck in an infinite
loop if the captured range was empty.

Reviewed by Oliver Hunt.

  • wrec/WREC.cpp:

(KJS::WRECompiler::generateBackreferenceQuantifier): If the captured range
was empty, do not attempt to match the backreference.
(KJS::WRECompiler::parseBackreferenceQuantifier):

  • wrec/WREC.h:

(KJS::Quantifier::):

9:28 PM Changeset in webkit [36176] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Oliver Hunt.

Implement op_debug.

  • VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main):
  • VM/Machine.cpp: (KJS::Machine::debug): (KJS::Machine::privateExecute): (KJS::Machine::cti_op_debug):
  • VM/Machine.h:
9:28 PM Changeset in webkit [36175] by mrowe@apple.com
  • 8 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

Implement op_switch_string fixing 1 mozilla test and one test in fast/js.

  • VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile):
  • VM/CTI.h: (KJS::SwitchRecord::): (KJS::SwitchRecord::SwitchRecord):
  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeBlock.h: (KJS::ExpressionRangeInfo::): (KJS::StringJumpTable::offsetForValue): (KJS::StringJumpTable::ctiForValue): (KJS::SimpleJumpTable::add): (KJS::SimpleJumpTable::ctiForValue):
  • VM/CodeGenerator.cpp: (KJS::prepareJumpTableForStringSwitch):
  • VM/Machine.cpp: (KJS::Machine::privateExecute): (KJS::Machine::cti_op_switch_string):
  • VM/Machine.h:
9:28 PM Changeset in webkit [36174] by mrowe@apple.com
  • 11 edits in branches/squirrelfish-extreme/JavaScriptCore

2008-08-28 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Do not recurse on the machine stack when executing op_call.

  • VM/CTI.cpp: (KJS::CTI::emitGetPutArg): (KJS::CTI::emitPutArg): (KJS::CTI::emitPutArgConstant): (KJS::CTI::compileOpCall): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile):
  • VM/CTI.h: (KJS::): (KJS::CTI::compile): (KJS::CTI::execute): (KJS::CTI::):
  • VM/Machine.cpp: (KJS::Machine::Machine): (KJS::Machine::execute): (KJS::Machine::cti_op_call_JSFunction): (KJS::Machine::cti_op_call_NotJSFunction): (KJS::Machine::cti_op_ret): (KJS::Machine::cti_op_construct_JSConstruct): (KJS::Machine::cti_op_construct_NotJSConstruct): (KJS::Machine::cti_op_call_eval):
  • VM/Machine.h:
  • VM/Register.h: (KJS::Register::Register):
  • VM/RegisterFile.h: (KJS::RegisterFile::):
  • kjs/InternalFunction.h: (KJS::InternalFunction::InternalFunction):
  • kjs/JSFunction.h: (KJS::JSFunction::JSFunction):
  • kjs/ScopeChain.h: (KJS::ScopeChain::ScopeChain):
  • masm/IA32MacroAsm.h: (KJS::IA32MacroAssembler::): (KJS::IA32MacroAssembler::emitModRm_opm): (KJS::IA32MacroAssembler::emitCmpl_i32m): (KJS::IA32MacroAssembler::emitCallN_r):
9:28 PM Changeset in webkit [36173] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Mark Rowe.

Exit instead of crashing in ctiUnsupported and ctiTimedOut.

  • VM/Machine.cpp: (KJS::ctiUnsupported): (KJS::ctiTimedOut):
9:28 PM Changeset in webkit [36172] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

Implement codegen for op_jsr and op_sret.

Reviewed by Maciej Stachowiak.

9:28 PM Changeset in webkit [36171] by mrowe@apple.com
  • 10 edits in branches/squirrelfish-extreme/JavaScriptCore

2008-08-28 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Initial support for exceptions (throw / catch must occur in same CodeBlock).

  • VM/CTI.cpp: (KJS::CTI::emitExceptionCheck): (KJS::CTI::emitCall): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile_pass4_SlowCases): (KJS::CTI::privateCompile):
  • VM/CTI.h:
  • VM/CodeBlock.cpp: (KJS::CodeBlock::nativeExceptionCodeForHandlerVPC):
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitCatch):
  • VM/Machine.cpp: (KJS::Machine::throwException): (KJS::Machine::privateExecute): (KJS::ctiUnsupported): (KJS::ctiTimedOut): (KJS::Machine::cti_op_add): (KJS::Machine::cti_op_pre_inc): (KJS::Machine::cti_timeout_check): (KJS::Machine::cti_op_loop_if_less): (KJS::Machine::cti_op_put_by_id): (KJS::Machine::cti_op_get_by_id): (KJS::Machine::cti_op_instanceof): (KJS::Machine::cti_op_del_by_id): (KJS::Machine::cti_op_mul): (KJS::Machine::cti_op_call): (KJS::Machine::cti_op_resolve): (KJS::Machine::cti_op_construct): (KJS::Machine::cti_op_get_by_val): (KJS::Machine::cti_op_resolve_func): (KJS::Machine::cti_op_sub): (KJS::Machine::cti_op_put_by_val): (KJS::Machine::cti_op_lesseq): (KJS::Machine::cti_op_loop_if_true): (KJS::Machine::cti_op_negate): (KJS::Machine::cti_op_resolve_skip): (KJS::Machine::cti_op_div): (KJS::Machine::cti_op_pre_dec): (KJS::Machine::cti_op_jless): (KJS::Machine::cti_op_not): (KJS::Machine::cti_op_jtrue): (KJS::Machine::cti_op_post_inc): (KJS::Machine::cti_op_eq): (KJS::Machine::cti_op_lshift): (KJS::Machine::cti_op_bitand): (KJS::Machine::cti_op_rshift): (KJS::Machine::cti_op_bitnot): (KJS::Machine::cti_op_resolve_with_base): (KJS::Machine::cti_op_mod): (KJS::Machine::cti_op_less): (KJS::Machine::cti_op_neq): (KJS::Machine::cti_op_post_dec): (KJS::Machine::cti_op_urshift): (KJS::Machine::cti_op_bitxor): (KJS::Machine::cti_op_bitor): (KJS::Machine::cti_op_call_eval): (KJS::Machine::cti_op_throw): (KJS::Machine::cti_op_push_scope): (KJS::Machine::cti_op_stricteq): (KJS::Machine::cti_op_nstricteq): (KJS::Machine::cti_op_to_jsnumber): (KJS::Machine::cti_op_in): (KJS::Machine::cti_op_del_by_val): (KJS::Machine::cti_vm_throw):
  • VM/Machine.h:
  • kjs/ExecState.h:
  • masm/IA32MacroAsm.h: (KJS::IA32MacroAssembler::emitCmpl_i32m):
9:28 PM Changeset in webkit [36170] by mrowe@apple.com
  • 87 edits
    28 adds in branches/squirrelfish-extreme

Merge up to r35963.

9:28 PM Changeset in webkit [36169] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

Print debugging info to stderr so that run-webkit-tests can capture it.
This makes it easy to check whether test failures are due to unimplemented
op codes, missing support for exceptions, etc.

Rubber-stamped by Oliver Hunt.

9:28 PM Changeset in webkit [36168] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

Fix fast/js/bitwise-and-on-undefined.html.

Reviewed by Gavin Barraclough.

A temporary value in the slow path of op_bitand was being stored in edx, but was
being clobbered by emitGetPutArg before we used it. To fix this, emitGetPutArg
now takes a third argument that specifies the scratch register to use when loading
from memory. This allows us to avoid clobbering the temporary in op_bitand.

9:28 PM Changeset in webkit [36167] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/WebKitTools

Fix run-webkit-tests to handle DRT exiting early.

Reviewed by Oliver Hunt.

  • Scripts/run-webkit-tests: Initialize $expectedResultPaths{$base} before it will be used.
9:28 PM Changeset in webkit [36166] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

Switch CTI on by default.

Rubber-stamped by Oliver Hunt.

9:28 PM Changeset in webkit [36165] by mrowe@apple.com
  • 5 edits
    4 adds in branches/squirrelfish-extreme

Fix the build of the full WebKit stack.

Reviewed by Oliver Hunt.

9:28 PM Changeset in webkit [36164] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

Implement op_new_error. Does not fix any tests as it is always followed by the unimplemented op_throw.

Reviewed by Sam Weinig.

  • VM/CTI.cpp:

(KJS::CTI::privateCompile_pass1_Scan):
(KJS::CTI::privateCompile_pass2_Main):

  • VM/Machine.cpp:

(KJS::Machine::cti_op_new_error):

  • VM/Machine.h:
9:27 PM Changeset in webkit [36163] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

Implement op_put_getter and op_put_setter.

  • VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main):
  • VM/Machine.cpp: (KJS::Machine::cti_op_put_getter): (KJS::Machine::cti_op_put_setter):
  • VM/Machine.h:
9:27 PM Changeset in webkit [36162] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

Implement op_del_by_val fixing 3 mozilla tests.

  • VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main):
  • VM/Machine.cpp: (KJS::Machine::cti_op_del_by_val):
  • VM/Machine.h:
9:27 PM Changeset in webkit [36161] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

2008-08-27 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Quick & dirty fix to get SamplingTool sampling op_call.

  • VM/SamplingTool.h: (KJS::SamplingTool::callingHostFunction):
9:27 PM Changeset in webkit [36160] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

Fix op_put_by_index.

  • VM/CTI.cpp: (KJS::CTI::privateCompile_pass2_Main): Use emitPutArgConstant instead of emitGetPutArg for the property value.
  • VM/Machine.cpp: (KJS::Machine::cti_op_put_by_index): Get the property value from the correct argument.
9:27 PM Changeset in webkit [36159] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

Implement op_switch_imm in the CTI fixing 13 mozilla tests.

  • VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main):
  • VM/Machine.cpp: (KJS::Machine::cti_op_switch_imm):
  • VM/Machine.h:
9:27 PM Changeset in webkit [36158] by mrowe@apple.com
  • 1 edit in branches/squirrelfish-extreme/JavaScriptCore/VM/Machine.cpp

Fixing mistake in commit

9:27 PM Changeset in webkit [36157] by mrowe@apple.com
  • 7 edits in branches/squirrelfish-extreme/JavaScriptCore

2008-08-27 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Implement op_switch_char in CTI.

  • VM/CTI.cpp: (KJS::CTI::emitCall): (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile):
  • VM/CTI.h: (KJS::CallRecord::CallRecord): (KJS::SwitchRecord::SwitchRecord):
  • VM/CodeBlock.h: (KJS::SimpleJumpTable::SimpleJumpTable::ctiForValue):
  • VM/Machine.cpp: (KJS::Machine::cti_op_switch_char):
  • VM/Machine.h:
  • masm/IA32MacroAsm.h: (KJS::IA32MacroAssembler::): (KJS::IA32MacroAssembler::emitJmpN_r): (KJS::IA32MacroAssembler::getRelocatedAddress):
  • wtf/Platform.h:
9:27 PM Changeset in webkit [36156] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Mark Rowe.

Implement op_put_by_index to fix 1 mozilla test.

  • VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main):
  • VM/Machine.cpp: (KJS::Machine::cti_op_put_by_index):
  • VM/Machine.h:
9:27 PM Changeset in webkit [36155] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

2008-08-26 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

More fixes from Geoff's review.

  • VM/CTI.cpp: (KJS::CTI::emitGetArg): (KJS::CTI::emitGetPutArg): (KJS::CTI::emitPutArg): (KJS::CTI::emitPutArgConstant): (KJS::CTI::getConstantImmediateNumericArg): (KJS::CTI::emitGetCTIParam): (KJS::CTI::emitPutResult): (KJS::CTI::emitCall): (KJS::CTI::emitJumpSlowCaseIfNotImm): (KJS::CTI::emitJumpSlowCaseIfNotImms): (KJS::CTI::getDeTaggedConstantImmediate): (KJS::CTI::emitFastArithDeTagImmediate): (KJS::CTI::emitFastArithReTagImmediate): (KJS::CTI::emitFastArithPotentiallyReTagImmediate): (KJS::CTI::emitFastArithImmToInt): (KJS::CTI::emitFastArithIntToImmOrSlowCase): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile_pass4_SlowCases): (KJS::CTI::privateCompile):
  • VM/CTI.h:
9:27 PM Changeset in webkit [36154] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

Implement op_jmp_scopes to fix 2 Mozilla tests.

Reviewed by Gavin Barraclough.

  • VM/CTI.cpp:

(KJS::CTI::privateCompile_pass1_Scan):
(KJS::CTI::privateCompile_pass2_Main):

  • VM/Machine.cpp:

(KJS::Machine::cti_op_push_new_scope): Update ExecState::m_scopeChain after calling ARG_setScopeChain.
(KJS::Machine::cti_op_jmp_scopes):

  • VM/Machine.h:
9:27 PM Changeset in webkit [36153] by mrowe@apple.com
  • 5 edits
    3 adds in branches/squirrelfish-extreme/JavaScriptCore

2008-08-26 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

WebKit Regular Expression Compiler. (set ENABLE_WREC = 1 in Platform.h).

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • kjs/regexp.cpp:
  • kjs/regexp.h:
  • wrec: Added.
  • wrec/WREC.cpp: Added.
  • wrec/WREC.h: Added.
  • wtf/Platform.h:
9:27 PM Changeset in webkit [36152] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Rubber-stamped by Oliver Hunt.

Remove bogus assertion.

  • VM/Machine.cpp: (KJS::Machine::cti_op_del_by_id):
9:27 PM Changeset in webkit [36151] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

Implement op_push_new_scope and stub out op_catch.

Reviewed by Sam Weinig.

  • VM/CTI.cpp:

(KJS::CTI::privateCompile_pass1_Scan):
(KJS::CTI::privateCompile_pass2_Main):

  • VM/Machine.cpp:

(KJS::Machine::cti_op_push_new_scope):
(KJS::Machine::cti_op_catch):

  • VM/Machine.h:
9:27 PM Changeset in webkit [36150] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

Clean up op_resolve_base so that it shares its implementation with the bytecode interpreter.

Reviewed by Sam Weinig.

  • VM/Machine.cpp:

(KJS::inlineResolveBase):
(KJS::resolveBase):

9:27 PM Changeset in webkit [36149] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

Add codegen support for op_instanceof, fixing 15 mozilla tests.

Reviewed by Sam Weinig

9:27 PM Changeset in webkit [36148] by mrowe@apple.com
  • 5 edits in branches/squirrelfish-extreme/JavaScriptCore

2008-08-26 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Fixes for initial review comments.

  • VM/CTI.cpp: (KJS::CTI::ctiCompileGetArg): (KJS::CTI::ctiCompileGetPutArg): (KJS::CTI::ctiCompilePutResult): (KJS::CTI::ctiCompileCall): (KJS::CTI::CTI): (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::printOpcodeOperandTypes): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile_pass4_SlowCases): (KJS::CTI::privateCompile):
  • VM/CTI.h:
  • VM/Register.h:
  • kjs/JSValue.h:
9:27 PM Changeset in webkit [36147] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

Fix up exception checking code.

  • VM/Machine.cpp: (KJS::Machine::cti_op_call): (KJS::Machine::cti_op_resolve): (KJS::Machine::cti_op_construct): (KJS::Machine::cti_op_resolve_func): (KJS::Machine::cti_op_resolve_skip): (KJS::Machine::cti_op_resolve_with_base): (KJS::Machine::cti_op_call_eval):
9:27 PM Changeset in webkit [36146] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Oliver Hunt.

Fix slowcase for op_post_inc and op_post_dec fixing 2 mozilla tests.

  • VM/CTI.cpp: (KJS::CTI::privateCompile_pass4_SlowCases):
9:27 PM Changeset in webkit [36145] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

Implement op_in, fixing 8 mozilla tests.

Reviewed by Sam Weinig.

  • VM/CTI.cpp:

(KJS::CTI::privateCompile_pass1_Scan):
(KJS::CTI::privateCompile_pass2_Main):

  • VM/Machine.cpp:

(KJS::Machine::cti_op_in):

  • VM/Machine.h:
9:27 PM Changeset in webkit [36144] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

Don't hardcode the size of a Register for op_new_array. Fixes a crash
seen during the Mozilla tests.

Rubber-stamped by Oliver Hunt.

  • VM/CTI.cpp:

(KJS::CTI::privateCompile_pass2_Main):

9:27 PM Changeset in webkit [36143] by mrowe@apple.com
  • 5 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

Add support for op_push_scope and op_pop_scope, fixing 20 mozilla tests.

  • VM/CTI.cpp: (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::privateCompile_pass2_Main):
  • VM/CTI.h:
  • VM/Machine.cpp: (KJS::Machine::cti_op_push_scope): (KJS::Machine::cti_op_pop_scope):
  • VM/Machine.h:
9:26 PM Changeset in webkit [36142] by mrowe@apple.com
  • 1 edit in branches/squirrelfish-extreme/JavaScriptCore/wtf/Platform.h
9:26 PM Changeset in webkit [36141] by mrowe@apple.com
  • 4 edits in branches/squirrelfish-extreme/JavaScriptCore

Support op_del_by_id

Reviewed by Maciej Stachowiak

Add codegen support for op_del_by_id, fixing 49 mozilla tests.

9:26 PM Changeset in webkit [36140] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

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

Reviewed by Gavin Barraclough.

Don't hardcode the size of a Register for op_get_scoped_var and op_put_scoped_var
fixing 513 mozilla tests in debug build.

  • VM/CTI.cpp: (KJS::CTI::privateCompile_pass2_Main):
9:26 PM Changeset in webkit [36139] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

Add support for op_loop

Reviewed by Maciej Stachowiak

Added code generator support for op_loop, fixing around 60 mozilla tests.

9:26 PM Changeset in webkit [36138] by mrowe@apple.com
  • 3 edits in branches/squirrelfish-extreme/JavaScriptCore

Set -fomit-frame-pointer in the correct location.

Reviewed by Sam Weinig.

  • Configurations/JavaScriptCore.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:
9:26 PM Changeset in webkit [36137] by mrowe@apple.com
  • 11 edits
    4 adds in branches/squirrelfish-extreme/JavaScriptCore

Reviewed by Geoff Garen.

Inital cut of CTI, Geoff's review fixes to follow.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CTI.cpp: Added. (KJS::getJCB): (KJS::CTI::ctiCompileGetArg): (KJS::CTI::ctiCompileGetPutArg): (KJS::CTI::ctiCompilePutArg): (KJS::CTI::ctiCompilePutArgImm): (KJS::CTI::ctiImmediateNumericArg): (KJS::CTI::ctiCompileGetCTIParam): (KJS::CTI::ctiCompilePutResult): (KJS::CTI::ctiCompileCall): (KJS::CTI::slowCaseIfNotImm): (KJS::CTI::slowCaseIfNotImms): (KJS::CTI::ctiFastArithDeTagConstImmediate): (KJS::CTI::ctiFastArithDeTagImmediate): (KJS::CTI::ctiFastArithReTagImmediate): (KJS::CTI::ctiFastArithPotentiallyReTagImmediate): (KJS::CTI::ctiFastArithImmToInt): (KJS::CTI::ctiFastArithIntToImmOrSlowCase): (KJS::CTI::CTI): (KJS::CTI::privateCompile_pass1_Scan): (KJS::CTI::ctiCompileAdd): (KJS::CTI::ctiCompileAddImm): (KJS::CTI::ctiCompileAddImmNotInt): (KJS::CTI::TEMP_HACK_PRINT_TYPES): (KJS::CTI::privateCompile_pass2_Main): (KJS::CTI::privateCompile_pass3_Link): (KJS::CTI::privateCompile_pass4_SlowCases): (KJS::CTI::privateCompile):
  • VM/CTI.h: Added. (KJS::CTI2Result::CTI2Result): (KJS::CallRecord::CallRecord): (KJS::JmpTable::JmpTable): (KJS::SlowCaseEntry::SlowCaseEntry): (KJS::CTI::compile): (KJS::CTI::LabelInfo::LabelInfo):
  • VM/CodeBlock.h: (KJS::CodeBlock::CodeBlock): (KJS::CodeBlock::~CodeBlock):
  • VM/Machine.cpp: (KJS::Machine::execute): (KJS::Machine::privateExecute): (KJS::ctiException): (KJS::ctiUnsupported): (KJS::ctiTimedOut): (KJS::Machine::cti_op_end): (KJS::Machine::cti_op_add): (KJS::Machine::cti_op_pre_inc): (KJS::Machine::cti_timeout_check): (KJS::Machine::cti_op_loop_if_less): (KJS::Machine::cti_op_new_object): (KJS::Machine::cti_op_put_by_id): (KJS::Machine::cti_op_get_by_id): (KJS::Machine::cti_op_mul): (KJS::Machine::cti_op_new_func): (KJS::Machine::cti_op_call): (KJS::Machine::cti_op_ret): (KJS::Machine::cti_op_new_array): (KJS::Machine::cti_op_resolve): (KJS::Machine::cti_op_construct): (KJS::Machine::cti_op_get_by_val): (KJS::Machine::cti_op_resolve_func): (KJS::Machine::cti_op_sub): (KJS::Machine::cti_op_put_by_val): (KJS::Machine::cti_op_lesseq): (KJS::Machine::cti_op_loop_if_true): (KJS::Machine::cti_op_negate): (KJS::Machine::cti_op_resolve_base): (KJS::Machine::cti_op_resolve_skip): (KJS::Machine::cti_op_div): (KJS::Machine::cti_op_pre_dec): (KJS::Machine::cti_op_jless): (KJS::Machine::cti_op_not): (KJS::Machine::cti_op_jtrue): (KJS::Machine::cti_op_post_inc): (KJS::Machine::cti_op_eq): (KJS::Machine::cti_op_lshift): (KJS::Machine::cti_op_bitand): (KJS::Machine::cti_op_rshift): (KJS::Machine::cti_op_bitnot): (KJS::Machine::cti_op_resolve_with_base): (KJS::Machine::cti_op_new_func_exp): (KJS::Machine::cti_op_mod): (KJS::Machine::cti_op_less): (KJS::Machine::cti_op_neq): (KJS::Machine::cti_op_post_dec): (KJS::Machine::cti_op_urshift): (KJS::Machine::cti_op_bitxor): (KJS::Machine::cti_op_new_regexp): (KJS::Machine::cti_op_bitor): (KJS::Machine::cti_op_call_eval): (KJS::Machine::cti_op_throw): (KJS::Machine::cti_op_get_pnames): (KJS::Machine::cti_op_next_pname): (KJS::Machine::cti_op_typeof): (KJS::Machine::cti_op_stricteq): (KJS::Machine::cti_op_nstricteq): (KJS::Machine::cti_op_to_jsnumber):
  • VM/Machine.h:
  • VM/Register.h: (KJS::Register::jsValue): (KJS::Register::getJSValue): (KJS::Register::codeBlock): (KJS::Register::scopeChain): (KJS::Register::i): (KJS::Register::r): (KJS::Register::vPC): (KJS::Register::jsPropertyNameIterator):
  • VM/SamplingTool.cpp: (KJS::): (KJS::SamplingTool::run): (KJS::SamplingTool::dump):
  • VM/SamplingTool.h:
  • kjs/JSImmediate.h: (KJS::JSImmediate::zeroImmediate): (KJS::JSImmediate::oneImmediate):
  • kjs/JSValue.h:
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::JSVariableObjectData::offsetOf_registers): (KJS::JSVariableObject::offsetOf_d): (KJS::JSVariableObject::offsetOf_Data_registers):
  • masm: Added.
  • masm/IA32MacroAsm.h: Added. (KJS::JITCodeBuffer::JITCodeBuffer): (KJS::JITCodeBuffer::putByte): (KJS::JITCodeBuffer::putShort): (KJS::JITCodeBuffer::putInt): (KJS::JITCodeBuffer::getEIP): (KJS::JITCodeBuffer::start): (KJS::JITCodeBuffer::getOffset): (KJS::JITCodeBuffer::reset): (KJS::JITCodeBuffer::copy): (KJS::IA32MacroAssembler::): (KJS::IA32MacroAssembler::emitModRm_rr): (KJS::IA32MacroAssembler::emitModRm_rm): (KJS::IA32MacroAssembler::emitModRm_rmsib): (KJS::IA32MacroAssembler::emitModRm_opr): (KJS::IA32MacroAssembler::emitModRm_opm): (KJS::IA32MacroAssembler::IA32MacroAssembler): (KJS::IA32MacroAssembler::emitInt3): (KJS::IA32MacroAssembler::emitPushl_r): (KJS::IA32MacroAssembler::emitPopl_r): (KJS::IA32MacroAssembler::emitMovl_rr): (KJS::IA32MacroAssembler::emitAddl_rr): (KJS::IA32MacroAssembler::emitAddl_i8r): (KJS::IA32MacroAssembler::emitAddl_i32r): (KJS::IA32MacroAssembler::emitAddl_mr): (KJS::IA32MacroAssembler::emitAndl_rr): (KJS::IA32MacroAssembler::emitAndl_i32r): (KJS::IA32MacroAssembler::emitCmpl_i8r): (KJS::IA32MacroAssembler::emitCmpl_rr): (KJS::IA32MacroAssembler::emitCmpl_rm): (KJS::IA32MacroAssembler::emitCmpl_i32r): (KJS::IA32MacroAssembler::emitCmpw_rm): (KJS::IA32MacroAssembler::emitOrl_rr): (KJS::IA32MacroAssembler::emitOrl_i8r): (KJS::IA32MacroAssembler::emitSubl_rr): (KJS::IA32MacroAssembler::emitSubl_i8r): (KJS::IA32MacroAssembler::emitSubl_i32r): (KJS::IA32MacroAssembler::emitSubl_mr): (KJS::IA32MacroAssembler::emitTestl_i32r): (KJS::IA32MacroAssembler::emitTestl_rr): (KJS::IA32MacroAssembler::emitXorl_i8r): (KJS::IA32MacroAssembler::emitXorl_rr): (KJS::IA32MacroAssembler::emitSarl_i8r): (KJS::IA32MacroAssembler::emitSarl_CLr): (KJS::IA32MacroAssembler::emitShl_i8r): (KJS::IA32MacroAssembler::emitShll_CLr): (KJS::IA32MacroAssembler::emitMull_rr): (KJS::IA32MacroAssembler::emitIdivl_r): (KJS::IA32MacroAssembler::emitCdq): (KJS::IA32MacroAssembler::emitMovl_mr): (KJS::IA32MacroAssembler::emitMovzwl_mr): (KJS::IA32MacroAssembler::emitMovl_rm): (KJS::IA32MacroAssembler::emitMovl_i32r): (KJS::IA32MacroAssembler::emitMovl_i32m): (KJS::IA32MacroAssembler::emitLeal_mr): (KJS::IA32MacroAssembler::emitRet): (KJS::IA32MacroAssembler::JmpSrc::JmpSrc): (KJS::IA32MacroAssembler::JmpDst::JmpDst): (KJS::IA32MacroAssembler::emitCall): (KJS::IA32MacroAssembler::label): (KJS::IA32MacroAssembler::emitUnlinkedJmp): (KJS::IA32MacroAssembler::emitUnlinkedJne): (KJS::IA32MacroAssembler::emitUnlinkedJe): (KJS::IA32MacroAssembler::emitUnlinkedJl): (KJS::IA32MacroAssembler::emitUnlinkedJle): (KJS::IA32MacroAssembler::emitUnlinkedJge): (KJS::IA32MacroAssembler::emitUnlinkedJae): (KJS::IA32MacroAssembler::emitUnlinkedJo): (KJS::IA32MacroAssembler::emitPredictionNotTaken): (KJS::IA32MacroAssembler::link): (KJS::IA32MacroAssembler::copy):
  • wtf/Platform.h:
9:26 PM Changeset in webkit [36136] by mrowe@apple.com
  • 2 edits in branches/squirrelfish-extreme/JavaScriptCore

Enabled -fomit-frame-pointer on Release and Production builds, add additional Profiling build config for shark, etc.

RS=Maciej

8:54 PM Changeset in webkit [36135] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-09-06 Antti Koivisto <Antti Koivisto>

Reviewed by Dave Hyatt.

<rdar://problem/6187043>
Don't parse full HTML user agent style sheet unless it is actually needed
<rdar://problem/6131889>
WebView is significantly more expensive to create recently


Parsing the html4.css takes significant amount of time and memory (~50kb) on application
startup. Some clients may never use most of the rules.


With this patch we use simplified UA stylesheet until we hit something it can't handle.
This avoids full stylesheet parsing on application startup (due to empty document construction)
and also makes it possible for clients with very simple demands (divs and spans only) never to load
the full style.


It also delays view source style parsing until it is used.

  • css/CSSStyleSelector.cpp: (WebCore::elementCanUseSimpleDefaultStyle): (WebCore::CSSStyleSelector::CSSStyleSelector): (WebCore::loadFullDefaultStyle): (WebCore::loadSimpleDefaultStyle): (WebCore::loadViewSourceStyle): (WebCore::CSSStyleSelector::matchUARules): (WebCore::CSSStyleSelector::styleForElement):
8:46 PM Changeset in webkit [36134] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix.

8:02 PM WebKit Team edited by Antti Koivisto
(diff)
7:57 PM Applications using WebKit edited by kevino@theolliviers.com
(diff)
7:56 PM Applications using WebKit edited by kevino@theolliviers.com
(diff)
7:51 PM WebKit Team edited by kevino@theolliviers.com
(diff)
4:32 PM Changeset in webkit [36133] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-09-06 Antti Koivisto <Antti Koivisto>

Reverting r35953 which was causing problems on Windows which relies on
WebCore timers in nested event loops. r36132 did alternative fix.

  • page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
4:27 PM Changeset in webkit [36132] by Antti Koivisto
  • 3 edits in trunk/WebCore

2008-09-06 Antti Koivisto <Antti Koivisto>

Reviewed by Dan Bernstein.

Fix <rdar://problem/6201644>
https://bugs.webkit.org/show_bug.cgi?id=20493
Crash after OK in dialog box and reloading page in secure mode


Limited loader only fix since the general timer fix is causing problems on Windows.

  • loader/loader.cpp: (WebCore::Loader::servePendingRequests): (WebCore::Loader::Host::Host): (WebCore::Loader::Host::didFinishLoading): (WebCore::Loader::Host::didFail): (WebCore::Loader::Host::didReceiveData):
  • loader/loader.h: (WebCore::Loader::Host::processingResource):
3:39 PM Changeset in webkit [36131] by mitz@apple.com
  • 12 edits
    3 copies
    1 add in trunk/WebCore

Reviewed by Dave Hyatt.

The initial Core Text adoption prototype was made by Daniel Fenwick.

  • <rdar://problem/5158514> Add a Core Text-based complex text code path

Currently the Core Text code path is not used in any configuration.

  • WebCore.xcodeproj/project.pbxproj: Added files.
  • config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
  • platform/graphics/Font.cpp: (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out of the loop.
  • platform/graphics/GlyphBuffer.h: (WebCore::GlyphBuffer::add): Added this version that takes an advance.
  • platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs. Added getCTFont() and getCFStringAttributes() and corresponding data members for Core Text.
  • platform/graphics/mac/CoreTextController.cpp: Added. (WebCore::roundCGFloat): Helper function. (WebCore::ceilCGFloat): Helper function. (WebCore::CoreTextController::CoreTextRun::CoreTextRun): (WebCore::CoreTextController::CoreTextController): (WebCore::CoreTextController::offsetForPosition): (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the run into subruns as necessary such that each subrun can be rendered with a single font. Also separates out soft hyphens and replaces them with real hyphens, because Core Text does not emit a glyph for soft hyphens. Then calls collectCoreTextRunsForCharacters() on each subrun. (WebCore::CoreTextController::advance): (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates a CTLine from the given subrun and collects its CoreTextRuns. (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the rounding hacks, letter- and word-spacing and glyph substitutions and stores the resulting adjusted glyphs and advances.
  • platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h. (WebCore::CoreTextController::totalWidth): (WebCore::CoreTextController::finalRoundingWidth): (WebCore::CoreTextController::CoreTextRun::ctRun): (WebCore::CoreTextController::CoreTextRun::glyphCount): (WebCore::CoreTextController::CoreTextRun::fontData): (WebCore::CoreTextController::CoreTextRun::characters): (WebCore::CoreTextController::CoreTextRun::stringLocation): (WebCore::CoreTextController::CoreTextRun::stringLength): (WebCore::CoreTextController::CoreTextRun::indexAt):
  • platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to FontMacATSUI.mm.
  • platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm. (WebCore::disableLigatures): Changed to call FontPlatformData::allowsLigatures(). (WebCore::overrideLayoutOperation): Changed to call FontPlatformData::roundsGlyphAdvances().
  • platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp. (WebCore::Font::selectionRectForComplexText): Changed to use totalWidth() instead of advancing to the end and using runWidthSoFar(). (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): Ditto. (WebCore::Font::offsetForPositionForComplexText):
  • platform/graphics/mac/FontPlatformData.h:
  • platform/graphics/mac/FontPlatformDataMac.mm: (WebCore::FontPlatformData::setFont): (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the AppKit rendering mode. (WebCore::FontPlatformData::allowsLigatures): Added. Implements the heuristic that allows ligatures in fonts that do not have a glyph for 'a', based on the assumption that such fonts are only used in complex text.
  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::getCTFont): Added. (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and returns an attributes dictionary.
  • platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
  • platform/text/mac/ShapeArabic.h: Ditto.
4:48 AM Changeset in webkit [36130] by cwzwarich@webkit.org
  • 4 edits
    1 move
    1 add in trunk/JavaScriptCore

2008-09-06 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Fix the Mac Debug build by adding symbols that are exported only in a
Debug configuration.

1:31 AM Changeset in webkit [36129] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Dave Hyatt.

  • make combining mark offsets work in CG text on Windows
  • platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs): The old code tried to translate the text matrix, but failed for two reasons: it did not actually change the matrix, and even if it did, CGContextSetTextPosition overwrites the translation values in the text matrix. Instead, just added the translation to the anchor point.

Sep 5, 2008:

10:37 PM Changeset in webkit [36128] by timothy@apple.com
  • 1 edit in trunk/JavaScriptCore/JavaScriptCore.exp

Build fix.

10:19 PM Changeset in webkit [36127] by timothy@apple.com
  • 1 edit in trunk/JavaScriptCore/JavaScriptCore.exp

Build fix.

10:19 PM Changeset in webkit [36126] by timothy@apple.com
  • 3 edits in trunk/WebKit/mac

Correct a typo in the setApplicationChromeModeEnabledEnabled:
method name, remove the extra "Enabled".

  • WebView/WebPreferences.mm:
  • WebView/WebPreferencesPrivate.h:
10:07 PM WebKit Team edited by timothy@apple.com
Remove Drosera. (diff)
10:06 PM WebKit Team edited by timothy@apple.com
Minor tweaks. (diff)
10:05 PM Web Inspector edited by timothy@apple.com
Fix a link to my name. (diff)
10:04 PM WebKit Team edited by oliver@apple.com
Minor updates i noticed (diff)
9:59 PM Changeset in webkit [36125] by Darin Adler
  • 3 edits in trunk/JavaScriptCore

2008-09-05 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

1.007x as fast on SunSpider overall
1.081x as fast on SunSpider math-cordic

  • VM/JSPropertyNameIterator.cpp: Moved functions out of here.
  • VM/JSPropertyNameIterator.h: (KJS::JSPropertyNameIterator::JSPropertyNameIterator): Moved this into the header and marked it inline. (KJS::JSPropertyNameIterator::create): Ditto. (KJS::JSPropertyNameIterator::next): Ditto.
9:58 PM Changeset in webkit [36124] by Darin Adler
  • 6 edits in trunk/JavaScriptCore

2008-09-05 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

1.007x as fast on SunSpider overall
1.167x as fast on SunSpider string/fasta

  • JavaScriptCore.exp: Updated.
  • kjs/SmallStrings.cpp: (KJS::SmallStrings::singleCharacterStringRep): Added.
  • kjs/SmallStrings.h: Added singleCharacterStringRep for clients that need just a UString, not a JSString.
  • kjs/identifier.cpp: (KJS::Identifier::add): Added special cases for single character strings so that the UString::Rep that ends up in the identifier table is the one from the single-character string optimization; otherwise we end up having to look it up in the identifier table over and over again. (KJS::Identifier::addSlowCase): Ditto. (KJS::Identifier::checkSameIdentifierTable): Made this function an empty inline in release builds so that callers don't have to put #ifndef NDEBUG at each call site.
  • kjs/identifier.h: (KJS::Identifier::add): Removed #ifndef NDEBUG around the calls to checkSameIdentifierTable. (KJS::Identifier::checkSameIdentifierTable): Added. Empty inline version for NDEBUG builds.
9:08 PM Changeset in webkit [36123] by alp@webkit.org
  • 8 edits in trunk

2008-09-05 Gustavo Noronha Silva <Gustavo Noronha Silva>

Reviewed by Alp Toker.

https://bugs.webkit.org/show_bug.cgi?id=18346
[GTK] Remove build warnings

Applied some casts, and removed an unused typedef to make the
compiler happy, printing less warnings when building.

5:56 PM Changeset in webkit [36122] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Build fix.

  • kjs/JSObject.h: Move the inline virtual destructor after a non-inline

virtual function so that the symbol for the vtable is not marked as a
weakly exported symbol.

5:21 PM Changeset in webkit [36121] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Adam Roben.

Build fix for WebKitWin and Chromium

  • platform/FileSystem.h:
3:27 PM WebKit Team edited by alice.liu@apple.com
Added accessibility to Beth's and my sections (diff)
3:17 PM Changeset in webkit [36120] by eric@webkit.org
  • 9 edits in trunk/WebCore

Reviewed by Darin Adler.

Try to make Chromium compile with ToT:

  • Wrap a few places which depend on KJS:: in #if USE(JSC)
  • Include some windows forward declarations
  • dom/Node.h:
  • page/Console.h:
  • page/animation/CompositeAnimation.h:
  • platform/FileSystem.h:
  • platform/graphics/Image.h:
  • platform/text/AtomicString.h:
  • platform/text/String.cpp:
  • rendering/style/RenderStyle.h:
3:08 PM Changeset in webkit [36119] by dino@apple.com
  • 3 edits
    1 add in trunk/WebKitSite/specs/CSSVisualEffects

2008-09-04 Dean Jackson <dino@apple.com>

Updates to draft specifications.

Animations

  • Keyframes must provide 0% and 100% to be valid <rdar://problem/6165732> [animations] Spec should say what happens if you omit the 0% or 100% keyframe
  • Mention that keyframes can be specified in any order <rdar://problem/6165728> [animations] Spec should say that keyframes can be in any order (It actually already said this, but I made it more clear)
  • Keyframe names must be IDENT not STRING <rdar://problem/6164640> [animations] should we allow quoted animation names

Transforms

  • Change transform operation values in CSSTransformValue - splitting 2d and 3d.
  • Removed definition of <angle> - now reference CSS Values and Units consequence is that rotations now support "turn" units (feel free to turn it up to 11) <rdar://problem/6177272> [transforms] Should support "turns" as a rotation unit
  • Added exception to CSSMatrix setMatrixValue() and inverse() methods <rdar://problem/6160283> [transforms] Specify error reporting for WebKitCSSMatrix
  • Added getCSSMatrix() method to CSSTransformValue
  • Added Table of Contents to Transforms
  • skewZ() transform function removed. It makes no sense.
  • Definition for skew() transform function was missing
  • Also added a new CSSTransformValue CSS_SKEW <rdar://problem/6137414> [transforms] skew() function definition is missing
  • Removed mention of transitions when discussion keyframes rule <rdar://problem/6103072> [animations] CSS Animation spec mentions transition keyframes
2:52 PM Changeset in webkit [36118] by hyatt@apple.com
  • 12 edits in trunk

Add support for runtime switchability of the RenderTheme.

2:51 PM Changeset in webkit [36117] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-05 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

1.011x as fast on SunSpider overall
1.028x as fast on SunSpider string tests

For small strings, use a loop rather than calling memcpy. The loop can
be faster because there's no function call overhead, and because it can
assume the pointers are aligned instead of checking that. Currently the
threshold is set at 20 characters, based on some testing on one particular
computer. Later we can tune this for various platforms by setting
USTRING_COPY_CHARS_INLINE_CUTOFF appropriately, but it does no great harm
if not perfectly tuned.

  • kjs/ustring.cpp: (KJS::overflowIndicator): Removed bogus const. (KJS::maxUChars): Ditto. (KJS::copyChars): Added. (KJS::UString::Rep::createCopying): Call copyChars instead of memcpy. Also eliminated need for const_cast. (KJS::UString::expandPreCapacity): Ditto. (KJS::concatenate): Ditto. (KJS::UString::spliceSubstringsWithSeparators): Ditto. (KJS::UString::append): Ditto.
2:09 PM Changeset in webkit [36116] by mrowe@apple.com
  • 1 copy in branches/squirrelfish-extreme

New branch.

11:52 AM Changeset in webkit [36115] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-09-05 Antti Koivisto <Antti Koivisto>

Qt build fix.

  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::build):
11:15 AM Changeset in webkit [36114] by Darin Adler
  • 15 edits in trunk

Updated some of the ChangeLog files to use the full 64-bit universal version of my name.

10:52 AM Changeset in webkit [36113] by kmccullough@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-09-05 Kevin McCullough <kmccullough@apple.com>

Reviewed by Sam and Alexey.

Make the profiler work with a null exec state. This will allow other
applications start the profiler to get DTrace probes going without
needing a WebView.

  • ChangeLog:
  • profiler/ProfileGenerator.cpp: (KJS::ProfileGenerator::ProfileGenerator): (KJS::ProfileGenerator::willExecute): (KJS::ProfileGenerator::didExecute):
  • profiler/Profiler.cpp: (KJS::Profiler::startProfiling): (KJS::Profiler::stopProfiling): (KJS::dispatchFunctionToProfiles):
8:33 AM Changeset in webkit [36112] by Adam Roben
  • 2 edits in trunk/WebCore

2008-09-05 Dirk Schulze <vbs85@gmx.de>

Gtk build fix

  • GNUmakefile.am:
3:36 AM Changeset in webkit [36111] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-09-05 Antti Koivisto <Antti Koivisto>

Another build fix.

  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::notifyFinished):
3:03 AM Changeset in webkit [36110] by Antti Koivisto
  • 3 edits in trunk/WebCore

2008-09-05 Antti Koivisto <Antti Koivisto>

Build fixes.


  • WebCore.xcodeproj/project.pbxproj:
  • svg/graphics/filters/SVGFEImage.cpp: (WebCore::FEImage::cachedImage):
2:28 AM Changeset in webkit [36109] by Antti Koivisto
  • 31 edits
    2 adds in trunk/WebCore

2008-09-05 Antti Koivisto <Antti Koivisto>

Reviewed by Darin.

Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"

Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
not yet enable it for the biggest use case, reloading. However it is good for general browsing as
well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
we avoid re-decoding resources, especially images.


To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
CacheControl: max-age=0 header. That would be added in reload case.


The approach for revalidation is to kick the original resource out from the memory cache
and create a new CachedResource that represents the revalidation request. In case
we get 304 back for the request we put the original resource back to the cache, update
its expiration date and switch the clients registered to revalidation resource to be
clients of the original resource.


All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
This allows updating the handles to point to the original resource when the revalidation succeeds. It
also acts as refcounting smart pointer.

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSFontFaceSource.h:
  • css/CSSImportRule.h:
  • dom/Clipboard.h: (WebCore::Clipboard::dragImage):
  • dom/ProcessingInstruction.h:
  • dom/ScriptElement.h:
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::isWaitingForScripts):
  • dom/XMLTokenizer.h:
  • html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::setImage): (WebCore::HTMLImageLoader::updateFromElement): (WebCore::HTMLImageLoader::notifyFinished):
  • html/HTMLImageLoader.h: (WebCore::HTMLImageLoader::image):
  • html/HTMLLinkElement.h:
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::reset): (WebCore::HTMLTokenizer::scriptHandler): (WebCore::HTMLTokenizer::notifyFinished):
  • html/HTMLTokenizer.h:
  • loader/Cache.cpp: (WebCore::Cache::revalidateResource): (WebCore::Cache::revalidationSucceeded): (WebCore::Cache::revalidationFailed):
  • loader/Cache.h:
  • loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::~CachedResource): (WebCore::CachedResource::isExpired): (WebCore::CachedResource::setResponse): (WebCore::CachedResource::deleteIfPossible): (WebCore::CachedResource::setResourceToRevalidate): (WebCore::CachedResource::clearResourceToRevalidate): (WebCore::CachedResource::switchClientsToRevalidatedResource): (WebCore::CachedResource::canUseCacheValidator): (WebCore::CachedResource::mustRevalidate):
  • loader/CachedResource.h: (WebCore::CachedResource::canDelete): (WebCore::CachedResource::registerHandle): (WebCore::CachedResource::unregisterHandle): (WebCore::CachedResource::isCacheValidator): (WebCore::CachedResource::resourceToRevalidate): (WebCore::CachedResource::setExpirationDate):
  • loader/CachedResourceHandle.cpp: Added. (WebCore::CachedResourceHandleBase::setResource):
  • loader/CachedResourceHandle.h: Added. (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase): (WebCore::CachedResourceHandleBase::get): (WebCore::CachedResourceHandleBase::operator!): (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType): (WebCore::CachedResourceHandleBase::CachedResourceHandleBase): (WebCore::CachedResourceHandleBase::operator=): (WebCore::CachedResourceHandle::CachedResourceHandle): (WebCore::CachedResourceHandle::get): (WebCore::CachedResourceHandle::operator->): (WebCore::CachedResourceHandle::operator=): (WebCore::CachedResourceHandle::operator==): (WebCore::CachedResourceHandle::operator!=): (WebCore::operator==): (WebCore::operator!=):
  • loader/DocLoader.cpp: (WebCore::DocLoader::checkForReload):
  • loader/UserStyleSheetLoader.h:
  • loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): (WebCore::Loader::Host::didFinishLoading): (WebCore::Loader::Host::didFail): (WebCore::Loader::Host::didReceiveResponse): (WebCore::Loader::Host::didReceiveData):
  • page/EventHandler.cpp: (WebCore::EventHandler::selectCursor):
  • rendering/RenderImage.cpp: (WebCore::RenderImage::setCachedImage): (WebCore::RenderImage::imageChanged):
  • rendering/RenderImage.h: (WebCore::RenderImage::cachedImage): (WebCore::RenderImage::imagePtr):
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleCachedImage.h: (WebCore::StyleCachedImage::data): (WebCore::StyleCachedImage::cachedImage):
  • svg/SVGFEImageElement.h:
  • svg/graphics/filters/SVGFEImage.h:
  • xml/XSLImportRule.h:

Sep 4, 2008:

9:58 PM Changeset in webkit [36108] by beidson@apple.com
  • 3 edits
    2 adds in trunk/WebCore

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

Reviewed by Mitz

<rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes

A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
to model default NSURLRequest behavior in a cross-platform manner.

Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
client that wished to enforce a much larger default timeout using NSURLRequest API.

Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
behavior on the web and this restores previous Safari/WebKit behavior.

It would be easy to write a layout test for this, but to be effective it would have
to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests

  • manual-tests/timeout-test.html: Added.
  • manual-tests/timeout-test.php: Added.
  • platform/network/ResourceRequestBase.h: (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval" and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
  • platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing WebKit applications to enforce their own default timeout.
9:26 PM Changeset in webkit [36107] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Beth Dakin.

  • fix <rdar://problem/6198514> Changing a button's opacity triggers relayout

Test: fast/repaint/button-spurious-layout-hint.html

  • rendering/RenderButton.cpp: (WebCore::RenderButton::setStyle): Reset the inner block's style box flex to 0 to avoid getting a spurious layout hint.

LayoutTests:

Reviewed by Beth Dakin.

  • pixel test for <rdar://problem/6198514> Changing a button's opacity triggers relayout
  • fast/repaint/button-spurious-layout-hint.html: Added.
  • platform/mac/fast/repaint/button-spurious-layout-hint-expected.checksum: Added.
  • platform/mac/fast/repaint/button-spurious-layout-hint-expected.png: Added.
  • platform/mac/fast/repaint/button-spurious-layout-hint-expected.txt: Added.
8:11 PM Changeset in webkit [36106] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Geoffrey Garen.


Fixed an off-by-one error that would cause the StructureIDChain to
be one object too short.


Can't construct a test case because other factors make this not crash
(yet!).

  • kjs/StructureID.cpp: (KJS::StructureIDChain::StructureIDChain):
6:26 PM Changeset in webkit [36105] by cwzwarich@webkit.org
  • 2 edits in trunk/SunSpider

2008-09-04 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Add a '--args' option to SunSpider, so that we can pass '-j' to TraceMonkey
and '--expose-gc' to V8. Also, rename the '--v8' option to '--v8-suite' and
correct the punctuation in its documentation.

  • sunspider:
4:53 PM Changeset in webkit [36104] by kevino@webkit.org
  • 10 edits
    2 adds in trunk

wx build fixes.

4:27 PM Changeset in webkit [36103] by mitz@apple.com
  • 3 edits
    2 deletes in trunk

WebCore:

Reviewed by Mark Rowe.

  • css/CSSGrammar.y:

LayoutTests:

  • css1/color_and_background/invalid_color-expected.txt: Removed.
  • css1/color_and_background/invalid_color.html: Removed.
2:44 PM Changeset in webkit [36102] by mrowe@apple.com
  • 10 edits in trunk

Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE

Reviewed by Eric Seidel.

2:25 PM Changeset in webkit [36101] by adele@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-09-04 Adele Peterson <adele@apple.com>

Build fix.

2:00 PM Changeset in webkit [36100] by mrowe@apple.com
  • 4 edits in trunk

Mac build fix.

1:44 PM Changeset in webkit [36099] by eric@webkit.org
  • 2 edits in trunk/WebCore

Build fix only, no review.

  • dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
1:26 PM Changeset in webkit [36098] by jmalonzo@webkit.org
  • 6 edits in trunk

2008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Eric Seidel.

http://bugs.webkit.org/show_bug.cgi?id=20380
[GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h

  • kjs/config.h: Include the configuration header generated by autotools if available.

2008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Eric Seidel.

http://bugs.webkit.org/show_bug.cgi?id=20380
[GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h

  • configure.ac: Rename the configuration header from aconfig.h to autotoolsconfig.h.

2008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Eric Seidel.

http://bugs.webkit.org/show_bug.cgi?id=20380
[GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h

  • config.h: Include the configuration header generated by autotools if available.
1:16 PM Changeset in webkit [36097] by mrowe@apple.com
  • 6 edits in trunk

Presto change-o!

11:15 AM Changeset in webkit [36096] by mitz@apple.com
  • 7 edits in trunk/WebCore

Rubber-stamped by Dave Hyatt.

  • rename CachedResource::allReferencesRemoved() to allClientsRemoved()
  • loader/CachedFont.cpp: (WebCore::CachedFont::allClientsRemoved):
  • loader/CachedFont.h:
  • loader/CachedImage.cpp: (WebCore::CachedImage::allClientsRemoved):
  • loader/CachedImage.h:
  • loader/CachedResource.cpp: (WebCore::CachedResource::removeClient):
  • loader/CachedResource.h: (WebCore::CachedResource::allClientsRemoved):
11:08 AM Changeset in webkit [36095] by cwzwarich@webkit.org
  • 4 edits
    6 adds in trunk

2008-09-04 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver Hunt.

Bug 20616: Incorporate V8 benchmarks in testing
<https://bugs.webkit.org/show_bug.cgi?id=20616>

This is a first attempt at running the V8 benchmarks within SunSpider,
with the --v8 option. The number of iterations is fixed for each
benchmark, and was chosen to make each of the benchmarks run between
500 ms and 600 ms in V8 on my machine, a 2.16 GHz MacBook Pro.

SunSpider:

  • sunspider:
  • tests/LIST-V8: Added.
  • tests/v8-crypto.js: Added.
  • tests/v8-deltablue.js: Added.
  • tests/v8-earley-boyer.js: Added.
  • tests/v8-raytrace.js: Added.
  • tests/v8-richards.js: Added.

WebKitTools:

  • Scripts/run-sunspider:
10:51 AM Changeset in webkit [36094] by kevino@webkit.org
  • 2 edits in trunk/WebKitTools

wx buildbot fix. More robust handling of clean when makefiles are not built or are not completely made.

9:10 AM Changeset in webkit [36093] by Adam Roben
  • 2 edits in trunk/WebKit/win

Make JavaScriptCoreGenerated build first instead of WTF

JavaScriptCoreGenerated does some setup work that we want to happen
before WTF builds.

  • WebKit.vcproj/WebKit.sln: Reversed the dependencies of WTF and JavaScriptCoreGenerated.
9:10 AM Changeset in webkit [36092] by Adam Roben
  • 2 edits in trunk/WebKitLibraries

Ignore warning LNK4221 on Windows

This warning is emitted when an object file with no public symbols is
passed to the linker/librarian. This often occurs in WebCore for files
that have been disabled via ENABLE()/USE() macros.

Rubberstamped by Anders Carlsson.

  • win/tools/vsprops/common.vsprops: Ignore warning LNK4221.
9:09 AM Changeset in webkit [36091] by Adam Roben
  • 4 edits in trunk/WebCore

Windows build fix after r36071

We were getting these errors:

error C2356: initialization segment must not change during translation
unit

This was happening because multiple files #included by
DerivedSources.cpp were themselves #including StaticConstructors.h. I
fixed the error by adding header guards to StaticConstructors.h so its
contents will only be included once.

But it's also not a good idea for StaticConstructors.h to end up in
DerivedSources.cpp, since it ends up "polluting" all the source files
we have in there. So I removed all the files that include
StaticConstructors.h and added some preprocessor directives to
DerivedSources.cpp to catch this error in the future.

  • DerivedSources.cpp: Removed the *Names.cpp files, which include StaticConstructors.h, and added some preprocessor directives to make sure we don't end up accidentally including StaticConstructors.h in the future.
  • WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
  • platform/StaticConstructors.h: Added header guards.
9:09 AM Changeset in webkit [36090] by Adam Roben
  • 3 edits in trunk/WebCore

Windows build fix

  • platform/graphics/win/FontPlatformData.h: Added a missing #include of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
  • platform/text/PlatformString.h: Added a missing #include of PassRefPtr.h.
7:24 AM Changeset in webkit [36089] by vestbo@webkit.org
  • 9 edits in trunk

2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon

Fix the QtWebKit build to match changes in r36016

4:44 AM Changeset in webkit [36088] by vestbo@webkit.org
  • 7 edits
    2 moves in trunk

2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Re-enable support for user stylesheets in QtWebKit

QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
code path, which allows us to keep API support for
loading user style sheets from remote URLs.

As part of the change UserStyleSheetLoader.cpp/h was
moved from WebCore/loader/mac to WebCore/loader.

2:29 AM Changeset in webkit [36087] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix the 64-bit build.

  • VM/CodeBlock.cpp:

(KJS::CodeBlock::printStructureID): Store the instruction offset into an unsigned local
to avoid a warning related to format specifiers.
(KJS::CodeBlock::printStructureIDs): Ditto.

2:14 AM Changeset in webkit [36086] by alp@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Eric.

Remove left-over QT and CAIRO platform checks.

  • html/CanvasRenderingContext2D.cpp:
1:58 AM Changeset in webkit [36085] by mitz@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fix typo

1:39 AM Changeset in webkit [36084] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Mark Rowe.

Fix leak of TextMetrix due to over-ref as see on buildbot.

  • html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
1:00 AM Changeset in webkit [36083] by cwzwarich@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-09-04 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Rubber-stamped by Oliver Hunt.

Correct the spelling of 'entryIndices'.

  • kjs/PropertyMap.cpp: (KJS::PropertyMap::get): (KJS::PropertyMap::getLocation): (KJS::PropertyMap::put): (KJS::PropertyMap::insert): (KJS::PropertyMap::remove): (KJS::PropertyMap::checkConsistency):
  • kjs/PropertyMap.h: (KJS::PropertyMapHashTable::entries): (KJS::PropertyMap::getOffset): (KJS::PropertyMap::putOffset): (KJS::PropertyMap::offsetForTableLocation):
12:26 AM Changeset in webkit [36082] by mitz@apple.com
  • 5 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the positioned movement only case, call tryLayoutDoingPositionedMovementOnly() and fall back on doing a full layout if that fails. (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
  • rendering/RenderBox.h: (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed layoutDoingPositionedMovementOnly to this, and made this function check if the width changed. If it did, return, leaving the object dirty. The caller can then call layout(). The width can change even in the "positioned movement only" case if the object is shrink-to-fit and the available width constraint is met. (This was the case in the bug).
  • rendering/RenderObject.h: (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly): Renamed layoutDoingPositionedMovementOnly() to this.

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/block/positioning/move-with-auto-width.html: Added.
  • platform/mac/fast/block/positioning/move-with-auto-width-expected.checksum: Added.
  • platform/mac/fast/block/positioning/move-with-auto-width-expected.png: Added.
  • platform/mac/fast/block/positioning/move-with-auto-width-expected.txt: Added.
12:21 AM Changeset in webkit [36081] by ggaren@apple.com
  • 4 edits
    2 adds in trunk

JavaScriptCore:

2008-09-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed <rdar://problem/6193925> REGRESSION: Crash occurs at
KJS::Machine::privateExecute() when attempting to load my Mobile Gallery
(http://www.me.com/gallery/#home)


also


https://bugs.webkit.org/show_bug.cgi?id=20633 Crash in privateExecute
@ cs.byu.edu


The underlying problem was that we would cache prototype properties
even if the prototype was a dictionary.


The fix is to transition a prototype back from dictionary to normal
status when an opcode caches access to it. (This is better than just
refusing to cache, since a heavily accessed prototype is almost
certainly not a true dictionary.)

  • VM/Machine.cpp: (KJS::Machine::tryCacheGetByID):
  • kjs/JSObject.h:

LayoutTests:

2008-09-04 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Test for <rdar://problem/6193925> REGRESSION: Crash occurs at
KJS::Machine::privateExecute() when attempting to load my Mobile Gallery
(http://www.me.com/gallery/#home)


also


https://bugs.webkit.org/show_bug.cgi?id=20633 Crash in privateExecute
@ cs.byu.edu

  • fast/js/pic/dictionary-prototype-expected.txt: Added.
  • fast/js/pic/dictionary-prototype.html: Added.

Sep 3, 2008:

11:31 PM Changeset in webkit [36080] by eric@webkit.org
  • 2 edits in trunk/WebCore

No review, build fix only.

Attempt to fix the Qt build.

  • WebCore.pro: add page/animation to include path
11:11 PM Changeset in webkit [36079] by alp@webkit.org
  • 3 edits in trunk/WebKit/gtk

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

Build fix following r36073. Include config.h where necessary.

  • WebCoreSupport/PasteboardHelperGtk.cpp:
  • webkit/webkitversion.cpp:
8:46 PM Changeset in webkit [36078] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

More Mac build fixes.

Set ENABLE_DASHBOARD_SUPPORT when building for Mac via build-webkit.
Also set ENABLE_CROSS_DOCUMENT_MESSAGING in order to match the
default configuration specified in the .xcconfig files.

8:29 PM Changeset in webkit [36077] by mrowe@apple.com
  • 1 edit in trunk/WebCore/WebCore.base.exp

Touch an input file to force a derived file to be rebuilt.

8:20 PM Changeset in webkit [36076] by mrowe@apple.com
  • 4 edits in trunk

Fix the Mac build.

6:59 PM Changeset in webkit [36075] by mrowe@apple.com
  • 5 edits in trunk/LayoutTests

Update layout test results after recent canvas changes.

  • fast/canvas/canvas-invalid-fillstyle-expected.txt:
  • fast/canvas/canvas-invalid-strokestyle-expected.txt:
  • fast/canvas/drawImage-with-negative-source-destination-expected.txt:
  • fast/dom/Window/window-properties-expected.txt:
6:32 PM Changeset in webkit [36074] by eric@webkit.org
  • 9 edits in trunk

Reviewed by Sam.

Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)

  • Configurations/WebCore.xcconfig: add missing ENABLE_*
  • config.h: add rules for V8_BINDINGS
6:32 PM Changeset in webkit [36073] by eric@webkit.org
  • 17 edits in trunk/WebCore

Reviewed by Sam.

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

Add #if USE(JSC) around KJS dependencies
Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:

  1. Most platforms have it on anyway
  2. V8 is going to want to share some of that code
  3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
  • bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
  • config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
  • html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
  • html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
  • html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
  • html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
  • html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
  • html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
  • html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
  • html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
  • platform/text/AtomicString.cpp: add USE(JSC)
  • platform/text/AtomicString.h: add USE(JSC)
  • platform/text/PlatformString.h: add USE(JSC)
  • platform/text/String.cpp: add USE(JSC)
  • platform/text/StringImpl.cpp: add USE(JSC)
  • platform/text/StringImpl.h: add USE(JSC)
5:10 PM Changeset in webkit [36072] by mrowe@apple.com
  • 4 edits in trunk

Tidy up some ChangeLog entries.

4:46 PM Changeset in webkit [36071] by mrowe@apple.com
  • 8 edits in trunk/WebCore

2008-09-03 Dean McNamee <deanm@chromium.org>

Reviewed by Darin Adler.

Fix https://bugs.webkit.org/show_bug.cgi?id=20511
Bug 20511: Remove static initializers on Windows

Avoid static initializers on Windows by forcing Visual C++ to put
all static initializers in a code segment that is never executed.

  • config.h:
  • css/MediaFeatureNames.cpp:
  • dom/EventNames.cpp:
  • dom/QualifiedName.cpp:
  • dom/make_names.pl:
  • platform/StaticConstructors.h:
  • platform/text/AtomicString.cpp:
4:40 PM Changeset in webkit [36070] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2008-09-03 Dirk Schulze <vbs85@gmx.de>

Reviewed by Dave Hyatt.

Make FontCairo draw TextStroke and TextFill separately.

[CAIRO] draw TextFill and TextStroke separately.
https://bugs.webkit.org/show_bug.cgi?id=20631

  • platform/graphics/cairo/FontCairo.cpp: (WebCore::Font::drawGlyphs):
4:34 PM Changeset in webkit [36069] by mrowe@apple.com
  • 7 edits in trunk/WebCore

2008-09-03 Peter Kasting <zerodpx@gmail.com>

Reviewed by Dave Hyatt.

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

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::startAnimation): (WebCore::BitmapImage::advanceAnimation): (WebCore::BitmapImage::internalAdvanceAnimation): (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
  • 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:53 PM Changeset in webkit [36068] by kmccullough@apple.com
  • 14 edits in trunk

JavaScriptCore:

2008-09-03 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

Remove the rest of the "zombie" code from the profiler.

  • There is no longer a need for the ProfilerClient callback mechanism.
  • API/JSProfilerPrivate.cpp: (JSStartProfiling):
  • JavaScriptCore.exp:
  • profiler/HeavyProfile.h:
  • profiler/ProfileGenerator.cpp: (KJS::ProfileGenerator::create): (KJS::ProfileGenerator::ProfileGenerator):
  • profiler/ProfileGenerator.h: (KJS::ProfileGenerator::profileGroup):
  • profiler/Profiler.cpp: (KJS::Profiler::startProfiling): (KJS::Profiler::stopProfiling): Immediately return the profile when stopped instead of using a callback.
  • profiler/Profiler.h:
  • profiler/TreeProfile.h:

WebCore:

2008-09-03 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

Remove the rest of the "zombie" code from the profiler.

  • There is no longer a need for the ProfilerClient callback mechanism.
  • page/Console.cpp: (WebCore::Console::Console): (WebCore::Console::profile): (WebCore::Console::profileEnd): Move the variables from the header to here since we don't have to wait for a callback to use them.
  • page/Console.h:
  • page/InspectorController.cpp: (WebCore::InspectorController::startUserInitiatedProfiling): (WebCore::InspectorController::stopUserInitiatedProfiling):
  • page/InspectorController.h:
2:43 PM Changeset in webkit [36067] by adachan@apple.com
  • 2 edits in trunk/WebCore

Windows build fix.

  • WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
2:15 PM Changeset in webkit [36066] by dino@apple.com
  • 10 edits
    4 adds in trunk

2008-09-01 Dean Jackson <dino@apple.com>

Reviewed by Dave Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=20594
Add DOM interfaces for WebKitCSSKeyframeRule
and WebKitCSSKeyframesRule.

TEST: LayoutTests/css3/keyframes-rule.html

  • css/WebKitCSSKeyframeRule.idl: Added
  • css/WebKitCSSKeyframesRule.idl: Added
  • bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJS):

Add return of new JS Keyframe rules

  • bindings/objc/DOMInternal.h:

Include new internal header

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:

Build configs for new files

1:30 PM Changeset in webkit [36065] by Adam Roben
  • 3 edits in trunk/WebCore

Windows build fix

  • DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
  • WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for convenience/consistency.
1:13 PM Changeset in webkit [36064] by adele@apple.com
  • 2 edits in trunk/WebCore

2008-09-03 Adele Peterson <adele@apple.com>

Build fix.

  • WebCore.vcproj/WebCore.vcproj:
12:06 PM Changeset in webkit [36063] by hyatt@apple.com
  • 1 edit in trunk/WebCore/GNUmakefile.am
12:02 PM Changeset in webkit [36062] by adele@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-03 Adele Peterson <adele@apple.com>

Build fix.

  • wtf/win/MainThreadWin.cpp:
11:32 AM Changeset in webkit [36061] by hyatt@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

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

Fix for bug 18203, right floats should be allowed to overflow past the left border edge.

Reviewed by Darin (ages ago)

Added fast/block/float/clamped-right-float.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionNewFloats):

LayoutTests:

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

Fix for bug 18203.

Reviewed by Darin (ages ago).

  • fast/block/float/clamped-right-float.html: Added.
  • platform/mac/fast/block/float/clamped-right-float-expected.checksum: Added.
  • platform/mac/fast/block/float/clamped-right-float-expected.png: Added.
  • platform/mac/fast/block/float/clamped-right-float-expected.txt: Added.
11:13 AM Changeset in webkit [36060] by hyatt@apple.com
  • 17 edits
    10 adds in trunk

WebCore:

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

Add support for canvas text drawing APIs.

Reviewed by olliej

Tests added as fast/canvas/canvas-text-*.html

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::JSCanvasRenderingContext2D::fillText): (WebCore::JSCanvasRenderingContext2D::strokeText):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::initForStyleResolve): (WebCore::CSSStyleSelector::applyPropertyToStyle):
  • css/CSSStyleSelector.h:
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::State::State): (WebCore::CanvasRenderingContext2D::font): (WebCore::CanvasRenderingContext2D::setFont): (WebCore::CanvasRenderingContext2D::textAlign): (WebCore::CanvasRenderingContext2D::setTextAlign): (WebCore::CanvasRenderingContext2D::textBaseline): (WebCore::CanvasRenderingContext2D::setTextBaseline): (WebCore::CanvasRenderingContext2D::fillText): (WebCore::CanvasRenderingContext2D::strokeText): (WebCore::CanvasRenderingContext2D::measureText): (WebCore::CanvasRenderingContext2D::drawTextInternal): (WebCore::CanvasRenderingContext2D::accessFont):
  • html/CanvasRenderingContext2D.h:
  • html/CanvasRenderingContext2D.idl:
  • html/TextMetrics.h: Added. (WebCore::TextMetrics::create): (WebCore::TextMetrics::width): (WebCore::TextMetrics::setWidth): (WebCore::TextMetrics::TextMetrics):
  • html/TextMetrics.idl: Added.
  • platform/graphics/Font.cpp: (WebCore::Font::lineGap):
  • platform/graphics/Font.h:
  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawBidiText):
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsTypes.cpp: (WebCore::textAlignName): (WebCore::parseTextAlign): (WebCore::textBaselineName): (WebCore::parseTextBaseline):
  • platform/graphics/GraphicsTypes.h: (WebCore::):

LayoutTests:

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

Add support for the canvas text APIs.

Reviewed by olliej

  • fast/canvas/canvas-text-alignment.html: Added.
  • fast/canvas/canvas-text-baseline.html: Added.
  • platform/mac/fast/canvas/canvas-text-alignment-expected.checksum: Added.
  • platform/mac/fast/canvas/canvas-text-alignment-expected.png: Added.
  • platform/mac/fast/canvas/canvas-text-alignment-expected.txt: Added.
  • platform/mac/fast/canvas/canvas-text-baseline-expected.checksum: Added.
  • platform/mac/fast/canvas/canvas-text-baseline-expected.png: Added.
  • platform/mac/fast/canvas/canvas-text-baseline-expected.txt: Added.
10:37 AM Changeset in webkit [36059] by sullivan@apple.com
  • 2 edits in trunk/WebCore

2008-09-03 John Sullivan <sullivan@apple.com>

Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps

Fixed by Darin, reviewed by me

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::propertiesEqual): added ensurePropertyMap() to this static function (WebCore::AnimationBase::getPropertyAtIndex): ditto (WebCore::AnimationBase::getNumProperties): ditto
10:35 AM Changeset in webkit [36058] by kmccullough@apple.com
  • 18 edits in trunk

JavaScriptCore:

2008-09-02 Kevin McCullough <kmccullough@apple.com>

Reviewed by Darin and Tim.

Remove most of the "zombie" mode from the profiler. Next we will need
to remove the client callback mechanism in profiles.

  • This simplifies the code, leverages the recent changes I've made in getting line numbers from SquirrelFish, and is a slight speed improvement on SunSpider.
  • Also the "zombie" mode was a constant source of odd edge cases and obscure bugs so it's good to remove since all of its issues may not have been found.
  • API/JSProfilerPrivate.cpp: No need to call didFinishAllExecution() any more. (JSEndProfiling):
  • JavaScriptCore.exp: Export the new signature of retrieveLastCaller()
  • VM/Machine.cpp: (KJS::Machine::execute): No need to call didFinishAllExecution() any more. (KJS::Machine::retrieveCaller): Now operates on InternalFunctions now since the RegisterFile is no longer guaranteeded to store only JSFunctions (KJS::Machine::retrieveLastCaller): Now also retrieve the function's name (KJS::Machine::callFrame): A result of changing retrieveCaller()
  • VM/Machine.h:
  • VM/Register.h:
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::~JSGlobalObject):
  • kjs/nodes.h:
  • profiler/ProfileGenerator.cpp: (KJS::ProfileGenerator::create): Now pass the original exec and get the global exec and client when necessary. We need the original exec so we can have the stack frame where profiling started. (KJS::ProfileGenerator::ProfileGenerator): ditto. (KJS::ProfileGenerator::addParentForConsoleStart): This is where the parent to star of the profile is added, if there is one. (KJS::ProfileGenerator::willExecute): Remove uglyness! (KJS::ProfileGenerator::didExecute): Ditto! (KJS::ProfileGenerator::stopProfiling): (KJS::ProfileGenerator::removeProfileStart): Use a better way to find and remove the function we are looking for. (KJS::ProfileGenerator::removeProfileEnd): Ditto.
  • profiler/ProfileGenerator.h: (KJS::ProfileGenerator::client):
  • profiler/ProfileNode.cpp: (KJS::ProfileNode::removeChild): Add a better way to remove a child from a ProfileNode. (KJS::ProfileNode::stopProfiling): (KJS::ProfileNode::debugPrintData): Modified a debug-only diagnostic function to be sane.
  • profiler/ProfileNode.h:
  • profiler/Profiler.cpp: Change to pass the original exec state. (KJS::Profiler::startProfiling): (KJS::Profiler::stopProfiling): (KJS::Profiler::willExecute): (KJS::Profiler::didExecute): (KJS::Profiler::createCallIdentifier):
  • profiler/Profiler.h:

WebCore:

2008-09-03 Kevin McCullough <kmccullough@apple.com>

Reviewed by Darin and Tim.

Remove most of the "zombie" mode from the profiler. Next we will need
to remove the client callback mechanism in profiles.

  • These changes are a result of changes to JSCore.
  • manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
  • page/Console.cpp: (WebCore::retrieveLastCaller): (WebCore::Console::profileEnd):
  • page/InspectorController.cpp: (WebCore::InspectorController::stopUserInitiatedProfiling):
9:57 AM Changeset in webkit [36057] by adele@apple.com
  • 6 edits
    4 adds in trunk

WebCore:

2008-09-03 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Test: fast/forms/search-display-none-cancel-button.html

Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.

  • css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers. (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css. (WebCore::RenderTextControl::createCancelButtonStyle): ditto. (WebCore::RenderTextControl::createSubtreeIfNeeded): Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class. (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers. (WebCore::RenderTextControl::subtreeHasChanged): ditto. (WebCore::RenderTextControl::calcHeight): ditto. (WebCore::RenderTextControl::nodeAtPoint): ditto. (WebCore::RenderTextControl::layout): ditto. (WebCore::RenderTextControl::calcPrefWidths): ditto. (WebCore::RenderTextControl::clientPaddingLeft): ditto. (WebCore::RenderTextControl::clientPaddingRight): ditto.
  • rendering/TextControlInnerElements.cpp: (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp. (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto. (WebCore::TextControlInnerElement::attachInnerElement): Added. This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element. (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
  • rendering/TextControlInnerElements.h:

LayoutTests:

2008-09-03 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Test that display:none works on a search field's cancel button.

  • fast/forms/search-display-none-cancel-button.html: Added.
  • platform/mac/fast/forms/search-display-none-cancel-button-expected.checksum: Added.
  • platform/mac/fast/forms/search-display-none-cancel-button-expected.png: Added.
  • platform/mac/fast/forms/search-display-none-cancel-button-expected.txt: Added.
9:37 AM Changeset in webkit [36056] by ap@webkit.org
  • 7 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.

Implement callOnMainThreadAndWait().

This will be useful when a background thread needs to perform UI calls synchronously
(e.g. an openDatabase() call cannot return until the user answers to a confirmation dialog).

  • wtf/MainThread.cpp: (WTF::FunctionWithContext::FunctionWithContext): Added a ThreadCondition member. When non-zero, the condition is signalled after the function is called. (WTF::mainThreadFunctionQueueMutex): Renamed from functionQueueMutex, sinc this is no longer static. Changed to be initialized from initializeThreading() to avoid lock contention. (WTF::initializeMainThread): On non-Windows platforms, just call mainThreadFunctionQueueMutex. (WTF::dispatchFunctionsFromMainThread): Signal synchronous calls when done. (WTF::callOnMainThread): Updated for functionQueueMutex rename. (WTF::callOnMainThreadAndWait): Added.
  • wtf/MainThread.h: Added callOnMainThreadAndWait(); initializeMainThread() now exists on all platforms.
  • wtf/win/MainThreadWin.cpp: (WTF::initializeMainThread): Added a callOnMainThreadAndWait() call to initialize function queue mutex.
  • wtf/ThreadingGtk.cpp: (WTF::initializeThreading):
  • wtf/ThreadingPthreads.cpp: (WTF::initializeThreading):
  • wtf/ThreadingQt.cpp: (WTF::initializeThreading): Only initialize mainThreadIdentifier on non-Darwin platforms. It was not guaranteed to be accurate on Darwin.
9:20 AM Changeset in webkit [36055] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


Use isUndefinedOrNull() instead of separate checks for each in op_eq_null
and op_neq_null.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
1:08 AM Changeset in webkit [36054] by ap@webkit.org
  • 8 edits
    1 delete in trunk/WebCore

Reviewed by Maciej.

Elminate SQLiteAuthorizer class.

  • WebCore.xcodeproj/project.pbxproj:
  • WebCore.vcproj/WebCore.vcproj:
  • GNUmakefile.am Removed SQLiteAuthorizer.h.
  • platform/sql/SQLiteAuthorizer.cpp:
  • platform/sql/SQLiteAuthorizer.h: Removed.
  • platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::authorizerFunction): (WebCore::SQLiteDatabase::setAuthorizer):
  • platform/sql/SQLiteDatabase.h:
  • storage/DatabaseAuthorizer.h: (WebCore::DatabaseAuthorizer::create): (WebCore::DatabaseAuthorizer::createView): (WebCore::DatabaseAuthorizer::createTempView): (WebCore::DatabaseAuthorizer::dropView): (WebCore::DatabaseAuthorizer::dropTempView): (WebCore::DatabaseAuthorizer::allowSelect): (WebCore::DatabaseAuthorizer::allowReindex): Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
12:09 AM Changeset in webkit [36053] by mrowe@apple.com
  • 1 edit in trunk/WebCore/GNUmakefile.am

Move the backslash to the right place.

12:05 AM Changeset in webkit [36052] by mrowe@apple.com
  • 4 edits in trunk/WebCore

2008-09-03 Dirk Schulze <vbs85@gmx.de>

Reviewed and tweaked by Mark Rowe.

WebKitGtk build fix.

  • GNUmakefile.am:
  • page/animation/AnimationController.h:

Sep 2, 2008:

11:59 PM Changeset in webkit [36051] by mrowe@apple.com
  • 9 edits
    2 adds in trunk

2008-09-02 Robert Blaut <webkit@blaut.biz>

Reviewed by Geoff Garen.

Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
Misplaced elements should not close DL lists.

Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html

  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError):

2008-09-02 Robert Blaut <webkit@blaut.biz>

Reviewed by Geoff Garen.

Test for <https://bugs.webkit.org/show_bug.cgi?id=16913>
Misplaced elements should not close DL lists.

  • fast/invalid/test-case-tr-th-td-should-not-close-dl-list-expected.txt: Added.
  • fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html: Added.
  • platform/mac/fast/invalid/missing-dl-end-tag-expected.checksum:
  • platform/mac/fast/invalid/missing-dl-end-tag-expected.png:
  • platform/mac/fast/invalid/missing-dl-end-tag-expected.txt:
  • platform/mac/fast/invalid/missing-dt-end-tag-expected.checksum:
  • platform/mac/fast/invalid/missing-dt-end-tag-expected.png:
  • platform/mac/fast/invalid/missing-dt-end-tag-expected.txt:
11:51 PM Changeset in webkit [36050] by mrowe@apple.com
  • 3 edits
    2 adds in trunk

2008-09-02 Glenn Wilson <wilsong@gmail.com>

Reviewed by Darin Adler.

Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
Bug 15360: color:#{predefined colorName} is treated as colorName in Safari

We would inappropriately interpret and apply an invalid CSS "color" property
when the value is a predefined color preceded by a '#' symbol. For example,
style="color:#gray;" would apply the color gray when it should not.

In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
an ignorable token.

To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
'#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.

Test: css1/color_and_background/invalid_color.html

  • css/CSSGrammar.y:

2008-09-02 Glenn Wilson <wilsong@gmail.com>

Reviewed by Darin Adler.

Test for <https://bugs.webkit.org/show_bug.cgi?id=15360>
Bug 15360: color:#{predefined colorName} is treated as colorName in Safari

Added new test to verify that CSS "color" attributes with '#'-preceeded predefined color names
are not rendered in those colors.

  • css1/color_and_background/invalid_color.html: Added.
  • css1/color_and_background/invalid_color-expected.txt: Added.
11:38 PM Changeset in webkit [36049] by mrowe@apple.com
  • 2 edits in trunk/WebKit

Build fix. Remove the now unnecessary check for "4" in the user agent string.

Reviewed by Tim Hatcher.

  • WebKit.xcodeproj/project.pbxproj:
11:28 PM Changeset in webkit [36048] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-02 Csaba Osztrogonac <oszi@inf.u-szeged.hu>

Reviewed by Darin Adler.

Bug 20296: OpcodeStats doesn't build on platforms which don't have mergesort().
<https://bugs.webkit.org/show_bug.cgi?id=20296>

  • VM/Opcode.cpp: (KJS::OpcodeStats::~OpcodeStats): mergesort() replaced with qsort()
11:22 PM Changeset in webkit [36047] by mrowe@apple.com
  • 3 edits
    4 adds in trunk

2008-09-02 Mihnea Ovidenie <mihnea@adobe.com>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image

Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.

Test: css3/khtml-background-size-0x0-bmp.html

  • rendering/RenderBox.cpp: (WebCore::RenderBox::repaintLayerRectsForImage):

2008-09-02 Mihnea Ovidenie <mihnea@adobe.com>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?id=19964
Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image

  • css3/khtml-background-size-0x0-bmp-expected.txt: Added.
  • css3/khtml-background-size-0x0-bmp.html: Added.
  • css3/support/0x0.bmp: Added.
11:12 PM Changeset in webkit [36046] by mrowe@apple.com
  • 3 edits
    2 adds in trunk

2008-09-02 Glenn Wilson <wilsong@gmail.com>

Reviewed by Eric Seidel.

Fix https://bugs.webkit.org/show_bug.cgi?id=20397
Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash

The function checkForOrphanedUnits() would change the length of a list whose size was
was already determined before the call to checkForOrphanedUnits was made. Later in
the caller, the old size was being used for boundary management.

This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
calling function, before the size of the list is determined.

Test: fast/css/orphaned_units_crash.html

  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.

2008-09-02 Glenn Wilson <wilsong@gmail.com>

Reviewed by Eric Seidel.

Tests for https://bugs.webkit.org/show_bug.cgi?id=20397
Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash

Added new tests to check whether an orphaned unit identifier in particular
CSS attributes will crash the browser.

  • fast/css/orphaned_units_crash-expected.txt: Added.
  • fast/css/orphaned_units_crash.html: Added.
11:10 PM Changeset in webkit [36045] by cwzwarich@webkit.org
  • 2 edits in trunk

2008-09-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Not reviewed.

Move the ChangeLog of r35906 to its rightful place.

11:01 PM Changeset in webkit [36044] by mrowe@apple.com
  • 3 edits
    6 adds in trunk

2008-09-02 Dirk Schulze <vbs85@gmx.de>

Reviewed by Darin Adler.

Fallback on invalid fill or stroke styles in Canvas was
transparent black. Changed it to last valid style.

Canvas fillStyle() and strokeStyle() needs fallback
https://bugs.webkit.org/show_bug.cgi?id=20474

Tests: fast/canvas/canvas-invalid-fillstyle.html

fast/canvas/canvas-invalid-strokestyle.html

  • html/CanvasStyle.cpp: (WebCore::CanvasStyle::applyStrokeColor): (WebCore::CanvasStyle::applyFillColor):

2008-09-02 Dirk Schulze <vbs85@gmx.de>

Reviewed by Darin Adler.

Tests for https://bugs.webkit.org/show_bug.cgi?id=20474
Tests behaviour on invalid fillStyle() or strokeStyle() in canvas.

  • fast/canvas/canvas-invalid-fillstyle-expected.txt: Added.
  • fast/canvas/canvas-invalid-fillstyle.html: Added.
  • fast/canvas/canvas-invalid-fillstyle.js: Added.
  • fast/canvas/canvas-invalid-strokestyle-expected.txt: Added.
  • fast/canvas/canvas-invalid-strokestyle.html: Added.
  • fast/canvas/canvas-invalid-strokestyle.js: Added.
10:49 PM Changeset in webkit [36043] by mrowe@apple.com
  • 5 edits
    3 adds in trunk

2008-09-02 Dirk Schulze <vbs85@gmx.de>

Reviewed by Darin Adler.

Fix https://bugs.webkit.org/show_bug.cgi?id=20468
Updated drawImage() in canvas to match the current specification.

Test: fast/canvas/drawImage-with-negative-source-destination.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::normalizeRect): (WebCore::CanvasRenderingContext2D::drawImage):

2008-09-02 Dirk Schulze <vbs85@gmx.de>

Reviewed by Darin Adler.

Tests for https://bugs.webkit.org/show_bug.cgi?id=20468
Test negative source and destination rect in drawImage()

  • fast/canvas/drawImage-with-invalid-args-expected.txt:
  • fast/canvas/drawImage-with-invalid-args.html:
  • fast/canvas/drawImage-with-negative-source-destination-expected.txt: Added.
  • fast/canvas/drawImage-with-negative-source-destination.html: Added.
  • fast/canvas/drawImage-with-negative-source-destination.js: Added.
10:41 PM Changeset in webkit [36042] by mrowe@apple.com
  • 4 edits in trunk/WebCore

<rdar://problem/5768210> Switch back to the system version of SQLite

Reviewed by Darin Adler.

Use the system version of SQLite when it is new enough to provide the functionality
that WebCore requires.

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/WebCore.xcconfig:
10:23 PM Changeset in webkit [36041] by mrowe@apple.com
  • 4 edits in tags/Safari-6528.3

Versioning.

10:13 PM Changeset in webkit [36040] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

10:04 PM Changeset in webkit [36039] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-09-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Fast path for array.length and string.length.


SunSpider says 0.5% faster.

8:19 PM Changeset in webkit [36038] by mitz@apple.com
  • 2 edits in trunk/LayoutTests
  • update expected results now that log() et al. report line numbers
  • fast/dom/Window/console-functions-expected.txt:
7:59 PM Changeset in webkit [36037] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • build fix
  • page/animation/AnimationBase.h:
7:58 PM Changeset in webkit [36036] by ggaren@apple.com
  • 9 edits in trunk/JavaScriptCore

2008-09-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Anders Carlsson.


Added optimized paths for comparing to null.


SunSpider says 0.5% faster.

7:46 PM Changeset in webkit [36035] by cwzwarich@webkit.org
  • 2 edits in trunk/SunSpider

2008-09-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Not reviewed.

Remove a local change that was accidentally committed in r36034.

  • resources/sunspider-standalone-driver.js:
7:42 PM Changeset in webkit [36034] by cwzwarich@webkit.org
  • 2 edits
    3 adds in trunk

2008-09-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver Hunt.

Tests for bug 17936: "ASSERTION FAILED: false" (GetterSetterImp::toObject is called)
<https://bugs.webkit.org/show_bug.cgi?id=17936>

This bug was fixed by the rewrite of much of the code handling getters
and setters in r36016, the revision that introduced the polymorphic
inline cache.

  • fast/js/delete-getters-setters-expected.txt: Added.
  • fast/js/delete-getters-setters.html: Added.
  • fast/js/resources/delete-getters-setters.js: Added.
7:39 PM Changeset in webkit [36033] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-09-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Changed jsDriver.pl to dump the exact text you would need in order to
reproduce a test result. This enables a fast workflow where you copy
and paste a test failure in the terminal.

  • tests/mozilla/jsDriver.pl:
7:31 PM Changeset in webkit [36032] by ggaren@apple.com
  • 25 edits
    4 adds in trunk

JavaScriptCore:

2008-09-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Implemented the rest of Darin's review comments for the 09-01 inline
caching patch.


SunSpider says 0.5% faster, but that seems like noise.

  • JavaScriptCore.xcodeproj/project.pbxproj: Put PutPropertySlot into its own file, and added BatchedTransitionOptimizer.
  • VM/CodeBlock.cpp: (KJS::CodeBlock::~CodeBlock): Use array indexing instead of a pointer iterator.
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator): Used BatchedTransitionOptimizer to make batched put and remove for declared variables fast, without forever pessimizing the global object. Removed the old getDirect/removeDirect hack that tried to do the same in a more limited way.
  • VM/CodeGenerator.h: Moved IdentifierRepHash to the KJS namespace since it doesn't specialize anything in WTF.
  • VM/Machine.cpp: (KJS::Machine::Machine): Nixed the DummyConstruct tag because it was confusingly named.

(KJS::Machine::execute): Used BatchedTransitionOptimizer, as above. Fixed
up some comments.

(KJS::cachePrototypeChain): Cast to JSObject*, since it's more specific.

(KJS::Machine::tryCachePutByID): Use isNull() instead of comparing to
jsNull(), since isNull() leaves more options open for the future.
(KJS::Machine::tryCacheGetByID): ditto
(KJS::Machine::privateExecute): ditto

  • VM/SamplingTool.cpp: (KJS::SamplingTool::dump): Use C++-style cast, to match our style guidelines.
  • kjs/BatchedTransitionOptimizer.h: Added. New class that allows host code to add a batch of properties to an object in an efficient way.
  • kjs/JSActivation.cpp: Use isNull(), as above.
  • kjs/JSArray.cpp: Get rid of DummyConstruct tag, as above.
  • kjs/JSArray.h:
  • kjs/JSGlobalData.cpp: Nixed two unused StructureIDs.
  • kjs/JSGlobalData.h:
  • kjs/JSImmediate.cpp: Use isNull(), as above.
  • kjs/JSObject.cpp: (KJS::JSObject::mark): Moved mark tracing code elsewhere, to make this function more readable.

(KJS::JSObject::put): Use isNull(), as above.

(KJS::JSObject::createInheritorID): Return a raw pointer, since the
object is owned by a data member, not necessarily the caller.

  • kjs/JSObject.h:
  • kjs/JSString.cpp: Use isNull(), as above.
  • kjs/PropertyMap.h: Updated to use PropertySlot::invalidOffset.
  • kjs/PropertySlot.h: Changed KJS_INVALID_OFFSET to WTF::notFound because C macros are so 80's.
  • kjs/PutPropertySlot.h: Added. Split out of PropertySlot.h. Also renamed PutPropertySlot::SlotType to PutPropertySlot::Type, and slotBase to base, since "slot" was redundant.
  • kjs/StructureID.cpp: Added a new transition *away* from dictionary status, to support BatchedTransitionOptimizer.

(KJS::StructureIDChain::StructureIDChain): No need to store m_size as
a data member, so keep it in a local, which might be faster.

  • kjs/StructureID.h:
  • kjs/SymbolTable.h: Moved IdentifierRepHash to KJS namespace, as above.
  • kjs/ustring.h:

JavaScriptGlue:

2008-09-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Implemented the rest of Darin's review comments for the 09-01 inline
caching patch.


  • ForwardingHeaders/kjs/PutPropertySlot.h: Added.
6:32 PM Changeset in webkit [36031] by dino@apple.com
  • 6 edits
    1 move
    10 adds
    1 delete in trunk/WebCore

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

Reviewed by Dave Hyatt.

AnimationController.cpp should be split into separate files
https://bugs.webkit.org/show_bug.cgi?id=20604

Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
recommendation of Dave Hyatt.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:

Build files.

  • page/AnimationController.cpp: Removed.
  • page/AnimationController.h: Removed.
  • page/animation: Added.
  • page/animation/AnimationBase.cpp: Added.
  • page/animation/AnimationBase.h: Added.
  • page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
  • page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
  • page/animation/CompositeAnimation.cpp: Added.
  • page/animation/CompositeAnimation.h: Added.
  • page/animation/ImplicitAnimation.cpp: Added.
  • page/animation/ImplicitAnimation.h: Added.
  • page/animation/KeyframeAnimation.cpp: Added.
  • page/animation/KeyframeAnimation.h: Added.
5:57 PM Changeset in webkit [36030] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • release build fix
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::calculateDrawingMode):
2:35 PM Changeset in webkit [36029] by timothy@apple.com
  • 5 edits in trunk/WebCore

Make console functions log the correct resource URL and
line number for where the call originated.

https://bugs.webkit.org/show_bug.cgi?id=17234
<rdar://problem/5732837>

Reviewed by Kevin McCullough.

Test: manual-tests/inspector/console-call-line-numbers.html

  • bindings/js/JSConsoleCustom.cpp: (WebCore::JSConsole::count): Call the impl. (WebCore::JSConsole::timeEnd): Ditto.
  • manual-tests/inspector/console-call-line-numbers.html: Added.
  • manual-tests/inspector/resources/script-console-calls.js: Added.
  • page/Console.cpp: (WebCore::retrieveLastCaller): Helper to get the URL and line. (WebCore::Console::error): Call retrieveLastCaller to get the URL and line number to pass to addMessageToConsole. (WebCore::Console::info): Ditto. (WebCore::Console::log): Ditto. (WebCore::Console::assertCondition): Ditto. (WebCore::Console::count): Ditto. (WebCore::Console::timeEnd): Ditto. (WebCore::Console::warn): Ditto.
  • page/Console.h:
  • page/Console.idl: Make count and timeEnd custom.
2:30 PM Changeset in webkit [36028] by timothy@apple.com
  • 2 edits in trunk/WebCore

Removed IDL files from WebCore's framework resources.

  • WebCore.xcodeproj/project.pbxproj:
2:11 PM Changeset in webkit [36027] by cwzwarich@webkit.org
  • 2 edits in trunk/SunSpider

2008-09-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Rubber-stamped by Oliver Hunt.

Make SunSpider work with JavaScript shells that don't take filenames
after a '-f' argument.

  • sunspider:
1:39 PM Changeset in webkit [36026] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Dave Hyatt.

  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a cap on the number of consecutive identical residual style tags to reopen. (WebCore::HTMLParser::popBlock): Ditto.
9:16 AM Changeset in webkit [36025] by ap@webkit.org
  • 5 edits in trunk/WebCore

Reviewed by Adam Roben.

A little database quota management cleanup.

  • storage/OriginQuotaManager.cpp: (WebCore::OriginQuotaManager::OriginQuotaManager): (WebCore::OriginQuotaManager::lock): (WebCore::OriginQuotaManager::unlock): (WebCore::OriginQuotaManager::trackOrigin): (WebCore::OriginQuotaManager::tracksOrigin): (WebCore::OriginQuotaManager::addDatabase): (WebCore::OriginQuotaManager::removeDatabase): (WebCore::OriginQuotaManager::removeOrigin): (WebCore::OriginQuotaManager::markDatabase): (WebCore::OriginQuotaManager::diskUsage):
  • storage/OriginQuotaManager.h: Changed to assert that a lock is taken more directly and reliably. Removed comments about main/background threads, as this is likely to stop being true with synchronous Database calls being made on worker threads.
  • storage/OriginUsageRecord.cpp: (WebCore::OriginUsageRecord::OriginUsageRecord): (WebCore::OriginUsageRecord::addDatabase): (WebCore::OriginUsageRecord::removeDatabase): (WebCore::OriginUsageRecord::markDatabase): (WebCore::OriginUsageRecord::diskUsage):
  • storage/OriginUsageRecord.h: (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry): Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and can be replaced with a single boolean for OriginUsageRecord. Added assertions for string parameters being unshared.
8:15 AM Changeset in webkit [36024] by Adam Roben
  • 3 edits in trunk/JavaScriptCore

Windows build fixes

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add StructureID.{cpp,h} to the project. Also let VS reorder this file.
  • VM/CodeBlock.cpp: Include StringExtras so that snprintf will be defined on Windows.

Sep 1, 2008:

10:08 PM Changeset in webkit [36023] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.3

New tag.

9:26 PM Changeset in webkit [36022] by abarth@webkit.org
  • 10 edits in trunk

WebCore:

2008-09-01 Adam Barth <abarth@webkit.org>

Reviewed by Sam Weinig.

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

Make granting LoadLocalResources conditional on a policy.

  • WebCore.base.exp:
  • dom/Document.cpp: (WebCore::Document::initSecurityContext):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::setLocalLoadPolicy): (WebCore::FrameLoader::restrictAccessToLocal):
  • loader/FrameLoader.h: (WebCore::FrameLoader::):
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::grantLoadLocalResources):
  • platform/SecurityOrigin.h:

WebKit/mac:

2008-09-01 Adam Barth <abarth@webkit.org>

Reviewed by Sam Weinig.

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

Add a linked-on-or-after check to prevent substitute data from loading
local resources on newer users of WebKit.

  • Misc/WebKitVersionChecks.h:
  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]):
4:34 PM Changeset in webkit [36021] by dino@apple.com
  • 3 edits
    23 adds in trunk

2008-09-01 Dean Jackson <dino@apple.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=20571
Make sure Window object can assign Animation/Transition event
listeners via attributes.

Also added a bunch of transition event tests, although
only transition-end-event-window is directly relevant to this patch.

(WebCore::JSDOMWindowBase::put):

Tests: transitions/transition-end-event-all-properties.html

transitions/transition-end-event-attributes.html
transitions/transition-end-event-container.html
transitions/transition-end-event-left.html
transitions/transition-end-event-multiple-01.html
transitions/transition-end-event-multiple-02.html
transitions/transition-end-event-multiple-03.html
transitions/transition-end-event-multiple-04.html
transitions/transition-end-event-nested.html
transitions/transition-end-event-transform.html
transitions/transition-end-event-window.html

4:05 PM Changeset in webkit [36020] by dino@apple.com
  • 2 edits in trunk/WebCore

2008-09-01 Dean Jackson <dino@apple.com>

Reviewed by Sam Weinig

Code styling cleanup.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty): (WebCore::JSDOMWindowBase::put):
3:55 PM Changeset in webkit [36019] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Fix release build.

3:49 PM Changeset in webkit [36018] by jmalonzo@webkit.org
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.

Gtk buildfix

  • GNUmakefile.am:
  • kjs/PropertyMap.cpp: rename Identifier.h to identifier.h
  • kjs/StructureID.cpp: include JSObject.h
3:40 PM Changeset in webkit [36017] by weinig@apple.com
  • 7 edits in trunk/JavaScriptGlue

2008-09-01 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.

First cut at inline caching for access to vanilla JavaScript properties.


Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
to JavaScriptGlue classes, and PutPropertySlot& arguments to put functions.

2:22 PM Changeset in webkit [36016] by weinig@apple.com
  • 100 edits
    20 adds in trunk

JavaScriptCore:

2008-09-01 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.

First cut at inline caching for access to vanilla JavaScript properties.


SunSpider says 4% faster. Tests heavy on dictionary-like access have
regressed a bit -- we have a lot of room to improve in this area,
but this patch is over-ripe as-is.


JSCells now have a StructureID that uniquely identifies their layout,
and holds their prototype.


JSValue::put takes a PropertySlot& argument, so it can fill in details
about where it put a value, for the sake of caching.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator): Avoid calling removeDirect if we can, since it disables inline caching in the global object. This can probably improve in the future.
  • kjs/JSGlobalObject.cpp: Nixed reset(), since it complicates caching, and wasn't really necessary.
  • kjs/JSObject.cpp: Tweaked getter / setter behavior not to rely on the IsGetterSetter flag, since the flag was buggy. This is necessary in order to avoid accidentally accessing a getter / setter as a normal property.


Also changed getter / setter creation to honor ReadOnly, matching Mozilla.


  • kjs/PropertyMap.cpp: Nixed clear(), since it complicates caching and isn't necessary.
  • kjs/Shell.cpp: Moved SamplingTool dumping outside the loop. This allows you to aggregate sampling of multiple files (or the same file repeatedly), which helped me track down regressions.
  • kjs/ustring.h: Moved IdentifierRepHash here to share it.

WebCore:

2008-09-01 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.

First cut at inline caching for access to vanilla JavaScript properties.

Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
to WebCore classes, and PutPropertySlot& arguments to put functions.

(WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
inline caching for global properties, so global assignment can be optimized.

  • ForwardingHeaders/kjs/StructureID.h: Added.
  • bindings/js/JSDOMBinding.h: (WebCore::DOMObject::DOMObject):
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::put):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindow::customPut):
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::JSDOMWindowShell): (WebCore::JSDOMWindowShell::put):
  • bindings/js/JSDOMWindowShell.h:
  • bindings/js/JSEventTargetBase.h: (WebCore::JSEventTargetBase::put):
  • bindings/js/JSEventTargetNode.h: (WebCore::JSEventTargetNode::put):
  • bindings/js/JSHTMLAppletElementCustom.cpp: (WebCore::JSHTMLAppletElement::customPut):
  • bindings/js/JSHTMLEmbedElementCustom.cpp: (WebCore::JSHTMLEmbedElement::customPut):
  • bindings/js/JSHTMLInputElementBase.cpp: (WebCore::JSHTMLInputElementBase::put):
  • bindings/js/JSHTMLInputElementBase.h:
  • bindings/js/JSHTMLObjectElementCustom.cpp: (WebCore::JSHTMLObjectElement::customPut):
  • bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::customPut):
  • bindings/js/JSInspectedObjectWrapper.cpp: (WebCore::JSInspectedObjectWrapper::wrap): (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
  • bindings/js/JSInspectedObjectWrapper.h:
  • bindings/js/JSInspectorCallbackWrapper.cpp: (WebCore::JSInspectorCallbackWrapper::wrap): (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
  • bindings/js/JSInspectorCallbackWrapper.h:
  • bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::customPut):
  • bindings/js/JSPluginElementFunctions.cpp: (WebCore::runtimeObjectCustomPut):
  • bindings/js/JSPluginElementFunctions.h:
  • bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): (WebCore::JSQuarantinedObjectWrapper::put):
  • bindings/js/JSQuarantinedObjectWrapper.h:
  • bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::customPut):
  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject setValue:forKey:]):
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/NP_jsobject.cpp: (_NPN_SetProperty):
  • bridge/jni/jni_jsobject.mm: (JavaJSObject::setMember):
  • bridge/objc/objc_class.mm: (KJS::Bindings::ObjcClass::fallbackObject):
  • bridge/objc/objc_runtime.h:
  • bridge/objc/objc_runtime.mm: (ObjcFallbackObjectImp::ObjcFallbackObjectImp): (ObjcFallbackObjectImp::put):
  • bridge/runtime.cpp: (KJS::Bindings::Instance::createRuntimeObject):
  • bridge/runtime_array.cpp: (RuntimeArray::put):
  • bridge/runtime_array.h:
  • bridge/runtime_object.cpp: (RuntimeObjectImp::RuntimeObjectImp): (RuntimeObjectImp::put):
  • bridge/runtime_object.h:

LayoutTests:

2008-09-01 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.

First cut at inline caching for access to vanilla JavaScript properties.


Tests for things I broke along the way.


  • fast/dom/getter-on-window-object2-expected.txt:
  • fast/js/pic: Added.
  • fast/js/pic/cached-deleted-properties-expected.txt: Added.
  • fast/js/pic/cached-deleted-properties.html: Added.
  • fast/js/pic/cached-getter-dictionary-and-proto-expected.txt: Added.
  • fast/js/pic/cached-getter-dictionary-and-proto.html: Added.
  • fast/js/pic/cached-getter-setter-expected.txt: Added.
  • fast/js/pic/cached-getter-setter.html: Added.
  • fast/js/pic/cached-prototype-setter-expected.txt: Added.
  • fast/js/pic/cached-prototype-setter.html: Added.
  • fast/js/pic/cached-single-entry-transition-expected.txt: Added.
  • fast/js/pic/cached-single-entry-transition.html: Added.
  • fast/js/pic/get-empty-string-expected.txt: Added.
  • fast/js/pic/get-empty-string.html: Added.
  • fast/js/pic/get-set-proxy-object-expected.txt: Added.
  • fast/js/pic/get-set-proxy-object.html: Added.
  • fast/js/pic/rehash-poisons-structure-expected.txt: Added.
  • fast/js/pic/rehash-poisons-structure.html: Added.
12:51 PM Changeset in webkit [36015] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-09-01 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Eagerly allocate the Math object's numeric constants. This avoids
constantly reallocating them in loops, and also ensures that the Math
object will not use the single property optimization, which makes
properties ineligible for caching.

SunSpider reports a small speedup, in combination with inline caching.

  • kjs/MathObject.cpp: (KJS::MathObject::MathObject): (KJS::MathObject::getOwnPropertySlot):
  • kjs/MathObject.h:
12:46 PM Changeset in webkit [36014] by jmalonzo@webkit.org
  • 2 edits in trunk/JavaScriptCore

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

Gtk build fix, not reviewed.

  • GNUmakefile.am: Add SmallStrings.cpp in both release and debug builds
10:18 AM Changeset in webkit [36013] by cwzwarich@webkit.org
  • 1 edit in trunk/JavaScriptCore/ChangeLog

2008-09-01 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Not reviewed.

Fix a typo in the ChangeLog for r36009.

5:44 AM Changeset in webkit [36012] by jmalonzo@webkit.org
  • 3 edits in trunk/WebKit/gtk

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

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=19939
[GTK] webkit_web_history_item_get_title() fails with assertion

Make sure newly constructed WebHistoryItem objects wrap a WebCore
history item when necessary. Avoid G_PARAM_CONSTRUCT since it destroys
history data -- use WEBKIT_PARAM flags instead as they do the right
thing. This restores history functionality.

Also use CString to simplify UTF-8 string management.

  • webkit/webkitwebbackforwardlist.cpp: (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit): (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_list_with_limit): No need to initialize the vector with a size since it's cleared by the callee.
  • webkit/webkitwebhistoryitem.cpp: (_WebKitWebHistoryItemPrivate::webkit_web_history_item_finalize): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_class_init): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_title): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_alternate_title): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_uri): (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_original_uri):
5:43 AM Changeset in webkit [36011] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-09-01 Dirk Schulze <vbs85@gmx.de>

Reviewed by Eric Seidel.

Fixed border-radius for Cairo.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::strokeArc):
5:43 AM Changeset in webkit [36010] by jmalonzo@webkit.org
  • 5 edits in trunk/WebCore

2008-09-01 Dirk Schulze <vbs85@gmx.de>

Reviewed by Eric Seidel.

Added canvas's globalAlpha to cairo.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::setAlpha): (WebCore::GraphicsContext::getAlpha):
  • platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
  • platform/graphics/cairo/ImageCairo.cpp: (WebCore::BitmapImage::draw):

Aug 31, 2008:

2:57 PM Changeset in webkit [36009] by cwzwarich@webkit.org
  • 3 edits
    3 adds in trunk

2008-08-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 20577: REGRESSION (r35006): Gmail is broken
<https://bugs.webkit.org/show_bug.cgi?id=20577>

r35006 changed stringProtoFuncSubstr() so that it is uses the more
efficient jsSubstring(), rather than using UString::substr() and then
calling jsString(). However, the change did not account for the case
where the start and the length of the substring extend beyond the length
of the original string. This patch corrects that.

JavaScriptCore:

  • kjs/StringPrototype.cpp: (KJS::stringProtoFuncSubstr):

LayoutTests:

  • fast/js/resources/string-substr.js: Added.
  • fast/js/string-substr-expected.txt: Added.
  • fast/js/string-substr.html: Added.
6:13 AM Changeset in webkit [36008] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-08-31 Simon Hausmann <Simon Hausmann>

Unreviewed Qt build fix.

  • WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of the .h file
6:13 AM Changeset in webkit [36007] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2008-08-31 Simon Hausmann <hausmann@wekit.org>

Unreviewed build fix (with gcc 4.3)

  • kjs/ustring.h: Properly forward declare operator== for UString and the the concatenate functions inside the KJS namespace.

Aug 30, 2008:

11:58 PM Changeset in webkit [36006] by Darin Adler
  • 33 edits
    2 adds in trunk

JavaScriptCore:

2008-08-30 Darin Adler <Darin Adler>

Reviewed by Maciej.

1.035x as fast on SunSpider overall.
1.127x as fast on SunSpider string tests.
1.910x as fast on SunSpider string-base64 test.

  • API/JSObjectRef.cpp: (JSObjectMakeFunction): Removed unneeded explicit construction of UString.
  • GNUmakefile.am: Added SmallStrings.h and SmallStrings.cpp.
  • JavaScriptCore.pri: Ditto.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
  • JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
  • JavaScriptCoreSources.bkl: Ditto.
  • VM/Machine.cpp: (KJS::jsAddSlowCase): Changed to use a code path that doesn't involve a UString constructor. This avoids an extra jump caused by the "in charge" vs. "not in charge" constructors. (KJS::jsAdd): Ditto. (KJS::jsTypeStringForValue): Adopted jsNontrivialString.
  • kjs/ArrayPrototype.cpp: (KJS::arrayProtoFuncToString): Adopted jsEmptyString. (KJS::arrayProtoFuncToLocaleString): Ditto. (KJS::arrayProtoFuncJoin): Ditto.
  • kjs/BooleanPrototype.cpp: (KJS::booleanProtoFuncToString): Adopted jsNontrivialString.
  • kjs/DateConstructor.cpp: (KJS::callDate): Ditto.
  • kjs/DatePrototype.cpp: (KJS::formatLocaleDate): Adopted jsEmptyString and jsNontrivialString. (KJS::dateProtoFuncToString): Ditto. (KJS::dateProtoFuncToUTCString): Ditto. (KJS::dateProtoFuncToDateString): Ditto. (KJS::dateProtoFuncToTimeString): Ditto. (KJS::dateProtoFuncToLocaleString): Ditto. (KJS::dateProtoFuncToLocaleDateString): Ditto. (KJS::dateProtoFuncToLocaleTimeString): Ditto. (KJS::dateProtoFuncToGMTString): Ditto.
  • kjs/ErrorPrototype.cpp: (KJS::ErrorPrototype::ErrorPrototype): Ditto. (KJS::errorProtoFuncToString): Ditto.
  • kjs/JSGlobalData.h: Added SmallStrings.
  • kjs/JSString.cpp: (KJS::jsString): Eliminated the overload that takes a const char*. Added code to use SmallStrings to get strings of small sizes rather than creating a new JSString every time. (KJS::jsSubstring): Added. Used when creating a string from a substring to avoid creating a JSString in cases where the substring will end up empty or as one character. (KJS::jsOwnedString): Added the same code as in jsString.
  • kjs/JSString.h: Added new functions jsEmptyString, jsSingleCharacterString, jsSingleCharacterSubstring, jsSubstring, and jsNontrivialString for various cases where we want to create JSString, and want special handling for small strings. (KJS::JSString::JSString): Added an overload that takes a PassRefPtr of a UString::Rep so you don't have to construct a UString; PassRefPtr can be more efficient. (KJS::jsEmptyString): Added. (KJS::jsSingleCharacterString): Added. (KJS::jsSingleCharacterSubstring): Added. (KJS::jsNontrivialString): Added. (KJS::JSString::getIndex): Adopted jsSingleCharacterSubstring. (KJS::JSString::getStringPropertySlot): Ditto.
  • kjs/NumberPrototype.cpp: (KJS::numberProtoFuncToFixed): Adopted jsNontrivialString. (KJS::numberProtoFuncToExponential): Ditto. (KJS::numberProtoFuncToPrecision): Ditto.
  • kjs/ObjectPrototype.cpp: (KJS::objectProtoFuncToLocaleString): Adopted toThisJSString. (KJS::objectProtoFuncToString): Adopted jsNontrivialString.
  • kjs/RegExpConstructor.cpp: Separated the lastInput value that's used with the lastOvector to return matches from the input value that can be changed via JavaScript. They will be equal in many cases, but not all. (KJS::RegExpConstructor::performMatch): Set input. (KJS::RegExpMatchesArray::RegExpMatchesArray): Ditto. (KJS::RegExpMatchesArray::fillArrayInstance): Adopted jsSubstring. Also, use input rather than lastInput in the appropriate place. (KJS::RegExpConstructor::getBackref): Adopted jsSubstring and jsEmptyString. Added code to handle the case where there is no backref -- before this depended on range checking in UString::substr which is not present in jsSubstring. (KJS::RegExpConstructor::getLastParen): Ditto. (KJS::RegExpConstructor::getLeftContext): Ditto. (KJS::RegExpConstructor::getRightContext): Ditto. (KJS::RegExpConstructor::getValueProperty): Use input rather than lastInput. Also adopt jsEmptyString. (KJS::RegExpConstructor::putValueProperty): Ditto. (KJS::RegExpConstructor::input): Ditto.
  • kjs/RegExpPrototype.cpp: (KJS::regExpProtoFuncToString): Adopt jsNonTrivialString. Also changed to use UString::append to append single characters rather than using += and a C-style string.
  • kjs/SmallStrings.cpp: Added. (KJS::SmallStringsStorage::SmallStringsStorage): Construct the buffer and UString::Rep for all 256 single-character strings for the U+0000 through U+00FF. This covers all the values used in the base64 test as well as most values seen elsewhere on the web as well. It's possible that later we might fix this to only work for U+0000 through U+007F but the others are used quite a bit in the current version of the base64 test. (KJS::SmallStringsStorage::~SmallStringsStorage): Free memory. (KJS::SmallStrings::SmallStrings): Create a set of small strings, initially not created; created later when they are used. (KJS::SmallStrings::~SmallStrings): Deallocate. Not left compiler generated because the SmallStringsStorage class's destructor needs to be visible. (KJS::SmallStrings::mark): Mark all the strings. (KJS::SmallStrings::createEmptyString): Create a cell for the empty string. Called only the first time. (KJS::SmallStrings::createSingleCharacterString): Create a cell for one of the single-character strings. Called only the first time.
  • kjs/SmallStrings.h: Added.
  • kjs/StringConstructor.cpp: (KJS::stringFromCharCodeSlowCase): Factored out of strinFromCharCode. Only used for cases where the caller does not pass exactly one argument. (KJS::stringFromCharCode): Adopted jsSingleCharacterString. (KJS::callStringConstructor): Adopted jsEmptyString.
  • kjs/StringObject.cpp: (KJS::StringObject::StringObject): Adopted jsEmptyString.
  • kjs/StringPrototype.cpp: (KJS::stringProtoFuncReplace): Adopted jsSubstring. (KJS::stringProtoFuncCharAt): Adopted jsEmptyString and jsSingleCharacterSubstring and also added a special case when the index is an immediate number to avoid conversion to and from floating point, since that's the common case. (KJS::stringProtoFuncCharCodeAt): Ditto. (KJS::stringProtoFuncMatch): Adopted jsSubstring and jsEmptyString. (KJS::stringProtoFuncSlice): Adopted jsSubstring and jsSingleCharacterSubstring. Also got rid of some unneeded locals and removed unneeded code to set the length property of the array, since it is automatically updated as values are added to the array. (KJS::stringProtoFuncSplit): Adopted jsEmptyString. (KJS::stringProtoFuncSubstr): Adopted jsSubstring. (KJS::stringProtoFuncSubstring): Ditto.
  • kjs/collector.cpp: (KJS::Heap::collect): Added a call to mark SmallStrings.
  • kjs/ustring.cpp: (KJS::UString::expandedSize): Made this a static member function since it doesn't need to look at any data members. (KJS::UString::expandCapacity): Use a non-inline function, makeNull, to set the rep to null in failure cases. This avoids adding a PIC branch for the normal case when there is no failure. (KJS::UString::expandPreCapacity): Ditto. (KJS::UString::UString): Ditto. (KJS::concatenate): Refactored the concatenation constructor into this separate function. Calling the concatenation constructor was leading to an extra branch because of the in-charge vs. not-in-charge versions not both being inlined, and this was showing up as nearly 1% on Shark. Also added a special case for when the second string is a single character, since it's a common idiom to build up a string that way and we can do things much more quickly, without involving memcpy for example. Also adopted the non-inline function, nullRep, for the same reason given for makeNull above. (KJS::UString::append): Adopted makeNull for failure cases. (KJS::UString::operator=): Ditto. (KJS::UString::toDouble): Added a special case for converting single character strings to numbers. We're doing this a ton of times while running the base64 test. (KJS::operator==): Added special cases so we can compare single-character strings without calling memcmp. Later we might want to special case other short lengths similarly. (KJS::UString::makeNull): Added. (KJS::UString::nullRep): Added.
  • kjs/ustring.h: Added declarations for the nullRep and makeNull. Changed expandedSize to be a static member function. Added a declaration of the concatenate function. Removed the concatenation constructor. Rewrote operator+ to use the concatenate function.

WebCore:

2008-08-30 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::windowProtoFuncAToB): Adopted jsEmptyString. (WebCore::windowProtoFuncBToA): Ditto.
  • bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::eventParameterName): Adopted jsNontrivialString.
  • bindings/js/JSSVGLazyEventListener.cpp: (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.

LayoutTests:

2008-08-30 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • updated incorrect results that reflected a bug in the RegExp object
  • fast/js/regexp-caching-expected.txt: Updated results to correctly show that $1 through $9, lastMatch, lastParen, leftContext, and rightContext are left alone both when a program changes the value of RegExp.input and when it performs an unsuccessful match. The new results match Gecko behavior (I tested both Firefox 2 and 3).
1:39 PM Changeset in webkit [36005] by weinig@apple.com
  • 4 edits in trunk/WebKit/win

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

Reviewed by Dan Bernstein.

Add WebView SPI to defer loading callbacks.

  • Interfaces/IWebViewPrivate.idl:
  • WebView.cpp: (WebView::setDefersCallbacks): (WebView::defersCallbacks):
  • WebView.h:

Aug 29, 2008:

5:42 PM Changeset in webkit [36004] by andersca@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-08-29 Anders Carlsson <andersca@apple.com>

Build fix.

  • VM/Machine.cpp: (KJS::getCPUTime):
5:40 PM Changeset in webkit [36003] by andersca@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-08-29 Anders Carlsson <andersca@apple.com>

Reviewed by Darin.

<rdar://problem/6174667>
When a machine is under heavy load, the Slow Script dialog often comes up many times and just gets in the way


Instead of using clock time, use the CPU time spent executing the current thread when
determining if the script has been running for too long.


  • VM/Machine.cpp: (KJS::getCPUTime): (KJS::Machine::checkTimeout):
5:30 PM Changeset in webkit [36002] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-08-29 Brady Eidson <beidson@apple.com>

Reviewed by Anders' rubberstamp

Style cleanup to match MediaTokenizer::writeRawData()

  • loader/PluginDocument.cpp: (WebCore::PluginTokenizer::writeRawData):
5:26 PM Changeset in webkit [36001] by beidson@apple.com
  • 4 edits in trunk

WebCore:

2008-08-29 Brady Eidson <beidson@apple.com>

Reviewed by Anders

Fix regression I introducted in 35946
Already covered by media/video-click-dlbclick-standalone.html

  • loader/MediaDocument.cpp: (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early! (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add an ASSERT signifying that this method should only be called once, to more closely follow the PluginDocument case.

WebKit/mac:

2008-08-29 Brady Eidson <beidson@apple.com>

Reviewed by Anders

Fix regression I introducted in 35946
Already covered by media/video-click-dlbclick-standalone.html

  • WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation receivedData:withDataSource:]): Cancel the load here after calling [WebFrame _receivedData:] which more closely follows the path taken by PluginDocuments
5:00 PM Changeset in webkit [36000] by Beth Dakin
  • 4 edits in trunk/WebCore

2008-08-29 Beth Dakin <Beth Dakin>

Reviewed by Sam Weinig.

Fix for <rdar://problem/6181588>

This patch makes hit testing take into account the new concept of a
disconnected frame, in which some of the content may not be
visible. The current hit testing mechanism starts at a target frame
and drills down for a HitTestResult. In some cases, drilling down
will find a non-visible result. When this happens, we need to try
again, starting at a higher level -- namely, starting at the main
frame.

  • editing/Editor.cpp: (WebCore::Editor::insideVisibleArea): New function that tests if a point is inside the visible area for a disconnected frame.
  • editing/Editor.h:
  • page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
3:30 PM Changeset in webkit [35999] by adele@apple.com
  • 8 edits
    2 moves in trunk/WebCore

2008-08-29 Adele Peterson <adele@apple.com>

Reviewed by Adam Roben.

Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • html/HTMLTextFieldInnerElement.cpp: Removed.
  • html/HTMLTextFieldInnerElement.h: Removed.
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
  • rendering/RenderTextControl.h:
  • rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp. (WebCore::TextControlInnerElement::TextControlInnerElement): (WebCore::TextControlInnerTextElement::TextControlInnerTextElement): (WebCore::TextControlInnerTextElement::defaultEventHandler): (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement): (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement): (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
  • rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
2:40 PM Changeset in webkit [35998] by eric@webkit.org
  • 2 edits in trunk/WebCore

Rubber-stamped by aroben.

Add GraphicsContext.h include to GraphcisContextPrivate.h

GraphicsContextPrivate uses StrokeStyle which is defined
in GraphicsContext.h but it doesn't include that header.
CoreGraphics build doesn't fail here due to the order
it happens to include files.

  • platform/graphics/GraphicsContextPrivate.h:
2:39 PM Changeset in webkit [35997] by eric@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

Reviewed by hyatt.

Fix GeneratedImage to respect Image's refcounting
Fixing potential crashers (future if not current)
https://bugs.webkit.org/show_bug.cgi?id=20567

I don't know if it's possible to make the current code
crash, thus I've not made a test.

  • css/CSSGradientValue.cpp: (WebCore::CSSGradientValue::image):
  • css/CSSImageGeneratorValue.cpp: (WebCore::CSSImageGeneratorValue::removeClient): (WebCore::CSSImageGeneratorValue::getImage):
  • css/CSSImageGeneratorValue.h:
  • platform/graphics/GeneratedImage.h: (WebCore::GeneratedImage::GeneratedImage):
  • rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::setContent):
  • rendering/style/RenderStyle.h:
2:38 PM Changeset in webkit [35996] by eric@webkit.org
  • 6 edits in trunk/WebCore

Fix GeneratedImage to respect Image's refcounting

1:24 PM Changeset in webkit [35995] by eric.carlson@apple.com
  • 2 edits in trunk/WebCore

2008-08-29 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adele.

Fix for <rdar://problem/6093767>
https://bugs.webkit.org/show_bug.cgi?id=20526

Don't allow video to render until unsupported track types have been disabled.

  • platform/graphics/win/QTMovieWin.cpp: (QTMovieWinPrivate::task): (QTMovieWinPrivate::drawingComplete): (QTMovieWinPrivate::clearGWorld):
1:07 PM Changeset in webkit [35994] by eric.carlson@apple.com
  • 3 edits
    2 adds in trunk

Reviewed by Adele.

Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
<rdar://problem/6169301>


Return the size of the movie data instead of 1000. The value is used for the progress
event "total" attribute.

  • media/progress-event-total-expected.txt: Added.
  • media/progress-event-total.html: Added.
8:57 AM Changeset in webkit [35993] by Simon Hausmann
  • 13 edits in trunk

2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Eric Seidel.

[janitor/qt] Start replacing port specific getters with the generic native getter
To get the native presentation of an image we currently have platform
specific #ifdef's and a generic getter using NativeImagePtr. This patch
extends this to the ImageBuffer and updates the Qt platform to get rid
of the special #ifdefs.

https://bugs.webkit.org/attachment.cgi?id=22861

8:56 AM Changeset in webkit [35992] by Simon Hausmann
  • 3 edits in trunk/WebCore

2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Simon.

[svg/qt] Stop crashing... when no RenderPath/RenderObject is given...

8:56 AM Changeset in webkit [35991] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Simon.

Catch up with the introduction of PageGroup in r30840. Enable tracking of
visited links, enable this in QWebPage next to the other WebCore init call.
Calling this more than once is no issue and a cheap operation, we also do not
reset the state. When clearing the history of a page, clear the link state.

8:56 AM Changeset in webkit [35990] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Simon.

Revert revision 34348 which removed the global historyContains() function.

This function was needed to implement the public API of QWebHistoryInterface
and will be used again in the near future.

8:56 AM Changeset in webkit [35989] by Simon Hausmann
  • 4 edits in trunk/WebCore

2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Simon.

[network/qt] Implement defering of loading ResourceHandle's
This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
implementation is simply not forwarding anything to the
ResourceHandleClient until we are allowed to. This might lead to a deadlock
in Qt as we do not empty the QNetworkReply input buffer and wait until we
are allowed to read. If that happens we are forced to buffer the data
within QNetworkReplyHandler, for now this is not done.

Manual test:

  • Open http://acid3.acidtests.org
  • Wait for the test to complete
  • Click on the Reference Rendering link
  • Be fast and see the results of acid3 => assert
5:35 AM Changeset in webkit [35988] by Simon Hausmann
  • 4 edits in trunk/WebCore

2008-08-29 Simon Hausmann <Simon Hausmann>

Reviewed by Holger.

Don't crash when drawing patterns with the HTML canvas. Patterns
remain unimplemented but at least they don't crash anymore. This is
done by changing the PlatformPatternPtr to be a brush for the Qt
platform.

3:21 AM Changeset in webkit [35987] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-08-29 Simon Hausmann <Simon Hausmann>

Fix the Qt build, fontSelector() is not used by the Qt port yet
and we just return 0 in Font::fontSelector().

Aug 28, 2008:

10:20 PM Changeset in webkit [35986] by cwzwarich@webkit.org
  • 4 edits in trunk/JavaScriptCore

2008-08-28 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Rubber-stamped by Sam Weinig.

Change 'term' to 'expr' in variable names to standardize terminology.

  • kjs/nodes.cpp: (KJS::BinaryOpNode::emitCode): (KJS::ReverseBinaryOpNode::emitCode): (KJS::ThrowableBinaryOpNode::emitCode):
  • kjs/nodes.h: (KJS::BinaryOpNode::BinaryOpNode): (KJS::ReverseBinaryOpNode::ReverseBinaryOpNode): (KJS::MultNode::): (KJS::DivNode::): (KJS::ModNode::): (KJS::AddNode::): (KJS::SubNode::): (KJS::LeftShiftNode::): (KJS::RightShiftNode::): (KJS::UnsignedRightShiftNode::): (KJS::LessNode::): (KJS::GreaterNode::): (KJS::LessEqNode::): (KJS::GreaterEqNode::): (KJS::ThrowableBinaryOpNode::): (KJS::InstanceOfNode::): (KJS::InNode::): (KJS::EqualNode::): (KJS::NotEqualNode::): (KJS::StrictEqualNode::): (KJS::NotStrictEqualNode::): (KJS::BitAndNode::): (KJS::BitOrNode::): (KJS::BitXOrNode::):
  • kjs/nodes2string.cpp: (KJS::MultNode::streamTo): (KJS::DivNode::streamTo): (KJS::ModNode::streamTo): (KJS::AddNode::streamTo): (KJS::SubNode::streamTo): (KJS::LeftShiftNode::streamTo): (KJS::RightShiftNode::streamTo): (KJS::UnsignedRightShiftNode::streamTo): (KJS::LessNode::streamTo): (KJS::GreaterNode::streamTo): (KJS::LessEqNode::streamTo): (KJS::GreaterEqNode::streamTo): (KJS::InstanceOfNode::streamTo): (KJS::InNode::streamTo): (KJS::EqualNode::streamTo): (KJS::NotEqualNode::streamTo): (KJS::StrictEqualNode::streamTo): (KJS::NotStrictEqualNode::streamTo): (KJS::BitAndNode::streamTo): (KJS::BitXOrNode::streamTo): (KJS::BitOrNode::streamTo):
10:09 PM Changeset in webkit [35985] by alp@webkit.org
  • 6 edits in trunk

2008-08-28 Alp Toker <alp@nuanti.com>

GTK+ dist/build fix. List newly added header files.

6:13 PM Changeset in webkit [35984] by weinig@apple.com
  • 7 edits in trunk

JavaScriptCore:

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

Reviewed by Oliver Hunt.

Change to throw a ReferenceError at runtime instead of a ParseError
at parse time, when the left hand side expression of a for-in statement
is not an lvalue.

  • kjs/grammar.y:
  • kjs/nodes.cpp: (KJS::ForInNode::emitCode):

LayoutTests:

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

Reviewed by Oliver Hunt.

Update test results now that test actually works.

  • fast/js/kde/exception_propagation-expected.txt:
  • fast/js/kde/resources/exception_propagation.js:
4:04 PM Changeset in webkit [35983] by Simon Fraser
  • 7 edits
    2 adds in trunk

2008-08-28 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

Various WebKitCSSTransformValue-related fixes
https://bugs.webkit.org/show_bug.cgi?id=20562

Test: css3/transform-value-types.html

  • bindings/js/JSCSSValueCustom.cpp: (WebCore::toJS):
  • css/CSSValue.h:
  • css/WebKitCSSTransformValue.cpp: (WebCore::WebKitCSSTransformValue::cssText):
  • css/WebKitCSSTransformValue.h: (WebCore::WebKitCSSTransformValue::):
  • css/WebKitCSSTransformValue.idl:
3:53 PM Changeset in webkit [35982] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Steve Falkenburg.

  • do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
  • platform/win/SharedTimerWin.cpp: (WebCore::TimerWindowWndProc):
2:45 PM Changeset in webkit [35981] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.xcodeproj/project.pbxproj

Make sure new header files are put in private headers.

2:40 PM Changeset in webkit [35980] by Simon Fraser
  • 2 edits in trunk/LayoutTests

2008-08-28 Simon Fraser <Simon Fraser>

Fix window properties now that CSSRule includes
keyframe-related constants.
Also add window.console.count [function]
https://bugs.webkit.org/show_bug.cgi?id=20552

  • fast/dom/Window/window-properties-expected.txt:
2:38 PM Changeset in webkit [35979] by hyatt@apple.com
  • 12 edits
    7 adds in trunk/WebCore

2008-08-28 David Hyatt <hyatt@apple.com>

RenderStyle cleanup.

Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.

Reviewed by Adam

  • css/CSSImageGeneratorValue.cpp:
  • css/CSSImageValue.cpp:
  • css/CSSStyleSelector.cpp:
  • rendering/RenderImageGeneratedContent.cpp:
  • rendering/style/NinePieceImage.cpp: Added.
  • rendering/style/NinePieceImage.h: Added.
  • rendering/style/RenderStyle.cpp: (WebCore::FillLayer::operator==): (WebCore::FillLayer::containsImage): (WebCore::StyleInheritedData::operator==): (WebCore::RenderStyle::contentDataEquivalent):
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleCachedImage.cpp: Added.
  • rendering/style/StyleCachedImage.h: Added.
  • rendering/style/StyleGeneratedImage.cpp: Added.
  • rendering/style/StyleGeneratedImage.h: Added.
  • rendering/style/StyleImage.h: Added.
2:29 PM Changeset in webkit [35978] by Simon Fraser
  • 5 edits in trunk/WebCore

2008-08-28 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

Make all the 'isFoo()' methods on CSSValue const,
and fix the subclasses.

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

  • css/CSSTimingFunctionValue.h:
  • css/CSSValue.h: (WebCore::CSSValue::isFontValue): (WebCore::CSSValue::isImageGeneratorValue): (WebCore::CSSValue::isImageValue): (WebCore::CSSValue::isImplicitInitialValue):
  • css/CSSValueList.h:
  • css/FontValue.h:
1:48 PM Changeset in webkit [35977] by kmccullough@apple.com
  • 2 edits in trunk/WebKit/mac

2008-08-28 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff.

<rdar://problem/6095949> REGRESSION (5525.8-6527.1?): "this" is null
when you first hit a breakpoint in Dashcode

  • We wanted to reset the callframe whenever eval() was called but dashcode uses eval() when broken to evaluate the state of the current call frame.
  • WebView/WebScriptDebugger.mm: (WebScriptDebugger::willExecuteProgram): (WebScriptDebugger::didExecuteProgram):
1:08 PM Changeset in webkit [35976] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-08-28 David Hyatt <hyatt@apple.com>

The great RenderStyle cleanup begins!

Move LengthBox and LengthSize out of RenderStyle and into Length.

Reviewed by Adam

  • rendering/Length.h: (WebCore::): (WebCore::Length::Length): (WebCore::Length::operator==): (WebCore::Length::operator!=): (WebCore::Length::value): (WebCore::Length::rawValue): (WebCore::Length::percent): (WebCore::Length::type): (WebCore::Length::quirk): (WebCore::Length::setValue): (WebCore::Length::setRawValue): (WebCore::Length::calcValue): (WebCore::Length::calcMinValue): (WebCore::Length::calcFloatValue): (WebCore::Length::isUndefined): (WebCore::Length::isZero): (WebCore::Length::isPositive): (WebCore::Length::isNegative): (WebCore::Length::isAuto): (WebCore::Length::isRelative): (WebCore::Length::isPercent): (WebCore::Length::isFixed): (WebCore::Length::isStatic): (WebCore::Length::isIntrinsicOrAuto): (WebCore::Length::blend): (WebCore::LengthBox::LengthBox): (WebCore::LengthBox::operator=): (WebCore::LengthBox::operator==): (WebCore::LengthBox::operator!=): (WebCore::LengthBox::nonZero): (WebCore::LengthSize::LengthSize):
  • rendering/style/RenderStyle.h:
12:53 PM Changeset in webkit [35975] by hyatt@apple.com
  • 4 edits in trunk/WebCore

2008-08-28 David Hyatt <hyatt@apple.com>

Reviewed by Darin

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

font-size should be animatable using -webkit-transition.

  • page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::ensurePropertyMap):
  • rendering/style/RenderStyle.h: (WebCore::RenderStyle::setFontSize):
11:08 AM Changeset in webkit [35974] by adele@apple.com
  • 2 edits in trunk/WebKit/win

2008-08-28 Adele Peterson <adele@apple.com>

Build fix.

  • WebIconDatabase.cpp: (WebIconDatabase::getOrCreateDefaultIconBitmap):
10:45 AM Changeset in webkit [35973] by mitz@apple.com
  • 2 edits in trunk/WebCore

2008-08-28 Brad Garcia <bgarcia@google.com>

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=20549
Correctly determine when cursor is over a resizable border within
a nested frameset.

  • rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::canResizeRow): (WebCore::RenderFrameSet::canResizeColumn):
10:30 AM Changeset in webkit [35972] by Simon Fraser
  • 3 edits
    6 adds in trunk

2008-08-28 Simon Fraser <Simon Fraser>

Reviewed by Eric Seidel

Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
https://bugs.webkit.org/show_bug.cgi?id=20552

Test: animations/animation-css-rule-types.html

  • css/CSSRule.idl:
10:26 AM Changeset in webkit [35971] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-08-28 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin and Darin.

<rdar://problem/6182541>
https://bugs.webkit.org/show_bug.cgi?id=20202
Missing http status line from the http headers.


Add a status line to the header string.


  • plugins/PluginStream.cpp: (WebCore::PluginStream::startStream):
8:56 AM Changeset in webkit [35970] by zecke@webkit.org
  • 6 edits
    1 delete in trunk

WebCore:
2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>

Rubber-stamped by Darin Adler.

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

Make it possible to theme the default Url icon and enable this for
the Qt port. To have a minimal usage of #ifdef in the code the setting
of the icon was moved to a new method which comes in two flavors.

  • loader/icon/IconDatabase.cpp: (WebCore::loadDefaultIconRecord): Load or set the default icon (WebCore::IconDatabase::defaultIcon):

WebKit/win:
2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>

Rubber-stamped by Darin Adler.

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

Remove the urlIcon.png from the project and the resource file. Remove
the usage of this icon from WebKitDLL.cpp and change WebIconDatabase
to get the icon from the IconDatabase code which is using a version of
the icon that is compiled into the code.

  • WebIconDatabase.cpp: (WebIconDatabase::getOrCreateDefaultIconBitmap): Use the icon from the IconDatabase.cpp
  • WebKit.vcproj/WebKit.rc: Remove urlIcon.cpp
  • WebKit.vcproj/urlIcon.png: Removed.
  • WebKitDLL.cpp: (loadResourceIntoBuffer): Remove "urlIcon"
8:03 AM Changeset in webkit [35969] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>

Unreviewed compile fix

  • platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
6:34 AM Changeset in webkit [35968] by Adam Roben
  • 2 edits in trunk/WebCore

Windows (and others?) build fix

  • page/Chrome.cpp: Added a missing #include. (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
5:04 AM Changeset in webkit [35967] by eric@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by Oliver Hunt.

Qt and Cairo support from krit (and blind stab @ wx compile support)
https://bugs.webkit.org/show_bug.cgi?id=20373

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::drawPath): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::setPlatformFillColor): (WebCore::GraphicsContext::setPlatformStrokeColor): (WebCore::GraphicsContext::setPlatformStrokeStyle): (WebCore::GraphicsContext::strokeRect): (WebCore::GraphicsContext::setImageInterpolationQuality): (WebCore::GraphicsContext::imageInterpolationQuality): (WebCore::GraphicsContext::setPlatformFillPattern): (WebCore::GraphicsContext::setPlatformStrokePattern): (WebCore::GraphicsContext::setPlatformFillGradient): (WebCore::GraphicsContext::setPlatformStrokeGradient):
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::strokeRect): (WebCore::GraphicsContext::clipToImageBuffer): (WebCore::GraphicsContext::setPlatformFillPattern): (WebCore::GraphicsContext::setPlatformStrokePattern): (WebCore::GraphicsContext::setPlatformFillGradient): (WebCore::GraphicsContext::setPlatformStrokeGradient): (WebCore::GraphicsContext::setImageInterpolationQuality): (WebCore::GraphicsContext::imageInterpolationQuality):
  • platform/graphics/wx/GraphicsContextWx.cpp: (WebCore::GraphicsContext::clipToImageBuffer): (WebCore::GraphicsContext::setImageInterpolationQuality): (WebCore::GraphicsContext::imageInterpolationQuality): (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::drawPath): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::setPlatformFillPattern): (WebCore::GraphicsContext::setPlatformStrokePattern): (WebCore::GraphicsContext::setPlatformFillGradient):
5:04 AM Changeset in webkit [35966] by eric@webkit.org
  • 23 edits in trunk/WebCore

Reviewed by Oliver Hunt.

Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
https://bugs.webkit.org/show_bug.cgi?id=20373

Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()

Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
have to store large Gradient objects in the GraphicsContextState

Made Pattern RefCounted for the same reason.

Many updates to GraphicsContext to support easier drawing with
Patterns and Gradients.

  • WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::toJS):
  • css/CSSGradientValue.cpp: (WebCore::CSSGradientValue::createGradient):
  • css/CSSGradientValue.h:
  • html/CanvasGradient.cpp: (WebCore::CanvasGradient::CanvasGradient):
  • html/CanvasGradient.h: (WebCore::CanvasGradient::gradient): (WebCore::CanvasGradient::addColorStop): (WebCore::CanvasGradient::getColor):
  • html/CanvasPattern.cpp:
  • html/CanvasPattern.h: (WebCore::CanvasPattern::pattern): (WebCore::CanvasPattern::originClean):
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::State::State): (WebCore::CanvasRenderingContext2D::setStrokeStyle): (WebCore::CanvasRenderingContext2D::setFillStyle): (WebCore::CanvasRenderingContext2D::fill): (WebCore::CanvasRenderingContext2D::stroke): (WebCore::CanvasRenderingContext2D::fillRect): (WebCore::CanvasRenderingContext2D::strokeRect):
  • html/CanvasRenderingContext2D.h:
  • html/CanvasStyle.cpp: (WebCore::CanvasStyle::applyStrokeColor): (WebCore::CanvasStyle::applyFillColor):
  • html/CanvasStyle.h:
  • platform/graphics/GeneratedImage.h: (WebCore::GeneratedImage::GeneratedImage):
  • platform/graphics/Generator.h:
  • platform/graphics/Gradient.h: (WebCore::Gradient::create):
  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::fillRule): (WebCore::GraphicsContext::setFillRule): (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient):
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContextPrivate.h: (WebCore::): (WebCore::GraphicsContextState::GraphicsContextState):
  • platform/graphics/GraphicsTypes.h:
  • platform/graphics/Path.h:
  • platform/graphics/Pattern.h: (WebCore::Pattern::create): (WebCore::Pattern::tileImage):
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawRect): (WebCore::GraphicsContext::drawEllipse): (WebCore::GraphicsContext::drawConvexPolygon): (WebCore::calculateDrawingMode): (WebCore::GraphicsContext::drawPath): (WebCore::fillPathWithFillRule): (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::fillRoundedRect): (WebCore::GraphicsContext::setPlatformStrokePattern): (WebCore::GraphicsContext::setPlatformFillPattern): (WebCore::GraphicsContext::setPlatformStrokeGradient): (WebCore::GraphicsContext::setPlatformFillGradient):
4:44 AM Changeset in webkit [35965] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Not reviewed, build fix (at least for OpenBSD, posssibly more).

https://bugs.webkit.org/show_bug.cgi?id=20545
missing #include <unistd.h> in JavaScriptCore/VM/SamplingTool.cpp

  • VM/SamplingTool.cpp: add the missing include.
4:42 AM Changeset in webkit [35964] by eric@webkit.org
  • 8 edits in trunk/WebCore

Reviewed by Darin and Alexey.

Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
with timeouts paused.
https://bugs.webkit.org/show_bug.cgi?id=20469

I attempted to clean up the memory management of PausedTimeouts, I'm not
sure the solution I came up with is "cleaner", but it's in some ways
"safer", since it no longer uses raw pointers and manual new/delete.

This also now prevents CachedPage from needlessly creating Window
objects when caching pages which didn't already have one. :)

I also made Chrome.cpp no longer depend on the JavaScript bindings
(aka JSDOMWindowBase.h), since there was no real reason for it to.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::pauseTimeouts): (WebCore::JSDOMWindowBase::resumeTimeouts):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::pauseTimeouts): (WebCore::ScriptController::resumeTimeouts):
  • bindings/js/ScriptController.h:
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::restore):
  • page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
  • page/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): (WebCore::JavaScriptDebugServer::setJavaScriptPaused):

Aug 27, 2008:

8:36 PM Changeset in webkit [35963] by zecke@webkit.org
  • 2 edits
    1 add in trunk/WebCore

2008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>

Unreviewed compile fix

Add the stub for the Qt port.

  • WebCore.pro:
  • page/qt/AccessibilityObjectQt.cpp: Added. (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
8:25 PM Changeset in webkit [35962] by zecke@webkit.org
  • 4 edits in trunk/WebKit/qt

2008-08-27 Erik Bunce <elbunce@thehive.com>

Reviewed by Eric Seidel.

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

Add QWebPage::contentsChanged() signal to notify of content changes.

  • Api/qwebpage.cpp:
  • Api/qwebpage.h:
  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::respondToChangedContents):
7:18 PM Changeset in webkit [35961] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-08-27 Alp Toker <alp@nuanti.com>

Reviewed by Eric.

https://bugs.webkit.org/show_bug.cgi?id=20551
[GTK] search popup crash

  • platform/gtk/SearchPopupMenuGtk.cpp: (WebCore::SearchPopupMenu::enabled): Fix a search popup crasher by disabling the history popup since we don't support this feature yet in the GTK+ port.
7:15 PM Changeset in webkit [35960] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-08-27 Alp Toker <alp@nuanti.com>

Reviewed by Eric.

https://bugs.webkit.org/show_bug.cgi?id=20551
[GTK] curl crashers

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::startScheduledJobs): Remove the resource handle from the pending list before starting the job, not afterwards. Fixes crashers in the test suite.

Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
Test: fast/encoding/char-encoding.html

7:11 PM Changeset in webkit [35959] by alice.liu@apple.com
  • 4 edits in trunk/WebKit/win

2008-08-27 Alice Liu <alice.liu@apple.com>

Add interface for obtaining JS object counts broken down by type

Reviewed by Steve Falkenburg.

  • Interfaces/IWebCoreStatistics.idl:
  • WebCoreStatistics.cpp: (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
  • WebCoreStatistics.h:
6:42 PM Changeset in webkit [35958] by zecke@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-08-27 Adrien Nader <camaradetux@gmail.com>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=20099
[GTK] SHIFT+PAGE_UP/DOWN doesn't extend selection

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::handleKeyboardEvent):
6:20 PM Changeset in webkit [35957] by zecke@webkit.org
  • 2 edits
    1 add in trunk

2008-08-27 Mike Hommey <glandium@debian.org>

Reviewed by Holger.

  • GNUmakefile.am:
  • symbols.filter: Added.
5:50 PM Changeset in webkit [35956] by weinig@apple.com
  • 3 edits
    2 adds in trunk

WebKit/mac:

2008-08-27 Robert Kroeger <rjkroege@liqui.org>

Tweaked by Sam Weinig.

Reviewed by Eric Seidel.

Fix https://bugs.webkit.org/show_bug.cgi?id=6595
<rdar://problem/4432150>
Right-click does not fire mouseup event

Adds a rightMouseUp handler to the WebHTMLView.

The added method generates mouseup events for button 2. The result
is that webkit will deliver mousedown and mouseup events for button
2 in a fashion identical to FireFox and will retain event ordering
identical to Internet Explorer.

Test: fast/events/mouseup-from-button2.html

  • WebView/WebHTMLView.mm: (-[WebHTMLView rightMouseUp:]):

LayoutTests:

2008-08-27 Robert Kroeger <rjkroege@liqui.org>

Reviewed by Eric Seidel.

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

  • fast/events/mouseup-from-button2-expected.txt: Added.
  • fast/events/mouseup-from-button2.html: Added.
5:26 PM Changeset in webkit [35955] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by eseidel.

Fix canvas drawImage to support composite operations.
Composite had no effect on canvas elements like these:
http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html

[CAIRO] Canvas composite don't work on canvas-elements.
https://bugs.webkit.org/show_bug.cgi?id=20548

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
5:04 PM Changeset in webkit [35954] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Eric Seidel.

Fix the data content of an image with a base64.

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::parseDataUrl): Remove the String and use only the data Vector because the data.latin1().data() convert the data content and the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is not drawn correctly.
4:59 PM Changeset in webkit [35953] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-08-27 Antti Koivisto <Antti Koivisto>

Reviewed by Eric Seidel.

Crash after OK in dialog box and reloading page in secure mode
https://bugs.webkit.org/show_bug.cgi?id=20493


The new run loop spawned by a modal dialog causes a timer in the loader to run
synchronously inside didFinishLoading() deleting "this" object.


Defer all WebCore timers when a modal dialog is up. They are not
safe to execute.

  • page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
4:16 PM Changeset in webkit [35952] by Simon Fraser
  • 3 edits in trunk/WebCore

2008-08-27 Chris Marrin <cmarrin@apple.com>

Reviewed by Dave Hyatt

Memory leaks when animating transforms
https://bugs.webkit.org/show_bug.cgi?id=20532

  • rendering/style/RenderStyle.cpp: (WebCore::ScaleTransformOperation::blend): (WebCore::RotateTransformOperation::blend): (WebCore::SkewTransformOperation::blend): (WebCore::TranslateTransformOperation::blend): (WebCore::MatrixTransformOperation::blend):
  • rendering/style/RenderStyle.h:
3:54 PM Changeset in webkit [35951] by adachan@apple.com
  • 2 edits in trunk/WebKit/win

Fixed build.

  • WebFrame.cpp: (WebFrame::pluginWillHandleLoadError):
3:03 PM Changeset in webkit [35950] by timothy@apple.com
  • 13 edits in trunk

Add support for support for -webkit-appearance: default-button on the Mac platform.

WebCore:

2008-08-27 Timothy Hatcher <timothy@apple.com>

Add support for support for -webkit-appearance: default-button on the Mac platform.

<rdar://problem/6173530>

Reviewed by Dave Hyatt.

  • WebCore.base.exp: Export new symbols.
  • platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
  • platform/mac/WebCoreSystemInterface.mm: Ditto.
  • rendering/RenderButton.cpp: (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN). (WebCore::RenderButton::setStyle): Ditto.
  • rendering/RenderButton.h: Ditto.
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance. (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return key if the button is default, otherwise reset the key equivalent. (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell: on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore the window's previous default button cell when finished.

WebKit/mac:

2008-08-27 Timothy Hatcher <timothy@apple.com>

Add support for support for -webkit-appearance: default-button on the Mac platform.

<rdar://problem/6173530>

Reviewed by Dave Hyatt.

  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Init AdvanceDefaultButtonPulseAnimation.
  • WebView/WebPreferenceKeysPrivate.h: Added WebKitApplicationChromeModeEnabledPreferenceKey.
  • WebView/WebPreferences.mm: (+[WebPreferences initialize]): Set WebKitApplicationChromeModeEnabledPreferenceKey to NO. (-[WebPreferences applicationChromeModeEnabled]): Added. (-[WebPreferences setApplicationChromeModeEnabledEnabled:]): Added.
  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): Call Settings::setApplicationChromeMode with the value of -[WebPreferences applicationChromeModeEnabled].
2:18 PM Changeset in webkit [35949] by hyatt@apple.com
  • 5 edits in trunk/WebCore

2008-08-26 David Hyatt <hyatt@apple.com>

First cut at making form controls on OS X respect full page zoom. There are lots of bugs.

Reviewed by weinig

Added fast/forms/zoomed-controls.html

  • css/CSSStyleSelector.cpp: (WebCore::addIntrinsicMargins):
  • rendering/RenderSlider.cpp: (WebCore::RenderSlider::calcPrefWidths):
  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustRepaintRect): (WebCore::RenderThemeMac::inflateRect): (WebCore::RenderThemeMac::baselinePosition): (WebCore::RenderThemeMac::setControlSize): (WebCore::RenderThemeMac::sizeForFont): (WebCore::RenderThemeMac::sizeForSystemFont): (WebCore::RenderThemeMac::setFontFromControlSize): (WebCore::RenderThemeMac::paintCheckbox): (WebCore::RenderThemeMac::setCheckboxCellState): (WebCore::RenderThemeMac::paintRadio): (WebCore::RenderThemeMac::setRadioCellState): (WebCore::RenderThemeMac::setButtonPaddingFromControlSize): (WebCore::RenderThemeMac::adjustButtonStyle): (WebCore::RenderThemeMac::setButtonCellState): (WebCore::RenderThemeMac::paintButton): (WebCore::RenderThemeMac::paintMenuList): (WebCore::RenderThemeMac::paintMenuListButton): (WebCore::RenderThemeMac::popupInternalPaddingLeft): (WebCore::RenderThemeMac::popupInternalPaddingRight): (WebCore::RenderThemeMac::popupInternalPaddingTop): (WebCore::RenderThemeMac::popupInternalPaddingBottom): (WebCore::RenderThemeMac::setPopupButtonCellState): (WebCore::RenderThemeMac::paintSliderTrack): (WebCore::RenderThemeMac::paintSliderThumb): (WebCore::RenderThemeMac::adjustSliderThumbSize): (WebCore::RenderThemeMac::paintSearchField): (WebCore::RenderThemeMac::adjustSearchFieldStyle): (WebCore::RenderThemeMac::paintSearchFieldCancelButton): (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
1:29 PM Changeset in webkit [35948] by timothy@apple.com
  • 4 edits in trunk/WebKitLibraries

Adds the WKAdvanceDefaultButtonPulseAnimation function.

<rdar://problem/6173530> Add Mac support for -webkit-appearance: default-button

Reviewed by Adele Peterson.

  • WebKitSystemInterface.h: Added WKAdvanceDefaultButtonPulseAnimation.
  • libWebKitSystemInterfaceLeopard.a: Updated.
  • libWebKitSystemInterfaceTiger.a: Updated.
1:12 PM Changeset in webkit [35947] by mrowe@apple.com
  • 68 moves in tags/old

Move aside more old tags.

12:59 PM Changeset in webkit [35946] by beidson@apple.com
  • 16 edits in trunk

WebCore:

2008-08-27 Brady Eidson <beidson@apple.com>

Reviewed by Anders

<rdar://problem/6134133> - Crash when loading large movie as a standalone document

We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
away the virtual address space and a crash.

  • loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
  • loader/FrameLoaderClient.h: Added client method to get platform specific error for "plugin will handle load"
  • loader/MediaDocument.cpp: (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data, and cancel the WebCore-managed load (WebCore::MediaTokenizer::writeRawData): (WebCore::MediaTokenizer::finish):

WebKit/gtk:

2008-08-27 Brady Eidson <beidson@apple.com>

Reviewed by Anders

<rdar://problem/6134133> - Crash when loading large movie as a standalone document

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::pluginWillHandleLoadError): Stubbed for now
  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac:

2008-08-27 Brady Eidson <beidson@apple.com>

Reviewed by Anders

<rdar://problem/6134133> - Crash when loading large movie as a standalone document

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::pluginWillHandleLoadError):

WebKit/qt:

2008-08-27 Brady Eidson <beidson@apple.com>

Reviewed by Anders

<rdar://problem/6134133> - Crash when loading large movie as a standalone document

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::pluginWillHandleLoadError): Stubbed for now
  • WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

2008-08-27 Brady Eidson <beidson@apple.com>

Reviewed by Anders

<rdar://problem/6134133> - Crash when loading large movie as a standalone document

  • WebFrame.cpp: (WebFrame::pluginWillHandleLoadError):
  • WebFrame.h:
12:53 PM Changeset in webkit [35945] by mrowe@apple.com
  • 855 moves
    1 add in /

Move aside old tags and branches.

12:47 PM Changeset in webkit [35944] by alice.liu@apple.com
  • 3 edits in trunk/WebKit/win

2008-08-26 Alice Liu <alice.liu@apple.com>

Implement COMPropertyBag::GetPropertyInfo
and a variant setter for type int

Reviewed by Anders Carlsson.

  • COMPropertyBag.h: (::GetPropertyInfo):
  • COMVariantSetter.h:
11:19 AM Changeset in webkit [35943] by Simon Fraser
  • 6 edits in trunk

2008-08-26 Simon Fraser <Simon Fraser>

Reviewed by Eric Seidel

Linear timing functions should have control points 0, 0, 1, 1.
https://bugs.webkit.org/show_bug.cgi?id=20535

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
  • rendering/style/RenderStyle.h:
7:52 AM Changeset in webkit [35942] by Adam Roben
  • 2 edits in trunk/WebCore

Windows build fix

  • WebCore.vcproj/WebCore.vcproj: Fix file extension.

Aug 26, 2008:

9:35 PM WikiStart edited by wsiegrist@apple.com
Fixed register and login links (diff)
5:14 PM Changeset in webkit [35941] by abarth@webkit.org
  • 1 edit
    4 adds in trunk/LayoutTests

2008-08-26 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

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

  • http/tests/security/object-literals-expected.txt: Added.
  • http/tests/security/object-literals.html: Added.
  • http/tests/security/resources/object-literals-cross-origin.html: Added.
  • http/tests/security/resources/object-literals-same-origin.html: Added.
4:47 PM Changeset in webkit [35940] by kmccullough@apple.com
  • 3 edits
    3 adds in trunk

JavaScriptCore:

2008-08-26 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff and Cameron.

<rdar://problem/6174603> Hitting assertion in Register::codeBlock when
loading facebook (20516).

  • This was a result of my line numbers change. After a host function is called the stack does not get reset correctly.
  • Oddly this also appears to be a slight speedup on SunSpider.
  • VM/Machine.cpp: (KJS::Machine::privateExecute):

LayoutTests:

2008-08-26 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff and Cameron.

<rdar://problem/6174603> Hitting assertion in Register::codeBlock when
loading facebook (20516).

  • This was a result of my line numbers change. After a host function is called the stack does not get reset correctly.
  • Oddly this also appears to be a slight speedup on SunSpider.
  • fast/js/resources/stack-unwinding.js: Added.
  • fast/js/stack-unwinding-expected.txt: Added.
  • fast/js/stack-unwinding.html: Added.
3:56 PM Changeset in webkit [35939] by Chris Fleizach
  • 8 edits
    6 adds in trunk

<rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown

3:43 PM Changeset in webkit [35938] by Chris Fleizach
  • 2 edits in trunk/WebCore

<rdar://problem/5817770> can't bring up contextual menu for embedded objects

3:29 PM Changeset in webkit [35937] by Chris Fleizach
  • 3 edits
    2 adds in trunk

<rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns

2:21 PM Changeset in webkit [35936] by weinig@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Beth Dakin.

Fix typo.

  • dom/DOMCoreException.h:
12:56 PM Changeset in webkit [35935] by weinig@apple.com
  • 5 edits
    3 adds in trunk

WebCore:

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

Reviewed by Oliver Hunt.

Fix https://bugs.webkit.org/show_bug.cgi?id=20479
<rdar://problem/6167660>
Take image redirects into account when tainting the canvas.

Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage): (WebCore::CanvasRenderingContext2D::drawImageFromRect):

LayoutTests:

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

Reviewed by Oliver Hunt.

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

  • http/tests/security/canvas-remote-read-redirect-to-remote-image-expected.txt: Added.
  • http/tests/security/canvas-remote-read-redirect-to-remote-image.html: Added.
  • http/tests/security/canvas-remote-read-svg-image-expected.txt:
  • http/tests/security/canvas-remote-read-svg-image.html: Fix incorrect log message.
  • http/tests/security/resources/redir.php: Added.
12:51 PM Changeset in webkit [35934] by weinig@apple.com
  • 7 edits in trunk/WebCore

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

Reviewed by Darin Adler.

Change canvas tainting logic to ask the image if it contains
any resources outside of its own origin. Since there is no
way to determine if SVG images contain any resources outside its
origin, we always assume it does.

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage): (WebCore::CanvasRenderingContext2D::drawImageFromRect):
  • platform/graphics/BitmapImage.h: (WebCore::BitmapImage::hasSingleSecurityOrigin):
  • platform/graphics/GeneratedImage.h: (WebCore::GeneratedImage::hasSingleSecurityOrigin):
  • platform/graphics/Image.h: (WebCore::Image::hasSingleSecurityOrigin):
  • platform/graphics/cg/PDFDocumentImage.h: (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
  • svg/graphics/SVGImage.h:
10:51 AM Changeset in webkit [35933] by britto@apple.com
  • 6 edits in trunk/WebCore

2008-08-26 Maxime Britto <britto@apple.com>

Reviewed by Adele.

<rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.

  • page/EventHandler.cpp: (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
  • page/EventHandler.h:
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
  • rendering/RenderLayer.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
9:07 AM Changeset in webkit [35932] by Adam Roben
  • 2 edits in trunk/WebKitLibraries

Disable a truncation warning that is disabled/doesn't exist on Mac

This warning was firing when initializing floats from double literals.
I haven't yet found any other situation that would cause this warning
to arise.

Reviewed by Sam Weinig.

  • win/tools/vsprops/common.vsprops: Turn off warning C4305.
3:27 AM Changeset in webkit [35931] by jchaffraix@webkit.org
  • 6 edits
    3 adds in trunk

WebCore:

2008-08-25 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin.

Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
https://bugs.webkit.org/show_bug.cgi?id=20247

<rdar://problem/6118218>

Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
(case insensitive for HTML elements).

Test: fast/dom/Element/getAttribute-check-case-sensitivity.html

  • dom/Element.cpp: (WebCore::Element::getAttribute):
  • dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::getNamedItem): (WebCore::NamedAttrMap::getAttributeItem):
  • dom/NamedAttrMap.h:

LayoutTests:

2008-08-25 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin.

Test case for Bug 20247: setAttributeNode() does not work when attribute name
has a capital letter in it
https://bugs.webkit.org/show_bug.cgi?id=20247

<rdar://problem/6118218>

Most of this test case was done by Eric Roman <minatoar@gmail.com>, the rest by ap and was
tweaked by me.

  • fast/dom/Element/getAttribute-check-case-sensitivity-expected.txt: Added.
  • fast/dom/Element/getAttribute-check-case-sensitivity.html: Added.
  • fast/dom/Element/resources/getAttribute-check-case-sensitivity.js: Added.
12:05 AM Changeset in webkit [35930] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Geoff and Tim.

Export new API methods.

12:00 AM Changeset in webkit [35929] by mrowe@apple.com
  • 2 edits in trunk/WebKitSite

Modernize the bug reporting guidelines and make them a little less Mac-specific.

Reviewed by Dan Bernstein.

  • quality/bugwriting.html:

Aug 25, 2008:

9:19 PM Changeset in webkit [35928] by weinig@apple.com
  • 5 edits
    3 adds in trunk

WebCore:

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

Reviewed by Oliver Hunt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
<rdar://problem/6174096>
Treat SVG images as dirty when drawing to a canvas.

Test: http/tests/security/canvas-remote-read-svg-image.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage): (WebCore::CanvasRenderingContext2D::drawImageFromRect):
  • platform/graphics/Image.h: (WebCore::Image::isSVGImage):
  • svg/graphics/SVGImage.h: (WebCore::SVGImage::isSVGImage):

LayoutTests:

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

Reviewed by Oliver Hunt.

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

  • http/tests/security/canvas-remote-read-svg-image-expected.txt: Added.
  • http/tests/security/canvas-remote-read-svg-image.html: Added.
  • http/tests/security/resources/image-wrapper.svg: Added.
6:52 PM Changeset in webkit [35927] by weinig@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Mark Rowe.

Fix https://bugs.webkit.org/show_bug.cgi?id=20377
Leak in XMLHttpRequest.

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
5:59 PM Changeset in webkit [35926] by sfalken@apple.com
  • 2 edits in trunk/WebKitTools

Build fix. Copy correct version of ICU.

  • DumpRenderTree/win/DumpRenderTree.vcproj:
2:48 PM Changeset in webkit [35925] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-08-25 Brady Eidson <beidson@apple.com>

Reviewed by Anders

Speculative fix for <rdar://problem/6173217>

Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
the first null check invalid.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopAllLoaders):
2:28 PM Changeset in webkit [35924] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-08-25 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

<rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
there is no profile, can cause crash

  • page/inspector/ProfilesPanel.js:
2:06 PM Changeset in webkit [35923] by dino@apple.com
  • 3 edits
    4 adds in trunk

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

Reviewed by Dave Hyatt

Make sure 'inherit' is handled by transition property.
https://bugs.webkit.org/show_bug.cgi?id=20513

Test: transitions/inherit.html
Test: transitions/inherit-other-props.html

  • css/CSSStyleSelector.cpp: fix macro to check existence of list before getting size
1:56 PM Changeset in webkit [35922] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-08-25 Anders Carlsson <andersca@apple.com>

Reviewed by Mark.

<rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.


Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
(safely) that any class that needs finalization on the main thread will also need to be deallocated
on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.

  • platform/mac/WebCoreObjCExtras.c: (WebCoreObjCFinalizeOnMainThread):
1:41 PM Changeset in webkit [35921] by Antti Koivisto
  • 4 edits in trunk/WebCore

2008-08-25 Antti Koivisto <Antti Koivisto>

Reviewed by Dan Bernstein.

Rename CachedResource::referenced() to CachedResource::hasClients() to
match previous ref() -> addClient() rename.

  • loader/Cache.cpp: (WebCore::Cache::pruneLiveResources): (WebCore::Cache::pruneDeadResources): (WebCore::Cache::remove): (WebCore::Cache::getStatistics): (WebCore::Cache::dumpLRULists):
  • loader/CachedResource.cpp: (WebCore::CachedResource::addClient): (WebCore::CachedResource::removeClient): (WebCore::CachedResource::setDecodedSize): (WebCore::CachedResource::setEncodedSize):
  • loader/CachedResource.h: (WebCore::CachedResource::hasClients): (WebCore::CachedResource::canDelete):
12:53 PM Changeset in webkit [35920] by Adam Roben
  • 2 edits in trunk/WebKit/win

Fix an assertion when showing the Web Inspector

Reviewed by Kevin McCullough.

  • WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::attachWindow): (WebInspectorClient::detachWindow): Recent code changes have caused these functions to get called even when the window is already attached/detached, respectively. Handle this case gracefully instead of asserting something that is no longer true.
11:33 AM Changeset in webkit [35919] by timothy@apple.com
  • 2 edits in trunk/WebCore

Add a missing Inspector localized string for "other".

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

Reviewed by Tim Hatcher.

  • English.lproj/localizedStrings.js:
11:18 AM Changeset in webkit [35918] by kmccullough@apple.com
  • 12 edits
    2 adds in trunk

JavaScriptCore:

2008-08-25 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff, Tim and Mark.

<rdar://problem/6150623> JSProfiler: It would be nice if the profiles
in the console said what file and line number they came from

  • Lay the foundation for getting line numbers and other data from the JavaScript engine. With the cleanup in kjs/ExecState this is actually a slight performance improvement.
  • JavaScriptCore.exp: Export retrieveLastCaller() for WebCore.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/Machine.cpp: Now Host and JS functions set a call frame on the exec state, so this and the profiler code were pulled out of the branches. (KJS::Machine::privateExecute): (KJS::Machine::retrieveLastCaller): This get's the lineNumber, sourceID and sourceURL for the previously called function.
  • VM/Machine.h:
  • kjs/ExecState.cpp: Remove references to JSFunction since it's not used anywhere.
  • kjs/ExecState.h:

WebCore:

2008-08-22 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff, Mark and Tim.

<rdar://problem/6150623> JSProfiler: It would be nice if the profiles
in the console said what file and line number they came from

  • Lay the foundation for getting line numbers and other data from the JavaScript engine.
  • ForwardingHeaders/VM: Added.
  • ForwardingHeaders/VM/Machine.h: Added.
  • page/Console.cpp: Gather the line number and file information when profileEnd has been called, but don't use it until didFinishProfiling is called. We won't need to wait once we remove the profiler "zombie" mode which this patch helps pave the foundation for. (WebCore::Console::Console): (WebCore::Console::profileEnd): (WebCore::Console::finishedProfiling):
  • page/Console.h:
  • page/InspectorController.cpp: Modify calls to addProfileMessageToConsole to satisfy the new arguments it takes. (WebCore::InspectorController::finishedProfiling): (WebCore::InspectorController::addProfile): (WebCore::InspectorController::addProfileMessageToConsole): (WebCore::InspectorController::finishedProfiling):
  • page/InspectorController.h:
9:21 AM ApplicationsGtk edited by vperetokin@gmail.com
Fixed the gtkmm entry, because it pointed to the internals of a git … (diff)
5:40 AM Changeset in webkit [35917] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin.

Ensure that JSGlobalContextRelease() performs garbage collection, even if there are other
contexts in the current context's group.

This is only really necessary when the last reference is released, but there is no way to
determine that, and no harm in collecting slightly more often.

  • API/JSContextRef.cpp: (JSGlobalContextRelease): Explicitly collect the heap if it is not being destroyed.
3:08 AM Changeset in webkit [35916] by Simon Hausmann
  • 2 edits in trunk/WebKitTools

2008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Simon.

[run-webkit-tests] Use QtLauncher to show the results of the tests
konqueror might not be installed, xdg-open might not be installed but the
QtLauncher should be present.

3:06 AM Changeset in webkit [35915] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Simon.

[inspector] Update the WebKit.qrc Qt resources file
Catchup with the changes in the directory.

3:06 AM Changeset in webkit [35914] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

[inspector] Emit signals from attachWindow and detachWindow in the Qt platform

Allow the user of the API to honor the attachWindow and detachWindow
requests and attach the QWebPage/QWebView wherever it is wanted. This needs
some more API in QWebPage to be properly exposed.

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

008-08-25 Dirk Schulze <vbs85@gmx.de>

Reviewed by Simon.

Transformed the radian to degree, to get rotate()
in canvas work as expected.

[Qt] Canvas.rotate() doesn't work
https://bugs.webkit.org/show_bug.cgi?id=20496

Aug 24, 2008:

10:43 PM Changeset in webkit [35912] by sfalken@apple.com
  • 2 edits in trunk/WebCore

2008-08-24 Steve Falkenburg <sfalken@apple.com>

Add a "last chance" WM_TIMER to the Windows shared timer.


The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
timers if a timer with an earlier expiration is already pending. This results in no timers
firing from that point on.


We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
buggy window message hook.


This timer will start when the first WM_TIMER is scheduled, and will
fire every 5 seconds thereafter, causing any lost timers to be fired.


Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
and prevents the WebFrame leak.


Reviewed by Darin Adler, Geoff Garen.

  • platform/win/SharedTimerWin.cpp: (WebCore::): (WebCore::TimerWindowWndProc): (WebCore::setSharedTimerFireTime):
9:08 PM Changeset in webkit [35911] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-08-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver Hunt.

Bug 20093: JSC shell does not clear exceptions after it executes toString on an expression
<https://bugs.webkit.org/show_bug.cgi?id=20093>

Clear exceptions after evaluating any code in the JSC shell. We do not
report exceptions that are caused by calling toString on the final
valued, but at least we avoid incorrect behaviour.

Also, print any exceptions that occurred while evaluating code at the
interactive prompt, not just while evaluating code from a file.

  • kjs/Shell.cpp: (runWithScripts): (runInteractive):
8:22 PM Changeset in webkit [35910] by mitz@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold

Test: fast/css/font-property-priority.html

  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag to the font-property-parsing functions. (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and changed to use it rather than the m_important member. (WebCore::CSSParser::parseFontVariant): Ditto. (WebCore::CSSParser::parseFontWeight): Ditto.
  • css/CSSParser.h:

LayoutTests:

Reviewed by Darin Adler.

  • test for <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
  • fast/css/font-property-priority-expected.txt: Added.
  • fast/css/font-property-priority.html: Added.
6:27 PM Changeset in webkit [35909] by Beth Dakin
  • 4 edits in trunk/WebKit/win

2008-08-24 Beth Dakin <Beth Dakin>

Reviewed by John Sullivan.

Provide the excludeFromTextSearch SPI on Windows as well.

  • Interfaces/IWebFrame.idl:
  • WebFrame.cpp: (WebFrame::setExcludeFromTextSearch):
  • WebFrame.h:
3:28 PM Changeset in webkit [35908] by timothy@apple.com
  • 2 edits
    1 add in trunk/WebCore

Fixes a bug where the Inspector's UI would not animate or
fully function because JavaScript timeouts, intervals and
CSS animation timers where not firing while paused at a
a breakpoint in the inspected page.

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

Reviewed by Darin Adler.

Test: manual-tests/inspector/forzen-ui-while-paused.html

  • page/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::pauseIfNeeded): Add a call to TimerBase::fireTimersInNestedEventLoop before spinning the EventLoop.
3:25 PM Changeset in webkit [35907] by mrowe@apple.com
  • 1 copy in tags/Safari-6528.2

New tag.

2:30 PM Changeset in webkit [35906] by cwzwarich@webkit.org
  • 2 edits in trunk

2008-08-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Remove an unnecessary RefPtr to a RegisterID.

  • kjs/nodes.cpp: (KJS::DeleteBracketNode::emitCode):
11:07 AM Changeset in webkit [35905] by rwlbuis@webkit.org
  • 4 edits
    4 adds in trunk

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=20324
A change in SVG Glyph wont show up

Invalidate the glyph cache when the d attribute is set.

Test: svg/custom/glyph-setting-d-attribute.svg

5:59 AM Changeset in webkit [35904] by jhoneycutt@apple.com
  • 2 edits in trunk/WebKit/win

2008-08-24 Jon Honeycutt <jhoneycutt@apple.com>

Cannot get the focused accessible object from the root object.

AccessibleBase::get_AccFocus() checks whether the focused object is a
child of the current object, but
http://msdn.microsoft.com/en-us/library/ms696150(VS.85).aspx states that
the result is the object itself, if it has focus, or a child object of
the active window, not a child of the object.

Reviewed by Sam Weinig.

  • AccessibleBase.cpp: (AccessibleBase::get_accFocus): Don't check whether the focused object is our child.
5:56 AM Changeset in webkit [35903] by jhoneycutt@apple.com
  • 7 edits
    2 adds in trunk/WebKitTools

2008-08-24 Jon Honeycutt <jhoneycutt@apple.com>

Initial support for accessibility layout tests on Windows.
https://bugs.webkit.org/show_bug.cgi?id=20497

Reviewed by Sam Weinig.

  • DumpRenderTree/AccessibilityController.h: Fix typos.
  • DumpRenderTree/AccessibilityUIElement.cpp: Change #import to #include.
  • DumpRenderTree/AccessibilityUIElement.h: Define _WINSOCKAPI_ to prevent oleacc.h, which includes windows.h, from including winsock.h. Fixed typos.
  • DumpRenderTree/win/AccessibilityControllerWin.cpp: Added. (AccessibilityController::AccessibilityController): (AccessibilityController::~AccessibilityController): (AccessibilityController::focusedElement): Get the root element, and request its focused object. (AccessibilityController::rootElement): Query Windows for the accessible client object for the WebView's window.
  • DumpRenderTree/win/AccessibilityUIElementWin.cpp: Added. (AccessibilityUIElement::AccessibilityUIElement): (AccessibilityUIElement::~AccessibilityUIElement): (AccessibilityUIElement::getLinkedUIElements): Not implemented. (AccessibilityUIElement::getChildren): Get the child count, and append each child. (AccessibilityUIElement::getChildAtIndex): Get the child at the given index offset by 1. In MSAA, child 0 is the object itself. (AccessibilityUIElement::allAttributes): Not implemented. (AccessibilityUIElement::attributesOfLinkedUIElements): Same. (AccessibilityUIElement::attributesOfChildren): Same. (AccessibilityUIElement::parameterizedAttributeNames): Same. (self): Return a VARIANT representing the "self" object. This is used when calling methods that require a child variant. (AccessibilityUIElement::role): Get the MSAA role, a long value, and convert it into a string with GetRoleText(). (AccessibilityUIElement::title): Get the element's title, and convert it to a JS String. (AccessibilityUIElement::description): Same, for description. (AccessibilityUIElement::width): (AccessibilityUIElement::height): (AccessibilityUIElement::intValue): Get the object's value as a string, and convert the string to a double. (AccessibilityUIElement::minValue): Not implemented. (AccessibilityUIElement::maxValue): Same. (AccessibilityUIElement::insertionPointLineNumber): Same. (AccessibilityUIElement::attributesOfColumnHeaders): Same. (AccessibilityUIElement::attributesOfRowHeaders): Same. (AccessibilityUIElement::attributesOfColumns): Same. (AccessibilityUIElement::attributesOfRows): Same. (AccessibilityUIElement::attributesOfVisibleCells): Same. (AccessibilityUIElement::attributesOfHeader): Same. (AccessibilityUIElement::indexInTable): Same. (AccessibilityUIElement::rowIndexRange): Same. (AccessibilityUIElement::columnIndexRange): Same. (AccessibilityUIElement::lineForIndex): Same. (AccessibilityUIElement::boundsForRange): Same. (AccessibilityUIElement::cellForColumnAndRow): Same.
  • DumpRenderTree/win/DumpRenderTree.vcproj: Add accessibility files to project. Link to oleacc.lib, the MSAA library.
  • DumpRenderTree/win/FrameLoadDelegate.cpp: (FrameLoadDelegate::FrameLoadDelegate): Initialize the accessibility controller. (FrameLoadDelegate::didClearWindowObject): Create a new window object for the accessibility controller.
  • DumpRenderTree/win/FrameLoadDelegate.h:
2:18 AM Changeset in webkit [35902] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • rendering/RenderText.cpp: (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to beginWS and endWS before the early return to ensure that they are initialized in that case.
1:35 AM Changeset in webkit [35901] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Use the correct version number for when JSGlobalContextCreate was introduced.

Reviewed by Oliver Hunt.

Aug 23, 2008:

1:16 AM Changeset in webkit [35900] by cwzwarich@webkit.org
  • 108 edits in trunk

2008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Rubber-stamped by Mark Rowe.

Remove modelines.

JavaScriptCore:

  • API/APICast.h:
  • API/JSBase.cpp:
  • API/JSCallbackConstructor.cpp:
  • API/JSCallbackConstructor.h:
  • API/JSCallbackFunction.cpp:
  • API/JSCallbackFunction.h:
  • API/JSCallbackObject.cpp:
  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h:
  • API/JSClassRef.cpp:
  • API/JSContextRef.cpp:
  • API/JSObjectRef.cpp:
  • API/JSProfilerPrivate.cpp:
  • API/JSStringRef.cpp:
  • API/JSStringRefBSTR.cpp:
  • API/JSStringRefCF.cpp:
  • API/JSValueRef.cpp:
  • API/tests/JSNode.c:
  • API/tests/JSNode.h:
  • API/tests/JSNodeList.c:
  • API/tests/JSNodeList.h:
  • API/tests/Node.c:
  • API/tests/Node.h:
  • API/tests/NodeList.c:
  • API/tests/NodeList.h:
  • API/tests/minidom.c:
  • API/tests/minidom.js:
  • API/tests/testapi.c:
  • API/tests/testapi.js:
  • JavaScriptCore.pro:
  • kjs/FunctionConstructor.h:
  • kjs/FunctionPrototype.h:
  • kjs/JSArray.h:
  • kjs/JSString.h:
  • kjs/JSWrapperObject.cpp:
  • kjs/NumberConstructor.h:
  • kjs/NumberObject.h:
  • kjs/NumberPrototype.h:
  • kjs/lexer.h:
  • kjs/lookup.h:
  • wtf/Assertions.cpp:
  • wtf/Assertions.h:
  • wtf/HashCountedSet.h:
  • wtf/HashFunctions.h:
  • wtf/HashIterators.h:
  • wtf/HashMap.h:
  • wtf/HashSet.h:
  • wtf/HashTable.h:
  • wtf/HashTraits.h:
  • wtf/ListHashSet.h:
  • wtf/ListRefPtr.h:
  • wtf/Noncopyable.h:
  • wtf/OwnArrayPtr.h:
  • wtf/OwnPtr.h:
  • wtf/PassRefPtr.h:
  • wtf/Platform.h:
  • wtf/RefPtr.h:
  • wtf/RefPtrHashMap.h:
  • wtf/RetainPtr.h:
  • wtf/UnusedParam.h:
  • wtf/Vector.h:
  • wtf/VectorTraits.h:
  • wtf/unicode/Unicode.h:
  • wtf/unicode/icu/UnicodeIcu.h:

WebCore:

  • WebCore.pro:
  • bridge/testbindings.cpp:
  • dom/DocPtr.h:
  • loader/SubstituteData.h:
  • page/Chrome.cpp:
  • page/Chrome.h:
  • page/ChromeClient.h:
  • page/Frame.h:
  • page/FrameLoadRequest.h:
  • page/FrameTree.cpp:
  • page/FrameTree.h:
  • page/Page.h:
  • page/mac/ChromeMac.mm:
  • platform/network/HTTPHeaderMap.h:
  • platform/network/ResourceErrorBase.cpp:
  • platform/network/ResourceErrorBase.h:
  • platform/network/ResourceHandleInternal.h:
  • platform/network/ResourceRequestBase.cpp:
  • platform/network/ResourceRequestBase.h:
  • platform/network/ResourceResponseBase.cpp:
  • platform/network/ResourceResponseBase.h:
  • platform/network/cf/ResourceError.h:
  • platform/network/cf/ResourceRequest.h:
  • platform/network/cf/ResourceRequestCFNet.h:
  • platform/network/cf/ResourceResponse.h:
  • platform/network/cf/ResourceResponseCFNet.h:
  • platform/network/curl/ResourceError.h:
  • platform/network/curl/ResourceRequest.h:
  • platform/network/curl/ResourceResponse.h:
  • platform/network/mac/ResourceError.h:
  • platform/network/mac/ResourceErrorMac.mm:
  • platform/network/mac/ResourceRequest.h:
  • platform/network/mac/ResourceRequestMac.mm:
  • platform/network/mac/ResourceResponse.h:
  • platform/network/mac/ResourceResponseMac.mm:
  • platform/network/qt/ResourceError.h:
  • platform/network/qt/ResourceRequest.h:
  • platform/network/qt/ResourceResponse.h:
  • platform/network/soup/CookieJarSoup.cpp:
  • platform/network/soup/ResourceError.h:
  • platform/network/soup/ResourceRequest.h:
  • platform/network/soup/ResourceResponse.h:
12:16 AM Changeset in webkit [35899] by mitz@apple.com
  • 14 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline

Test: fast/table/vertical-align-baseline.html

  • rendering/RenderTable.cpp: (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the baseline of the first table row, if there is one, -1 otherwise.
  • rendering/RenderTable.h:
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::baselinePosition): Changed to follow the CSS2.1 definition of the baseline of a table cell.
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns the baseline of the first row in the section.
  • rendering/RenderTableSection.h:

LayoutTests:

Reviewed by Dave Hyatt.

  • test and updated results for <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
  • fast/table/vertical-align-baseline.html: Added.
  • platform/mac/fast/table/form-with-table-style-expected.checksum:
  • platform/mac/fast/table/form-with-table-style-expected.png:
  • platform/mac/fast/table/form-with-table-style-expected.txt:
  • platform/mac/fast/table/vertical-align-baseline-expected.checksum: Added.
  • platform/mac/fast/table/vertical-align-baseline-expected.png: Added.
  • platform/mac/fast/table/vertical-align-baseline-expected.txt: Added.
  • platform/mac/tables/mozilla/bugs/bug3037-1-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.checksum:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:

Aug 22, 2008:

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

2008-08-22 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Some cleanup to match our coding style.

  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/ExecState.cpp:
  • kjs/ExecState.h:
  • kjs/completion.h:
  • kjs/identifier.cpp: (KJS::Identifier::equal): (KJS::CStringTranslator::hash): (KJS::CStringTranslator::equal): (KJS::CStringTranslator::translate): (KJS::UCharBufferTranslator::equal): (KJS::UCharBufferTranslator::translate): (KJS::Identifier::remove):
  • kjs/operations.h:
4:44 PM Changeset in webkit [35897] by jhoneycutt@apple.com
  • 10 edits in trunk

2008-08-18 Jon Honeycutt <jhoneycutt@apple.com>

Add SPI to make a Windows WebView transparent.

Reviewed by Dan Bernstein.

  • Interfaces/IWebViewPrivate.idl:
  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::transitionToCommittedForNewPage): Call updateBackground() when a new frame is attached, matching the Mac.
  • WebFrame.cpp: (WebFrame::updateBackground): Propagate WebView transparency to ourself and our child frames.
  • WebFrame.h:
  • WebView.cpp: (WebView::WebView): (WebView::paintIntoBackingStore): Pass m_transparent when creating a GraphicsContext, so the context will be created with an alpha channel. (WebView::setTransparent): (WebView::transparent):
  • WebView.h:
4:44 PM Changeset in webkit [35896] by jhoneycutt@apple.com
  • 4 edits in trunk/WebKit/win

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

Add SPI to get a handle to the WebView's backing store bitmap.

Reviewed by Dan Bernstein.

  • Interfaces/IWebViewPrivate.idl:
  • WebView.cpp: (WebView::backingStore):
  • WebView.h:
1:35 PM Changeset in webkit [35895] by timothy@apple.com
  • 2 edits in trunk/WebCore

Rolls out r35834 because it caused a regression in the Inspector's
Console where some expressions always threw a syntax error.

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

  • page/inspector/Console.js: (Console.prototype._evalInInspectedWindow): Removes parenthesis around the expression.
12:39 PM Changeset in webkit [35894] by andersca@apple.com
  • 2 edits in trunk/JavaScriptGlue

2008-08-22 Anders Carlsson <andersca@apple.com>

Fix build for real this time.


  • UserObjectImp.h:
12:14 PM Changeset in webkit [35893] by andersca@apple.com
  • 3 edits in trunk/JavaScriptGlue

2008-08-22 Anders Carlsson <andersca@apple.com>

Fix build.


  • UserObjectImp.cpp: (UserObjectImp::toPrimitive):
  • UserObjectImp.h:
11:39 AM Changeset in webkit [35892] by timothy@apple.com
  • 3 edits
    2 adds in trunk

Makes getStyleProperty return a value for the overflow property when overflow-x and overflow-y are equal.

WebCore:

2008-08-22 Timothy Hatcher <timothy@apple.com>

Makes getStyleProperty return a value for the overflow property
when overflow-x and overflow-y are equal.

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

Reviewed by Dan Bernstein.

Test: fast/css/overflow-property.html

  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::getPropertyValue):

LayoutTests:

2008-08-22 Timothy Hatcher <timothy@apple.com>

Test for the tests the parsing and retrieval of the overflow,
overflow-x and overflow-y properties

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

Reviewed by Dan Bernstein.

  • fast/css/overflow-property-expected.txt: Added.
  • fast/css/overflow-property.html: Added.
11:39 AM Changeset in webkit [35891] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes a bug where while editing in the Inspector the
sidebar scroll position would jump to the top.

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

Reviewed by Darin Adler.

  • page/inspector/treeoutline.js: (TreeOutline._removeChildren): Remove the offsetTop call that was forcing a layout, since layout causes scroll positions to be clamped to the new scrollHeight/Width. Layout will happen normally when needed.
10:38 AM Changeset in webkit [35890] by Simon Fraser
  • 1 edit
    2 deletes in trunk/LayoutTests

Reviewed by Darin Adler

css3/transform-computed-style-001.html is better tested
by fast/css/getComputedStyle-transform.html, so removed.
https://bugs.webkit.org/show_bug.cgi?id=20477

  • css3/transform-computed-style-001-expected.txt: Removed.
  • css3/transform-computed-style-001.fhtml: Removed.
9:25 AM Changeset in webkit [35889] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix. Add AccessibilityTable sources.

Aug 21, 2008:

11:29 PM Changeset in webkit [35888] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Jon Honeycutt and Alexey Proskuryakov.

  • fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics

Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html

  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported ascent and 100% to its reported descent.

LayoutTests:

Reviewed by Jon Honeycutt and Alexey Proskuryakov.

  • test for <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
  • platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.checksum: Added.
  • platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.png: Added.
  • platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Added.
  • platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html: Added.
7:20 PM Changeset in webkit [35887] by mrowe@apple.com
  • 2 edits in trunk/WebKit/win

2008-08-21 Jonas Klink <klinktech@gmail.com>

Reviewed by Jon Honeycutt.

Fix https://bugs.webkit.org/show_bug.cgi?id=20231
Bug 20231: accNavigate: no screen element found in the specified direction should return S_FALSE

Per <http://msdn.microsoft.com/en-us/library/ms696145(VS.85).aspx>, we should return S_FALSE
from accNavigate if no screen element is found in the specified direction.

  • AccessibleBase.cpp: (AccessibleBase::accNavigate):
7:20 PM Changeset in webkit [35886] by mrowe@apple.com
  • 2 edits in trunk/WebKit/win

2008-08-21 Jonas Klink <klinktech@gmail.com>

Reviewed by Jon Honeycutt.

Fix http://bugs.webkit.org/show_bug.cgi?id=20230
Bug 20230: get_accState should be testing state on childObj

Also initializes output parameter action to 0 in get_accDefaultAction.

  • AccessibleBase.cpp: (AccessibleBase::get_accState): (AccessibleBase::get_accDefaultAction):
7:10 PM Changeset in webkit [35885] by mrowe@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fix bug number in ChangeLog.

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

2008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=19171
[GTK] Crash on some pages due to a plugin

Fix handling of badly formatted and empty plugin mime descriptions

  • plugins/gtk/PluginPackageGtk.cpp: (WebCore::PluginPackage::fetchInfo):
7:07 PM Changeset in webkit [35883] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2008-08-21 Kevin Watters <kevinwatters@gmail.com>

Reviewed by Darin Adler.

Follow other ports (and IE) in ImageSourceWx.cpp never to return an
animated GIF frame duration of less than 50ms.

  • platform/graphics/wx/ImageSourceWx.cpp: (WebCore::ImageSource::frameDurationAtIndex):
5:39 PM Changeset in webkit [35882] by britto@apple.com
  • 3 edits
    3 adds in trunk

2008-08-21 Maxime Britto <britto@apple.com>

Reviewed by Kevin McCullough.

Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
https://bugs.webkit.org/show_bug.cgi?id=20451


rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.

  • page/EventHandler.cpp: (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists.

(WebCore::EventHandler::handleMousePressEvent): ditto

2008-08-21 Maxime Britto <britto@apple.com>

Reviewed by Kevin McCullough.

rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
https://bugs.webkit.org/show_bug.cgi?id=20451

This test can be run automatically or manually as well.

  • fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div-expected.txt: Added.
  • fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html: Added.
  • fast/events/resources/big-page-with-overflow-hidden.html: Added.
4:54 PM Changeset in webkit [35881] by timothy@apple.com
  • 2 edits in trunk/WebCore

Small optimization for when the dividers in the Inspector's
Resources panel are updated.

Reviewed by Tim Hatcher.

  • page/inspector/ResourcesPanel.js: (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Combind a for loop and clone the divider element.
4:44 PM Changeset in webkit [35880] by Simon Fraser
  • 2 edits in trunk/WebKitTools

Reviewed by Mark Rowe

Make build-launcher-app work when run from a git repository.
https://bugs.webkit.org/show_bug.cgi?id=20478

  • BuildSlaveSupport/build-launcher-app:
4:35 PM Changeset in webkit [35879] by dino@apple.com
  • 3 edits
    2 adds in trunk

2008-08-21 Chris Marrin <cmarrin@apple.com>

Allow 0 (without units) for Time eg. duration
Fix for https://bugs.webkit.org/show_bug.cgi?id=20467

Reviewed by Dave Hyatt.

Test: css1/units/zero-duration-without-units.html

  • css/CSSParser.cpp: (WebCore::CSSParser::validUnit):
1:13 PM Changeset in webkit [35878] by timothy@apple.com
  • 2 edits in trunk/WebCore

Make deleting all text while editing a DOM attribute in
the Inspector delete the attribute. This also fixes
an exception that would happen before.

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

Reviewed by Kevin McCullough.

  • page/inspector/ElementsPanel.js: (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted): Don't check for hasAttributes on the parseElement, continuing through the function will correctly remove the attribute. If the parseElement is null, call _editingCancelled not editingCancelled, this fixes an exception.
1:12 PM Changeset in webkit [35877] by timothy@apple.com
  • 3 edits in trunk/WebCore

Update the Inspector's Metrics pane when editing in
the Styles pane. This makes sure the metrics shown
always match what the Styles pane shows.

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

Reviewed by Kevin McCullough.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel): Add event listeners for the "style edited" and "style property toggled" events, so the Metrics pane is updated. (WebInspector.ElementsPanel.prototype._stylesPaneEdited): Update the Metrics pane.
  • page/inspector/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled): Dispatch the "style property toggled" event. (WebInspector.StylePropertyTreeElement.prototype.editingCancelled): Dispatch the "style edited" event when the CSS text is restored. (WebInspector.StylePropertyTreeElement.prototype.applyStyleText): Dispatch the "style edited" event.
1:12 PM Changeset in webkit [35876] by timothy@apple.com
  • 4 edits in trunk/WebCore

Make the Inspector's Metrics sidebar pane editable.

https://bugs.webkit.org/show_bug.cgi?id=17218
rdar://problem/5732818

Reviewed by Kevin McCullough.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel): Add an event listener for the "metrics edited" event, so the Styles pane is updated.
  • page/inspector/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane.prototype.update): Remember the node so future updates work. Add a double click event listener for the metric values to start editing. (WebInspector.MetricsSidebarPane.prototype.startEditing): Call WebInspector.startEditing with some context. (WebInspector.MetricsSidebarPane.prototype.editingCancelled): (WebInspector.MetricsSidebarPane.prototype.editingCommitted): Set the user input on the elements inline style. Fire the "metrics edited" event.
11:42 AM Changeset in webkit [35875] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Fix a race condition in Windows timer code.
Timer function could end up being called with a 0 timer, leading to a Windows exception.


Don't post a timer message if one is already pending.


Reviewed by Ada Chan.

  • platform/win/SharedTimerWin.cpp: (WebCore::TimerWindowWndProc): (WebCore::clearTimer): (WebCore::queueTimerProc): (WebCore::setSharedTimerFireTime):
9:36 AM Changeset in webkit [35874] by timothy@apple.com
  • 2 edits in trunk/WebCore

After trying to add the expression, try again with quotes for
easier edition.

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

Reviewed by Tim Hatcher.

  • page/inspector/ObjectPropertiesSection.js: Added an evaluateExpression function.
9:33 AM Changeset in webkit [35873] by timothy@apple.com
  • 2 edits in trunk/WebCore

Perform Inspector searches on search event to clear results when
clicking the cross to empty it. Delete the lastQuery when the field
is emptied in order to perform the search if exactly the same query
is entered next.

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

Reviewed by Tim Hatcher.

  • page/inspector/inspector.js:
4:22 AM Changeset in webkit [35872] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=19656
[SOUP] The gio code should call didFail() instead of
didFinishLoading() in case of error

In case of error call didFail() instead of didReceiveResponse() and
didFinishLoading().

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::networkErrorForFile): (WebCore::readCallback): (WebCore::openCallback): (WebCore::queryInfoCallback):

Aug 20, 2008:

11:52 PM Changeset in webkit [35871] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Fix build failure.

Reviewed by Jon Honeycutt.

  • bridge/c/c_instance.cpp:

(KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
as that is what NPEnumerationFunctionPtr is declared as accepting.

10:03 PM Changeset in webkit [35870] by timothy@apple.com
  • 2 edits in trunk/PlanetWebKit

Add Anthony Ricaud's blog.

Reviewed by Tim Hatcher.

  • config.ini: Add Anthony Ricaud's blog.
9:01 PM Changeset in webkit [35869] by mrowe@apple.com
  • 3 edits in trunk/WebCore

Build fix.

5:33 PM Changeset in webkit [35868] by mitz@apple.com
  • 14 edits in trunk

WebCore:

Rubber-stamped by John Sullivan.

  • rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and rename related methods and variables accordingly.
  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameViewPrivate::FrameViewPrivate): (WebCore::FrameView::shouldUpdateWhileOffscreen): (WebCore::FrameView::setShouldUpdateWhileOffscreen):
  • page/FrameView.h:
  • platform/ScrollView.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::updateContents):

WebKit/mac:

Rubber-stamped by John Sullivan.

  • rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen, rename related methods and variables accordingly, and make -setShouldUpdateWhileOffscreen: and -shouldUpdateWhileOffscreen WebView API.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::transitionToCommittedForNewPage):
  • WebView/WebFrame.mm: (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
  • WebView/WebFrameInternal.h:
  • WebView/WebHTMLView.mm: (-[WebHTMLView windowWillOrderOnScreen:]):
  • WebView/WebView.h:
  • WebView/WebView.mm: (-[WebViewPrivate init]): (-[WebView setBackgroundColor:]): (-[WebView setDrawsBackground:]): (-[WebView setShouldUpdateWhileOffscreen:]): (-[WebView shouldUpdateWhileOffscreen]):
  • WebView/WebViewPrivate.h:
5:13 PM Changeset in webkit [35867] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-08-20 Brady Eidson <beidson@apple.com>

Reviewed by Mitzpettel

<rdar://problem/6163636> - Many images broken in Mail

This can be traced back to the preload scanner. With that change, CachedResources are created a lot
sooner than before and confuse the WebArchive machinery.

When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
machinery and nothing is known about where the data will eventually come from.

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is CachedResource::PreloadReferenced.
4:20 PM Changeset in webkit [35866] by mrowe@apple.com
  • 7 edits in trunk/WebKit/mac

Switch to non-deprecated NSFileManager APIs.

In order to minimize #if's the new NSFileManager APIs have been implemented for
Tiger and call sites updated to use the new methods.

Reviewed by Darin Adler.

4:04 PM Changeset in webkit [35865] by Simon Fraser
  • 2 adds in trunk/LayoutTests/fast/css

Reviewed by Dave Hyatt

getComputedStyle() for webkitTransform should return a transform
that does not have the transform origin baked into it.
https://bugs.webkit.org/show_bug.cgi?id=20464

  • fast/css/getComputedStyle-transform-expected.txt: Added.
  • fast/css/getComputedStyle-transform.html: Added.

(Missed these test files on last commit)

3:50 PM Changeset in webkit [35864] by zecke@webkit.org
  • 3 edits in trunk/WebCore

2008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>

Unreviewed compile fix

Catch up with the JSValue::type elimination.

  • bridge/qt/qt_instance.cpp: (KJS::Bindings::QtRuntimeObjectImp::construct): (KJS::Bindings::QtInstance::defaultValue):
  • bridge/qt/qt_runtime.cpp: (KJS::Bindings::QtRuntimeConnectionMethod::call):
3:15 PM Changeset in webkit [35863] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2008-08-20 Chris Teague <chris.teague@gmail.com>

Reviewed by Mark Rowe.

Fix https://bugs.webkit.org/show_bug.cgi?id=20449
Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined

  • ChangeLog:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
2:57 PM Changeset in webkit [35862] by Simon Fraser
  • 5 edits in trunk

Reviewed by Dave Hyatt

getComputedStyle() for webkitTransform should return a transform
that does not have the transform origin baked into it.
https://bugs.webkit.org/show_bug.cgi?id=20464

Test: fast/css/getComputedStyle-transform.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::computedTransform):
  • rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::applyTransform):
  • rendering/style/RenderStyle.h:
2:04 PM Changeset in webkit [35861] by andersca@apple.com
  • 6 edits in trunk

WebCore:

2008-08-20 Josh Aas <joshmoz@gmail.com>

Reviewed and landed by Anders.

<rdar://problem/6163636>
rename NPCocoaEvent's "event" struct to "data" (20446)


  • bridge/npapi.h: (_NPCocoaEvent::):

WebKit/mac:

2008-08-20 Josh Aas <joshmoz@gmail.com>

Reviewed and landed by Anders.

<rdar://problem/6163636>
rename NPCocoaEvent's "event" struct to "data" (20446)

  • Plugins/WebNetscapePluginEventHandlerCocoa.mm: (WebNetscapePluginEventHandlerCocoa::drawRect): (WebNetscapePluginEventHandlerCocoa::sendMouseEvent): (WebNetscapePluginEventHandlerCocoa::flagsChanged): (WebNetscapePluginEventHandlerCocoa::sendKeyEvent): (WebNetscapePluginEventHandlerCocoa::windowFocusChanged): (WebNetscapePluginEventHandlerCocoa::focusChanged):

WebKitExamplePlugins:

2008-08-20 Josh Aas <joshmoz@gmail.com>

Reviewed and landed by Anders.

<rdar://problem/6163636>
rename NPCocoaEvent's "event" struct to "data" (20446)

  • NetscapeCocoaPlugin/main.m: (handleMouseEvent): (handleKeyboardEvent): (NPP_HandleEvent):
1:46 PM Changeset in webkit [35860] by Beth Dakin
  • 12 edits in trunk

WebCore:

2008-08-20 Beth Dakin <Beth Dakin>

Reviewed by Darin.

Fix for <rdar://problem/6145626>
This patch fixes a number of remaining problems getting
disconnected frames to work correctly with markAllMatchesForText()
and findString(). Details inline.

This was a static helper function in Frame, but this patch requires
the same functionality in Editor, so I just added it as a function
on Node.

  • dom/Node.cpp: (WebCore::Node::isInShadowTree):
  • dom/Node.h:
  • editing/Editor.cpp: (WebCore::Editor::insideVisibleArea): Returns false if excludeFromTextSearch() is true.

In a normal (non-disconnected) frame, findString returns a range of
the document node if the text is not found in the frame. I changed
firstVisibleRange and lastVisibleRange to match that behavior when
the text is not found
(WebCore::Editor::firstVisibleRange):
(WebCore::Editor::lastVisibleRange):

Here are the bulk of the changes in the patch. A lot of text was
not being found in disconnected frames because I failed to account
for all of the possible problems associated with shadow trees. That
is fixed here.
(WebCore::Editor::nextVisibleRange):

  • editing/Editor.h:

excludeFromTextSearch() is new. It allows a WebKit client to mark a
frame as not-text-searchable through SPI.

  • WebCore.base.exp:
  • page/Frame.cpp: (WebCore::Frame::excludeFromTextSearch): (WebCore::Frame::setExcludeFromTextSearch): (WebCore::FramePrivate::FramePrivate):
  • page/Frame.h:
  • page/FramePrivate.h:

(WebCore::Frame::findString):
(WebCore::Frame::markAllMatchesForText): I kept running into an
assertion failure in paining code because of the forced paint on
empty visible rects.

WebKit/mac:

2008-08-20 Beth Dakin <Beth Dakin>

Reviewed by Darin.

Fix for <rdar://problem/6145626>
Allows a WebKit client to mark a frame as not-text-searchable
through SPI.

  • WebView/WebFrame.mm: (-[WebFrame _setExcludeFromTextSearch:]):
  • WebView/WebFramePrivate.h:
12:10 PM Changeset in webkit [35859] by timothy@apple.com
  • 4 edits in trunk/WebCore

Adds a positon box to the Inspector's Metrics sidebar
pane. When an element is not statically positioned, there
is now a position box that show top, right, bottom and
left computed values.

Reviewed by Kevin McCullough.

  • English.lproj/localizedStrings.js: Updated the strings.
  • page/inspector/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane.prototype.update): Renamed the boxPartValue function to createBoxPartElement and made it create the entire element. Made it understand how to get position style properties. Don't use the figure dash when 0px is used for positions, since the 0 is meaningful there. Instead use the figure dash when a position is auto.
  • page/inspector/inspector.css: Added a new rule for position.
12:01 PM Changeset in webkit [35858] by britto@apple.com
  • 5 edits in trunk

2008-08-20 Maxime Britto <britto@apple.com>

Reviewed by Ada Chan.

rdar://5259746
Mouse events are sent to page while resizing window (affects Gmail)
In the WebView, if the MouseEvent is located in the resize corner, we send it back to the UIDelegate and early return.

  • Interfaces/IWebUIDelegatePrivate.idl: Add a new method to the UIDelegate to send the resize message
  • WebView.cpp: (WebView::handleMouseEvent): If the mouse event is in the resize corner and our UIDelegate supports the message it sends the new message and early returns

2008-08-20 Maxime Britto <britto@apple.com>

Reviewed by Ada Chan.

rdar://5259746

Mouse events are sent to page while resizing window (affects Gmail)

  • DumpRenderTree/win/UIDelegate.h: (UIDelegate::webViewSendResizeMessage): Add the new interface method, not implemented.
11:34 AM Changeset in webkit [35857] by Chris Fleizach
  • 2 edits in trunk/WebCore

Qt build fix

11:28 AM Changeset in webkit [35856] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Anders Carlsson.

  • avoid using a deprecated NSScroller method on Leopard
  • platform/mac/PlatformScrollBarMac.mm: (WebCore::PlatformScrollbar::updateThumbPosition): (WebCore::PlatformScrollbar::updateThumbProportion):
4:40 AM Changeset in webkit [35855] by jmalonzo@webkit.org
  • 3 edits in trunk/WebCore

2008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Oliver Hunt.

Gtk build fix

  • GNUmakefile.am:
  • page/AccessibilityTable.cpp: Change nil to 0 (WebCore::AccessibilityTable::cellForColumnAndRow):
3:40 AM Changeset in webkit [35854] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Windows build fix.

  • API/WebKitAvailability.h: Define DEPRECATED_ATTRIBUTE.
12:23 AM Changeset in webkit [35853] by ap@webkit.org
  • 100 edits
    5 adds in trunk

Reviewed by Geoff Garen.

Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.

Aug 19, 2008:

10:51 PM BuildingOnWindows edited by wilsong@gmail.com
(diff)
4:33 PM Changeset in webkit [35852] by eric@webkit.org
  • 15 edits in trunk/WebCore

Reviewed by Geoff Garen.

Add the beginnings of Skia graphics support to WebCore
as I try to begin the long process of un-forking the changes
needed to WebCore to make Andriod's WebCore build.

I'll follow this up with actual *Skia.cpp files in a separate patch.

  • platform/graphics/AffineTransform.h:
  • platform/graphics/FloatPoint.h:
  • platform/graphics/FloatRect.h:
  • platform/graphics/Gradient.h:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/Image.h:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ImageSource.h:
  • platform/graphics/IntPoint.h:
  • platform/graphics/IntRect.h:
  • platform/graphics/Path.h:
  • platform/graphics/Pattern.h:
  • svg/graphics/SVGPaintServerPattern.h:
  • svg/graphics/SVGPaintServerSolid.h:
3:46 PM Changeset in webkit [35851] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Fix Windows build more.

  • WebCore.vcproj/WebCore.vcproj:
3:36 PM Changeset in webkit [35850] by timothy@apple.com
  • 2 edits in trunk/WebKit/mac

Fixes the Web Inspector flashing white while resizing after
highlighting a page element. Calling disableScreenUpdatesUntilFlush
when attaching and detaching the Inspector page highlight is bad,
since the browser window might not flush again for a while. So screen
updates could be disabled for long periods of time, causing backing store
flashing while resizing. There is no need to call disableScreenUpdatesUntilFlush
when attaching or detaching the child window.

Reviewed by John Sullivan and Kevin McCullough.

  • WebInspector/WebNodeHighlight.m: (-[WebNodeHighlight attach]): Remove the call to disableScreenUpdatesUntilFlush. (-[WebNodeHighlight detach]): Ditto.
3:34 PM Changeset in webkit [35849] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Fix Windows build.

  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
3:29 PM Changeset in webkit [35848] by sfalken@apple.com
  • 2 edits in trunk/WebKit/win

Fix build.

  • WebScriptCallFrame.cpp: (WebScriptCallFrame::jsValueToString):
3:22 PM Changeset in webkit [35847] by kmccullough@apple.com
  • 6 edits
    2 adds in trunk/JavaScriptCore

2008-08-19 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim and Mark.

Implement DTrace hooks for dashcode and instruments.

  • API/JSProfilerPrivate.cpp: Added. Expose SPI so that profiling can be turned on from a client. The DTrace probes were added within the profiler mechanism for performance reasons so the profiler must be started to enable tracing. (JSStartProfiling): (JSEndProfiling):
  • API/JSProfilerPrivate.h: Added. Ditto.
  • JavaScriptCore.exp: Exposing the start/stop methods to clients.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • kjs/Tracing.d: Define the DTrace probes.
  • kjs/Tracing.h: Ditto.
  • profiler/ProfileGenerator.cpp: Implement the DTrace probes in the profiler. (KJS::ProfileGenerator::willExecute): (KJS::ProfileGenerator::didExecute):
3:05 PM Changeset in webkit [35846] by Chris Fleizach
  • 12 edits
    30 adds in trunk

<rdar://problem/4003764> Expose tables as AXTables

Exposes "data" tables in HTML as AXTables through accessibility

2:35 PM Changeset in webkit [35845] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

Build fix.


  • kjs/operations.cpp: (KJS::equal):
1:18 PM Changeset in webkit [35844] by ap@webkit.org
  • 2 edits in trunk/WebKitTools

Reviewed by Darin.

Fix run-webkit-tests misreporting crashed tests as timed out ones because DumpRenderTree
is waiting for crash reporter to let it exit.

The fix does not work on Tiger, because the state of the process is indistinguishable from
other waiting processes, at least not with this technique.

  • Scripts/run-webkit-tests:
11:39 AM Changeset in webkit [35843] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Build fix.
Add buildfailed support to stop builds early (preventing inaccurate error messages).
Add missing post-build rule to Release.

  • WebCore.vcproj/QTMovieWin.vcproj:
11:33 AM Changeset in webkit [35842] by timothy@apple.com
  • 6 edits in trunk/WebCore

Added support for console.count in the inspector.

Reviewed by Geoff Garen.

  • page/Console.cpp: (WebCore::Console::count):
  • page/Console.h:
  • page/Console.idl: Added console.count.
  • page/InspectorController.cpp: (WebCore::InspectorController::didCommitLoad): Clears m_counts. (WebCore::InspectorController::count): Updates the count number sing "title@source:line" as the identifier, and adds a message to the console.
  • page/InspectorController.h: Added m_counts.
11:33 AM Changeset in webkit [35841] by timothy@apple.com
  • 2 edits in trunk/WebCore

Clear console.time timers when changing page.

Reviewed by Geoff Garen.

  • page/InspectorController.cpp: (WebCore::InspectorController::didCommitLoad):
10:55 AM Changeset in webkit [35840] by adele@apple.com
  • 3 edits in trunk/WebCore

2008-08-19 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adele.

Fix for <rdar://problem/6154695> Full-page movies flicker while playing
https://bugs.webkit.org/show_bug.cgi?id=20404

Ignore setVisible() when visibility doesn't change.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::setVisible):
10:01 AM Changeset in webkit [35839] by timothy@apple.com
  • 2 edits in trunk/WebKit/mac

Correctly remembers the attached state of the Web Inspector so
it opens in that state for the next window, or next launch.

Reviewed by Kevin McCullough.

  • WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController attach]): Set WebKitInspectorAttachedKey to YES in the user defaults. (-[WebInspectorWindowController detach]): Set WebKitInspectorAttachedKey to NO in the user defaults.
10:01 AM Changeset in webkit [35838] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes a bug in the Profile view where switching sort order, then
switching from heavy to tree mode would show the tree in the
previous sort order.

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

Reviewed by Kevin McCullough.

  • page/inspector/ProfileView.js: (WebInspector.ProfileView.prototype._changeView): Call _sortProfile on the next profile before assigning it to this.profile. (WebInspector.ProfileView.prototype._sortData): Call _sortProfile. (WebInspector.ProfileView.prototype._sortProfile): Moves from _sortData and takes a profile argument. If the profile passed in matches the this.profile, then call refresh.
10:01 AM Changeset in webkit [35837] by timothy@apple.com
  • 2 edits in trunk/WebCore

Changed the default sort order now that heavy view is the default.
Also fixes a bug where the heavy profile was not sorted at first.

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

Reviewed by Kevin McCullough.

  • page/inspector/ProfileView.js: (WebInspector.ProfileView): Changed the default sort column. Also assign heavyProfile to profile, so the sortSelfTimeDescending call happens on the heavy profile before assigning to this.profile.
10:00 AM Changeset in webkit [35836] by timothy@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix an assertion when generating a heavy profile because the
empty value and deleted value of CallIdentifier where equal.

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

Reviewed by Dan Bernstein.

  • profiler/CallIdentifier.h: Make the emptyValue for CallIdentifier use empty strings for URL and function name.
10:00 AM Changeset in webkit [35835] by timothy@apple.com
  • 6 edits in trunk/WebCore

Add support for editing DOM properties and scope variables by double
clicking a property to enter edit mode.

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

Reviewed by Kevin McCullough.

  • page/inspector/ObjectPropertiesSection.js: (WebInspector.ObjectPropertiesSection): Set editable to true by default. (WebInspector.ObjectPropertiesSection.prototype.onpopulate): Factored out code into update, and calls update. (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate. Call removeChildren since this method can be called multiple times now. (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title gets made later in onattach. (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early if shouldRefreshChildren is true. Call removeChildren since this method can be called multiple times now. (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing. (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update. (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for this element (code moved from the constructor.) (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all sibling property elements. (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call WebInspector.startEditing after rememebring some context. (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft for the list element, since it might have scrolled during editing. (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded then restore the state from the context. Then call update to restore the title. (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled if the user input and the previous input are the same. Call editingEnded, then call applyExpression to commit the user input. (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression and stores the result on the object for the property name of this element. If the expression is empty, delete the property and remove the tree element.
  • page/inspector/ScopeChainSidebarPane.js: (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused property on each ObjectPropertiesSection. (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach since it is now implemented.
  • page/inspector/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument that defaults to true if omitted. It specifies whether to call update on the scope chain.
  • page/inspector/inspector.css: New styles.
  • page/inspector/treeoutline.js: (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
10:00 AM Changeset in webkit [35834] by timothy@apple.com
  • 2 edits in trunk/WebCore

Surround the expression to be evaluated in parenthesis so the
result of the eval is the result of the whole expression not
the last potential sub-expression. So evaluating {x: 123}
will show the Object not 123.

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

Reviewed by Kevin McCullough.

  • page/inspector/Console.js: (Console.prototype._evalInInspectedWindow): Add parenthesis around the expression. And add couple comments.
9:38 AM Changeset in webkit [35833] by kmccullough@apple.com
  • 3 edits in trunk/WebCore

2008-08-19 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff.

-Implement a page() function to extract a common code pattern.

  • WebCore.xcodeproj/project.pbxproj:
  • page/Console.cpp: (WebCore::Console::addMessage): (WebCore::Console::error): (WebCore::Console::info): (WebCore::Console::log): (WebCore::Console::dir): (WebCore::Console::assertCondition): (WebCore::Console::time): (WebCore::Console::timeEnd): (WebCore::Console::group): (WebCore::Console::groupEnd): (WebCore::Console::finishedProfiling): (WebCore::Console::warn): (WebCore::Console::framePage):
  • page/Console.h:
7:35 AM Changeset in webkit [35832] by ap@webkit.org
  • 1 edit
    1 move in trunk/LayoutTests

https://bugs.webkit.org/show_bug.cgi?id=19762
Crash in svg/webarchive/svg-cursor-subresources.svg

Disabling the test while the crash is being investigated.

12:27 AM Changeset in webkit [35831] by ap@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=19347
<rdar://problem/5977562> Input methods do not work after switching to a password field
and back.

Fix <rdar://problem/5522011> (The content of the password field of Safari is displayed by
reconversion) in a different way which doesn't conflict with context caching performed
by AppKit.

This original bug does not really occur in ToT or shipping Safari under Mac OS X 10.5.4,
because input methods are disabled in password fields. Attempting to reconvert text typed
with Romaji only yields a string of bullets. Still, it is probably better to match Cocoa
password field behavior and disable reconversion completely.

  • WebView/WebHTMLView.mm: (isInPasswordField): Factored out code to determine that the current selection is in a password field. (inputContext): Removed a hack that was breaking TSMGetActiveDocument(). (-[WebHTMLView attributedSubstringFromRange:]): Check for password fields. (-[WebHTMLView textStorage]): Ditto.

Aug 18, 2008:

9:39 PM Changeset in webkit [35830] by Darin Adler
  • 47 edits
    3 adds in trunk

JavaScriptCore:

2008-08-12 Darin Adler <Darin Adler>

Reviewed by Geoff.

  • eliminate JSValue::type()

This will make it slightly easier to change the JSImmediate design without
having to touch so many call sites.

SunSpider says this change is a wash (looked like a slight speedup, but not
statistically significant).

  • API/JSStringRef.cpp: Removed include of JSType.h.
  • API/JSValueRef.cpp: Removed include of JSType.h. (JSValueGetType): Replaced use of JSValue::type() with JSValue::is functions.
  • VM/JSPropertyNameIterator.cpp: Removed type() implementation. (KJS::JSPropertyNameIterator::toPrimitive): Changed to take PreferredPrimitiveType argument instead of JSType.
  • VM/JSPropertyNameIterator.h: Ditto.
  • VM/Machine.cpp: (KJS::fastIsNumber): Updated for name change. (KJS::fastToInt32): Ditto. (KJS::fastToUInt32): Ditto. (KJS::jsAddSlowCase): Updated toPrimitive caller for change from JSType to PreferredPrimitiveType. (KJS::jsAdd): Replaced calls to JSValue::type() with calls to JSValue::isString(). (KJS::jsTypeStringForValue): Replaced calls to JSValue::type() with multiple calls to JSValue::is -- we could make this a virtual function instead if we want to have faster performance. (KJS::Machine::privateExecute): Renamed JSImmediate::toTruncatedUInt32 to JSImmediate::getTruncatedUInt32 for consistency with other functions. Changed two calls of JSValue::type() to JSValue::isString().
  • kjs/GetterSetter.cpp: (KJS::GetterSetter::toPrimitive): Changed to take PreferredPrimitiveType argument instead of JSType. (KJS::GetterSetter::isGetterSetter): Added.
  • kjs/GetterSetter.h:
  • kjs/JSCell.cpp: (KJS::JSCell::isString): Added. (KJS::JSCell::isGetterSetter): Added. (KJS::JSCell::isObject): Added.
  • kjs/JSCell.h: Eliminated type function. Added isGetterSetter. Made isString and isObject virtual. Changed toPrimitive to take PreferredPrimitiveType argument instead of JSType. (KJS::JSCell::isNumber): Use Heap::isNumber for faster performance. (KJS::JSValue::isGetterSetter): Added. (KJS::JSValue::toPrimitive): Changed to take PreferredPrimitiveType argument instead of JSType.
  • kjs/JSImmediate.h: Removed JSValue::type() and replaced JSValue::toTruncatedUInt32 with JSValue::getTruncatedUInt32. (KJS::JSImmediate::isEitherImmediate): Added.
  • kjs/JSNotAnObject.cpp: (KJS::JSNotAnObject::toPrimitive): Changed to take PreferredPrimitiveType argument instead of JSType.
  • kjs/JSNotAnObject.h: Ditto.
  • kjs/JSNumberCell.cpp: (KJS::JSNumberCell::toPrimitive): Ditto.
  • kjs/JSNumberCell.h: (KJS::JSNumberCell::toInt32): Renamed from fastToInt32. There's no other "slow" version of this once you have a JSNumberCell, so there's no need for "fast" in the name. It's a feature that this hides the base class toInt32, which does the same job less efficiently (and has an additional ExecState argument). (KJS::JSNumberCell::toUInt32): Ditto.
  • kjs/JSObject.cpp: (KJS::callDefaultValueFunction): Use isGetterSetter instead of type. (KJS::JSObject::getPrimitiveNumber): Use PreferredPrimitiveType. (KJS::JSObject::defaultValue): Ditto. (KJS::JSObject::defineGetter): Use isGetterSetter. (KJS::JSObject::defineSetter): Ditto. (KJS::JSObject::lookupGetter): Ditto. (KJS::JSObject::lookupSetter): Ditto. (KJS::JSObject::toNumber): Use PreferredPrimitiveType. (KJS::JSObject::toString): Ditto. (KJS::JSObject::isObject): Added.
  • kjs/JSObject.h: (KJS::JSObject::inherits): Call the isObject from JSCell; it's now hidden by our override of isObject. (KJS::JSObject::getOwnPropertySlotForWrite): Use isGetterSetter instead of type. (KJS::JSObject::getOwnPropertySlot): Ditto. (KJS::JSObject::toPrimitive): Use PreferredPrimitiveType.
  • kjs/JSString.cpp: (KJS::JSString::toPrimitive): Use PreferredPrimitiveType. (KJS::JSString::isString): Added.
  • kjs/JSString.h: Ditto.
  • kjs/JSValue.h: Removed type(), added isGetterSetter(). Added PreferredPrimitiveType enum and used it as the argument for the toPrimitive function. (KJS::JSValue::getBoolean): Simplified a bit an removed a branch.
  • kjs/collector.cpp: (KJS::typeName): Changed to use JSCell::is functions instead of calling JSCell::type.
  • kjs/collector.h: (KJS::Heap::isNumber): Renamed from fastIsNumber.
  • kjs/nodes.h: Added now-needed include of JSType, since the type is used here to record types of values in the tree.
  • kjs/operations.cpp: (KJS::equal): Rewrote to no longer depend on type(). (KJS::strictEqual): Ditto.

JavaScriptGlue:

2008-08-12 Darin Adler <Darin Adler>

Reviewed by Geoff.

  • eliminate JSValue::type()
  • JSUtils.cpp: (KJSValueToCFTypeInternal): Replaced uses of JSValue::type() with JSValue::is functions.
  • UserObjectImp.cpp: (UserObjectImp::getOwnPropertySlot): Ditto. (UserObjectImp::toPrimitive): Take PreferredPrimitiveType argument instead of JSType argument.
  • UserObjectImp.h: Ditto.

WebCore:

2008-08-12 Darin Adler <Darin Adler>

Reviewed by Geoff.

  • eliminate JSValue::type()
  • bridge/c/c_instance.cpp: (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType argument instead of JSType argument. Removed unneeded code to handle boolean, since that's never passed.
  • bridge/c/c_instance.h: Ditto.
  • bridge/c/c_utility.cpp: (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions instead of JSValue::type(). Removed unneeded code to handle "unspecified".
  • bridge/jni/jni_instance.cpp: (JavaInstance::defaultValue): Take PreferredPrimitiveType argument instead of JSType argument. Removed unneeded code to handle boolean.
  • bridge/jni/jni_instance.h: Ditto.
  • bridge/jni/jni_jsobject.mm: (JavaJSObject::convertValueToJObject): Use JSValue::is functions instead of JSValue::type().
  • bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument instead of JSType argument. Removed unused argument.
  • bridge/objc/objc_instance.mm: (ObjcInstance::getValueOfUndefinedField): Removed unused argument. (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument instead of JSType argument. Removed unneeded code to handle boolean and another dead code path for unknown types.
  • bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument instead of JSType argument. Removed override of type() that caused the fallback object to return "UndefinedType" when there is no invokeUndefinedMethodFromWebScript:withArguments: method defined. That didn't accomplish much, since most checks for undefined don't ever call type().
  • bridge/objc/objc_runtime.mm: (ObjcFallbackObjectImp::defaultValue): Ditto.
  • bridge/qt/qt_instance.cpp: (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType argument instead of JSType argument. Removed unneeded code to handle boolean.
  • bridge/qt/qt_instance.h: Ditto.
  • bridge/runtime.h: (KJS::Bindings::Instance::getValueOfUndefinedField): Removed unsed argument.
  • bridge/runtime_object.cpp: (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType argument instead of JSType argument.
  • bridge/runtime_object.h: Ditto.

WebKit/mac:

2008-08-12 Darin Adler <Darin Adler>

Reviewed by Geoff.

  • eliminate JSValue::type()
  • WebView/WebView.mm: (aeDescFromJSValue): Rewrite to use the JSValue::is functions instead of a switch on JSValue::type().

LayoutTests:

2008-08-12 Darin Adler <Darin Adler>

Reviewed by Geoff.

  • added a test since I had to rewrite the == and === operators
  • fast/js/equality-expected.txt: Added.
  • fast/js/equality.html: Added.
  • fast/js/resources/equality.js: Added.
5:42 PM Changeset in webkit [35829] by britto@apple.com
  • 2 edits in trunk/WebCore

2008-08-18 Maxime Britto <britto@apple.com>

Reviewed by Adele.

<rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
We shouldn't be able to create another window while we are in pan scrolling.
Other browsers behaviors :

FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
IE7 : Keys are not disabled but stops immediately the panning.

This patch matches FF3 behavior by disabling every key but the esc key.

  • page/EventHandler.cpp: (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped. (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
5:20 PM Changeset in webkit [35828] by mitz@apple.com
  • 10 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received

Test: fast/replaced/max-width-percent.html

Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
When false, max-width is not factored into the
calculation.
Changed RenderReplaced and subclasses' calcPrefWidths() to call
calcReplacedWidth(false) and then apply max-width only if it has a
fixed, positive value.

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcReplacedWidth):
  • rendering/RenderBox.h:
  • rendering/RenderImage.cpp: (WebCore::RenderImage::calcReplacedWidth): (WebCore::RenderImage::calcPrefWidths):
  • rendering/RenderImage.h:
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::calcPrefWidths):
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::calcPrefWidths):
  • rendering/RenderVideo.cpp: (WebCore::RenderVideo::calcReplacedWidth): (WebCore::RenderVideo::calcPrefWidths):
  • rendering/RenderVideo.h:

LayoutTests:

Reviewed by Dave Hyatt.

  • test for <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
  • fast/replaced/max-width-percent.html: Added.
  • platform/mac/fast/replaced/max-width-percent-expected.checksum: Added.
  • platform/mac/fast/replaced/max-width-percent-expected.png: Added.
  • platform/mac/fast/replaced/max-width-percent-expected.txt: Added.
4:08 PM Changeset in webkit [35827] by Simon Fraser
  • 2 edits
    1 add
    1 delete in trunk/LayoutTests

Make transition_shorthand_parsing.html a text-only test.

  • fast/css/transition_shorthand_parsing-expected.txt: Added.
  • fast/css/transition_shorthand_parsing.html:
  • platform/mac/fast/css/transition_shorthand_parsing-expected.txt:
3:47 PM Changeset in webkit [35826] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2008-08-18 Daniel Macks <dmacks@netspace.org>

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=20410
More portable/self-documenting replacement for SIZE_MAX.

  • platform/network/curl/FormDataStreamCurl.cpp: (WebCore::FormDataStream::read):
3:11 PM Changeset in webkit [35825] by Simon Fraser
  • 3 edits
    2 adds in trunk

Reviewed by Dave Hyatt

Need to make sure we have an Animation in the AnimationList
before setting the initial value.
https://bugs.webkit.org/show_bug.cgi?id=20408

Test: fast/css/transition_shorthand_parsing.html

  • css/CSSStyleSelector.cpp:
2:55 PM Changeset in webkit [35824] by kevino@webkit.org
  • 2 edits in trunk/WebKit/wx

Build fix for Win. Don't include the libxml/libxslt directories in the
include path, it picks up the wrong Pattern.h in that case.

1:53 PM Changeset in webkit [35823] by kmccullough@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-08-18 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

If there are no nodes in a profile all the time should be attributed to
(idle)

  • profiler/Profile.cpp: If ther are no nodes make sure we still process the head. (KJS::Profile::forEach):
  • profiler/ProfileGenerator.cpp: Remove some useless code. (KJS::ProfileGenerator::stopProfiling):
1:53 PM Changeset in webkit [35822] by jchaffraix@webkit.org
  • 8 edits
    5 adds in branches/XBL2

WebCore:

2008-08-18 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Bug 20347: [XBL] Add support for DocumentXBL interface

  • Add a custom NamedNodeMap for document.bindingsDocument as it is a static map that throws NO_MODIFICATIN_ALLOWED_ERR on modification.

Test: fast/xbl/xbl-bindingDocuments.html

  • GNUmakefile.am: Add NamedStaticDocumentMap.cpp.
  • WebCore.pro: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • dom/Document.cpp: (WebCore::Document::Document): Initialize m_bindingDocuments. (WebCore::Document::~Document): Zero m_bindingDocuments. (WebCore::Document::bindingDocuments): Getter method. (WebCore::Document::loadBindingDocument): Stub method as we need an helper class to load bindings. (WebCore::Document::createBindingDocumentsIfNeeded):
  • dom/Document.h:
  • dom/Document.idl: Add documentXBL interface.
  • dom/NamedStaticDocumentMap.cpp: Added. (WebCore::NamedStaticDocumentMap::NamedStaticDocumentMap): (WebCore::NamedStaticDocumentMap::~NamedStaticDocumentMap): (WebCore::NamedStaticDocumentMap::getNamedItem): (WebCore::NamedStaticDocumentMap::removeNamedItem): (WebCore::NamedStaticDocumentMap::getNamedItemNS): (WebCore::NamedStaticDocumentMap::removeNamedItemNS): (WebCore::NamedStaticDocumentMap::setNamedItem): (WebCore::NamedStaticDocumentMap::item): (WebCore::NamedStaticDocumentMap::addItem):
  • dom/NamedStaticDocumentMap.h: Added. (WebCore::NamedStaticDocumentMap::create): (WebCore::NamedStaticDocumentMap::length): (WebCore::NamedStaticDocumentMap::clear): Custom NamedNodeMap that match the specification.

LayoutTests:

2008-08-18 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Test case for bug 20347: [XBL] Add support for DocumentXBL interface

  • fast/xbl/resources/bindingDocuments.js: Added.
  • fast/xbl/xbl-bindingDocuments-expected.txt: Added.
  • fast/xbl/xbl-bindingDocuments.html: Added.
1:21 PM Changeset in webkit [35821] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-08-18 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

<rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
is another profile.

  • page/inspector/ProfilesPanel.js:
12:55 PM Changeset in webkit [35820] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-08-18 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff.

<rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
all console messages

  • page/inspector/Console.js:
8:54 AM Changeset in webkit [35819] by jchaffraix@webkit.org
  • 8 edits
    5 adds in branches/XBL2

WebCore:

2008-08-18 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Bug 20263: [XBL] Add loading code for XBLBinding

Test: fast/xbl/xbl-empty-fragment-loadBinding.html

  • GNUmakefile.am: Add XBLBinding.cpp.
  • WebCore.pro: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • xbl/XBLBinding.cpp: Added. (WebCore::XBLBinding::XBLBinding): (WebCore::XBLBinding::~XBLBinding): (WebCore::XBLBinding::setXBLDocument): (WebCore::XBLBinding::getBindingElement):
  • xbl/XBLBinding.h: Inherit from CachedResourceClient to use the Cache management. Also added the bound element, the <binding> element as members.


  • xbl/XBLBindingManager.cpp: Changed Vector<XBLBinding>* to Vector<XBLBinding*>* as we were taking a pointer to a local value.


(WebCore::XBLBindingManager::addBinding): Ditto.
(WebCore::XBLBindingManager::removeBinding): Ditto.
(WebCore::XBLBindingManager::hasBinding): Ditto.
(WebCore::XBLBindingManager::removeAllBindings): Ditto.

  • xbl/XBLBindingManager.h: Ditto.

LayoutTests:

2008-08-18 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.


Test case for bug 20263: [XBL] Add loading code for XBLBinding


  • fast/xbl/resources/xbl-failed-binding.xbl: Added.
  • fast/xbl/resources/xbl-passed-binding.xbl: Added.
  • fast/xbl/xbl-empty-fragment-loadBinding-expected.txt: Added.
  • fast/xbl/xbl-empty-fragment-loadBinding.html: Added.


7:54 AM Changeset in webkit [35818] by mrowe@apple.com
  • 77 edits in trunk/WebKitSite

Upgrade to WordPress 2.6.1.

4:20 AM Changeset in webkit [35817] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-08-18 Dirk Schulze <vbs85@gmx.de>

Reviewed by Eric Seidel.

Fixed Canvas for Cairo. Stroke and fill colors didn't work after
the canvas clean up.

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

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::fill): (WebCore::CanvasRenderingContext2D::stroke): (WebCore::CanvasRenderingContext2D::fillRect):
4:14 AM Changeset in webkit [35816] by jmalonzo@webkit.org
  • 8 edits in trunk

2008-08-18 Alp Toker <alp@nuanti.com>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=20350
[GTK] Get DumpRenderTree working

WebKit/gtk:

Add a private function to WebFrame to dump the render tree as required
for the DumpRenderTree testing tool.

  • webkit/webkitprivate.h:
  • webkit/webkitwebframe.cpp:

WebKitTools/DumpRenderTree/gtk:

Fixes and enhancements to DumpRenderTree. With these changes, the test
suite can now complete a run producing text and render tree dumps.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (dumpFramesAsText): (dump): (runTest): (webViewLoadFinished): (webViewWindowObjectCleared): (webViewConsoleMessage): (webViewScriptAlert): (webViewScriptPrompt): (webViewScriptConfirm): (webViewTitleChanged): (main):
  • DumpRenderTree/gtk/DumpRenderTreeGtk.h:
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::clearBackForwardList): (LayoutTestController::pathToLocalResource): (LayoutTestController::setAcceptsEditing): (LayoutTestController::setUserStyleSheetEnabled): (LayoutTestController::setUserStyleSheetLocation): (waitToDumpWatchdogFired): (LayoutTestController::windowCount):
  • DumpRenderTree/gtk/WorkQueueItemGtk.cpp: (JSStringCopyUTF8CString): (ScriptItem::invoke):
1:09 AM Changeset in webkit [35815] by ap@webkit.org
  • 4 edits in trunk/JavaScriptCore

Reviewed by Maciej.

Make JSGlobalContextRetain/Release actually work.

  • API/JSContextRef.cpp: (JSGlobalContextRetain): (JSGlobalContextRelease): Ref/deref global data to give checking for globalData.refCount() some sense.
  • API/tests/testapi.c: (main): Added a test for this bug.
  • kjs/JSGlobalData.cpp: (KJS::JSGlobalData::~JSGlobalData): While checking for memory leaks, found that JSGlobalData::emptyList has changed to a pointer, but it was not destructed, causing a huge leak in run-webkit-tests --threaded.

Aug 17, 2008:

8:21 PM Changeset in webkit [35814] by timothy@apple.com
  • 3 edits in trunk/WebCore

Complete in scope variables in the Console when paused.

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

Reviewed by Geoffrey Garen.

  • page/inspector/Console.js: (WebInspector.Console.prototype.completions): If the expressionString is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame to get an object that declares all the in scope variables. That way "top level" expressions are completed.
  • page/inspector/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame): Return an object that has all the variables that are in scope for the selected call frame. The value of each property is just true. The return object is useful for quick lookups or auto completion.
7:42 PM Changeset in webkit [35813] by cwzwarich@webkit.org
  • 7 edits in trunk

2008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Change the counting of constants so that preincrement and predecrement of
const local variables are considered unexpected loads.

JavaScriptCore:

  • kjs/nodes.cpp: (KJS::PrefixResolveNode::emitCode):
  • kjs/nodes.h: (KJS::ScopeNode::neededConstants):

LayoutTests:

  • fast/js/deep-recursion-test.html:
4:38 PM Changeset in webkit [35812] by oliver@apple.com
  • 3 edits
    3 adds in trunk

<rdar://problem/6150322> In Gmail, a crash occurs at KJS::Machine::privateExecute() when applying list styling to text after a quote had been removed
<https://bugs.webkit.org/show_bug.cgi?id=20386>

Reviewed by Cameron Zwarich.

This crash was caused by "depth()" incorrectly determining the scope depth
of a 0 depth function without a full scope chain. Because such a function
would not have an activation the depth function would return the scope depth
of the parent frame, thus triggering an incorrect unwind. Any subsequent
look up that walked the scope chain would result in incorrect behaviour,
leading to a crash or incorrect variable resolution. This can only actually
happen in try...finally statements as that's the only path that can result in
the need to unwind the scope chain, but not force the function to need a
full scope chain.

2:34 PM Changeset in webkit [35811] by cwzwarich@webkit.org
  • 2 edits in trunk/WebCore

2008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Not reviewed.

Speculative Qt build fix.

  • bridge/qt/qt_runtime.cpp: (KJS::Bindings::convertValueToQVariant): (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2:27 PM Changeset in webkit [35810] by cwzwarich@webkit.org
  • 5 edits in trunk/JavaScriptCore

2008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Bug 20419: Remove op_jless
<https://bugs.webkit.org/show_bug.cgi?id=20419>

Remove op_jless, which is rarely used now that we have op_loop_if_less.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitJumpIfTrue):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
2:18 PM Changeset in webkit [35809] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Dan Bernstein.

Fix a typo in r35807 that is also causing build failures for
non-AllInOne builds.

  • kjs/NumberConstructor.cpp:
1:28 PM Changeset in webkit [35808] by ggaren@apple.com
  • 9 edits in trunk

JavaScriptGlue:

2008-08-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Updated project files to XCode 3.1.

  • JavaScriptGlue.xcodeproj/project.pbxproj:

WebCore:

2008-08-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Updated project files to XCode 3.1.

  • manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:

WebKit:

2008-08-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Updated project files to XCode 3.1.

  • WebKit.xcodeproj/project.pbxproj:

WebKitTools:

2008-08-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Updated project files to XCode 3.1.

  • DrawTest/DrawTest.xcodeproj/project.pbxproj:
  • WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
1:23 PM Changeset in webkit [35807] by ggaren@apple.com
  • 85 edits in trunk

JavaScriptCore:

2008-08-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.

Made room for a free word in JSCell.


SunSpider says no change.


I changed JSCallbackObjectData, Arguments, JSArray, and RegExpObject to
store auxiliary data in a secondary structure.

I changed InternalFunction to store the function's name in the property
map.


I changed JSGlobalObjectData to use a virtual destructor, so WebCore's
JSDOMWindowBaseData could inherit from it safely. (It's a strange design
for JSDOMWindowBase to allocate an object that JSGlobalObject deletes,
but that's really our only option, given the size constraint.)


I also added a bunch of compile-time ASSERTs, and removed lots of comments
in JSObject.h because they were often out of date, and they got in the
way of reading what was actually going on.


Also renamed JSArray::getLength to JSArray::length, to match our style
guidelines.

WebCore:

2008-08-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.

Made room for a free word in JSCell.


Changed JSDOMWindowBase to store its auxiliary data in a subclass of
JSGlobalData, so the two could share a pointer.


Added a bunch of ASSERTs, to help catch over-sized objects.

WebKit/mac:

2008-08-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.

Made room for a free word in JSCell.


(Updated for JavaScriptCore changes.)

12:57 AM Changeset in webkit [35806] by ggaren@apple.com
  • 10 edits in trunk/JavaScriptCore

2007-08-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Sped up property access for array.length and string.length by adding a
mechanism for returning a temporary value directly instead of returning
a pointer to a function that retrieves the value.


Also removed some unused cruft from PropertySlot.


SunSpider says 0.5% - 1.2% faster.

NOTE: This optimization is not a good idea in general, because it's
actually a pessimization in the case of resolve for assignment,
and it may get in the way of other optimizations in the future.

Note: See TracTimeline for information about the timeline view.