Timeline


and

09/20/08:

23:50 Changeset [36732] by darin@apple.com

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

  • another try at fixing Qt
  • bridge/qt/qt_runtime.cpp: "using namespce WebCore"
23:34 Changeset [36731] by darin@apple.com

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

  • blind attempt to fix Qt build
  • bridge/qt/qt_runtime.cpp: (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead of regExpPrototype to make a RegExpObject. There should really be some sort of public helper function for this. Same thing for DateInstance and dateStructure. For JSObject, use constructEmptyObject. (JSC::Bindings::): (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure. It is not correct to do this inside the constructor because it could cause a garbage collect while the QtRuntimeMethod object is half- allocated, which could lead to a crash; note that RuntimeMethod, QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
  • bridge/qt/qt_runtime.h: Add s_info and createPrototype.
23:26 Changeset [36730] by collinj@webkit.org

2008-09-20 Collin Jackson <collinj@webkit.org>

Prefetch DNS for hyperlinks that the user mouses over.

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

Reviewed by Sam Weinig.

  • page/Chrome.cpp: (WebCore::Chrome::mouseDidMoveOverElement):
23:21 Changeset [36729] by darin@apple.com

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

Reviewed by Mark Rowe.

  • fix crash seen on buildbot
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::mark): Add back mark of arrayPrototype, deleted by accident in my recent check-in.
23:16 Changeset [36728] by mjs@apple.com

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

Not reviewed, build fix.


  • speculative fix for non-AllInOne builds
  • kjs/operations.h:
22:54 Changeset [36727] by mjs@apple.com

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

Reviewed by Darin.



2.5% speedup on earley-boyer test

  • VM/Machine.cpp: (JSC::Machine::cti_op_stricteq): Use inline version of strictEqualSlowCase; remove unneeded exception check. (JSC::Machine::cti_op_nstricteq): ditto
  • kjs/operations.cpp: (JSC::strictEqual): Use strictEqualSlowCaseInline (JSC::strictEqualSlowCase): ditto
  • kjs/operations.h: (JSC::strictEqualSlowCaseInline): Version of strictEqualSlowCase that can be inlined, since the extra function call indirection is a lose for CTI.
21:53 FAQ edited by hahn.seb@web.de
(diff)
19:29 Changeset [36726] by darin@apple.com

JavaScriptCore:

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

Reviewed by Maciej Stachowiak.

This also includes some optimizations that make the change an overall
small speedup. Without those it was a bit of a slowdown.

  • API/JSCallbackConstructor.cpp: (JSC::JSCallbackConstructor::JSCallbackConstructor): Take a structure.
  • API/JSCallbackConstructor.h: Ditto.
  • API/JSCallbackFunction.cpp: (JSC::JSCallbackFunction::JSCallbackFunction): Pass a structure.
  • API/JSCallbackObject.h: Take a structure.
  • API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject::JSCallbackObject): Ditto.
  • API/JSClassRef.cpp: (OpaqueJSClass::prototype): Pass in a structure. Call setPrototype if there's a custom prototype involved.
  • API/JSObjectRef.cpp: (JSObjectMake): Ditto. (JSObjectMakeConstructor): Pass in a structure.
  • VM/Machine.cpp: (JSC::jsLess): Added a special case for when both arguments are strings. This avoids converting both strings to with UString::toDouble. (JSC::jsLessEq): Ditto. (JSC::Machine::privateExecute): Pass in a structure. (JSC::Machine::cti_op_construct_JSConstruct): Ditto. (JSC::Machine::cti_op_new_regexp): Ditto. (JSC::Machine::cti_op_is_string): Ditto.
  • VM/Machine.h: Made isJSString public so it can be used in the CTI.
  • kjs/Arguments.cpp: (JSC::Arguments::Arguments): Pass in a structure.
  • kjs/JSCell.h: Mark constructor explicit.
  • kjs/JSGlobalObject.cpp: (JSC::markIfNeeded): Added an overload for marking structures. (JSC::JSGlobalObject::reset): Eliminate code to set data members to zero. We now do that in the constructor, and we no longer use this anywhere except in the constructor. Added code to create structures. Pass structures rather than prototypes when creating objects. (JSC::JSGlobalObject::mark): Mark the structures.
  • kjs/JSGlobalObject.h: Removed unneeded class declarations. Added initializers for raw pointers in JSGlobalObjectData so everything starts with a 0. Added structure data and accessor functions.
  • kjs/JSImmediate.cpp: (JSC::JSImmediate::nonInlineNaN): Added.
  • kjs/JSImmediate.h: (JSC::JSImmediate::toDouble): Rewrote to avoid PIC branches.
  • kjs/JSNumberCell.cpp: (JSC::jsNumberCell): Made non-inline to avoid PIC branches in functions that call this one. (JSC::jsNaN): Ditto.
  • kjs/JSNumberCell.h: Ditto.
  • kjs/JSObject.h: Removed constructor that takes a prototype. All callers now pass structures.
  • kjs/ArrayConstructor.cpp: (JSC::ArrayConstructor::ArrayConstructor): (JSC::constructArrayWithSizeQuirk):
  • kjs/ArrayConstructor.h:
  • kjs/ArrayPrototype.cpp: (JSC::ArrayPrototype::ArrayPrototype):
  • kjs/ArrayPrototype.h:
  • kjs/BooleanConstructor.cpp: (JSC::BooleanConstructor::BooleanConstructor): (JSC::constructBoolean): (JSC::constructBooleanFromImmediateBoolean):
  • kjs/BooleanConstructor.h:
  • kjs/BooleanObject.cpp: (JSC::BooleanObject::BooleanObject):
  • kjs/BooleanObject.h:
  • kjs/BooleanPrototype.cpp: (JSC::BooleanPrototype::BooleanPrototype):
  • kjs/BooleanPrototype.h:
  • kjs/DateConstructor.cpp: (JSC::DateConstructor::DateConstructor): (JSC::constructDate):
  • kjs/DateConstructor.h:
  • kjs/DateInstance.cpp: (JSC::DateInstance::DateInstance):
  • kjs/DateInstance.h:
  • kjs/DatePrototype.cpp: (JSC::DatePrototype::DatePrototype):
  • kjs/DatePrototype.h:
  • kjs/ErrorConstructor.cpp: (JSC::ErrorConstructor::ErrorConstructor): (JSC::constructError):
  • kjs/ErrorConstructor.h:
  • kjs/ErrorInstance.cpp: (JSC::ErrorInstance::ErrorInstance):
  • kjs/ErrorInstance.h:
  • kjs/ErrorPrototype.cpp: (JSC::ErrorPrototype::ErrorPrototype):
  • kjs/ErrorPrototype.h:
  • kjs/FunctionConstructor.cpp: (JSC::FunctionConstructor::FunctionConstructor):
  • kjs/FunctionConstructor.h:
  • kjs/FunctionPrototype.cpp: (JSC::FunctionPrototype::FunctionPrototype): (JSC::FunctionPrototype::addFunctionProperties):
  • kjs/FunctionPrototype.h:
  • kjs/GlobalEvalFunction.cpp: (JSC::GlobalEvalFunction::GlobalEvalFunction):
  • kjs/GlobalEvalFunction.h:
  • kjs/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction):
  • kjs/InternalFunction.h: (JSC::InternalFunction::InternalFunction):
  • kjs/JSArray.cpp: (JSC::JSArray::JSArray): (JSC::constructEmptyArray): (JSC::constructArray):
  • kjs/JSArray.h:
  • kjs/JSFunction.cpp: (JSC::JSFunction::JSFunction): (JSC::JSFunction::construct):
  • kjs/JSObject.cpp: (JSC::constructEmptyObject):
  • kjs/JSString.cpp: (JSC::StringObject::create):
  • kjs/JSWrapperObject.h:
  • kjs/MathObject.cpp: (JSC::MathObject::MathObject):
  • kjs/MathObject.h:
  • kjs/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor::NativeErrorConstructor): (JSC::NativeErrorConstructor::construct):
  • kjs/NativeErrorConstructor.h:
  • kjs/NativeErrorPrototype.cpp: (JSC::NativeErrorPrototype::NativeErrorPrototype):
  • kjs/NativeErrorPrototype.h:
  • kjs/NumberConstructor.cpp: (JSC::NumberConstructor::NumberConstructor): (JSC::constructWithNumberConstructor):
  • kjs/NumberConstructor.h:
  • kjs/NumberObject.cpp: (JSC::NumberObject::NumberObject): (JSC::constructNumber): (JSC::constructNumberFromImmediateNumber):
  • kjs/NumberObject.h:
  • kjs/NumberPrototype.cpp: (JSC::NumberPrototype::NumberPrototype):
  • kjs/NumberPrototype.h:
  • kjs/ObjectConstructor.cpp: (JSC::ObjectConstructor::ObjectConstructor): (JSC::constructObject):
  • kjs/ObjectConstructor.h:
  • kjs/ObjectPrototype.cpp: (JSC::ObjectPrototype::ObjectPrototype):
  • kjs/ObjectPrototype.h:
  • kjs/PrototypeFunction.cpp: (JSC::PrototypeFunction::PrototypeFunction):
  • kjs/PrototypeFunction.h:
  • kjs/RegExpConstructor.cpp: (JSC::RegExpConstructor::RegExpConstructor): (JSC::RegExpMatchesArray::RegExpMatchesArray): (JSC::constructRegExp):
  • kjs/RegExpConstructor.h:
  • kjs/RegExpObject.cpp: (JSC::RegExpObject::RegExpObject):
  • kjs/RegExpObject.h:
  • kjs/RegExpPrototype.cpp: (JSC::RegExpPrototype::RegExpPrototype):
  • kjs/RegExpPrototype.h:
  • kjs/Shell.cpp: (GlobalObject::GlobalObject):
  • kjs/StringConstructor.cpp: (JSC::StringConstructor::StringConstructor): (JSC::constructWithStringConstructor):
  • kjs/StringConstructor.h:
  • kjs/StringObject.cpp: (JSC::StringObject::StringObject):
  • kjs/StringObject.h:
  • kjs/StringObjectThatMasqueradesAsUndefined.h: (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined):
  • kjs/StringPrototype.cpp: (JSC::StringPrototype::StringPrototype):
  • kjs/StringPrototype.h: Take and pass structures.

WebCore:

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

Reviewed by Maciej Stachowiak.

  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure ID. Note that this makes a new structure every time -- we could optimize this slightly be caching and reusing a single one.
  • bridge/runtime_method.cpp: (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using getDOMStructure.
  • bridge/runtime_method.h: (JSC::RuntimeMethod::createPrototype): Added createPrototype so getDOMStructure will work.
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to 0; needed in case garbage collection happens while creating the JSDOMWindow.
18:29 Changeset [36725] by mrowe@apple.com

Roll out r36719 and attempted build fixes r36121 and r36722 due to massive build breakage.

17:52 Changeset [36724] by mitz@apple.com

Added Radar link

17:49 Changeset [36723] by mitz@apple.com

Reviewed by Eric Seidel.

  • svg/SVGTextContentElement.cpp: (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to not include the first character in the extraCharsAvailable count.
17:42 Changeset [36722] by mitz@apple.com
  • Mac build fix
  • WebCore.xcodeproj/project.pbxproj: Made DashArray.h a private header.
17:36 Changeset [36721] by mitz@apple.com

Added a file that was missing from r36719

16:56 Changeset [36720] by kevino@webkit.org

Add missing bug reference to ChangeLog.

16:46 Changeset [36719] by eric@webkit.org

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

Reviewed by eseidel. Landed by eseidel.

Moved DashArray to the GraphicsContext.

  • GNUmakefile.am:
  • platform/graphics/DashArray.h: Added.
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::setLineDash):
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setLineDash):
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::setLineDash):
  • svg/graphics/SVGPaintServer.cpp: (WebCore::applyStrokeStyleToContext):
  • svg/graphics/SVGPaintServer.h:
  • svg/graphics/cg/CgSupport.cpp:
  • svg/graphics/cg/CgSupport.h:
16:39 Changeset [36718] by kevino@webkit.org

Reviewed by Dan Bernstein.

Fix two memory leaks.

15:31 Changeset [36717] by kevino@webkit.org

wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.

15:21 Changeset [36716] by timothy@apple.com

Fix the new Node Search button image to not be blurry.

  • page/inspector/Images/nodeSearchButtons.png:
14:53 Changeset [36715] by pewtermoose@webkit.org

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

Reviewed by Tim Hatcher.

Cut down some of the inspector javascript -> InspectorController glue code
with two new macros. Also rearrange the exposed function list to be grouped
by implementation and to all explicitly use the WebCore namespace.

  • page/InspectorController.cpp: (WebCore::InspectorController::windowScriptObjectAvailable):
14:53 Changeset [36714] by pewtermoose@webkit.org

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

Reviewed by Tim Hatcher.

Revert r35688. We use a textured window on Leopard, which does not have the
square corners of the standard Aqua window on Tiger.

  • WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController window]): Add back the call to WKNSWindowMakeBottomCornersSquare.
14:30 Changeset [36713] by pewtermoose@webkit.org

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

Reviewed by Tim Hatcher.

Fix regression from my previous patch where the breadcrumbs bar was not displayed.

  • page/inspector/inspector.css:
13:19 Changeset [36712] by zimmermann@webkit.org

Reviewed by Eric.

Refactor HTMLImageLoader/SVGImageLoader code.
Move html/HTMLImageLoader.* to loader/ImageLoader.*

Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
SVGImageLoader used to inherit from HTMLImageLoader which is awkward.

07:36 Changeset [36711] by darin@apple.com

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

  • fix build
  • WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::paintCustomScrollbar): Tweaked constant names to make this compile, but it may not be working correctly. Hyatt should do the real fix.
07:29 Changeset [36710] by darin@apple.com

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

  • DumpRenderTree/mac/DumpRenderTree.mm: (convertMIMEType): Turn on Stephanie's workaround for Tiger too.
07:24 Changeset [36709] by zecke@webkit.org

[qtwebkit] ScrollBar build fix after r36684.

BackButtonPart was split into Start and End Part
ForwardButtonPart was split into Start and End Part

07:24 Changeset [36708] by zecke@webkit.org

[qtwebkit] Make qt_instance.cpp compile.

Revision of 36675 introduced getDOMStructure to give unique
structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp

07:24 Changeset [36707] by zecke@webkit.org

[svg] Change SVGLocatable to deal with a plain SVGElement

There is no requirement in the code that we have to have a
SVGStyledElement. Remove that artificial limitation and compile
with SVGElement.

07:23 Changeset [36706] by zecke@webkit.org

[svg] Use OwnPtr for the SVGExtensions

Use OwnPtr to avoid custom lifetime management.

09/19/08:

23:34 Changeset [36705] by alp@webkit.org

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

Build fix for the 'gold' linker and recent binutils. New behaviour
requires that we link to used libraries explicitly.

22:17 Changeset [36704] by slewis@apple.com

2008-09-19 Stephanie Lewis <slewis@apple.com>

Reviewed by Oliver Hunt.

Implement a workaround for an incorrect mime-type on machines with
Dashcode 2.0.1. Dashcode is overriding the UTI type for .js files.
See radar <rdar://problem/6234318>.

  • DumpRenderTree/mac/DumpRenderTree.mm: (convertMIMEType):

Use correct mime-type for javascript

  • svg/webarchive/svg-script-subresouces-expected.webarchive:
  • webarchive/test-duplicate-resources-expected.webarchive:
  • webarchive/test-script-src-expected.webarchive:
22:09 Changeset [36703] by hyatt@apple.com

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

Fix for crash in updateTransitions. Make sure to test for a style
being null when comparing two RenderStyles.

Reviewed by Oliver Hunt

  • page/animation/AnimationBase.cpp: (WebCore::PropertyWrapperGetter::equals):
21:50 Changeset [36702] by hyatt@apple.com

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

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

Roll out r36628 since it has caused horrible regressions with
animated GIF CPU usage.

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::cacheFrame): (WebCore::BitmapImage::startAnimation):
  • platform/graphics/BitmapImage.h: (WebCore::FrameData::FrameData):
  • platform/graphics/cairo/ImageCairo.cpp: (WebCore::FrameData::clear):
  • platform/graphics/cg/ImageCG.cpp: (WebCore::FrameData::clear):
  • platform/graphics/qt/ImageQt.cpp: (WebCore::FrameData::clear):
  • platform/graphics/wx/ImageWx.cpp: (WebCore::FrameData::clear):
21:35 Changeset [36701] by weinig@apple.com

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

Roll r36694 back in. It did not cause the crash.

  • JavaScriptCore.exp:
  • VM/JSPropertyNameIterator.cpp: (JSC::JSPropertyNameIterator::~JSPropertyNameIterator): (JSC::JSPropertyNameIterator::invalidate):
  • VM/JSPropertyNameIterator.h: (JSC::JSPropertyNameIterator::JSPropertyNameIterator): (JSC::JSPropertyNameIterator::create):
  • kjs/JSObject.cpp: (JSC::JSObject::getPropertyNames):
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::getEnumerablePropertyNames):
  • kjs/PropertyMap.h:
  • kjs/PropertyNameArray.cpp: (JSC::PropertyNameArray::add):
  • kjs/PropertyNameArray.h: (JSC::PropertyNameArrayData::create): (JSC::PropertyNameArrayData::propertyNameVector): (JSC::PropertyNameArrayData::setCachedPrototypeChain): (JSC::PropertyNameArrayData::cachedPrototypeChain): (JSC::PropertyNameArrayData::begin): (JSC::PropertyNameArrayData::end): (JSC::PropertyNameArrayData::PropertyNameArrayData): (JSC::PropertyNameArray::PropertyNameArray): (JSC::PropertyNameArray::addKnownUnique): (JSC::PropertyNameArray::size): (JSC::PropertyNameArray::operator[]): (JSC::PropertyNameArray::begin): (JSC::PropertyNameArray::end): (JSC::PropertyNameArray::setData): (JSC::PropertyNameArray::data): (JSC::PropertyNameArray::releaseData):
  • kjs/StructureID.cpp: (JSC::structureIDChainsAreEqual): (JSC::StructureID::getEnumerablePropertyNames): (JSC::StructureID::clearEnumerationCache): (JSC::StructureID::createCachedPrototypeChain):
  • kjs/StructureID.h:
20:43 Changeset [36700] by alp@webkit.org

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

Reviewed by Timothy Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=20913
Avoid redudant includes

Document.h is included excessively such that a modification to Document.h (or
any of the header it includes itself) triggers a rebuild of many files
including the whole of SVG and a lot of the JS bindings.

Some of these includes can be avoided by only including Document.h where
necessary.

  • bindings/js/JSAttrCustom.cpp:
  • bindings/js/JSElementCustom.cpp:
  • bindings/js/JSEventTargetBase.cpp:
  • bindings/js/JSEventTargetBase.h:
  • bindings/js/JSEventTargetNode.cpp:
  • bindings/js/JSHTMLFrameElementCustom.cpp:
  • bindings/js/JSHTMLIFrameElementCustom.cpp:
  • bindings/scripts/CodeGeneratorJS.pm:
  • css/CSSCursorImageValue.cpp:
  • css/SVGCSSStyleSelector.cpp:
  • dom/make_names.pl:
  • svg/SVGAnimateElement.h:
  • svg/SVGAnimatedProperty.h: (WebCore::::baseValue): (WebCore::::setBaseValue): (WebCore::::startAnimation): (WebCore::::stopAnimation):
  • svg/SVGElement.cpp: (WebCore::SVGElement::accessDocumentSVGExtensions):
  • svg/SVGElement.h:
  • svg/SVGElementInstance.cpp:
  • svg/SVGFitToViewBox.cpp:
  • svg/SVGFontElement.cpp:
  • svg/SVGFontFaceElement.cpp:
  • svg/SVGLinearGradientElement.cpp:
  • svg/SVGMPathElement.cpp:
  • svg/SVGViewSpec.cpp:
20:33 Changeset [36699] by zimmermann@webkit.org

Reviewed by Antti & Eric.

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

Finish HTMLScriptElement / SVGScriptElement unification.
SVG <script> support is complete now, full SVGLoad event
respecting the influence of the externalResourcesRequired attribute
as well as SVGError event support. All other features shared with HTML.

Tests: fast/dom/HTMLScriptElement/script-reexecution.html

svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
svg/dom/SVGScriptElement/script-load-and-error-events.svg
svg/dom/SVGScriptElement/script-reexecution.svg
svg/dom/SVGScriptElement/script-set-href.svg

20:23 Changeset [36698] by mitz@apple.com

Reviewed by John Sullivan.

Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html

  • dom/Position.cpp: (WebCore::Position::getInlineBoxAndOffset):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::positionForOffset):
20:21 Changeset [36697] by hyatt@apple.com

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

Add support for hit testing of all five possible scrollbar button placements.

Reviewed by Sam Weinig

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint):
  • platform/mac/ScrollbarThemeMac.mm: (WebCore::): (WebCore::ScrollbarThemeMac::backButtonRect): (WebCore::ScrollbarThemeMac::forwardButtonRect): (WebCore::ScrollbarThemeMac::trackRect): (WebCore::ScrollbarThemeMac::paintButton):
20:19 Changeset [36696] by weinig@apple.com

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

Roll out r36694.

  • JavaScriptCore.exp:
  • VM/JSPropertyNameIterator.cpp: (JSC::JSPropertyNameIterator::~JSPropertyNameIterator): (JSC::JSPropertyNameIterator::invalidate):
  • VM/JSPropertyNameIterator.h: (JSC::JSPropertyNameIterator::JSPropertyNameIterator): (JSC::JSPropertyNameIterator::create):
  • kjs/JSObject.cpp: (JSC::JSObject::getPropertyNames):
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::getEnumerablePropertyNames):
  • kjs/PropertyMap.h:
  • kjs/PropertyNameArray.cpp: (JSC::PropertyNameArray::add):
  • kjs/PropertyNameArray.h: (JSC::PropertyNameArray::PropertyNameArray): (JSC::PropertyNameArray::addKnownUnique): (JSC::PropertyNameArray::begin): (JSC::PropertyNameArray::end): (JSC::PropertyNameArray::size): (JSC::PropertyNameArray::operator[]): (JSC::PropertyNameArray::releaseIdentifiers):
  • kjs/StructureID.cpp: (JSC::StructureID::getEnumerablePropertyNames):
  • kjs/StructureID.h: (JSC::StructureID::clearEnumerationCache):
20:00 Changeset [36695] by oliver@apple.com

Improve peformance of local variable initialisation.

Reviewed by Maciej Stachowiak

Pull local and constant initialisation out of slideRegisterWindowForCall
and into its own opcode. This allows the JIT to generate the initialisation
code for a function directly into the instruction stream and so avoids a few
branches on function entry.

Results a 1% progression in SunSpider, particularly in a number of the bitop
tests where the called functions are very fast.

19:23 Changeset [36694] by weinig@apple.com

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

Reviewed by Darin Adler.

Patch for https://bugs.webkit.org/show_bug.cgi?id=20928
Speed up JS property enumeration by caching entire PropertyNameArray

1.3% speedup on Sunspider, 30% on string-fasta.

  • JavaScriptCore.exp:
  • VM/JSPropertyNameIterator.cpp: (JSC::JSPropertyNameIterator::~JSPropertyNameIterator): (JSC::JSPropertyNameIterator::invalidate):
  • VM/JSPropertyNameIterator.h: (JSC::JSPropertyNameIterator::JSPropertyNameIterator): (JSC::JSPropertyNameIterator::create):
  • kjs/JSObject.cpp: (JSC::JSObject::getPropertyNames):
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::getEnumerablePropertyNames):
  • kjs/PropertyMap.h:
  • kjs/PropertyNameArray.cpp: (JSC::PropertyNameArray::add):
  • kjs/PropertyNameArray.h: (JSC::PropertyNameArrayData::create): (JSC::PropertyNameArrayData::propertyNameVector): (JSC::PropertyNameArrayData::setCachedPrototypeChain): (JSC::PropertyNameArrayData::cachedPrototypeChain): (JSC::PropertyNameArrayData::begin): (JSC::PropertyNameArrayData::end): (JSC::PropertyNameArrayData::PropertyNameArrayData): (JSC::PropertyNameArray::PropertyNameArray): (JSC::PropertyNameArray::addKnownUnique): (JSC::PropertyNameArray::size): (JSC::PropertyNameArray::operator[]): (JSC::PropertyNameArray::begin): (JSC::PropertyNameArray::end): (JSC::PropertyNameArray::setData): (JSC::PropertyNameArray::data): (JSC::PropertyNameArray::releaseData):
  • kjs/ScopeChain.cpp: (JSC::ScopeChainNode::print):
  • kjs/StructureID.cpp: (JSC::structureIDChainsAreEqual): (JSC::StructureID::getEnumerablePropertyNames): (JSC::StructureID::clearEnumerationCache): (JSC::StructureID::createCachedPrototypeChain):
  • kjs/StructureID.h:
18:54 Changeset [36693] by zecke@webkit.org

Fix a mismatched new[]/delete in JSObject::allocatePropertyStorage

18:22 Changeset [36692] by alice.liu@apple.com

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

Fix crash when submitting form at bugreport.apple.com rdar://6234126

Reviewed by Mark Rowe.

  • COMPropertyBag.h: (::GetPropertyInfo): correct mis-use of comma operator
18:08 Changeset [36691] by hyatt@apple.com

Fix build bustage on Win.

18:05 Changeset [36690] by darin@apple.com

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

  • try to fix Qt build
  • bridge/qt/qt_instance.cpp: (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument. (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
  • bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
  • bridge/runtime_object.h: Ditto.
17:57 Changeset [36689] by hyatt@apple.com

Fix build bustage.

17:54 Changeset [36688] by hyatt@apple.com

Fix build bustage.

17:53 Changeset [36687] by dino@apple.com

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

Reviewed by Dave Hyatt.

Transition starts running when it shouldn't
https://bugs.webkit.org/show_bug.cgi?id=20892

When there is a transition and an animation on the
same element, make sure the animation wins.

The fix is to save the unanimated style when an animation is started.
Then, when starting a transition, check to see if there is a current
animation on the same prop. If so, use the unanimated style as the
fromStyle rather than the current style.

Test: animations/transition-and-animation-1.html

  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::updateTransitions): (WebCore::CompositeAnimation::updateKeyframeAnimations): (WebCore::CompositeAnimation::animate): (WebCore::CompositeAnimation::getAnimationForProperty):
  • page/animation/CompositeAnimation.h:
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::reset):
  • page/animation/ImplicitAnimation.h:
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::hasAnimationForProperty):
  • page/animation/KeyframeAnimation.h: (WebCore::KeyframeAnimation::KeyframeAnimation): (WebCore::KeyframeAnimation::unanimatedStyle):
17:42 Changeset [36686] by hyatt@apple.com

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

Add support for painting/hit testing of four possible scrollbar buttons.
The Windows themes simply ignore the two parts that they will never
show. The Mac theme also ignores the other two buttons for now.

The cross-platform base for all three themes, ScrollbarThemeComposite,
has all the proper support though.

Reviewed by Sam Weinig

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::hitTest): (WebCore::ScrollbarThemeComposite::invalidatePart):
  • platform/ScrollbarThemeComposite.h:
  • platform/mac/ScrollbarThemeMac.h:
  • platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::backButtonRect): (WebCore::ScrollbarThemeMac::forwardButtonRect): (WebCore::ScrollbarThemeMac::paintButton):
  • platform/win/ScrollbarThemeSafari.cpp: (WebCore::ScrollbarThemeSafari::backButtonRect): (WebCore::ScrollbarThemeSafari::forwardButtonRect): (WebCore::ScrollbarThemeSafari::paintButton):
  • platform/win/ScrollbarThemeSafari.h:
  • platform/win/ScrollbarThemeWin.cpp: (WebCore::ScrollbarThemeWin::backButtonRect): (WebCore::ScrollbarThemeWin::forwardButtonRect): (WebCore::ScrollbarThemeWin::paintButton):
  • platform/win/ScrollbarThemeWin.h:
17:11 Changeset [36685] by pewtermoose@webkit.org

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

Reviewed by Tim Hatcher.

Bug 17772: Inspector should support point-and-click to select a node to inspect
https://bugs.webkit.org/show_bug.cgi?id=17772
<rdar://problem/5792395>

  • English.lproj/localizedStrings.js:
  • page/Chrome.cpp: (WebCore::Chrome::mouseDidMoveOverElement):
  • page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent):
  • page/InspectorController.cpp: (WebCore::toggleNodeSearch): (WebCore::searchingForNode): (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::toggleSearchForNodeInPage): (WebCore::InspectorController::mouseDidMoveOverElement): (WebCore::InspectorController::handleMousePressOnNode): (WebCore::InspectorController::windowScriptObjectAvailable):
  • page/InspectorController.h: (WebCore::InspectorController::searchingForNodeInPage):
  • page/inspector/ElementsPanel.js:
  • page/inspector/Images/nodeSearchButtons.png: Added.
  • page/inspector/inspector.css:
16:39 Changeset [36684] by hyatt@apple.com

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

Add new scrollbar parts to be able to represent back and forward buttons
at either end of the scrollbar. The current scrollbar still just draws
a single button at either end, but the parts now exist.

Reviewed by Sam Weinig

  • platform/ScrollTypes.h: (WebCore::):
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::autoscrollTimerFired): (WebCore::Scrollbar::pressedPartScrollDirection): (WebCore::Scrollbar::pressedPartScrollGranularity): (WebCore::Scrollbar::handleMouseMoveEvent):
  • platform/ScrollbarTheme.h: (WebCore::ScrollbarTheme::buttonsPlacement): (WebCore::ScrollbarTheme::invalidateParts):
  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint): (WebCore::ScrollbarThemeComposite::hitTest): (WebCore::ScrollbarThemeComposite::invalidatePart):
  • platform/ScrollbarThemeComposite.h:
16:02 Changeset [36683] by bdakin@apple.com

WebCore:

2008-09-19 Beth Dakin <bdakin@apple.com>

Reviewed by Dave Hyatt.

Fix for <rdar://problem/6231308> crash in AutoTableLayout

The code assumes later on that a TableSection's grid's row vector
will never be empty. So make 1 the minimum number of columns.

  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::ensureRows):

LayoutTests:

2008-09-19 Beth Dakin <bdakin@apple.com>

Reviewed by Dave Hyatt.

Test for <rdar://problem/6231308> crash in AutoTableLayout

  • fast/table/empty-row-crash.html: Added.
  • platform/mac/fast/table/empty-row-crash-expected.checksum: Added.
  • platform/mac/fast/table/empty-row-crash-expected.png: Added.
  • platform/mac/fast/table/empty-row-crash-expected.txt: Added.
15:55 Changeset [36682] by hyatt@apple.com

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

Add a new ScrollbarButtonsPlacement type for specifying where
the button arrows are in a scrollbar.

Read in the placement settings for Mac. Nothing is done with the
setting yet.

Add a new buttonsPlacement() method to ScrollbarTheme composite
so that the arrow settings can be obtained.

Reviewed by Sam Weinig

  • platform/ScrollTypes.h: (WebCore::):
  • platform/ScrollbarThemeComposite.h: (WebCore::ScrollbarThemeComposite::buttonsPlacement):
  • platform/mac/ScrollbarThemeMac.mm: (WebCore::updateArrowPlacement): (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
15:47 Changeset [36681] by sfalken@apple.com

Roll out r36626. It is causing variance in SunSpider numbers on XP.


Rubber stamped by Mark Rowe.

  • platform/win/SharedTimerWin.cpp: (WebCore::isRunningOnVistaOrLater): (WebCore::setSharedTimerFireTime):
15:46 Changeset [36680] by cfleizach@apple.com

Fix Windows bustage

15:12 Changeset [36679] by hyatt@apple.com

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

Reviewed by Tim.

https://bugs.webkit.org/show_bug.cgi?id=20942
Bug 20942: Repeated messages in resources don't collapse

  • Now repeated messages in a resource's view are collapsed and a message says how many were repeated.
  • English.lproj/localizedStrings.js:
  • manual-tests/inspector/multiple-console-messages.html:
  • page/inspector/Console.js: Send all the messages to the resource's view before possibly returning early if the message is a repeat.
  • page/inspector/SourceFrame.js: Add the text about the message being repeated, if it is, and increment it when necessary.
14:56 Changeset [36678] by kmccullough@apple.com

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

Reviewed by Tim.

https://bugs.webkit.org/show_bug.cgi?id=20942
Bug 20942: Repeated messages in resources don't collapse

  • Now repeated messages in a resource's view are collapsed and a message says how many were repeated.
  • English.lproj/localizedStrings.js:
  • manual-tests/inspector/multiple-console-messages.html:
  • page/inspector/Console.js: Send all the messages to the resource's view before possibly returning early if the message is a repeat.
  • page/inspector/SourceFrame.js: Add the text about the message being repeated, if it is, and increment it when necessary.
14:39 Changeset [36677] by cfleizach@apple.com

Removed unnecessary #if

14:20 Changeset [36676] by hyatt@apple.com

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

Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
Set the initial button repeat delay to 0.5 for Mac.

Reviewed by Sam Weinig

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mac/ScrollbarThemeMac.cpp: Removed.
  • platform/mac/ScrollbarThemeMac.h: (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
  • platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
14:15 Changeset [36675] by darin@apple.com

JavaScriptCore:

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

Reviewed by Sam Weinig.

  • JavaScriptCore.exp: Exported constructEmptyObject for use in WebCore.
  • kjs/JSGlobalObject.h: Changed the protected constructor to take a structure instead of a prototype.
  • kjs/JSVariableObject.h: Removed constructor that takes a prototype.

WebCore:

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

Reviewed by Sam Weinig.

+ Fixed all cases where we were using a shared structure for multiple

C++ classes in WebCore. This still has to be done in JavaScriptCore.

+ Got rid of cacheGlobalObject.

+ Improved use of PassRefPtr in bindings code.

+ Removed a couple cases where we were potentially allocating prototypes

inside a JSObject's construction process -- this can lead to trouble if
we do a garbage collection while an object is only partly constructed.

  • bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly so we don't implicitly share the structure with other objects that use the object prototype.
  • bindings/js/JSDOMBinding.cpp: (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we don't need cacheGlobalObject any more. (WebCore::cacheDOMConstructor): Ditto.
  • bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype. Added functions and a function template for getting cached DOM constructors. Removed cacheGlobalObject function template.
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since we're taking ownership.
  • bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since we're taking ownership. Added constructor map.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since we're taking ownership. Use the new setWindow function to create the JSDOMWindow; this is now done in only that one place. (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on the passed-in DOMWindow. Code was moved here and changed to allocate unique structures for both the window prototype and the window.
  • bindings/js/JSDOMWindowShell.h: Ditto.
  • bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't have the same name (JSEventTarget) as an actual class. Removed unhelpful use of private/friend in JSEventTargetBase. Removed comments referring to defunct macros. Changed JSEventTargetBasePrototype to get the prototype with the new rather than its own copy of cacheGlobalObject (I missed this during pass 1). Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
  • bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme for caching structures and prototypes. (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr. (WebCore::JSEventTargetNode::createPrototype): Added.
  • bindings/js/JSEventTargetNode.h: Updated for above changes.
  • bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
  • bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::getNamedItems): Pass ExecState instead of prototype.
  • bindings/js/JSHTMLFormElementCustom.cpp: (WebCore::JSHTMLFormElement::nameGetter): Ditto.
  • bindings/js/JSHTMLInputElementBase.cpp: (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
  • bindings/js/JSHTMLInputElementBase.h: Ditto.
  • bindings/js/JSHTMLOptionElementConstructor.cpp: (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Create a unique structure instead of sharing.
  • bindings/js/JSImageConstructor.cpp: (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
  • bindings/js/JSInspectedObjectWrapper.cpp: (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes a prototype rather than a structure. Made the use of inheritorID() here explicit.
  • bindings/js/JSInspectedObjectWrapper.h: Ditto.
  • bindings/js/JSInspectorCallbackWrapper.cpp: (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
  • bindings/js/JSInspectorCallbackWrapper.h: Ditto.
  • bindings/js/JSNamedNodesCollection.cpp: (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to take an ExecState argument instead of a prototype. Create a unique StructureID instead of sharing.
  • bindings/js/JSNamedNodesCollection.h: Ditto.
  • bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded constructor that takes a prototype instead of a structure.
  • bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
  • bindings/js/JSRGBColor.cpp: (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a prototype; create a unique structure. (WebCore::getJSRGBColor): Ditto.
  • bindings/js/JSRGBColor.h: Ditto.
  • bindings/js/JSSQLResultSetRowListCustom.cpp: (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead of explicit coding the idiom for making a new object.
  • bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Create a unique structure instead of the shared one.
  • bindings/js/JSXSLTProcessorConstructor.cpp: (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): Ditto.
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::clearWindowShell): Let the window shell's setWindow function create the JSDOMWindow instead of doing it here.
  • bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for the structure and the wrapped object when creating wrappers. Simplified some of the special cases for DOMWindow so they are different only in ways the need to be. Eliminated the JSDOMWindow::createPrototype and JSDOMWindowPrototype::self functions. Moved responsibility for creating the structure and parent prototype out of the prototype constructor into the createPrototype function. Removed the unused "DoNotCache" flag for objects other than DOMWindow. Use getDOMConstructor instead of cacheGlobalObject for constructors. Make each constructor have a unique structure ID.
  • bridge/objc/objc_runtime.h: Added createPrototype and changed the name of the info member to s_info so we can use the standard DOM binding macros to handl the prototype.
  • bridge/objc/objc_runtime.mm: Fixed namespacing a bit. (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp): Create a unique structure using getDOMStructure.
  • bridge/runtime_array.cpp: Fixed namespacing a bit. (JSC::RuntimeArray::RuntimeArray): Create a unique structure using getDOMStructure.
  • bridge/runtime_array.h: Added createPrototype so getDOMStructure will work.
  • bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using getDOMStructure.
  • bridge/runtime_object.h: Added createPrototype so getDOMStructure will work.
  • history/CachedPage.cpp: (WebCore::CachedPage::restore): Let the window shell's setWindow function create the JSDOMWindow instead of doing it here.
  • page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
14:10 Changeset [36674] by mitz@apple.com

Fixed ChangeLog typo

14:02 Changeset [36673] by mitz@apple.com

Reviewed by Dave Hyatt.

This optimization was suggested by Daniel Fenwick

  • speed up measuring text on the Core Text code path by not specifying a paragraph writing direction

Specifying LTR paragraph directionality when measuring runs of RTL text
resulted in typically two CTRuns being generated for every run instad
of one, due to the leading space being reordered to the left.

  • platform/graphics/SimpleFontData.h: Removed the ltr parameter to getCFStringAttributes() and changed m_CFStringAttributes from an array to a single value.
  • platform/graphics/mac/CoreTextController.cpp: (WebCore::CoreTextController::CoreTextController): Added a mayUseNaturalWritingDirection parameter. (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed to force the bidi embedding level whenever m_mayUseNaturalWritingDirectrion is false. Since this is now a common case, made the typesetter options dictionaries static.
  • platform/graphics/mac/CoreTextController.h:
  • platform/graphics/mac/FontMacCoreText.cpp: (WebCore::Font::selectionRectForComplexText): Renamed a local variable. (WebCore::Font::floatWidthForComplexText): Changed to allow the CoreTextController to not set the writing direction.
  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr parameter and the paragraph style attribute.
13:54 Changeset [36672] by hyatt@apple.com

WebCore:

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

Reviewed by Sam Weinig

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

Incorrect height calculation for replaced element inside nested
positioned elements (where the inner has a percentage height and
the outer implicitly has a fixed height because of explicit top/bottom
values).

Added fast/block/positioning/replaced-inside-top-bottom.html

  • rendering/RenderBox.cpp: (WebCore::RenderBox::availableHeightUsing):

LayoutTests:

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

Fix for bug 20941.

Reviewed by Sam Weinig

  • fast/block/positioning/replaced-inside-fixed-top-bottom.html: Added.
  • platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.checksum: Added.
  • platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.png: Added.
  • platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.txt: Added.
13:48 Changeset [36671] by cfleizach@apple.com

Fix Tiger bustage

13:24 Changeset [36670] by cfleizach@apple.com

<rdar://problem/6211041> Expose legend tag in accessibility

Makes the <legend> tag the titleUIElement of the field set.

13:05 ProposedWebInspectorRearchitecting edited by dglazkov@chromium.org
(diff)
13:04 Changeset [36669] by cfleizach@apple.com

<rdar://problem/6213171> WebKit should use new array-centric methods for AX performance

13:02 ProposedWebInspectorRearchitecting edited by dglazkov@chromium.org
started on message format (diff)
11:47 Changeset [36668] by darin@apple.com

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

Reviewed by Dan Bernstein.

  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Moved call to RefCountedLeakCounter::suppressMessages in here. (-[WebView initWithFrame:frameName:groupName:]): Moved it out of here.
07:35 Introducing SquirrelFish Extreme.ja edited by omo@dodgson.org
(diff)
07:34 Introducing SquirrelFish Extreme.ja edited by omo@dodgson.org
(diff)
07:13 Introducing SquirrelFish Extreme.ja created by omo@dodgson.org
04:43 Changeset [36667] by zecke@webkit.org

[qtwebkit] Set the m_should* flags to their proper value on entry

With plugins it was possible that we finished a job twice. This was
some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
setting the flag to (m_loadMode == LoadDeferred) they will always have
the right value and we will not send responses twice.

04:06 Changeset [36666] by zecke@webkit.org

[qtwebkit] Pass test 70 of acid3. Handle text decoding errors

Handle text decoding errors before instructing the parser to parse. We
have converted the text to QString and all encoding errors are gone and
the parser will not be able to detect them. So handle them before parsing.

02:55 Changeset [36665] by hyatt@apple.com

Fix Gtk bustage.

02:54 Changeset [36664] by hyatt@apple.com

Fix Qt bustage.

01:50 Changeset [36663] by jchaffraix@webkit.org

2008-09-19 Julien Chaffraix <jchaffraix@pleyo.com>

Reviewed by Alexey Proskuryakov.

Use the template hoisting technique on the RefCounted class. This reduces the code bloat due to
non-template methods' code been copied for each instance of the template.
The patch splits RefCounted between a base class that holds non-template methods and attributes
and the template RefCounted class that keeps the same functionnality.

On my Linux with gcc 4.3 for the Gtk port, this is:

  • a ~600KB save on libwebkit.so in release.
  • a ~1.6MB save on libwebkit.so in debug.

It is a wash on Sunspider and a small win on Dromaeo (not sure it is relevant).
On the whole, it should be a small win as we reduce the compiled code size and the only
new function call should be inlined by the compiler.

  • wtf/RefCounted.h: (WTF::RefCountedBase::ref): Copied from RefCounted. (WTF::RefCountedBase::hasOneRef): Ditto. (WTF::RefCountedBase::refCount): Ditto. (WTF::RefCountedBase::RefCountedBase): Ditto. (WTF::RefCountedBase::~RefCountedBase): Ditto. (WTF::RefCountedBase::derefBase): Tweaked from the RefCounted version to remove template section. (WTF::RefCounted::RefCounted): (WTF::RefCounted::deref): Small wrapper around RefCountedBase::derefBase(). (WTF::RefCounted::~RefCounted): Keep private destructor.

09/18/08:

23:49 Changeset [36662] by darin@apple.com

JavaScriptCore:

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

Reviewed by Maciej Stachowiak.

  • kjs/lookup.h: Removed things here that were used only in WebCore: cacheGlobalObject, JSC_DEFINE_PROTOTYPE, JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE, and JSC_IMPLEMENT_PROTOTYPE.

WebCore:

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

Reviewed by Maciej Stachowiak.

  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException instead of DOMExceptionTranslator.
  • bindings/js/JSDOMBinding.cpp: (WebCore::getCachedDOMObjectWrapper): Updated function name. (WebCore::cacheDOMObjectWrapper): Ditto. (WebCore::forgetDOMObject): Ditto. (WebCore::getCachedDOMNodeWrapper): Ditto. (WebCore::forgetDOMNode): Ditto. (WebCore::cacheDOMNodeWrapper): Ditto. (WebCore::forgetAllDOMNodesForDocument): Ditto. (WebCore::markDOMNodesForDocument): Ditto. (WebCore::updateDOMNodeDocument): Ditto. (WebCore::getCachedDOMStructure): Added. (WebCore::createDOMStructure): Ditto.
  • bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter class and replace the static member functions with non-member functions. Added many other functions for getting at structures, prototypes, wrappers, and creating them. Also moved the cacheGlobalObject function here from JavaScriptCore; eventually I'll remove that once I get rid of the remaining callers. Also removed the DOMExceptionTranslator class.
  • bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type, and put one of those maps in each window.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::markDOMObjectWrapper): Updated for function name change. (WebCore::JSDOMWindow::mark): Added code to mark all the structures in the structure map.
  • bindings/js/JSEventTargetNode.cpp: (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take a structure instead of a prototype.
  • bindings/js/JSEventTargetNode.h: Ditto.
  • bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
  • bindings/js/JSHTMLInputElementBase.cpp: (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a structure instead of a prototype.
  • bindings/js/JSHTMLInputElementBase.h: Removed use of the JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor to take a structure instead of a prototype. Created a dummy prototype class that causes the HTMLInputElement prototype to have the HTMLElement prototype.
  • bindings/scripts/CodeGeneratorJS.pm: Change constructors to take structures instead of prototypes. Changed the prototype self function to use the getDOMPrototype function -- later we can eliminate it and have callers invoke getDOMPrototype directly instead. Updated other functions that have name changes. Added code to generate the createPrototype member function. Changed use of cacheGlobalObject to get it from the WebCore namespace instead of the JSC namespace. Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
  • dom/Document.cpp: (WebCore::Document::~Document): Updated for name change and also removed unnecessary JSLock use -- there's no need to lock around this.
  • dom/Node.cpp: (WebCore::Node::setDocument): Ditto.
  • dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro instead of calling new directly.
  • bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJS): Updated for function name changes and used the CREATE_DOM_OBJECT_WRAPPER macro.
  • bindings/js/JSCSSValueCustom.cpp: (WebCore::toJS): Ditto.
  • bindings/js/JSCanvasPixelArrayCustom.cpp: (WebCore::toJS): Ditto.
  • bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark): Ditto. (WebCore::toJS): Ditto.
  • bindings/js/JSElementCustom.cpp: (WebCore::toJSNewlyCreated): Ditto.
  • bindings/js/JSEventCustom.cpp: (WebCore::toJS): Ditto.
  • bindings/js/JSEventTargetBase.cpp: (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead of DOMExceptionTranslator. (WebCore::toJS): Updated for function name changes and used the CREATE_DOM_OBJECT_WRAPPER macro.
  • bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJS): Ditto.
  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::mark): Ditto. (WebCore::createWrapper): Ditto. (WebCore::toJS): Ditto.
  • bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJS): Ditto.
  • bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJS): Ditto. (WebCore::JSStyleSheet::mark): Ditto.
  • bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): Ditto.
  • bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::constructXMLHttpRequest): Ditto.
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::mark): Ditto.
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
  • bindings/js/JSXSLTProcessorConstructor.cpp: (WebCore::constructXSLTProcessor): Ditto.
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::finishedWithEvent): Ditto.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto. (WebCore::XMLHttpRequest::dropProtection): Ditto.

LayoutTests:

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

Reviewed by Maciej Stachowiak.

  • platform/mac/fast/dom/wrapper-classes-expected.txt: Update results to reflect correct prototype for CSSStyleRule.
23:48 Changeset [36661] by hyatt@apple.com

Fix conflict inXCode file.

23:32 Changeset [36660] by darin@apple.com

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

Reviewed by Maciej Stachowiak.

  • kjs/grammar.y: Get rid of string from the union, and use ident for STRING as well as for IDENT.
  • kjs/lexer.cpp: (JSC::Lexer::lex): Use makeIdentifier instead of makeUString for String.
  • kjs/lexer.h: Remove makeUString.
  • kjs/nodes.h: Changed StringNode to hold an Identifier instead of UString.
  • VM/CodeGenerator.cpp: (JSC::keyForCharacterSwitch): Updated since StringNode now holds an Identifier. (JSC::prepareJumpTableForStringSwitch): Ditto.
  • kjs/nodes.cpp: (JSC::StringNode::emitCode): Ditto. The comment from here is now in the lexer. (JSC::processClauseList): Ditto.
  • kjs/nodes2string.cpp: (JSC::StringNode::streamTo): Ditto.
23:30 Changeset [36659] by hyatt@apple.com

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

This patch gets a viewless scrollbar working on Mac. It is turned off
by default. Hit testing works. For now the scrollbar just paints ugly
debug rects in the place of the buttons, track and thumb. It does match
Aqua metrics though.

Reviewed by Sam Weinig

  • WebCore.xcodeproj/project.pbxproj:
  • page/mac/EventHandlerMac.mm: (WebCore::EventHandler::passMousePressEventToScrollbar):
  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint): (WebCore::ScrollbarThemeComposite::trackPosition):
  • platform/ScrollbarThemeComposite.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::addChild):
  • platform/mac/ScrollbarThemeMac.cpp: (WebCore::): (WebCore::ScrollbarThemeMac::hasButtons): (WebCore::ScrollbarThemeMac::hasThumb): (WebCore::buttonRepaintRect): (WebCore::ScrollbarThemeMac::backButtonRect): (WebCore::ScrollbarThemeMac::forwardButtonRect): (WebCore::trackRepaintRect): (WebCore::ScrollbarThemeMac::trackRect): (WebCore::ScrollbarThemeMac::minimumThumbLength): (WebCore::ScrollbarThemeMac::shouldCenterOnThumb): (WebCore::ScrollbarThemeMac::paintTrack): (WebCore::ScrollbarThemeMac::paintButton): (WebCore::ScrollbarThemeMac::paintThumb):
  • platform/mac/ScrollbarThemeMac.h: (WebCore::ScrollbarThemeMac::supportsControlTints):
  • platform/qt/ScrollbarThemeQt.cpp: (WebCore::ScrollbarThemeQt::trackPosition):
23:13 Changeset [36658] by collinj@webkit.org

2008-09-18 Collin Jackson <collinj@webkit.org>

Build fix; added missing header file to GNUmakefile.am

  • GNUmakefile.am:
22:54 Changeset [36657] by hyatt@apple.com

Fix Mac release build bustage.

22:53 Changeset [36656] by hyatt@apple.com

Fix Mac release build bustage.

22:52 Changeset [36655] by darin@apple.com

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

  • Scripts/do-webcore-rename: More renaming plans.
22:24 Changeset [36654] by collinj@webkit.org

2008-09-18 Collin Jackson <collinj@webkit.org>

Reviewed by Antti Koivisto and Mark Rowe.

This is correct expected output for the DNS prefetch control
layout test I just checked in.

  • http/tests/misc/dns-prefetch-control-expected.txt:
21:56 Changeset [36653] by weinig@apple.com

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

Reviewed by David "the Hair" Hyatt.

Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/DataRef.h: Removed.
  • rendering/SVGRenderStyle.cpp: Removed.
  • rendering/SVGRenderStyle.h: Removed.
  • rendering/SVGRenderStyleDefs.cpp: Removed.
  • rendering/SVGRenderStyleDefs.h: Removed.
  • rendering/style/DataRef.h: Copied from rendering/DataRef.h.
  • rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
  • rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
  • rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
  • rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
21:47 Changeset [36652] by mrowe@apple.com

Clear the main frame's name between tests to get more consistent test results
when running the WebKit tests with --nthly.

Reviewed by Dan Bernstein.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebViewToConsistentStateBeforeTesting):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebViewToConsistentStateBeforeTesting):

Add SPI to WebView to allow DRT to clear the main frame's name between tests.

  • Interfaces/IWebViewPrivate.idl:
  • WebView.cpp:

(WebView::clearMainFrameName):

  • WebView.h:

Add SPI to WebView to allow DRT to clear the main frame's name between tests.

  • WebView/WebView.mm:

(-[WebView _clearMainFrameName]):

  • WebView/WebViewPrivate.h:

Add a means of clearing a FrameTree's name.

  • WebCore.base.exp:
  • page/FrameTree.cpp:

(WebCore::FrameTree::clearName):

  • page/FrameTree.h:

Update test results now that frame tree names are cleared between tests.

  • fast/events/onunload-clears-onbeforeunload-expected.txt:
  • fast/events/onunload-expected.txt:
  • fast/events/onunload-not-on-body-expected.txt:
  • fast/events/onunload-window-property-expected.txt:
  • fast/forms/button-state-restore-expected.txt:
  • fast/forms/form-and-frame-interaction-retains-values-expected.txt:
21:30 Changeset [36651] by hyatt@apple.com

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

Eliminate addToSuperview from Widget, since it was only called
by ScrollViewMac's addChild method. Just shift the original body
of addToSuperView into addChild.

Reviewed by Sam Weinig

  • platform/Widget.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::addChild):
  • platform/mac/WidgetMac.mm:
21:15 Changeset [36650] by collinj@webkit.org
21:01 Changeset [36649] by hyatt@apple.com

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

Eliminate the convertToScreenCoordinate method on Widget, since
ScrollView has redundant methods that already do the same thing.

Reviewed by Sam Weinig

  • editing/mac/SelectionControllerMac.mm: (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
  • platform/Widget.h:
  • platform/mac/WidgetMac.mm: (WebCore::Widget::containingWindow):
20:18 Changeset [36648] by hyatt@apple.com

Fix Qt warning.

20:16 Changeset [36647] by hyatt@apple.com

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

Move to only one constructor for Widgets. Rename data to m_data and make
it have an #ifdef only for platforms that have platform-specific data (Mac
and Gtk).

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • platform/Widget.cpp: (WebCore::Widget::init):
  • platform/Widget.h:
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::Widget): (WebCore::Widget::~Widget): (WebCore::Widget::cursor): (WebCore::Widget::setCursor):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::Widget): (WebCore::Widget::~Widget): (WebCore::Widget::addToSuperview): (WebCore::Widget::removeFromSuperview): (WebCore::Widget::beforeMouseDown): (WebCore::Widget::afterMouseDown):
  • platform/qt/WidgetQt.cpp: (WebCore::Widget::Widget):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::Widget):
  • platform/wx/WidgetWx.cpp: (WebCore::Widget::Widget):
20:04 Changeset [36646] by hyatt@apple.com

Fix Qt/Win/Gtk bustage.

20:01 Changeset [36645] by hyatt@apple.com

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

Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
was no reason for it to be on Widget. This change eliminates Qt ifdefs
from Widget.

Reviewed by Sam Weinig

  • bindings/js/ScriptControllerQt.cpp: (WebCore::ScriptController::createScriptInstanceForWidget):
  • platform/qt/WidgetQt.cpp: (WebCore::WidgetPrivate::WidgetPrivate): (WebCore::WidgetPrivate::~WidgetPrivate): (WebCore::Widget::Widget): (WebCore::Widget::~Widget):
  • plugins/PluginView.cpp: (WebCore::PluginView::PluginView):
  • plugins/PluginView.h: (WebCore::PluginView::isNPAPIPlugin): (WebCore::PluginView::setIsNPAPIPlugin):
19:53 Changeset [36644] by mjs@apple.com

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

Not reviewed.

  • blog-files/animation-demo.svg: Added.
19:36 Changeset [36643] by hyatt@apple.com

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

Make geometryChanged() cross-platform on Widget. GTK and WIN platform
ifdefs are now gone from Widget!

Reviewed by Sam Weinig

  • platform/Widget.h: (WebCore::Widget::geometryChanged):
  • platform/gtk/WidgetGtk.cpp:
  • platform/qt/WidgetQt.cpp:
19:29 Changeset [36642] by hyatt@apple.com

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

Consolidate convertTo/FromContainingWindow methods so that all platforms
but Mac share the same code.

Move convertSelfToChild and convertChildToSelf to ScrollView, since
Widget should know nothing about children. Make the methods cross-platform
on ScrollView.

Reviewed by Sam Weinig

  • platform/ScrollView.h: (WebCore::ScrollView::convertChildToSelf): (WebCore::ScrollView::convertSelfToChild):
  • platform/Widget.cpp: (WebCore::Widget::convertToContainingWindow): (WebCore::Widget::convertFromContainingWindow):
  • platform/Widget.h: (WebCore::Widget::geometryChanged):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::isScrollViewScrollbar):
  • platform/gtk/WidgetGtk.cpp:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::isScrollViewScrollbar):
  • platform/mac/WidgetMac.mm:
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::isScrollViewScrollbar):
  • platform/qt/WidgetQt.cpp:
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::isScrollViewScrollbar):
  • platform/win/WidgetWin.cpp:
18:51 Changeset [36641] by mjs@apple.com

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

Not reviewed.

  • blog-files/sfx-perf.png: Added.
18:34 Changeset [36640] by weinig@apple.com

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

Fix style.

  • VM/Instruction.h: (JSC::Instruction::Instruction):
18:00 Changeset [36639] by zecke@webkit.org

[qt] Build fixes after the Widget/ScrollView cleanup

topLevel() is now root()

17:51 Changeset [36638] by hyatt@apple.com

Fix WIndows bustage.

17:46 Changeset [36637] by oliver@apple.com

Bug 20911: REGRESSION(r36480?): Reproducible assertion failure below derefStructureIDs 64-bit JavaScriptCore
<https://bugs.webkit.org/show_bug.cgi?id=20911>

Reviewed by Maciej Stachowiak.

The problem was simply caused by the int constructor for Instruction
failing to initialise the full struct in 64bit builds.

17:39 Changeset [36636] by hyatt@apple.com

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

Make the conversion methods that go to and from some containingWindow
cross-platform. Implement them on Mac.

Reviewed by Sam Weinig

  • platform/Widget.h: (WebCore::Widget::setContainingWindow):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::convertFromContainingWindow): (WebCore::Widget::convertToContainingWindow):
17:28 Changeset [36635] by weinig@apple.com

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

Rubber-stamped by David "Yeah-yeah" Hyatt.

Cleanup RenderStyle.

  • WebCore.xcodeproj/project.pbxproj:
  • rendering/style/CounterContent.h:
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
17:01 Changeset [36634] by dino@apple.com

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

Reviewed by Sam Weinig

Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
Now TransformOperations and AnimationList no longer
inherit from Vector<> but rather have API to access.

  • css/CSSComputedStyleDeclaration.cpp:
  • css/CSSStyleSelector.cpp:
  • page/animation/AnimationBase.cpp:
  • page/animation/CompositeAnimation.cpp:
  • page/animation/ImplicitAnimation.cpp:
  • page/animation/KeyframeAnimation.cpp:
  • rendering/RenderLayer.cpp:
  • rendering/style/AnimationList.cpp:
  • rendering/style/AnimationList.h:
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
  • rendering/style/TransformOperations.cpp:
  • rendering/style/TransformOperations.h:
16:47 Changeset [36633] by darin@apple.com

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

  • fix release build
  • wtf/RefCountedLeakCounter.cpp: Removed stray "static".
16:34 Changeset [36632] by darin@apple.com

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

Reviewed by Sam Weinig.

  • kjs/JSGlobalObject.h: Tiny style guideline tweak.
16:30 Changeset [36631] by darin@apple.com

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

Reviewed by Sam Weinig.

  • JavaScriptCore.exp: Updated, and also added an export needed for future WebCore use of JSC::StructureID.
  • wtf/RefCountedLeakCounter.cpp: (WTF::RefCountedLeakCounter::suppressMessages): Added. (WTF::RefCountedLeakCounter::cancelMessageSuppression): Added. (WTF::RefCountedLeakCounter::RefCountedLeakCounter): Tweaked a bit. (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): Added code to log the reason there was no leak checking done. (WTF::RefCountedLeakCounter::increment): Tweaked a bit. (WTF::RefCountedLeakCounter::decrement): Ditto.
  • wtf/RefCountedLeakCounter.h: Replaced setLogLeakMessages with two new functions, suppressMessages and cancelMessageSuppression. Also added m_ prefixes to the data member names.

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

Reviewed by Sam Weinig.

  • WebView/WebPreferences.mm: (-[WebPreferences setFullDocumentTeardownEnabled:]): Removed unneeded call to setLogLeakMessages.
  • WebView/WebView.mm: (-[WebView _closeWithFastTeardown]): Call RefCountedLeakCounter::suppressMessages, telling it that we can't track leaks because at least one WebView was closed with fast teardown. (-[WebView _close]): Removed unneeded call to setLogLeakMessages. Added a call to cancelMessageSuppression since the WebView is no longer open. Added an explicit garbage collect to help with the case where we're closing during the quit process -- the garbageCollectSoon() calls done inside WebCore won't help us in that case. (-[WebView initWithFrame:frameName:groupName:]): Call RefCountedLeakCounter::suppressMessages telling it that we can't track leaks because at least one WebView is currently open.
16:28 Changeset [36630] by zecke@webkit.org

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

Reviewed by Mark Rowe.

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

Add a proper #define to define which XML Parser implementation to use. Client
code can use #if USE(QXMLSTREAM) to decide if the Qt XML StreamReader
implementation is going to be used.

  • wtf/Platform.h:

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

Reviewed by Mark Rowe.

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

XMLTokenizer.cpp used to contain two different implementations. One was using
libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
separating the two implementations from each other.
Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
XMLTokenizerLibxml2.cpp. There should be no functional changes.

Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
to work.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • dom/XMLTokenizer.cpp: (WebCore::isScriptElement): (WebCore::castToScriptElement): (WebCore::XMLTokenizer::setCurrentNode): (WebCore::XMLTokenizer::write): (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): (WebCore::XMLTokenizer::enterText): (WebCore::toString): (WebCore::XMLTokenizer::exitText): (WebCore::XMLTokenizer::end): (WebCore::XMLTokenizer::insertErrorMessageBlock):
  • dom/XMLTokenizer.h: (WebCore::XMLTokenizer::wellFormed):
  • dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp. (WebCore::createMemoryParser): (WebCore::XMLTokenizer::XMLTokenizer): (WebCore::XMLTokenizer::~XMLTokenizer): (WebCore::XMLTokenizer::doWrite): (WebCore::ignorableWhitespaceHandler): (WebCore::XMLTokenizer::initializeParserContext): (WebCore::XMLTokenizer::doEnd): (WebCore::XMLTokenizer::lineNumber): (WebCore::XMLTokenizer::columnNumber): (WebCore::XMLTokenizer::stopParsing): (WebCore::XMLTokenizer::resumeParsing): (WebCore::parseXMLDocumentFragment): (WebCore::attributesStartElementNsHandler): (WebCore::parseAttributes):
  • dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp. (WebCore::EntityResolver::resolveUndeclaredEntity): (WebCore::XMLTokenizer::XMLTokenizer): (WebCore::XMLTokenizer::~XMLTokenizer): (WebCore::XMLTokenizer::doWrite): (WebCore::XMLTokenizer::initializeParserContext): (WebCore::XMLTokenizer::doEnd): (WebCore::XMLTokenizer::lineNumber): (WebCore::XMLTokenizer::columnNumber): (WebCore::XMLTokenizer::stopParsing): (WebCore::XMLTokenizer::resumeParsing): (WebCore::parseXMLDocumentFragment): (WebCore::attributesStartElementNsHandler): (WebCore::parseAttributes): (WebCore::):
16:08 Changeset [36629] by bdakin@apple.com

2008-09-18 Beth Dakin <bdakin@apple.com>

Reviewed by Geoff Garen.

Build fix for non-Mac builds.

  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText):
16:07 Changeset [36628] by eric@webkit.org

2008-09-18 Peter Kasting <pkasting@google.com>

Reviewed by hyatt. Landed by eseidel.

https://bugs.webkit.org/show_bug.cgi?id=20745
Animated GIFs do not animate properly with (at least) CG.

  • WebCore\platform\graphics\BitmapImage.cpp:
  • WebCore\platform\graphics\BitmapImage.h:
  • WebCore\platform\graphics\cairo\ImageCairo.cpp:
  • WebCore\platform\graphics\cg\ImageCG.cpp:
  • WebCore\platform\graphics\qt\ImageQt.cpp:
  • WebCore\platform\graphics\wx\ImageWx.cpp:
15:54 Changeset [36627] by cfleizach@apple.com

<rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA role specifies otherwise

If a <table> tag has an aria role, it should not appear as an AXTable
Likewise, it's rows and cells should not appear as AXRow or AXCell

15:29 Changeset [36626] by sfalken@apple.com

Use higher-resolution timers on all variants of Windows.


Reviewed by Darin Adler.

  • platform/win/SharedTimerWin.cpp: (WebCore::setSharedTimerFireTime):
15:21 Changeset [36625] by hyatt@apple.com

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

Make containingWindow() and setContainingWindow() cross-platform.
Add a root() function cross-platform so Qt doesn't have to
define its own.

Reviewed by Darin Adler

  • platform/Widget.cpp: (WebCore::Widget::root):
  • platform/Widget.h: (WebCore::Widget::setContainingWindow):
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::Widget): (WebCore::Widget::containingWindow):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::addChild): (WebCore::ScrollView::removeChild):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::containingWindow):
  • platform/qt/WidgetQt.cpp: (WebCore::Widget::invalidateRect): (WebCore::Widget::containingWindow):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::Widget): (WebCore::Widget::~Widget): (WebCore::Widget::containingWindow):
15:18 Changeset [36624] by bdakin@apple.com

WebCore:

2008-09-18 Beth Dakin <bdakin@apple.com>

Reviewed by Dave Hyatt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
dashboard-region=
and corresponding: <rdar://problem/6174100>

This patch makes CSSParserValue::createCSSValue handle unknown
identifiers.

  • css/CSSParserValues.cpp: (WebCore::CSSParserValue::createCSSValue): If we have an identifier with no id (an unknown identifier) create a CSSPrimitiveValue of type CSS_PARSER_IDENTIFIER
  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText): (WebCore::CSSPrimitiveValue::parserValue):
  • css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::):

LayoutTests:

2008-09-18 Beth Dakin <bdakin@apple.com>

Reviewed by Dave Hyatt.

Test for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
dashboard-region=
and corresponding: <rdar://problem/6174100>

  • fast/css/variables/invalid-identifier-expected.txt: Added.
  • fast/css/variables/invalid-identifier.html: Added.
14:46 Changeset [36623] by weinig@apple.com

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

Rubber-stamped by David "I'd prefer not" Hyatt.

More the remaining class out of RenderStyle.h/cpp

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h. (WebCore::CursorData::CursorData): (WebCore::CursorData::operator==): (WebCore::CursorData::operator!=):
  • rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h. (WebCore::CursorList::operator[]): (WebCore::CursorList::CursorList):
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h: (WebCore::RenderStyle::deref): (WebCore::RenderStyle::hasOneRef): (WebCore::RenderStyle::InheritedFlags::operator!=): (WebCore::RenderStyle::NonInheritedFlags::operator!=): (WebCore::RenderStyle::hasBackground): (WebCore::RenderStyle::outlineWidth): (WebCore::RenderStyle::autoWrap): (WebCore::RenderStyle::preserveNewline): (WebCore::RenderStyle::collapseWhiteSpace): (WebCore::RenderStyle::isCollapsibleWhiteSpace): (WebCore::RenderStyle::breakOnlyAfterWhiteSpace): (WebCore::RenderStyle::breakWords): (WebCore::RenderStyle::outlineOffset): (WebCore::RenderStyle::setLeft): (WebCore::RenderStyle::setRight): (WebCore::RenderStyle::setTop): (WebCore::RenderStyle::setBottom): (WebCore::RenderStyle::setDashboardRegion): (WebCore::RenderStyle::setBackgroundColor): (WebCore::RenderStyle::setBorderImage): (WebCore::RenderStyle::setBorderRadius): (WebCore::RenderStyle::setFontDescription): (WebCore::RenderStyle::adjustBackgroundLayers): (WebCore::RenderStyle::adjustMaskLayers): (WebCore::RenderStyle::deleteBindingURIs): (WebCore::RenderStyle::inheritBindingURIs): (WebCore::RenderStyle::isDisplayReplacedType): (WebCore::RenderStyle::isDisplayInlineType): (WebCore::RenderStyle::isOriginalDisplayInlineType):
  • rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleInheritedData::operator!=):
  • rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleRareInheritedData::operator!=):
  • rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
  • rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
14:29 Changeset [36622] by hyatt@apple.com

Fix Mac bustage.

13:24 Changeset [36621] by hyatt@apple.com

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

Move the concept of suppression invalidation on Widgets to Scrollbar
instead. Since this is only used by Scrollbars, there is no need for
it to be on Widget.

Reviewed by Sam Weinig

  • platform/Scrollbar.cpp: (WebCore::Scrollbar::Scrollbar): (WebCore::Scrollbar::invalidateRect):
  • platform/Scrollbar.h: (WebCore::Scrollbar::suppressInvalidation): (WebCore::Scrollbar::setSuppressInvalidation):
  • platform/Widget.h:
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::Widget): (WebCore::Widget::invalidateRect):
  • platform/qt/WidgetQt.cpp: (WebCore::WidgetPrivate::WidgetPrivate): (WebCore::Widget::invalidateRect):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::Widget): (WebCore::Widget::invalidateRect):
13:09 Changeset [36620] by hyatt@apple.com

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

Make invalidate() on Widget non-virtual and make it just call
invalidateRect() on the boundsGeometry() of the Widget.

Reviewed by Dan Bernstein

  • platform/Widget.h: (WebCore::Widget::boundsGeometry): (WebCore::Widget::invalidate):
  • platform/gtk/WidgetGtk.cpp:
  • platform/mac/WidgetMac.mm:
  • platform/qt/WidgetQt.cpp:
  • platform/win/WidgetWin.cpp:
  • platform/wx/WidgetWx.cpp:
12:40 Changeset [36619] by weinig@apple.com

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

Rubber-stamped in exile by David Hyatt.

Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
RenderStyle.h/cpp

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • css/CSSStyleSelector.cpp:
  • css/CSSStyleSelector.h:
  • page/animation/CompositeAnimation.cpp:
  • page/animation/KeyframeAnimation.cpp:
  • page/animation/KeyframeAnimation.h:
  • rendering/RenderCounter.h:
  • rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp. (WebCore::Animation::~Animation): (WebCore::Animation::animationsMatch): (WebCore::Animation::keyframeList): (WebCore::Animation::setAnimationKeyframe):
  • rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
  • rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
  • rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h. (WebCore::BindingURI::operator!=):
  • rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h. (WebCore::ContentData::ContentData): (WebCore::ContentData::~ContentData):
  • rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h. (WebCore::CounterContent::CounterContent):
  • rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h. (WebCore::CounterDirectives::CounterDirectives):
  • rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp. (WebCore::KeyframeList::insert):
  • rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h. (WebCore::KeyframeValue::KeyframeValue): (WebCore::KeyframeList::create): (WebCore::KeyframeList::KeyframeList):
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
  • rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h. (WebCore::ShadowData::ShadowData): (WebCore::ShadowData::~ShadowData): (WebCore::ShadowData::operator!=):
  • rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleFlexibleBoxData::operator!=):
  • rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h. (WebCore::TimingFunction::TimingFunction): (WebCore::TimingFunction::operator==):
11:49 Changeset [36618] by adele@apple.com

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

Reviewed by Dan Bernstein.

Fix RenderStyle leaks.

  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
11:30 Changeset [36617] by andersca@apple.com

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

Reviewed by Adam Roben.

Move the remainder of the stream ivars to the C++ object.


  • Plugins/WebBaseNetscapePluginStream.h: (WebNetscapePluginStream::WebNetscapePluginStream):
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): (-[WebBaseNetscapePluginStream initWithFrameLoader:]): (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream dealloc]): (-[WebBaseNetscapePluginStream finalize]): (-[WebBaseNetscapePluginStream setPlugin:]): (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): (-[WebBaseNetscapePluginStream start]): (-[WebBaseNetscapePluginStream stop]): (-[WebBaseNetscapePluginStream wantsAllStreams]): (-[WebBaseNetscapePluginStream _destroyStream]): (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): (-[WebBaseNetscapePluginStream cancelLoadWithError:]): (-[WebBaseNetscapePluginStream _deliverData]):
11:03 Changeset [36616] by kmccullough@apple.com

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

Accidentally checked in code.

  • html/HTMLElementFactory.cpp: (WebCore::frameConstructor): (WebCore::iframeConstructor):
10:21 Changeset [36615] by kmccullough@apple.com

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

Reviewed by Tim.

<rdar://problem/5722310> gracefully handle too many console messages
(20904)

  • Keep track of the most previous message and then compare it to the subsequent messages as they come in. If there are multiple of the same message create a count that indicates the current number.
  • manual-tests/inspector/multiple-console-messages.html: Added.
  • page/inspector/Console.js:
  • page/inspector/inspector.css:
09:00 ProposedWebInspectorRearchitecting edited by dglazkov@chromium.org
WebKit -> WebCore rename (diff)
04:50 Changeset [36614] by alp@webkit.org

2008-09-18 Jonathon Jongsma <jonathon@quotidian.org>

Reviewed by Alp Toker

https://bugs.webkit.org/show_bug.cgi?id=20830
[GTK] Don't use deprecated pango API

Replace deprecated pango functions with non-deprecated ones for newer
versions of pango

  • platform/graphics/gtk/FontGtk.cpp: (WebCore::getDefaultPangoLayout):
  • platform/graphics/gtk/FontPlatformDataPango.cpp: (WebCore::FontPlatformData::FontPlatformData):
02:39 Changeset [36613] by slewis@apple.com

2008-09-18 Stephanie Lewis <slewis@apple.com>

Really fix tiger jsc tests.

  • Scripts/run-javascriptcore-tests:
02:35 Changeset [36612] by cwzwarich@webkit.org

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

Reviewed by Maciej Stachowiak.

Make a Unicode non-breaking space count as a whitespace character in
PCRE. This change was already made in WREC, and it fixes one of the
Mozilla JS tests. Since it is now fixed in PCRE as well, we can check
in a new set of expected test results.

  • pcre/pcre_internal.h: (isSpaceChar):
  • tests/mozilla/expected.html:
02:13 Changeset [36611] by slewis@apple.com

2008-09-18 Stephanie Lewis <slewis@apple.com>

Reviewed by Maciej Stachowiak.

Fix jsc tests on Tiger. Make jsc tests smarter about when to use the arch flag.

  • Scripts/run-javascriptcore-tests:
  • Scripts/webkitdirs.pm:
01:10 Changeset [36610] by alp@webkit.org

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

Build fix for r36587. Add new sources (and sort the lists).

  • GNUmakefile.am:
00:48 Changeset [36609] by mrowe@apple.com

Print warning to stdout rather than stderr when a test attempts to access a remote resource.
This should make it more obvious when a test does this, as stderr output tends to be obscured
by noise in the test results.

Also fixes some coding style issues in ResourceLoadDelegate.mm.

Rubber-stamped by Sam Weinig.

  • DumpRenderTree/mac/ResourceLoadDelegate.mm:

(-[NSError _drt_descriptionSuitableForTestResult]):
(-[NSURL _drt_descriptionSuitableForTestResult]):
(-[ResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
(-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
(-[ResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]):
(-[ResourceLoadDelegate webView:resource:didFinishLoadingFromDataSource:]):
(-[ResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]):
(-[ResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:]):

00:48 Changeset [36608] by mrowe@apple.com

Change test to not attempt to access a remote host. This stops
DRT from printing a warning to stderr while running this test.

Rubber-stamped by Sam Weinig.

  • fast/loader/cancel-load-during-port-block-timer.html:
00:43 Changeset [36607] by slewis@apple.com

2008-09-18 Stephanie Lewis <slewis@apple.com>

Reviewed by Mark Rowe and Maciej Stachowiak.

add an option use arch to specify which architecture to run.

  • tests/mozilla/jsDriver.pl:

add a --64-bit option and specify which architecture to run on Mac.

  • Scripts/run-javascriptcore-tests:
00:09 Changeset [36606] by mrowe@apple.com

Fix a crash seen running DumpRenderTree on fast/dom/null-document-window-open-crash.html under guard malloc.

Reviewed by Sam Weinig.

The JS wrapper for LayoutTestController could outlive the wrapped instance, and would crash when
attempting to access the wrapped instance within layoutTestControllerObjectFinalize. We fix this by making
LayoutTestController ref-counted to ensure that it is not outlived by the JS wrapper.

  • DumpRenderTree/ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/RefCounted.h.
  • DumpRenderTree/LayoutTestController.cpp:

(LayoutTestController::LayoutTestController):
(notifyDoneCallback): Remove code that is no longer needed now that we must always have a wrapped instance.
(layoutTestControllerObjectFinalize): Deref the wrapped object.
(LayoutTestController::makeWindowObject): Ref the wrapped object.

  • DumpRenderTree/LayoutTestController.h: Make LayoutTestController RefCounted.
  • DumpRenderTree/mac/DumpRenderTree.mm:

(runTest): Deref the LayoutTestController object rather than explicitly deleting it.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm: Remove code that is no longer needed.
  • DumpRenderTree/win/DumpRenderTree.cpp:

(runTest): Deref the LayoutTestController object rather than explicitly deleting it.

09/17/08:

23:45 Changeset [36605] by sfalken@apple.com

2008-09-17 Oliver Hunt <oliver@apple.com>

Correctly restore argument reference prior to SFX runtime calls.


Reviewed by Steve Falkenburg.

  • VM/CTI.cpp: (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile):
23:20 Changeset [36604] by cwzwarich@webkit.org

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

Reviewed by Maciej Stachowiak.

Bug 20876: REGRESSION (r36417, r36427): fast/js/exception-expression-offset.html fails
<https://bugs.webkit.org/show_bug.cgi?id=20876>

r36417 and r36427 caused an get_by_id opcode to be emitted before the
instanceof and construct opcodes, in order to enable inline caching of
the prototype property. Unfortunately, this regressed some tests dealing
with exceptions thrown by 'instanceof' and the 'new' operator. We fix
these problems by detecting whether an "is not an object" exception is
thrown before op_instanceof or op_construct, and emit the proper
exception in those cases.

  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitConstruct):
  • VM/CodeGenerator.h:
  • VM/ExceptionHelpers.cpp: (JSC::createInvalidParamError): (JSC::createNotAConstructorError): (JSC::createNotAnObjectError):
  • VM/ExceptionHelpers.h:
  • VM/Machine.cpp: (JSC::Machine::getOpcode): (JSC::Machine::privateExecute):
  • VM/Machine.h:
  • kjs/nodes.cpp: (JSC::NewExprNode::emitCode): (JSC::InstanceOfNode::emitCode):
22:51 Changeset [36603] by weinig@apple.com

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

Fix Windows build.

  • WebCore.vcproj/WebCore.vcproj:
22:28 Changeset [36602] by hyatt@apple.com

Fix mysterious Mac bustage.

22:10 Changeset [36601] by hyatt@apple.com

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

Switch back to having frameGeometry be virtual in order to keep Mac
the way it used to be.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • platform/Widget.cpp: (WebCore::Widget::setParent):
  • platform/Widget.h:
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::frameGeometry): (WebCore::Widget::setFrameGeometry):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::frameGeometry): (WebCore::Widget::setFrameGeometry):
  • platform/qt/WidgetQt.cpp: (WebCore::Widget::frameGeometry): (WebCore::Widget::setFrameGeometry):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::frameGeometry): (WebCore::Widget::setFrameGeometry):
  • platform/wx/WidgetWx.cpp: (WebCore::Widget::frameGeometry): (WebCore::Widget::setFrameGeometry):
  • plugins/PluginView.cpp: (WebCore::PluginView::setFrameGeometry): (WebCore::PluginView::geometryChanged):
  • plugins/PluginView.h:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::updatePluginWidget):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::updatePluginWidget):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::updatePluginWidget):
22:03 Changeset [36600] by weinig@apple.com

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

Reviewed by Mark Rowe.

Fix assertion in DOMWindow::adjustWindowRect where we were passing
in garbage values and were getting lucky that they were a not Nan.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::windowProtoFuncOpen):
21:28 Changeset [36599] by weinig@apple.com

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

Fix gtk build.

  • rendering/style/MatrixTransformOperation.cpp:
20:36 Changeset [36598] by hyatt@apple.com

Fix Mac bustage.

20:34 Changeset [36597] by mrowe@apple.com

New tag.

20:32 Changeset [36596] by hyatt@apple.com

Fix build bustage on Qt, Gtk, Win.

20:32 Changeset [36595] by mrowe@apple.com

New tag.

20:28 Changeset [36594] by hyatt@apple.com

Fix build bustage on Qt, Gtk, Win.

20:23 Changeset [36593] by weinig@apple.com

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

Rubber-stamped with love by David Hyatt.

Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • css/CSSStyleSelector.cpp:
  • page/animation/AnimationBase.cpp: (WebCore::solveEpsilon):
  • rendering/RenderLayer.cpp:
  • rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
  • rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h. (WebCore::MatrixTransformOperation::MatrixTransformOperation):
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
  • rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h. (WebCore::RotateTransformOperation::RotateTransformOperation):
  • rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h. (WebCore::ScaleTransformOperation::ScaleTransformOperation):
  • rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h. (WebCore::SkewTransformOperation::SkewTransformOperation):
  • rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleTransformData::operator!=):
  • rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h. (WebCore::TransformOperation::):
  • rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp. (WebCore::TransformOperations::TransformOperations):
  • rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h. (WebCore::TransformOperations::operator!=):
  • rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h. (WebCore::TranslateTransformOperation::TranslateTransformOperation):
20:06 Changeset [36592] by hyatt@apple.com

Fix Mac bustage.

20:00 Changeset [36591] by hyatt@apple.com

Fix Qt bustage.

19:59 Changeset [36590] by mrowe@apple.com

Build fix.

19:48 Changeset [36589] by hyatt@apple.com

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

(1) Inline a bunch of methods for accessing frame geometry.
(2) Make sure frameGeometry() works even when you have no underlying
native widget.
(3) Cache a frame geometry rect cross-platform (even for widgets that
have underlying native widgets.
(4) PluginView's updateWindow call is now a virtual function on Widget.

Reviewed by Sam Weinig

  • ChangeLog:
  • WebCore.base.exp:
  • platform/Widget.cpp: (WebCore::Widget::setFrameGeometry):
  • platform/Widget.h: (WebCore::Widget::x): (WebCore::Widget::y): (WebCore::Widget::width): (WebCore::Widget::height): (WebCore::Widget::size): (WebCore::Widget::pos): (WebCore::Widget::frameGeometry): (WebCore::Widget::resize): (WebCore::Widget::move): (WebCore::Widget::isFrameView): (WebCore::Widget::windowClipRect):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::~Widget): (WebCore::Widget::updatePlatformWidgetFrameGeometry):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::updatePlatformWidgetFrameGeometry):
  • plugins/PluginView.cpp: (WebCore::PluginView::setFrameGeometry): (WebCore::PluginView::geometryChanged):
  • plugins/PluginView.h:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
  • plugins/wx/PluginViewWx.cpp:
19:47 Changeset [36588] by weinig@apple.com

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

Reviewed by David "Waterman" Hyatt.

Fix a leak of NSViews in WidgetMac.mm.

  • platform/mac/WidgetMac.mm: (WebCore::Widget::~Widget):
18:46 Changeset [36587] by weinig@apple.com

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

Rubber-stamped by David Waterman Hyatt.

Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h. (WebCore::FillLayer::operator!=): (WebCore::FillLayer::hasImage): (WebCore::FillLayer::hasFixedImage):
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp. (WebCore::StyleBackgroundData::StyleBackgroundData):
  • rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleBackgroundData::~StyleBackgroundData): (WebCore::StyleBackgroundData::operator!=):
  • rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleBoxData::operator!=):
  • rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleDashboardRegion::operator!=):
  • rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleMarqueeData::operator!=):
  • rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleMultiColData::operator!=): (WebCore::StyleMultiColData::ruleWidth):
  • rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleVisualData::operator==):
18:32 Changeset [36586] by hyatt@apple.com

Fix Win build bustage.

18:17 Changeset [36585] by hyatt@apple.com

Fix Win and Qt build bustage.

17:56 Changeset [36584] by hyatt@apple.com

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

Remove WidgetClient from Widget.

Reviewed by Sam Weinig

  • WebCore.xcodeproj/project.pbxproj:
  • platform/Widget.h: (WebCore::Widget::setClient): (WebCore::Widget::client):
  • platform/WidgetClient.h: Removed.
  • platform/gtk/WidgetGtk.cpp:
  • platform/mac/WidgetMac.mm: (WebCore::Widget::Widget): (WebCore::Widget::show): (WebCore::Widget::hide):
  • platform/qt/WidgetQt.cpp: (WebCore::WidgetPrivate::WidgetPrivate):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::Widget):
  • platform/wx/WidgetWx.cpp: (WebCore::Widget::Widget):
17:40 Changeset [36583] by mrowe@apple.com

Versioning.

17:39 Changeset [36582] by hyatt@apple.com

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

Remove isEnabled/setEnabled from Widget. The concept of being enabled now
only applies to Scrollbars so the method has been moved there and made
cross-platform. Scrollbar subclasses that have a corresponding native
widget can subclass setEnabled to change the enabled state of the native
widget.

Reviewed by Sam Weinig & Darin Adler

  • WebCore.base.exp:
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::Scrollbar):
  • platform/Scrollbar.h: (WebCore::Scrollbar::enabled): (WebCore::Scrollbar::setEnabled):
  • platform/Widget.h:
  • platform/gtk/ScrollbarGtk.cpp: (ScrollbarGtk::setEnabled):
  • platform/gtk/ScrollbarGtk.h:
  • platform/gtk/WidgetGtk.cpp:
  • platform/mac/ScrollbarMac.h:
  • platform/mac/ScrollbarMac.mm: (WebCore::ScrollbarMac::scrollbarHit): (WebCore::ScrollbarMac::setEnabled):
  • platform/mac/WidgetMac.mm:
  • platform/qt/WidgetQt.cpp: (WebCore::WidgetPrivate::WidgetPrivate):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::Widget):
  • platform/wx/WidgetWx.cpp:
17:36 Changeset [36581] by barraclough@apple.com

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

Reviewed by Oliver Hunt.

JIT generation cti_op_construct_verify.


Quarter to half percent progression on v8-tests.
Roughly not change on SunSpider (possible minor progression).

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/Machine.cpp:
  • VM/Machine.h:
17:05 Changeset [36580] by hyatt@apple.com

Land a comment in Widget.h to help describe the class.

16:56 Changeset [36579] by weinig@apple.com

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

Rubber-stamped by David Hyatt.

Split all RenderStyle enums into their own file.

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/style/BorderValue.h:
  • rendering/style/CollapsedBorderValue.h:
  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h. (WebCore::):
  • rendering/style/StyleCachedImage.h:
  • rendering/style/StyleGeneratedImage.h:
  • rendering/style/StyleImage.h:
16:54 Changeset [36578] by sfalken@apple.com

Improve timer accuracy for JavaScript Date object on Windows.


Use a combination of ftime and QueryPerformanceCounter.
ftime returns the information we want, but doesn't have sufficient resolution.
QueryPerformanceCounter has high resolution, but is only usable to measure time intervals.
To combine them, we call ftime and QueryPerformanceCounter initially. Later calls will use
QueryPerformanceCounter by itself, adding the delta to the saved ftime. We re-sync to
correct for drift if the low-res and high-res elapsed time between calls differs by more
than twice the low-resolution timer resolution.


QueryPerformanceCounter may be inaccurate due to a problems with:


Reviewed by Darin Adler.

  • kjs/DateMath.cpp: (JSC::highResUpTime): (JSC::lowResUTCTime): (JSC::qpcAvailable): (JSC::getCurrentUTCTimeWithMicroseconds):
16:53 Changeset [36577] by sfalken@apple.com

Add back isFrameView check to fix failed assertion during scroll bar teardown.


Reviewed by Dave Hyatt.

  • platform/Scrollbar.cpp: (WebCore::Scrollbar::setParent):
16:41 Changeset [36576] by simon.fraser@apple.com

2008-09-17 Simon Fraser <simon.fraser@apple.com>

Add pixel test expecteds for transform tests.

  • platform/mac/transforms/2d/compound-transforms-vs-containers-expected.checksum: Added.
  • platform/mac/transforms/2d/compound-transforms-vs-containers-expected.png: Added.
  • platform/mac/transforms/2d/transform-borderbox-expected.checksum: Added.
  • platform/mac/transforms/2d/transform-borderbox-expected.png: Added.
  • platform/mac/transforms/2d/transform-origin-borderbox-expected.checksum: Added.
  • platform/mac/transforms/2d/transform-origin-borderbox-expected.png: Added.
16:39 Changeset [36575] by hyatt@apple.com

Fix win bustage.

16:30 Changeset [36574] by beidson@apple.com

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

Reviewed by Mac build fix

  • WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
16:28 Changeset [36573] by sfalken@apple.com

Fix build.

  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::setParentVisible):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::init):
16:25 Changeset [36572] by zecke@webkit.org

[QtWebKit] Implement error handling in TextCodecQt::decode

Use the QTextCodec parsing state to set the sawError out variable. This
is needed to pass Test 70 of acid3. The test case for this bug is
fast/encoding/invalid-xml.html that is now partially passed. To pass
it completely the Qt text codecs need to be adjusted to have proper
error handling.

16:12 Changeset [36571] by hyatt@apple.com

Fix Windows bustage.

16:11 Changeset [36570] by hyatt@apple.com

Fix Windows bustage.

16:07 Changeset [36569] by hyatt@apple.com

Fix Windows bustage.

16:03 Changeset [36568] by weinig@apple.com

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

Rubber-stamped by Dave Hyatt.

Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
out of RenderStyle.h/cpp

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h. (WebCore::BorderData::hasBorderRadius): (WebCore::BorderData::borderLeftWidth): (WebCore::BorderData::borderRightWidth): (WebCore::BorderData::borderTopWidth): (WebCore::BorderData::borderBottomWidth): (WebCore::BorderData::operator!=):
  • rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h. (WebCore::): (WebCore::BorderValue::BorderValue): (WebCore::BorderValue::nonZero): (WebCore::BorderValue::isTransparent): (WebCore::BorderValue::isVisible):
  • rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h. (WebCore::): (WebCore::CollapsedBorderValue::CollapsedBorderValue): (WebCore::CollapsedBorderValue::operator==):
  • rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h. (WebCore::OutlineValue::OutlineValue):
  • rendering/style/RenderStyle.cpp:
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
  • rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h. (WebCore::StyleSurroundData::operator!=):
16:00 Changeset [36567] by bdakin@apple.com

2008-09-17 Beth Dakin <bdakin@apple.com>

Reviewed by Darin Adler.

This is a better fix for: Invalid CSS code crashes Safari
https://bugs.webkit.org/show_bug.cgi?id=20512

The spec indicates that the only valid input for a counter is a
number or an identifier. So that is exactly what we allow.

  • css/CSSParser.cpp: (WebCore::CSSParser::parseCounterContent):
15:40 Changeset [36566] by barraclough@apple.com

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

Reviewed by Geoff Garen.

Implement JIT generation of CallFrame initialization, for op_call.

1% sunspider 2.5% v8-tests.

  • VM/CTI.cpp: (JSC::CTI::compileOpCall):
  • VM/Machine.cpp: (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_call_NotJSFunction):
15:22 Changeset [36565] by hyatt@apple.com

Fix Qt bustage.

15:21 Changeset [36564] by hyatt@apple.com

Fix Qt bustage.

15:16 Changeset [36563] by alp@webkit.org

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

GTK+ build fix. Adapt to use PlatformWidget functions.

  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollViewScrollbar::geometryChanged): (WebCore::ScrollView::addChild): (WebCore::ScrollView::removeChild):
  • platform/gtk/ScrollbarGtk.cpp: (ScrollbarGtk::ScrollbarGtk): (ScrollbarGtk::~ScrollbarGtk): (ScrollbarGtk::geometryChanged):
15:07 Changeset [36562] by hyatt@apple.com

Fix wx bustage.

15:07 Changeset [36561] by hyatt@apple.com

Fix Qt bustage.

15:00 Changeset [36560] by weinig@apple.com

WebCore:

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

Reviewed by Adele Peterson.

Patch for <rdar://problem/6133884>
Calling window.resizeTo() on a subframe shouldn't change the window size

Test: fast/dom/Window/window-resize-and-move-sub-frame.html

  • page/DOMWindow.cpp: (WebCore::DOMWindow::moveBy): (WebCore::DOMWindow::moveTo): (WebCore::DOMWindow::resizeBy): (WebCore::DOMWindow::resizeTo):

LayoutTests:

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

Reviewed by Adele Peterson.

Test for <rdar://problem/6133884>
Calling window.resizeTo() on a subframe shouldn't change the window size

  • fast/dom/Window/resources/blank.html: Added.
  • fast/dom/Window/window-resize-and-move-sub-frame-expected.txt: Added.
  • fast/dom/Window/window-resize-and-move-sub-frame.html: Added.
14:49 ProposedWebInspectorRearchitecting edited by dglazkov@chromium.org
(diff)
14:45 ProposedWebInspectorRearchitecting edited by dglazkov@chromium.org
(diff)
14:43 ProposedWebInspectorRearchitecting edited by dglazkov@chromium.org
added random notes (diff)
14:35 Changeset [36559] by bdakin@apple.com

WebCore:

2008-09-17 Beth Dakin <bdakin@apple.com>

Reviewed by Adam Roben.

Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
code crashes Safari
and corresponding: <rdar://problem/6173832>

Reading through the spec, it seems like a function is not valid
input for a counter. So this patch checks for that and bails in the
case of invalid input.

  • css/CSSParser.cpp: (WebCore::CSSParser::parseCounterContent):

LayoutTests:

2008-09-17 Beth Dakin <bdakin@apple.com>

Reviewed by Adam Roben.

Test for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
code crashes Safari
and corresponding: <rdar://problem/6173832>

  • fast/css/counters/counter-function-input-2-expected.txt: Added.
  • fast/css/counters/counter-function-input-2.html: Added.
  • fast/css/counters/counter-function-input-expected.txt: Added.
  • fast/css/counters/counter-function-input.html: Added.
14:30 Changeset [36558] by hyatt@apple.com

Fix Gtk bustage.

14:28 Changeset [36557] by hyatt@apple.com

Fix Qt bustage.

14:17 Changeset [36556] by hyatt@apple.com

Fix Mac bustage.

14:16 Changeset [36555] by hyatt@apple.com

Fix Qt bustage

14:14 Changeset [36554] by antti@apple.com

2008-09-17 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Antti Koivisto.

Fix <rdar://problem/6227089>
Crash in WebCore::Frame::setNeedsReapplyStyles()


View is null checked elsewhere too.

  • page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles):
13:59 Changeset [36553] by hyatt@apple.com

WebCore:

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

Make the notion of having a native widget backing a Widget cross-platform.
The PlatformWidget abstraction (which already existed) is used for this.

Windows = HWND
Qt = QWidget
Mac = NSView
wx = wxWindow
Gtk = GtkWidget

There are new cross-platform methods that replace all of the unique
platform-specific methods.

platformWidget()
setPlatformWidget()

For plugins, on every platform except Qt on Windows, the plugin's native
widget is now stored in the Widget base class. Since Qt on Windows uses
HWNDs for plugins instead of QWidget, it is the only platform to keep the
m_window variable in PluginView.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::createScriptInstanceForWidget):
  • page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper attachmentView]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  • page/mac/EventHandlerMac.mm: (WebCore::EventHandler::passMouseDownEventToWidget): (WebCore::EventHandler::mouseDownViewIfStillGood): (WebCore::EventHandler::passWheelEventToWidget): (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
  • platform/Widget.cpp: (WebCore::Widget::init): (WebCore::Widget::setParent): (WebCore::Widget::releasePlatformWidget): (WebCore::Widget::retainPlatformWidget):
  • platform/Widget.h: (WebCore::Widget::platformWidget): (WebCore::Widget::setPlatformWidget):
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::Widget): (WebCore::Widget::setFocus): (WebCore::gdkDrawable): (WebCore::Widget::setCursor): (WebCore::Widget::show): (WebCore::Widget::hide): (WebCore::Widget::setEnabled): (WebCore::Widget::isEnabled): (WebCore::Widget::paint):
  • platform/mac/PlatformScreenMac.mm: (WebCore::screenRect): (WebCore::screenAvailableRect):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::scrollView): (WebCore::ScrollView::update): (WebCore::ScrollView::inWindow):
  • platform/mac/ScrollbarMac.mm: (WebCore::ScrollbarMac::ScrollbarMac): (WebCore::ScrollbarMac::~ScrollbarMac): (WebCore::ScrollbarMac::updateThumbPosition): (WebCore::ScrollbarMac::updateThumbProportion): (WebCore::ScrollbarMac::scrollbarHit):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::Widget): (WebCore::Widget::setEnabled): (WebCore::Widget::isEnabled): (WebCore::Widget::setFocus): (WebCore::Widget::getOuterView): (WebCore::Widget::paint): (WebCore::Widget::invalidate): (WebCore::Widget::invalidateRect): (WebCore::Widget::setIsSelected): (WebCore::Widget::releasePlatformWidget): (WebCore::Widget::retainPlatformWidget):
  • platform/qt/WidgetQt.cpp: (WebCore::WidgetPrivate::WidgetPrivate): (WebCore::Widget::Widget): (WebCore::Widget::setFrameGeometry): (WebCore::Widget::show): (WebCore::Widget::hide): (WebCore::Widget::isEnabled): (WebCore::Widget::setEnabled): (WebCore::Widget::invalidateRect): (WebCore::Widget::containingWindow):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::Widget):
  • platform/wx/WidgetWx.cpp: (WebCore::Widget::Widget): (WebCore::Widget::frameGeometry): (WebCore::Widget::setFocus): (WebCore::Widget::setCursor): (WebCore::Widget::show): (WebCore::Widget::hide): (WebCore::Widget::setFrameGeometry): (WebCore::Widget::setEnabled): (WebCore::Widget::isEnabled): (WebCore::Widget::invalidate): (WebCore::Widget::invalidateRect): (WebCore::Widget::paint):
  • plugins/PluginView.cpp: (WebCore::PluginView::PluginView):
  • plugins/PluginView.h: (WebCore::PluginView::platformPluginWidget):
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::updateWindow): (WebCore::PluginView::setFocus): (WebCore::PluginView::show): (WebCore::PluginView::hide): (WebCore::PluginView::setParent): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::setParentVisible): (WebCore::PluginView::getValue): (WebCore::PluginView::forceRedraw): (WebCore::PluginView::init):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::updateWindow): (WebCore::PluginView::setFocus): (WebCore::PluginView::show): (WebCore::PluginView::hide): (WebCore::PluginView::setParent): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::setParentVisible): (WebCore::PluginView::getValue): (WebCore::PluginView::~PluginView): (WebCore::PluginView::init):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::updateWindow): (WebCore::PluginView::setFocus): (WebCore::PluginView::show): (WebCore::PluginView::hide): (WebCore::PluginView::paint): (WebCore::PluginView::setParent): (WebCore::PluginView::setParentVisible): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::stop): (WebCore::PluginView::invalidateRect): (WebCore::PluginView::forceRedraw): (WebCore::PluginView::~PluginView): (WebCore::PluginView::init):

WebKit/mac:

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

Make the notion of Widget having an underlying native widget cross-platform.

Reviewed by Sam Weinig

  • WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent):
  • WebView/WebFrame.mm: (-[WebFrame _dragSourceMovedTo:]): (-[WebFrame _dragSourceEndedAt:operation:]):
  • WebView/WebFrameView.mm: (-[WebFrameView _install]):
  • WebView/WebRenderNode.mm: (copyRenderNode):
13:27 Changeset [36552] by mrowe@apple.com

Merge r36126.

13:27 Changeset [36551] by mrowe@apple.com

Merge r35950.

13:27 Changeset [36550] by mrowe@apple.com

Merge r32881.

13:27 Changeset [36549] by mrowe@apple.com

Versioning.

13:27 Changeset [36548] by mrowe@apple.com

Merge new Vector::remove variant from r30593.

13:27 Changeset [36547] by mrowe@apple.com

Versioning.

13:17 Changeset [36546] by barraclough@apple.com

build fix

13:16 Changeset [36545] by weinig@apple.com

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

Fix assert.

  • platform/Widget.cpp: (WebCore::Widget::setParent):
12:29 Changeset [36544] by barraclough@apple.com

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

Reviewed by Geoff Garen.

Optimizations for op_call in CTI. Move check for (ctiCode == 0) into JIT code,
move copying of scopeChain for CodeBlocks that needFullScopeChain into head of
functions, instead of checking prior to making the call.

3% on v8-tests (4% on richards, 6% in delta-blue)

  • VM/CTI.cpp: (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile):
  • VM/Machine.cpp: (JSC::Machine::execute): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_vm_compile): (JSC::Machine::cti_vm_updateScopeChain): (JSC::Machine::cti_op_construct_JSConstruct):
  • VM/Machine.h:
11:46 Changeset [36543] by hyatt@apple.com

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

Beginnings of Widget refactoring (in order to make the mixing of
widgets with and without corresponding native widgets more cross-platform).

This first patch makes the concept of a parent ScrollView cross-platform.

Note the similarity of the show/hide methods on the three PluginViews. This
will be refactored better in a later patch so that they can all share
a base class Widget show/hide method. For now the changes were made
simply to be able to bring WidgetWin's setParent method up into Widget.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • platform/ScrollView.h:
  • platform/Widget.cpp: (WebCore::Widget::init): (WebCore::Widget::setParent):
  • platform/Widget.h: (WebCore::Widget::isSelfVisible): (WebCore::Widget::isParentVisible): (WebCore::Widget::isVisible): (WebCore::Widget::setParentVisible): (WebCore::Widget::isPluginView): (WebCore::Widget::parent): (WebCore::Widget::handleEvent): (WebCore::Widget::geometryChanged):
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::Widget):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::addChild): (WebCore::ScrollView::removeChild):
  • platform/mac/ScrollbarMac.mm: (WebCore::ScrollbarMac::~ScrollbarMac):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::Widget): (WebCore::Widget::~Widget):
  • platform/qt/WidgetQt.cpp: (WebCore::WidgetPrivate::WidgetPrivate): (WebCore::Widget::Widget): (WebCore::Widget::topLevel):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::setAncestorVisible): (WebCore::ScrollView::show): (WebCore::ScrollView::hide):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::Widget): (WebCore::Widget::setParent):
  • platform/wx/WidgetWx.cpp: (WebCore::Widget::Widget):
  • plugins/PluginView.cpp: (WebCore::PluginView::PluginView):
  • plugins/PluginView.h:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::show): (WebCore::PluginView::hide): (WebCore::PluginView::setParentVisible):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::show): (WebCore::PluginView::hide): (WebCore::PluginView::setParentVisible):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::show): (WebCore::PluginView::hide): (WebCore::PluginView::setParentVisible):
11:16 ProposedWebInspectorRearchitecting edited by dglazkov@chromium.org
added a note on fetchMessages (diff)
11:08 ProposedWebInspectorRearchitecting edited by dglazkov@chromium.org
minor tweaking of the description. (diff)
11:02 ProposedWebInspectorRearchitecting edited by dglazkov@chromium.org
added a bit of background description on current InspectorController … (diff)
09:50 Changeset [36542] by ap@webkit.org

Reviewed by Adam Roben.

<rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0

  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
06:29 Changeset [36541] by vestbo@webkit.org

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

Fix the QtWebKit/Mac build

01:34 Changeset [36540] by hyatt@apple.com

Fix Gtk bustage.

01:17 Changeset [36539] by hyatt@apple.com

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

Add a #define to control whether or not to use an NSScroller on Mac.
This ifdef will allow the new NSView-less NSScroller on Mac to be
developed side by side with the current one.

The new scroller paints a debug red if turned on (although due to
Widget issues you won't see anything paint yet).

Reviewed by olliej

  • platform/Scrollbar.cpp:
  • platform/Scrollbar.h:
  • platform/mac/ScrollbarMac.h:
  • platform/mac/ScrollbarMac.mm:
  • platform/mac/ScrollbarThemeMac.cpp: (WebCore::ScrollbarThemeMac::paint):
  • platform/mac/ScrollbarThemeMac.h:

09/16/08:

23:48 Changeset [36538] by hyatt@apple.com

Fix Qt bustage.

23:32 Changeset [36537] by hyatt@apple.com

Fix Qt bustage.

22:50 Changeset [36536] by hyatt@apple.com

Fix gtk bustage.

22:06 Changeset [36535] by alp@webkit.org

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

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

  • Api/qwebframe.cpp:
  • Api/qwebpage.cpp:
21:35 Changeset [36534] by hyatt@apple.com

Fix Qt build bustage.

21:30 Changeset [36533] by alp@webkit.org

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

Reviewed by Alp Toker.

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

Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.

  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::update):
21:22 Changeset [36532] by alp@webkit.org

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

Suggested by Dave Hyatt.

Build fix and cleanup. Rename ScrollBar to Scrollbar.

21:22 Changeset [36531] by hyatt@apple.com

Fix Qt build bustage.

20:54 Changeset [36530] by hyatt@apple.com

Fix Gtk/Qt build bustage.

20:49 Changeset [36529] by hyatt@apple.com

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

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

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

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

Reviewed by Maciej Stachowiak.

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

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

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

JavaScriptCore:

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

LayoutTests:

  • fast/js/codegen-temporaries-expected.txt:
  • fast/js/resources/codegen-temporaries.js:
20:17 Changeset [36527] by hyatt@apple.com

WebCore:

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

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

Reviewed by Sam Weinig

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

WebKit/win:

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

Eliminate PlatformScrollbar.

Reviewed by Sam Weinig

  • WebScrollBar.cpp: (WebScrollBar::init):
  • WebScrollBar.h:
19:15 Changeset [36526] by hyatt@apple.com

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

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

Reviewed by Sam Weinig

  • platform/ScrollBar.cpp: (WebCore::Scrollbar::setFrameGeometry): (WebCore::Scrollbar::setParent): (WebCore::Scrollbar::windowClipRect):
  • platform/ScrollBar.h:
  • platform/ScrollView.h: (WebCore::ScrollView::windowResizerRect): (WebCore::ScrollView::resizerOverlapsContent): (WebCore::ScrollView::adjustOverlappingScrollbarCount):
  • platform/Widget.h: (WebCore::Widget::setParent):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::convertToContainingWindow):
  • platform/win/PlatformScrollBar.h:
  • platform/win/PlatformScrollBarWin.cpp:
17:18 Changeset [36525] by mrowe@apple.com

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

16:04 Changeset [36524] by mrowe@apple.com

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

Rubber-stamped by Sam Weinig.

  • fast/js/resources/garbage-collect-after-string-appends.js:
15:28 Changeset [36523] by weinig@apple.com

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

Reviewed by Mark Rowe.

Add flag to disable running sample on tests that timeout.

  • Scripts/run-webkit-tests:
14:46 Changeset [36522] by dino@apple.com

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

Reviewed by Dan Bernstein.

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

  • animations/keyframes-expected.txt: Added.
  • animations/keyframes-out-of-order-expected.txt: Added.
  • animations/keyframes-out-of-order.html: Added.
  • animations/keyframes.html: Added.
13:43 Changeset [36521] by beidson@apple.com

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

Reviewed by Sam Weinig

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


  • platform/mac-leopard/security/block-test-expected.txt:
  • platform/mac/webarchive/loading/cache-expired-subresource-expected.txt:
  • security/block-test-expected.txt:
13:15 Changeset [36520] by simon.fraser@apple.com

2008-09-16 Simon Fraser <simon.fraser@apple.com>

Reviewed by Mark Rowe

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

  • animations/change-one-anim.html:

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

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

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

12:40 Changeset [36519] by aroben@apple.com

Windows build fix after r36511

Update for rename of layoutTestController to gLayoutTestController.

  • DumpRenderTree/LayoutTestController.cpp:
  • DumpRenderTree/win/EditingDelegate.cpp:
  • DumpRenderTree/win/FrameLoadDelegate.cpp:
  • DumpRenderTree/win/ResourceLoadDelegate.cpp:
  • DumpRenderTree/win/UIDelegate.cpp:
12:32 Changeset [36518] by alice.liu@apple.com

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

build fix.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
11:47 Changeset [36517] by aroben@apple.com

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

  • Scripts/print-msvc-project-dependencies: Added.
11:01 Changeset [36516] by mrowe@apple.com

Fix the build.

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

WebCore:

Reviewed by Darin Adler.

Covered by fast/repaint/4776765.html

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

LayoutTests:

Reviewed by Darin Adler.

  • platform/mac/fast/repaint/4776765-expected.checksum:
  • platform/mac/fast/repaint/4776765-expected.png:
10:40 Changeset [36514] by barraclough@apple.com

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

Reviewed by Geoff Garen.

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

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

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

  • VM/CTI.cpp: (JSC::CTI::emitPutCTIParam): (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileMainPass):
  • VM/CTI.h:
  • VM/Machine.cpp: (JSC::Machine::cti_op_ret_activation): (JSC::Machine::cti_op_ret_profiler): (JSC::Machine::cti_op_ret_scopeChain):
  • VM/Machine.h:
10:34 Changeset [36513] by mitz@apple.com

WebCore:

Reviewed by Dave Hyatt.

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

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

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

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

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/block/basic/quirk-percent-height-grandchild.html: Added.
  • fast/replaced/percent-height-in-anonymous-block.html: Added.
  • platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.checksum: Added.
  • platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.png: Added.
  • platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.txt: Added.
  • platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.checksum: Added.
  • platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.png: Added.
  • platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.txt: Added.
10:27 Changeset [36512] by simon.fraser@apple.com

2008-09-16 Simon Fraser <simon.fraser@apple.com>

Reviewed by Eric Seidel

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

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

10:22 Changeset [36511] by simon.fraser@apple.com

2008-09-16 Simon Fraser <simon.fraser@apple.com>

Reviewed by Eric Seidel

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

10:02 Changeset [36510] by mrowe@apple.com

Fix typo in Dimitri's email address.

09:59 Changeset [36509] by mrowe@apple.com

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

Fix the Windows build.

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

  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_stricteq): (JSC::Machine::cti_op_nstricteq):
  • kjs/operations.cpp: (JSC::strictEqual):
09:59 Changeset [36508] by alp@webkit.org

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

Reviewed by Oliver Hunt and Alp Toker.

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

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

  • platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypesForEncoding):
  • platform/graphics/cairo/ImageBufferCairo.cpp: (WebCore::ImageBuffer::ImageBuffer): (WebCore::writeFunction): (WebCore::ImageBuffer::toDataURL):
09:47 Changeset [36507] by vestbo@webkit.org

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

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

09:45 Changeset [36506] by vestbo@webkit.org

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

Reviewed by Simon.

Hide unused media element controls in the QtWebKit port

09:40 Changeset [36505] by vestbo@webkit.org

Only forward events to media element controls if they are visible

09:12 Changeset [36504] by mrowe@apple.com

New branch.

07:19 Changeset [36503] by hausmann@webkit.org

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

Reviewed by Simon.

Fix compilation of the Qt scrollbar code.

07:15 Changeset [36502] by treat@webkit.org

Reviewed by Anders Carlsson.

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

05:34 WikiStart edited by lkcl@lkcl.net
(diff)
05:29 ApplicationsGtk edited by lkcl@lkcl.net
(diff)
04:12 Changeset [36501] by rwlbuis@webkit.org

Reviewed by Eric.

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

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

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

04:07 Changeset [36500] by andersca@apple.com

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

Reviewed by Cameron Zwarich.

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

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

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

Reviewed by Dave Hyatt.

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


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): (-[WebBaseNetscapePluginStream errorForReason:]): (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream dealloc]): (-[WebBaseNetscapePluginStream setRequestURL:]): (-[WebBaseNetscapePluginStream setResponseURL:]): (-[WebBaseNetscapePluginStream setMIMEType:]): (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): (-[WebBaseNetscapePluginStream _destroyStream]): (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): (-[WebBaseNetscapePluginStream _deliverData]): (-[WebBaseNetscapePluginStream receivedData:]):
02:47 Changeset [36498] by hyatt@apple.com

Fix Qt build bustage in PlatformScrollbarQt.cpp

02:33 Changeset [36497] by andersca@apple.com

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

Reviewed by Dave Hyatt.

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


  • Plugins/WebBaseNetscapePluginStream.h: (WebNetscapePluginStream::create): (WebNetscapePluginStream::WebNetscapePluginStream):
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream initWithFrameLoader:]): (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream dealloc]): (-[WebBaseNetscapePluginStream finalize]):
02:27 Changeset [36496] by hyatt@apple.com

Fix Qt build bustage in ScrollbarThemeQt.cpp

02:21 Changeset [36495] by hyatt@apple.com

Speculative fix for scrollbar issues on GTK.

02:17 Changeset [36494] by hyatt@apple.com

Fix Qt build bustage in ScrollbarThemeQt.cpp

02:16 Changeset [36493] by hyatt@apple.com

Fix Qt build bustage in ScrollbarThemeQt.cpp

02:15 Changeset [36492] by andersca@apple.com

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

Reviewed by Dave Hyatt.

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


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream setPlugin:]): (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): (-[WebBaseNetscapePluginStream wantsAllStreams]): (-[WebBaseNetscapePluginStream _destroyStream]): (-[WebBaseNetscapePluginStream _deliverData]):
  • Plugins/WebNetscapePluginPackage.h:
  • Plugins/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage pluginFuncs]):
02:11 Changeset [36491] by hyatt@apple.com

Fix Qt build bustage in PlatformScrollbarQt.cpp

02:06 Changeset [36490] by andersca@apple.com

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

Reviewed by Dave Hyatt.

Remove references to WebNetscapePluginStream.


  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebNetscapePluginEmbeddedView.h:
02:00 Changeset [36489] by hyatt@apple.com

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

Note: See TracTimeline for information about the timeline view.