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

Timeline



Sep 20, 2008:

11:50 PM Changeset in webkit [36732] by Darin Adler
  • 2 edits in trunk/WebCore

2008-09-20 Darin Adler <Darin Adler>

  • another try at fixing Qt
  • bridge/qt/qt_runtime.cpp: "using namespce WebCore"
11:34 PM Changeset in webkit [36731] by Darin Adler
  • 3 edits in trunk/WebCore

2008-09-20 Darin Adler <Darin Adler>

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

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

Prefetch DNS for hyperlinks that the user mouses over.

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

Reviewed by Sam Weinig.

  • page/Chrome.cpp: (WebCore::Chrome::mouseDidMoveOverElement):
11:21 PM Changeset in webkit [36729] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-09-20 Darin Adler <Darin Adler>

Reviewed by Mark Rowe.

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

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

Not reviewed, build fix.


  • speculative fix for non-AllInOne builds
  • kjs/operations.h:
10:54 PM Changeset in webkit [36727] by mjs@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Darin.



2.5% speedup on earley-boyer test

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

JavaScriptCore:

2008-09-20 Darin Adler <Darin Adler>

Reviewed by Maciej Stachowiak.

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

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

WebCore:

2008-09-20 Darin Adler <Darin Adler>

Reviewed by Maciej Stachowiak.

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

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

5:52 PM Changeset in webkit [36724] by mitz@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Added Radar link

5:49 PM Changeset in webkit [36723] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Eric Seidel.

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

Added a file that was missing from r36719

4:56 PM Changeset in webkit [36720] by kevino@webkit.org
  • 2 edits in trunk

Add missing bug reference to ChangeLog.

4:46 PM Changeset in webkit [36719] by eric@webkit.org
  • 12 edits in trunk/WebCore

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

Reviewed by eseidel. Landed by eseidel.

Moved DashArray to the GraphicsContext.

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

Reviewed by Dan Bernstein.

Fix two memory leaks.

3:31 PM Changeset in webkit [36717] by kevino@webkit.org
  • 11 edits in trunk

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

3:21 PM Changeset in webkit [36716] by timothy@apple.com
  • 2 edits in trunk/WebCore

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

  • page/inspector/Images/nodeSearchButtons.png:
2:53 PM Changeset in webkit [36715] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Tim Hatcher.

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

  • page/InspectorController.cpp: (WebCore::InspectorController::windowScriptObjectAvailable):
2:53 PM Changeset in webkit [36714] by pewtermoose@webkit.org
  • 2 edits in trunk/WebKit/mac

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

Reviewed by Tim Hatcher.

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

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

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

Reviewed by Tim Hatcher.

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

  • page/inspector/inspector.css:
1:19 PM Changeset in webkit [36712] by Nikolas Zimmermann
  • 15 edits
    2 copies in trunk/WebCore

Reviewed by Eric.

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

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

7:36 AM Changeset in webkit [36711] by Darin Adler
  • 2 edits in trunk/WebKit/win

2008-09-20 Darin Adler <Darin Adler>

  • fix build
  • WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::paintCustomScrollbar): Tweaked constant names to make this compile, but it may not be working correctly. Hyatt should do the real fix.
7:29 AM Changeset in webkit [36710] by Darin Adler
  • 2 edits in trunk/WebKitTools

2008-09-20 Darin Adler <Darin Adler>

  • DumpRenderTree/mac/DumpRenderTree.mm: (convertMIMEType): Turn on Stephanie's workaround for Tiger too.
7:24 AM Changeset in webkit [36709] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[qtwebkit] ScrollBar build fix after r36684.

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

7:24 AM Changeset in webkit [36708] by zecke@webkit.org
  • 2 edits in trunk/WebCore

[qtwebkit] Make qt_instance.cpp compile.

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

7:24 AM Changeset in webkit [36707] by zecke@webkit.org
  • 3 edits in trunk/WebCore

[svg] Change SVGLocatable to deal with a plain SVGElement

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

7:23 AM Changeset in webkit [36706] by zecke@webkit.org
  • 3 edits in trunk/WebCore

[svg] Use OwnPtr for the SVGExtensions

Use OwnPtr to avoid custom lifetime management.

Sep 19, 2008:

11:34 PM Changeset in webkit [36705] by alp@webkit.org
  • 7 edits in trunk

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

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

10:17 PM Changeset in webkit [36704] by Stephanie Lewis
  • 6 edits in trunk

2008-09-19 Stephanie Lewis <Stephanie Lewis>

Reviewed by Oliver Hunt.

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

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

Use correct mime-type for javascript

  • svg/webarchive/svg-script-subresouces-expected.webarchive:
  • webarchive/test-duplicate-resources-expected.webarchive:
  • webarchive/test-script-src-expected.webarchive:
10:09 PM Changeset in webkit [36703] by hyatt@apple.com
  • 2 edits in trunk/WebCore

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

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

Reviewed by Oliver Hunt

  • page/animation/AnimationBase.cpp: (WebCore::PropertyWrapperGetter::equals):
9:50 PM Changeset in webkit [36702] by hyatt@apple.com
  • 7 edits in trunk/WebCore

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

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

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

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::cacheFrame): (WebCore::BitmapImage::startAnimation):
  • platform/graphics/BitmapImage.h: (WebCore::FrameData::FrameData):
  • platform/graphics/cairo/ImageCairo.cpp: (WebCore::FrameData::clear):
  • platform/graphics/cg/ImageCG.cpp: (WebCore::FrameData::clear):
  • platform/graphics/qt/ImageQt.cpp: (WebCore::FrameData::clear):
  • platform/graphics/wx/ImageWx.cpp: (WebCore::FrameData::clear):
9:35 PM Changeset in webkit [36701] by weinig@apple.com
  • 11 edits in trunk/JavaScriptCore

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

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

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

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

Reviewed by Timothy Hatcher.

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

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

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

  • bindings/js/JSAttrCustom.cpp:
  • bindings/js/JSElementCustom.cpp:
  • bindings/js/JSEventTargetBase.cpp:
  • bindings/js/JSEventTargetBase.h:
  • bindings/js/JSEventTargetNode.cpp:
  • bindings/js/JSHTMLFrameElementCustom.cpp:
  • bindings/js/JSHTMLIFrameElementCustom.cpp:
  • bindings/scripts/CodeGeneratorJS.pm:
  • css/CSSCursorImageValue.cpp:
  • css/SVGCSSStyleSelector.cpp:
  • dom/make_names.pl:
  • svg/SVGAnimateElement.h:
  • svg/SVGAnimatedProperty.h: (WebCore::::baseValue): (WebCore::::setBaseValue): (WebCore::::startAnimation): (WebCore::::stopAnimation):
  • svg/SVGElement.cpp: (WebCore::SVGElement::accessDocumentSVGExtensions):
  • svg/SVGElement.h:
  • svg/SVGElementInstance.cpp:
  • svg/SVGFitToViewBox.cpp:
  • svg/SVGFontElement.cpp:
  • svg/SVGFontFaceElement.cpp:
  • svg/SVGLinearGradientElement.cpp:
  • svg/SVGMPathElement.cpp:
  • svg/SVGViewSpec.cpp:
8:33 PM Changeset in webkit [36699] by Nikolas Zimmermann
  • 10 edits
    39 adds in trunk

Reviewed by Antti & Eric.

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

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

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

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

8:23 PM Changeset in webkit [36698] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by John Sullivan.

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

  • dom/Position.cpp: (WebCore::Position::getInlineBoxAndOffset):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::positionForOffset):
8:21 PM Changeset in webkit [36697] by hyatt@apple.com
  • 3 edits in trunk/WebCore

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

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

Reviewed by Sam Weinig

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint):
  • platform/mac/ScrollbarThemeMac.mm: (WebCore::): (WebCore::ScrollbarThemeMac::backButtonRect): (WebCore::ScrollbarThemeMac::forwardButtonRect): (WebCore::ScrollbarThemeMac::trackRect): (WebCore::ScrollbarThemeMac::paintButton):
8:19 PM Changeset in webkit [36696] by weinig@apple.com
  • 11 edits in trunk/JavaScriptCore

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

Roll out r36694.

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

Improve peformance of local variable initialisation.

Reviewed by Maciej Stachowiak

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

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

7:23 PM Changeset in webkit [36694] by weinig@apple.com
  • 11 edits in trunk/JavaScriptCore

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

Reviewed by Darin Adler.

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

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

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

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

6:22 PM Changeset in webkit [36692] by alice.liu@apple.com
  • 2 edits in trunk/WebKit/win

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

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

Reviewed by Mark Rowe.

  • COMPropertyBag.h: (::GetPropertyInfo): correct mis-use of comma operator
6:08 PM Changeset in webkit [36691] by hyatt@apple.com
  • 2 edits in trunk/WebCore/platform

Fix build bustage on Win.

6:05 PM Changeset in webkit [36690] by Darin Adler
  • 4 edits in trunk/WebCore

2008-09-19 Darin Adler <Darin Adler>

  • try to fix Qt build
  • bridge/qt/qt_instance.cpp: (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument. (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
  • bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
  • bridge/runtime_object.h: Ditto.
5:57 PM Changeset in webkit [36689] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/win/ScrollbarThemeWin.cpp

Fix build bustage.

5:54 PM Changeset in webkit [36688] by hyatt@apple.com
  • 3 edits in trunk/WebCore/platform

Fix build bustage.

5:53 PM Changeset in webkit [36687] by dino@apple.com
  • 8 edits
    2 adds in trunk

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

Reviewed by Dave Hyatt.

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

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

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

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

  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::updateTransitions): (WebCore::CompositeAnimation::updateKeyframeAnimations): (WebCore::CompositeAnimation::animate): (WebCore::CompositeAnimation::getAnimationForProperty):
  • page/animation/CompositeAnimation.h:
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::reset):
  • page/animation/ImplicitAnimation.h:
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::hasAnimationForProperty):
  • page/animation/KeyframeAnimation.h: (WebCore::KeyframeAnimation::KeyframeAnimation): (WebCore::KeyframeAnimation::unanimatedStyle):
5:42 PM Changeset in webkit [36686] by hyatt@apple.com
  • 9 edits in trunk/WebCore

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

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

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

Reviewed by Sam Weinig

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::hitTest): (WebCore::ScrollbarThemeComposite::invalidatePart):
  • platform/ScrollbarThemeComposite.h:
  • platform/mac/ScrollbarThemeMac.h:
  • platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::backButtonRect): (WebCore::ScrollbarThemeMac::forwardButtonRect): (WebCore::ScrollbarThemeMac::paintButton):
  • platform/win/ScrollbarThemeSafari.cpp: (WebCore::ScrollbarThemeSafari::backButtonRect): (WebCore::ScrollbarThemeSafari::forwardButtonRect): (WebCore::ScrollbarThemeSafari::paintButton):
  • platform/win/ScrollbarThemeSafari.h:
  • platform/win/ScrollbarThemeWin.cpp: (WebCore::ScrollbarThemeWin::backButtonRect): (WebCore::ScrollbarThemeWin::forwardButtonRect): (WebCore::ScrollbarThemeWin::paintButton):
  • platform/win/ScrollbarThemeWin.h:
5:11 PM Changeset in webkit [36685] by pewtermoose@webkit.org
  • 8 edits
    1 add in trunk/WebCore

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

Reviewed by Tim Hatcher.

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

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

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

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

Reviewed by Sam Weinig

  • platform/ScrollTypes.h: (WebCore::):
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::autoscrollTimerFired): (WebCore::Scrollbar::pressedPartScrollDirection): (WebCore::Scrollbar::pressedPartScrollGranularity): (WebCore::Scrollbar::handleMouseMoveEvent):
  • platform/ScrollbarTheme.h: (WebCore::ScrollbarTheme::buttonsPlacement): (WebCore::ScrollbarTheme::invalidateParts):
  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint): (WebCore::ScrollbarThemeComposite::hitTest): (WebCore::ScrollbarThemeComposite::invalidatePart):
  • platform/ScrollbarThemeComposite.h:
4:02 PM Changeset in webkit [36683] by Beth Dakin
  • 3 edits
    4 adds in trunk

WebCore:

2008-09-19 Beth Dakin <Beth Dakin>

Reviewed by Dave Hyatt.

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

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

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

LayoutTests:

2008-09-19 Beth Dakin <Beth Dakin>

Reviewed by Dave Hyatt.

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

  • fast/table/empty-row-crash.html: Added.
  • platform/mac/fast/table/empty-row-crash-expected.checksum: Added.
  • platform/mac/fast/table/empty-row-crash-expected.png: Added.
  • platform/mac/fast/table/empty-row-crash-expected.txt: Added.
3:55 PM Changeset in webkit [36682] by hyatt@apple.com
  • 5 edits in trunk/WebCore

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

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

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

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

Reviewed by Sam Weinig

  • platform/ScrollTypes.h: (WebCore::):
  • platform/ScrollbarThemeComposite.h: (WebCore::ScrollbarThemeComposite::buttonsPlacement):
  • platform/mac/ScrollbarThemeMac.mm: (WebCore::updateArrowPlacement): (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
3:47 PM Changeset in webkit [36681] by sfalken@apple.com
  • 2 edits in trunk/WebCore

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


Rubber stamped by Mark Rowe.

  • platform/win/SharedTimerWin.cpp: (WebCore::isRunningOnVistaOrLater): (WebCore::setSharedTimerFireTime):
3:46 PM Changeset in webkit [36680] by Chris Fleizach
  • 2 edits in trunk/WebKitTools

Fix Windows bustage

3:12 PM Changeset in webkit [36679] by hyatt@apple.com
  • 3 edits in trunk/WebCore

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

Reviewed by Tim.

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

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

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

Reviewed by Tim.

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

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

Removed unnecessary #if

2:20 PM Changeset in webkit [36676] by hyatt@apple.com
  • 3 edits
    1 move in trunk/WebCore

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

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

Reviewed by Sam Weinig

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mac/ScrollbarThemeMac.cpp: Removed.
  • platform/mac/ScrollbarThemeMac.h: (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
  • platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
2:15 PM Changeset in webkit [36675] by Darin Adler
  • 46 edits in trunk

JavaScriptCore:

2008-09-19 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

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

WebCore:

2008-09-19 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

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

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

+ Got rid of cacheGlobalObject.

+ Improved use of PassRefPtr in bindings code.

+ Removed a couple cases where we were potentially allocating prototypes

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

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

Fixed ChangeLog typo

2:02 PM Changeset in webkit [36673] by mitz@apple.com
  • 6 edits in trunk/WebCore

Reviewed by Dave Hyatt.

This optimization was suggested by Daniel Fenwick

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

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

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

WebCore:

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

Reviewed by Sam Weinig

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

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

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

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

LayoutTests:

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

Fix for bug 20941.

Reviewed by Sam Weinig

  • fast/block/positioning/replaced-inside-fixed-top-bottom.html: Added.
  • platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.checksum: Added.
  • platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.png: Added.
  • platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.txt: Added.
1:48 PM Changeset in webkit [36671] by Chris Fleizach
  • 2 edits in trunk/WebCore

Fix Tiger bustage

1:24 PM Changeset in webkit [36670] by Chris Fleizach
  • 11 edits
    2 adds in trunk

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

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

1:05 PM ProposedWebInspectorRearchitecting edited by Dimitri Glazkov
(diff)
1:04 PM Changeset in webkit [36669] by Chris Fleizach
  • 2 edits in trunk/WebCore

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

1:02 PM ProposedWebInspectorRearchitecting edited by Dimitri Glazkov
started on message format (diff)
11:47 AM Changeset in webkit [36668] by Darin Adler
  • 2 edits in trunk/WebKit/mac

2008-09-19 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

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

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

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

4:06 AM Changeset in webkit [36666] by zecke@webkit.org
  • 2 edits in trunk/WebCore

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

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

2:55 AM Changeset in webkit [36665] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix Gtk bustage.

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

Fix Qt bustage.

1:50 AM Changeset in webkit [36663] by jchaffraix@webkit.org
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Alexey Proskuryakov.

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

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

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

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

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