Timeline



Oct 9, 2008:

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

Another build fix.

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

Full build fix for the fail on Tiger.

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

WebCore:

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

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

Reviewed by Tim Hatcher

Added scrollbars/disabled-scrollbar.html

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

LayoutTests:

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

Add test case for disabled scrollbars.

Reviewed by Tim Hatcher

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

Tiger build fix.

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

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

Media controls should not show when element is not visible

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


Reviewed by Adele Peterson.

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

Fix Gtk bustage.

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

Fix Qt bustage.

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

Fix Windows bustage.

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

Fix typo in my Changelog comment

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

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

WebCore:

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

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

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

Reviewed by Sam Weinig.

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

WebKit/mac:

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

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

Reviewed by Sam Weinig.

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

2008-10-09 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

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

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

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

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

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

Reviewed by Oliver Hunt

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

WebCore:

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

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

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

Reviewed by Oliver Hunt

Added scrollbars/basic-scrollbar.html

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

LayoutTests:

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

Land layout test for CSS scrollbars.

Reviewed by Oliver Hunt

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

Reviewed by Oliver Hunt.

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

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

Reviewed by Oliver Hunt.

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

Tests forthcoming.

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

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

Not reviewed.

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

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

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

Reviewed by Maciej Stachowiak.

Add leaks checking to StructureID.

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

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

Reviewed by Mark Rowe.

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

Prepare to enable CTI/WREC on supported architectures.

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

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

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

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

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

Reviewed by Oliver Hunt.

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

Test: fast/canvas/patternfill-repeat.html

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

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

Reviewed by Darin Adler.

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

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

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

Reviewed by Darin Adler.

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

Changed assertions to test the right flag for the paused state

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

JavaScriptCore:

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

Reviewed by Cameron Zwarich.

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

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

LayoutTests:

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

Reviewed by Cameron Zwarich.

Correct results for -0 cases.

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

wx build fixes.

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

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

Reviewed by Dan Bernstein.

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

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

Test: animations/big-rotation.html

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

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

Reviewed by Oliver Hunt.

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

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

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

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

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

Reviewed by Anders

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

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

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

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

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

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

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

Reviewed by Alp Toker.

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

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

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

Reviewed by Simon.

Build fix for MinGW.

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

2008-10-09 Darin Adler <Darin Adler>

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

2008-10-09 Darin Adler <Darin Adler>

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

Oct 8, 2008:

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

Merge r37442.

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

Remove restriction on version number ending in a 4.

Rubber-stamped by Jon Honeycutt.

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

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

Reviewed by Maciej Stachowiak.

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

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

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

Fix the Windows build after r37434.

  • DumpRenderTree/win/DumpRenderTree.cpp:

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

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

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

Rubber-stamped by Mark Rowe.

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

Windows build fix.

  • VM/CTI.cpp:

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

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

Correct MIME types

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

Not reviewed. Fix Sams name :-)

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

Reviewed by Oliver Hunt & Sam Weining.

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

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

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

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

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

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

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

2008-10-08 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

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

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

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

JavaScriptCore:

2008-10-08 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

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

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

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

  • API/JSObjectRef.cpp: (JSObjectMakeFunctionWithCallback): (JSObjectMakeFunction): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectDeleteProperty):
  • API/OpaqueJSString.cpp:
  • API/OpaqueJSString.h:
  • VM/CTI.cpp: (JSC::CTI::getConstant): (JSC::CTI::emitGetArg): (JSC::CTI::emitGetPutArg): (JSC::CTI::getConstantImmediateNumericArg): (JSC::CTI::printOpcodeOperandTypes): (JSC::CTI::CTI): (JSC::CTI::compileOpCall): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::compileRegExp):
  • VM/CTI.h:
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitEqualityOp): (JSC::CodeGenerator::emitLoad): (JSC::CodeGenerator::emitUnexpectedLoad): (JSC::CodeGenerator::emitConstruct):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddSlowCase): (JSC::jsAdd): (JSC::jsTypeStringForValue): (JSC::Machine::resolve): (JSC::Machine::resolveSkip): (JSC::Machine::resolveGlobal): (JSC::inlineResolveBase): (JSC::Machine::resolveBase): (JSC::Machine::resolveBaseAndProperty): (JSC::Machine::resolveBaseAndFunc): (JSC::Machine::slideRegisterWindowForCall): (JSC::isNotObject): (JSC::Machine::callEval): (JSC::Machine::dumpCallFrame): (JSC::Machine::dumpRegisters): (JSC::Machine::unwindCallFrame): (JSC::Machine::throwException): (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope): (JSC::Machine::execute): (JSC::Machine::debug): (JSC::Machine::createExceptionScope): (JSC::cachePrototypeChain): (JSC::Machine::tryCachePutByID): (JSC::Machine::tryCacheGetByID): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::retrieveCaller): (JSC::Machine::retrieveLastCaller): (JSC::Machine::findFunctionCallFrame): (JSC::Machine::getArgumentsData): (JSC::Machine::tryCTICachePutByID): (JSC::Machine::getCTIArrayLengthTrampoline): (JSC::Machine::getCTIStringLengthTrampoline): (JSC::Machine::tryCTICacheGetByID): (JSC::Machine::cti_op_convert_this): (JSC::Machine::cti_op_end): (JSC::Machine::cti_op_add): (JSC::Machine::cti_op_pre_inc): (JSC::Machine::cti_timeout_check): (JSC::Machine::cti_op_loop_if_less): (JSC::Machine::cti_op_loop_if_lesseq): (JSC::Machine::cti_op_new_object): (JSC::Machine::cti_op_put_by_id): (JSC::Machine::cti_op_put_by_id_second): (JSC::Machine::cti_op_put_by_id_generic): (JSC::Machine::cti_op_put_by_id_fail): (JSC::Machine::cti_op_get_by_id): (JSC::Machine::cti_op_get_by_id_second): (JSC::Machine::cti_op_get_by_id_generic): (JSC::Machine::cti_op_get_by_id_fail): (JSC::Machine::cti_op_instanceof): (JSC::Machine::cti_op_del_by_id): (JSC::Machine::cti_op_mul): (JSC::Machine::cti_op_new_func): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_vm_compile): (JSC::Machine::cti_op_push_activation): (JSC::Machine::cti_op_call_NotJSFunction): (JSC::Machine::cti_op_create_arguments): (JSC::Machine::cti_op_tear_off_activation): (JSC::Machine::cti_op_tear_off_arguments): (JSC::Machine::cti_op_ret_profiler): (JSC::Machine::cti_op_ret_scopeChain): (JSC::Machine::cti_op_new_array): (JSC::Machine::cti_op_resolve): (JSC::Machine::cti_op_construct_JSConstruct): (JSC::Machine::cti_op_construct_NotJSConstruct): (JSC::Machine::cti_op_get_by_val): (JSC::Machine::cti_op_resolve_func): (JSC::Machine::cti_op_sub): (JSC::Machine::cti_op_put_by_val): (JSC::Machine::cti_op_put_by_val_array): (JSC::Machine::cti_op_lesseq): (JSC::Machine::cti_op_loop_if_true): (JSC::Machine::cti_op_negate): (JSC::Machine::cti_op_resolve_base): (JSC::Machine::cti_op_resolve_skip): (JSC::Machine::cti_op_resolve_global): (JSC::Machine::cti_op_div): (JSC::Machine::cti_op_pre_dec): (JSC::Machine::cti_op_jless): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_jtrue): (JSC::Machine::cti_op_post_inc): (JSC::Machine::cti_op_eq): (JSC::Machine::cti_op_lshift): (JSC::Machine::cti_op_bitand): (JSC::Machine::cti_op_rshift): (JSC::Machine::cti_op_bitnot): (JSC::Machine::cti_op_resolve_with_base): (JSC::Machine::cti_op_new_func_exp): (JSC::Machine::cti_op_mod): (JSC::Machine::cti_op_less): (JSC::Machine::cti_op_neq): (JSC::Machine::cti_op_post_dec): (JSC::Machine::cti_op_urshift): (JSC::Machine::cti_op_bitxor): (JSC::Machine::cti_op_new_regexp): (JSC::Machine::cti_op_bitor): (JSC::Machine::cti_op_call_eval): (JSC::Machine::cti_op_throw): (JSC::Machine::cti_op_get_pnames): (JSC::Machine::cti_op_next_pname): (JSC::Machine::cti_op_push_scope): (JSC::Machine::cti_op_pop_scope): (JSC::Machine::cti_op_typeof): (JSC::Machine::cti_op_to_jsnumber): (JSC::Machine::cti_op_in): (JSC::Machine::cti_op_push_new_scope): (JSC::Machine::cti_op_jmp_scopes): (JSC::Machine::cti_op_put_by_index): (JSC::Machine::cti_op_switch_imm): (JSC::Machine::cti_op_switch_char): (JSC::Machine::cti_op_switch_string): (JSC::Machine::cti_op_del_by_val): (JSC::Machine::cti_op_put_getter): (JSC::Machine::cti_op_put_setter): (JSC::Machine::cti_op_new_error): (JSC::Machine::cti_op_debug): (JSC::Machine::cti_vm_throw):
  • VM/Machine.h:
  • VM/Register.h:
  • VM/RegisterFile.h:
  • kjs/Arguments.h:
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::functionName): (JSC::DebuggerCallFrame::type): (JSC::DebuggerCallFrame::thisObject): (JSC::DebuggerCallFrame::evaluate):
  • kjs/DebuggerCallFrame.h:
  • kjs/ExecState.cpp: (JSC::CallFrame::thisValue):
  • kjs/ExecState.h:
  • kjs/FunctionConstructor.cpp: (JSC::constructFunction):
  • kjs/JSActivation.cpp: (JSC::JSActivation::JSActivation): (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h:
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::init):
  • kjs/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval):
  • kjs/JSVariableObject.h:
  • kjs/Parser.cpp: (JSC::Parser::parse):
  • kjs/RegExpConstructor.cpp: (JSC::constructRegExp):
  • kjs/RegExpPrototype.cpp: (JSC::regExpProtoFuncCompile):
  • kjs/Shell.cpp: (prettyPrintScript):
  • kjs/StringPrototype.cpp: (JSC::stringProtoFuncMatch): (JSC::stringProtoFuncSearch):
  • kjs/identifier.cpp: (JSC::Identifier::checkSameIdentifierTable):
  • kjs/interpreter.cpp: (JSC::Interpreter::checkSyntax): (JSC::Interpreter::evaluate):
  • kjs/nodes.cpp: (JSC::ThrowableExpressionData::emitThrowError): (JSC::RegExpNode::emitCode): (JSC::ArrayNode::emitCode): (JSC::InstanceOfNode::emitCode):
  • kjs/nodes.h:
  • kjs/regexp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::create):
  • kjs/regexp.h:
  • profiler/HeavyProfile.h:
  • profiler/Profile.h:
  • wrec/WREC.cpp:
  • wrec/WREC.h:

WebKit/mac:

2008-10-08 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

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

WebCore:

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

Reviewed by Cameron Zwarich.

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

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

Test: fast/dom/css-RGBValue.html

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

LayoutTests:

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

Reviewed by Cameron Zwarich.

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

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

Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.

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

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

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

Typed by Maciej Stachowiak, reviewed by Mark Rowe.

  • VM/Machine.cpp:

(JSC::Machine::privateExecute):

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

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

Not reviewed, trying to fix bot.


Update -0 expectations better.

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

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

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

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

JavaScriptCore:

2008-10-08 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

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

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

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

  • API/JSObjectRef.cpp: (JSObjectMakeFunctionWithCallback): (JSObjectMakeFunction): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectDeleteProperty):
  • API/OpaqueJSString.cpp:
  • API/OpaqueJSString.h:
  • VM/CTI.cpp: (JSC::CTI::getConstant): (JSC::CTI::emitGetArg): (JSC::CTI::emitGetPutArg): (JSC::CTI::getConstantImmediateNumericArg): (JSC::CTI::printOpcodeOperandTypes): (JSC::CTI::CTI): (JSC::CTI::compileOpCall): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::compileRegExp):
  • VM/CTI.h:
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitEqualityOp): (JSC::CodeGenerator::emitLoad): (JSC::CodeGenerator::emitUnexpectedLoad): (JSC::CodeGenerator::emitConstruct):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddSlowCase): (JSC::jsAdd): (JSC::jsTypeStringForValue): (JSC::Machine::resolve): (JSC::Machine::resolveSkip): (JSC::Machine::resolveGlobal): (JSC::inlineResolveBase): (JSC::Machine::resolveBase): (JSC::Machine::resolveBaseAndProperty): (JSC::Machine::resolveBaseAndFunc): (JSC::Machine::slideRegisterWindowForCall): (JSC::isNotObject): (JSC::Machine::callEval): (JSC::Machine::dumpCallFrame): (JSC::Machine::dumpRegisters): (JSC::Machine::unwindCallFrame): (JSC::Machine::throwException): (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope): (JSC::Machine::execute): (JSC::Machine::debug): (JSC::Machine::createExceptionScope): (JSC::cachePrototypeChain): (JSC::Machine::tryCachePutByID): (JSC::Machine::tryCacheGetByID): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::retrieveCaller): (JSC::Machine::retrieveLastCaller): (JSC::Machine::findFunctionCallFrame): (JSC::Machine::getArgumentsData): (JSC::Machine::tryCTICachePutByID): (JSC::Machine::getCTIArrayLengthTrampoline): (JSC::Machine::getCTIStringLengthTrampoline): (JSC::Machine::tryCTICacheGetByID): (JSC::Machine::cti_op_convert_this): (JSC::Machine::cti_op_end): (JSC::Machine::cti_op_add): (JSC::Machine::cti_op_pre_inc): (JSC::Machine::cti_timeout_check): (JSC::Machine::cti_op_loop_if_less): (JSC::Machine::cti_op_loop_if_lesseq): (JSC::Machine::cti_op_new_object): (JSC::Machine::cti_op_put_by_id): (JSC::Machine::cti_op_put_by_id_second): (JSC::Machine::cti_op_put_by_id_generic): (JSC::Machine::cti_op_put_by_id_fail): (JSC::Machine::cti_op_get_by_id): (JSC::Machine::cti_op_get_by_id_second): (JSC::Machine::cti_op_get_by_id_generic): (JSC::Machine::cti_op_get_by_id_fail): (JSC::Machine::cti_op_instanceof): (JSC::Machine::cti_op_del_by_id): (JSC::Machine::cti_op_mul): (JSC::Machine::cti_op_new_func): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_vm_compile): (JSC::Machine::cti_op_push_activation): (JSC::Machine::cti_op_call_NotJSFunction): (JSC::Machine::cti_op_create_arguments): (JSC::Machine::cti_op_tear_off_activation): (JSC::Machine::cti_op_tear_off_arguments): (JSC::Machine::cti_op_ret_profiler): (JSC::Machine::cti_op_ret_scopeChain): (JSC::Machine::cti_op_new_array): (JSC::Machine::cti_op_resolve): (JSC::Machine::cti_op_construct_JSConstruct): (JSC::Machine::cti_op_construct_NotJSConstruct): (JSC::Machine::cti_op_get_by_val): (JSC::Machine::cti_op_resolve_func): (JSC::Machine::cti_op_sub): (JSC::Machine::cti_op_put_by_val): (JSC::Machine::cti_op_put_by_val_array): (JSC::Machine::cti_op_lesseq): (JSC::Machine::cti_op_loop_if_true): (JSC::Machine::cti_op_negate): (JSC::Machine::cti_op_resolve_base): (JSC::Machine::cti_op_resolve_skip): (JSC::Machine::cti_op_resolve_global): (JSC::Machine::cti_op_div): (JSC::Machine::cti_op_pre_dec): (JSC::Machine::cti_op_jless): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_jtrue): (JSC::Machine::cti_op_post_inc): (JSC::Machine::cti_op_eq): (JSC::Machine::cti_op_lshift): (JSC::Machine::cti_op_bitand): (JSC::Machine::cti_op_rshift): (JSC::Machine::cti_op_bitnot): (JSC::Machine::cti_op_resolve_with_base): (JSC::Machine::cti_op_new_func_exp): (JSC::Machine::cti_op_mod): (JSC::Machine::cti_op_less): (JSC::Machine::cti_op_neq): (JSC::Machine::cti_op_post_dec): (JSC::Machine::cti_op_urshift): (JSC::Machine::cti_op_bitxor): (JSC::Machine::cti_op_new_regexp): (JSC::Machine::cti_op_bitor): (JSC::Machine::cti_op_call_eval): (JSC::Machine::cti_op_throw): (JSC::Machine::cti_op_get_pnames): (JSC::Machine::cti_op_next_pname): (JSC::Machine::cti_op_push_scope): (JSC::Machine::cti_op_pop_scope): (JSC::Machine::cti_op_typeof): (JSC::Machine::cti_op_to_jsnumber): (JSC::Machine::cti_op_in): (JSC::Machine::cti_op_push_new_scope): (JSC::Machine::cti_op_jmp_scopes): (JSC::Machine::cti_op_put_by_index): (JSC::Machine::cti_op_switch_imm): (JSC::Machine::cti_op_switch_char): (JSC::Machine::cti_op_switch_string): (JSC::Machine::cti_op_del_by_val): (JSC::Machine::cti_op_put_getter): (JSC::Machine::cti_op_put_setter): (JSC::Machine::cti_op_new_error): (JSC::Machine::cti_op_debug): (JSC::Machine::cti_vm_throw):
  • VM/Machine.h:
  • VM/Register.h:
  • VM/RegisterFile.h:
  • kjs/Arguments.h:
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::functionName): (JSC::DebuggerCallFrame::type): (JSC::DebuggerCallFrame::thisObject): (JSC::DebuggerCallFrame::evaluate):
  • kjs/DebuggerCallFrame.h:
  • kjs/ExecState.cpp: (JSC::CallFrame::thisValue):
  • kjs/ExecState.h:
  • kjs/FunctionConstructor.cpp: (JSC::constructFunction):
  • kjs/JSActivation.cpp: (JSC::JSActivation::JSActivation): (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h:
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::init):
  • kjs/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval):
  • kjs/JSVariableObject.h:
  • kjs/Parser.cpp: (JSC::Parser::parse):
  • kjs/RegExpConstructor.cpp: (JSC::constructRegExp):
  • kjs/RegExpPrototype.cpp: (JSC::regExpProtoFuncCompile):
  • kjs/Shell.cpp: (prettyPrintScript):
  • kjs/StringPrototype.cpp: (JSC::stringProtoFuncMatch): (JSC::stringProtoFuncSearch):
  • kjs/identifier.cpp: (JSC::Identifier::checkSameIdentifierTable):
  • kjs/interpreter.cpp: (JSC::Interpreter::checkSyntax): (JSC::Interpreter::evaluate):
  • kjs/nodes.cpp: (JSC::ThrowableExpressionData::emitThrowError): (JSC::RegExpNode::emitCode): (JSC::ArrayNode::emitCode): (JSC::InstanceOfNode::emitCode):
  • kjs/nodes.h:
  • kjs/regexp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::create):
  • kjs/regexp.h:
  • profiler/HeavyProfile.h:
  • profiler/Profile.h:
  • wrec/WREC.cpp:
  • wrec/WREC.h:

WebKit/mac:

2008-10-08 Darin Adler <Darin Adler>

Reviewed by Cameron Zwarich.

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

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

Reviewed by Timothy Hatcher.

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

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

Reviewed by Simon.

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

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

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

Reviewed by Simon.

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

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

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

Reviewed by Simon.

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

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

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

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

Reviewed by Oliver Hunt.

Avoid endless loops when compiling without the computed goto
optimization.

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

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

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

Reviewed by Simon.

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

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

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

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

Reviewed by Simon.

Fixed a qdoc warning and adjusted some spacing

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

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

Reviewed by Oliver Hunt.


  • update for new -0 handling in shouldBe


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

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

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

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

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

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

Reviewed by Oliver Hunt.

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


  • optimize away multiplication by constant 1.0


2.3% speedup on v8 RayTrace benchmark

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

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

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

Reviewed by Oliver Hunt.


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


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

Update tests and results appropriately.

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

JavaScriptCore:

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

Reviewed by Oliver Hunt.


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

LayoutTests:

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

Reviewed by Oliver Hunt.

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


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


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

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

Reviewed by Simon.

Fixes: Encoding of Qt URLs

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

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

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

Reviewed by Simon.

Fixes dependencies in qmake generated visual studio projects.

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

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

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

Reviewed by Simon.

Fix WebKit compilation with VC2008SP1

Apply the TR1 workaround for JavaScriptCore, too.

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

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

Reviewed by Simon.

Compile for platforms without context menus.

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

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

Reviewed by Simon.

Fix compilation errors on VS2008 64Bit

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

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

Reviewed by Simon.

Fix compilation with Qt namespaces.

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

Oct 7, 2008:

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

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

Roll out r37405.

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

New tag.

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

Switch CTI runtime calls to the fastcall calling convention

Reviewed by Cameron Zwarich

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

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

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

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

Reviewed by Mark Rowe.


  • optimize away multiplication by constant 1.0


2.3% speedup on v8 RayTrace benchmark

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


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

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

Reviewed by Mark Rowe.


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

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

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

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

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

Reviewed by Oliver Hunt.


  • make constant folding code more consistent


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

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

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

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

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

Reviewed by Cameron Zwarich.

Move hasGetterSetterProperties flag from PropertyMap to StructureID.

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

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

Reviewed by Antti Koivisto.

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


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

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

Fix the build due to a bad patch apply.

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

Fix the build due to a bad patch apply.

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

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

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

Reviewed by Sam Weinig.

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

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

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

Reviewed by Darin Adler.

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

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

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

The new pseudo-elements are:

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


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

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


Reviewed by Adele

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

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

Reviewed by Dave Kilzer.

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

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

Reviewed by Mitz Pettel.

Update WebKitSystemInterface.


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

Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.

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

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

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

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

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

Reviewed by Maciej

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

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

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

Reviewed by Darin Adler.

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

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

Reviewed by Cameron Zwarich.

Roll r37370 back in with bug fixes.

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

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

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

Reviewed by Tim Hatcher

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

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

Reviewed by Oliver Hunt.

Move callframe initialization into JIT code, again.


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

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

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

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

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

Reviewed by Adam Roben

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

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

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

Reviewed by Adam Roben

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

Fix typo in method name.

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

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

Reviewed by Mark Rowe.

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

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

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

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

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

Rubber-stamped by Mark Rowe.

Roll out r37370.

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

Merge r35415.

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

Merge r35362.

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

2008-10-07 Darin Adler <Darin Adler>

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

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

Reviewed by Simon.

Don't attempt to paint when updating control tints

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

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

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

QtWebKit build fix after changes to FrameLoaderClient.h in r37371

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

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

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

Reviewed by Sam Weinig

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

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

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

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

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

Reviewed by Sam Weinig

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

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

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

Reviewed by Sam Weinig

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

Oct 6, 2008:

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

WebCore:

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

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

Reviewed by Sam Weinig

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

WebKit/gtk:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

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

WebKit/mac:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

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

WebKit/qt:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

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

WebKit/win:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

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

WebKit/wx:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

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

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

Reviewed by Cameron Zwarich.

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

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

1% win on SunSpider. Wash on V8 suite.

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

Merge r33567.

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

Merge r36108.

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

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

Reviewed by Oliver Hunt.

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

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

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

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

Merge _webkit_localCacheDirectoryWithBundleIdentifier:.

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

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

Reviewed by Alexey Proskuryakov.

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

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

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

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

Reviewed by Tim Hatcher.

Allow ENABLE_DASHBOARD_SUPPORT and ENABLE_MAC_JAVA_BRIDGE to be
disabled on the Mac.

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

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

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

Reviewed by Tim Hatcher.

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

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

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

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

Reviewed by Sam Weinig.

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

Merge r36811.

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

Merge r37008.

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

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

Reviewed by Tim Hatcher.

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

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

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

Reviewed by Dan Bernstein.

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

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

Merge r36810.

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

Merge r33972.

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

Windows build fix.

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

JavaScriptCore:

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


Reviewed by Darin Adler.

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

WebCore:

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


Reviewed by Darin Adler.

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

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

Reviewed by Tim Hatcher.

Removed accidentally left in debugging statement.

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

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

Reviewed by Tim Hatcher and Oliver Hunt.

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

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

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

Reviewed by Tim Hatcheri and Oliver Hunt.

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

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

JavaScriptCore:

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

Reviewed by Tim Hatcher.

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

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

WebCore:

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

Reviewed by Tim Hatcher.

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

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

Rubber-stamped by Anders Carlsson.

Rename _webkit_applicationCacheDirectoryWithBundleIdentifier to _webkit_localCacheDirectoryWithBundleIdentifier.


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

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

Reviewed by Sam Weinig.

Make WebNetscapePluginStream a WebCore::NetscapePlugInStreamLoaderClient.


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

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

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

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

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

Reviewed by Sam Weinig.

More conversion and cleanup.


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

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

Reviewed by Sam Weinig.

Fold initWithRequestURL into initWithRequest.


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

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

Reviewed by Sam Weinig.

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


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


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

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

Reviewed by David Hyatt.

Convert more methods over to C++.


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

Reviewed by Sam Weinig.

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

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

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

Reviewed by Tim Hatcher

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

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

Reviewed by David Hyatt.

Convert more methods over to C++.


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

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


Reviewed by Adele Peterson.

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

JavaScriptCore:

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

Not reviewed. Build fix.


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

JavaScriptGlue:

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

Not reviewed. Build fix.

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

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

Not reviewed.


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

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

Reviewed by Simon.

Add native virtual keycode to PlatformKeyboardEvent

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

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

Reviewed by Simon.

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

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

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

Reviewed by Sam Weinig.



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


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


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

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

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

Reviewed by Simon.

Use bundles on QtWebKit/Mac for platform modules

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

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

Reviewed by Simon.

Build fix for MinGW.

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

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

Reviewed by Simon.

Build fix for MinGW.

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

Mimic the inspector/ directory structure in WebCore.vcproj

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

Windows build fix

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

Reviewed by Darin Adler.

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

Tested by many many existing SVG tests.

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

Oct 5, 2008:

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

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

Reviewed by Eric Seidel.

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

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

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

Reviewed by Oliver Hunt.

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

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

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

Reviewed by Cameron Zwarich.


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

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

Reviewed by Oliver Hunt.

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

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

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

JavaScriptCore:

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

LayoutTests:

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

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

Reviewed by Oliver Hunt.



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

Instead of doing it that way, stash the dynamic global object in JSGlobalData.


  • JavaScriptCore.exp:
  • VM/Machine.cpp: (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Helper class to temporarily store and later restore a dynamicGlobalObject in JSGlobalData. (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope): (JSC::Machine::execute): In each version, establish a DynamicGlobalObjectScope. For ProgramNode, always establish set new dynamicGlobalObject, for FunctionBody and Eval, only if none is currently set.
  • VM/Machine.h:
  • kjs/ExecState.h:
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): Ininitalize new dynamicGlobalObject field to 0.
  • kjs/JSGlobalData.h:
  • kjs/JSGlobalObject.h: (JSC::ExecState::dynamicGlobalObject): Moved here from ExecState for benefit of inlining. Return lexical global object if this is a globalExec(), otherwise look in JSGlobalData for the one stashed there.
6:43 PM Changeset in webkit [37322] by jmalonzo@webkit.org
  • 3 edits in trunk/WebCore

2008-10-05 Chris Lord <chris@openedhand.com>

Reviewed by Alp Toker. Landed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=20624
WebKit-gtk uses deprecated GtkType/GtkObject

  • plugins/gtk/gtk2xtbin.c: (gtk_xtbin_get_type):
  • plugins/gtk/gtk2xtbin.h:
5:58 PM Changeset in webkit [37321] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

Avoid an extra lookup when transitioning to an existing StructureID
by caching the offset of property that caused the transition.

1% win on V8 suite. Wash on SunSpider.

  • kjs/PropertyMap.cpp: (JSC::PropertyMap::put):
  • kjs/PropertyMap.h:
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::addPropertyTransition):
  • kjs/StructureID.h: (JSC::StructureID::setCachedTransistionOffset): (JSC::StructureID::cachedTransistionOffset):
3:47 PM Changeset in webkit [37320] by cwzwarich@webkit.org
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

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

This patch does not yet remove the branch, but it does a bit of refactoring
so that a CodeGenerator now knows whether the associated CodeBlock will need
a full scope before doing any code generation. This makes it possible to emit
explicit tear-off instructions before every op_ret.

  • VM/CodeBlock.h: (JSC::CodeBlock::CodeBlock):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::generate): (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::emitPushScope): (JSC::CodeGenerator::emitPushNewScope):
  • kjs/nodes.h: (JSC::ScopeNode::needsActivation):
2:57 PM Changeset in webkit [37319] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>

Reviewed by David Hyatt.

GTK_WINDOW_HWND not GTK_WINDOWING_HWND
https://bugs.webkit.org/show_bug.cgi?id=20725

Updated to ToT by Jan Alonzo.

  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::getValue):
2:50 PM Changeset in webkit [37318] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Darin Adler.

Invalid cast from GdkWindow to GtkWidget
https://bugs.webkit.org/show_bug.cgi?id=21391

Fix a misplaced closing parenthesis to actually cast the widget, not the window

  • platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenDepth):
12:12 PM Changeset in webkit [37317] by abarth@webkit.org
  • 11 edits
    30 adds in trunk

WebCore:

2008-10-04 Adam Barth <abarth@webkit.org>

Reviewed by Darin Alder.

Attach the Origin header to POST requests to help defend against
cross-site request forgery.

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

Collin Jackson <collinj@webkit.org> also contributed to this patch.

Tests: http/tests/security/originHeader/origin-header-for-data.html

http/tests/security/originHeader/origin-header-for-empty.html
http/tests/security/originHeader/origin-header-for-get.html
http/tests/security/originHeader/origin-header-for-https.html
http/tests/security/originHeader/origin-header-for-post.html

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::createWindow):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::createWindow): (WebCore::FrameLoader::urlSelected): (WebCore::FrameLoader::submitForm): (WebCore::FrameLoader::outgoingOrigin): (WebCore::FrameLoader::loadURL): (WebCore::FrameLoader::addExtraFieldsToRequest): (WebCore::FrameLoader::loadPostRequest): (WebCore::FrameLoader::loadResourceSynchronously): (WebCore::FrameLoader::loadItem):
  • loader/FrameLoader.h:
  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create):
  • loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests):
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::toHTTPOrigin):
  • platform/SecurityOrigin.h:
  • platform/network/ResourceRequestBase.h: (WebCore::ResourceRequestBase::httpOrigin): (WebCore::ResourceRequestBase::setHTTPOrigin): (WebCore::ResourceRequestBase::clearHTTPOrigin):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): (WebCore::XMLHttpRequest::didReceiveResponsePreflight):

LayoutTests:

2008-10-04 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Tests for the new Origin header.

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

Collin Jackson <collinj@webkit.org> also contributed to this patch.

  • http/tests/security/originHeader: Added.
  • http/tests/security/originHeader/origin-header-for-data-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-data.html: Added.
  • http/tests/security/originHeader/origin-header-for-empty-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-empty.html: Added.
  • http/tests/security/originHeader/origin-header-for-get-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-get.html: Added.
  • http/tests/security/originHeader/origin-header-for-https-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-https.html: Added.
  • http/tests/security/originHeader/origin-header-for-post-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-post.html: Added.
  • http/tests/security/originHeader/origin-header-for-xmlhttprequest-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-xmlhttprequest.html: Added.
  • http/tests/security/originHeader/resources: Added.
  • http/tests/security/originHeader/resources/origin-header-post-to-http.html: Added.
  • http/tests/security/originHeader/resources/print-origin.cgi: Added.
10:38 AM Changeset in webkit [37316] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.

Fix for bug #21387 - using SamplingTool with CTI.

(1) A repatch offset offset changes due to an additional instruction to update SamplingTool state.
(2) Fix an incusion order problem due to ExecState changes.
(3) Change to a MACHINE_SAMPLING macro, use of exec should now be accessing global data.

  • VM/CTI.h: (JSC::CTI::execute):
  • VM/SamplingTool.h: (JSC::SamplingTool::privateExecuteReturned):
  • kjs/Shell.cpp:
1:28 AM Changeset in webkit [37315] by oliver@apple.com
  • 3 edits
    2 adds in trunk

Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
<https://bugs.webkit.org/show_bug.cgi?id=21381>

Reviewed by Tim Hatcher.

If we hit a parsing boundary (end of a packet, etc) in the middle of a
<script> element when we are doing an incremental parse, we exit the
parser, and reenter later when more data is available. During this
reentry we incorrectly reset the scriptStartLineno to the current line
in the parser, which is now part way through the script element.

The solution is to track whether we are entering or reentering the parsing
of a script element. We do this simply by 0 checking scriptStartLineno,
and resetting it after we complete parsing of each script element.

Test: http/tests/incremental/pause-in-script-element.pl

Note: See TracTimeline for information about the timeline view.