oliver@apple.com [Sat, 20 Sep 2008 03:00:43 +0000 (03:00 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36695
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 20 Sep 2008 02:23:42 +0000 (02:23 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36694
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Sat, 20 Sep 2008 01:54:18 +0000 (01:54 +0000)]
Fix a mismatched new[]/delete in JSObject::allocatePropertyStorage
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36693
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alice.liu@apple.com [Sat, 20 Sep 2008 01:22:19 +0000 (01:22 +0000)]
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
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36692
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Sat, 20 Sep 2008 01:08:47 +0000 (01:08 +0000)]
Fix build bustage on Win.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36691
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 20 Sep 2008 01:05:35 +0000 (01:05 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36690
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Sat, 20 Sep 2008 00:57:34 +0000 (00:57 +0000)]
Fix build bustage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36689
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Sat, 20 Sep 2008 00:54:40 +0000 (00:54 +0000)]
Fix build bustage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36688
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Sat, 20 Sep 2008 00:53:49 +0000 (00:53 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36687
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Sat, 20 Sep 2008 00:42:36 +0000 (00:42 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36686
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose@webkit.org [Sat, 20 Sep 2008 00:11:32 +0000 (00:11 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36685
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 23:39:26 +0000 (23:39 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36684
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Fri, 19 Sep 2008 23:02:03 +0000 (23:02 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36683
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 22:55:56 +0000 (22:55 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36682
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Fri, 19 Sep 2008 22:47:45 +0000 (22:47 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36681
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Fri, 19 Sep 2008 22:46:05 +0000 (22:46 +0000)]
Fix Windows bustage
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36680
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 22:12:07 +0000 (22:12 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36679
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullough@apple.com [Fri, 19 Sep 2008 21:56:14 +0000 (21:56 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36678
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Fri, 19 Sep 2008 21:39:21 +0000 (21:39 +0000)]
Removed unnecessary #if
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36677
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 21:20:59 +0000 (21:20 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36676
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 19 Sep 2008 21:15:14 +0000 (21:15 +0000)]
JavaScriptCore:
2008-09-19 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
- part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
make each distinct C++ class get a distinct JSC::Structure
* 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.
- part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
make each distinct C++ class get a distinct JSC::Structure
+ 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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36675
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 19 Sep 2008 21:10:48 +0000 (21:10 +0000)]
Fixed ChangeLog typo
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36674
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 19 Sep 2008 21:02:55 +0000 (21:02 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36673
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 20:54:33 +0000 (20:54 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36672
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Fri, 19 Sep 2008 20:48:57 +0000 (20:48 +0000)]
Fix Tiger bustage
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36671
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Fri, 19 Sep 2008 20:24:48 +0000 (20:24 +0000)]
<rdar://problem/6211041> Expose legend tag in accessibility
Makes the <legend> tag the titleUIElement of the field set.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36670
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Fri, 19 Sep 2008 20:04:13 +0000 (20:04 +0000)]
<rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36669
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 19 Sep 2008 18:47:00 +0000 (18:47 +0000)]
2008-09-19 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
- speculative fix for https://bugs.webkit.org/show_bug.cgi?id=20943
Assertion failure in RefCountedLeakCounter::cancelMessageSuppression() when closing a window
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Moved call to
RefCountedLeakCounter::suppressMessages in here.
(-[WebView initWithFrame:frameName:groupName:]): Moved it out of here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36668
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Fri, 19 Sep 2008 11:43:27 +0000 (11:43 +0000)]
[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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36667
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Fri, 19 Sep 2008 11:06:55 +0000 (11:06 +0000)]
[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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36666
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 09:55:25 +0000 (09:55 +0000)]
Fix Gtk bustage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36665
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 09:54:21 +0000 (09:54 +0000)]
Fix Qt bustage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36664
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jchaffraix@webkit.org [Fri, 19 Sep 2008 08:50:13 +0000 (08:50 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36663
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 19 Sep 2008 06:49:35 +0000 (06:49 +0000)]
JavaScriptCore:
2008-09-18 Darin Adler <darin@apple.com>
Reviewed by Maciej Stachowiak.
- part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
make each distinct C++ class get a distinct JSC::Structure
* 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.
- part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
make each distinct C++ class get a distinct JSC::Structure
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36662
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 06:48:30 +0000 (06:48 +0000)]
Fix conflict inXCode file.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36661
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 19 Sep 2008 06:32:12 +0000 (06:32 +0000)]
2008-09-18 Darin Adler <darin@apple.com>
Reviewed by Maciej Stachowiak.
- https://bugs.webkit.org/show_bug.cgi?id=20927
simplify/streamline the code to turn strings into identifiers while parsing
* 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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36660
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 06:30:16 +0000 (06:30 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36659
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
collinj@webkit.org [Fri, 19 Sep 2008 06:13:22 +0000 (06:13 +0000)]
2008-09-18 Collin Jackson <collinj@webkit.org>
Build fix; added missing header file to GNUmakefile.am
* GNUmakefile.am:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36658
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 05:54:49 +0000 (05:54 +0000)]
Fix Mac release build bustage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36657
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 05:53:07 +0000 (05:53 +0000)]
Fix Mac release build bustage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36656
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 19 Sep 2008 05:52:55 +0000 (05:52 +0000)]
2008-09-18 Darin Adler <darin@apple.com>
* Scripts/do-webcore-rename: More renaming plans.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36655
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
collinj@webkit.org [Fri, 19 Sep 2008 05:24:49 +0000 (05:24 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36654
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Fri, 19 Sep 2008 04:56:21 +0000 (04:56 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36653
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 19 Sep 2008 04:47:58 +0000 (04:47 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36652
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 04:30:53 +0000 (04:30 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36651
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
collinj@webkit.org [Fri, 19 Sep 2008 04:15:14 +0000 (04:15 +0000)]
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36650
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 04:01:56 +0000 (04:01 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36649
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 03:18:54 +0000 (03:18 +0000)]
Fix Qt warning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36648
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 03:16:26 +0000 (03:16 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36647
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 03:04:05 +0000 (03:04 +0000)]
Fix Qt/Win/Gtk bustage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36646
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 03:01:08 +0000 (03:01 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36645
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Fri, 19 Sep 2008 02:53:37 +0000 (02:53 +0000)]
2008-09-18 Maciej Stachowiak <mjs@apple.com>
Not reviewed.
* blog-files/animation-demo.svg: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36644
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 02:36:08 +0000 (02:36 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36643
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 02:29:27 +0000 (02:29 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36642
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Fri, 19 Sep 2008 01:51:55 +0000 (01:51 +0000)]
2008-09-18 Maciej Stachowiak <mjs@apple.com>
Not reviewed.
* blog-files/sfx-perf.png: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36641
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Fri, 19 Sep 2008 01:34:01 +0000 (01:34 +0000)]
2008-09-18 Sam Weinig <sam@webkit.org>
Fix style.
* VM/Instruction.h:
(JSC::Instruction::Instruction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36640
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Fri, 19 Sep 2008 01:00:18 +0000 (01:00 +0000)]
[qt] Build fixes after the Widget/ScrollView cleanup
topLevel() is now root()
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36639
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 00:51:03 +0000 (00:51 +0000)]
Fix WIndows bustage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36638
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 19 Sep 2008 00:46:56 +0000 (00:46 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36637
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Fri, 19 Sep 2008 00:39:51 +0000 (00:39 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36636
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Fri, 19 Sep 2008 00:28:05 +0000 (00:28 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36635
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Fri, 19 Sep 2008 00:01:07 +0000 (00:01 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36634
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 18 Sep 2008 23:47:32 +0000 (23:47 +0000)]
2008-09-18 Darin Adler <darin@apple.com>
- fix release build
* wtf/RefCountedLeakCounter.cpp: Removed stray "static".
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36633
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 18 Sep 2008 23:34:09 +0000 (23:34 +0000)]
2008-09-18 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
* kjs/JSGlobalObject.h: Tiny style guideline tweak.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36632
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 18 Sep 2008 23:30:23 +0000 (23:30 +0000)]
2008-09-18 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
- fix https://bugs.webkit.org/show_bug.cgi?id=20925
LEAK messages appear every time I quit
* 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.
- fix https://bugs.webkit.org/show_bug.cgi?id=20925
LEAK messages appear every time I quit
* 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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36631
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Thu, 18 Sep 2008 23:28:34 +0000 (23:28 +0000)]
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::):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36630
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Thu, 18 Sep 2008 23:08:35 +0000 (23:08 +0000)]
2008-09-18 Beth Dakin <bdakin@apple.com>
Reviewed by Geoff Garen.
Build fix for non-Mac builds.
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::cssText):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36629
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Thu, 18 Sep 2008 23:07:55 +0000 (23:07 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36628
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Thu, 18 Sep 2008 22:54:37 +0000 (22:54 +0000)]
<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
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36627
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Thu, 18 Sep 2008 22:29:34 +0000 (22:29 +0000)]
Use higher-resolution timers on all variants of Windows.
Reviewed by Darin Adler.
* platform/win/SharedTimerWin.cpp:
(WebCore::setSharedTimerFireTime):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36626
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Thu, 18 Sep 2008 22:21:25 +0000 (22:21 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36625
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Thu, 18 Sep 2008 22:18:01 +0000 (22:18 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36624
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 18 Sep 2008 21:46:14 +0000 (21:46 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36623
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Thu, 18 Sep 2008 21:29:23 +0000 (21:29 +0000)]
Fix Mac bustage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36622
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Thu, 18 Sep 2008 20:24:16 +0000 (20:24 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36621
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Thu, 18 Sep 2008 20:09:41 +0000 (20:09 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36620
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 18 Sep 2008 19:40:24 +0000 (19:40 +0000)]
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==):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36619
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele@apple.com [Thu, 18 Sep 2008 18:49:44 +0000 (18:49 +0000)]
2008-09-18 Adele Peterson <adele@apple.com>
Reviewed by Dan Bernstein.
Fix RenderStyle leaks.
* rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36618
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 18 Sep 2008 18:30:48 +0000 (18:30 +0000)]
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]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36617
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullough@apple.com [Thu, 18 Sep 2008 18:03:23 +0000 (18:03 +0000)]
2008-09-18 Kevin McCullough <kmccullough@apple.com>
Accidentally checked in code.
* html/HTMLElementFactory.cpp:
(WebCore::frameConstructor):
(WebCore::iframeConstructor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36616
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullough@apple.com [Thu, 18 Sep 2008 17:21:49 +0000 (17:21 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36615
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Thu, 18 Sep 2008 11:50:26 +0000 (11:50 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36614
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
slewis@apple.com [Thu, 18 Sep 2008 09:39:12 +0000 (09:39 +0000)]
2008-09-18 Stephanie Lewis <slewis@apple.com>
Really fix tiger jsc tests.
* Scripts/run-javascriptcore-tests:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36613
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Thu, 18 Sep 2008 09:35:52 +0000 (09:35 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36612
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
slewis@apple.com [Thu, 18 Sep 2008 09:13:24 +0000 (09:13 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36611
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Thu, 18 Sep 2008 08:10:49 +0000 (08:10 +0000)]
2008-09-18 Alp Toker <alp@nuanti.com>
Build fix for r36587. Add new sources (and sort the lists).
* GNUmakefile.am:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36610
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 18 Sep 2008 07:48:12 +0000 (07:48 +0000)]
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:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36609
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 18 Sep 2008 07:48:09 +0000 (07:48 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36608
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
slewis@apple.com [Thu, 18 Sep 2008 07:43:59 +0000 (07:43 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36607
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 18 Sep 2008 07:09:37 +0000 (07:09 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36606
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Thu, 18 Sep 2008 06:45:48 +0000 (06:45 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36605
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Thu, 18 Sep 2008 06:20:42 +0000 (06:20 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36604
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 18 Sep 2008 05:51:35 +0000 (05:51 +0000)]
2008-09-17 Sam Weinig <sam@webkit.org>
Fix Windows build.
* WebCore.vcproj/WebCore.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36603
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Thu, 18 Sep 2008 05:28:40 +0000 (05:28 +0000)]
Fix mysterious Mac bustage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36602
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Thu, 18 Sep 2008 05:10:03 +0000 (05:10 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36601
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 18 Sep 2008 05:03:21 +0000 (05:03 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36600
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 18 Sep 2008 04:28:40 +0000 (04:28 +0000)]
2008-09-17 Sam Weinig <sam@webkit.org>
Fix gtk build.
* rendering/style/MatrixTransformOperation.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36599
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Thu, 18 Sep 2008 03:36:03 +0000 (03:36 +0000)]
Fix Mac bustage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36598
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Thu, 18 Sep 2008 03:32:44 +0000 (03:32 +0000)]
Fix build bustage on Qt, Gtk, Win.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36596
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Thu, 18 Sep 2008 03:28:57 +0000 (03:28 +0000)]
Fix build bustage on Qt, Gtk, Win.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36594
268f45cc-cd09-0410-ab3c-
d52691b4dbfc