2008-11-04 Anders Carlsson <andersca@apple.com>
[webkit/qt.git] / WebCore / ChangeLog
blob8db466f94e7eca67d702d5f9c45b9025812da17f
1 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
3         Rubber-stamped by Sam Weinig.
5         Move kjs/dtoa.h to the wtf subdirectory of JavaScriptCore.
7         * ForwardingHeaders/kjs/dtoa.h: Removed.
8         * ForwardingHeaders/wtf/dtoa.h: Copied from ForwardingHeaders/kjs/dtoa.h.
9         * css/CSSParser.cpp:
10         * platform/text/String.cpp:
11         * platform/text/StringImpl.cpp:
13 2008-11-04  Jonathan Haas  <myrdred@gmail.com>
15         Addiitonal tweaks and patch prep by Pamela Greene <pam@chromium.org>
17         Reviewed by Darin Adler.
19         Fixed an issue which could cause memory corruption using ToT libxml.
20         See https://bugs.webkit.org/show_bug.cgi?id=15715
22         Test: fast/xsl/xslt-nested-stylesheets.xml
24         * xml/XSLImportRule.cpp:
25         (WebCore::XSLImportRule::setXSLStyleSheet): Set parent rather than owner document
26         * xml/XSLStyleSheet.cpp:
27         (WebCore::XSLStyleSheet::XSLStyleSheet): Initialize m_parentStyleSheet
28         (WebCore::XSLStyleSheet::parseString): Make all child stylesheets use parent's dictionary
29         (WebCore::XSLStyleSheet::setParentStyleSheet): Added
30         * xml/XSLStyleSheet.h: Added m_parentStyleSheet member
32 2008-11-04  Simon Fraser  <simon.fraser@apple.com>
34         No review.
36         Improved buid fix: include MathExtras.h to get roundf on all platforms.
38         * platform/graphics/FloatPoint.h:
40 2008-11-04  Brady Eidson  <beidson@apple.com>
42         Reviewed by John Sullivan
44         Add a simple "visited" method to HistoryItem for use by global history
46         * WebCore.base.exp:
48         * history/HistoryItem.cpp:
49         (WebCore::HistoryItem::visited):  Update the title on the item, set last visited time,
50           and bump the visit count.  All things that should happen when a url is visited again!
51         * history/HistoryItem.h:
53 2008-11-04  Jan Michael Alonzo  <jmalonzo@webkit.org>
55         Build fix. Not reviewed.
57         * platform/graphics/FloatPoint.h: include math.h.
58         reported by zdobersek in #webkit.
60 2008-11-04  Darin Fisher  <darin@chromium.org>
62         Reviewed by Anders Carlsson.
64         No need to clobber all ResourceRequest fields in FrameLoader::reload()
65         https://bugs.webkit.org/show_bug.cgi?id=21949
67         * loader/FrameLoader.cpp:
68         (WebCore::FrameLoader::reload):
70 2008-11-04  Darin Adler  <darin@apple.com>
72         Reviewed by Tim Hatcher.
74         * storage/Database.cpp:
75         (WebCore::databaseVersionKey): Tweaked formatting.
77 2008-11-03  Darin Adler  <darin@apple.com>
79         Reviewed by Tim Hatcher.
81         - https://bugs.webkit.org/show_bug.cgi?id=22061
82           create script to check for exit-time destructors
84         * WebCore.xcodeproj/project.pbxproj: Added a script
85         phase that runs the check-for-exit-time-destructors script.
87         * html/HTMLAttributeNames.in: Removed some unused attribute names.
89         * html/HTMLEmbedElement.cpp:
90         (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
91         sets the write-only m_pluginPage.
92         * html/HTMLEmbedElement.h: Ditto.
94         * platform/mac/CursorMac.mm:
95         (WebCore::leakNamedCursor): Changed to return a Cursor&.
96         (WebCore::pointerCursor): Changed to leak an object to avoid an
97         exit-time destructor.
98         (WebCore::crossCursor): Ditto.
99         (WebCore::handCursor): Ditto.
100         (WebCore::moveCursor): Ditto.
101         (WebCore::verticalTextCursor): Ditto.
102         (WebCore::cellCursor): Ditto.
103         (WebCore::contextMenuCursor): Ditto.
104         (WebCore::aliasCursor): Ditto.
105         (WebCore::zoomInCursor): Ditto.
106         (WebCore::zoomOutCursor): Ditto.
107         (WebCore::copyCursor): Ditto.
108         (WebCore::noneCursor): Ditto.
109         (WebCore::progressCursor): Ditto.
110         (WebCore::noDropCursor): Ditto.
111         (WebCore::notAllowedCursor): Ditto.
112         (WebCore::iBeamCursor): Ditto.
113         (WebCore::waitCursor): Ditto.
114         (WebCore::helpCursor): Ditto.
115         (WebCore::eastResizeCursor): Ditto.
116         (WebCore::northResizeCursor): Ditto.
117         (WebCore::northEastResizeCursor): Ditto.
118         (WebCore::northWestResizeCursor): Ditto.
119         (WebCore::southResizeCursor): Ditto.
120         (WebCore::southEastResizeCursor): Ditto.
121         (WebCore::southWestResizeCursor): Ditto.
122         (WebCore::westResizeCursor): Ditto.
123         (WebCore::northSouthResizeCursor): Ditto.
124         (WebCore::eastWestResizeCursor): Ditto.
125         (WebCore::northEastSouthWestResizeCursor): Ditto.
126         (WebCore::northWestSouthEastResizeCursor): Ditto.
127         (WebCore::columnResizeCursor): Ditto.
128         (WebCore::rowResizeCursor): Ditto.
129         (WebCore::grabCursor): Ditto.
130         (WebCore::grabbingCursor): Ditto.
132         * storage/Database.cpp:
133         (WebCore::guidMutex): Changed to leak an object to avoid an
134         exit-time destructor. Also added a comment explaining why it's
135         thread safe.
136         (WebCore::guidToVersionMap): Ditto.
137         (WebCore::guidToDatabaseMap): Ditto.
138         (WebCore::Database::databaseInfoTableName): Ditto.
139         (WebCore::databaseVersionKey): Ditto.
140         (WebCore::Database::getVersionFromDatabase): Ditto.
141         (WebCore::Database::setVersionInDatabase): Ditto.
142         (WebCore::guidForOriginAndName): Ditto.
143         * storage/DatabaseTracker.cpp:
144         (WebCore::DatabaseTracker::tracker): Ditto.
145         (WebCore::notificationMutex): Ditto.
146         (WebCore::notificationQueue): Ditto.
147         (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
149 2008-11-04  Simon Fraser  <simon.fraser@apple.com>
151         Reviewed by Dave Hyatt
153         https://bugs.webkit.org/show_bug.cgi?id=21941
155         Rename absolutePosition() to localToAbsolute(), and add the ability
156         to optionally take transforms into account (which will eventually be the
157         default behavior).
159         * WebCore.base.exp:
160         * WebCore.xcodeproj/project.pbxproj:
161         * dom/ContainerNode.cpp:
162         (WebCore::ContainerNode::getUpperLeftCorner):
163         (WebCore::ContainerNode::getLowerRightCorner):
164         (WebCore::ContainerNode::getRect):
165         * dom/ContainerNode.h:
166         * dom/MouseRelatedEvent.cpp:
167         (WebCore::MouseRelatedEvent::receivedTarget):
168         * dom/Node.cpp:
169         (WebCore::Node::getRect):
170         * editing/SelectionController.cpp:
171         (WebCore::SelectionController::layout):
172         (WebCore::SelectionController::caretRect):
173         * editing/visible_units.cpp:
174         (WebCore::previousLinePosition):
175         (WebCore::nextLinePosition):
176         * html/HTMLAnchorElement.cpp:
177         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
178         (WebCore::HTMLAnchorElement::defaultEventHandler):
179         * html/HTMLAreaElement.cpp:
180         (WebCore::HTMLAreaElement::getRect):
181         * html/HTMLImageElement.cpp:
182         (WebCore::HTMLImageElement::x):
183         (WebCore::HTMLImageElement::y):
184         * html/HTMLInputElement.cpp:
185         (WebCore::HTMLInputElement::defaultEventHandler):
186         * html/HTMLInputElement.h:
187         * page/AccessibilityRenderObject.cpp:
188         (WebCore::AccessibilityRenderObject::boundingBoxRect):
189         * page/EventHandler.cpp:
190         (WebCore::EventHandler::handleDrag):
191         * platform/graphics/FloatPoint.h:
192         (WebCore::roundedIntPoint):
193         * platform/graphics/IntSize.h:
194         (WebCore::IntSize::expand):
195         * rendering/LayoutState.cpp:
196         (WebCore::LayoutState::LayoutState):
197         * rendering/RenderBlock.cpp:
198         (WebCore::RenderBlock::layoutBlock):
199         (WebCore::RenderBlock::paintObject):
200         (WebCore::RenderBlock::selectionGapRects):
201         (WebCore::RenderBlock::fillBlockSelectionGaps):
202         (WebCore::RenderBlock::nodeAtPoint):
203         (WebCore::RenderBlock::positionForCoordinates):
204         * rendering/RenderBox.cpp:
205         (WebCore::RenderBox::localToAbsolute):
206         (WebCore::RenderBox::computeAbsoluteRepaintRect):
207         (WebCore::RenderBox::caretRect):
208         * rendering/RenderBox.h:
209         (WebCore::RenderBox::relativePositionOffset):
210         * rendering/RenderContainer.cpp:
211         (WebCore::RenderContainer::addLineBoxRects):
212         * rendering/RenderFlow.cpp:
213         (WebCore::RenderFlow::absoluteClippedOverflowRect):
214         (WebCore::RenderFlow::caretRect):
215         (WebCore::RenderFlow::addFocusRingRects):
216         * rendering/RenderLayer.cpp:
217         (WebCore::RenderLayer::updateLayerPosition):
218         (WebCore::RenderLayer::convertToLayerCoords):
219         (WebCore::RenderLayer::addScrolledContentOffset):
220         (WebCore::RenderLayer::subtractScrolledContentOffset):
221         (WebCore::RenderLayer::scrollRectToVisible):
222         * rendering/RenderLayer.h:
223         (WebCore::RenderLayer::scrolledContentOffset):
224         (WebCore::RenderLayer::relativePositionOffset):
225         * rendering/RenderListBox.cpp:
226         (WebCore::RenderListBox::panScroll):
227         (WebCore::RenderListBox::scrollToward):
228         * rendering/RenderListMarker.cpp:
229         (WebCore::RenderListMarker::selectionRect):
230         * rendering/RenderObject.cpp:
231         (WebCore::RenderObject::absoluteBoundingBoxRect):
232         (WebCore::RenderObject::computeAbsoluteRepaintRect):
233         (WebCore::RenderObject::localToAbsolute):
234         (WebCore::RenderObject::addDashboardRegions):
235         (WebCore::RenderObject::absoluteContentBox):
236         (WebCore::RenderObject::absoluteOutlineBox):
237         * rendering/RenderObject.h:
238         (WebCore::RenderObject::localToAbsoluteForContent):
239         * rendering/RenderPart.cpp:
240         (WebCore::RenderPart::updateWidgetPosition):
241         * rendering/RenderReplaced.cpp:
242         (WebCore::RenderReplaced::selectionRect):
243         * rendering/RenderSVGInlineText.cpp:
244         (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
245         * rendering/RenderSVGText.cpp:
246         (WebCore::RenderSVGText::absoluteRects):
247         * rendering/RenderTableCell.cpp:
248         (WebCore::RenderTableCell::localToAbsolute):
249         * rendering/RenderTableCell.h:
250         * rendering/RenderText.cpp:
251         (WebCore::RenderText::addLineBoxRects):
252         (WebCore::RenderText::caretRect):
253         (WebCore::RenderText::selectionRect):
254         * rendering/RenderVideo.cpp:
255         (WebCore::RenderVideo::updatePlayer):
256         * rendering/RenderView.cpp:
257         (WebCore::RenderView::localToAbsolute):
258         * rendering/RenderView.h:
259         * rendering/RenderWidget.cpp:
260         (WebCore::RenderWidget::updateWidgetPosition):
261         * svg/SVGSVGElement.cpp:
262         (WebCore::SVGSVGElement::getScreenCTM):
264 2008-11-03  Yael Aharon  <yael.aharon@nokia.com>
266         Reviewed by Simon Hausmann.
268         Add methods for getting and setting user data on History Item.
269         This change is limited to QT port only. Tests were added in
270         the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
272         Minor change by Simon: made the functions inline and added a missing
273         const.
275         * history/HistoryItem.h:
277 2008-11-01  Alexey Proskuryakov  <ap@webkit.org>
279         Reviewed by Darin Adler.
281         https://bugs.webkit.org/show_bug.cgi?id=22030
282         Make EventNames usable from multiple threads
284         * platform/text/AtomicString.cpp:
285         (WebCore::stringTable):
286         (WebCore::AtomicString::add):
287         (WebCore::AtomicString::remove):
288         (WebCore::AtomicString::find):
289         (WebCore::AtomicString::init):
290         * platform/text/AtomicString.h:
291         Atomic string table is now per-thread. Individual strings cannot be shared between threads,
292         so global AtomicString constants cannot be used from threads other than the main one.
294         * dom/EventNames.cpp:
295         (WebCore::EventNames::EventNames):
296         (WebCore::eventNames):
297         (WebCore::EventNames::init):
298         * dom/EventNames.h:
299         Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
300         eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
301         threads.
303         * WebCore.base.exp:
304         * bindings/js/JSDOMWindowBase.cpp:
305         * bindings/js/JSEventListener.cpp:
306         * bindings/js/ScriptController.cpp:
307         (WebCore::ScriptController::processingUserGesture):
308         * dom/BeforeTextInsertedEvent.cpp:
309         (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
310         * dom/BeforeUnloadEvent.cpp:
311         (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
312         * dom/CharacterData.cpp:
313         (WebCore::CharacterData::dispatchModifiedEvent):
314         * dom/ContainerNode.cpp:
315         (WebCore::dispatchChildInsertionEvents):
316         (WebCore::dispatchChildRemovalEvents):
317         * dom/DedicatedWorker.cpp:
318         (WebCore::DedicatedWorker::dispatchErrorEvent):
319         * dom/Document.cpp:
320         (WebCore::Document::implicitClose):
321         (WebCore::Document::setFocusedNode):
322         (WebCore::Document::addListenerTypeIfNeeded):
323         (WebCore::Document::removeWindowInlineEventListenerForType):
324         (WebCore::Document::addWindowEventListener):
325         (WebCore::Document::removeWindowEventListener):
326         (WebCore::Document::finishedParsing):
327         * dom/EventTargetNode.cpp:
328         (WebCore::EventTargetNode::dispatchGenericEvent):
329         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
330         (WebCore::EventTargetNode::dispatchWindowEvent):
331         (WebCore::EventTargetNode::dispatchUIEvent):
332         (WebCore::EventTargetNode::dispatchSimulatedClick):
333         (WebCore::EventTargetNode::dispatchMouseEvent):
334         (WebCore::EventTargetNode::dispatchFocusEvent):
335         (WebCore::EventTargetNode::dispatchBlurEvent):
336         (WebCore::EventTargetNode::defaultEventHandler):
337         (WebCore::EventTargetNode::on*): (multiple methods)
338         (WebCore::EventTargetNode::setOn*): (multiple methods)
339         * dom/KeyboardEvent.cpp:
340         (WebCore::eventTypeForKeyboardEventType):
341         (WebCore::KeyboardEvent::keyCode):
342         (WebCore::KeyboardEvent::charCode):
343         * dom/MessageEvent.cpp:
344         (WebCore::MessageEvent::MessageEvent):
345         * dom/MessagePort.cpp:
346         (WebCore::MessagePort::dispatchMessages):
347         (WebCore::MessagePort::dispatchCloseEvent):
348         * dom/MouseEvent.cpp:
349         (WebCore::MouseEvent::isDragEvent):
350         (WebCore::MouseEvent::toElement):
351         (WebCore::MouseEvent::fromElement):
352         * dom/OverflowEvent.cpp:
353         (WebCore::OverflowEvent::OverflowEvent):
354         * dom/TextEvent.cpp:
355         (WebCore::TextEvent::TextEvent):
356         * dom/WebKitAnimationEvent.cpp:
357         (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
358         (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
359         (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
360         (WebCore::WebKitAnimationEvent::animationName):
361         (WebCore::WebKitAnimationEvent::elapsedTime):
362         * dom/WebKitTransitionEvent.cpp:
363         (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
364         (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
365         (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
366         (WebCore::WebKitTransitionEvent::propertyName):
367         (WebCore::WebKitTransitionEvent::elapsedTime):
368         * dom/WheelEvent.cpp:
369         (WebCore::WheelEvent::WheelEvent):
370         (WebCore::WheelEvent::initWheelEvent):
371         * dom/XMLTokenizerLibxml2.cpp:
372         * dom/XMLTokenizerQt.cpp:
373         * editing/DeleteButton.cpp:
374         (WebCore::DeleteButton::defaultEventHandler):
375         * editing/EditCommand.cpp:
376         * editing/Editor.cpp:
377         (WebCore::Editor::canDHTMLCut):
378         (WebCore::Editor::canDHTMLCopy):
379         (WebCore::Editor::canDHTMLPaste):
380         (WebCore::Editor::tryDHTMLCopy):
381         (WebCore::Editor::tryDHTMLCut):
382         (WebCore::Editor::tryDHTMLPaste):
383         (WebCore::dispatchEditableContentChangedEvents):
384         * editing/ReplaceSelectionCommand.cpp:
385         (WebCore::ReplacementFragment::ReplacementFragment):
386         * editing/SelectionController.cpp:
387         (WebCore::SelectionController::setFocused):
388         * html/HTMLAnchorElement.cpp:
389         (WebCore::HTMLAnchorElement::defaultEventHandler):
390         * html/HTMLBodyElement.cpp:
391         (WebCore::HTMLBodyElement::parseMappedAttribute):
392         * html/HTMLButtonElement.cpp:
393         (WebCore::HTMLButtonElement::parseMappedAttribute):
394         (WebCore::HTMLButtonElement::defaultEventHandler):
395         * html/HTMLElement.cpp:
396         (WebCore::HTMLElement::parseMappedAttribute):
397         * html/HTMLFormControlElement.cpp:
398         (WebCore::HTMLFormControlElement::onChange):
399         * html/HTMLFormElement.cpp:
400         (WebCore::HTMLFormElement::handleLocalEvents):
401         (WebCore::HTMLFormElement::prepareSubmit):
402         (WebCore::HTMLFormElement::reset):
403         (WebCore::HTMLFormElement::parseMappedAttribute):
404         * html/HTMLFrameElementBase.cpp:
405         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
406         * html/HTMLFrameSetElement.cpp:
407         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
408         * html/HTMLImageElement.cpp:
409         (WebCore::HTMLImageElement::parseMappedAttribute):
410         * html/HTMLImageLoader.cpp:
411         (WebCore::HTMLImageLoader::dispatchLoadEvent):
412         * html/HTMLInputElement.cpp:
413         (WebCore::HTMLInputElement::parseMappedAttribute):
414         (WebCore::HTMLInputElement::setValueFromRenderer):
415         (WebCore::HTMLInputElement::preDispatchEventHandler):
416         (WebCore::HTMLInputElement::postDispatchEventHandler):
417         (WebCore::HTMLInputElement::defaultEventHandler):
418         (WebCore::HTMLInputElement::onSearch):
419         * html/HTMLLabelElement.cpp:
420         (WebCore::HTMLLabelElement::defaultEventHandler):
421         * html/HTMLMediaElement.cpp:
422         (WebCore::HTMLMediaElement::load):
423         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
424         (WebCore::HTMLMediaElement::setReadyState):
425         (WebCore::HTMLMediaElement::progressEventTimerFired):
426         (WebCore::HTMLMediaElement::seek):
427         (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
428         (WebCore::HTMLMediaElement::setPlaybackRate):
429         (WebCore::HTMLMediaElement::play):
430         (WebCore::HTMLMediaElement::pause):
431         (WebCore::HTMLMediaElement::setVolume):
432         (WebCore::HTMLMediaElement::setMuted):
433         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
434         (WebCore::HTMLMediaElement::documentWillBecomeInactive):
435         * html/HTMLObjectElement.cpp:
436         (WebCore::HTMLObjectElement::parseMappedAttribute):
437         * html/HTMLOptionElement.cpp:
438         * html/HTMLScriptElement.cpp:
439         (WebCore::HTMLScriptElement::parseMappedAttribute):
440         (WebCore::HTMLScriptElement::dispatchLoadEvent):
441         (WebCore::HTMLScriptElement::dispatchErrorEvent):
442         * html/HTMLSelectElement.cpp:
443         (WebCore::HTMLSelectElement::parseMappedAttribute):
444         (WebCore::HTMLSelectElement::defaultEventHandler):
445         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
446         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
447         * html/HTMLTextAreaElement.cpp:
448         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
449         (WebCore::HTMLTextAreaElement::defaultEventHandler):
450         * html/HTMLTokenizer.cpp:
451         (WebCore::HTMLTokenizer::notifyFinished):
452         * loader/FrameLoader.cpp:
453         (WebCore::FrameLoader::stopLoading):
454         (WebCore::FrameLoader::canCachePage):
455         * loader/ImageDocument.cpp:
456         (WebCore::ImageEventListener::handleEvent):
457         * loader/ImageLoader.cpp:
458         * loader/MediaDocument.cpp:
459         (WebCore::MediaDocument::defaultEventHandler):
460         * loader/appcache/DOMApplicationCache.cpp:
461         (WebCore::DOMApplicationCache::callCheckingListener):
462         (WebCore::DOMApplicationCache::callErrorListener):
463         (WebCore::DOMApplicationCache::callNoUpdateListener):
464         (WebCore::DOMApplicationCache::callDownloadingListener):
465         (WebCore::DOMApplicationCache::callProgressListener):
466         (WebCore::DOMApplicationCache::callUpdateReadyListener):
467         (WebCore::DOMApplicationCache::callCachedListener):
468         * page/AccessibilityObject.cpp:
469         * page/AccessibilityRenderObject.cpp:
470         (WebCore::AccessibilityRenderObject::mouseButtonListener):
471         * page/ContextMenuController.cpp:
472         (WebCore::ContextMenuController::handleContextMenuEvent):
473         * page/DOMWindow.cpp:
474         (WebCore::DOMWindow::on*): (multiple methods)
475         (WebCore::DOMWindow::setOn*): (multiple methods)
476         * page/EventHandler.cpp:
477         (WebCore::EventHandler::handleMousePressEvent):
478         (WebCore::EventHandler::handleMouseDoubleClickEvent):
479         (WebCore::EventHandler::handleMouseMoveEvent):
480         (WebCore::EventHandler::handleMouseReleaseEvent):
481         (WebCore::EventHandler::updateDragAndDrop):
482         (WebCore::EventHandler::cancelDragAndDrop):
483         (WebCore::EventHandler::performDragAndDrop):
484         (WebCore::EventHandler::updateMouseEventTargetNode):
485         (WebCore::EventHandler::dispatchMouseEvent):
486         (WebCore::EventHandler::sendContextMenuEvent):
487         (WebCore::EventHandler::canMouseDownStartSelect):
488         (WebCore::EventHandler::canMouseDragExtendSelect):
489         (WebCore::EventHandler::defaultKeyboardEventHandler):
490         (WebCore::EventHandler::dragSourceMovedTo):
491         (WebCore::EventHandler::dragSourceEndedAt):
492         (WebCore::EventHandler::handleDrag):
493         (WebCore::EventHandler::handleTextInputEvent):
494         * page/FocusController.cpp:
495         * page/Frame.cpp:
496         (WebCore::Frame::sendResizeEvent):
497         (WebCore::Frame::sendScrollEvent):
498         * page/Page.cpp:
499         (WebCore::networkStateChanged):
500         * page/animation/AnimationBase.cpp:
501         (WebCore::AnimationBase::updateStateMachine):
502         (WebCore::AnimationBase::animationTimerCallbackFired):
503         (WebCore::AnimationBase::primeEventTimers):
504         * page/animation/ImplicitAnimation.cpp:
505         (WebCore::ImplicitAnimation::onAnimationEnd):
506         (WebCore::ImplicitAnimation::sendTransitionEvent):
507         * page/animation/KeyframeAnimation.cpp:
508         (WebCore::KeyframeAnimation::onAnimationStart):
509         (WebCore::KeyframeAnimation::onAnimationIteration):
510         (WebCore::KeyframeAnimation::onAnimationEnd):
511         (WebCore::KeyframeAnimation::sendAnimationEvent):
512         * page/gtk/EventHandlerGtk.cpp:
513         * page/mac/EventHandlerMac.mm:
514         (WebCore::isKeyboardOptionTab):
515         * page/mac/FrameMac.mm:
516         * page/qt/EventHandlerQt.cpp:
517         (WebCore::isKeyboardOptionTab):
518         * plugins/PluginView.cpp:
519         * plugins/gtk/PluginViewGtk.cpp:
520         * plugins/qt/PluginViewQt.cpp:
521         * plugins/win/PluginViewWin.cpp:
522         (WebCore::PluginView::handleKeyboardEvent):
523         (WebCore::PluginView::handleMouseEvent):
524         * rendering/MediaControlElements.cpp:
525         (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
526         (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
527         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
528         (WebCore::MediaControlTimelineElement::defaultEventHandler):
529         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
530         * rendering/RenderFrameSet.cpp:
531         (WebCore::RenderFrameSet::userResize):
532         * rendering/RenderLayer.cpp:
533         (WebCore::RenderLayer::scrollToOffset):
534         * rendering/RenderListBox.cpp:
535         (WebCore::RenderListBox::valueChanged):
536         * rendering/RenderMedia.cpp:
537         (WebCore::RenderMedia::forwardEvent):
538         * rendering/RenderObject.cpp:
539         * rendering/RenderSlider.cpp:
540         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
541         * rendering/RenderTextControl.cpp:
542         (WebCore::RenderTextControl::forwardEvent):
543         (WebCore::RenderTextControl::selectionChanged):
544         * rendering/RenderWidget.cpp:
545         * rendering/TextControlInnerElements.cpp:
546         (WebCore::TextControlInnerTextElement::defaultEventHandler):
547         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
548         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
549         * storage/LocalStorageArea.cpp:
550         (WebCore::LocalStorageArea::dispatchStorageEvent):
551         * storage/SessionStorageArea.cpp:
552         (WebCore::SessionStorageArea::dispatchStorageEvent):
553         * svg/SVGAElement.cpp:
554         (WebCore::SVGAElement::defaultEventHandler):
555         * svg/SVGDocument.cpp:
556         (WebCore::SVGDocument::dispatchZoomEvent):
557         (WebCore::SVGDocument::dispatchScrollEvent):
558         * svg/SVGElement.cpp:
559         (WebCore::SVGElement::parseMappedAttribute):
560         (WebCore::hasLoadListener):
561         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
562         * svg/SVGElementInstance.cpp:
563         (WebCore::SVGElementInstance::on*): (multiple methods)
564         (WebCore::SVGElementInstance::setOn*): (multiple methods)
565         * svg/SVGImageLoader.cpp:
566         (WebCore::SVGImageLoader::dispatchLoadEvent):
567         * svg/SVGSVGElement.cpp:
568         (WebCore::SVGSVGElement::parseMappedAttribute):
569         * svg/SVGScriptElement.cpp:
570         (WebCore::SVGScriptElement::dispatchErrorEvent):
571         * xml/XMLHttpRequest.cpp:
572         (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
573         (WebCore::XMLHttpRequest::dispatchAbortEvent):
574         (WebCore::XMLHttpRequest::dispatchErrorEvent):
575         (WebCore::XMLHttpRequest::dispatchLoadEvent):
576         (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
577         (WebCore::XMLHttpRequest::dispatchProgressEvent):
578         * xml/XMLHttpRequestUpload.cpp:
579         (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
580         (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
581         (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
582         (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
583         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
584         * xml/XPathResult.cpp:
585         (WebCore::XPathResult::XPathResult):
586         (WebCore::XPathResult::~XPathResult):
587         (WebCore::XPathResult::invalidateIteratorState):
588         Access event names via eventNames() function.
590 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
592         Reviewed by Mark Rowe.
594         Delete unused forwarding headers.
596         * ForwardingHeaders/kjs/Activation.h: Removed.
597         * ForwardingHeaders/kjs/Register.h: Removed.
598         * ForwardingHeaders/kjs/RegisterID.h: Removed.
600 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
602         Not reviewed.
604         Fix stupid typo in previous build fix.
606         * bindings/js/JSStorageCustom.cpp:
607         * bindings/scripts/CodeGeneratorJS.pm:
608         * bridge/NP_jsobject.cpp:
610 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
612         Not reviewed.
614         Fix the build for all non-Mac platforms.
616         * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
617         * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
618         * bindings/js/JSStorageCustom.cpp:
619         * bindings/scripts/CodeGeneratorJS.pm:
620         * bridge/NP_jsobject.cpp:
622 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
624         Not reviewed.
626         Fix the wxWindows build.
628         * bridge/c/c_instance.cpp:
630 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
632         Rubber-stamped by Maciej Stachowiak.
634         Move more files into the runtime subdirectory of JavaScriptCore.
636         * ForwardingHeaders/kjs/ArgList.h: Removed.
637         * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
638         * ForwardingHeaders/kjs/ExecState.h: Removed.
639         * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
640         * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
641         * ForwardingHeaders/kjs/JSLock.h: Removed.
642         * ForwardingHeaders/kjs/SymbolTable.h: Removed.
643         * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
644         * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
645         * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
646         * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
647         * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
648         * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
649         * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
650         * bindings/js/GCController.cpp:
651         * bindings/js/JSCustomPositionCallback.cpp:
652         * bindings/js/JSCustomPositionErrorCallback.cpp:
653         * bindings/js/JSCustomSQLStatementCallback.cpp:
654         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
655         * bindings/js/JSCustomSQLTransactionCallback.cpp:
656         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
657         * bindings/js/JSCustomVoidCallback.cpp:
658         * bindings/js/JSCustomXPathNSResolver.cpp:
659         * bindings/js/JSDOMWindowBase.cpp:
660         * bindings/js/JSEventCustom.cpp:
661         * bindings/js/JSEventListener.cpp:
662         * bindings/js/JSNodeFilterCondition.cpp:
663         * bindings/js/ScheduledAction.cpp:
664         * bindings/js/ScriptController.cpp:
665         * bindings/js/ScriptControllerMac.mm:
666         * bindings/objc/WebScriptObject.mm:
667         * bridge/NP_jsobject.cpp:
668         * bridge/c/c_class.cpp:
669         * bridge/c/c_instance.cpp:
670         * bridge/c/c_runtime.cpp:
671         * bridge/c/c_utility.cpp:
672         * bridge/jni/jni_class.cpp:
673         * bridge/jni/jni_instance.cpp:
674         * bridge/jni/jni_jsobject.mm:
675         * bridge/jni/jni_objc.mm:
676         * bridge/jni/jni_runtime.cpp:
677         * bridge/jni/jni_runtime.h:
678         * bridge/jni/jni_utility.cpp:
679         * bridge/npruntime.cpp:
680         * bridge/objc/objc_instance.mm:
681         * bridge/objc/objc_runtime.mm:
682         * bridge/objc/objc_utility.mm:
683         * bridge/runtime.cpp:
684         * dom/Document.cpp:
685         * dom/Node.cpp:
686         * dom/NodeFilter.cpp:
687         * dom/NodeIterator.cpp:
688         * dom/TreeWalker.cpp:
689         * history/CachedPage.cpp:
690         * inspector/InspectorController.cpp:
691         * inspector/JavaScriptCallFrame.cpp:
692         * inspector/JavaScriptCallFrame.h:
693         * inspector/JavaScriptDebugServer.cpp:
694         * inspector/JavaScriptProfileNode.cpp:
695         * loader/FrameLoader.cpp:
696         * loader/icon/IconDatabase.cpp:
697         * page/Console.cpp:
698         * page/Page.cpp:
699         * page/mac/FrameMac.mm:
700         * plugins/PluginView.cpp:
701         * plugins/gtk/PluginViewGtk.cpp:
702         * plugins/qt/PluginViewQt.cpp:
703         * plugins/win/PluginViewWin.cpp:
704         * storage/Database.cpp:
705         * xml/XMLHttpRequest.cpp:
707 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
709         Reviewed by Sam Weinig.
711         Remove the forwarding header for FunctionCallProfile, because it was
712         renamed to ProfileNode in r33466.
714         * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
716 2008-11-03  Simon Fraser  <simon.fraser@apple.com>
718         Reviewed by Dave Hyatt
720         https://bugs.webkit.org/show_bug.cgi?id=22026
722         When computing the bounds of the transparency layer, we need to
723         map the clipRect through the enclosing transform.
724         
725         Test: fast/layers/opacity-transforms.html
727         * rendering/RenderLayer.cpp:
728         (WebCore::transparencyClipBox):
730 2008-11-03  Kevin Decker  <kdecker@apple.com>
732         Reviewed by Anders Carlsson.
734         https://bugs.webkit.org/show_bug.cgi?id=22053
736         Added additional support needed for the NPDrawingModelCoreAnimation drawing model. 
738         * bridge/npapi.h:
740 2008-11-03  Xan Lopez  <xan@gnome.org>
742         Reviewed by Alp Toker.
744         Update parseDataUrl() function in the libsoup http backend with
745         the one from the curl backend which has recent correctness and crash
746         fixes.
748         * platform/network/soup/ResourceHandleSoup.cpp:
749         (WebCore::parseDataUrl):
751 2008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>
753         Reviewed by Alp Toker.
755         https://bugs.webkit.org/show_bug.cgi?id=22041
756         Fix CURL crashes on the test suite
758         Fix segfault with setDefersLoading(). Do not call into curl when we
759         don't have a CURL handle.
761         It is attempted to defer the loading before the load has been
762         started (no curl handle was allocated yet). If that happens then
763         just remember that. ResourceHandleManager::startJob is already taking
764         care of this and in initResourceHandle the the downloading will
765         be paused if needed.
767         Fixes fast/loader/simultaneous-reloads-assert.html
769         * platform/network/curl/ResourceHandleCurl.cpp:
770         (WebCore::ResourceHandle::setDefersLoading):
772 2008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>
774         Reviewed by Alp Toker.
776         https://bugs.webkit.org/show_bug.cgi?id=22041
777         Fix CURL crashes on the test suite
779         Do not send "no data" to WebCore in parseDataUrl().
781         Fixes assert on fast/tokenizer/image-empty-crash.html
783         * platform/network/curl/ResourceHandleManager.cpp:
784         (WebCore::parseDataUrl):
786 2008-11-02  Xan Lopez  <xan@gnome.org>
788         Reviewed by Holger Freyther.
790         https://bugs.webkit.org/show_bug.cgi?id=22009
791         HTML5 Video with GStreamer pulls gnome-vfs without using it
793         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
794         Remove gnome-vfs include.
796 2008-11-01  Adam Barth  <abarth@webkit.org>
798         Reviewed by Sam Weinig.
800         Be sure to check the final URLs of requested resources to make sure we
801         don't get fooled by HTTP redirects.
803         https://bugs.webkit.org/show_bug.cgi?id=21963
805         Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
806                http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
808         * dom/XMLTokenizerLibxml2.cpp:
809         (WebCore::openFunc):
810         * loader/DocLoader.cpp:
811         (WebCore::DocLoader::canRequest):
812         (WebCore::DocLoader::requestResource):
813         * loader/DocLoader.h:
814         * xml/XSLTProcessor.cpp:
815         (WebCore::docLoaderFunc):
817 2008-11-01  Alexey Proskuryakov  <ap@webkit.org>
819         Reviewed by Darin Adler.
821         https://bugs.webkit.org/show_bug.cgi?id=22001
822         AtomicStringImpl* keys of event listener maps can outlive their strings
824         Test: fast/events/destroyed-atomic-string.html
826         * dom/MessagePort.cpp:
827         (WebCore::MessagePort::addEventListener):
828         (WebCore::MessagePort::removeEventListener):
829         (WebCore::MessagePort::dispatchEvent):
830         * dom/MessagePort.h:
831         * loader/appcache/DOMApplicationCache.cpp:
832         (WebCore::DOMApplicationCache::addEventListener):
833         (WebCore::DOMApplicationCache::removeEventListener):
834         (WebCore::DOMApplicationCache::dispatchEvent):
835         * loader/appcache/DOMApplicationCache.h:
836         * xml/XMLHttpRequest.cpp:
837         (WebCore::XMLHttpRequest::addEventListener):
838         (WebCore::XMLHttpRequest::removeEventListener):
839         (WebCore::XMLHttpRequest::dispatchEvent):
840         * xml/XMLHttpRequest.h:
841         * xml/XMLHttpRequestUpload.cpp:
842         (WebCore::XMLHttpRequestUpload::addEventListener):
843         (WebCore::XMLHttpRequestUpload::removeEventListener):
844         (WebCore::XMLHttpRequestUpload::dispatchEvent):
845         * xml/XMLHttpRequestUpload.h:
846         Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
848 2008-10-31  Alexey Proskuryakov  <ap@webkit.org>
850         Reviewed by Darin Adler.
852         https://bugs.webkit.org/show_bug.cgi?id=21998
853         Use JSDOMGlobalObject in EventListener-related bindings
855         * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
857         * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
858         bindings for inline event handlers.
860         * bindings/js/JSDOMApplicationCacheCustom.cpp:
861         (WebCore::JSDOMApplicationCache::addEventListener):
862         (WebCore::JSDOMApplicationCache::removeEventListener):
863         * bindings/js/JSEventTargetNodeCustom.cpp:
864         (WebCore::JSEventTargetNode::addEventListener):
865         (WebCore::JSEventTargetNode::removeEventListener):
866         * bindings/js/JSMessagePortCustom.cpp:
867         (WebCore::JSMessagePort::removeEventListener):
868         * bindings/js/JSSVGElementInstanceCustom.cpp:
869         (WebCore::JSSVGElementInstance::addEventListener):
870         (WebCore::JSSVGElementInstance::removeEventListener):
871         * bindings/js/JSXMLHttpRequestCustom.cpp:
872         (WebCore::JSXMLHttpRequest::addEventListener):
873         (WebCore::JSXMLHttpRequest::removeEventListener):
874         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
875         (WebCore::JSXMLHttpRequestUpload::addEventListener):
876         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
877         Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
879         * dom/EventTarget.h:
880         * dom/EventTargetNode.cpp:
881         (WebCore::EventTargetNode::scriptExecutionContext):
882         * dom/EventTargetNode.h:
883         * dom/MessagePort.cpp:
884         * dom/MessagePort.h:
885         (WebCore::MessagePort::scriptExecutionContext):
886         * loader/appcache/DOMApplicationCache.cpp:
887         (WebCore::DOMApplicationCache::scriptExecutionContext):
888         * loader/appcache/DOMApplicationCache.h:
889         * svg/SVGElementInstance.cpp:
890         (WebCore::SVGElementInstance::scriptExecutionContext):
891         * svg/SVGElementInstance.h:
892         * xml/XMLHttpRequest.cpp:
893         (WebCore::XMLHttpRequest::scriptExecutionContext):
894         * xml/XMLHttpRequest.h:
895         * xml/XMLHttpRequestUpload.cpp:
896         (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
897         * xml/XMLHttpRequestUpload.h:
898         Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
899         available yet.
901 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
903         Rubber-stamped by Geoff Garen.
905         Rename SourceRange.h to SourceCode.h.
907         * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
908         * ForwardingHeaders/kjs/SourceRange.h: Removed.
909         * bindings/js/StringSourceProvider.h:
910         * bridge/NP_jsobject.cpp:
912 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
914         Reviewed by Darin Adler.
916         Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
917         <https://bugs.webkit.org/show_bug.cgi?id=22019>
919         * WebCore.base.exp:
920         * page/Console.cpp:
921         (WebCore::printToStandardOut):
922         (WebCore::Console::shouldPrintExceptions):
923         (WebCore::Console::setShouldPrintExceptions):
924         * page/Console.h:
926 2008-10-31  Dan Bernstein  <mitz@apple.com>
928         Reviewed by John Sullivan.
930         - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
932         * dom/Document.cpp:
933         (WebCore::Document::cookie): Added checking if cookies are disabled.
934         (WebCore::Document::setCookie): Ditto.
935         * page/Navigator.cpp:
936         (WebCore::Navigator::cookieEnabled): Ditto.
937         * page/Page.cpp:
938         (WebCore::Page::Page): Initialize m_cookieEnabled to true.
939         * page/Page.h:
940         (WebCore::Page::cookieEnabled): Added.
941         (WebCore::Page::setCookieEnabled): Added.
943 2008-10-31  Adele Peterson  <adele@apple.com>
945         Reviewed by Darin Adler.
947         WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
948         https://bugs.webkit.org/show_bug.cgi?id=22008
950         * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon): 
951         Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
952         * platform/graphics/Icon.h: ditto.
953         * platform/graphics/gtk/IconGtk.cpp:
954         (WebCore::Icon::createIconForFile): ditto.
955         (WebCore::Icon::createIconForFiles): ditto.
956         * platform/graphics/mac/IconMac.mm:
957         (WebCore::Icon::createIconForFile): ditto.
958         (WebCore::Icon::createIconForFiles): ditto.
959         * platform/graphics/qt/IconQt.cpp:
960         (WebCore::Icon::createIconForFile): ditto.
961         (WebCore::Icon::createIconForFiles): ditto.
962         * platform/wx/TemporaryLinkStubs.cpp:
963         (Icon::createIconForFile): ditto.
964         (Icon::createIconForFiles): ditto.
965         * platform/graphics/win/IconWin.cpp:
966         (WebCore::Icon::createIconForFile): ditto.
967         (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
969         * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):        
970         Improve icon creation code to match new code in Icon::createIconForFiles
971         
972 2008-10-31  Timothy Hatcher  <timothy@apple.com>
974         Add manual tests that check breakpoints on a blockless body of "for" loops.
976         https://bugs.webkit.org/show_bug.cgi?id=22004
978         Reviewed by Darin Adler.
980         * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
981         * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
983 2008-10-31  Darin Adler  <darin@apple.com>
985         - fix build
987         * platform/win/WCDataObject.cpp: Added missing include of "config.h".
989 2008-10-30  Alexey Proskuryakov  <ap@webkit.org>
991         Reviewed by Darin Adler.
993         https://bugs.webkit.org/show_bug.cgi?id=21970
994         Make MessagePort event dispatch work in workers
996         * bindings/js/JSDOMGlobalObject.cpp:
997         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
998         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
999         (WebCore::JSDOMGlobalObject::findJSEventListener):
1000         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
1001         (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
1002         (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
1003         (WebCore::JSDOMGlobalObject::jsEventListeners):
1004         (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
1005         (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
1006         (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
1007         (WebCore::JSDOMGlobalObject::setCurrentEvent):
1008         (WebCore::JSDOMGlobalObject::currentEvent):
1009         (WebCore::toJSDOMGlobalObject):
1010         * bindings/js/JSDOMGlobalObject.h:
1011         * bindings/js/JSDOMWindowBase.cpp:
1012         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
1013         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
1014         (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
1015         * bindings/js/JSDOMWindowBase.h:
1016         Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
1018         * bindings/js/JSEventListener.cpp:
1019         (WebCore::JSAbstractEventListener::handleEvent):
1020         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
1021         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
1022         (WebCore::JSUnprotectedEventListener::globalObject):
1023         (WebCore::JSUnprotectedEventListener::clearGlobalObject):
1024         (WebCore::JSEventListener::JSEventListener):
1025         (WebCore::JSEventListener::~JSEventListener):
1026         (WebCore::JSEventListener::globalObject):
1027         (WebCore::JSEventListener::clearGlobalObject):
1028         (WebCore::JSLazyEventListener::JSLazyEventListener):
1029         (WebCore::JSLazyEventListener::parseCode):
1030         * bindings/js/JSEventListener.h:
1031         (WebCore::JSUnprotectedEventListener::create):
1032         (WebCore::JSEventListener::create):
1033         (WebCore::JSLazyEventListener::create):
1034         Changed to use JSDOMGlobalObject and ScriptExecutionContext.
1036         * bindings/js/JSMessagePortCustom.cpp:
1037         (WebCore::JSMessagePort::startConversation):
1038         (WebCore::JSMessagePort::addEventListener):
1039         (WebCore::JSMessagePort::removeEventListener):
1040         (WebCore::JSMessagePort::setOnmessage):
1041         (WebCore::JSMessagePort::setOnclose):
1042         Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
1043         such code, and stop using a custom implementation for JSMessagePort inline event handler
1044         getters and setters.
1046         * dom/Document.cpp:
1047         (WebCore::Document::virtualURL):
1048         * dom/Document.h:
1049         * dom/ScriptExecutionContext.h:
1050         Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
1051         JSLazyEventListener).
1053 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
1055         Not reviewed.
1057         Speculative wxWindows build fix.
1059         * webcore-base.bkl:
1061 2008-10-30  Mark Rowe  <mrowe@apple.com>
1063         Reviewed by Jon Homeycutt.
1065         Explicitly default to building for only the native architecture in debug and release builds.
1067         * Configurations/DebugRelease.xcconfig:
1069 2008-10-30  Cameron Zwarich  <zwarich@apple.com>
1071         Rubber-stamped by Sam Weinig.
1073         Create a debugger directory in JavaScriptCore and move the relevant
1074         files to it.
1076         * ForwardingHeaders/debugger: Added.
1077         * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
1078         * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
1079         * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
1080         * ForwardingHeaders/kjs/debugger.h: Removed.
1081         * WebCore.pro:
1082         * bindings/js/ScriptController.cpp:
1083         * inspector/JavaScriptCallFrame.cpp:
1084         * inspector/JavaScriptCallFrame.h:
1085         * inspector/JavaScriptDebugServer.cpp:
1086         * inspector/JavaScriptDebugServer.h:
1088 2008-10-30  Tony Chang <tony@chromium.org>
1090         Fix 2 Windows theme bugs:
1091         1) Checkboxes marked readonly were rendered incorrectly
1092         2) If a button has focus and is pressed, it was rendered
1093            as focused rather than pressed.
1095         https://bugs.webkit.org/show_bug.cgi?id=21859
1097         Reviewed by Dave Hyatt.
1099         * rendering/RenderThemeWin.cpp:
1100         (WebCore::RenderThemeWin::determineState):
1101         (WebCore::RenderThemeWin::determineButtonState):
1103 2008-10-30  Benjamin K. Stuhl  <bks24@cornell.edu>
1105         gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
1106         warnings; add some parentheses to disambiguate things. No functional
1107         changes, so no tests.
1109         https://bugs.webkit.org/show_bug.cgi?id=21973
1110         Add parentheses to clean up some gcc warnings
1112         Reviewed by Dan Bernstein.
1114         * platform/graphics/Font.h:
1115         (WebCore::Font::treatAsZeroWidthSpace):
1117 2008-10-30  Aaron Boodman  <aa@chromium.org>
1119         Added an explicit dependency on HashMap.h. It was getting pulled in via
1120         <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
1122         Reviewed by Darin Adler.
1124         * platform/text/PlatformString.h:
1126 2008-10-30  Greg Bolsinga  <bolsinga@apple.com>
1128         Reviewed by Sam Weinig
1130         https://bugs.webkit.org/show_bug.cgi?id=21967
1131         
1132         For some platforms the GeolocationService must be suspended and resumed.
1134         * page/Geolocation.cpp:
1135         (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
1136         (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
1137         (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
1138         (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
1139         * page/Geolocation.h:
1140         (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
1141         * platform/GeolocationService.h:
1142         (WebCore::GeolocationService::suspend): empty implementation
1143         (WebCore::GeolocationService::resume): empty implementation
1145 2008-10-30  Greg Bolsinga  <bolsinga@apple.com>
1147         Reviewed by Sam Weinig
1149         https://bugs.webkit.org/show_bug.cgi?id=21966
1150         
1151         The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
1152         http://dev.w3.org/geo/api/spec-source.html
1154         * page/Geolocation.cpp:
1155         (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
1156         * page/Geoposition.cpp: velocity is now called speed
1157         (WebCore::Geoposition::toString):
1158         * page/Geoposition.h: velocity is now called speed
1159         (WebCore::Geoposition::create):
1160         (WebCore::Geoposition::speed):
1161         (WebCore::Geoposition::Geoposition):
1162         * page/Geoposition.idl: velocity is now called speed
1163         * page/PositionOptions.h: timeout is now unsigned
1164         (WebCore::PositionOptions::create):
1165         (WebCore::PositionOptions::timeout):
1166         (WebCore::PositionOptions::setTimeout):
1167         (WebCore::PositionOptions::PositionOptions):
1168         * page/PositionOptions.idl: timeout is now unsigned long
1170 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
1172         Also handle preserved newlines.
1174         * editing/BreakBlockquoteCommand.cpp:
1175         (WebCore::BreakBlockquoteCommand::doApply):
1177 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
1179         Reviewed by Beth Dakin.
1181         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
1183         * editing/BreakBlockquoteCommand.cpp:
1184         (WebCore::BreakBlockquoteCommand::doApply): 
1185         Don't store the endingSelection() in selection, just call endingSelection() in the few places it's 
1186         needed.  This function is cheap since it just returns a reference to a Selection instead of creating one.
1187         Don't store an affinity.  In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
1188         we now use visiblePos (in order to avoid VisiblePosition creation).
1189         Set pos after we delete the current selection (if there is one), and be consistent about what we set 
1190         pos to.  Before, we upstream()ed it if there was a selection to delete and left it alone otherwise.  In fact...
1191         ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is 
1192         in the first node that we want to move.  This fixes the bug, since it lets code that checks for the case 
1193         where the caret is between text and a br work correctly.
1195 2008-10-30  Yael Aharon  <yael.aharon@nokia.com>
1197         Reviewed by Darin Adler.
1199         Fix the Qt build.
1201         https://bugs.webkit.org/show_bug.cgi?id=21969
1203         * inspector/front-end/WebKit.qrc:
1204         * platform/graphics/qt/ImageBufferQt.cpp:
1205         (WebCore::ImageBufferData::ImageBufferData):
1206         (WebCore::ImageBuffer::ImageBuffer):
1207         (WebCore::ImageBuffer::context):
1208         (WebCore::ImageBuffer::image):
1209         (WebCore::ImageBuffer::toDataURL):
1211 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
1213         Reviewed by Darin Adler.
1215         More preparation for:
1216         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
1218         * editing/BreakBlockquoteCommand.cpp:
1219         (WebCore::BreakBlockquoteCommand::doApply): Added comments.  Don't need to use newStartNode.  If the 
1220         startNode needs to change, change it.  Afterwords, check to make sure that it hasn't left topBlockquote.  
1221         This is slightly stricter than before, where we just made sure that it still had a topBlockquote.  This 
1222         doesn't really fix a bug, since we can't really get into a situation where we move to a different 
1223         topBlockquote, but it simplifies the code.
1225 2008-10-30  Dirk Schulze  <vbs85@gmx.de>
1227         Reviewed by Alp Toker.
1229         https://bugs.webkit.org/show_bug.cgi?id=21883
1230         [CAIRO] globalAlpha has to be stored and restored
1232         Cairo's globalAlpha has to be stored and reloaded on calling
1233         save() and restore(). We use the power of GraphicsContextState for this.
1235         * platform/graphics/GraphicsContextPrivate.h:
1236         (WebCore::GraphicsContextState::GraphicsContextState):
1237         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1238         (WebCore::GraphicsContext::fillPath):
1239         (WebCore::GraphicsContext::strokePath):
1240         (WebCore::GraphicsContext::setAlpha):
1241         (WebCore::GraphicsContext::getAlpha):
1242         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1243         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1245 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
1247         Reviewed by Maciej Stachowiak.
1249         Rename "attachedToEventTargetNode" to "isInline".
1251         Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
1252         XMLHttpRequest, MessagePort et al.
1254         Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
1255         attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
1256         And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
1257         "inlineEventListenerForType", as they work with inline listeners.
1259         * bindings/js/JSDOMApplicationCacheCustom.cpp:
1260         (WebCore::JSDOMApplicationCache::addEventListener):
1261         (WebCore::JSDOMApplicationCache::removeEventListener):
1262         * bindings/js/JSMessagePortCustom.cpp:
1263         (WebCore::JSMessagePort::setOnmessage):
1264         (WebCore::JSMessagePort::setOnclose):
1265         * bindings/js/JSXMLHttpRequestCustom.cpp:
1266         (WebCore::JSXMLHttpRequest::addEventListener):
1267         (WebCore::JSXMLHttpRequest::removeEventListener):
1268         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1269         (WebCore::JSXMLHttpRequestUpload::addEventListener):
1270         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1271         Pass a correct value for this argument - callers used to be confused, because they didn't
1272         consider themselves event target nodes. This doesn't affect behavior however, as the only
1273         difference between inline and non-inline event handlers is that the former treat
1274         "return false" as "event.preventDefault()", which is not important to any of these objects.
1276         * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
1277         Assert that isInline is true instead of checking its value, as the constructor of this class
1278         always sets it to true.
1280         * bindings/js/JSDOMWindowBase.cpp:
1281         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
1282         (WebCore::JSDOMWindowBase::findJSEventListener):
1283         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
1284         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
1285         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
1286         (WebCore::JSDOMWindowBase::jsInlineEventListeners):
1287         (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
1288         * bindings/js/JSDOMWindowBase.h:
1289         * bindings/js/JSEventListener.cpp:
1290         (WebCore::JSAbstractEventListener::handleEvent):
1291         (WebCore::JSAbstractEventListener::isInline):
1292         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
1293         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
1294         (WebCore::JSEventListener::JSEventListener):
1295         (WebCore::JSEventListener::~JSEventListener):
1296         (WebCore::JSLazyEventListener::parseCode):
1297         * bindings/js/JSEventListener.h:
1298         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
1299         (WebCore::JSUnprotectedEventListener::create):
1300         (WebCore::JSEventListener::create):
1301         * bindings/js/ScriptController.cpp:
1302         (WebCore::ScriptController::createInlineEventHandler):
1303         * bindings/js/ScriptController.h:
1304         * dom/Document.cpp:
1305         (WebCore::Document::setWindowInlineEventListenerForType):
1306         (WebCore::Document::windowInlineEventListenerForType):
1307         (WebCore::Document::removeWindowInlineEventListenerForType):
1308         (WebCore::Document::createEventListener):
1309         (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
1310         * dom/Document.h:
1311         * dom/EventListener.h:
1312         (WebCore::EventListener::isInline):
1313         * dom/EventTargetNode.cpp:
1314         (WebCore::EventTargetNode::removeInlineEventListenerForType):
1315         (WebCore::EventTargetNode::setInlineEventListenerForType):
1316         (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
1317         (WebCore::EventTargetNode::inlineEventListenerForType):
1318         (WebCore::EventTargetNode::on*): (many methods)
1319         (WebCore::EventTargetNode::setOn*): (many methods)
1320         * dom/EventTargetNode.h:
1321         * editing/ReplaceSelectionCommand.cpp:
1322         (WebCore::ReplacementFragment::ReplacementFragment):
1323         * html/HTMLBodyElement.cpp:
1324         (WebCore::HTMLBodyElement::parseMappedAttribute):
1325         * html/HTMLButtonElement.cpp:
1326         (WebCore::HTMLButtonElement::parseMappedAttribute):
1327         * html/HTMLElement.cpp:
1328         (WebCore::HTMLElement::parseMappedAttribute):
1329         * html/HTMLFormElement.cpp:
1330         (WebCore::HTMLFormElement::parseMappedAttribute):
1331         * html/HTMLFrameElementBase.cpp:
1332         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
1333         * html/HTMLFrameSetElement.cpp:
1334         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1335         * html/HTMLImageElement.cpp:
1336         (WebCore::HTMLImageElement::parseMappedAttribute):
1337         * html/HTMLInputElement.cpp:
1338         (WebCore::HTMLInputElement::parseMappedAttribute):
1339         * html/HTMLObjectElement.cpp:
1340         (WebCore::HTMLObjectElement::parseMappedAttribute):
1341         * html/HTMLScriptElement.cpp:
1342         (WebCore::HTMLScriptElement::parseMappedAttribute):
1343         * html/HTMLSelectElement.cpp:
1344         (WebCore::HTMLSelectElement::parseMappedAttribute):
1345         * html/HTMLTextAreaElement.cpp:
1346         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
1347         * page/AccessibilityRenderObject.cpp:
1348         (WebCore::AccessibilityRenderObject::mouseButtonListener):
1349         * page/DOMWindow.cpp:
1350         (WebCore::DOMWindow::setInlineEventListenerForType):
1351         (WebCore::DOMWindow::inlineEventListenerForType):
1352         (WebCore::DOMWindow::on*): (many methods)
1353         (WebCore::DOMWindow::setOn*): (many methods)
1354         * page/DOMWindow.h:
1355         * svg/SVGElement.cpp:
1356         (WebCore::SVGElement::parseMappedAttribute):
1357         * svg/SVGElementInstance.cpp:
1358         (WebCore::SVGElementInstance::on*): (many methods)
1359         (WebCore::SVGElementInstance::setOn*): (many methods)
1360         * svg/SVGSVGElement.cpp:
1361         (WebCore::SVGSVGElement::parseMappedAttribute):
1362         Rename things, as described above.
1364 2008-10-29  Gustavo Noronha Silva  <gns@gnome.org>
1366         Reviewed and slightly changed by Holger Freyther.
1368         Added all the files that need to be installed for the Inspector to
1369         work.
1371         * GNUmakefile.am: Invoke the shell to get the files.
1373 2008-10-29  Andrew Scherkus  <scherkus@chromium.org>
1375         Reviewed by Darin Adler
1377         Add MediaPlayerPrivateChromium to MediaPlayer
1378         https://bugs.webkit.org/show_bug.cgi?id=21930
1380         * platform/graphics/MediaPlayer.cpp:
1382 2008-10-29  Justin Garcia  <justin.garcia@apple.com>
1384         Reviewed by Darin Adler.
1386         Some preparation for:
1387         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
1388         
1389         Added an early return to avoid a level of if-nesting.  No other changes.  We probably don't
1390         need to rebalance whitespace before the early return but for now don't risk any change in behavior
1391         I'll revisit that later.
1393         * editing/BreakBlockquoteCommand.cpp:
1394         (WebCore::BreakBlockquoteCommand::doApply):
1396 2008-10-29  Kevin Ollivier  <kevino@theolliviers.com>
1398         wx build fixes after addition of runtime and ImageBuffer changes.
1399         
1400         * platform/graphics/wx/ImageBufferData.h: Added.
1401         * platform/graphics/wx/ImageBufferWx.cpp:
1402         (WebCore::ImageBufferData::ImageBufferData):
1403         (WebCore::ImageBuffer::ImageBuffer):
1404         (WebCore::ImageBuffer::context):
1405         * webcore-base.bkl:
1407 2008-10-29  Brett Wilson  <brettw@chromium.org>
1409         Reviewed by Darin Adler
1410         https://bugs.webkit.org/attachment.cgi?id=24745
1412         Allow Skia implementations to get text style changed notifications.
1414         * platform/graphics/GraphicsContext.cpp:
1416 2008-10-29  Timothy Hatcher  <timothy@apple.com>
1418         Add a manual test that checks breakpoints on a blockless body of
1419         an "else" statement.
1421         https://bugs.webkit.org/show_bug.cgi?id=21944
1423         Reviewed by Maciej Stachowiak.
1425         * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
1427 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
1429         Reviewed by Darin Adler.
1431         https://bugs.webkit.org/show_bug.cgi?id=21921
1432         MessagePort messages are dispatched to documents that are not fully active
1434         Covered by corrected fast/events/message-port-inactive-document.html
1436         * bindings/js/JSEventListener.cpp:
1437         (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
1438         that are not fully active.
1440 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
1442         Reviewed by Sam Weinig.
1444         https://bugs.webkit.org/show_bug.cgi?id=21922
1445         Expose MessagePort global constructor
1447         Covered by existing dumper tests.
1449         * dom/MessagePort.idl:
1450         * page/DOMWindow.idl:
1452 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
1454         Reviewed by Darin Adler.
1456         https://bugs.webkit.org/show_bug.cgi?id=21924
1457         HashTable internal index is not always deleted
1459         * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
1460         Call deleteTable for HashTables that are being deleted.
1462 2008-10-28  Alexey Proskuryakov  <ap@webkit.org>
1464         Reviewed by Darin Adler.
1466         https://bugs.webkit.org/show_bug.cgi?id=21923
1467         Create an abstraction for script execution context
1469         * GNUmakefile.am:
1470         * WebCore.pro:
1471         * WebCore.vcproj/WebCore.vcproj:
1472         * WebCore.xcodeproj/project.pbxproj:
1473         * WebCoreSources.bkl:
1474         Added ScriptExecutionContext.{h,cpp}.
1476         * bindings/js/JSAudioConstructor.cpp:
1477         (WebCore::JSAudioConstructor::JSAudioConstructor):
1478         * bindings/js/JSAudioConstructor.h:
1479         * bindings/js/JSImageConstructor.cpp:
1480         (WebCore::JSImageConstructor::JSImageConstructor):
1481         * bindings/js/JSImageConstructor.h:
1482         * bindings/js/JSOptionConstructor.cpp:
1483         (WebCore::JSOptionConstructor::JSOptionConstructor):
1484         * bindings/js/JSOptionConstructor.h:
1485         * bindings/js/JSXMLHttpRequestConstructor.cpp:
1486         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
1487         * bindings/js/JSXMLHttpRequestConstructor.h:
1488         Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
1489         Since these objects can only work within documents now, it is immediately converted back
1490         to Document.
1492         * bindings/js/JSMessageChannelConstructor.cpp:
1493         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
1494         (WebCore::JSMessageChannelConstructor::construct):
1495         * bindings/js/JSMessageChannelConstructor.h:
1496         (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
1497         MessageChannel needs to be supported in workers right away, so the constructor operates with
1498         it directly.
1500         * dom/ActiveDOMObject.cpp:
1501         (WebCore::ActiveDOMObject::ActiveDOMObject):
1502         (WebCore::ActiveDOMObject::~ActiveDOMObject):
1503         (WebCore::ActiveDOMObject::contextDestroyed):
1504         * dom/ActiveDOMObject.h:
1505         (WebCore::ActiveDOMObject::scriptExecutionContext):
1506         * bindings/js/JSDOMBinding.cpp:
1507         (WebCore::markActiveObjectsForContext):
1508         (WebCore::markCrossHeapDependentObjectsForContext):
1509         Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
1510         tracking is handled by ScriptExecutionContext.
1512         * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
1514         * bindings/js/JSDOMGlobalObject.h:
1515         (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
1516         Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
1517         to worker context implementation.
1518         (WebCore::scriptExecutionContext): Added a pure virtual method to access
1519         ScriptExecutionContext, implemented by subclasses.
1521         * bindings/js/JSDOMWindowBase.h:
1522         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
1523         Implement by returning the associated document. Note that this method currently gives bogus
1524         results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
1525         that is currently in the frame, not the one associated with this window.
1527         * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
1529         * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
1530         Call markActiveObjectsForContext() by its new name.
1532         * dom/DedicatedWorker.cpp:
1533         (WebCore::DedicatedWorker::DedicatedWorker):
1534         (WebCore::DedicatedWorker::document):
1535         * dom/DedicatedWorker.h:
1536         * xml/XMLHttpRequest.cpp:
1537         (WebCore::XMLHttpRequest::document):
1538         * xml/XMLHttpRequest.h:
1539         Added a document() function that upcasts ScriptExecutionContext, as these objects only work
1540         within documents currently (at least for XMLHttpRequest, this will change soon though).
1542         * dom/Document.cpp:
1543         (WebCore::Document::Document):
1544         (WebCore::Document::~Document):
1545         Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
1546         with workers.
1547         
1548         * dom/Document.h:
1549         (WebCore::Document::isDocument):
1550         (WebCore::Document::refScriptExecutionContext):
1551         (WebCore::Document::derefScriptExecutionContext):
1552         Inherit from ScriptExecutionContext.
1554         * dom/MessageChannel.cpp:
1555         (WebCore::MessageChannel::MessageChannel):
1556         * dom/MessageChannel.h:
1557         (WebCore::MessageChannel::create):
1558         Use ScriptExecutionContext instead of Document.
1560         * dom/MessagePort.cpp:
1561         (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
1562         MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
1563         unrelated issue that was causing random crashes in layout tests).
1564         (WebCore::MessagePort::MessagePort):
1565         (WebCore::MessagePort::~MessagePort):
1566         (WebCore::MessagePort::associatedFrame):
1567         (WebCore::MessagePort::clone):
1568         (WebCore::MessagePort::postMessage):
1569         (WebCore::MessagePort::startConversation):
1570         (WebCore::MessagePort::start):
1571         (WebCore::MessagePort::contextDestroyed):
1572         (WebCore::MessagePort::dispatchMessages):
1573         * dom/MessagePort.h:
1574         (WebCore::MessagePort::create):
1575         (WebCore::MessagePort::scriptExecutionContext):
1576         Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
1577         work in worker contexts - we need to also make some its method thread safe for cross-thread
1578         messaging, and make event dispatching thread safe.
1580         * dom/ScriptExecutionContext.cpp: Added.
1581         * dom/ScriptExecutionContext.h: Added.
1582         ActiveDOMObject and MessagePort tracking is moved from Document.
1583         It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
1584         but as I'm just moving Document code, and it is Document that is the main context object
1585         in our implementation currently.
1586         Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
1587         seem non-trivial to fix, and isn't really a part of this task.
1589 2008-10-28  Alp Toker  <alp@nuanti.com>
1591         List newly-added ImageBufferData.h in build system.
1593         * GNUmakefile.am:
1595 2008-10-28  Alp Toker  <alp@nuanti.com>
1597         Reviewed by Cameron Zwarich.
1599         De-list unused WebCore ForwardingHeaders to fix the dist target.
1601         * GNUmakefile.am:
1603 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
1605         Not reviewed.
1607         Attempt to fix the Windows build by generating Forwardingheaders for the
1608         runtime directory in JavaScriptCore.
1610         * WebCore.vcproj/WebCore.vcproj:
1612 2008-10-28  Justin Garcia  <justin.garcia@apple.com>
1614         Reviewed by Darin Adler.
1616         <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
1618         * editing/Editor.cpp:
1619         (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
1620         (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which 
1621         will probably require a change more complicated than just marking the learned word as 
1622         misspelled.  I'll address it with a separate patch.
1623         * editing/EditorCommand.cpp:
1624         (WebCore::executeIgnoreSpelling): Added.
1625         (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
1627 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
1629         Reviewed by Mark Rowe.
1631         Move ForwardingHeaders to their correct location after the creation of
1632         the runtime directory in JavaScriptCore.
1634         * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
1635         * ForwardingHeaders/kjs/BooleanObject.h: Removed.
1636         * ForwardingHeaders/kjs/CallData.h: Removed.
1637         * ForwardingHeaders/kjs/ConstructData.h: Removed.
1638         * ForwardingHeaders/kjs/DateInstance.h: Removed.
1639         * ForwardingHeaders/kjs/Error.h: Removed.
1640         * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
1641         * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
1642         * ForwardingHeaders/kjs/InternalFunction.h: Removed.
1643         * ForwardingHeaders/kjs/JSArray.h: Removed.
1644         * ForwardingHeaders/kjs/JSFunction.h: Removed.
1645         * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
1646         * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
1647         * ForwardingHeaders/kjs/JSObject.h: Removed.
1648         * ForwardingHeaders/kjs/JSString.h: Removed.
1649         * ForwardingHeaders/kjs/JSValue.h: Removed.
1650         * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
1651         * ForwardingHeaders/kjs/PropertyMap.h: Removed.
1652         * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
1653         * ForwardingHeaders/kjs/StringObject.h: Removed.
1654         * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
1655         * ForwardingHeaders/kjs/StringPrototype.h: Removed.
1656         * ForwardingHeaders/kjs/StructureID.h: Removed.
1657         * ForwardingHeaders/runtime: Added.
1658         * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
1659         * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
1660         * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
1661         * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
1662         * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
1663         * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
1664         * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
1665         * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
1666         * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
1667         * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
1668         * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
1669         * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
1670         * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
1671         * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
1672         * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
1673         * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
1674         * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
1675         * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
1676         * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
1677         * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
1678         * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
1679         * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
1680         * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
1681         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1682         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1683         * bindings/js/JSClipboardCustom.cpp:
1684         * bindings/js/JSConsoleCustom.cpp:
1685         * bindings/js/JSCustomPositionCallback.h:
1686         * bindings/js/JSCustomPositionErrorCallback.h:
1687         * bindings/js/JSCustomSQLStatementCallback.h:
1688         * bindings/js/JSCustomSQLStatementErrorCallback.h:
1689         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
1690         * bindings/js/JSCustomVoidCallback.h:
1691         * bindings/js/JSCustomXPathNSResolver.h:
1692         * bindings/js/JSDOMBinding.cpp:
1693         * bindings/js/JSDOMBinding.h:
1694         * bindings/js/JSDOMGlobalObject.h:
1695         * bindings/js/JSDOMWindowBase.cpp:
1696         * bindings/js/JSDOMWindowCustom.cpp:
1697         * bindings/js/JSDOMWindowShell.cpp:
1698         * bindings/js/JSDatabaseCustom.cpp:
1699         * bindings/js/JSEventListener.cpp:
1700         * bindings/js/JSEventTarget.h:
1701         * bindings/js/JSHTMLDocumentCustom.cpp:
1702         * bindings/js/JSHistoryCustom.cpp:
1703         * bindings/js/JSInspectedObjectWrapper.cpp:
1704         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1705         * bindings/js/JSLocationCustom.cpp:
1706         * bindings/js/JSNodeFilterCondition.h:
1707         * bindings/js/JSQuarantinedObjectWrapper.cpp:
1708         * bindings/js/JSQuarantinedObjectWrapper.h:
1709         * bindings/js/JSXMLHttpRequestCustom.cpp:
1710         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1711         * bindings/objc/WebScriptObject.mm:
1712         * bindings/objc/WebScriptObjectPrivate.h:
1713         * bindings/scripts/CodeGeneratorJS.pm:
1714         * bridge/NP_jsobject.cpp:
1715         * bridge/c/c_instance.cpp:
1716         * bridge/c/c_utility.cpp:
1717         * bridge/c/c_utility.h:
1718         * bridge/jni/jni_instance.cpp:
1719         * bridge/jni/jni_jsobject.h:
1720         * bridge/jni/jni_jsobject.mm:
1721         * bridge/jni/jni_runtime.cpp:
1722         * bridge/jni/jni_utility.cpp:
1723         * bridge/jni/jni_utility.h:
1724         * bridge/objc/objc_instance.mm:
1725         * bridge/objc/objc_runtime.h:
1726         * bridge/objc/objc_runtime.mm:
1727         * bridge/objc/objc_utility.h:
1728         * bridge/objc/objc_utility.mm:
1729         * bridge/runtime.h:
1730         * bridge/runtime_array.cpp:
1731         * bridge/runtime_array.h:
1732         * bridge/runtime_method.cpp:
1733         * bridge/runtime_method.h:
1734         * bridge/runtime_object.cpp:
1735         * bridge/runtime_object.h:
1736         * bridge/runtime_root.cpp:
1737         * inspector/JavaScriptCallFrame.cpp:
1738         * inspector/JavaScriptProfile.cpp:
1739         * inspector/JavaScriptProfile.h:
1740         * inspector/JavaScriptProfileNode.cpp:
1741         * inspector/JavaScriptProfileNode.h:
1742         * loader/FrameLoader.cpp:
1743         * page/Console.cpp:
1744         * plugins/PluginView.cpp:
1745         * plugins/gtk/PluginViewGtk.cpp:
1746         * plugins/qt/PluginViewQt.cpp:
1747         * plugins/win/PluginViewWin.cpp:
1749 2008-10-28  Adele Peterson  <adele@apple.com>
1751         Windows build fix.  This removes Cairo include directories from non-Cairbo build configurations.
1753         * WebCore.vcproj/WebCore.vcproj:
1755 2008-10-28  Adele Peterson  <adele@apple.com>
1757         Windows build fix.
1759         * platform/graphics/ImageBuffer.h:
1760         (WebCore::ImageBuffer::create):
1762 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
1764         Not reviewed.
1766         Roll out a mistaken attempt at fixing the GTK build in r37947.
1768         * GNUmakefile.am:
1770 2008-10-28  Adele Peterson  <adele@apple.com>
1772         Reviewed by John Sullivan.
1774         Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
1775         "files" string for multifile uploads needs to be localized
1777         * page/mac/WebCoreViewFactory.h:
1778         * platform/LocalizedStrings.h:
1779         * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
1780         * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
1781         * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
1782         * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
1783         * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
1784         * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
1786 2008-10-28  Brett Wilson  <brettw@chromium.org>
1788         Reviewed by Darin Adler.
1790         https://bugs.webkit.org/show_bug.cgi?id=21816
1792         Remove platform ifdefs in ImageBuffer.h by moving platform specific code
1793         into a new PlatformImageBuffer class. Move the static create function
1794         into the header because it can be cross-platform. Initialization now
1795         happens in the cunstructor which sets a flag that create uses to know
1796         whether it should return null or not. I also made passing of IntSize
1797         more consistent (always by reference).
1799         This change also changes the ifdefs in GraphicsContext to allow Skia
1800         ports to implement text drawing modes.
1802         * platform/graphics/ImageBuffer.h:
1803         (WebCore::ImageBuffer::create):
1804         (WebCore::ImageBuffer::size):
1805         * platform/graphics/cairo/ImageBufferCairo.cpp:
1806         (WebCore::ImageBufferData::ImageBufferData):
1807         (WebCore::ImageBuffer::ImageBuffer):
1808         (WebCore::ImageBuffer::~ImageBuffer):
1809         (WebCore::ImageBuffer::image):
1810         (WebCore::ImageBuffer::getImageData):
1811         (WebCore::ImageBuffer::putImageData):
1812         * platform/graphics/cairo/ImageBufferData.h:
1813         * platform/graphics/cg/ImageBufferCG.cpp:
1814         (WebCore::ImageBufferData::ImageBufferData):
1815         (WebCore::ImageBuffer::ImageBuffer):
1816         (WebCore::ImageBuffer::~ImageBuffer):
1817         (WebCore::ImageBuffer::getImageData):
1818         (WebCore::ImageBuffer::putImageData):
1819         * platform/graphics/cg/ImageBufferData.h:
1820         * platform/graphics/qt/ImageBufferData.h:
1821         * platform/graphics/qt/ImageBufferQt.cpp:
1822         (WebCore::ImageBufferData::ImageBufferData):
1823         (WebCore::ImageBuffer::ImageBuffer):
1824         (WebCore::ImageBuffer::~ImageBuffer):
1826 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
1828         Not reviewed.
1830         Fix the GTK build.
1832         * GNUmakefile.am:
1834 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
1836         Not reviewed.
1838         Another Qt build fix.
1840         * WebCore.pro:
1842 2008-10-28  Greg Bolsinga  <bolsinga@apple.com>
1844         Reviewed by David Kilzer.
1846         https://bugs.webkit.org/show_bug.cgi?id=21932
1847         Add non-pointer constant lookups to SoftLinking.h
1849         * platform/mac/SoftLinking.h:
1851 2008-10-28  Greg Bolsinga  <bolsinga@apple.com>
1853         Reviewed by David Kilzer.
1855         https://bugs.webkit.org/show_bug.cgi?id=2192
1856         Missing semi-colons in Geoposition.idl
1858         * page/Geoposition.idl: Add missing semi-colons
1860 2008-10-28  Timothy Hatcher  <timothy@apple.com>
1862         Make the Profiles panel in the Web Inspector have an enable screen.
1863         Profiling now needs to be enabled before console.profile() works.
1865         <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
1866         not slow down JavaScript all the time
1868         Reviewed by Darin Adler and Kevin McCullough.
1870         * English.lproj/localizedStrings.js: New strings.
1871         * WebCore.base.exp: New and changed exports.
1872         * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
1873         * bindings/js/JSDOMWindowBase.cpp:
1874         (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
1875         * inspector/InspectorController.cpp:
1876         (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
1877         Timer to call InspectorController::startUserInitiatedProfiling.
1878         (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
1879         that calls InspectorController::startUserInitiatedProfiling.
1880         (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
1881         and enable the profiler if the profiler was not enabled.
1882         (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
1883         (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
1884         if the skipRecompile argument is false. Call the profilerWasEnabled script function.
1885         (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
1886         Call the profilerWasEnabled script function.
1887         (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
1888         so it won't be started later.
1889         * inspector/InspectorController.h:
1890         (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
1891         * inspector/front-end/Images/debuggingButtons.png: Remove.
1892         * inspector/front-end/Images/enableButtons.png: Added.
1893         * inspector/front-end/Images/profilesSilhouette.png: Added.
1894         * inspector/front-end/Images/scriptsSilhouette.png: Added.
1895         * inspector/front-end/PanelEnablerView.js: Added.
1896         (WebInspector.PanelEnablerView):
1897         (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
1898         event so listeners can do their thing.
1899         (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
1900         * inspector/front-end/ProfilesPanel.js:
1901         (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
1902         (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
1903         (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
1904         (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
1905         (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
1906         (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
1907         (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
1908         show/hide other buttons. Also show/hide the PanelEnablerView.
1909         (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
1910         (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
1911         disableProfiler or enableProfiler.
1912         * inspector/front-end/ScriptsPanel.js:
1913         (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
1914         debuggingButton with the enableToggleButton.
1915         (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
1916         the enableToggleButton.
1917         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
1918         when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
1919         with the enableToggleButton.
1920         (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
1921         (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
1922         since reset is called from debuggerWasEnabled and debuggerWasDisabled.
1923         * inspector/front-end/View.js: Inherit from WebInspector.Object.
1924         * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
1925         * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
1926         * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
1927         * inspector/front-end/inspector.js:
1928         (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
1929         (WebInspector.profilerWasDisabled): Ditto.
1930         * page/Console.cpp:
1931         (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
1932         (WebCore::Console::info): Ditto.
1933         (WebCore::Console::log): Ditto.
1934         (WebCore::Console::assertCondition): Ditto.
1935         (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
1936         (WebCore::Console::count): Ditto.
1937         (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
1938         (WebCore::Console::profileEnd): Ditto.
1939         (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
1940         * page/Settings.cpp:
1941         (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
1942         (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
1943         Now just sets the member boolean.
1944         * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
1946 2008-10-28  Timothy Hatcher  <timothy@apple.com>
1948         Rename a few methods related to attaching and detaching the debugger. Also
1949         adds stub methods for enabling and disabling the profiler.
1951         * Rename attachDebugger to enableDebugger.
1952         * Rename detachDebugger to disableDebugger.
1953         * Rename the debuggerAttached getter to debuggerEnabled.
1954         * Rename the debuggerAttached callback to debuggerWasEnabled.
1955         * Rename the debuggerDetached callback to debuggerWasDisabled.
1957         Reviewed by Darin Adler.
1959         * WebCore.base.exp:
1960         * inspector/InspectorController.cpp:
1961         (WebCore::InspectorController::InspectorController):
1962         (WebCore::InspectorController::setWindowVisible):
1963         (WebCore::InspectorController::windowScriptObjectAvailable):
1964         (WebCore::InspectorController::close):
1965         (WebCore::InspectorController::enableProfiler):
1966         (WebCore::InspectorController::disableProfiler):
1967         (WebCore::InspectorController::enableDebugger):
1968         (WebCore::InspectorController::disableDebugger):
1969         (WebCore::InspectorController::pauseInDebugger):
1970         (WebCore::InspectorController::resumeDebugger):
1971         (WebCore::InspectorController::stepOverStatementInDebugger):
1972         (WebCore::InspectorController::stepIntoStatementInDebugger):
1973         (WebCore::InspectorController::stepOutOfFunctionInDebugger):
1974         * inspector/InspectorController.h:
1975         (WebCore::InspectorController::profilerEnabled):
1976         (WebCore::InspectorController::debuggerEnabled):
1977         * inspector/front-end/BreakpointsSidebarPane.js:
1978         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
1979         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
1980         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
1981         * inspector/front-end/Object.js:
1982         * inspector/front-end/ProfilesPanel.js:
1983         (WebInspector.ProfilesPanel):
1984         * inspector/front-end/ScriptsPanel.js:
1985         (WebInspector.ScriptsPanel):
1986         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
1987         (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
1988         (WebInspector.ScriptsPanel.prototype.debuggerWasDetached):
1989         (WebInspector.ScriptsPanel.prototype.reset):
1990         (WebInspector.ScriptsPanel.prototype.canShowResource):
1991         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
1992         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
1993         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1994         * inspector/front-end/View.js:
1995         * inspector/front-end/inspector.css:
1996         * inspector/front-end/inspector.html:
1997         * inspector/front-end/inspector.js:
1998         (WebInspector.addResource):
1999         (WebInspector.debuggerWasEnabled):
2000         (WebInspector.debuggerWasDisabled):
2002 2008-10-28  Timothy Hatcher  <timothy@apple.com>
2004         Fix an exception when searching the Resources panel while there
2005         and resources queued to be added to the list.
2007         Reviewed by Kevin McCullough.
2009         * inspector/front-end/ResourcesPanel.js:
2010         (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check
2011         the _resourcesTreeElement property.
2012         (WebInspector.ResourcesPanel.prototype.performSearch): Ditto.
2014 2008-10-28  Alp Toker  <alp@nuanti.com>
2016         GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK
2017         isn't defined.
2019         * platform/graphics/gtk/FontGtk.cpp:
2020         (WebCore::getDefaultPangoLayout):
2021         * platform/graphics/gtk/FontPlatformDataPango.cpp:
2023 2008-10-28  Alexey Proskuryakov  <ap@webkit.org>
2025         Reviewed by Darin Adler.
2027         https://bugs.webkit.org/show_bug.cgi?id=21893
2028         Character set is incorrect for external scripts in XHTML pages
2030         <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/
2032         Test: fast/encoding/external-script-charset.xhtml
2034         Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer.
2036         * dom/ScriptElement.h:
2037         * dom/XMLTokenizerLibxml2.cpp:
2038         (WebCore::XMLTokenizer::endElementNs):
2039         * dom/XMLTokenizerQt.cpp:
2040         (WebCore::XMLTokenizer::parseEndElement):
2041         * html/HTMLScriptElement.h:
2042         * svg/SVGScriptElement.cpp:
2043         (WebCore::SVGScriptElement::scriptCharset):
2044         * svg/SVGScriptElement.h:
2046 2008-10-28  Alp Toker  <alp@nuanti.com>
2048         Include copyright license files in the autotools dist target and
2049         exclude unused zlib headers.
2051         Change suggested by Mike Hommey.
2053         * GNUmakefile.am:
2055 2008-10-27  Sam Weinig  <sam@webkit.org>
2057         Reviewed by Maciej Stachowiak.
2059         Clear the window shell when destroying a page to allow documents
2060         which have no way of being reached anymore, to be torn down.
2062         * page/Frame.cpp:
2063         (WebCore::Frame::pageDestroyed):
2065 2008-10-27  Kevin Watters  <kevinwatters@gmail.com>
2067         Reviewed by Kevin Ollivier.
2068         
2069         Update the active state as well as the focused state as both need to be true
2070         for the caret to be drawn.
2071         
2072         https://bugs.webkit.org/show_bug.cgi?id=21900
2074         * WebView.cpp:
2075         (wxWebView::OnSetFocus):
2076         (wxWebView::OnKillFocus):
2078 2008-10-27  Kevin Ollivier  <kevino@theolliviers.com>
2080         wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes.
2082         * webcore-wx.bkl:
2084 2008-10-27  Michael Knaup  <michael.knaup@mac.com>
2086         Reviewed and tweaked by Darin Adler.
2088         - https://bugs.webkit.org/show_bug.cgi?id=8988
2090         Bug 8988: Add support for Mozilla CSS custom cursors.
2091         Added -webkit-grab and -webkit-grabbing cursor suppport
2092         for the Mac, dummy implementations for other platforms.
2094         * css/CSSParser.cpp:
2095         (WebCore::CSSParser::parseValue): Updated since the
2096         -webkit-grabbing cursor is now the last one.
2098         * css/CSSPrimitiveValueMappings.h:
2099         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added
2100         CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2102         * css/CSSValueKeywords.in: Added -webkit-grab and
2103         -webkit-grabbing.
2105         * manual-tests/cursor.html: Added -webkit-zoom-in,
2106         webkit-zoom-out, -webkit-grab, and -webkit-grabbing.
2108         * page/EventHandler.cpp:
2109         (WebCore::EventHandler::selectCursor): Added
2110         CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2112         * platform/Cursor.h: Added grabCursor and grabbingCursor.
2114         * platform/gtk/CursorGtk.cpp:
2115         (WebCore::grabCursor): Added.
2116         (WebCore::grabbingCursor): Added.
2117         * platform/mac/CursorMac.mm:
2118         (WebCore::grabCursor): Added.
2119         (WebCore::grabbingCursor): Added.
2120         * platform/qt/CursorQt.cpp:
2121         (WebCore::grabCursor): Added.
2122         (WebCore::grabbingCursor): Added.
2123         * platform/win/CursorWin.cpp:
2124         (WebCore::grabCursor): Added.
2125         (WebCore::grabbingCursor): Added.
2126         * platform/wx/CursorWx.cpp:
2127         (WebCore::grabCursor): Added.
2128         (WebCore::grabbingCursor): Added.
2130         * rendering/style/RenderStyleConstants.h:
2131         Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2132         Also broke ECursor out into a single constant per line.
2133         Also added a couple of comments.
2135 2008-10-27  Dimitri Glazkov  <dglazkov@chromium.org>
2137         Reviewed by Darin Adler.
2139         * svg/SVGAnimatedTemplate.h: needed a HashMap define
2141 2008-10-21  Eric Seidel  <eric@webkit.org>
2143         Reviewed by Dave Hyatt.
2145         Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
2146         https://bugs.webkit.org/show_bug.cgi?id=20400
2148         Test: svg/custom/stop-crash.svg
2150         * WebCore.xcodeproj/project.pbxproj:
2151         * rendering/RenderSVGGradientStop.h:
2152         (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect):
2154 2008-10-27  Anders Carlsson  <andersca@apple.com>
2156         Reviewed by Sam Weinig.
2158         No need to call release if the connection is null.
2159         
2160         * platform/network/mac/ResourceHandleMac.mm:
2161         (WebCore::ResourceHandle::start):
2163 2008-10-27  Anders Carlsson  <andersca@apple.com>
2165         Reviewed by Kevin Decker.
2167         <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
2168         
2169         Make sure to null check the NSURLConnection object.
2170         
2171         * platform/network/mac/ResourceHandleMac.mm:
2172         (WebCore::ResourceHandle::start):
2173         (WebCore::ResourceHandle::setDefersLoading):
2175 2008-10-27  Alexey Proskuryakov  <ap@webkit.org>
2177         Fix non-Mac builds.
2179         * GNUmakefile.am:
2180         * WebCore.pro:
2181         * WebCore.vcproj/WebCore.vcproj:
2182         * WebCoreSources.bkl:
2183         Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
2185 2008-10-26  Alexey Proskuryakov  <ap@webkit.org>
2187         Reviewed by Sam Weinig.
2189         https://bugs.webkit.org/show_bug.cgi?id=21886
2190         window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
2192         Test: fast/dom/HTMLOptionElement/option-prototype.html
2194         We now have separate objects for window.Option and window.HTMLOptionElement - the latter
2195         "constructor" cannot be used to construct anything. This matches Firefox behavior.
2197         * WebCore.xcodeproj/project.pbxproj:
2198         * bindings/js/JSDOMWindowBase.cpp:
2199         (jsDOMWindowBaseOption):
2200         * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
2201         * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
2202         * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
2203         * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
2204         * html/HTMLOptionElement.idl:
2205         Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
2207         * html/HTMLOptionElement.idl: Generate a constructor.
2209 2008-10-25  Geoffrey Garen  <ggaren@apple.com>
2211         Not reviewed.
2212         
2213         Try to fix Mac debug build on the buildbot.
2215         * platform/FileChooser.cpp:
2216         (WebCore::FileChooserClient::~FileChooserClient):
2217         * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
2218         weak exported symbol.
2220 2008-10-25  Jade Han  <jade.han@nokia.com>
2222         Reviewed by Anders.
2224         Enable custom properties for Qt runtime objects in QtWebKit
2226         https://bugs.webkit.org/show_bug.cgi?id=21813
2228         * bridge/runtime_object.cpp:
2229         (JSC::RuntimeObjectImp::getOwnPropertySlot):
2230         (JSC::RuntimeObjectImp::put):
2232 2008-10-24  Sam Weinig  <sam@webkit.org>
2234         Fix windows build.
2236         * page/Chrome.cpp:
2237         * page/Chrome.h:
2239 2008-10-24  Sam Weinig  <sam@webkit.org>
2241         Fix Qt build.
2243         * platform/qt/FileChooserQt.cpp:
2245 2008-10-24  Sam Weinig  <sam@webkit.org>
2247         Reviewed by Dan Bernstein.
2249         Fix https://bugs.webkit.org/show_bug.cgi?id=21759
2250         Layering violation: FileChooser should not depend on Document/Frame/Page
2252         Move file choosing into WebKit ChromeClient.
2254         * loader/EmptyClients.h:
2255         (WebCore::EmptyChromeClient::runOpenPanel):
2256         * page/Chrome.cpp:
2257         (WebCore::Chrome::runOpenPanel):
2258         * page/Chrome.h:
2259         * page/ChromeClient.h:
2260         * page/mac/ChromeMac.mm:
2261         * platform/FileChooser.h:
2262         * platform/mac/FileChooserMac.mm:
2263         * platform/qt/FileChooserQt.cpp:
2264         * platform/win/FileChooserWin.cpp:
2265         * platform/wx/TemporaryLinkStubs.cpp:
2266         * rendering/RenderFileUploadControl.cpp:
2267         (WebCore::RenderFileUploadControl::click):
2269 2008-10-24  Kevin Ollivier  <kevino@theolliviers.com>
2271         wx build fix - add newIconForFiles stub.
2273         * platform/wx/TemporaryLinkStubs.cpp:
2274         (Icon::newIconForFiles):
2276 2008-10-24  Kevin Watters  <kevinwatters@gmail.com>
2278         Reviewed by Kevin Ollivier.
2280         Use the CGFont metrics APIs for more accurate measurements, and tweak the y
2281         value the text is drawn at (it was a couple pixels off before because wx
2282         internally adds to the y value.
2284         https://bugs.webkit.org/show_bug.cgi?id=21853
2286         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
2287         (wxFontProperties::wxFontProperties):
2288         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
2289         (WebCore::drawTextWithSpacing):
2291 2008-10-24  Eric Seidel  <eric@webkit.org>
2293         Reviewed by Sam Weinig.
2295         Generate missing constructors and add test to prevent missing ones in the future
2296         https://bugs.webkit.org/show_bug.cgi?id=21846
2298         Test: fast/js/global-constructors.html
2300         * css/CSSStyleSheet.idl:
2301         * css/RGBColor.idl:
2302         * dom/NodeIterator.idl:
2303         * dom/TreeWalker.idl:
2304         * xml/XPathExpression.idl:
2306 2008-10-24  Alexey Proskuryakov  <ap@webkit.org>
2308         Reviewed by Darin Adler.
2310         https://bugs.webkit.org/show_bug.cgi?id=21836
2311         REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly
2313         Test: http/tests/xmlhttprequest/detaching-frame.html
2315         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window -
2316         even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected
2317         when dispatching the same callback that results in this function being called.
2319 2008-10-24  David Kilzer  <ddkilzer@apple.com>
2321         Gtk build fix.
2323         * platform/gtk/TemporaryLinkStubs.cpp:
2324         (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
2326 2008-10-24  Mark Rowe  <mrowe@apple.com>
2328         Reviewed by Sam Weinig.
2330         <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.
2332         * platform/graphics/cg/GraphicsContextCG.cpp:
2333         (WebCore::GraphicsContext::setImageInterpolationQuality):
2334         (WebCore::GraphicsContext::imageInterpolationQuality):
2336 2008-10-24  Anders Carlsson  <andersca@apple.com>
2338         Reviewed by Sam Weinig.
2340         <rdar://problem/5440917> Support NPN_Construct
2341                 
2342         * WebCore.NPAPI.exp:
2343         Export _NPN_Construct.
2344         
2345         * bridge/NP_jsobject.cpp:
2346         (_NPN_Construct):
2347         Implement this.
2348         
2349         * bridge/c/c_instance.cpp:
2350         (JSC::Bindings::CInstance::supportsConstruct):
2351         (JSC::Bindings::CInstance::invokeConstruct):
2352         Have this call the appropriate NPClass method.
2353         
2354         * bridge/npruntime.h:
2355         Add NPN_Construct.
2357         * bridge/npruntime_impl.h:
2358         Add _NPN_Construct.
2359         
2360         * bridge/runtime.h:
2361         (JSC::Bindings::Instance::supportsConstruct):
2362         (JSC::Bindings::Instance::invokeConstruct):
2363         New methods.
2364         
2365         * bridge/runtime_object.cpp:
2366         (JSC::callRuntimeConstructor):
2367         Call the native instance.
2368         
2369         (JSC::RuntimeObjectImp::getConstructData):
2370         Implement this.
2371         
2372         * bridge/runtime_object.h:
2373         Add new method declarations.
2374         
2375         * plugins/gtk/PluginPackageGtk.cpp:
2376         (WebCore::PluginPackage::load):
2377         * plugins/qt/PluginPackageQt.cpp:
2378         (WebCore::PluginPackage::load):
2379         * plugins/win/PluginPackageWin.cpp:
2380         (WebCore::PluginPackage::load):
2381         Initialize m_pluginFuncs.construct.
2383 2008-10-24  Adele Peterson  <adele@apple.com>
2385         Build fix.
2387         * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient):
2388         * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles):
2390 2008-10-24  Greg Bolsinga  <bolsinga@apple.com>
2392         Fix GTK build break.
2394         Reviewed by David Kilzer.
2396         * GNUmakefile.am: Do not include .idl files whose generated files should not be
2397         compiled.
2399 2008-10-24  David Kilzer  <ddkilzer@apple.com>
2401         Wx build fix.
2403         * platform/wx/TemporaryLinkStubs.cpp:
2404         (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
2406 2008-10-24  Adele Peterson  <adele@apple.com>
2408         Reviewed by Sam Weinig.
2410         WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
2412         This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used.
2413         This is consistent with the direction HTML5 will be going in the future.
2415         The initial implementation here will show "n files" as the text next to the control when multiple files are selected.  You can view
2416         the individual files in a tooltip for now.  Improvements to this control will come later.  
2418         Web developers will be able to access the FileList from the HTMLInputElement element, where they can get a base name and a size for each file.  
2419         These FileList Files can also be sent in an XMLHTTPRequest.
2421         * manual-tests/post-multi-file-upload.html: Added.
2422         * manual-tests/resources/multiFileResources: Added.
2423         * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added.
2424         * manual-tests/resources/multiFileResources/testFile1.html: Added.
2425         * manual-tests/resources/multiFileResources/testFile2.html: Added.
2426         * manual-tests/resources/multiFileResources/testFile3.html: Added.
2428         * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit.
2430         * html/HTMLInputElement.cpp:
2431         (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute.
2432         (WebCore::HTMLInputElement::value): Added comments.  The HTML5 spec says that value shouldn't apply for the file upload control,
2433         but we don't want to break the behavior for existing websites that may rely on this.
2434         (WebCore::HTMLInputElement::setValue): ditto.
2435         (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead.
2436         (WebCore::HTMLInputElement::setFileListFromRenderer): Added. 
2437         * html/HTMLInputElement.h:
2439         * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control.
2441         * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files.
2443         * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer.
2444         (WebCore::FileChooser::FileChooser):
2445         (WebCore::FileChooser::create):
2446         (WebCore::FileChooser::clear):
2447         (WebCore::FileChooser::chooseFile):
2448         (WebCore::FileChooser::chooseFiles):
2449         (WebCore::FileChooser::chooseIcon):
2450         * platform/FileChooser.h:
2451         (WebCore::FileChooser::filePaths):
2452         (WebCore::FileChooser::allowsMultipleFiles):
2454         * platform/graphics/Icon.h:
2455         * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files.
2456         * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out.
2457         * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto.
2458         * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto.
2460         * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):  Updated to deal with new filenames vector.
2461         * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto.
2462         * platform/qt/FileChooserQt.cpp:
2463         (WebCore::FileChooser::openFileChooser):
2464         (WebCore::FileChooser::basenameForWidth):
2465         * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth):
2467         * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle):
2468         Removed unnecessary assertion.  This can get hit when connectionDidFinishLoading and cancel
2469         both get called for the same ResourceHandle.  This getting called twice has no negative effect.
2471         * rendering/RenderFileUploadControl.cpp:
2472         (WebCore::RenderFileUploadControl::valueChanged):  Calls setFileListFromRenderer.
2473         (WebCore::RenderFileUploadControl::allowsMultipleFiles):  Added.
2474         (WebCore::RenderFileUploadControl::updateFromElement):  Uses the new filenames call from FileChooser.
2475         (WebCore::RenderFileUploadControl::receiveDroppedFiles):  Updated to support multiple files.
2476         * rendering/RenderFileUploadControl.h:
2478 2008-10-23  Peter Kasting  <pkasting@google.com>
2480         Reviewed by David Hyatt.
2482         https://bugs.webkit.org/show_bug.cgi?id=21844
2483         Remove setFocusRingColorChangeFunction.
2485         * page/Page.cpp:
2486         (WebCore::Page::Page):
2487         * platform/graphics/Color.h:
2488         * platform/graphics/mac/ColorMac.mm:
2489         (WebCore::focusRingColor):
2490         * platform/graphics/qt/GraphicsContextQt.cpp:
2491         * platform/graphics/win/ColorSafari.cpp:
2493 2008-10-24  David Kilzer  <ddkilzer@apple.com>
2495         Build fix for Qt.
2497         Reviewed by Greg.
2499         * WebCore.pro: Added missing *.idl files.
2501 2008-10-24  Greg Bolsinga  <bolsinga@apple.com>
2503         Reviewed by Sam Weinig.
2505         https://bugs.webkit.org/show_bug.cgi?id=21475
2506         
2507         Provide support for the Geolocation API
2508         
2509         http://dev.w3.org/geo/api/spec-source.html
2511         Test: geolocation/geolocation-not-implemented.html
2513         * DerivedSources.make:
2514         * GNUmakefile.am: Added Geolocation support
2515         * WebCore.pro: Added Geolocation support
2516         * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
2517         * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
2518         * WebCoreSources.bkl: Added Geolocation support
2519         * bindings/js/JSCustomPositionCallback.cpp: Added.
2520         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
2521         (WebCore::JSCustomPositionCallback::handleEvent):
2522         * bindings/js/JSCustomPositionCallback.h: Added.
2523         (WebCore::JSCustomPositionCallback::create):
2524         * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
2525         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
2526         (WebCore::JSCustomPositionErrorCallback::handleEvent):
2527         * bindings/js/JSCustomPositionErrorCallback.h: Added.
2528         (WebCore::JSCustomPositionErrorCallback::create):
2529         * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
2530         (WebCore::markDOMObjectWrapper):
2531         * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
2532         * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
2533         * bindings/js/JSGeolocationCustom.cpp: Added.
2534         (WebCore::JSGeolocation::getCurrentPosition):
2535         (WebCore::JSGeolocation::watchPosition):
2536         * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
2537         (WebCore::JSNavigator::mark):
2538         * dom/Document.cpp:
2539         (WebCore::Document::Document):
2540         * dom/Document.h:
2541         (WebCore::Document::setUsingGeolocation):
2542         (WebCore::Document::usingGeolocation):
2543         * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
2544         (WebCore::FrameLoader::canCachePage):
2545         * page/Geolocation.cpp: Added.
2546         (WebCore::Geolocation::GeoNotifier::GeoNotifier):
2547         (WebCore::Geolocation::GeoNotifier::timerFired):
2548         (WebCore::Geolocation::Geolocation):
2549         (WebCore::Geolocation::disconnectFrame):
2550         (WebCore::Geolocation::getCurrentPosition):
2551         (WebCore::Geolocation::watchPosition):
2552         (WebCore::Geolocation::clearWatch):
2553         (WebCore::Geolocation::stopUpdatingIfEmpty):
2554         (WebCore::Geolocation::sendErrorToOneShots):
2555         (WebCore::Geolocation::sendErrorToWatchers):
2556         (WebCore::Geolocation::sendPositionToOneShots):
2557         (WebCore::Geolocation::sendPositionToWatchers):
2558         (WebCore::Geolocation::handleError):
2559         (WebCore::Geolocation::geolocationServicePositionChanged):
2560         (WebCore::Geolocation::geolocationServiceErrorOccurred):
2561         * page/Geolocation.h: Added.
2562         (WebCore::Geolocation::create):
2563         (WebCore::Geolocation::~Geolocation):
2564         (WebCore::Geolocation::lastPosition):
2565         (WebCore::Geolocation::GeoNotifier::create):
2566         * page/Geolocation.idl: Added.
2567         * page/Geoposition.cpp: Added.
2568         (WebCore::Geoposition::toString):
2569         * page/Geoposition.h: Added.
2570         (WebCore::Geoposition::create):
2571         (WebCore::Geoposition::latitude):
2572         (WebCore::Geoposition::longitude):
2573         (WebCore::Geoposition::altitude):
2574         (WebCore::Geoposition::accuracy):
2575         (WebCore::Geoposition::altitudeAccuracy):
2576         (WebCore::Geoposition::heading):
2577         (WebCore::Geoposition::velocity):
2578         (WebCore::Geoposition::timestamp):
2579         (WebCore::Geoposition::Geoposition):
2580         * page/Geoposition.idl: Added.
2581         * page/Navigator.cpp:
2582         (WebCore::Navigator::disconnectFrame): disconnect Geolocation
2583         (WebCore::Navigator::geolocation): accessor for Geolocation
2584         * page/Navigator.h:
2585         (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
2586         * page/Navigator.idl: accessor for Geolocation
2587         * page/PositionCallback.h: Added.
2588         (WebCore::PositionCallback::~PositionCallback):
2589         * page/PositionCallback.idl: Added.
2590         * page/PositionError.h: Added.
2591         (WebCore::PositionError::):
2592         (WebCore::PositionError::create):
2593         (WebCore::PositionError::code):
2594         (WebCore::PositionError::message):
2595         (WebCore::PositionError::PositionError):
2596         * page/PositionError.idl: Added.
2597         * page/PositionErrorCallback.h: Added.
2598         (WebCore::PositionErrorCallback::~PositionErrorCallback):
2599         * page/PositionErrorCallback.idl: Added.
2600         * page/PositionOptions.h: Added.
2601         (WebCore::PositionOptions::create):
2602         (WebCore::PositionOptions::enableHighAccuracy):
2603         (WebCore::PositionOptions::setEnableHighAccuracy):
2604         (WebCore::PositionOptions::timeout):
2605         (WebCore::PositionOptions::setTimeout):
2606         (WebCore::PositionOptions::PositionOptions):
2607         * page/PositionOptions.idl: Added.
2608         * platform/GeolocationService.cpp: Added.
2609         (WebCore::GeolocationService::GeolocationService):
2610         (WebCore::GeolocationService::positionChanged):
2611         (WebCore::GeolocationService::errorOccurred):
2612         * platform/GeolocationService.h: Added.
2613         (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
2614         (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
2615         (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
2616         (WebCore::GeolocationService::~GeolocationService):
2618 2008-10-24  Simon Fraser  <simon.fraser@apple.com>
2620         Reviewed by Darin Adler
2622         https://bugs.webkit.org/show_bug.cgi?id=21818
2623         
2624         Add HashTraits for AtomicString so that AtomicString can be used as
2625         the key for a HashMap or HashSet.
2627         * GNUmakefile.am: add AtomicStringHash.h
2628         * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h
2629         * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h
2630         * platform/text/AtomicString.h:
2631         (WebCore::AtomicString::AtomicString):
2632         (WebCore::AtomicString::isHashTableDeletedValue):
2633             specialize DefaultHash for AtomicString to use AtomicStringHash
2634         * platform/text/AtomicStringHash.h: Added.
2635         * platform/text/StringImpl.cpp:
2636         (WebCore::StringImpl::StringImpl):
2637             compute the hash up-front for the empty string
2638         * platform/text/StringImpl.h:
2639         (WebCore::StringImpl::existingHash):
2640             method to get the hash without a test and branch, for callers like
2641             AtomicStringHash who can guarantee that the hash has already been computed.
2643 2008-10-24  Simon Fraser  <simon.fraser@apple.com>
2645         Reviewed by Sam Weinig
2647         https://bugs.webkit.org/show_bug.cgi?id=21857
2649         Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the
2650         switch in _wrapCSSRule.
2651         
2652         * bindings/objc/DOMCSS.mm:
2653         (+[DOMCSSRule _wrapCSSRule:WebCore::]):
2655 2008-10-24  Adam Roben  <aroben@apple.com>
2657         Windows build fix
2659         * plugins/PluginView.cpp:
2661 2008-10-24  Dan Bernstein  <mitz@apple.com>
2663         Reviewed by Sam Weinig.
2665         - fix https://bugs.webkit.org/show_bug.cgi?id=21851
2666           <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height
2668         Test: fast/replaced/percent-height-in-anonymous-block-widget.html
2670         * rendering/RenderWidget.cpp:
2671         (WebCore::RenderWidget::destroy): Copied code added to
2672         RenderBox::destroy() in r36513 into this function.
2674 2008-10-24  Timothy Hatcher  <timothy@apple.com>
2676         Add a mechanism to ask the InspectorClient for key/value setting pairs.
2677         These settings can be strings, numbers, booleans or string vectors. The
2678         settings are also bridged to and from JavaScript.
2680         https://bugs.webkit.org/show_bug.cgi?id=21856
2682         Reviewed by Darin Adler.
2684         * WebCore.base.exp: Expose the String CFStringRef constructor.
2685         * inspector/InspectorClient.h:
2686         (WebCore::InspectorClient::populateSetting): Added, pure virtual.
2687         (WebCore::InspectorClient::storeSetting): Ditto.
2688         (WebCore::InspectorClient::removeSetting): Ditto.
2689         * inspector/InspectorController.cpp:
2690         (WebCore::setting): Calls InspectorController::setting and wraps the result in script types.
2691         (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types.
2692         (WebCore::InspectorController::InspectorController): Increment a global static
2693         to track the number of live InspectorControllers.
2694         (WebCore::InspectorController::~InspectorController): Decrement the global static
2695         that tracks the number of live InspectorControllers. Delete the setting cache if there
2696         are no more live controllers.
2697         (WebCore::InspectorController::setting): Check the cache and return the setting from there,
2698         otherwise make a new Setting and ask the client to populate it.
2699         (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it.
2700         (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting
2701         to the InspectorController script class.
2702         * inspector/InspectorController.h:
2703         (WebCore::InspectorController::Setting::Setting):
2704         (WebCore::InspectorController::Setting::operator=):
2705         (WebCore::InspectorController::Setting::type): Return m_type.
2706         (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct.
2707         (WebCore::InspectorController::Setting::stringVector): Return m_stringVector.
2708         Assert the type is correct.
2709         (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double.
2710         Assert the type is correct.
2711         (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer.
2712         Assert the type is correct.
2713         (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean.
2714         Assert the type is correct.
2715         (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right
2716         field and the type.
2717         * loader/EmptyClients.h:
2718         (WebCore::EmptyInspectorClient::populateSetting): Added, empty method.
2719         (WebCore::EmptyInspectorClient::storeSetting): Ditto.
2720         (WebCore::EmptyInspectorClient::removeSetting): Ditto.
2722 2008-10-24  Cameron Zwarich  <zwarich@apple.com>
2724         Reviewed by Sam Weinig.
2726         Remove some C-style casts.
2728         * html/HTMLViewSourceDocument.cpp:
2729         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2731 2008-10-24  Darin Adler  <darin@apple.com>
2733         - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
2735         * bindings/js/JSAttrCustom.cpp:
2736         * bindings/js/JSCSSRuleCustom.cpp:
2737         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2738         * bindings/js/JSCSSValueCustom.cpp:
2739         * bindings/js/JSCanvasPixelArrayCustom.h:
2740         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2741         * bindings/js/JSClipboardCustom.cpp:
2742         * bindings/js/JSConsoleCustom.cpp:
2743         * bindings/js/JSCustomSQLStatementCallback.cpp:
2744         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2745         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2746         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2747         * bindings/js/JSCustomVoidCallback.cpp:
2748         * bindings/js/JSCustomVoidCallback.h:
2749         * bindings/js/JSCustomXPathNSResolver.cpp:
2750         * bindings/js/JSCustomXPathNSResolver.h:
2751         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2752         * bindings/js/JSDOMBinding.cpp:
2753         * bindings/js/JSDOMBinding.h:
2754         * bindings/js/JSDOMWindowBase.cpp:
2755         * bindings/js/JSDOMWindowBase.h:
2756         * bindings/js/JSDOMWindowCustom.cpp:
2757         * bindings/js/JSDOMWindowCustom.h:
2758         * bindings/js/JSDOMWindowShell.cpp:
2759         * bindings/js/JSDOMWindowShell.h:
2760         * bindings/js/JSDatabaseCustom.cpp:
2761         * bindings/js/JSDedicatedWorkerCustom.cpp:
2762         * bindings/js/JSDocumentCustom.cpp:
2763         * bindings/js/JSElementCustom.cpp:
2764         * bindings/js/JSEventCustom.cpp:
2765         * bindings/js/JSEventListener.cpp:
2766         * bindings/js/JSEventTarget.cpp:
2767         * bindings/js/JSEventTarget.h:
2768         * bindings/js/JSEventTargetBase.h:
2769         * bindings/js/JSEventTargetNodeCustom.cpp:
2770         * bindings/js/JSHTMLAllCollection.h:
2771         * bindings/js/JSHTMLAppletElementCustom.cpp:
2772         * bindings/js/JSHTMLCollectionCustom.cpp:
2773         * bindings/js/JSHTMLDocumentCustom.cpp:
2774         * bindings/js/JSHTMLEmbedElementCustom.cpp:
2775         * bindings/js/JSHTMLFormElementCustom.cpp:
2776         * bindings/js/JSHTMLFrameElementCustom.cpp:
2777         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2778         * bindings/js/JSHTMLIFrameElementCustom.cpp:
2779         * bindings/js/JSHTMLInputElementCustom.cpp:
2780         * bindings/js/JSHTMLObjectElementCustom.cpp:
2781         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2782         * bindings/js/JSHTMLSelectElementCustom.cpp:
2783         * bindings/js/JSHTMLSelectElementCustom.h:
2784         * bindings/js/JSHistoryCustom.cpp:
2785         * bindings/js/JSImageDataCustom.cpp:
2786         * bindings/js/JSInspectedObjectWrapper.cpp:
2787         * bindings/js/JSInspectedObjectWrapper.h:
2788         * bindings/js/JSInspectorCallbackWrapper.cpp:
2789         * bindings/js/JSInspectorCallbackWrapper.h:
2790         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2791         * bindings/js/JSLocationCustom.cpp:
2792         * bindings/js/JSMessagePortCustom.cpp:
2793         * bindings/js/JSMimeTypeArrayCustom.cpp:
2794         * bindings/js/JSNamedNodeMapCustom.cpp:
2795         * bindings/js/JSNamedNodesCollection.cpp:
2796         * bindings/js/JSNamedNodesCollection.h:
2797         * bindings/js/JSNavigatorCustom.cpp:
2798         * bindings/js/JSNodeCustom.cpp:
2799         * bindings/js/JSNodeFilterCondition.cpp:
2800         * bindings/js/JSNodeFilterCondition.h:
2801         * bindings/js/JSNodeFilterCustom.cpp:
2802         * bindings/js/JSNodeIteratorCustom.cpp:
2803         * bindings/js/JSNodeListCustom.cpp:
2804         * bindings/js/JSPluginArrayCustom.cpp:
2805         * bindings/js/JSPluginCustom.cpp:
2806         * bindings/js/JSPluginElementFunctions.cpp:
2807         * bindings/js/JSPluginElementFunctions.h:
2808         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2809         * bindings/js/JSQuarantinedObjectWrapper.h:
2810         * bindings/js/JSRGBColor.cpp:
2811         * bindings/js/JSRGBColor.h:
2812         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2813         * bindings/js/JSSQLTransactionCustom.cpp:
2814         * bindings/js/JSSVGElementInstanceCustom.cpp:
2815         * bindings/js/JSSVGLengthCustom.cpp:
2816         * bindings/js/JSSVGMatrixCustom.cpp:
2817         * bindings/js/JSSVGPathSegCustom.cpp:
2818         * bindings/js/JSSVGPathSegListCustom.cpp:
2819         * bindings/js/JSSVGPointListCustom.cpp:
2820         * bindings/js/JSSVGTransformListCustom.cpp:
2821         * bindings/js/JSStorageCustom.cpp:
2822         * bindings/js/JSStyleSheetCustom.cpp:
2823         * bindings/js/JSStyleSheetListCustom.cpp:
2824         * bindings/js/JSTextCustom.cpp:
2825         * bindings/js/JSTreeWalkerCustom.cpp:
2826         * bindings/js/JSXMLHttpRequestCustom.cpp:
2827         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2828         * bindings/js/JSXSLTProcessorCustom.cpp:
2829         * bindings/js/ScheduledAction.cpp:
2830         * bindings/js/ScheduledAction.h:
2831         * bindings/js/ScriptController.cpp:
2832         * bindings/js/ScriptController.h:
2833         * bindings/objc/WebScriptObject.mm:
2834         * bindings/objc/WebScriptObjectPrivate.h:
2835         * bindings/scripts/CodeGeneratorJS.pm:
2836         * bridge/NP_jsobject.cpp:
2837         * bridge/c/c_instance.cpp:
2838         * bridge/c/c_instance.h:
2839         * bridge/c/c_runtime.cpp:
2840         * bridge/c/c_runtime.h:
2841         * bridge/c/c_utility.cpp:
2842         * bridge/c/c_utility.h:
2843         * bridge/jni/jni_instance.cpp:
2844         * bridge/jni/jni_instance.h:
2845         * bridge/jni/jni_jsobject.h:
2846         * bridge/jni/jni_jsobject.mm:
2847         * bridge/jni/jni_objc.mm:
2848         * bridge/jni/jni_runtime.cpp:
2849         * bridge/jni/jni_runtime.h:
2850         * bridge/jni/jni_utility.cpp:
2851         * bridge/jni/jni_utility.h:
2852         * bridge/objc/WebScriptObject.h:
2853         * bridge/objc/objc_class.h:
2854         * bridge/objc/objc_class.mm:
2855         * bridge/objc/objc_instance.h:
2856         * bridge/objc/objc_instance.mm:
2857         * bridge/objc/objc_runtime.h:
2858         * bridge/objc/objc_runtime.mm:
2859         * bridge/objc/objc_utility.h:
2860         * bridge/objc/objc_utility.mm:
2861         * bridge/qt/qt_class.cpp:
2862         * bridge/qt/qt_class.h:
2863         * bridge/qt/qt_instance.cpp:
2864         * bridge/qt/qt_instance.h:
2865         * bridge/qt/qt_runtime.cpp:
2866         * bridge/qt/qt_runtime.h:
2867         * bridge/runtime.cpp:
2868         * bridge/runtime.h:
2869         * bridge/runtime_array.cpp:
2870         * bridge/runtime_array.h:
2871         * bridge/runtime_method.cpp:
2872         * bridge/runtime_method.h:
2873         * bridge/runtime_object.cpp:
2874         * bridge/runtime_object.h:
2875         * bridge/testqtbindings.cpp:
2876         * inspector/JavaScriptCallFrame.cpp:
2877         * inspector/JavaScriptCallFrame.h:
2878         * inspector/JavaScriptProfile.cpp:
2879         * inspector/JavaScriptProfile.h:
2880         * inspector/JavaScriptProfileNode.cpp:
2881         * inspector/JavaScriptProfileNode.h:
2882         * loader/FrameLoader.cpp:
2883         * loader/FrameLoader.h:
2884         * page/Console.cpp:
2885         * page/Console.h:
2886         * plugins/MimeTypeArray.h:
2887         * plugins/Plugin.h:
2888         * plugins/PluginArray.h:
2889         * plugins/PluginView.cpp:
2890         * xml/XMLHttpRequest.cpp:
2891         Use JSValue* instead of JSValuePtr.
2893 2008-10-24  Simon Hausmann  <hausmann@webkit.org>
2895         Fix the Qt build.
2897         * bridge/qt/qt_instance.cpp:
2898         (JSC::Bindings::QtField::valueFromInstance):
2900 2008-10-24  David Kilzer  <ddkilzer@apple.com>
2902         Rolled out r37840 and r37841.
2904         * DerivedSources.make:
2905         * GNUmakefile.am:
2906         * WebCore.pro:
2907         * WebCore.vcproj/WebCore.vcproj:
2908         * WebCore.xcodeproj/project.pbxproj:
2909         * WebCoreSources.bkl:
2910         * bindings/js/JSCustomPositionCallback.cpp: Removed.
2911         * bindings/js/JSCustomPositionCallback.h: Removed.
2912         * bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
2913         * bindings/js/JSCustomPositionErrorCallback.h: Removed.
2914         * bindings/js/JSDOMBinding.cpp:
2915         * bindings/js/JSDOMBinding.h:
2916         * bindings/js/JSDOMWindowCustom.cpp:
2917         (WebCore::markDOMObjectWrapper):
2918         * bindings/js/JSGeolocationCustom.cpp: Removed.
2919         * bindings/js/JSNavigatorCustom.cpp:
2920         * dom/Document.cpp:
2921         (WebCore::Document::Document):
2922         * dom/Document.h:
2923         * loader/FrameLoader.cpp:
2924         (WebCore::FrameLoader::canCachePage):
2925         * page/Geolocation.cpp: Removed.
2926         * page/Geolocation.h: Removed.
2927         * page/Geolocation.idl: Removed.
2928         * page/Geoposition.cpp: Removed.
2929         * page/Geoposition.h: Removed.
2930         * page/Geoposition.idl: Removed.
2931         * page/Navigator.cpp:
2932         (WebCore::Navigator::disconnectFrame):
2933         * page/Navigator.h:
2934         * page/Navigator.idl:
2935         * page/PositionCallback.h: Removed.
2936         * page/PositionCallback.idl: Removed.
2937         * page/PositionError.h: Removed.
2938         * page/PositionError.idl: Removed.
2939         * page/PositionErrorCallback.h: Removed.
2940         * page/PositionErrorCallback.idl: Removed.
2941         * page/PositionOptions.h: Removed.
2942         * page/PositionOptions.idl: Removed.
2943         * platform/GeolocationService.cpp: Removed.
2944         * platform/GeolocationService.h: Removed.
2946 2008-10-23  David Kilzer  <ddkilzer@apple.com>
2948         Attempt to fix GTK build.
2950         * GNUmakefile.am: Added new *.idl files that were missing.
2952 2008-10-23  Greg Bolsinga  <bolsinga@apple.com>
2954         Reviewed by Sam Weinig.
2956         https://bugs.webkit.org/show_bug.cgi?id=21475
2957         
2958         Provide support for the Geolocation API
2959         
2960         http://dev.w3.org/geo/api/spec-source.html
2962         Test: geolocation/geolocation-not-implemented.html
2964         * DerivedSources.make:
2965         * GNUmakefile.am: Added Geolocation support
2966         * WebCore.pro: Added Geolocation support
2967         * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
2968         * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
2969         * WebCoreSources.bkl: Added Geolocation support
2970         * bindings/js/JSCustomPositionCallback.cpp: Added.
2971         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
2972         (WebCore::JSCustomPositionCallback::handleEvent):
2973         * bindings/js/JSCustomPositionCallback.h: Added.
2974         (WebCore::JSCustomPositionCallback::create):
2975         * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
2976         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
2977         (WebCore::JSCustomPositionErrorCallback::handleEvent):
2978         * bindings/js/JSCustomPositionErrorCallback.h: Added.
2979         (WebCore::JSCustomPositionErrorCallback::create):
2980         * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
2981         (WebCore::markDOMObjectWrapper):
2982         * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
2983         * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
2984         * bindings/js/JSGeolocationCustom.cpp: Added.
2985         (WebCore::JSGeolocation::getCurrentPosition):
2986         (WebCore::JSGeolocation::watchPosition):
2987         * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
2988         (WebCore::JSNavigator::mark):
2989         * dom/Document.cpp:
2990         (WebCore::Document::Document):
2991         * dom/Document.h:
2992         (WebCore::Document::setUsingGeolocation):
2993         (WebCore::Document::usingGeolocation):
2994         * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
2995         (WebCore::FrameLoader::canCachePage):
2996         * page/Geolocation.cpp: Added.
2997         (WebCore::Geolocation::GeoNotifier::GeoNotifier):
2998         (WebCore::Geolocation::GeoNotifier::timerFired):
2999         (WebCore::Geolocation::Geolocation):
3000         (WebCore::Geolocation::disconnectFrame):
3001         (WebCore::Geolocation::getCurrentPosition):
3002         (WebCore::Geolocation::watchPosition):
3003         (WebCore::Geolocation::clearWatch):
3004         (WebCore::Geolocation::stopUpdatingIfEmpty):
3005         (WebCore::Geolocation::sendErrorToOneShots):
3006         (WebCore::Geolocation::sendErrorToWatchers):
3007         (WebCore::Geolocation::sendPositionToOneShots):
3008         (WebCore::Geolocation::sendPositionToWatchers):
3009         (WebCore::Geolocation::handleError):
3010         (WebCore::Geolocation::geolocationServicePositionChanged):
3011         (WebCore::Geolocation::geolocationServiceErrorOccurred):
3012         * page/Geolocation.h: Added.
3013         (WebCore::Geolocation::create):
3014         (WebCore::Geolocation::~Geolocation):
3015         (WebCore::Geolocation::lastPosition):
3016         (WebCore::Geolocation::GeoNotifier::create):
3017         * page/Geolocation.idl: Added.
3018         * page/Geoposition.cpp: Added.
3019         (WebCore::Geoposition::toString):
3020         * page/Geoposition.h: Added.
3021         (WebCore::Geoposition::create):
3022         (WebCore::Geoposition::latitude):
3023         (WebCore::Geoposition::longitude):
3024         (WebCore::Geoposition::altitude):
3025         (WebCore::Geoposition::accuracy):
3026         (WebCore::Geoposition::altitudeAccuracy):
3027         (WebCore::Geoposition::heading):
3028         (WebCore::Geoposition::velocity):
3029         (WebCore::Geoposition::timestamp):
3030         (WebCore::Geoposition::Geoposition):
3031         * page/Geoposition.idl: Added.
3032         * page/Navigator.cpp:
3033         (WebCore::Navigator::disconnectFrame): disconnect Geolocation
3034         (WebCore::Navigator::geolocation): accessor for Geolocation
3035         * page/Navigator.h:
3036         (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
3037         * page/Navigator.idl: accessor for Geolocation
3038         * page/PositionCallback.h: Added.
3039         (WebCore::PositionCallback::~PositionCallback):
3040         * page/PositionCallback.idl: Added.
3041         * page/PositionError.h: Added.
3042         (WebCore::PositionError::):
3043         (WebCore::PositionError::create):
3044         (WebCore::PositionError::code):
3045         (WebCore::PositionError::message):
3046         (WebCore::PositionError::PositionError):
3047         * page/PositionError.idl: Added.
3048         * page/PositionErrorCallback.h: Added.
3049         (WebCore::PositionErrorCallback::~PositionErrorCallback):
3050         * page/PositionErrorCallback.idl: Added.
3051         * page/PositionOptions.h: Added.
3052         (WebCore::PositionOptions::create):
3053         (WebCore::PositionOptions::enableHighAccuracy):
3054         (WebCore::PositionOptions::setEnableHighAccuracy):
3055         (WebCore::PositionOptions::timeout):
3056         (WebCore::PositionOptions::setTimeout):
3057         (WebCore::PositionOptions::PositionOptions):
3058         * page/PositionOptions.idl: Added.
3059         * platform/GeolocationService.cpp: Added.
3060         (WebCore::GeolocationService::GeolocationService):
3061         (WebCore::GeolocationService::positionChanged):
3062         (WebCore::GeolocationService::errorOccurred):
3063         * platform/GeolocationService.h: Added.
3064         (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
3065         (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
3066         (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
3067         (WebCore::GeolocationService::~GeolocationService):
3069 2008-10-23  Alp Toker  <alp@nuanti.com>
3071         Fix typo in comment in previous commit. GTK -> GLIB
3073         * platform/gtk/guriescape.c:
3075 2008-10-23  Kalle Vahlman  <kalle.vahlman@movial.com>
3077         Reviewed by Alp Toker.
3079         https://bugs.webkit.org/show_bug.cgi?id=21824
3080         [GTK] FileSystem abstraction uses features from Glib 2.16
3082         Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib
3084         * platform/gtk/guriescape.c:
3085         (unescape_character):
3086         (_webcore_g_uri_unescape_segment):
3087         (_webcore_g_uri_unescape_string):
3088         * platform/gtk/guriescape.h:
3090 2008-10-23  Jan Michael Alonzo  <jmalonzo@webkit.org>
3092         Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826.
3094         * GNUmakefile.am:
3096 2008-10-23  Darin Fisher  <darin@chromium.org>
3098         Reviewed by Eric Seidel.
3100         m_frame null checked but then dereferenced
3101         https://bugs.webkit.org/show_bug.cgi?id=21845
3103         This error was found using a static analysis tool, and so I do not know
3104         how to produce a null m_frame on entry to this method.  Hence, I have
3105         not included a regression test.
3107         * page/EventHandler.cpp:
3108         (WebCore::EventHandler::allowDHTMLDrag): Add an early return.
3110 2008-10-23  Dan Bernstein  <mitz@apple.com>
3112         Reviewed by Sam Weinig with no hesitation.
3114         - fix the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839
3115           <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering
3117         Test: fast/text/bidi-embedding-pop-and-push-same.html
3119         * platform/text/BidiResolver.h:
3120         (WebCore::BidiResolver::embed): Changed to only add the embedding
3121         operation to a vector of pending operations.
3123         (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the
3124         code that used to be in the PDF case of embed() here, except the part
3125         that sets the context.
3127         (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the
3128         code that used to be in the non-PDF case of embed() here, except the
3129         part the sets the context.
3131         (WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the
3132         explicit embedding operations in the vector by creating an updated
3133         context and determining the old and new embedding levels. If the levels
3134         are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always
3135         sets the context to the new one.
3137         (WebCore::BidiResolver::createBidiRunsForLine): Added calls to
3138         commitExplicitEmbedding() after calling embed() and after calling
3139         increment().
3141         * rendering/bidi.cpp:
3142         (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because
3143         this function increments the resolver.
3145         (WebCore::RenderBlock::skipLeadingWhitespace): Ditto.
3147 2008-10-23  Jan Michael Alonzo  <jmalonzo@webkit.org>
3149         Gtk build fix. Not reviewed.
3151         Add DNSCurl and DNSSoup to the Gtk build
3153         * GNUmakefile.am:
3154         * platform/gtk/TemporaryLinkStubs.cpp:
3155         * platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp.
3156         (WebCore::prefetchDNS):
3158 2008-10-23  Eric Seidel  <eric@webkit.org>
3160         Reviewed by Sam Weinig.
3162         Un-break the Darwin build.
3164         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3165         * platform/graphics/cg/ImageCG.cpp:
3167 2008-10-23  Darin Fisher  <darin@chromium.org>
3169         Reviewed by Eric Seidel.
3171         Fix forward decls to be struct instead of class.
3172         https://bugs.webkit.org/show_bug.cgi?id=21838
3174         * rendering/style/StyleRareInheritedData.h:
3175         * rendering/style/StyleRareNonInheritedData.h:
3177 2008-10-23  Brent Fulgham  <bfulgham@gmail.com>
3179         Reviewed by Oliver Hunt.
3181         * platform/network/curl/ResourceRequest.h:  A better implementation
3182           of CFURLRequest, rather than void*.  This gives better compatibility 
3183           with the WebKit.idl interface.
3184         (WebCore::ResourceRequest::cfURLRequest):
3186 2008-10-23  Mike Pinkerton  <pinkerton@chromium.org>
3188         Reviewed by Eric Seidel.
3190         PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix
3191         ifdefs to reflect that.
3193         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3194         * platform/graphics/cg/ImageCG.cpp:
3196 2008-10-23  Peter Kasting  <pkasting@google.com>
3198         Reviewed by Adam Roben.
3200         https://bugs.webkit.org/show_bug.cgi?id=21833
3201         Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER).
3203         * inspector/InspectorController.cpp:
3204         (WebCore::InspectorController::InspectorController):
3205         (WebCore::InspectorController::setWindowVisible):
3206         (WebCore::InspectorController::windowScriptObjectAvailable):
3207         (WebCore::InspectorController::close):
3208         * inspector/InspectorController.h:
3209         * page/Page.cpp:
3210         (WebCore::Page::Page):
3212 2008-10-23  Kevin McCullough  <kmccullough@apple.com>
3214         Reviewed by Tim Hatcher.
3216         https://bugs.webkit.org/show_bug.cgi?id=21817
3217         Bug 21817: Manual profiler tests should be made into layout tests
3219         -Moving the tests before diffing so that it's clear what changed.
3221         * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed.
3222         * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed.
3223         * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed.
3224         * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed.
3225         * manual-tests/inspector/profiler-test-apply.html: Removed.
3226         * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed.
3227         * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed.
3228         * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed.
3229         * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
3230         * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed.
3231         * manual-tests/inspector/profiler-test-constructor.html: Removed.
3232         * manual-tests/inspector/profiler-test-dead-time.html: Removed.
3233         * manual-tests/inspector/profiler-test-deep-recursion.html: Removed.
3234         * manual-tests/inspector/profiler-test-document-dot-write.html: Removed.
3235         * manual-tests/inspector/profiler-test-event-handler.html: Removed.
3236         * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed.
3237         * manual-tests/inspector/profiler-test-heavy-view.html: Removed.
3238         * manual-tests/inspector/profiler-test-inline-event-handler.html: Removed.
3239         * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed.
3240         * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed.
3241         * manual-tests/inspector/profiler-test-multiple-frames.html: Removed.
3242         * manual-tests/inspector/profiler-test-multiple-windows.html: Removed.
3243         * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed.
3244         * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed.
3245         * manual-tests/inspector/profiler-test-no-execution-context.html: Removed.
3246         * manual-tests/inspector/profiler-test-one-execution-context.html: Removed.
3247         * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed.
3248         * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
3249         * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed.
3250         * manual-tests/inspector/profiler-test-simple-event-call.html: Removed.
3251         * manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed.
3252         * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed.
3253         * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed.
3254         * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed.
3255         * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed.
3256         * manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed.
3257         * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed.
3258         * manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed.
3259         * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed.
3260         * manual-tests/inspector/profiler-test-window-dot-eval.html: Removed.
3261         * manual-tests/inspector/resources/other-frame.html: Removed.
3262         * manual-tests/inspector/resources/other-window.html: Removed.
3263         * manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed.
3265 2008-10-23  Adam Barth  <abarth@webkit.org>
3267         Reviewed by Sam Weinig.
3269         https://bugs.webkit.org/show_bug.cgi?id=21826
3271         Add accessor for SecurityOrigin::m_domainWasSetInDOM.
3273         * page/SecurityOrigin.h:
3274         (WebCore::SecurityOrigin::domainWasSetInDOM):
3276 2008-10-23  Darin Adler  <darin@apple.com>
3278         - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
3280         * bindings/js/ScheduledAction.h:
3281         * inspector/InspectorController.cpp:
3282         ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
3284 2008-10-23  Simon Hausmann  <hausmann@webkit.org>
3286         Fix the Qt build.
3288         * bridge/qt/qt_runtime.cpp:
3289         (JSC::Bindings::QtConnectionObject::execute):
3290         * bridge/qt/qt_runtime.h:
3291         (JSC::Bindings::QtRuntimeMethod::createStructureID):
3293 2008-10-23  Alexey Proskuryakov  <ap@webkit.org>
3295         Reviewed by Maciej Stachowiak.
3297         https://bugs.webkit.org/show_bug.cgi?id=21825
3298         JSDOMBinding should not blindly cast the global object to JSDOMWindow
3300         * bindings/js/JSDOMGlobalObject.cpp:
3301         * bindings/js/JSDOMGlobalObject.h:
3302         * GNUmakefile.am:
3303         * WebCore.pro:
3304         * WebCore.vcproj/WebCore.vcproj:
3305         * WebCore.xcodeproj/project.pbxproj:
3306         * WebCoreSources.bkl:
3307         Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts.
3309         * bindings/js/JSDOMBinding.cpp:
3310         (WebCore::getCachedDOMStructure):
3311         (WebCore::cacheDOMStructure):
3312         (WebCore::getCachedDOMConstructor):
3313         (WebCore::cacheDOMConstructor):
3314         Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects.
3316         * bindings/js/JSDOMWindowBase.cpp:
3317         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3318         * bindings/js/JSDOMWindowBase.h:
3319         * bindings/js/JSDOMWindowCustom.cpp:
3320         (WebCore::JSDOMWindow::mark):
3321         Moved constructor and structure tracking to JSDOMGlobalObject.
3323 2008-10-23  Adam Barth  <abarth@webkit.org>
3325         Reviewed by Sam Weinig.
3327         https://bugs.webkit.org/show_bug.cgi?id=21787
3329         Update postMessage to send origin = "null" for non-serializable
3330         origins to match latest spec.  Merge SecurityOrigin::toString and
3331         SecurityOrigin::toHTTPOrigin because they are now the same.
3333         Test: http/tests/security/postMessage/data-url-sends-null-origin.html
3335         * loader/FrameLoader.cpp:
3336         (WebCore::FrameLoader::outgoingOrigin):
3337         (WebCore::FrameLoader::loadURL):
3338         (WebCore::FrameLoader::addHTTPOriginIfNeeded):
3339         (WebCore::FrameLoader::loadItem):
3340         * loader/loader.cpp:
3341         (WebCore::Loader::Host::servePendingRequests):
3342         * page/SecurityOrigin.cpp:
3343         (WebCore::SecurityOrigin::toString):
3344         * page/SecurityOrigin.h:
3345         * xml/XMLHttpRequest.cpp:
3346         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
3347         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
3348         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
3349         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
3351 2008-10-22  David Kilzer  <ddkilzer@apple.com>
3353         Bug 21781: WebCore::Settings should have a maximum decoded image size setting
3355         <https://bugs.webkit.org/show_bug.cgi?id=21781>
3357         Reviewed by Antti.
3359         No tests since there is no change in behavior.
3361         * loader/CachedImage.cpp:
3362         (WebCore::CachedImage::maximumDecodedImageSize): Added.  Returns
3363         WebCore::Settings::maximumDecodedImageSize() or 0 on error.
3364         (WebCore::CachedImage::data): Flag an error if the image being
3365         loaded is too big.
3366         * loader/CachedImage.h:
3367         (WebCore::CachedImage::maximumDecodedImageSize): Added declaration.
3368         * page/Settings.cpp:
3369         (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize
3370         to the maximum value of size_t.
3371         * page/Settings.h:
3372         (WebCore::Settings::setMaximumDecodedImageSize): Added method.
3373         (WebCore::Settings::maximumDecodedImageSize): Ditto.
3375 2008-10-22  Mike Pinkerton  <pinkerton@chromium.org>
3377         Reviewed by Dan Bernstein.
3378         Landed and tweaked a bit by Darin Adler.
3380         - fix https://bugs.webkit.org/show_bug.cgi?id=21809
3382         Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits 
3383         its use for PLATFORM(CHROMIUM) in the future.
3385         * platform/graphics/SimpleFontData.h:
3387 2008-10-22  David Smith  <catfish.man@gmail.com>
3389         Reviewed by Anders Carlsson.
3390                
3391         https://bugs.webkit.org/show_bug.cgi?id=19974
3392         getElementsByClassName not live enough
3394         Test: fast/dom/getElementsByClassName/015.html
3396         * dom/StyledElement.cpp:
3397         (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent()
3399 2008-10-22  Darin Adler  <darin@apple.com>
3401         Reviewed by Sam Weinig.
3403         - fix https://bugs.webkit.org/show_bug.cgi?id=21294
3404           Bug 21294: Devirtualize getOwnPropertySlot()
3406         * bindings/js/JSDOMWindowShell.h:
3407         (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without
3408         HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
3410         * bindings/js/JSInspectorCallbackWrapper.cpp:
3411         (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure
3412         for this class rather than sharing nullProtoStructureID, which no longer exists.
3414         * bindings/js/JSNamedNodesCollection.h:
3415         (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without
3416         HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
3417         * bindings/js/JSRGBColor.h:
3418         (WebCore::JSRGBColor::createStructureID): Ditto.
3420         * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers,
3421         constructors, and prototypes in any case where they override getOwnPropertySlot, without
3422         HasStandardGetOwnPropertySlot.
3424         * bridge/objc/objc_runtime.h:
3425         (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure
3426         without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
3427         * bridge/qt/qt_runtime.h:
3428         (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto.
3429         * bridge/runtime_array.h:
3430         (JSC::RuntimeArray::createStructureID): Ditto.
3431         * bridge/runtime_method.h:
3432         (JSC::RuntimeMethod::createStructureID): Ditto.
3433         * bridge/runtime_object.h:
3434         (JSC::RuntimeObjectImp::createStructureID): Ditto.
3436 2008-10-22  Brent Fulgham  <bfulgham@gmail.com>
3438         Bring Windows Cairo Port's font handling in line with CG.
3439         http://bugs.webkit.org/show_bug.cgi?id=21812.
3441         Reviewed by Adam Roben.
3443         * platform/graphics/win/FontCacheWin.cpp:
3444         (WebCore::createGDIFont): Remove unnecessary special-case for Cairo
3445         TrueType font search. It should match CG in all font selections.
3447 2008-10-22  Brent Fulgham  <bfulgham@gmail.com>
3449         http://bugs.webkit.org/show_bug.cgi?id=21812.
3450         Bring Windows Cairo Port's font handling in line with CG.
3452         Reviewed by David Hyatt.
3454         * platform/graphics/win/FontCacheWin.cpp:
3455         (WebCore::createGDIFont):  Remove unnecessary special-case for Cairo TrueType font search.  It should match CG in all font selections.
3457 2008-10-22  Brady Eidson  <beidson@apple.com>
3459         Reviewed by Adam Roben
3461         <rdar://6261773> - autocomplete="off" doesn't work on Windows
3463         Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a 
3464         statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false" 
3465         instead of the much more correct "true."
3466         
3467         In the past we have worked around this by declaring the bitfield member as an unsigned instead 
3468         of the enum type.
3470         For more discussion, see http://trac.webkit.org/changeset/25329
3472         * html/HTMLInputElement.h:  Work around insane Visual Studio enum issue  *sigh*
3474 2008-10-22  Kevin McCullough  <kmccullough@apple.com>
3476         Reviewed by Oliver Hunt and Tim Hatcher.
3478         https://bugs.webkit.org/show_bug.cgi?id=19225
3479         Bug 19225: JSProfiler: Create automated profiler tests
3480         - This change exports profiles on the console object so that they can be
3481         iterated over via JavaScript, and thus can be used in automated tests.
3483         * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array
3484         that JS can use.
3485         (WebCore::JSConsole::profiles):
3486         * inspector/InspectorController.h: Use the new typedef.
3487         (WebCore::InspectorController::profiles):
3488         * page/Console.cpp: Keep our own array of profile objects.
3489         (WebCore::Console::profileEnd):
3490         * page/Console.h: Ditto.
3491         (WebCore::Console::profiles):
3492         * page/Console.idl: Expose the profiles to JS.
3494 2008-10-22  David Hyatt  <hyatt@apple.com>
3496         https://bugs.webkit.org/show_bug.cgi?id=21775
3498         Convert buttons over to use the new Theme API on OS X.
3500         Reviewed by Adam Roben
3502         * platform/LengthBox.h:
3503         (WebCore::LengthBox::LengthBox):
3504         * platform/Theme.cpp:
3505         (WebCore::Theme::controlBorder):
3506         (WebCore::Theme::controlPadding):
3507         * platform/Theme.h:
3508         (WebCore::Theme::controlFont):
3509         (WebCore::Theme::controlSize):
3510         (WebCore::Theme::minControlSize):
3511         (WebCore::Theme::controlRequiresPreWhiteSpace):
3512         * platform/mac/ThemeMac.h:
3513         (WebCore::ThemeMac::controlRequiresPreWhiteSpace):
3514         * platform/mac/ThemeMac.mm:
3515         (WebCore::checkboxSize):
3516         (WebCore::radioSize):
3517         (WebCore::buttonSizes):
3518         (WebCore::buttonMargins):
3519         (WebCore::button):
3520         (WebCore::paintButton):
3521         (WebCore::ThemeMac::controlFont):
3522         (WebCore::ThemeMac::controlSize):
3523         (WebCore::ThemeMac::minControlSize):
3524         (WebCore::ThemeMac::controlBorder):
3525         (WebCore::ThemeMac::controlPadding):
3526         (WebCore::ThemeMac::inflateControlPaintRect):
3527         (WebCore::ThemeMac::paint):
3528         * rendering/RenderTheme.cpp:
3529         (WebCore::RenderTheme::adjustStyle):
3530         (WebCore::RenderTheme::paint):
3531         (WebCore::RenderTheme::controlStatesForRenderer):
3532         (WebCore::RenderTheme::isDefault):
3533         (WebCore::RenderTheme::adjustRadioStyle):
3534         * rendering/RenderTheme.h:
3535         (WebCore::RenderTheme::setRadioSize):
3536         * rendering/RenderThemeMac.h:
3537         * rendering/RenderThemeMac.mm:
3538         (WebCore::RenderThemeMac::adjustRepaintRect):
3539         (WebCore::menuListButtonSizes):
3540         (WebCore::RenderThemeMac::adjustMenuListStyle):
3541         * rendering/style/RenderStyle.h:
3542         (WebCore::InheritedFlags::paddingBox):
3543         (WebCore::InheritedFlags::setPaddingBox):
3545 2008-10-22  Chris Marrin  <cmarrin@apple.com>
3547         Reviewed by Dave Hyatt
3549         Make sure that the AtomicString that identifies a set of animation keyframes
3550         stays live by keeping a copy in the WebKitCSSKeyframesRule.
3551         
3552         Also call styleSheetChanged() when the keyframes name changes, but
3553         add an internal method that doesn't call styleSheetChanged() for use
3554         during normal stylesheet parsing.
3555         
3556         Test: animations/change-keyframes-name.html
3558         * css/CSSGrammar.y:
3559         * css/WebKitCSSKeyframesRule.cpp:
3560         (WebCore::WebKitCSSKeyframesRule::setName):
3561         * css/WebKitCSSKeyframesRule.h:
3562         (WebCore::WebKitCSSKeyframesRule::setNameInternal):
3564 2008-10-22  Alexey Proskuryakov  <ap@webkit.org>
3566         Reviewed by Sam Weinig.
3568         https://bugs.webkit.org/show_bug.cgi?id=21791
3569         WebCore JS bindings should be able to use non-static hash tables for properties
3571         Add a map for HashTables to WebCore JS client data.
3573         This makes property access noticeably slower, so it is an opt-in. For classes that need to be
3574         supported in workers in forseeable future this is not critical.
3576         * bindings/js/JSDOMBinding.cpp:
3577         (WebCore::DOMObjectHashTableMap::get):
3578         (WebCore::DOMObjectHashTableMap::mapFor):
3579         (WebCore::getHashTableForGlobalData):
3580         (WebCore::DOMObjectWrapperMap::mapFor):
3581         WebCore client data is now a class that contains both a DOM wrapper map and a property hash
3582         table one.
3584         * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map.
3586         * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use
3587         JSDOMBinding map to access its property hash tables.
3589         * dom/MessageChannel.idl:
3590         * dom/MessagePort.idl:
3591         Added NoStaticTables attribute.
3593 2008-10-22  Gustavo Noronha Silva  <gns@gnome.org>
3595         Reviewed by Timothy Hatcher.
3597         Build failure because of missing include
3598         https://bugs.webkit.org/show_bug.cgi?id=21765
3600         Build failure fix for WebKit/GTK+; added missing
3601         include (GOwnPtr.h)
3603         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3605 2008-10-22  Alp Toker  <alp@nuanti.com>
3607         Reviewed by Adam Roben.
3609         Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get()
3610         doesn't initialize values if the requested property doesn't exist, so
3611         initialize the values to the documented defaults before calling it
3612         where necessary. Additionally, avoid critical warnings by not calling
3613         gtk_widget_style_get() when we know the property isn't available.
3615         Note that this is an imported source file which doesn't follow the
3616         WebKit coding style.
3618         * platform/gtk/gtk2drawing.c:
3619         (moz_gtk_init):
3620         (moz_gtk_button_get_inner_border):
3621         (moz_gtk_combo_box_paint):
3622         (moz_gtk_toolbar_separator_paint):
3623         (moz_gtk_menu_separator_paint):
3624         (moz_gtk_get_widget_border):
3625         (moz_gtk_get_tab_scroll_arrow_size):
3626         (moz_gtk_get_toolbar_separator_width):
3627         (moz_gtk_get_menu_separator_height):
3629 2008-10-22  Alp Toker  <alp@nuanti.com>
3631         Fix build for Cairo 1.2.
3633         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3634         (WebCore::GraphicsContext::clipOut):
3635         * platform/gtk/RenderThemeGtk.cpp:
3636         (WebCore::paintMozWidget):
3638 2008-10-22  Darin Fisher  <darin@chromium.org>
3640         Reviewed by Eric Seidel.
3642         A little more PLATFORM(CHROMIUM) in WebCore
3643         https://bugs.webkit.org/show_bug.cgi?id=21758
3645         * page/AccessibilityObject.h:
3646         * platform/graphics/Icon.h:
3648 2008-10-21  Alexey Proskuryakov  <ap@webkit.org>
3650         Reviewed by Darin Adler.
3652         Test: fast/events/message-channel-gc-3.html
3654         https://bugs.webkit.org/show_bug.cgi?id=21769
3655         MessagePort should be GC protected if there are messages to be delivered
3657         * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is
3658         pending, and check if the queue is non-empty.
3659         (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug
3660         fix (below).
3662         * dom/MessagePort.cpp:
3663         (WebCore::CloseMessagePortTimer::fired):
3664         (WebCore::MessagePort::MessagePort):
3665         (WebCore::MessagePort::queueCloseEvent):
3666         (WebCore::MessagePort::dispatchCloseEvent):
3667         (WebCore::MessagePort::hasPendingActivity):
3668         Track message and close event activity separately.
3670         * bindings/js/JSDOMBinding.cpp:
3671         (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was
3672         causing same-heap ports to never be deleted.
3674 2008-10-21  Dan Bernstein  <mitz@apple.com>
3676         Reviewed by Sam Weinig.
3678         - remove unreachable code
3680         * platform/text/BidiResolver.h:
3681         (WebCore::::embed):
3683 2008-10-21  Beth Dakin  <bdakin@apple.com>
3685         Reviewed by Darin Adler.
3687         Fix for https://bugs.webkit.org/show_bug.cgi?id=20352 
3688         REGRESSION(r31030-31055): Choosing "Print window" from frame set 
3689         prints blank page
3690         and corresponding: <rdar://problem/6142398>
3692         viewHeight() and viewWidth() only return valuable information if we 
3693         are not printing. Everywhere else in the code, we make sure we are 
3694         not printing before we call these functions. Adding a check for 
3695         printing here fixes this bug, and framesets print again.
3697         * rendering/RenderFrameSet.cpp:
3698         (WebCore::RenderFrameSet::layout):
3700 2008-10-21  Yael Aharon <yael.aharon@nokia.com>
3702         Reviewed by Simon.
3704         Pixmap in canvas tag was not getting initialized.
3706         See https://bugs.webkit.org/show_bug.cgi?id=21771
3708         * platform/graphics/qt/ImageBufferQt.cpp:
3709         (WebCore::ImageBuffer::create):
3711 2008-10-20  Simon Fraser  <simon.fraser@apple.com>
3713         Reviewed by Dan Bernstein
3715         Add a comment explaining layoutDelta(), and an assertion
3716         that checks that delta changes were correctly paired during layout.
3717         
3718         * rendering/RenderView.cpp:
3719         (WebCore::RenderView::layout):
3720         * rendering/RenderView.h:
3722 2008-10-20  Timothy Hatcher  <timothy@apple.com>
3724         Make auto-complete only suggest properties that are valid syntax
3725         when using dot-notation. Also when completing numeric properties,
3726         the quotes are omitted inside the brackets.
3728         https://bugs.webkit.org/show_bug.cgi?id=21760
3729         https://bugs.webkit.org/show_bug.cgi?id=21761
3731         Reviewed by Oliver Hunt.
3733         * inspector/front-end/Console.js:
3734         (WebInspector.Console.prototype.completions): Skip properties that
3735         are not valid identifies when using dot-notation. And omit the quotes
3736         when completing numbers in bracket-notation.
3738 2008-10-20  Timothy Hatcher  <timothy@apple.com>
3740         Fixes the Profiles panel in the Web Inspector, which was broken by
3741         the JSValue base-class changes. Also renames some functions and
3742         variables in JavaScriptProfileNode.cpp that where title case.
3744         https://bugs.webkit.org/show_bug.cgi?id=21764
3746         Reviewed by Oliver Hunt.
3748         * inspector/JavaScriptProfile.cpp:
3749         (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the
3750         returned JSValuePtr will be treated as an object and not a value.
3751         * inspector/JavaScriptProfileNode.cpp:
3752         (WebCore::toJS): Ditto.
3754 2008-10-20  Sam Weinig  <sam@webkit.org>
3756         Reviewed by Anders Carlsson.
3758         Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.
3760         * loader/EmptyClients.h:
3761         (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
3762         * loader/FrameLoader.cpp:
3763         (WebCore::FrameLoader::detachFromParent):
3764         * loader/FrameLoaderClient.h:
3766 2008-10-20  Antti Koivisto  <antti@apple.com>
3768         Reviewed by Adele Peterson.
3770         Fix https://bugs.webkit.org/show_bug.cgi?id=21763
3771         REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries
3772         <rdar://problem/6285025
3773         
3774         If we get 304 response we need to explicitly check if that completes the frame load.
3775         
3776         No test case, simulating the condition is pretty difficult.
3778         * loader/loader.cpp:
3779         (WebCore::Loader::Host::didReceiveResponse):
3781 2008-10-20  Anders Carlsson  <andersca@apple.com>
3783         Reviewed by Mark Rowe.
3785         Work around <rdar://problem/6301728>.
3786         
3787         Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.
3788         
3789         * loader/MainResourceLoader.cpp:
3790         (WebCore::MainResourceLoader::didReceiveResponse):
3791         (WebCore::MainResourceLoader::didReceiveData):
3792         (WebCore::MainResourceLoader::didFinishLoading):
3793         (WebCore::MainResourceLoader::didFail):
3795 2008-10-20  Beth Dakin  <bdakin@apple.com>
3797         Reviewed by Adele Peterson.
3799         Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19 
3800         crashes in Safari at com.apple.WebCore
3801         WebCore::ScrollView::visibleContentRect const + 153
3803         d->m_view can be null and is null-checked at other points in the 
3804         code. The logs indicate that this crash occurs when closing a 
3805         window containing a PDF, so in case where we crash, the PDF's view 
3806         is probably already null. So the fix is to simply add a null-check.
3808         * page/Frame.cpp:
3809         (WebCore::Frame::selectionRect):
3811 2008-10-20  Adele Peterson  <adele@apple.com>
3813         Reviewed by Darin Adler.
3815         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
3816         Removed stray increment that would screw up any form with multiple files in it.
3818 2008-10-20  Sam Weinig  <sam@webkit.org>
3820         Rubber-stamped by David Hyatt.
3822         Split LengthBox and LengthSize into their own files.
3824         * GNUmakefile.am:
3825         * WebCore.vcproj/WebCore.vcproj:
3826         * WebCore.xcodeproj/project.pbxproj:
3827         * platform/Length.h:
3828         (WebCore::Length::blend):
3829         * platform/LengthBox.h: Copied from platform/Length.h.
3830         (WebCore::LengthBox::LengthBox):
3831         (WebCore::LengthBox::nonZero):
3832         * platform/LengthSize.h: Copied from platform/Length.h.
3833         (WebCore::LengthSize::LengthSize):
3834         (WebCore::LengthSize::setWidth):
3835         (WebCore::LengthSize::setHeight):
3836         (WebCore::LengthSize::height):
3837         * platform/Theme.h:
3838         * rendering/style/FillLayer.h:
3839         * rendering/style/NinePieceImage.h:
3840         (WebCore::NinePieceImage::NinePieceImage):
3841         * rendering/style/RenderStyle.h:
3842         * rendering/style/StyleDashboardRegion.h:
3843         * rendering/style/StyleSurroundData.h:
3844         * rendering/style/StyleVisualData.h:
3846 2008-10-20  Dan Bernstein  <mitz@apple.com>
3848         - Mac build fix
3850         * WebCore.xcodeproj/project.pbxproj:
3852 2008-10-20  Alp Toker  <alp@nuanti.com>
3854         Fix autotools dist build target by listing recently added header
3855         files only. Not reviewed.
3857         * GNUmakefile.am:
3859 2008-10-20  David Hyatt  <hyatt@apple.com>
3861         Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms).  Also
3862         refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp
3863         originally.
3865         ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme.
3867         Reviewed by Adam Roben
3869         * WebCore.xcodeproj/project.pbxproj:
3870         * platform/Theme.cpp: Added.
3871         (WebCore::Theme::controlSupportsBorder):
3872         (WebCore::Theme::controlSupportsPadding):
3873         * platform/Theme.h:
3874         * platform/mac/ThemeMac.h:
3875         * platform/mac/ThemeMac.mm:
3876         * rendering/RenderTheme.cpp:
3877         (WebCore::RenderTheme::adjustStyle):
3878         * rendering/RenderTheme.h:
3880 2008-10-20  David Hyatt  <hyatt@apple.com>
3882         Rename LengthBox's members to have m_ in front of them.
3884         Reviewed by Sam Weinig
3886         * css/CSSComputedStyleDeclaration.cpp:
3887         (WebCore::valueForNinePieceImage):
3888         (WebCore::getPositionOffsetValue):
3889         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3890         * css/CSSStyleSelector.cpp:
3891         (WebCore::CSSStyleSelector::mapNinePieceImage):
3892         * platform/Length.h:
3893         (WebCore::LengthBox::LengthBox):
3894         (WebCore::LengthBox::left):
3895         (WebCore::LengthBox::right):
3896         (WebCore::LengthBox::top):
3897         (WebCore::LengthBox::bottom):
3898         (WebCore::LengthBox::operator==):
3899         (WebCore::LengthBox::nonZero):
3900         * rendering/RenderObject.cpp:
3901         (WebCore::RenderObject::paintNinePieceImage):
3902         (WebCore::RenderObject::addDashboardRegions):
3903         * rendering/style/RenderStyle.cpp:
3904         (WebCore::positionedObjectMoved):
3905         (WebCore::RenderStyle::setClip):
3906         (WebCore::RenderStyle::noneDashboardRegions):
3907         * rendering/style/RenderStyle.h:
3908         (WebCore::InheritedFlags::left):
3909         (WebCore::InheritedFlags::right):
3910         (WebCore::InheritedFlags::top):
3911         (WebCore::InheritedFlags::bottom):
3912         (WebCore::InheritedFlags::clipLeft):
3913         (WebCore::InheritedFlags::clipRight):
3914         (WebCore::InheritedFlags::clipTop):
3915         (WebCore::InheritedFlags::clipBottom):
3916         (WebCore::InheritedFlags::marginTop):
3917         (WebCore::InheritedFlags::marginBottom):
3918         (WebCore::InheritedFlags::marginLeft):
3919         (WebCore::InheritedFlags::marginRight):
3920         (WebCore::InheritedFlags::paddingTop):
3921         (WebCore::InheritedFlags::paddingBottom):
3922         (WebCore::InheritedFlags::paddingLeft):
3923         (WebCore::InheritedFlags::paddingRight):
3924         (WebCore::InheritedFlags::setLeft):
3925         (WebCore::InheritedFlags::setRight):
3926         (WebCore::InheritedFlags::setTop):
3927         (WebCore::InheritedFlags::setBottom):
3928         (WebCore::InheritedFlags::setDashboardRegion):
3929         (WebCore::InheritedFlags::setClipLeft):
3930         (WebCore::InheritedFlags::setClipRight):
3931         (WebCore::InheritedFlags::setClipTop):
3932         (WebCore::InheritedFlags::setClipBottom):
3933         (WebCore::InheritedFlags::setMarginTop):
3934         (WebCore::InheritedFlags::setMarginBottom):
3935         (WebCore::InheritedFlags::setMarginLeft):
3936         (WebCore::InheritedFlags::setMarginRight):
3937         (WebCore::InheritedFlags::setPaddingTop):
3938         (WebCore::InheritedFlags::setPaddingBottom):
3939         (WebCore::InheritedFlags::setPaddingLeft):
3940         (WebCore::InheritedFlags::setPaddingRight):
3942 2008-10-20  Timothy Hatcher  <timothy@apple.com>
3944         Make the Resource panel perform graph updates atomically, so when resources
3945         are added the graph and summary graph update at the same time.
3947         https://bugs.webkit.org/show_bug.cgi?id=21755
3949         Reviewed by Kevin McCullough.
3951         * inspector/front-end/Resource.js:
3952         (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime
3953         property is undefined, null or 0. This allows callers to check for -1 and not
3954         the other values when there is no startTime yet.
3955         (WebInspector.Resource.prototype.get responseReceivedTime): Ditto.
3956         (WebInspector.Resource.prototype.get endTime): Ditto.
3957         (WebInspector.Resource.prototype.get duration): Remove an extra empty line.
3958         (WebInspector.Resource.prototype.get latency): Ditto.
3959         (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration
3960         property is undefined or null. This allows callers to always assume a number.
3961         (WebInspector.Resource.prototype.get expectedContentLength): Ditto.
3962         (WebInspector.Resource.prototype.get errors): Simplify the case where there is
3963         no _errors property yet.
3964         (WebInspector.Resource.prototype.set errors): Remove the check if the new value
3965         if the same as the previous value, since there is no work to guard.
3966         (WebInspector.Resource.prototype.get warnings): Simplify the case where there is
3967         no _warnings property yet.
3968         (WebInspector.Resource.prototype.set warnings): Remove the check if the new value
3969         if the same as the previous value, since there is no work to guard.
3970         (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the
3971         responseReceivedTime is -1.
3972         (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1.
3973         * inspector/front-end/ResourcesPanel.js:
3974         (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not
3975         have a _resourcesTreeElement yet, exclude it from the searchable views.
3976         (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources
3977         and call refresh to refresh the entire graph.
3978         (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel
3979         is visible that calls refresh.
3980         (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and
3981         graph for a resource if it hasn't been created yet. If the boundaries changed during
3982         the first stale resource pass, do a full pass of all resources when updating the graphs.
3983         (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items.
3984         (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and
3985         graph, these are now created during the first refresh.
3986         (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement.
3987         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto.
3988         (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
3989         (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just
3990         add the resource to the _staleResources and set needsRefresh.
3991         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check
3992         _resourcesTreeElement.
3993         (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear
3994         the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild
3995         since the insertBefore call will do it if needed.
3996         (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to
3997         clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded.
3998         (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the
3999         timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel,
4000         since all the legend items are removed in one pass right before.
4001         (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction
4002         before the calculator so the correct sortingFunction is there when a refresh happens.
4003         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0
4004         when the startTime is -1, since that looks best visually. Also set middle and end
4005         to the start and middle (respectfully) when startAtZero. This looks best visually.
4006         (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh.
4007         (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class.
4009 2008-10-20  David Hyatt  <hyatt@apple.com>
4011         https://bugs.webkit.org/show_bug.cgi?id=21733
4013         Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that
4014         no attempt is made to re-cache the frame from a non-existent image source.
4016         Reviewed by Sam Weinig
4018         * platform/graphics/cairo/ImageCairo.cpp:
4019         (WebCore::BitmapImage::BitmapImage):
4020         * platform/graphics/cg/ImageCG.cpp:
4021         (WebCore::BitmapImage::BitmapImage):
4023 2008-10-20  Dan Bernstein  <mitz@apple.com>
4025         Reviewed by John Sullivan.
4027         - make hasARenderedDescendant() have internal linkage
4029         * editing/CompositeEditCommand.cpp:
4030         (WebCore::hasARenderedDescendant):
4032 2008-10-20  Chris Fleizach  <cfleizach@apple.com>
4034         Reviewed by Jon Honeycutt
4036         Fix a crash in Accessibility where a table section was being 
4037         referenced without first checking if it was null
4039         https://bugs.webkit.org/show_bug.cgi?id=21721
4041         Test: accessibility/table-nofirstbody.html
4043         * page/AccessibilityTable.cpp:
4044         (WebCore::AccessibilityTable::addChildren):
4046 2008-10-20  David Hyatt  <hyatt@apple.com>
4048         Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG.
4050         Reviewed by Darin Adler
4052         * platform/graphics/cg/ImageSourceCG.cpp:
4053         (WebCore::ImageSource::repetitionCount):
4054         (WebCore::ImageSource::frameDurationAtIndex):
4056 2008-10-20  Alp Toker  <alp@nuanti.com>
4058         Reviewed by Mark Rowe.
4060         Fix the pthread conditionals in the FTP code to correctly define
4061         threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32
4062         build.
4064         * loader/FTPDirectoryDocument.cpp:
4065         * loader/FTPDirectoryParser.cpp:
4067 2008-10-20  David Hyatt  <hyatt@apple.com>
4069         https://bugs.webkit.org/show_bug.cgi?id=21751
4071         Convert checkboxes and radio buttons on OS X over to the new Theme API.
4073         Reviewed by Adam Roben
4075         * css/CSSComputedStyleDeclaration.cpp:
4076         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4077         * css/CSSStyleSelector.cpp:
4078         (WebCore::CSSStyleSelector::mapFillSize):
4079         * platform/Length.h:
4080         (WebCore::LengthSize::LengthSize):
4081         (WebCore::LengthSize::operator==):
4082         (WebCore::LengthSize::width):
4083         (WebCore::LengthSize::height):
4084         (WebCore::LengthSize::setWidth):
4085         (WebCore::LengthSize::setHeight):
4086         * platform/Theme.h:
4087         (WebCore::Theme::controlSize):
4088         (WebCore::Theme::controlSupportsBorder):
4089         (WebCore::Theme::controlSupportsPadding):
4090         (WebCore::Theme::paint):
4091         (WebCore::Theme::inflateControlPaintRect):
4092         * platform/ThemeTypes.h:
4093         (WebCore::):
4094         * platform/mac/ThemeMac.h:
4095         * platform/mac/ThemeMac.mm:
4096         (WebCore::):
4097         (WebCore::controlSizeForFont):
4098         (WebCore::sizeFromFont):
4099         (WebCore::setControlSize):
4100         (WebCore::updateStates):
4101         (WebCore::inflateRect):
4102         (WebCore::checkboxSizes):
4103         (WebCore::checkboxMargins):
4104         (WebCore::checkboxSize):
4105         (WebCore::checkbox):
4106         (WebCore::paintCheckbox):
4107         (WebCore::radioSizes):
4108         (WebCore::radioMargins):
4109         (WebCore::radioSize):
4110         (WebCore::radio):
4111         (WebCore::paintRadio):
4112         (WebCore::ThemeMac::baselinePositionAdjustment):
4113         (WebCore::ThemeMac::controlSize):
4114         (WebCore::ThemeMac::controlSupportsBorder):
4115         (WebCore::ThemeMac::controlSupportsPadding):
4116         (WebCore::ThemeMac::inflateControlPaintRect):
4117         (WebCore::ThemeMac::paint):
4118         * rendering/RenderBox.cpp:
4119         (WebCore::RenderBox::calculateBackgroundSize):
4120         * rendering/RenderObject.cpp:
4121         (WebCore::mustRepaintFillLayers):
4122         * rendering/RenderTheme.cpp:
4123         (WebCore::RenderTheme::adjustStyle):
4124         (WebCore::RenderTheme::paint):
4125         (WebCore::RenderTheme::baselinePosition):
4126         (WebCore::RenderTheme::adjustRepaintRect):
4127         (WebCore::RenderTheme::controlStatesForRenderer):
4128         (WebCore::RenderTheme::isFocused):
4129         * rendering/RenderTheme.h:
4130         * rendering/RenderThemeMac.h:
4131         * rendering/RenderThemeMac.mm:
4132         (WebCore::RenderThemeMac::adjustRepaintRect):
4133         * rendering/style/FillLayer.cpp:
4134         (WebCore::FillLayer::operator==):
4136 2008-10-18  Geoffrey Garen  <ggaren@apple.com>
4138         Reviewed by Darin Adler.
4140         Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
4141         Emit profiling instrumentation only if the Web Inspector's profiling
4142         feature is enabled
4144         * bindings/js/JSDOMWindowBase.cpp:
4145         (WebCore::JSDOMWindowBase::supportsProfiling):
4146         * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying
4147         whether a target global object has the Web Inspector's profiling feature
4148         enabled.
4150         * inspector/JavaScriptDebugServer.cpp:
4151         (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon):
4152         (WebCore::JavaScriptDebugServer::didAddListener):
4153         (WebCore::JavaScriptDebugServer::didRemoveListener):
4154         * inspector/JavaScriptDebugServer.h: Exported an API for recompiling, 
4155         used by the Settings object.
4157         * page/Settings.cpp:
4158         (WebCore::Settings::Settings):
4159         (WebCore::Settings::setDeveloperExtrasEnabled):
4160         * page/Settings.h: Recompile when the developer menu is enabled/disabled
4161         for the first time, to add/remove profiling hooks. In the future, with
4162         better Web Inspector UI, we can do this on a page-by-page basis,
4163         instead of a global basis.
4165 2008-10-20  David Hyatt  <hyatt@apple.com>
4167         Move Length to platform/.
4169         Reviewed by Adam Roben
4171         * GNUmakefile.am:
4172         * WebCore.pro:
4173         * WebCore.vcproj/WebCore.vcproj:
4174         * WebCore.xcodeproj/project.pbxproj:
4175         * WebCoreSources.bkl:
4176         * platform/Length.cpp: Copied from rendering/Length.cpp.
4177         * platform/Length.h: Copied from rendering/Length.h.
4179 2008-10-20  Darin Adler  <darin@apple.com>
4181         - try to fix Qt build
4183         * bridge/qt/qt_runtime.cpp:
4184         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls.
4185         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
4187 2008-10-20  Darin Adler  <darin@apple.com>
4189         - try to fix Qt build
4191         * bridge/qt/qt_instance.cpp:
4192         (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr.
4193         (JSC::Bindings::QtField::valueFromInstance): Ditto.
4194         * bridge/qt/qt_instance.h: Ditto.
4196 2008-10-20  Darin Adler  <darin@apple.com>
4198         - try to fix Tiger build
4200         * bridge/objc/objc_instance.mm:
4201         (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted
4202         volatile qualifier.
4203         (ObjcInstance::invokeDefaultMethod): Ditto.
4204         (ObjcInstance::getValueOfUndefinedField): Ditto.
4205         * bridge/objc/objc_runtime.mm:
4206         (JSC::Bindings::ObjcField::valueFromInstance): Ditto.
4208 2008-10-20  Alexey Proskuryakov  <ap@webkit.org>
4210         Reviewed by Darin Adler.
4212         https://bugs.webkit.org/show_bug.cgi?id=21750
4213         Eliminate the notion of "temporary events"
4215         We mark some events as temporary when dispatching, for the sole reason of
4216         manually calling forgetDOMObject when done dispatching.
4218         There doesn't seem to be any reason to call it manually, as JSEvent destructor
4219         will do this automatically right away.
4221         * bindings/js/ScriptController.cpp:
4222         * bindings/js/ScriptController.h:
4223         Removed ScriptController::finishedWithEvent(), which was called after dispatching
4224         a temporary event.
4226         * dom/ContainerNode.cpp:
4227         (WebCore::dispatchChildInsertionEvents):
4228         (WebCore::dispatchChildRemovalEvents):
4229         * dom/EventTarget.h:
4230         * dom/EventTargetNode.cpp:
4231         (WebCore::EventTargetNode::dispatchEvent):
4232         (WebCore::EventTargetNode::dispatchGenericEvent):
4233         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
4234         (WebCore::EventTargetNode::dispatchWindowEvent):
4235         (WebCore::EventTargetNode::dispatchUIEvent):
4236         (WebCore::EventTargetNode::dispatchKeyEvent):
4237         (WebCore::EventTargetNode::dispatchMouseEvent):
4238         (WebCore::EventTargetNode::dispatchWheelEvent):
4239         (WebCore::EventTargetNode::dispatchWebKitAnimationEvent):
4240         (WebCore::EventTargetNode::dispatchWebKitTransitionEvent):
4241         (WebCore::EventTargetNode::dispatchEventForType):
4242         (WebCore::EventTargetNode::dispatchProgressEvent):
4243         (WebCore::EventTargetNode::dispatchStorageEvent):
4244         * dom/EventTargetNode.h:
4245         * dom/MessagePort.cpp:
4246         (WebCore::MessagePort::dispatchMessages):
4247         (WebCore::MessagePort::dispatchCloseEvent):
4248         (WebCore::MessagePort::dispatchEvent):
4249         * dom/MessagePort.h:
4250         * editing/Editor.cpp:
4251         (WebCore::Editor::dispatchCPPEvent):
4252         (WebCore::dispatchEditableContentChangedEvents):
4253         * editing/ReplaceSelectionCommand.cpp:
4254         (WebCore::ReplacementFragment::ReplacementFragment):
4255         * editing/TypingCommand.cpp:
4256         (WebCore::TypingCommand::insertText):
4257         * loader/appcache/DOMApplicationCache.cpp:
4258         (WebCore::DOMApplicationCache::dispatchEvent):
4259         (WebCore::DOMApplicationCache::callListener):
4260         * loader/appcache/DOMApplicationCache.h:
4261         * page/EventHandler.cpp:
4262         (WebCore::EventHandler::dispatchDragEvent):
4263         (WebCore::EventHandler::keyEvent):
4264         (WebCore::EventHandler::handleTextInputEvent):
4265         * page/FrameView.cpp:
4266         (WebCore::FrameView::scheduleEvent):
4267         (WebCore::FrameView::updateOverflowStatus):
4268         (WebCore::FrameView::dispatchScheduledEvents):
4269         * page/FrameView.h:
4270         * rendering/RenderLayer.cpp:
4271         (WebCore::RenderLayer::scrollToOffset):
4272         (WebCore::RenderLayer::updateOverflowStatus):
4273         * svg/SVGElement.cpp:
4274         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
4275         * svg/SVGElementInstance.cpp:
4276         (WebCore::SVGElementInstance::dispatchEvent):
4277         * svg/SVGElementInstance.h:
4278         * xml/XMLHttpRequest.cpp:
4279         (WebCore::XMLHttpRequest::dispatchEvent):
4280         (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
4281         (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
4282         * xml/XMLHttpRequest.h:
4283         * xml/XMLHttpRequestUpload.cpp:
4284         (WebCore::XMLHttpRequestUpload::dispatchEvent):
4285         (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
4286         * xml/XMLHttpRequestUpload.h:
4287         Don't pass the tempEvent boolean around.
4289 2008-10-20  Alp Toker  <alp@nuanti.com>
4291         Remove unused includes only. Partial GTK+/Win build fix.
4293         * platform/graphics/gtk/SimpleFontDataPango.cpp:
4295 2008-10-20  Alexey Proskuryakov  <ap@webkit.org>
4297         Reviewed by Oliver Hunt.
4299         https://bugs.webkit.org/show_bug.cgi?id=21705
4300         Implement Web Workers client-side API
4302         The implementation is experimental, and disabled by default. It doesn't quite match the
4303         published draft, being influenced by further WHATWG discussions.
4305         This only implements the client-side API, and does not actually create any threads or
4306         global contexts yet.
4308         * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm
4309         still not sure if having separate classes for these helps at all.
4311         * WebCore.xcodeproj/project.pbxproj: Added new files.
4313         * bindings/js/JSDOMWindowBase.cpp:
4314         (jsDOMWindowBaseWorker):
4315         (WebCore::JSDOMWindowBase::put):
4316         (setJSDOMWindowBaseWorker):
4317         Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef
4318         to match prevailing style.
4320         * bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
4321         * bindings/js/JSDedicatedWorkerConstructor.h: Added.
4322         * bindings/js/JSDedicatedWorkerCustom.cpp: Added.
4323         The implementation of event listeners are left custom intentionally, for easier implementation
4324         of listeners that are not tied to any Document in the future.
4326         * dom/DedicatedWorker.cpp: Added.
4327         * dom/DedicatedWorker.h: Added.
4328         * dom/DedicatedWorker.idl: Added.
4329         Added an implementation that can only load requested scripts for now.
4331 2008-10-19  Darin Adler  <darin@apple.com>
4333         Reviewed by Dan Bernstein.
4335         - fix assertion seen when opening inspector
4337         * bindings/js/JSQuarantinedObjectWrapper.cpp:
4338         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
4339         Removed unneeded asObject cast.
4341 2008-10-19  Dan Bernstein  <mitz@apple.com>
4343         Rubber-stamped by Timothy Hatcher.
4345         - remove empty directories and correct the MIME type of inspector images
4347         * page/inspector: Removed.
4348         * page/inspector/Images: Removed.
4350 2008-10-19  Timothy Hatcher  <timothy@apple.com>
4352         Make the Web Inspector Resources panel open quicker and change graphs
4353         faster. There was some accidental n^2 logic at fault when updating the
4354         graph boundaries.
4356         https://bugs.webkit.org/show_bug.cgi?id=21742
4358         Reviewed by Darin Adler.
4360         * inspector/front-end/ResourcesPanel.js:
4361         (WebInspector.ResourcesPanel.prototype.set calculator): Return early for
4362         a null calculator. Remove the second argument passed to _refreshAllResources.
4363         (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on
4364         the calculator for all the stale resources before calling refreshResource.
4365         Pass true for the first argument of refreshResource to skip the boundary update.
4366         (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove
4367         the second argument passed to _refreshAllResources.
4368         (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the
4369         skipSort argument since every passed true, and it would be bad to pass false.
4370         (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if
4371         skipBoundaryUpdate is false, call updateBoundaries on the calculator for all
4372         the resources before calling refreshResource. Pass true for the first argument
4373         of refreshResource to skip the boundary update.
4375 2008-10-19  Timothy Hatcher  <timothy@apple.com>
4377         Visually distinguish resources that loaded from the memory cache.
4379         https://bugs.webkit.org/show_bug.cgi?id=14279
4381         Reviewed by Dan Bernstein.
4383         * English.lproj/localizedStrings.js: New string.
4384         * inspector/front-end/Images/timelineHollowPillBlue.png: Added.
4385         * inspector/front-end/Images/timelineHollowPillGray.png: Added.
4386         * inspector/front-end/Images/timelineHollowPillGreen.png: Added.
4387         * inspector/front-end/Images/timelineHollowPillOrange.png: Added.
4388         * inspector/front-end/Images/timelineHollowPillPurple.png: Added.
4389         * inspector/front-end/Images/timelineHollowPillRed.png: Added.
4390         * inspector/front-end/Images/timelineHollowPillYellow.png: Added.
4391         * inspector/front-end/ResourcesPanel.js:
4392         (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels):
4393         Add the "(from cache)" suffix to the tooltip.
4394         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
4395         Add the "(from cache)" suffix to the tooltip.
4396         (WebInspector.ResourceGraph): Add the "resource-cached" class.
4397         * inspector/front-end/inspector.css: New styles to make the timeline
4398         bars use the hollow pill images.
4400 2008-10-19  Timothy Hatcher  <timothy@apple.com>
4402         Update the scroll position in the Resources panel when loading
4403         a new page or toggling on small resource rows.
4405         https://bugs.webkit.org/show_bug.cgi?id=20114
4407         Reviewed by Darin Adler.
4409         * inspector/front-end/ResourcesPanel.js:
4410         (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top,
4411         since all the resource are being removed.
4412         (WebInspector.ResourcesPanel.prototype.removeResource): Call
4413         _adjustScrollPosition in case the view is shorter and needs scrolled.
4414         (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto.
4415         (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check
4416         the height of the sidebar against the scrollTop and height of the
4417         resourcesContainerElement. If the sidebar is shorter, scroll up
4418         so the last resource is at the bottom again.
4420 2008-10-19  Timothy Hatcher  <timothy@apple.com>
4422         Show per resource times and sizes when hovering over the bar graph for a resource.
4424         https://bugs.webkit.org/show_bug.cgi?id=14300
4425         rdar://problem/5712802
4427         Reviewed by Cameron Zwarich.
4429         * English.lproj/localizedStrings.js: Add new strings.
4430         * inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
4431         * inspector/front-end/Images/graphLabelCalloutRight.png: Added.
4432         * inspector/front-end/ResourcesPanel.js:
4433         (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the
4434         ResourceGraph.refresh function.
4435         (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation
4436         returns the formatted value.
4437         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values
4438         for the latency and download times. Also generate a custom tooltip.
4439         (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions.
4440         (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions
4441         in case the bar has changed size.
4442         (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
4443         * inspector/front-end/inspector.css: New styles for the labels.
4445 2008-10-19  Darin Adler  <darin@apple.com>
4447         Reviewed by Oliver Hunt.
4449         - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
4450           improve performance by eliminating JSValue as a base class for JSCell
4452         Remove most uses of JSValue, which will be removed in a future patch.
4454         * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
4455         and used JSValuePtr instead.
4456         * bindings/js/JSEventTarget.h: Ditto.
4457         * bindings/js/JSNodeFilterCondition.h: Ditto.
4458         * bindings/js/ScheduledAction.h: Ditto.
4459         * bindings/js/ScriptController.h: Ditto.
4460         * bindings/objc/WebScriptObjectPrivate.h: Ditto.
4461         * bridge/c/c_utility.h: Ditto.
4462         * bridge/jni/jni_jsobject.h: Ditto.
4463         * bridge/jni/jni_utility.h: Ditto.
4464         * bridge/objc/WebScriptObject.h: Ditto.
4465         * dom/Traversal.h: Ditto.
4466         * inspector/InspectorController.cpp: Ditto.
4467         * inspector/JavaScriptProfile.h: Ditto.
4468         * inspector/JavaScriptProfileNode.h: Ditto.
4469         * loader/FrameLoader.h: Ditto.
4470         * page/Console.h: Ditto.
4471         * plugins/MimeTypeArray.h: Ditto.
4472         * plugins/Plugin.h: Ditto.
4473         * plugins/PluginArray.h: Ditto.
4474         * plugins/PluginView.cpp:
4475         (WebCore::getString): Ditto.
4476         (WebCore::PluginView::performRequest): Ditto.
4477         * plugins/gtk/PluginViewGtk.cpp: Ditto.
4478         * plugins/qt/PluginViewQt.cpp: Ditto.
4479         * plugins/win/PluginViewWin.cpp: Ditto.
4481         * bridge/qt/qt_class.cpp:
4482         (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
4483         instead of JSValue*.
4484         * bridge/qt/qt_class.h: Ditto.
4485         * bridge/qt/qt_instance.cpp:
4486         (JSC::Bindings::QtInstance::mark): Ditto.
4487         (JSC::Bindings::QtInstance::invokeMethod): Ditto.
4488         (JSC::Bindings::QtInstance::defaultValue): Ditto.
4489         (JSC::Bindings::QtInstance::stringValue): Ditto.
4490         (JSC::Bindings::QtInstance::numberValue): Ditto.
4491         (JSC::Bindings::QtInstance::booleanValue): Ditto.
4492         (JSC::Bindings::QtInstance::valueOf): Ditto.
4493         (JSC::Bindings::QtField::valueFromInstance): Ditto.
4494         (JSC::Bindings::QtField::setValueToInstance): Ditto.
4495         * bridge/qt/qt_instance.h: Ditto.
4496         * bridge/qt/qt_runtime.cpp: Ditto.
4497         (JSC::Bindings::valueRealType): Ditto.
4498         (JSC::Bindings::convertValueToQVariant): Ditto.
4499         (JSC::Bindings::convertQVariantToValue): Ditto.
4500         (JSC::Bindings::findMethodIndex): Ditto.
4501         (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
4502         (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
4503         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
4504         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
4505         (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
4506         (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
4507         (JSC::Bindings::QtArray::setValueAt): Ditto.
4508         (JSC::Bindings::QtArray::valueAt): Ditto.
4509         * bridge/qt/qt_runtime.h: Ditto.
4511         * bridge/testqtbindings.cpp:
4512         (main): Use JSValuePtr.
4514 2008-10-18  Darin Adler  <darin@apple.com>
4516         Reviewed by Oliver Hunt.
4518         - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
4519           improve performance by eliminating JSValue as a base class for JSCell
4521         Tweak a little more to get closer to where we can make JSValuePtr a class.
4523         * bindings/js/JSAudioConstructor.cpp:
4524         (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject.
4525         (WebCore::constructAudio): Ditto.
4526         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
4527         (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
4529         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
4530         (WebCore::toHTMLCanvasStyle): Use asString and asObject.
4531         (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto.
4532         (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto.
4533         (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto.
4534         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto.
4535         (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto.
4536         (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
4538         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
4539         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
4541         * bindings/js/JSDOMBinding.cpp:
4542         (WebCore::setDOMException): Use noValue.
4544         * bindings/js/JSDOMBinding.h:
4545         (WebCore::getDOMPrototype): Use asObject.
4547         * bindings/js/JSDOMWindowBase.cpp:
4548         (WebCore::showModalDialog): Use noValue.
4549         (jsDOMWindowBaseEvent): Use asObject.
4550         (jsDOMWindowBaseImage): Ditto.
4551         (jsDOMWindowBaseMessageChannel): Ditto.
4552         (jsDOMWindowBaseOption): Ditto.
4553         (jsDOMWindowBaseXMLHttpRequest): Ditto.
4554         (jsDOMWindowBaseAudio): Ditto.
4555         (jsDOMWindowBaseXSLTProcessor): Ditto.
4556         (WebCore::JSDOMWindowBase::childFrameGetter): Ditto.
4557         (WebCore::JSDOMWindowBase::indexGetter): Ditto.
4558         (WebCore::JSDOMWindowBase::namedItemGetter): Ditto.
4559         (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto.
4560         (WebCore::JSDOMWindowBase::findJSEventListener): Ditto.
4561         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto.
4562         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto.
4563         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto.
4564         (windowProtoFuncOpen): Use noValue.
4565         (WebCore::toJSDOMWindow): Use asObject.
4567         * bindings/js/JSDOMWindowCustom.cpp:
4568         (WebCore::setTimeoutOrInterval): Use asString.
4569         (WebCore::toDOMWindow): Use asObject.
4571         * bindings/js/JSEventListener.cpp:
4572         (WebCore::JSAbstractEventListener::handleEvent): Use noValue.
4573         (WebCore::JSLazyEventListener::parseCode): Use asObject.
4575         * bindings/js/JSHTMLCollectionCustom.cpp:
4576         (WebCore::JSHTMLCollection::nameGetter): Use asObject.
4577         * bindings/js/JSHTMLDocumentCustom.cpp:
4578         (WebCore::JSHTMLDocument::nameGetter): Ditto.
4579         * bindings/js/JSHTMLElementCustom.cpp:
4580         (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
4581         * bindings/js/JSHTMLFormElementCustom.cpp:
4582         (WebCore::JSHTMLFormElement::nameGetter): Ditto.
4583         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
4584         (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
4585         * bindings/js/JSHTMLOptionElementConstructor.cpp:
4586         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
4587         (WebCore::constructHTMLOptionElement): Ditto.
4588         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
4589         (WebCore::JSHTMLOptionsCollection::remove): Ditto.
4590         * bindings/js/JSImageConstructor.cpp:
4591         (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
4592         (WebCore::constructImage): Ditto.
4593         * bindings/js/JSInspectedObjectWrapper.cpp:
4594         (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
4595         * bindings/js/JSInspectorCallbackWrapper.cpp:
4596         (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
4598         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
4599         (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
4601         * bindings/js/JSMessageChannelConstructor.cpp:
4602         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject.
4603         (WebCore::JSMessageChannelConstructor::construct): Ditto.
4604         * bindings/js/JSMimeTypeArrayCustom.cpp:
4605         (WebCore::JSMimeTypeArray::nameGetter): Ditto.
4606         * bindings/js/JSNamedNodeMapCustom.cpp:
4607         (WebCore::JSNamedNodeMap::nameGetter): Ditto.
4608         * bindings/js/JSNamedNodesCollection.cpp:
4609         (WebCore::JSNamedNodesCollection::lengthGetter): Ditto.
4610         (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
4611         * bindings/js/JSNodeFilterCustom.cpp:
4612         (WebCore::toNodeFilter): Ditto.
4613         * bindings/js/JSNodeListCustom.cpp:
4614         (WebCore::JSNodeList::nameGetter): Ditto.
4615         * bindings/js/JSPluginArrayCustom.cpp:
4616         (WebCore::JSPluginArray::nameGetter): Ditto.
4617         * bindings/js/JSPluginCustom.cpp:
4618         (WebCore::JSPlugin::nameGetter): Ditto.
4619         * bindings/js/JSPluginElementFunctions.cpp:
4620         (WebCore::runtimeObjectGetter): Ditto.
4621         (WebCore::runtimeObjectPropertyGetter): Ditto.
4622         * bindings/js/JSQuarantinedObjectWrapper.cpp:
4623         (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto.
4624         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto.
4625         (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
4626         * bindings/js/JSRGBColor.cpp:
4627         (jsRGBColorRed): Ditto.
4628         (jsRGBColorGreen): Ditto.
4629         (jsRGBColorBlue): Ditto.
4631         * bindings/js/JSSQLResultSetRowListCustom.cpp:
4632         (WebCore::JSSQLResultSetRowList::item): Use noValue.
4634         * bindings/js/JSStorageCustom.cpp:
4635         (WebCore::JSStorage::nameGetter): Use asObject.
4636         (WebCore::JSStorage::deleteProperty): Ditto.
4637         (WebCore::JSStorage::customPut): Ditto.
4638         * bindings/js/JSStyleSheetListCustom.cpp:
4639         (WebCore::JSStyleSheetList::nameGetter): Ditto.
4640         * bindings/js/JSXMLHttpRequestConstructor.cpp:
4641         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
4642         * bindings/js/JSXSLTProcessorCustom.cpp:
4643         (WebCore::JSXSLTProcessor::importStylesheet): Ditto.
4644         (WebCore::JSXSLTProcessor::transformToFragment): Ditto.
4645         (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
4647         * bindings/js/ScriptController.cpp:
4648         (WebCore::ScriptController::evaluate): Use noValue.
4649         * bindings/objc/DOMInternal.mm:
4650         (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
4652         * bindings/objc/WebScriptObject.mm:
4653         (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr.
4654         (-[WebScriptObject valueForKey:]): Ditto.
4655         (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
4656         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
4657         Use asObject and asString.
4659         * bindings/scripts/CodeGeneratorJS.pm: Use asObject.
4661         * bridge/c/c_instance.h: Use JSValuePtr.
4662         * bridge/c/c_runtime.cpp:
4663         (JSC::Bindings::CField::setValueToInstance): Ditto.
4665         * bridge/c/c_utility.cpp:
4666         (JSC::Bindings::convertValueToNPVariant): Use asObject.
4668         * bridge/jni/jni_instance.cpp:
4669         (JavaInstance::booleanValue): Use JSValuePtr.
4670         (JavaInstance::invokeMethod): Ditto. And noValue.
4671         * bridge/jni/jni_jsobject.mm:
4672         (JavaJSObject::getSlot): Ditto.
4673         (JavaJSObject::convertValueToJObject): Ditto.
4674         * bridge/jni/jni_runtime.cpp:
4675         (JavaField::dispatchValueFromInstance): Ditto.
4676         (JavaField::valueFromInstance): Ditto.
4677         (JavaField::dispatchSetValueToInstance): Ditto.
4678         (JavaField::setValueToInstance): Ditto.
4679         (JavaArray::setValueAt): Ditto.
4680         (JavaArray::valueAt): Ditto.
4681         * bridge/jni/jni_runtime.h: Ditto.
4683         * bridge/jni/jni_utility.cpp:
4684         (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray*
4685         instead of a JSValue*.
4686         (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
4688         * bridge/objc/objc_class.h: Use JSValuePtr.
4689         * bridge/objc/objc_instance.h: Ditto.
4690         * bridge/objc/objc_runtime.h: Ditto.
4692         * bridge/objc/objc_runtime.mm:
4693         (JSC::Bindings::callObjCFallbackObject): Use asObject.
4695         * bridge/objc/objc_utility.h: Use JSValuePtr.
4696         * bridge/objc/objc_utility.mm:
4697         (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject.
4698         (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
4700         * bridge/runtime.cpp:
4701         (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr.
4702         (JSC::Bindings::Instance::setValueOfField): Ditto.
4704         * bridge/runtime_array.cpp:
4705         (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject.
4706         (JSC::RuntimeArray::indexGetter): Ditto.
4707         * bridge/runtime_array.h: Ditto.
4708         * bridge/runtime_method.cpp:
4709         (JSC::RuntimeMethod::lengthGetter): Ditto.
4710         (JSC::callRuntimeMethod): Ditto.
4711         * bridge/runtime_object.cpp:
4712         (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto.
4713         (JSC::RuntimeObjectImp::fieldGetter): Ditto.
4714         (JSC::RuntimeObjectImp::methodGetter): Ditto.
4716         * loader/FrameLoader.cpp:
4717         (WebCore::FrameLoader::executeScript): Use noValue.
4719         * page/Console.cpp:
4720         (WebCore::Console::trace): Use asInternalFunction.
4722 2008-10-19  Dan Bernstein  <mitz@apple.com>
4724         Reviewed by Timothy Hatcher.
4726         - lower the default button repaint frequency
4728         * rendering/RenderButton.cpp:
4729         (WebCore::RenderButton::styleDidChange): Changed the timer interval from
4730         0.01 to 0.03.
4732 2008-10-18  Dan Bernstein  <mitz@apple.com>
4734         Reviewed by Mark Rowe.
4736         - Windows build fix
4738         * rendering/RenderThemeSafari.cpp:
4739         (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
4740         (WebCore::RenderThemeSafari::paintMediaMuteButton):
4741         (WebCore::RenderThemeSafari::paintMediaPlayButton):
4742         (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
4743         (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
4744         (WebCore::RenderThemeSafari::paintMediaSliderThumb):
4746 2008-10-18  Dan Bernstein  <mitz@apple.com>
4748         Reviewed by Sam Weinig.
4750         - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736
4751           Long-dead decoded image data make up for most of the object cache's memory use over time
4753         Add a cache setting for how long decoded image data should be allowed to
4754         persist in memory after the image has died. By default, this is set to
4755         0, which means "forever".
4757         * loader/Cache.cpp:
4758         (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
4759         * loader/Cache.h:
4760         (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter.
4761         (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
4762         * loader/CachedImage.cpp:
4763         (WebCore::CachedImage::CachedImage): Initialize the decoded data
4764         deletion timer.
4765         (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys
4766         the decoded image data.
4767         (WebCore::CachedImage::addClient): Stop the timer if it is active.
4768         (WebCore::CachedImage::allClientsRemoved): Start the decoded data
4769         deletion timer.
4770         * loader/CachedImage.h:
4772 2008-10-18  Darin Adler  <darin@apple.com>
4774         Reviewed by Dan Bernstein.
4776         - fix https://bugs.webkit.org/show_bug.cgi?id=21645
4777           REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form
4779         * html/HTMLFormElement.cpp:
4780         (WebCore::HTMLFormElement::formData):
4781         Fix loop that goes through the FormDataList to go two at a time in a clearer
4782         way. My last patch screwed up the way it got form content from the items.
4783         This "two at a time" approach is a confusing way to do things, which explains
4784         why I got it wrong last time through, but I decided to just fix it locally for
4785         now rather than changing the design of FormDataList.
4787 2008-10-18  Darin Adler  <darin@apple.com>
4789         Reviewed by Cameron Zwarich.
4791         - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
4792           improve performance by eliminating JSValue as a base class for JSCell
4794         Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
4795         changing JSValuePtr to be a class, and then eventually renaming it
4796         to JSValue once that's done.
4798         * bindings/js/JSAttrCustom.cpp:
4799         * bindings/js/JSCSSRuleCustom.cpp:
4800         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
4801         * bindings/js/JSCSSValueCustom.cpp:
4802         * bindings/js/JSCanvasPixelArrayCustom.h:
4803         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
4804         * bindings/js/JSClipboardCustom.cpp:
4805         * bindings/js/JSConsoleCustom.cpp:
4806         * bindings/js/JSCustomSQLStatementCallback.cpp:
4807         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
4808         * bindings/js/JSCustomSQLTransactionCallback.cpp:
4809         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
4810         * bindings/js/JSCustomVoidCallback.cpp:
4811         * bindings/js/JSCustomVoidCallback.h:
4812         * bindings/js/JSCustomXPathNSResolver.cpp:
4813         * bindings/js/JSDOMApplicationCacheCustom.cpp:
4814         * bindings/js/JSDOMBinding.cpp:
4815         * bindings/js/JSDOMBinding.h:
4816         * bindings/js/JSDOMWindowBase.cpp:
4817         * bindings/js/JSDOMWindowBase.h:
4818         * bindings/js/JSDOMWindowCustom.cpp:
4819         * bindings/js/JSDOMWindowCustom.h:
4820         * bindings/js/JSDOMWindowShell.cpp:
4821         * bindings/js/JSDOMWindowShell.h:
4822         * bindings/js/JSDatabaseCustom.cpp:
4823         * bindings/js/JSDocumentCustom.cpp:
4824         * bindings/js/JSElementCustom.cpp:
4825         * bindings/js/JSEventCustom.cpp:
4826         * bindings/js/JSEventListener.cpp:
4827         * bindings/js/JSEventTarget.cpp:
4828         * bindings/js/JSEventTargetBase.h:
4829         * bindings/js/JSEventTargetNodeCustom.cpp:
4830         * bindings/js/JSHTMLAllCollection.h:
4831         * bindings/js/JSHTMLAppletElementCustom.cpp:
4832         * bindings/js/JSHTMLCollectionCustom.cpp:
4833         * bindings/js/JSHTMLDocumentCustom.cpp:
4834         * bindings/js/JSHTMLEmbedElementCustom.cpp:
4835         * bindings/js/JSHTMLFormElementCustom.cpp:
4836         * bindings/js/JSHTMLFrameElementCustom.cpp:
4837         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
4838         * bindings/js/JSHTMLIFrameElementCustom.cpp:
4839         * bindings/js/JSHTMLInputElementCustom.cpp:
4840         * bindings/js/JSHTMLObjectElementCustom.cpp:
4841         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
4842         * bindings/js/JSHTMLSelectElementCustom.cpp:
4843         * bindings/js/JSHTMLSelectElementCustom.h:
4844         * bindings/js/JSHistoryCustom.cpp:
4845         * bindings/js/JSImageDataCustom.cpp:
4846         * bindings/js/JSInspectedObjectWrapper.cpp:
4847         * bindings/js/JSInspectedObjectWrapper.h:
4848         * bindings/js/JSInspectorCallbackWrapper.cpp:
4849         * bindings/js/JSInspectorCallbackWrapper.h:
4850         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
4851         * bindings/js/JSLocationCustom.cpp:
4852         * bindings/js/JSMessagePortCustom.cpp:
4853         * bindings/js/JSMimeTypeArrayCustom.cpp:
4854         * bindings/js/JSNamedNodeMapCustom.cpp:
4855         * bindings/js/JSNamedNodesCollection.cpp:
4856         * bindings/js/JSNamedNodesCollection.h:
4857         * bindings/js/JSNavigatorCustom.cpp:
4858         * bindings/js/JSNodeCustom.cpp:
4859         * bindings/js/JSNodeFilterCondition.cpp:
4860         * bindings/js/JSNodeFilterCustom.cpp:
4861         * bindings/js/JSNodeIteratorCustom.cpp:
4862         * bindings/js/JSNodeListCustom.cpp:
4863         * bindings/js/JSPluginArrayCustom.cpp:
4864         * bindings/js/JSPluginCustom.cpp:
4865         * bindings/js/JSPluginElementFunctions.cpp:
4866         * bindings/js/JSPluginElementFunctions.h:
4867         * bindings/js/JSQuarantinedObjectWrapper.cpp:
4868         * bindings/js/JSQuarantinedObjectWrapper.h:
4869         * bindings/js/JSRGBColor.cpp:
4870         * bindings/js/JSRGBColor.h:
4871         * bindings/js/JSSQLResultSetRowListCustom.cpp:
4872         * bindings/js/JSSQLTransactionCustom.cpp:
4873         * bindings/js/JSSVGElementInstanceCustom.cpp:
4874         * bindings/js/JSSVGLengthCustom.cpp:
4875         * bindings/js/JSSVGMatrixCustom.cpp:
4876         * bindings/js/JSSVGPathSegCustom.cpp:
4877         * bindings/js/JSSVGPathSegListCustom.cpp:
4878         * bindings/js/JSSVGPointListCustom.cpp:
4879         * bindings/js/JSSVGTransformListCustom.cpp:
4880         * bindings/js/JSStorageCustom.cpp:
4881         * bindings/js/JSStyleSheetCustom.cpp:
4882         * bindings/js/JSStyleSheetListCustom.cpp:
4883         * bindings/js/JSTextCustom.cpp:
4884         * bindings/js/JSTreeWalkerCustom.cpp:
4885         * bindings/js/JSXMLHttpRequestCustom.cpp:
4886         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4887         * bindings/js/JSXSLTProcessorCustom.cpp:
4888         * bindings/js/ScheduledAction.cpp:
4889         * bindings/js/ScheduledAction.h:
4890         * bindings/js/ScriptController.cpp:
4891         * bindings/js/ScriptController.h:
4892         * bindings/objc/WebScriptObject.mm:
4893         * bindings/scripts/CodeGeneratorJS.pm:
4894         * bridge/NP_jsobject.cpp:
4895         * bridge/c/c_instance.cpp:
4896         * bridge/c/c_instance.h:
4897         * bridge/c/c_runtime.cpp:
4898         * bridge/c/c_runtime.h:
4899         * bridge/c/c_utility.cpp:
4900         * bridge/jni/jni_instance.cpp:
4901         * bridge/jni/jni_instance.h:
4902         * bridge/jni/jni_jsobject.mm:
4903         * bridge/jni/jni_objc.mm:
4904         * bridge/jni/jni_runtime.cpp:
4905         * bridge/jni/jni_runtime.h:
4906         * bridge/jni/jni_utility.cpp:
4907         * bridge/objc/objc_class.mm:
4908         * bridge/objc/objc_instance.h:
4909         * bridge/objc/objc_instance.mm:
4910         * bridge/objc/objc_runtime.h:
4911         * bridge/objc/objc_runtime.mm:
4912         * bridge/objc/objc_utility.h:
4913         * bridge/objc/objc_utility.mm:
4914         * bridge/runtime.h:
4915         * bridge/runtime_array.cpp:
4916         * bridge/runtime_array.h:
4917         * bridge/runtime_method.cpp:
4918         * bridge/runtime_method.h:
4919         * bridge/runtime_object.cpp:
4920         * bridge/runtime_object.h:
4921         * inspector/JavaScriptCallFrame.cpp:
4922         * inspector/JavaScriptCallFrame.h:
4923         * inspector/JavaScriptProfile.cpp:
4924         * inspector/JavaScriptProfileNode.cpp:
4925         * loader/FrameLoader.cpp:
4926         * loader/FrameLoader.h:
4927         * page/Console.cpp:
4928         * page/Console.h:
4929         * plugins/MimeTypeArray.h:
4930         * plugins/Plugin.h:
4931         * plugins/PluginArray.h:
4932         * xml/XMLHttpRequest.cpp:
4933         Replace JSValue* with JSValuePtr.
4935 2008-10-18  Darin Adler  <darin@apple.com>
4937         Reviewed by Oliver Hunt.
4939         - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
4940           improve performance by eliminating JSValue as a base class for JSCell
4942         Update for change to make PreferredPrimitiveType no longer
4943         a member of JSValue.
4945         * bridge/c/c_instance.cpp:
4946         (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
4947         * bridge/jni/jni_instance.cpp:
4948         (JavaInstance::defaultValue): Ditto.
4949         * bridge/objc/objc_instance.mm:
4950         (ObjcInstance::defaultValue): Ditto.
4951         * bridge/qt/qt_instance.cpp:
4952         (JSC::Bindings::QtInstance::defaultValue): Ditto.
4953         * bridge/runtime.h: Ditto. Also removed typedef.
4955 2008-10-18  Darin Adler  <darin@apple.com>
4957         - try to fix Windows build
4959         * rendering/RenderThemeSafari.cpp:
4960         (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with
4961         SafariTheme namespace, since there is now an identically named constant in
4962         the ControlPart enum.
4963         (WebCore::RenderThemeSafari::paintButton): Ditto.
4964         (WebCore::RenderThemeSafari::paintTextField): Ditto.
4965         (WebCore::RenderThemeSafari::paintTextArea): Ditto.
4966         (WebCore::RenderThemeSafari::paintSearchField): Ditto.
4967         (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto.
4968         (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto.
4969         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
4971 2008-10-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
4973         Reviewed by Alp Toker.
4975         [GTK] crash after selecting a file on an <input type=file>
4976         https://bugs.webkit.org/show_bug.cgi?id=21385
4978         Follow Mac and Win's behaviors for Icon::paint
4980         * platform/graphics/gtk/IconGtk.cpp:
4981         (WebCore::Icon::paint): check if painting is enabled before
4982         painting the icon
4984 2008-10-18  Zan Dobersek  <zandobersek@gmail.com>
4986         Reviewed by Oliver Hunt.
4988         Qt port build fix.
4990         * platform/qt/RenderThemeQt.h:
4992 2008-10-17  Kevin Watters  <kevinwatters@gmail.com>
4994         Reviewed by Kevin Ollivier
4995         
4996         Fix wx port's scrollbar and drawing handling after recent changes.
4997         
4998         https://bugs.webkit.org/show_bug.cgi?id=21720
5000         * platform/ScrollView.h:
5001         * platform/wx/ScrollViewWx.cpp:
5002         (WebCore::ScrollView::platformVisibleContentRect):
5003         (WebCore::ScrollView::platformContentsSize):
5004         (WebCore::ScrollView::platformSetContentsSize):
5005         * platform/wx/WidgetWx.cpp:
5006         (WebCore::Widget::paint):
5008 2008-10-17  Kevin Ollivier  <kevino@theolliviers.com>
5010         wx build fix. EAppearance -> ControlPart.
5012         * platform/wx/RenderThemeWx.cpp:
5013         (WebCore::RenderThemeWx::isControlStyled):
5014         (WebCore::RenderThemeWx::adjustRepaintRect):
5015         (WebCore::RenderThemeWx::controlSupportsTints):
5016         (WebCore::RenderThemeWx::supportsFocus):
5017         (WebCore::RenderThemeWx::paintButton):
5019 2008-10-17  David Hyatt  <hyatt@apple.com>
5021         Eliminate the EAppearance enum in favor of the new ControlPart enum.  Cut out the scrollbar
5022         values from the enum since they are handled by ScrollbarTheme instead.
5024         Reviewed by Tim Hatcher
5026         * css/CSSPrimitiveValueMappings.h:
5027         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
5028         (WebCore::CSSPrimitiveValue::operator ControlPart):
5029         * css/CSSStyleSelector.cpp:
5030         (WebCore::CSSStyleSelector::adjustRenderStyle):
5031         * css/CSSValueKeywords.in:
5032         * platform/gtk/RenderThemeGtk.cpp:
5033         (WebCore::supportsFocus):
5034         (WebCore::RenderThemeGtk::baselinePosition):
5035         (WebCore::setToggleSize):
5036         (WebCore::RenderThemeGtk::setCheckboxSize):
5037         (WebCore::RenderThemeGtk::setRadioSize):
5038         (WebCore::RenderThemeGtk::adjustButtonStyle):
5039         * platform/qt/RenderThemeQt.cpp:
5040         (WebCore::RenderThemeQt::baselinePosition):
5041         (WebCore::RenderThemeQt::controlSupportsTints):
5042         (WebCore::RenderThemeQt::adjustRepaintRect):
5043         (WebCore::RenderThemeQt::isControlStyled):
5044         (WebCore::computeSizeBasedOnStyle):
5045         (WebCore::RenderThemeQt::paintButton):
5046         (WebCore::RenderThemeQt::paintTextField):
5047         (WebCore::RenderThemeQt::paintMenuList):
5048         (WebCore::RenderThemeQt::supportsFocus):
5049         (WebCore::RenderThemeQt::applyTheme):
5050         (WebCore::RenderThemeQt::adjustSliderThumbSize):
5051         * platform/qt/RenderThemeQt.h:
5052         * rendering/RenderSlider.cpp:
5053         (WebCore::RenderSlider::createThumbStyle):
5054         (WebCore::RenderSlider::layout):
5055         (WebCore::RenderSlider::setValueForPosition):
5056         (WebCore::RenderSlider::setPositionFromValue):
5057         (WebCore::RenderSlider::positionForOffset):
5058         (WebCore::RenderSlider::currentPosition):
5059         (WebCore::RenderSlider::setCurrentPosition):
5060         (WebCore::RenderSlider::trackSize):
5061         * rendering/RenderTheme.cpp:
5062         (WebCore::RenderTheme::adjustStyle):
5063         (WebCore::RenderTheme::paint):
5064         (WebCore::RenderTheme::paintBorderOnly):
5065         (WebCore::RenderTheme::paintDecorations):
5066         (WebCore::RenderTheme::isControlContainer):
5067         (WebCore::RenderTheme::isControlStyled):
5068         (WebCore::RenderTheme::supportsFocusRing):
5069         (WebCore::RenderTheme::isDefault):
5070         * rendering/RenderTheme.h:
5071         * rendering/RenderThemeMac.mm:
5072         (WebCore::RenderThemeMac::isControlStyled):
5073         (WebCore::RenderThemeMac::adjustRepaintRect):
5074         (WebCore::RenderThemeMac::baselinePosition):
5075         (WebCore::RenderThemeMac::controlSupportsTints):
5076         (WebCore::RenderThemeMac::adjustButtonStyle):
5077         (WebCore::RenderThemeMac::setButtonCellState):
5078         (WebCore::RenderThemeMac::popupInternalPaddingLeft):
5079         (WebCore::RenderThemeMac::popupInternalPaddingRight):
5080         (WebCore::RenderThemeMac::popupInternalPaddingTop):
5081         (WebCore::RenderThemeMac::popupInternalPaddingBottom):
5082         (WebCore::RenderThemeMac::paintSliderTrack):
5083         (WebCore::RenderThemeMac::paintSliderThumb):
5084         (WebCore::RenderThemeMac::adjustSliderThumbSize):
5085         * rendering/RenderThemeSafari.cpp:
5086         (WebCore::RenderThemeSafari::isControlStyled):
5087         (WebCore::RenderThemeSafari::adjustRepaintRect):
5088         (WebCore::RenderThemeSafari::baselinePosition):
5089         (WebCore::RenderThemeSafari::controlSupportsTints):
5090         (WebCore::RenderThemeSafari::adjustButtonStyle):
5091         (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
5092         (WebCore::RenderThemeSafari::popupInternalPaddingRight):
5093         (WebCore::RenderThemeSafari::popupInternalPaddingTop):
5094         (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
5095         (WebCore::RenderThemeSafari::paintSliderTrack):
5096         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
5097         * rendering/RenderThemeWin.cpp:
5098         (WebCore::RenderThemeWin::supportsFocus):
5099         (WebCore::RenderThemeWin::determineClassicState):
5100         (WebCore::RenderThemeWin::getClassicThemeData):
5101         (WebCore::RenderThemeWin::getThemeData):
5102         (WebCore::drawControl):
5103         (WebCore::RenderThemeWin::paintSliderTrack):
5104         (WebCore::RenderThemeWin::adjustSliderThumbSize):
5105         * rendering/RenderThemeWin.h:
5106         * rendering/style/RenderStyle.h:
5107         (WebCore::InheritedFlags::hasAppearance):
5108         (WebCore::InheritedFlags::appearance):
5109         (WebCore::InheritedFlags::setAppearance):
5110         (WebCore::InheritedFlags::initialAppearance):
5111         * rendering/style/RenderStyleConstants.h:
5113 2008-10-17  David Hyatt  <hyatt@apple.com>
5115         Beginning of the RenderTheme re-architecture (to share more code).  Add the new Theme API header
5116         file.  Add new USE(NEW_THEME) switch that is enabled on Mac.  The Mac theme will be converted first.
5118         Reviewed by Tim Hatcher
5120         * WebCore.vcproj/WebCore.vcproj:
5121         * WebCore.xcodeproj/project.pbxproj:
5122         * config.h:
5123         * platform/Theme.h: Added.
5124         (WebCore::Theme::Theme):
5125         (WebCore::Theme::~Theme):
5126         (WebCore::Theme::baselinePositionAdjustment):
5127         (WebCore::Theme::controlHasInactiveAppearance):
5128         (WebCore::Theme::controlsCanHaveInactiveAppearance):
5129         (WebCore::Theme::controlsCanHaveHoveredAppearance):
5130         (WebCore::Theme::controlDrawsBorder):
5131         (WebCore::Theme::controlDrawsBackground):
5132         (WebCore::Theme::controlDrawsFocusOutline):
5133         (WebCore::Theme::selectionColor):
5134         (WebCore::Theme::textSearchHighlightColor):
5135         (WebCore::Theme::systemColor):
5136         (WebCore::Theme::systemFont):
5137         (WebCore::Theme::caretBlinkFrequency):
5138         (WebCore::Theme::themeChanged):
5139         (WebCore::Theme::controlSize):
5140         (WebCore::Theme::controlFont):
5141         (WebCore::Theme::controlPadding):
5142         (WebCore::Theme::controlInternalPadding):
5143         (WebCore::Theme::controlBorder):
5144         (WebCore::Theme::controlBorderRadius):
5145         (WebCore::Theme::paint):
5146         (WebCore::Theme::inflateControlPaintRect):
5147         * platform/ThemeTypes.h: Added.
5148         (WebCore::):
5149         (WebCore::ControlBox::ControlBox):
5150         (WebCore::ControlBox::top):
5151         (WebCore::ControlBox::right):
5152         (WebCore::ControlBox::bottom):
5153         (WebCore::ControlBox::left):
5154         * platform/mac/ThemeMac.h: Added.
5155         (WebCore::ThemeMac::ThemeMac):
5156         (WebCore::ThemeMac::~ThemeMac):
5157         * platform/mac/ThemeMac.mm: Added.
5158         (WebCore::platformTheme):
5159         * rendering/RenderTheme.cpp:
5160         (WebCore::RenderTheme::RenderTheme):
5161         * rendering/RenderTheme.h:
5163 2008-10-17  Marco Barisione  <marco.barisione@collabora.co.uk>
5165         Reviewed by Sam Weinig. Landed by Jan Alonzo.
5167         https://bugs.webkit.org/show_bug.cgi?id=21603
5168         [GTK] Minor fixes to GOwnPtr
5170         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
5171         (WebCore::mediaPlayerPrivateErrorCallback):
5173 2008-10-17  Timothy Hatcher  <timothy@apple.com>
5175         Recompile the JavaScript functions when removing any listener, so functions that are
5176         not being debugged can resume normal speed again.
5178         https://bugs.webkit.org/show_bug.cgi?id=21715
5180         Reviewed by Geoffrey Garen.
5182         * bindings/js/JSDOMWindowBase.cpp:
5183         (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
5184         was firing when closing the window and having the recompile fire after. This was an
5185         overzelious assert now.
5186         * inspector/JavaScriptDebugServer.cpp:
5187         (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
5188         (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
5190 2008-10-17  Timothy Hatcher  <timothy@apple.com>
5192         Fixes a regression where starting a debugging session in
5193         another Web Inspector window would not show any scripts.
5194         Also only attach the debugger to only the required Pages.
5196         https://bugs.webkit.org/show_bug.cgi?id=21708
5198         Reviewed by Darin Adler.
5200         * inspector/JavaScriptDebugServer.cpp:
5201         (WebCore::JavaScriptDebugServer::addListener): Add an assert and
5202         remove the call to willAddFirstListener(). Add a call to
5203         didAddListener().
5204         (WebCore::JavaScriptDebugServer::removeListener): Add an assert
5205         and call to didRemoveListener().
5206         (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
5207         if there is a listener interested in the new Page.
5208         (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
5209         Use hasGlobalListeners() instead of isEmpty().
5210         (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
5211         (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
5212         debugger to the page if non-null, or all pages if page is null.
5213         (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
5214         the debugger only if there are no interested listeners.
5215         (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
5216         call to Page::setDebuggerForAllPages().
5217         * inspector/JavaScriptDebugServer.h:
5218         (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
5220 2008-10-15  Brett Wilson  <brettw@chromium.org>
5222         Reviewed by Timothy Hatcher.
5224         Have ImageDocument generate its own filename for the title of images
5225         without relying on the suggested filename from the network layer, which
5226         may be nonexistant or not relevant.
5227         https://bugs.webkit.org/show_bug.cgi?id=21565
5229         * loader/ImageDocument.cpp:
5230         (WebCore::ImageTokenizer::finish):
5232 2008-10-17  Alexey Proskuryakov  <ap@webkit.org>
5234         Non-Mac build fix.
5236         * GNUmakefile.am:
5237         * WebCore.pro:
5238         * WebCore.vcproj/WebCore.vcproj:
5239         * WebCoreSources.bkl:
5240         Added ActiveDOMObject to the build.
5242 2008-10-17  Alexey Proskuryakov  <ap@webkit.org>
5244         Reviewed by Sam Weinig.
5246         https://bugs.webkit.org/show_bug.cgi?id=21642
5247         Abstract out active object tracking
5249         * WebCore.xcodeproj/project.pbxproj:
5250         * bindings/js/JSDOMBinding.cpp:
5251         (WebCore::markActiveObjectsForDocument):
5252         * dom/ActiveDOMObject.cpp: Added.
5253         (WebCore::ActiveDOMObject::ActiveDOMObject):
5254         (WebCore::ActiveDOMObject::~ActiveDOMObject):
5255         (WebCore::ActiveDOMObject::contextDestroyed):
5256         (WebCore::ActiveDOMObject::stop):
5257         * dom/ActiveDOMObject.h: Added.
5258         (WebCore::ActiveDOMObject::document):
5259         (WebCore::ActiveDOMObject::hasPendingActivity):
5260         (WebCore::ActiveDOMObject::setPendingActivity):
5261         (WebCore::ActiveDOMObject::unsetPendingActivity):
5262         * dom/Document.cpp:
5263         (WebCore::Document::~Document):
5264         (WebCore::Document::stopActiveDOMObjects):
5265         (WebCore::Document::createdActiveDOMObject):
5266         (WebCore::Document::destroyedActiveDOMObject):
5267         * dom/Document.h:
5268         (WebCore::Document::activeDOMObjects):
5269         * dom/MessagePort.cpp:
5270         (WebCore::MessagePort::contextDestroyed):
5271         * dom/MessagePort.h:
5272         * loader/FrameLoader.cpp:
5273         (WebCore::FrameLoader::stopLoading):
5274         * xml/XMLHttpRequest.cpp:
5275         (WebCore::XMLHttpRequest::XMLHttpRequest):
5276         (WebCore::XMLHttpRequest::~XMLHttpRequest):
5277         (WebCore::XMLHttpRequest::associatedFrame):
5278         (WebCore::XMLHttpRequest::responseXML):
5279         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
5280         (WebCore::XMLHttpRequest::initSend):
5281         (WebCore::XMLHttpRequest::send):
5282         (WebCore::XMLHttpRequest::createRequest):
5283         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
5284         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
5285         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
5286         (WebCore::XMLHttpRequest::loadRequestSynchronously):
5287         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
5288         (WebCore::XMLHttpRequest::dropProtection):
5289         (WebCore::XMLHttpRequest::setRequestHeader):
5290         (WebCore::XMLHttpRequest::processSyncLoadResults):
5291         (WebCore::XMLHttpRequest::didFinishLoading):
5292         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
5293         (WebCore::XMLHttpRequest::willSendRequest):
5294         (WebCore::XMLHttpRequest::accessControlCheck):
5295         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
5296         (WebCore::XMLHttpRequest::stop):
5297         (WebCore::XMLHttpRequest::contextDestroyed):
5298         * xml/XMLHttpRequest.h:
5299         Move activity tracking to a new ActiveDOMObject class.
5301 2008-10-16  David Hyatt  <hyatt@apple.com>
5303         Simplify styleForRenderer to avoid confusion.  Callers in the SVG filter code thought "forRenderer" meant
5304         they would be given a style that corresponded to the RenderObject* passed in.  This is not what the code
5305         did though.  This patch removes the renderer argument and the Element subclass shadow implementation
5306         so that confusion like this can't occur again.
5308         Reviewed by Oliver Hunt
5310         * dom/Element.cpp:
5311         * dom/Element.h:
5312         * dom/Node.cpp:
5313         (WebCore::Node::createRendererIfNeeded):
5314         (WebCore::Node::styleForRenderer):
5315         * dom/Node.h:
5316         * html/HTMLOptGroupElement.cpp:
5317         (WebCore::HTMLOptGroupElement::attach):
5318         * html/HTMLOptionElement.cpp:
5319         (WebCore::HTMLOptionElement::attach):
5320         * svg/SVGClipPathElement.cpp:
5321         (WebCore::SVGClipPathElement::canvasResource):
5322         * svg/SVGFEDiffuseLightingElement.cpp:
5323         (WebCore::SVGFEDiffuseLightingElement::build):
5324         * svg/SVGFEFloodElement.cpp:
5325         (WebCore::SVGFEFloodElement::build):
5326         * svg/SVGFESpecularLightingElement.cpp:
5327         (WebCore::SVGFESpecularLightingElement::build):
5328         * svg/SVGGradientElement.cpp:
5329         (WebCore::SVGGradientElement::buildStops):
5330         * svg/SVGUseElement.cpp:
5331         (WebCore::SVGUseElement::attachShadowTree):
5333 2008-10-16  David Hyatt  <hyatt@apple.com>
5335         https://bugs.webkit.org/attachment.cgi?bugid=21647
5337         Make RenderStyle inherit from RefCounted so that it works with RefPtr.  RenderStyle was being malloced
5338         out of the RenderArena.  Years and years ago (before TCMalloc), the plan was to make RenderStyles and
5339         all their associated sub-structs use the arena.  However only the RenderStyle itself was ever changed
5340         to use the arena.
5342         At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
5343         as the bulk of the styles on a given page are actually shared.  Not ever making the sub-structs use the
5344         arena also limited the usefulness.
5346         Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
5347         mallocs, there is no reason to keep RenderStyles in the arena.  The benefits of being able to eliminate
5348         manual ref/deref far outweigh keeping them in the arena.
5350         Reviewed by Adam Roben
5352         * css/CSSStyleSelector.cpp:
5353         (WebCore::CSSStyleSelector::CSSStyleSelector):
5354         (WebCore::CSSStyleSelector::~CSSStyleSelector):
5355         (WebCore::CSSStyleSelector::styleForElement):
5356         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
5357         (WebCore::CSSStyleSelector::pseudoStyleForElement):
5358         These methods now return a PassRefPtr.  They will null out the m_style variable as they hand it back
5359         so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
5361         (WebCore::CSSStyleSelector::updateFont):
5362         (WebCore::CSSStyleSelector::checkSelector):
5363         (WebCore::CSSStyleSelector::applyProperty):
5364         (WebCore::CSSStyleSelector::mapFillSize):
5365         (WebCore::CSSStyleSelector::mapFillXPosition):
5366         (WebCore::CSSStyleSelector::mapFillYPosition):
5367         * css/CSSStyleSelector.h:
5368         (WebCore::CSSStyleSelector::style):
5369         * dom/Document.cpp:
5370         (WebCore::Document::recalcStyle):
5371         * dom/Element.cpp:
5372         (WebCore::Element::styleForRenderer):
5373         (WebCore::Element::recalcStyle):
5374         (WebCore::Element::computedStyle):
5375         * dom/Element.h:
5376         * dom/ElementRareData.h:
5377         (WebCore::ElementRareData::ElementRareData):
5378         (WebCore::ElementRareData::resetComputedStyle):
5379         * dom/Node.cpp:
5380         (WebCore::Node::diff):
5381         (WebCore::Node::createRendererIfNeeded):
5382         (WebCore::Node::styleForRenderer):
5383         (WebCore::Node::setRenderStyle):
5384         * dom/Node.h:
5385         * html/CanvasRenderingContext2D.cpp:
5386         (WebCore::CanvasRenderingContext2D::setFont):
5387         * html/HTMLOptGroupElement.cpp:
5388         (WebCore::HTMLOptGroupElement::attach):
5389         (WebCore::HTMLOptGroupElement::detach):
5390         (WebCore::HTMLOptGroupElement::setRenderStyle):
5391         (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
5392         * html/HTMLOptGroupElement.h:
5393         * html/HTMLOptionElement.cpp:
5394         (WebCore::HTMLOptionElement::attach):
5395         (WebCore::HTMLOptionElement::detach):
5396         (WebCore::HTMLOptionElement::setRenderStyle):
5397         (WebCore::HTMLOptionElement::nonRendererRenderStyle):
5398         * html/HTMLOptionElement.h:
5399         * page/animation/AnimationBase.h:
5400         (WebCore::AnimationBase::animate):
5401         * page/animation/AnimationController.cpp:
5402         (WebCore::AnimationController::updateAnimations):
5403         * page/animation/AnimationController.h:
5404         * page/animation/CompositeAnimation.cpp:
5405         (WebCore::CompositeAnimationPrivate::updateTransitions):
5406         (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
5407         (WebCore::CompositeAnimationPrivate::animate):
5408         (WebCore::CompositeAnimation::animate):
5409         * page/animation/CompositeAnimation.h:
5410         * page/animation/ImplicitAnimation.cpp:
5411         (WebCore::ImplicitAnimation::ImplicitAnimation):
5412         (WebCore::ImplicitAnimation::~ImplicitAnimation):
5413         (WebCore::ImplicitAnimation::animate):
5414         (WebCore::ImplicitAnimation::reset):
5415         (WebCore::ImplicitAnimation::isTargetPropertyEqual):
5416         (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
5417         * page/animation/ImplicitAnimation.h:
5418         (WebCore::ImplicitAnimation::create):
5419         * page/animation/KeyframeAnimation.cpp:
5420         (WebCore::KeyframeAnimation::KeyframeAnimation):
5421         (WebCore::KeyframeAnimation::~KeyframeAnimation):
5422         (WebCore::KeyframeAnimation::animate):
5423         (WebCore::KeyframeAnimation::validateTransformFunctionList):
5424         * page/animation/KeyframeAnimation.h:
5425         (WebCore::KeyframeAnimation::create):
5426         (WebCore::KeyframeAnimation::unanimatedStyle):
5427         * rendering/InlineTextBox.cpp:
5428         (WebCore::InlineTextBox::paint):
5429         * rendering/MediaControlElements.cpp:
5430         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
5431         (WebCore::MediaControlInputElement::MediaControlInputElement):
5432         * rendering/RenderBlock.cpp:
5433         (WebCore::RenderBlock::styleDidChange):
5434         (WebCore::RenderBlock::updateFirstLetter):
5435         * rendering/RenderContainer.cpp:
5436         (WebCore::RenderContainer::addChild):
5437         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
5438         * rendering/RenderFileUploadControl.cpp:
5439         (WebCore::RenderFileUploadControl::updateFromElement):
5440         (WebCore::RenderFileUploadControl::createButtonStyle):
5441         * rendering/RenderFileUploadControl.h:
5442         * rendering/RenderFlow.cpp:
5443         (WebCore::RenderFlow::createAnonymousFlow):
5444         * rendering/RenderFlow.h:
5445         * rendering/RenderInline.cpp:
5446         (WebCore::RenderInline::addChildToFlow):
5447         * rendering/RenderLayer.cpp:
5448         (WebCore::RenderLayer::updateScrollCornerStyle):
5449         (WebCore::RenderLayer::updateResizerStyle):
5450         (WebCore::RenderLayer::updateReflectionStyle):
5451         * rendering/RenderListItem.cpp:
5452         (WebCore::RenderListItem::styleDidChange):
5453         * rendering/RenderMedia.cpp:
5454         (WebCore::RenderMedia::createPanel):
5455         (WebCore::RenderMedia::createTimeDisplay):
5456         (WebCore::RenderMedia::changeOpacity):
5457         * rendering/RenderObject.cpp:
5458         (WebCore::RenderObject::selectionBackgroundColor):
5459         (WebCore::RenderObject::selectionForegroundColor):
5460         (WebCore::RenderObject::createAnonymousBlock):
5461         (WebCore::RenderObject::setAnimatableStyle):
5462         (WebCore::RenderObject::setStyle):
5463         (WebCore::RenderObject::setStyleInternal):
5464         (WebCore::RenderObject::arenaDelete):
5465         (WebCore::RenderObject::firstLineStyle):
5466         (WebCore::RenderObject::getPseudoStyle):
5467         * rendering/RenderObject.h:
5468         (WebCore::RenderObject::style):
5469         * rendering/RenderSVGBlock.cpp:
5470         (WebCore::RenderSVGBlock::setStyle):
5471         * rendering/RenderSVGBlock.h:
5472         * rendering/RenderScrollbar.cpp:
5473         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
5474         (WebCore::RenderScrollbar::updateScrollbarPart):
5475         * rendering/RenderScrollbar.h:
5476         * rendering/RenderSlider.cpp:
5477         (WebCore::RenderSlider::styleDidChange):
5478         (WebCore::RenderSlider::createThumbStyle):
5479         (WebCore::RenderSlider::updateFromElement):
5480         * rendering/RenderSlider.h:
5481         * rendering/RenderTable.cpp:
5482         (WebCore::RenderTable::addChild):
5483         * rendering/RenderTableRow.cpp:
5484         (WebCore::RenderTableRow::addChild):
5485         * rendering/RenderTableSection.cpp:
5486         (WebCore::RenderTableSection::addChild):
5487         * rendering/RenderTextControl.cpp:
5488         (WebCore::RenderTextControl::styleDidChange):
5489         (WebCore::RenderTextControl::createInnerBlockStyle):
5490         (WebCore::RenderTextControl::createInnerTextStyle):
5491         (WebCore::RenderTextControl::createResultsButtonStyle):
5492         (WebCore::RenderTextControl::createCancelButtonStyle):
5493         (WebCore::RenderTextControl::createSubtreeIfNeeded):
5494         (WebCore::RenderTextControl::updatePlaceholderVisibility):
5495         * rendering/RenderTextControl.h:
5496         * rendering/TextControlInnerElements.cpp:
5497         (WebCore::TextControlInnerElement::attachInnerElement):
5498         * rendering/TextControlInnerElements.h:
5499         * rendering/style/KeyframeList.cpp:
5500         (WebCore::KeyframeList::clear):
5501         (WebCore::KeyframeList::operator==):
5502         (WebCore::KeyframeList::insert):
5503         * rendering/style/KeyframeList.h:
5504         (WebCore::KeyframeValue::KeyframeValue):
5505         (WebCore::KeyframeValue::~KeyframeValue):
5506         (WebCore::KeyframeValue::key):
5507         (WebCore::KeyframeValue::style):
5508         * rendering/style/RenderStyle.cpp:
5509         (WebCore::defaultStyle):
5510         (WebCore::RenderStyle::create):
5511         (WebCore::RenderStyle::createDefaultStyle):
5512         (WebCore::RenderStyle::clone):
5513         (WebCore::RenderStyle::RenderStyle):
5514         (WebCore::RenderStyle::getCachedPseudoStyle):
5515         (WebCore::RenderStyle::addCachedPseudoStyle):
5516         * rendering/style/RenderStyle.h:
5517         (WebCore::):
5518         (WebCore::InheritedFlags::operator!=):
5519         * svg/SVGClipPathElement.cpp:
5520         (WebCore::SVGClipPathElement::canvasResource):
5521         * svg/SVGGradientElement.cpp:
5522         (WebCore::SVGGradientElement::buildStops):
5523         * svg/SVGStyledElement.cpp:
5524         (WebCore::SVGStyledElement::resolveStyle):
5525         * svg/SVGStyledElement.h:
5526         * svg/SVGUseElement.cpp:
5527         (WebCore::SVGUseElement::recalcStyle):
5528         (WebCore::SVGUseElement::attachShadowTree):
5530 2008-10-16  Kenneth Russell  <kenneth.russell@sun.com>
5532         Reviewed and landed by Anders Carlsson.
5534         https://bugs.webkit.org/show_bug.cgi?id=21587
5535         NPN_PluginThreadAsyncCall does not work properly
5536         
5537         * plugins/PluginMainThreadScheduler.cpp:
5538         (WebCore::PluginMainThreadScheduler::dispatchCalls):
5539         Make sure to set m_callPending to false once the queue has been cleared.
5541 2008-10-15  Alexey Proskuryakov  <ap@webkit.org>
5543         Reviewed by Darin Adler.
5545         https://bugs.webkit.org/show_bug.cgi?id=21609
5546         Make MessagePorts protect their peers across heaps
5548         * dom/MessagePort.cpp:
5549         (WebCore::MessagePort::MessagePort):
5550         * dom/MessagePort.h:
5551         (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
5552         (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
5553         Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
5554         means that the implementation object knows about JS bindings - but it is not possible to
5555         access JS wrappers from another heap/thread.
5557         * bindings/js/JSDOMBinding.cpp:
5558         (WebCore::markCrossHeapDependentObjectsForDocument):
5559         * bindings/js/JSDOMBinding.h:
5560         * bindings/js/JSDOMWindowBase.cpp:
5561         (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
5562         * bindings/js/JSDOMWindowBase.h:
5563         Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
5564         hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
5565         as long as its entangled port is accessible itself.
5567 2008-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
5569         Remove unneeded check of whether a Page defers loading before running it
5570         in a modal dialog.
5572         No test possible.
5574         Reviewed by Tim Hatcher.
5576         * page/Chrome.cpp:
5578 2008-10-15  Geoffrey Garen  <ggaren@apple.com>
5580         Reviewed by Cameron Zwarich.
5582         Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
5583         Start the debugger without reloading the inspected page
5585         * WebCore.base.exp: New symbols.
5587         * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
5588         * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
5589         * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
5591         * inspector/InspectorController.cpp:
5592         (WebCore::InspectorController::setWindowVisible):
5593         (WebCore::InspectorController::windowScriptObjectAvailable):
5594         (WebCore::InspectorController::startDebugging):
5595         * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
5596         to startDebugging, and changed its behavior to match.
5598         * inspector/JavaScriptDebugListener.h:
5599         * inspector/JavaScriptDebugServer.cpp:
5600         (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
5601         (WebCore::JavaScriptDebugServer::addListener):
5602         (WebCore::JavaScriptDebugServer::removeListener):
5603         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
5604         (WebCore::JavaScriptDebugServer::willAddFirstListener):
5605         (WebCore::JavaScriptDebugServer::didRemoveLastListener):
5606         * inspector/JavaScriptDebugServer.h: Refactored the
5607         JavaScriptDebugServer to centralize handling of adding the first listener
5608         and removing the last. Then, added a feature to recompile all JS functions
5609         in these cases. This allows us to dynamically add and remove hooks like
5610         the debugger hooks without reloading the page.
5612         * inspector/front-end/ScriptsPanel.js:
5613         * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
5614         startDebugging rename. Removed all UI that claimed that starting the
5615         debugger would reload the page.
5617 2008-10-15  Adele Peterson  <adele@apple.com>
5619         Attempt to fix the Tiger build.
5621         * platform/network/mac/ResourceHandleMac.mm:
5623 2008-10-15  Holger Hans Peter Freyther  <zecke@selfish.org>
5625         Build fix attempt.
5627         Try to fix static/non-static declaration of g_string_append_uri_escape
5628         by renaming that string. Another look needs to be taken.
5630         * platform/gtk/guriescape.c:
5631         (_webcore_g_string_append_uri_escaped):
5632         (_webcore_g_uri_escape_string):
5634 2008-10-15  Holger Hans Peter Freyther  <zecke@selfish.org>
5636         Build fix.
5638         m_animatingImageType is gone.
5640         * platform/graphics/cairo/ImageCairo.cpp:
5641         (WebCore::BitmapImage::BitmapImage):
5643 2008-10-15  Jeff Cook <cookiecaper@gmail.com>
5645         Reviewed by Holger Freyther.
5647         Stop SIGSEGV when leaving a page with a Flash object by reordering
5648         window destruction and plugin stop.
5650         See https://bugs.webkit.org/show_bug.cgi?id=20779
5652         * plugins/gtk/PluginViewGtk.cpp:
5653         (WebCore::PluginView::stop):
5655 2008-10-15  Adele Peterson  <adele@apple.com>
5657         Reviewed by Sam Weinig.
5659         Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist. 
5661         * platform/network/ResourceHandle.h:
5662         * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
5663         * platform/network/mac/ResourceHandleMac.mm:
5664         (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
5665         (WebCore::ResourceHandle::start):
5666         (WebCore::ResourceHandle::cancel):
5667         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
5668         (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
5669         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
5670         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
5672 2008-10-15  Peter Kasting  <pkasting@google.com>
5674         Reviewed by David Hyatt.
5676         Qt build bustage fix.
5678         * platform/graphics/qt/StillImageQt.h:
5679         (WebCore::StillImage::destroyDecodedData):
5681 2008-10-15  David Hyatt  <hyatt@apple.com>
5683         Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
5685         Reviewed by Mark Rowe
5687         * rendering/RenderScrollbar.cpp:
5688         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
5689         (WebCore::RenderScrollbar::updateScrollbarPart):
5691 2008-10-15  Peter Kasting  <pkasting@google.com>
5693         Reviewed by David Hyatt.
5695         https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
5696         Account for paint and timer lag when animating images.  Also pretend
5697         that images whose animations were paused (by becoming invisible)
5698         continued to animate, by "catching up" to the correct frame when they're
5699         shown again.
5701         * platform/graphics/BitmapImage.cpp:
5702         (WebCore::BitmapImage::BitmapImage):
5703         (WebCore::BitmapImage::destroyDecodedData):
5704         (WebCore::BitmapImage::cacheFrame):
5705         (WebCore::BitmapImage::frameIsCompleteAtIndex):
5706         (WebCore::BitmapImage::frameDurationAtIndex):
5707         (WebCore::BitmapImage::frameHasAlphaAtIndex):
5708         (WebCore::BitmapImage::repetitionCount):
5709         (WebCore::BitmapImage::shouldAnimate):
5710         (WebCore::BitmapImage::startAnimation):
5711         (WebCore::BitmapImage::resetAnimation):
5712         (WebCore::BitmapImage::advanceAnimation):
5713         (WebCore::BitmapImage::internalAdvanceAnimation):
5714         (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
5715         * platform/graphics/BitmapImage.h:
5716         (WebCore::FrameData::FrameData):
5717         (WebCore::BitmapImage::):
5718         * platform/graphics/GeneratedImage.h:
5719         (WebCore::GeneratedImage::destroyDecodedData):
5720         * platform/graphics/Image.h:
5721         * platform/graphics/cairo/ImageCairo.cpp:
5722         (WebCore::FrameData::clear):
5723         (WebCore::BitmapImage::BitmapImage):
5724         (WebCore::BitmapImage::draw):
5725         * platform/graphics/cg/ImageCG.cpp:
5726         (WebCore::FrameData::clear):
5727         (WebCore::BitmapImage::BitmapImage):
5728         (WebCore::BitmapImage::draw):
5729         * platform/graphics/cg/PDFDocumentImage.h:
5730         (WebCore::PDFDocumentImage::destroyDecodedData):
5731         * platform/graphics/qt/ImageQt.cpp:
5732         (WebCore::FrameData::clear):
5733         (WebCore::BitmapImage::draw):
5734         * platform/graphics/wx/ImageWx.cpp:
5735         (WebCore::FrameData::clear):
5736         (WebCore::BitmapImage::draw):
5737         * svg/graphics/SVGImage.h:
5738         (WebCore::SVGImage::destroyDecodedData):
5740 2008-10-14  Maxime Britto  <britto@apple.com>
5742         Reviewed by Darin Adler, tweaked and landed by Beth.
5744         * WebCore.base.exp: Exposes two functions to be able to create a 
5745         selection from a point on the screen. Also exposes the new 
5746         TextIterator::currentNode function.
5747         * WebCore/editing/TextIterator.cpp:
5748         (TextIterator::currentNode) : New function that returns the current 
5749         text node or NULL if there is no text node.
5751 2008-10-15  Marco Barisione  <marco.barisione@collabora.co.uk>
5753         Reviewed by Holger Freyther.
5755         http://bugs.webkit.org/show_bug.cgi?id=21211
5756         [CURL] Upload doesn't work because cancel is called
5758         FormDataStream::read returns 0 when retrieving data from the form
5759         fails, but also when there is no more data to send. This means that
5760         ResourceHandleManager::cancel is always called even when the data was
5761         successfully sent.
5763         Check if there are more elements in the form before calling
5764         FormDataStream::read.
5766         * platform/network/curl/FormDataStreamCurl.cpp:
5767         (WebCore::FormDataStream::hasMoreElements):
5768         * platform/network/curl/FormDataStreamCurl.h:
5769         * platform/network/curl/ResourceHandleManager.cpp:
5770         (WebCore::readCallback):
5772 2008-10-15  Marco Barisione  <marco.barisione@collabora.co.uk>
5774         Reviewed by Holger Freyther.
5776         http://bugs.webkit.org/show_bug.cgi?id=20664
5777         [GTK] File names are not always encodable in UTF-8
5779         On Linux file names are just raw data and cannot always be directly
5780         encoded in UTF-8 or in any other encodings, so we escape them before
5781         storing the file name in a String and unescape them before passing
5782         them to native functions handling files.
5784         * GNUmakefile.am:
5785         * platform/FileSystem.h:
5786         * platform/gtk/FileChooserGtk.cpp:
5787         (WebCore::stringByAdoptingFileSystemRepresentation):
5788         (WebCore::FileChooser::basenameForWidth):
5789         * platform/gtk/FileSystemGtk.cpp:
5790         (WebCore::filenameToString):
5791         (WebCore::filenameFromString):
5792         (WebCore::filenameForDisplay):
5793         (WebCore::fileExists):
5794         (WebCore::deleteFile):
5795         (WebCore::deleteEmptyDirectory):
5796         (WebCore::getFileSize):
5797         (WebCore::getFileModificationTime):
5798         (WebCore::makeAllDirectories):
5799         (WebCore::homeDirectoryPath):
5800         (WebCore::pathGetFileName):
5801         (WebCore::listDirectory):
5802         * platform/gtk/KURLGtk.cpp:
5803         (WebCore::KURL::fileSystemPath):
5804         * platform/gtk/SharedBufferGtk.cpp:
5805         (WebCore::SharedBuffer::createWithContentsOfFile):
5806         * platform/gtk/guriescape.c: Added.
5807         (is_valid):
5808         (gunichar_ok):
5809         (g_string_append_uri_escaped):
5810         (_webcore_g_uri_escape_string):
5811         * platform/gtk/guriescape.h: Added.
5813 2008-10-15  Dirk Schulze  <vbs85@gmx.de>
5815         Reviewed by Eric Seidel.
5817         - part of https://bugs.webkit.org/show_bug.cgi?id=20543
5818           Moved gradient spread method out of SVG into the GraphicsContext.
5820         * platform/graphics/GraphicsContext.cpp:
5821         (WebCore::GraphicsContext::spreadMethod):
5822         (WebCore::GraphicsContext::setSpreadMethod):
5823         * platform/graphics/GraphicsContext.h:
5824         (WebCore::):
5825         * platform/graphics/GraphicsContextPrivate.h:
5826         * platform/graphics/cairo/GraphicsContextCairo.cpp:
5827         (WebCore::applySpreadMethod):
5828         (WebCore::GraphicsContext::fillPath):
5829         (WebCore::GraphicsContext::strokePath):
5830         * platform/graphics/qt/GraphicsContextQt.cpp:
5831         (WebCore::applySpreadMethod):
5832         (WebCore::GraphicsContext::fillPath):
5833         (WebCore::GraphicsContext::strokePath):
5834         * svg/GradientAttributes.h:
5835         (WebCore::GradientAttributes::GradientAttributes):
5836         (WebCore::GradientAttributes::spreadMethod):
5837         (WebCore::GradientAttributes::setSpreadMethod):
5838         * svg/SVGGradientElement.cpp:
5839         (WebCore::SVGGradientElement::parseMappedAttribute):
5840         * svg/SVGGradientElement.h:
5841         * svg/SVGLinearGradientElement.cpp:
5842         (WebCore::SVGLinearGradientElement::collectGradientProperties):
5843         * svg/SVGRadialGradientElement.cpp:
5844         (WebCore::SVGRadialGradientElement::collectGradientProperties):
5845         * svg/graphics/SVGPaintServerGradient.cpp:
5846         (WebCore::operator<<):
5847         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
5848         (WebCore::SVGPaintServerGradient::spreadMethod):
5849         (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
5850         (WebCore::SVGPaintServerGradient::externalRepresentation):
5851         * svg/graphics/SVGPaintServerGradient.h:
5852         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
5853         (WebCore::SVGPaintServerGradient::setup):
5854         * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
5855         (WebCore::SVGPaintServerGradient::setup):
5857 2008-10-09  Darin Fisher  <darin@chromium.org>
5859         Reviewed by Sam Weinig.
5861         Make pan scrolling a platform configurable option
5862         https://bugs.webkit.org/show_bug.cgi?id=21515
5864         * page/EventHandler.cpp:
5865         (WebCore::EventHandler::handleAutoscroll):
5866         (WebCore::EventHandler::autoscrollTimerFired):
5867         (WebCore::EventHandler::stopAutoscrollTimer):
5868         (WebCore::EventHandler::handleMousePressEvent):
5869         (WebCore::EventHandler::keyEvent):
5871 2008-10-10  Darin Fisher  <darin@chromium.org>
5873         Reviewed by Darin Adler.
5875         Add some PLATFORM(CHROMIUM) ifdefs to WebCore
5876         https://bugs.webkit.org/show_bug.cgi?id=21511
5878         * loader/FTPDirectoryDocument.cpp:
5879         * loader/FTPDirectoryParser.cpp:
5880         * loader/FrameLoader.cpp:
5881         (WebCore::FrameLoader::finishedLoadingDocument):
5882         * platform/ContextMenuItem.h:
5883         * platform/Cursor.h:
5884         * platform/DragData.h:
5885         * platform/DragImage.h:
5886         * platform/Pasteboard.h:
5887         * platform/PlatformKeyboardEvent.h:
5888         (WebCore::PlatformKeyboardEvent::isSystemKey):
5889         * platform/PlatformMenuDescription.h:
5890         * platform/PlatformMouseEvent.h:
5891         * platform/PlatformWheelEvent.h:
5892         * platform/PopupMenu.h:
5893         * platform/ScrollView.h:
5894         * platform/Widget.h:
5895         * platform/network/NetworkStateNotifier.h:
5897 2008-10-14  Chris Marrin  <cmarrin@apple.com>
5899         Reviewed by Darin Adler.
5901         Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
5902         Optimize keyframe style sheet changes by avoiding styleSheetChanged()
5904         Test: css3/change-keyframes.html
5906         * css/WebKitCSSKeyframesRule.cpp:
5907         (WebCore::WebKitCSSKeyframesRule::append):
5908         (WebCore::WebKitCSSKeyframesRule::deleteRule):
5910 2008-10-14  David Hyatt  <hyatt@apple.com>
5912         https://bugs.webkit.org/show_bug.cgi?id=21595
5914         Clean up background and overflow propagation from the body to the viewport.  Make it match the
5915         latest CSS2.1 spec thinking.
5917         Reviewed by Adam Roben
5919         Added many tests at fast/body-propagation/.  These are Simon Pieters' tests of propagation handling
5920         (available at http://simon.html5.org/test/css/magic-body/).
5922         * dom/Document.cpp:
5923         (WebCore::Document::body):
5924         * page/FrameView.cpp:
5925         (WebCore::FrameView::layout):
5926         * rendering/RenderBox.cpp:
5927         (WebCore::RenderBox::styleDidChange):
5928         (WebCore::RenderBox::paintRootBoxDecorations):
5929         (WebCore::RenderBox::paintBoxDecorations):
5930         (WebCore::RenderBox::repaintLayerRectsForImage):
5932 2008-10-14  Dimitri Glazkov  <dglazkov@chromium.org>
5934         Reviewed and landed by Sam Weinig.
5936         Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
5937         remove NSResolver code, leaving only checking for selectors that need
5938         NS resolution and throwing a coresponding error.
5940         * WebCore.pro:
5941         * WebCore.vcproj/WebCore.vcproj:
5942         * WebCore.xcodeproj/project.pbxproj:
5943         * WebCoreSources.bkl:
5944         * bindings/js/JSDocumentCustom.cpp:
5945         * bindings/js/JSDocumentFragmentCustom.cpp:
5946         * bindings/js/JSElementCustom.cpp:
5947         * bindings/js/JSNSResolver.cpp: Removed.
5948         * bindings/js/JSNSResolver.h: Removed.
5949         * dom/Document.idl:
5950         * dom/DocumentFragment.idl:
5951         * dom/Element.idl:
5952         * dom/NSResolver.h: Removed.
5953         * dom/NSResolver.idl: Removed.
5954         * dom/Node.h:
5955         * dom/Node.cpp:
5956         (WebCore::forEachTagSelector):
5957         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
5958         (WebCore::selectorNeedsNamespaceResolution):
5959         (WebCore::Node::querySelector):
5960         (WebCore::Node::querySelectorAll):
5962 2008-10-14  Darin Adler  <darin@apple.com>
5964         Reviewed by Sam Weinig (all but the FormDataListItem rename).
5966         - https://bugs.webkit.org/show_bug.cgi?id=21593
5967           Bug 21593: add multiple-file support to HTMLFormElement
5969         * html/FormDataList.cpp: Removed appendFile since it's now inline.
5970         Also took incorrect old copyrights off of this file that are left
5971         over from when it was split.
5972         * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
5973         made it a member of FormDataList. Changed it to hold a File object
5974         instead of a path. And made its data members private. Changed
5975         FormDataList::appendFile accordingly.
5977         * html/HTMLFormElement.cpp:
5978         (WebCore::HTMLFormElement::formData): Updated for above changes.
5979         Removed the code that special-cases HTMLInputElement, because now
5980         the FormDataListItem has everything we need. And if there are
5981         multiple files, we'll get multiple list items for them.
5983         * html/HTMLInputElement.cpp:
5984         (WebCore::HTMLInputElement::appendFormData): Changed the code for
5985         <input type=file> to use File objects instead of path strings and
5986         also to append multiple files if the file list has them.
5988 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
5990         Reviewed by Simon.
5991         
5992         Fix QtWebKit scrollbar painting errors
5994         * platform/qt/ScrollbarThemeQt.cpp:
5995         (WebCore::ScrollbarThemeQt::paint):
5996         (WebCore::ScrollbarThemeQt::paintScrollCorner):
5998 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
6000         Reviewed by Simon.
6002         Fix scrollbar arrows for horizontal scrollbars
6004         * platform/qt/ScrollbarThemeQt.cpp:
6005         (WebCore::styleOptionSlider):
6007 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
6009         Reviewed by Simon.
6011         Use style-painter to draw scrollbars in ScrollbarThemeQt
6012         
6013         This has the benefit of setting up the painter properly without
6014         antialiasing and saving and restoring the brush. It also ensures
6015         that we use the style of the QWebView over the QApplication style
6016         if possible.
6018         * platform/qt/RenderThemeQt.cpp:
6019         (WebCore::StylePainter::StylePainter):
6020         (WebCore::StylePainter::init):
6021         * platform/qt/RenderThemeQt.h:
6022         * platform/qt/ScrollbarThemeQt.cpp:
6023         (WebCore::ScrollbarThemeQt::paint):
6025 2008-10-13  David Hyatt  <hyatt@apple.com>
6027         Add support for CSS transitions on some SVG properties.  This patch is intended to be a guideline
6028         for how to add support for the rest.
6030         Reviewed by Oliver Hunt
6032         * page/animation/AnimationBase.cpp:
6033         (WebCore::ensurePropertyMap):
6034         * rendering/style/RenderStyle.h:
6035         (WebCore::RenderStyle::fillOpacity):
6036         (WebCore::RenderStyle::setFillOpacity):
6037         (WebCore::RenderStyle::strokeOpacity):
6038         (WebCore::RenderStyle::setStrokeOpacity):
6039         (WebCore::RenderStyle::floodOpacity):
6040         (WebCore::RenderStyle::setFloodOpacity):
6042 2008-10-13  David Hyatt  <hyatt@apple.com>
6044         <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
6046         Fix for disabled scrollbars not painting in Windows Safari.  Make sure that the Windows theme
6047         implements paintTrackBackground so that when the thumb is not present the track still paints.
6049         Reviewed by Oliver Hunt
6051         * platform/ScrollbarThemeComposite.cpp:
6052         (WebCore::ScrollbarThemeComposite::paint):
6053         * platform/win/ScrollbarThemeWin.cpp:
6054         (WebCore::ScrollbarThemeWin::paintTrackBackground):
6055         * platform/win/ScrollbarThemeWin.h:
6057 2008-10-13  David Hyatt  <hyatt@apple.com>
6059         Fix over-invalidation of native scrollbars.
6061         Reviewed by Oliver Hunt
6063         * platform/Scrollbar.h:
6064         (WebCore::Scrollbar::styleChanged):
6065         * platform/mac/ScrollbarThemeMac.mm:
6066         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
6067         * rendering/RenderScrollbar.cpp:
6068         (WebCore::RenderScrollbar::styleChanged):
6070 2008-10-13  Alp Toker  <alp@nuanti.com>
6072         Fix autotools dist build target by listing recently added header
6073         files only. Not reviewed.
6075         * GNUmakefile.am:
6077 2008-10-13  Mark Rowe  <mrowe@apple.com>
6079         Reviewed by Brady Eidson.
6081         Don't run a SQLite query on every iteration of the sync thread when the query
6082         will touch a large portion of the icon database while performing no useful work.
6084         * loader/icon/IconDatabase.cpp:
6085         (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
6086         we modified the database.
6087         (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
6088         unless we've been asked to prune any dangling pageURLs that we find.
6090 2008-10-13  Maciej Stachowiak  <mjs@apple.com>
6092         Rubber stamped by Mark Rowe.
6093         
6094         - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
6096         * Configurations/DebugRelease.xcconfig:
6098 2008-10-13  David Hyatt  <hyatt@apple.com>
6100         Make dropdown lists on Windows work with CSS custom scrollbars.
6102         Reviewed by Adele
6104         * platform/PopupMenu.h:
6105         (WebCore::PopupMenu::scrollbarCornerPresent):
6106         * platform/PopupMenuClient.h:
6107         * platform/win/PopupMenuWin.cpp:
6108         (WebCore::PopupMenu::show):
6109         * rendering/RenderMenuList.cpp:
6110         (WebCore::RenderMenuList::createScrollbar):
6111         * rendering/RenderMenuList.h:
6112         * rendering/RenderTextControl.cpp:
6113         (WebCore::RenderTextControl::createScrollbar):
6114         * rendering/RenderTextControl.h:
6116 2008-10-13  Chris Fleizach  <cfleizach@apple.com>
6118         Reviewed by Beth Dakin.
6120         <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
6122         Links from image maps were not being included in the web area's AXLinkUIElements attribute.
6123         The position of image map links was being reported incorrectly and the parent-chain
6124         hierarchy for image map links was incorrect because image map links did not have a reference
6125         to their parent image. 
6127         Test: accessibility/document-links.html
6129         * page/AccessibilityImageMapLink.cpp:
6130         (WebCore::AccessibilityImageMapLink::parentObject):
6131         (WebCore::AccessibilityImageMapLink::actionElement):
6132         (WebCore::AccessibilityImageMapLink::elementRect):
6133         * page/AccessibilityImageMapLink.h:
6134         (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
6135         (WebCore::AccessibilityImageMapLink::setParent):
6136         * page/AccessibilityObject.cpp:
6137         * page/AccessibilityObject.h:
6138         * page/AccessibilityRenderObject.cpp:
6139         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
6140         (WebCore::AccessibilityRenderObject::getDocumentLinks):
6141         (WebCore::AccessibilityRenderObject::addChildren):
6142         * page/AccessibilityRenderObject.h:
6143         * page/mac/AccessibilityObjectWrapper.mm:
6144         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
6146 2008-10-13  David Hyatt  <hyatt@apple.com>
6148         Make RenderListBox work with CSS scrollbars.  Refactoring this code to support creation/destruction in
6149         the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
6150         idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
6152         Reviewed by Tim Hatcher
6154         Added scrollbars/listbox-scrollbar-combinations.html
6156         * rendering/RenderListBox.cpp:
6157         (WebCore::RenderListBox::~RenderListBox):
6158         (WebCore::RenderListBox::updateFromElement):
6159         (WebCore::RenderListBox::createScrollbar):
6160         (WebCore::RenderListBox::destroyScrollbar):
6161         (WebCore::RenderListBox::setHasVerticalScrollbar):
6162         * rendering/RenderListBox.h:
6164 2008-10-13  David Hyatt  <hyatt@apple.com>
6166         In order to always match the :corner-present pseudo-class properly, delay initial updating of
6167         scrollbar styles until the layer has the scrollbars in its member variables.
6169         Reviewed by Tim Hatcher
6171         * rendering/RenderLayer.cpp:
6172         (WebCore::RenderLayer::setHasHorizontalScrollbar):
6173         (WebCore::RenderLayer::setHasVerticalScrollbar):
6174         * rendering/RenderScrollbar.cpp:
6175         (WebCore::RenderScrollbar::RenderScrollbar):
6177 2008-10-13  Sam Weinig  <sam@webkit.org>
6179         Reviewed by Dan Bernstein.
6181         Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
6182         5 false positive StructureID leaks
6184         In WebCore, we intentionally leak the common JSGlobalData which in turn
6185         leaks 5 StructureIDs.  Use the new JSGlobalData::createLeaked in order to
6186         ignore the StructureIDs leaked within.
6188         * bindings/js/JSDOMWindowBase.cpp:
6189         (WebCore::JSDOMWindowBase::commonJSGlobalData):
6191 2008-10-13  David Hyatt  <hyatt@apple.com>
6193         Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
6194         artwork based on whether there is a scrollbar corner present.
6196         Reviewed by Tim Hatcher
6198         * css/CSSSelector.cpp:
6199         (WebCore::CSSSelector::extractPseudoType):
6200         * css/CSSSelector.h:
6201         (WebCore::CSSSelector::):
6202         * css/CSSStyleSelector.cpp:
6203         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6204         * platform/ScrollView.cpp:
6205         (WebCore::ScrollView::scrollbarCornerPresent):
6206         * platform/ScrollView.h:
6207         * platform/ScrollbarClient.h:
6208         * rendering/RenderLayer.cpp:
6209         (WebCore::cornerRect):
6210         (WebCore::scrollCornerRect):
6211         (WebCore::resizerCornerRect):
6212         (WebCore::RenderLayer::scrollbarCornerPresent):
6213         (WebCore::RenderLayer::setHasHorizontalScrollbar):
6214         (WebCore::RenderLayer::setHasVerticalScrollbar):
6215         * rendering/RenderLayer.h:
6216         (WebCore::RenderLayer::horizontalScrollbar):
6217         (WebCore::RenderLayer::verticalScrollbar):
6218         * rendering/RenderListBox.h:
6219         (WebCore::RenderListBox::scrollbarCornerPresent):
6221 2008-10-13  David Hyatt  <hyatt@apple.com>
6223         Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
6224         test case for all this can land).
6226         Reviewed by Tim Hatcher
6228         * css/CSSStyleSelector.cpp:
6229         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
6230         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
6231         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6232         * rendering/RenderLayer.cpp:
6233         (WebCore::RenderLayer::paintOverflowControls):
6234         (WebCore::RenderLayer::paintScrollCorner):
6235         (WebCore::RenderLayer::paintResizer):
6236         (WebCore::RenderLayer::styleChanged):
6237         (WebCore::RenderLayer::updateScrollCornerStyle):
6238         (WebCore::RenderLayer::updateResizerStyle):
6239         * rendering/RenderLayer.h:
6240         * rendering/RenderScrollbar.cpp:
6241         (WebCore::RenderScrollbar::paint):
6242         * rendering/RenderScrollbarPart.cpp:
6243         (WebCore::RenderScrollbarPart::paintIntoRect):
6245 2008-10-13  David Hyatt  <hyatt@apple.com>
6247         Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
6248         and invalidate properly as images load, etc.
6250         Reviewed by Tim Hatcher
6252         * rendering/RenderLayer.cpp:
6253         (WebCore::cornerRect):
6254         (WebCore::scrollCornerRect):
6255         (WebCore::resizerCornerRect):
6256         (WebCore::RenderLayer::positionOverflowControls):
6257         (WebCore::RenderLayer::paintOverflowControls):
6258         (WebCore::RenderLayer::paintScrollCorner):
6259         (WebCore::RenderLayer::paintResizer):
6260         (WebCore::RenderLayer::isPointInResizeControl):
6261         (WebCore::RenderLayer::hitTestOverflowControls):
6262         (WebCore::RenderLayer::styleChanged):
6263         * rendering/RenderLayer.h:
6264         * rendering/RenderObject.h:
6265         (WebCore::RenderObject::setRect):
6266         * rendering/RenderScrollbarPart.cpp:
6267         (WebCore::RenderScrollbarPart::styleDidChange):
6268         (WebCore::RenderScrollbarPart::imageChanged):
6270 2008-10-13  Marco Barisione  <marco.barisione@collabora.co.uk>
6272         Reviewed by Darin Adler. Landed by Jan Alonzo.
6274         WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
6275         http://bugs.webkit.org/show_bug.cgi?id=20483
6277         Start the conversion to use GOwnPtr and fix a memory leak.
6279         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
6280         (WebCore::mediaPlayerPrivateErrorCallback):
6282 2008-10-12  Jon Honeycutt  <jhoneycutt@apple.com>
6284         Windows build fix.
6286         * loader/TextResourceDecoder.cpp:
6288 2008-10-12  Darin Fisher  <darin@chromium.org>
6290         Reviewed by Darin Adler.
6292         - fix https://bugs.webkit.org/show_bug.cgi?id=21229
6293           Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
6295         * platform/network/NetworkStateNotifier.h: Add the #include.
6297 2008-10-12  Darin Adler  <darin@apple.com>
6299         Based on work by Holger Freyther.
6301         - part of https://bugs.webkit.org/show_bug.cgi?id=20953
6302           Split WidthIterator into its own source file.
6304         * GNUmakefile.am: Added new source files.
6305         * WebCore.vcproj/WebCore.vcproj: Ditto.
6306         * WebCore.xcodeproj/project.pbxproj: Ditto.
6307         * WebCoreSources.bkl: Ditto.
6309         * platform/graphics/Font.cpp: Use WidthIterator from its new place.
6310         * platform/graphics/WidthIterator.cpp: Added.
6311         * platform/graphics/WidthIterator.h: Added.
6313 2008-10-12  Tony Chang  <tony@chromium.org>
6315         Reviewed by Sam Weinig.
6317         - https://bugs.webkit.org/show_bug.cgi?id=21480
6318           Remove duplicate definitions of MimeClassInfo and PluginInfo.
6320         * plugins/PluginInfoStore.cpp: Added an include.
6321         * plugins/PluginInfoStore.h: Removed struct declarations.
6323 2008-10-12  Darin Adler  <darin@apple.com>
6325         Reviewed by Dan Bernstein.
6327         - https://bugs.webkit.org/show_bug.cgi?id=21563
6328           Bug 21563: platform Gradient class should not use the CSS parser
6330         * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
6331         that accepts a CSS color string. That's handled in the DOM now, not here.
6332         (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
6333         copy of it here.
6334         * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
6336 2008-10-12  Glenn Wilson  <gwilson@google.com>
6338         Reviewed by Darin Adler.
6340         - https://bugs.webkit.org/show_bug.cgi?id=20461
6342         Added feature to allow multi-line inputs into text fields.
6343         HTMLInputElement would cut the set text at the first 'system' character,
6344         so it would truncate at the first carriage return or newline.
6345         This fix modifies that behavior to truncate at any non-space system character
6346         but changes \r, \n, and \r\n to a single space.
6348         Tests: editing/pasteboard/paste-multiline-text-input.html
6349                
6350         * html/HTMLInputElement.cpp:
6351         (WebCore::HTMLInputElement::constrainValue):
6353 2008-10-12  Dirk Schulze  <vbs85@gmx.de>
6355         Reviewed by Eric Seidel.
6357         - https://bugs.webkit.org/show_bug.cgi?id=20435
6359         Added exception codes to canvas gradients to match current specification.
6361         Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
6362                fast/canvas/linearGradient-infinite-values.html
6363                fast/canvas/radialGradient-infinite-values.html
6365         * html/CanvasGradient.cpp:
6366         (WebCore::CanvasGradient::addColorStop):
6367         * html/CanvasGradient.h:
6368         * html/CanvasGradient.idl:
6369         * html/CanvasRenderingContext2D.cpp:
6370         (WebCore::CanvasRenderingContext2D::createLinearGradient):
6371         (WebCore::CanvasRenderingContext2D::createRadialGradient):
6372         * html/CanvasRenderingContext2D.h:
6373         * html/CanvasRenderingContext2D.idl:
6375 2008-10-12  Eric Roman  <eroman@chromium.org>
6377         - https://bugs.webkit.org/show_bug.cgi?id=20246
6378           Implement RenderThemeWin::systemColor() to match Windows colors.
6380         Reviewed by David Hyatt.
6382         * rendering/RenderThemeWin.cpp:
6383         (WebCore::cssValueIdToSysColorIndex):
6384         (WebCore::RenderThemeWin::systemColor):
6385         * rendering/RenderThemeWin.h:
6387 2008-10-12  Aaron Bockover  <abockover@novell.com>
6389         Reviewed by Alp Toker.
6391         Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy 
6392         plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window 
6393         handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
6395         * plugins/gtk/PluginPackageGtk.cpp:
6397 2008-10-12  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
6399         Reviewed by Oliver Hunt.
6401         - https://bugs.webkit.org/show_bug.cgi?id=19331
6402           <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
6404         * page/DragController.cpp:
6405         (WebCore::DragController::startDrag): When a link is dragged without any
6406         text selected (note: for this to work, the EditableLinkBehavior setting must be
6407         set to 'live' or 'default') and then dropped into an editable html document it
6408         will eventually violate an ASSERT in MoveSelectionCommand that requires that there
6409         is a selection.  To prevent this, expand the selection to the enclosing anchor tag
6410         when the drag begins.
6412 2008-10-12  Darin Adler  <darin@apple.com>
6414         Reviewed by Mark Rowe.
6416         - fix https://bugs.webkit.org/show_bug.cgi?id=21557
6417           Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
6419         * rendering/RenderObject.cpp:
6420         (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
6421         until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
6422         as RenderObject::isText(), and this guarantees that the node can be cast to
6423         Element*, which is done just below. The reason this is hit is that RenderLayer
6424         can call getPseudoStyle on a RenderView, which has the document as its
6425         element() -- and a document is neither a Text node nor an Element. A loose
6426         end is that this seems to mean you can't style the scrollbar corner or the
6427         resizer on a RenderView. Hyatt may want to look into that later.
6429 2008-10-12  Darin Adler  <darin@apple.com>
6431         Reviewed by Sam Weinig.
6433         - https://bugs.webkit.org/show_bug.cgi?id=21556
6434           Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
6436         Tests: fast/dom/HTMLFontElement/size-attribute.html
6437                fast/dom/HTMLInputElement/size-attribute.html
6438                fast/dom/HTMLTableElement/cellpadding-attribute.html
6440         * html/HTMLFontElement.cpp:
6441         (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
6442         Unicode::isDigit, since non-ASCII digits are not valid here.
6443         * html/HTMLFontElement.h: Tweaked formatting a bit and removed
6444         the unneeded destructor declaration.
6445         * platform/text/String.cpp:
6446         (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
6447         of Unicode::isDigit, since non-ASCII digits are not valid.
6449 2008-10-12  Jungshik Shin  <jshin@chromium.org>
6451         Reviewed by Darin Adler.
6453         Treat x-user-defined as windows-1252 for html files with meta charset
6454         declaration to be compatible with Indian web sites.
6455         ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
6457         Test: fast/encoding/charset-xuser-defined.html
6459         * loader/TextResourceDecoder.cpp:
6460         (WebCore::TextResourceDecoder::setEncoding):
6462 2008-10-12  Sam Weinig  <sam@webkit.org>
6464         Reviewed by Dan Bernstein.
6466         Remove unneeded forward declaration.
6468         * platform/graphics/ImageBuffer.h:
6470 2008-10-12  Sam Weinig  <sam@webkit.org>
6472         Reviewed by Darin Adler.
6474         Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
6475         Layering violation: String should not be responsible for creating Lengths
6477         It was a layering violation for String to know haw to parse
6478         into Lengths, LengthArrays, and CoordsArrays.
6480         * GNUmakefile.am:
6481         * WebCore.pro:
6482         * WebCore.vcproj/WebCore.vcproj:
6483         * WebCore.xcodeproj/project.pbxproj:
6484         * WebCoreSources.bkl:
6485         * html/HTMLAreaElement.cpp:
6486         (WebCore::HTMLAreaElement::parseMappedAttribute):
6487         * html/HTMLFrameSetElement.cpp:
6488         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
6489         * platform/text/AtomicString.h:
6490         (WebCore::AtomicString::percentage):
6491         * platform/text/PlatformString.h:
6492         * platform/text/String.cpp:
6493         * platform/text/StringImpl.cpp:
6494         * platform/text/StringImpl.h:
6495         * rendering/Length.cpp: Added.
6496         (WebCore::parseLength):
6497         (WebCore::countCharacter):
6498         (WebCore::newCoordsArray):
6499         (WebCore::newLengthArray):
6500         * rendering/Length.h:
6501         (WebCore::LengthSize::LengthSize):
6503 2008-10-12  Brad Garcia  <bgarcia@google.com>
6505         Reviewed by Darin Adler.
6507         Interpret fractional percentage values for %MultiLength values.
6508         Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
6509         Test: fast/frames/frame-length-fractional-percentage.html
6511         * platform/text/StringImpl.cpp:
6512         (WebCore::parseLength):
6514 2008-10-12  Timothy Hatcher  <timothy@apple.com>
6516         Remember the expanded state of the rules in the Styles pane. So
6517         collapsing a rule will persist across all the elements that have
6518         that same rule. The same applies to Computed Style, so the Computed
6519         Style rule is now collapsed by default. This should help lessen the
6520         confusion on why Computed Style can't be edited (a common confusion.)
6522         https://bugs.webkit.org/show_bug.cgi?id=21553
6524         Reviewed by Darin Adler.
6526         * inspector/front-end/PropertiesSection.js:
6527         (WebInspector.PropertiesSection): Set the _expanded property directly,
6528         instead of using the setter. Expanded is the default, so no work is needed.
6529         This prevents calling StylesSidebarPane.collapse before object initialization
6530         is complete.
6531         * inspector/front-end/StylesSidebarPane.js:
6532         (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
6533         for the expanded state of the StylePropertiesSection. Collapse computed style
6534         by default and expand everything else.
6535         (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
6536         when remembering expanded state.
6537         (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
6538         to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
6539         the state if the dontRememberState property is true.
6540         (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
6541         to false for this identifier in Preferences.styleRulesExpandedState.
6542         * inspector/front-end/inspector.js:
6543         (Preferences.styleRulesExpandedState): Initialize to an empty object.
6545 2008-10-12  Jan Michael Alonzo  <jmalonzo@webkit.org>
6547         Reviewed by Alp Toker.
6549         [Gtk] Remove libWebCoreJS.la when doing make clean
6550         https://bugs.webkit.org/show_bug.cgi?id=21544
6552         Remove libWebCoreJS.la when doing a clean target
6554         * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
6556 2008-10-11  Alp Toker  <alp@nuanti.com>
6558         Reviewed by Darin Adler.
6560         https://bugs.webkit.org/show_bug.cgi?id=20592
6561         The focus ring is not shown while navigating on some pages
6563         Fix drawFocusRing() so it doesn't depend on the current graphics
6564         state, thus matching other platforms which already work this way.
6566         This patch provides two code paths: one using straight Cairo and
6567         one specialised for the GTK+ port with a more conventional appearance.
6569         Also change focusRingColor() to return a null color, allowing the
6570         focus ring to pick up the style's current color if it isn't overridden
6571         with CSS.
6573         * platform/graphics/cairo/GraphicsContextCairo.cpp:
6574         (WebCore::GraphicsContext::drawFocusRing):
6575         * platform/gtk/TemporaryLinkStubs.cpp:
6576         (WebCore::focusRingColor):
6578 2008-10-11  Dan Bernstein  <mitz@apple.com>
6580         Rubber-stamped by Sam Weinig.
6582         - change all internal callers to use Cache::evict() instead of remove()
6584         * loader/Cache.cpp:
6585         (WebCore::Cache::revalidateResource):
6586         (WebCore::Cache::revalidationSucceeded):
6587         (WebCore::Cache::pruneDeadResources):
6588         (WebCore::Cache::setDisabled):
6590 2008-10-11  David Hyatt  <hyatt@apple.com>
6592         Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
6594         Reviewed by Tim Hatcher
6596         * platform/ScrollbarThemeComposite.cpp:
6597         (WebCore::ScrollbarThemeComposite::invalidatePart):
6599 2008-10-11  David Hyatt  <hyatt@apple.com>
6601         https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
6603         Also fixed resizer positioning problems.
6605         Reviewed by Tim Hatcher
6607         * platform/ScrollbarThemeComposite.cpp:
6608         (WebCore::ScrollbarThemeComposite::splitTrack):
6609         (WebCore::ScrollbarThemeComposite::trackPosition):
6610         (WebCore::ScrollbarThemeComposite::trackLength):
6611         * platform/ScrollbarThemeComposite.h:
6612         (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
6613         * rendering/RenderLayer.cpp:
6614         (WebCore::scrollCornerRect):
6615         (WebCore::RenderLayer::positionOverflowControls):
6616         (WebCore::RenderLayer::paintOverflowControls):
6617         (WebCore::RenderLayer::isPointInResizeControl):
6618         (WebCore::RenderLayer::hitTestOverflowControls):
6619         * rendering/RenderScrollbarTheme.cpp:
6620         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
6621         * rendering/RenderScrollbarTheme.h:
6623 2008-10-11  Alp Toker  <alp@nuanti.com>
6625         Reviewed by David Hyatt.
6627         Implement release/retain for Widget GTK+.
6629         * platform/Widget.cpp:
6630         * platform/gtk/WidgetGtk.cpp:
6631         (WebCore::Widget::~Widget):
6632         (WebCore::Widget::releasePlatformWidget):
6633         (WebCore::Widget::retainPlatformWidget):
6635 2008-10-11  Dan Bernstein  <mitz@apple.com>
6637         Reviewed by Sam Weinig.
6639         - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
6640           and add a corresponding getter; add the same functions on Windows
6642         * WebCore.base.exp:
6643         * platform/graphics/Font.cpp:
6644         (WebCore::Font::setCodePath):
6645         (WebCore::codePath):
6646         (WebCore::Font::canUseGlyphCache):
6647         * platform/graphics/Font.h:
6648         * platform/mac/WebCoreTextRenderer.h:
6649         * platform/mac/WebCoreTextRenderer.mm:
6650         (WebCoreSetAlwaysUsesComplexTextCodePath):
6651         (WebCoreAlwaysUsesComplexTextCodePath):
6652         * platform/win/WebCoreTextRenderer.cpp:
6653         (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
6654         (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
6655         * platform/win/WebCoreTextRenderer.h:
6657 2008-10-11  Sam Weinig  <sam@webkit.org>
6659         Reviewed by Cameron Zwarich.
6661         Stop leaking the event parameter names.  The protected strings were showing up
6662         in the caches window after one use.  No measurable performance loss.
6664         * bindings/js/JSEventListener.cpp:
6665         (WebCore::eventParameterName):
6667 2008-10-11  Sam Weinig  <sam@webkit.org>
6669         Reviewed by Cameron Zwarich.
6671         Remove unused function getNodeEventListener.
6673         * bindings/js/JSEventListener.cpp:
6674         * bindings/js/JSEventListener.h:
6676 2008-10-11  David Hyatt  <hyatt@apple.com>
6678         Add support for both positive and negative margins to tracks and track pieces.
6680         Reviewed by Tim Hatcher
6682         * platform/ScrollbarThemeComposite.cpp:
6683         (WebCore::ScrollbarThemeComposite::paint):
6684         (WebCore::ScrollbarThemeComposite::hitTest):
6685         (WebCore::ScrollbarThemeComposite::splitTrack):
6686         (WebCore::ScrollbarThemeComposite::trackPieceRects):
6687         (WebCore::ScrollbarThemeComposite::trackPosition):
6688         (WebCore::ScrollbarThemeComposite::trackLength):
6689         * platform/ScrollbarThemeComposite.h:
6690         (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
6691         * rendering/RenderScrollbar.cpp:
6692         (WebCore::RenderScrollbar::trackRect):
6693         (WebCore::RenderScrollbar::trackPieceRectWithMargins):
6694         * rendering/RenderScrollbar.h:
6695         * rendering/RenderScrollbarPart.cpp:
6696         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
6697         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
6698         * rendering/RenderScrollbarTheme.cpp:
6699         (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
6700         * rendering/RenderScrollbarTheme.h:
6702 2008-10-10  David Hyatt  <hyatt@apple.com>
6704         Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
6705         the scrollbar pseudo-elements anyway.
6707         Reviewed by Tim Hatcher
6709         * css/CSSSelector.cpp:
6710         (WebCore::CSSSelector::extractPseudoType):
6711         * css/CSSSelector.h:
6712         (WebCore::CSSSelector::):
6713         * css/CSSStyleSelector.cpp:
6714         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6716 2008-10-10  Dan Bernstein  <mitz@apple.com>
6718         Reviewed by Sam Weinig.
6720         - separate Cache::remove() into a private method and a public interface,
6721           then make Cache::pruneDeadResources() use the private method.
6723         * loader/Cache.cpp:
6724         (WebCore::Cache::pruneDeadResources):
6725         (WebCore::Cache::evict):
6726         * loader/Cache.h:
6727         (WebCore::Cache::remove):
6729 2008-10-10  David Hyatt  <hyatt@apple.com>
6731         Fix a math error when splitting a vertical track.  Clean up more of ScrollbarThemeComposite
6732         now that the track pieces meet under the thumb.
6734         Reviewed by Tim Hatcher
6736         * platform/ScrollbarThemeComposite.cpp:
6737         (WebCore::ScrollbarThemeComposite::paint):
6738         (WebCore::ScrollbarThemeComposite::splitTrack):
6740 2008-10-10  David Hyatt  <hyatt@apple.com>
6742         Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
6744         Reviewed by Tim Hatcher
6746         * platform/ScrollbarThemeComposite.cpp:
6747         (WebCore::ScrollbarThemeComposite::hitTest):
6748         (WebCore::ScrollbarThemeComposite::splitTrack):
6750 2008-10-10  David Hyatt  <hyatt@apple.com>
6752         Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
6754         Reviewed by Tim Hatcher
6756         * rendering/RenderLayer.cpp:
6757         (WebCore::RenderLayer::createScrollbar):
6758         * rendering/RenderScrollbar.cpp:
6759         (WebCore::RenderScrollbar::createCustomScrollbar):
6760         (WebCore::RenderScrollbar::RenderScrollbar):
6761         (WebCore::RenderScrollbar::setParent):
6762         (WebCore::RenderScrollbar::updateScrollbarParts):
6763         (WebCore::RenderScrollbar::updateScrollbarPart):
6764         * rendering/RenderScrollbar.h:
6765         * rendering/style/RenderStyle.h:
6766         (WebCore::RenderStyle::):
6768 2008-10-10  David Hyatt  <hyatt@apple.com>
6770         Make sure scrollbar background images cause proper part invalidation to occur.
6772         Reviewed by Tim Hatcher
6774         * rendering/RenderScrollbar.cpp:
6775         (WebCore::RenderScrollbar::setHoveredPart):
6776         (WebCore::RenderScrollbar::setPressedPart):
6777         * rendering/RenderScrollbarPart.cpp:
6778         (WebCore::RenderScrollbarPart::styleDidChange):
6779         (WebCore::RenderScrollbarPart::imageChanged):
6780         * rendering/RenderScrollbarPart.h:
6782 2008-10-10  Simon Fraser  <simon.fraser@apple.com>
6784         Reviewed by Darin Adler
6786         https://bugs.webkit.org/show_bug.cgi?id=21538
6787         
6788         The blendFunc() for TransformOperations should never mess with the
6789         operation lists by replacing some ops with identity, otherwise the lists
6790         no longer match and transitions break.
6792         Test: transitions/matched-transform-functions.html
6794         * page/animation/AnimationBase.cpp:
6795         (WebCore::blendFunc):
6797 2008-10-10  Simon Fraser  <simon.fraser@apple.com>
6799         Reviewed by Darin Adler
6801         https://bugs.webkit.org/show_bug.cgi?id=21537
6803         Fix re-targetting a running transition; if the target property
6804         changes, we do need to make a new ImplicitAnimation.
6805         
6806         Test: transitions/retargetted-transition.html
6808         * page/animation/CompositeAnimation.cpp:
6809         (WebCore::CompositeAnimationPrivate::updateTransitions):
6811 2008-10-10  Oliver Hunt  <oliver@apple.com>
6813         Reviewed by Cameron Zwarich.
6815         Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
6817         When JS is terminated by the user choosing to stop a slow script
6818         the exception toString method throws, yet the console logger does
6819         not perform exception checks after logging.  This leaves an
6820         exception on the Machine, which in turn results in an assertion
6821         failure next time we attempt to enter JS.  The solution is just to
6822         clear the exception state after attempting to record the exception.
6824         * page/Console.cpp:
6825         (WebCore::Console::reportException):
6827 2008-10-10  David Hyatt  <hyatt@apple.com>
6829         Make textareas work with custom CSS scrollbars and resizers.  Need to access the correct renderer
6830         when looking for pseudo styles.
6832         Reviewed by Tim Hatcher
6834         * rendering/RenderLayer.cpp:
6835         (WebCore::RenderLayer::createScrollbar):
6836         (WebCore::RenderLayer::styleChanged):
6838 2008-10-10  David Hyatt  <hyatt@apple.com>
6840         Add the ability to style the scroll corner and the resizer from CSS.
6842         Reviewed by Tim Hatcher
6844         * css/CSSSelector.cpp:
6845         (WebCore::CSSSelector::extractPseudoType):
6846         * css/CSSSelector.h:
6847         (WebCore::CSSSelector::):
6848         * css/CSSStyleSelector.cpp:
6849         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
6850         * rendering/RenderLayer.cpp:
6851         (WebCore::RenderLayer::RenderLayer):
6852         (WebCore::RenderLayer::~RenderLayer):
6853         (WebCore::RenderLayer::paintOverflowControls):
6854         (WebCore::RenderLayer::paintScrollCorner):
6855         (WebCore::RenderLayer::paintResizer):
6856         (WebCore::RenderLayer::styleChanged):
6857         * rendering/RenderLayer.h:
6858         * rendering/RenderScrollbar.cpp:
6859         (WebCore::RenderScrollbar::updateScrollbarPart):
6860         (WebCore::RenderScrollbar::paintPart):
6861         * rendering/RenderScrollbarPart.cpp:
6862         (WebCore::RenderScrollbarPart::RenderScrollbarPart):
6863         (WebCore::RenderScrollbarPart::paintIntoRect):
6864         * rendering/RenderScrollbarPart.h:
6865         * rendering/style/RenderStyle.h:
6866         (WebCore::RenderStyle::):
6868 2008-10-10  David Hyatt  <hyatt@apple.com>
6870         Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
6872         Reviewed by Sam Weinig
6874         No test case possible, since the OS setting can vary.
6876         * css/CSSSelector.cpp:
6877         (WebCore::CSSSelector::extractPseudoType):
6878         * css/CSSSelector.h:
6879         (WebCore::CSSSelector::):
6880         * css/CSSStyleSelector.cpp:
6881         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6882         * platform/Scrollbar.h:
6883         (WebCore::Scrollbar::styleChanged):
6884         * platform/mac/ScrollbarThemeMac.mm:
6885         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
6886         (WebCore::ScrollbarThemeMac::preferencesChanged):
6887         * rendering/RenderLayer.cpp:
6888         (WebCore::RenderLayer::invalidateScrollbarRect):
6889         * rendering/RenderScrollbar.cpp:
6890         (WebCore::RenderScrollbar::styleChanged):
6891         (WebCore::RenderScrollbar::updateScrollbarPart):
6892         * rendering/RenderScrollbar.h:
6893         * rendering/RenderScrollbarTheme.h:
6894         (WebCore::RenderScrollbarTheme::buttonsPlacement):
6896 2008-10-10  Timothy Hatcher  <timothy@apple.com>
6898         Fixes a regression with input search fields, where the placeholder text
6899         would not be updated when the value of the placeholder attribute changed.
6901         https://bugs.webkit.org/show_bug.cgi?id=21521
6903         Reviewed by Adele Peterson.
6905         Test: fast/forms/search-placeholder-value-changed.html
6907         * html/HTMLInputElement.cpp:
6908         (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
6909         placeholderValueChanged parameter of updatePlaceholderVisibility.
6910         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
6911         for placeholderValueChanged that informs the method that the value changed.
6912         * html/HTMLInputElement.h: Add the placeholderValueChanged to the
6913         updatePlaceholderVisibility method. Made it default to false.
6915 2008-10-10  David Hyatt  <hyatt@apple.com>
6917         Allow the track part to have negative margins so that it can slightly overlap buttons.  This
6918         is necessary to emulate the Aqua look in CSS.
6920         Reviewed by Sam Weinig
6922         * platform/ScrollbarThemeComposite.cpp:
6923         (WebCore::ScrollbarThemeComposite::paint):
6924         (WebCore::ScrollbarThemeComposite::hitTest):
6925         * rendering/RenderScrollbar.cpp:
6926         (WebCore::RenderScrollbar::setHoveredPart):
6927         (WebCore::RenderScrollbar::trackRect):
6928         * rendering/RenderScrollbar.h:
6929         * rendering/RenderScrollbarPart.cpp:
6930         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
6931         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
6932         * rendering/RenderScrollbarTheme.cpp:
6933         (WebCore::RenderScrollbarTheme::backButtonRect):
6934         (WebCore::RenderScrollbarTheme::forwardButtonRect):
6935         (WebCore::RenderScrollbarTheme::trackRect):
6937 2008-10-10  David Hyatt  <hyatt@apple.com>
6939         https://bugs.webkit.org/show_bug.cgi?id=21527
6941         Make CSS scrollbars support :not, :hover and :active.
6943         Reviewed by Adam Roben
6945         Added WebCore/manual-tests/scrollbar-hover-active.html
6947         * css/CSSStyleSelector.cpp:
6948         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
6949         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6950         * platform/Scrollbar.cpp:
6951         (WebCore::Scrollbar::autoscrollPressedPart):
6952         (WebCore::Scrollbar::startTimerIfNeeded):
6953         (WebCore::Scrollbar::setHoveredPart):
6954         (WebCore::Scrollbar::setPressedPart):
6955         (WebCore::Scrollbar::mouseMoved):
6956         (WebCore::Scrollbar::mouseExited):
6957         (WebCore::Scrollbar::mouseUp):
6958         (WebCore::Scrollbar::mouseDown):
6959         * platform/Scrollbar.h:
6960         * rendering/RenderScrollbar.cpp:
6961         (WebCore::RenderScrollbar::setHoveredPart):
6962         (WebCore::RenderScrollbar::setPressedPart):
6963         (WebCore::RenderScrollbar::updateScrollbarParts):
6964         (WebCore::pseudoForScrollbarPart):
6965         (WebCore::RenderScrollbar::updateScrollbarPart):
6966         * rendering/RenderScrollbar.h:
6968 2008-10-10  Chris Marrin  <cmarrin@apple.com>
6970         Reviewed by Dan Bernstein.
6972         Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
6973         CSS transition with duration=0 and delay=0 doesn't override ongoing transition
6975         Test: transitions/interrupt-zero-duration.html
6977         * page/animation/CompositeAnimation.cpp:
6978         (WebCore::CompositeAnimation::updateTransitions):
6980 2008-10-10  Kevin Ollivier  <kevino@theolliviers.com>
6982         wx build fix. Add new scrollbar-related sources.
6984         * WebCoreSources.bkl:
6986 2008-10-10  David Hyatt  <hyatt@apple.com>
6988         https://bugs.webkit.org/show_bug.cgi?id=21522
6990         Support increment/decrement/start/end on scrollbars.  Allows a fully functional scrollbar to be
6991         created.  (Just :hover/:active left to finish it up.)
6993         Reviewed by Adam Roben
6995         Added scrollbars/scrollbar-buttons.html
6997         * css/CSSStyleSelector.cpp:
6998         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
7000 2008-10-10  David Hyatt  <hyatt@apple.com>
7002         Rename some pseudoclasses.  Removing "-scrollbar-" from a bunch of the pseudoclasses.  Renaming
7003         back/forward to decrement/increment.  Adding start/end pseudoclasses.
7005         Reviewed by Eric Seidel
7007         * css/CSSSelector.cpp:
7008         (WebCore::CSSSelector::extractPseudoType):
7009         * css/CSSSelector.h:
7010         (WebCore::CSSSelector::):
7011         * css/CSSStyleSelector.cpp:
7012         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
7014 2008-10-10  David Hyatt  <hyatt@apple.com>
7016         Switch window-active to window-inactive, since that will work better as far as degrading in other
7017         browsers.
7019         Reviewed by Tim Hatcher
7021         * css/CSSSelector.cpp:
7022         (WebCore::CSSSelector::extractPseudoType):
7023         * css/CSSSelector.h:
7024         (WebCore::CSSSelector::):
7025         * css/CSSStyleSelector.cpp:
7026         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
7028 2008-10-09  Chris Marrin  <cmarrin@apple.com>
7030         Reviewed by Dan Bernstein.
7032         https://bugs.webkit.org/show_bug.cgi?id=21310
7034         Redesigned how animation events are sent in order to get rid of
7035         AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
7036         are now ref counted. While calling the event handler, I keep a 
7037         reference to this class to avoid it getting destroyed out from under me.
7039         I also moved most of the functionality of CompositeAnimation to
7040         and internal class (CompositeAnimationPrivate) to reduce the exposure
7041         of the internals of the various animation classes.
7043         We have several transition and animation LayoutTests which verify that
7044         this fix works as expected and continues to avoid crashes.
7046         * page/animation/AnimationBase.cpp:
7047         (WebCore::AnimationBase::AnimationBase):
7048         * page/animation/AnimationBase.h:
7049         (WebCore::AnimationBase::cancelTimers):
7050         (WebCore::AnimationBase::waitingForStyleAvailable):
7051         * page/animation/CompositeAnimation.cpp:
7052         (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
7053         (WebCore::CompositeAnimationPrivate::suspended):
7054         (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
7055         (WebCore::CompositeAnimationPrivate::updateTransitions):
7056         (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
7057         (WebCore::CompositeAnimationPrivate::animate):
7058         (WebCore::CompositeAnimationPrivate::setAnimating):
7059         (WebCore::CompositeAnimationPrivate::animating):
7060         (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
7061         (WebCore::CompositeAnimationPrivate::resetTransitions):
7062         (WebCore::CompositeAnimationPrivate::resetAnimations):
7063         (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
7064         (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
7065         (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
7066         (WebCore::CompositeAnimationPrivate::suspendAnimations):
7067         (WebCore::CompositeAnimationPrivate::resumeAnimations):
7068         (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
7069         (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
7070         (WebCore::compareAnimationIndices):
7071         (WebCore::CompositeAnimationPrivate::styleAvailable):
7072         (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
7073         (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
7074         (WebCore::CompositeAnimation::CompositeAnimation):
7075         (WebCore::CompositeAnimation::~CompositeAnimation):
7076         (WebCore::CompositeAnimation::animate):
7077         (WebCore::CompositeAnimation::animating):
7078         (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
7079         (WebCore::CompositeAnimation::resetTransitions):
7080         (WebCore::CompositeAnimation::suspendAnimations):
7081         (WebCore::CompositeAnimation::resumeAnimations):
7082         (WebCore::CompositeAnimation::suspended):
7083         (WebCore::CompositeAnimation::styleAvailable):
7084         (WebCore::CompositeAnimation::setAnimating):
7085         (WebCore::CompositeAnimation::isAnimatingProperty):
7086         (WebCore::CompositeAnimation::setAnimationStartTime):
7087         (WebCore::CompositeAnimation::setTransitionStartTime):
7088         (WebCore::CompositeAnimation::overrideImplicitAnimations):
7089         (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
7090         * page/animation/CompositeAnimation.h:
7091         * page/animation/ImplicitAnimation.cpp:
7092         (WebCore::ImplicitAnimation::sendTransitionEvent):
7093         * page/animation/ImplicitAnimation.h:
7094         (WebCore::ImplicitAnimation::create):
7095         * page/animation/KeyframeAnimation.cpp:
7096         (WebCore::KeyframeAnimation::sendAnimationEvent):
7097         * page/animation/KeyframeAnimation.h:
7098         (WebCore::KeyframeAnimation::create):
7100 2008-10-09  David Hyatt  <hyatt@apple.com>
7102         Add support for scrollbar orientation as a pseudoclass.  Add support for whether or not the scrollbar
7103         is active as well.
7105         Reviewed by Tim Hatcher
7107         Added scrollbars/scrollbar-orientation.html
7109         * css/CSSSelector.cpp:
7110         (WebCore::CSSSelector::extractPseudoType):
7111         * css/CSSSelector.h:
7112         (WebCore::CSSSelector::):
7113         * css/CSSStyleSelector.cpp:
7114         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
7115         * platform/Scrollbar.cpp:
7116         (WebCore::Scrollbar::isWindowActive):
7117         * platform/Scrollbar.h:
7118         * rendering/RenderScrollbar.cpp:
7119         (WebCore::RenderScrollbar::paint):
7120         (WebCore::RenderScrollbar::partForStyleResolve):
7121         * rendering/RenderScrollbar.h:
7123 2008-10-09  David Hyatt  <hyatt@apple.com>
7125         Add support for pseudo classes on scrollbar pseudo elements.  As an initial proof of concept only
7126         :enabled/:disabled are supported.  More pseudo classes will follow quickly now that this works.
7128         Reviewed by Tim Hatcher
7130         Added scrollbars/disabled-scrollbar.html
7132         * css/CSSStyleSelector.cpp:
7133         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
7134         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
7135         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
7136         * css/CSSStyleSelector.h:
7137         * rendering/RenderObject.cpp:
7138         (WebCore::RenderObject::getPseudoStyle):
7139         * rendering/RenderObject.h:
7140         * rendering/RenderScrollbar.cpp:
7141         (WebCore::RenderScrollbar::setEnabled):
7142         (WebCore::RenderScrollbar::scrollbarForStyleResolve):
7143         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
7144         (WebCore::RenderScrollbar::paintPart):
7145         * rendering/RenderScrollbar.h:
7147 2008-10-09  Eric Carlson  <eric.carlson@apple.com>
7149         Media controls should not show when element is not visible
7151         https://bugs.webkit.org/show_bug.cgi?id=21155
7152         
7153         Reviewed by Adele Peterson.
7155         * html/HTMLMediaElement.cpp:
7156         (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
7157         in sync with visibility changes
7158         * html/HTMLMediaElement.h:
7159         * rendering/RenderMedia.cpp:
7160         (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
7161         (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
7162         if element is visible or not. Don't animate controller visibility when change triggered by
7163         showing or hiding media element.
7164         * rendering/RenderMedia.h: declare m_previousVisible
7166 2008-10-09  Timothy Hatcher  <timothy@apple.com>
7168         Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
7169         availability macros and version macros.
7171         https://bugs.webkit.org/show_bug.cgi?id=21496
7172         rdar://problem/6259225
7174         Reviewed by Sam Weinig.
7176         * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
7177         * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
7178         and add an #if around the enum.
7179         * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
7180         comment to match the other headers.
7181         * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
7182         * bindings/objc/DOMObject.h: Add a version #if around class interface.
7183         * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
7184         and add a version #if around the enum.
7185         * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
7186         * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
7187         * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
7188         when they where added to WebKit. Also annotate individual methods that are
7189         deprecated or where added after the class was added to WebKit.
7190         * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
7191         since this header is included by most DOM headers. Annotate the JSObject method.
7193         * bindings/scripts/CodeGeneratorObjC.pm:
7194         (ReadPublicInterfaces): Parse out the availability macro for each function/property.
7195         And parse out the availability version for the class/protocol. Default to
7196         WEBKIT_VERSION_LATEST if the class is new.
7197         (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
7198         interface availability version check if the class has a required version. Create
7199         a public interface key (used to lookup in $publicInterfaces) and make a declaration
7200         suffix that includes the availability macro (if needed). Use the "available in 1.3
7201         and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
7202         the default availability macro for old style methods. Tweak line breaks in the generated
7203         headers to look good and not have too many extra lines.
7205 2008-10-09  Simon Fraser  <simon.fraser@apple.com>
7207         Reviewed by Dave Hyatt
7209         https://bugs.webkit.org/show_bug.cgi?id=20947
7211         Refactor setStyle() methods into styleWillChange()
7212         and styleDidChange(), so most of the setStyle() overrides can
7213         be removed.
7215         * rendering/RenderBR.cpp:
7216         (WebCore::RenderBR::styleDidChange):
7217         * rendering/RenderBR.h:
7218         * rendering/RenderBlock.cpp:
7219         (WebCore::RenderBlock::styleWillChange):
7220         (WebCore::RenderBlock::styleDidChange):
7221         * rendering/RenderBlock.h:
7222         * rendering/RenderBox.cpp:
7223         (WebCore::RenderBox::~RenderBox):
7224         (WebCore::RenderBox::destroy):
7225         (WebCore::RenderBox::styleWillChange):
7226         (WebCore::RenderBox::styleDidChange):
7227         * rendering/RenderBox.h:
7228         * rendering/RenderButton.cpp:
7229         (WebCore::RenderButton::styleWillChange):
7230         (WebCore::RenderButton::styleDidChange):
7231         * rendering/RenderButton.h:
7232         * rendering/RenderFieldset.cpp:
7233         (WebCore::RenderFieldset::styleDidChange):
7234         * rendering/RenderFieldset.h:
7235         * rendering/RenderFileUploadControl.cpp:
7236         (WebCore::RenderFileUploadControl::styleDidChange):
7237         * rendering/RenderFileUploadControl.h:
7238         * rendering/RenderInline.cpp:
7239         (WebCore::RenderInline::styleDidChange):
7240         * rendering/RenderInline.h:
7241         * rendering/RenderLayer.cpp:
7242         (WebCore::RenderLayer::styleChanged):
7243         * rendering/RenderLayer.h:
7244         * rendering/RenderListBox.cpp:
7245         (WebCore::RenderListBox::styleDidChange):
7246         * rendering/RenderListBox.h:
7247         * rendering/RenderListItem.cpp:
7248         (WebCore::RenderListItem::styleDidChange):
7249         * rendering/RenderListItem.h:
7250         * rendering/RenderListMarker.cpp:
7251         (WebCore::RenderListMarker::styleWillChange):
7252         (WebCore::RenderListMarker::styleDidChange):
7253         * rendering/RenderListMarker.h:
7254         * rendering/RenderMenuList.cpp:
7255         (WebCore::RenderMenuList::styleDidChange):
7256         * rendering/RenderMenuList.h:
7257         * rendering/RenderObject.cpp:
7258         (WebCore::RenderObject::setStyle):
7259         (WebCore::RenderObject::setStyleInternal):
7260         (WebCore::RenderObject::styleWillChange):
7261         (WebCore::RenderObject::styleDidChange):
7262         * rendering/RenderObject.h:
7263         * rendering/RenderReplaced.cpp:
7264         (WebCore::RenderReplaced::styleDidChange):
7265         * rendering/RenderReplaced.h:
7266         * rendering/RenderSVGGradientStop.cpp:
7267         (WebCore::RenderSVGGradientStop::styleDidChange):
7268         * rendering/RenderSVGGradientStop.h:
7269         * rendering/RenderScrollbarPart.cpp:
7270         (WebCore::RenderScrollbarPart::styleDidChange):
7271         * rendering/RenderScrollbarPart.h:
7272         * rendering/RenderSlider.cpp:
7273         (WebCore::RenderSlider::styleDidChange):
7274         * rendering/RenderSlider.h:
7275         * rendering/RenderTable.cpp:
7276         (WebCore::RenderTable::styleDidChange):
7277         * rendering/RenderTable.h:
7278         * rendering/RenderTableCell.cpp:
7279         (WebCore::RenderTableCell::styleWillChange):
7280         (WebCore::RenderTableCell::styleDidChange):
7281         * rendering/RenderTableCell.h:
7282         * rendering/RenderTableRow.cpp:
7283         (WebCore::RenderTableRow::styleWillChange):
7284         * rendering/RenderTableRow.h:
7285         * rendering/RenderText.cpp:
7286         (WebCore::RenderText::styleDidChange):
7287         * rendering/RenderText.h:
7288         * rendering/RenderTextControl.cpp:
7289         (WebCore::RenderTextControl::styleDidChange):
7290         * rendering/RenderTextControl.h:
7291         * rendering/RenderWidget.cpp:
7292         (WebCore::RenderWidget::styleDidChange):
7293         * rendering/RenderWidget.h:
7295 2008-10-09  David Hyatt  <hyatt@apple.com>
7297         Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away.  When our widget
7298         parent is nulled out is a good time.
7300         Reviewed by Oliver Hunt
7302         * rendering/RenderScrollbar.cpp:
7303         (WebCore::RenderScrollbar::~RenderScrollbar):
7304         (WebCore::RenderScrollbar::setParent):
7305         (WebCore::RenderScrollbar::updateScrollbarPart):
7306         * rendering/RenderScrollbar.h:
7308 2008-10-09  David Hyatt  <hyatt@apple.com>
7310         https://bugs.webkit.org/show_bug.cgi?id=21446
7312         This patch gets CSS scrollbars up and limping.  There's no way to distinguish between states or between
7313         orientation and back vs. forward on the buttons, but it's a start.
7315         Reviewed by Oliver Hunt
7317         Added scrollbars/basic-scrollbar.html
7319         * WebCore.xcodeproj/project.pbxproj:
7320         * css/CSSSelector.cpp:
7321         (WebCore::CSSSelector::extractPseudoType):
7322         * css/CSSSelector.h:
7323         (WebCore::CSSSelector::):
7324         * css/CSSStyleSelector.cpp:
7325         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
7326         * platform/ScrollTypes.h:
7327         (WebCore::):
7328         * platform/Scrollbar.h:
7329         (WebCore::Scrollbar::styleChanged):
7330         * platform/ScrollbarThemeComposite.cpp:
7331         (WebCore::ScrollbarThemeComposite::paint):
7332         (WebCore::ScrollbarThemeComposite::splitTrack):
7333         * platform/ScrollbarThemeComposite.h:
7334         (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
7335         (WebCore::ScrollbarThemeComposite::paintTrackBackground):
7336         (WebCore::ScrollbarThemeComposite::paintTrackPiece):
7337         * platform/win/ScrollbarThemeSafari.cpp:
7338         (WebCore::ScrollbarThemeSafari::paintTrackBackground):
7339         * platform/win/ScrollbarThemeSafari.h:
7340         * platform/win/ScrollbarThemeWin.cpp:
7341         (WebCore::ScrollbarThemeWin::paintTrack):
7342         * platform/win/ScrollbarThemeWin.h:
7343         * rendering/RenderLayer.cpp:
7344         (WebCore::RenderLayer::createScrollbar):
7345         (WebCore::RenderLayer::styleChanged):
7346         * rendering/RenderScrollbar.cpp: Added.
7347         (WebCore::RenderScrollbar::createCustomScrollbar):
7348         (WebCore::RenderScrollbar::RenderScrollbar):
7349         (WebCore::RenderScrollbar::~RenderScrollbar):
7350         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
7351         (WebCore::RenderScrollbar::updateScrollbarParts):
7352         (WebCore::RenderScrollbar::updateScrollbarPart):
7353         (WebCore::RenderScrollbar::paintPart):
7354         (WebCore::RenderScrollbar::buttonRect):
7355         (WebCore::RenderScrollbar::minimumThumbLength):
7356         * rendering/RenderScrollbar.h: Added.
7357         (WebCore::RenderScrollbar::styleChanged):
7358         (WebCore::RenderScrollbar::owningRenderer):
7359         * rendering/RenderScrollbarPart.cpp: Added.
7360         (WebCore::RenderScrollbarPart::RenderScrollbarPart):
7361         (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
7362         (WebCore::RenderScrollbarPart::layout):
7363         (WebCore::RenderScrollbarPart::layoutHorizontalPart):
7364         (WebCore::RenderScrollbarPart::layoutVerticalPart):
7365         (WebCore::calcScrollbarThicknessUsing):
7366         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
7367         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
7368         (WebCore::RenderScrollbarPart::calcPrefWidths):
7369         (WebCore::RenderScrollbarPart::setStyle):
7370         * rendering/RenderScrollbarPart.h: Added.
7371         (WebCore::RenderScrollbarPart::renderName):
7372         (WebCore::RenderScrollbarPart::requiresLayer):
7373         * rendering/RenderScrollbarTheme.cpp: Added.
7374         (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
7375         (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
7376         (WebCore::RenderScrollbarTheme::hasButtons):
7377         (WebCore::RenderScrollbarTheme::hasThumb):
7378         (WebCore::RenderScrollbarTheme::minimumThumbLength):
7379         (WebCore::RenderScrollbarTheme::backButtonRect):
7380         (WebCore::RenderScrollbarTheme::forwardButtonRect):
7381         (WebCore::RenderScrollbarTheme::trackRect):
7382         (WebCore::RenderScrollbarTheme::paintScrollCorner):
7383         (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
7384         (WebCore::RenderScrollbarTheme::paintTrackBackground):
7385         (WebCore::RenderScrollbarTheme::paintTrackPiece):
7386         (WebCore::RenderScrollbarTheme::paintButton):
7387         (WebCore::RenderScrollbarTheme::paintThumb):
7388         * rendering/RenderScrollbarTheme.h: Added.
7389         (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
7390         (WebCore::RenderScrollbarTheme::scrollbarThickness):
7391         (WebCore::RenderScrollbarTheme::buttonsPlacement):
7392         (WebCore::RenderScrollbarTheme::supportsControlTints):
7393         (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
7394         (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
7395         (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
7396         (WebCore::RenderScrollbarTheme::registerScrollbar):
7397         (WebCore::RenderScrollbarTheme::unregisterScrollbar):
7398         * rendering/style/RenderStyle.h:
7399         (WebCore::RenderStyle::):
7401 2008-10-09  Eric Seidel  <eric@webkit.org>
7403         Reviewed by Oliver Hunt.
7405         Fix Canvex DOOM Game
7406         Gradient clips were not getting cleared after filling the
7407         gradient, this was causing nothing to draw in Canvex
7408         https://bugs.webkit.org/show_bug.cgi?id=21498
7409         
7410         Tests forthcoming.
7412         * WebCore.xcodeproj/project.pbxproj:
7413         * platform/graphics/cg/GraphicsContextCG.cpp:
7414         (WebCore::GraphicsContext::fillPath):
7415         (WebCore::GraphicsContext::strokePath):
7416         (WebCore::GraphicsContext::fillRect):
7418 2008-10-09  Eric Seidel  <eric@webkit.org>
7420         Reviewed by Oliver Hunt.
7421         
7422         Fix transformed patterns
7423         https://bugs.webkit.org/show_bug.cgi?id=21498
7424         
7425         Test: fast/canvas/patternfill-repeat.html
7427         * WebCore.xcodeproj/project.pbxproj:
7428         * platform/graphics/GraphicsContext.cpp:
7429         (WebCore::GraphicsContext::setStrokePattern):
7430         (WebCore::GraphicsContext::setFillPattern):
7431         (WebCore::GraphicsContext::setStrokeGradient):
7432         (WebCore::GraphicsContext::setFillGradient):
7433         * platform/graphics/GraphicsContext.h:
7434         * platform/graphics/cairo/GraphicsContextCairo.cpp:
7435         * platform/graphics/cg/GraphicsContextCG.cpp:
7436         (WebCore::applyStrokePattern):
7437         (WebCore::applyFillPattern):
7438         (WebCore::GraphicsContext::drawPath):
7439         (WebCore::GraphicsContext::fillPath):
7440         (WebCore::GraphicsContext::strokePath):
7441         (WebCore::GraphicsContext::fillRect):
7442         * platform/graphics/qt/GraphicsContextQt.cpp:
7443         * platform/graphics/wx/GraphicsContextWx.cpp:
7445 2008-10-09  Kevin Ollivier  <kevino@theolliviers.com>
7447         wx build fixes.
7449         * platform/wx/WidgetWx.cpp:
7450         * plugins/wx/PluginViewWx.cpp:
7451         (WebCore::PluginView::invalidateRect):
7452         * webcore-base.bkl:
7454 2008-10-09  Chris Marrin  <cmarrin@apple.com>
7456         Reviewed by Darin Adler.
7458         Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
7459         Animations assert when navigating from page
7461         Changed assertions to test the right flag for the paused state
7463         * page/animation/AnimationBase.cpp:
7464         (WebCore::AnimationBase::updateStateMachine):
7466 2008-10-09  Chris Marrin  <cmarrin@apple.com>
7468         Reviewed by Dan Bernstein.
7470         Fixed > 180 degree rotation bug
7471         Ensure that validateTransformFunctionList() is called after updating keyframe styles
7473         https://bugs.webkit.org/show_bug.cgi?id=21420
7475         Test: animations/big-rotation.html
7477         * page/animation/KeyframeAnimation.cpp:
7478         (WebCore::KeyframeAnimation::KeyframeAnimation):
7480 2008-10-09  Brady Eidson  <beidson@apple.com>
7482         Reviewed by Anders
7484         <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
7486         The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
7488         * loader/FrameLoader.cpp:
7489         (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
7490         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
7491           so perform a second null check on the page.  Bail if it has been cleared.
7493 2008-10-09  Alp Toker  <alp@nuanti.com>
7495         Build fix for recent DOM generation Makefile changes when custom
7496         CFLAGS/CXXFLAGS are passed in.
7498         * GNUmakefile.am:
7500 2008-10-09  Jan Michael Alonzo  <jmalonzo@webkit.org>
7502         Reviewed by Alp Toker.
7504         https://bugs.webkit.org/show_bug.cgi?id=21390
7505         [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
7507         * platform/gtk/ScrollViewGtk.cpp:
7508         (WebCore::ScrollView::platformRemoveChild):
7510 2008-10-09  Darin Adler  <darin@apple.com>
7512        - try to fix Qt build
7514         * bridge/qt/qt_runtime.cpp:
7515         (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
7517 2008-10-08  Nikolas Zimmermann  <zimmermann@kde.org>
7519         Reviewed by Oliver Hunt & Sam Weinig.
7521         Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
7522         Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
7523         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
7525         Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
7526         Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
7527         use tree is rebuild.
7529         Make SVGElementInstance a real EventTarget, as the SVG specification demands.
7530         When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
7531         is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
7532         share an event listener list. Every event listener change on the SVGElementInstance object is forwared
7533         to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
7534         Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
7535         to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
7536         Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
7538         Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
7539         see resources/use-instanceRoot-event-bubbling.js for details.
7541         Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
7542                svg/custom/use-elementInstance-methods.svg (reenabled)
7543                svg/custom/use-setAttribute-crash.svg (covers bug 20550)
7544                svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
7545                svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
7546                svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
7548         * DerivedSources.make:
7549         * GNUmakefile.am:
7550         * WebCore.pro:
7551         * WebCore.vcproj/WebCore.vcproj:
7552         * WebCore.xcodeproj/project.pbxproj:
7553         * bindings/js/JSEventListener.h:
7554         (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
7555         * bindings/js/JSEventTarget.cpp:
7556         * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
7557         * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
7558         * bindings/js/JSSVGElementInstanceCustom.cpp:
7559         (WebCore::JSSVGElementInstance::addEventListener):
7560         (WebCore::JSSVGElementInstance::removeEventListener):
7561         (WebCore::JSSVGElementInstance::pushEventHandlerScope):
7562         * bindings/scripts/CodeGeneratorJS.pm:
7563         * bindings/scripts/CodeGeneratorObjC.pm:
7564         * dom/EventListener.h:
7565         (WebCore::EventListener::wasCreatedFromMarkup):
7566         * dom/EventTargetNode.cpp:
7567         (WebCore::updateSVGElementInstancesAfterEventListenerChange):
7568         (WebCore::EventTargetNode::addEventListener):
7569         (WebCore::EventTargetNode::removeEventListener):
7570         (WebCore::eventTargetAsSVGElementInstance):
7571         (WebCore::eventTargetRespectingSVGTargetRules):
7572         (WebCore::EventTargetNode::dispatchEvent):
7573         (WebCore::EventTargetNode::dispatchGenericEvent):
7574         (WebCore::EventTargetNode::removeEventListenerForType):
7575         * page/EventHandler.cpp:
7576         (WebCore::EventHandler::clear):
7577         (WebCore::instanceAssociatedWithShadowTreeElement):
7578         (WebCore::EventHandler::updateMouseEventTargetNode):
7579         * page/EventHandler.h:
7580         * svg/EventTargetSVGElementInstance.cpp: Removed.
7581         * svg/EventTargetSVGElementInstance.h: Removed.
7582         * svg/SVGElementInstance.cpp:
7583         (WebCore::SVGElementInstance::SVGElementInstance):
7584         (WebCore::SVGElementInstance::~SVGElementInstance):
7585         (WebCore::SVGElementInstance::childNodes):
7586         (WebCore::SVGElementInstance::setShadowTreeElement):
7587         (WebCore::SVGElementInstance::forgetWrapper):
7588         (WebCore::SVGElementInstance::appendChild):
7589         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
7590         (WebCore::SVGElementInstance::setNeedsUpdate):
7591         (WebCore::SVGElementInstance::associatedFrame):
7592         (WebCore::SVGElementInstance::addEventListener):
7593         (WebCore::SVGElementInstance::removeEventListener):
7594         (WebCore::SVGElementInstance::dispatchEvent):
7595         (WebCore::SVGElementInstance::onabort):
7596         (WebCore::SVGElementInstance::setOnabort):
7597         (WebCore::SVGElementInstance::onblur):
7598         (WebCore::SVGElementInstance::setOnblur):
7599         (WebCore::SVGElementInstance::onchange):
7600         (WebCore::SVGElementInstance::setOnchange):
7601         (WebCore::SVGElementInstance::onclick):
7602         (WebCore::SVGElementInstance::setOnclick):
7603         (WebCore::SVGElementInstance::oncontextmenu):
7604         (WebCore::SVGElementInstance::setOncontextmenu):
7605         (WebCore::SVGElementInstance::ondblclick):
7606         (WebCore::SVGElementInstance::setOndblclick):
7607         (WebCore::SVGElementInstance::onerror):
7608         (WebCore::SVGElementInstance::setOnerror):
7609         (WebCore::SVGElementInstance::onfocus):
7610         (WebCore::SVGElementInstance::setOnfocus):
7611         (WebCore::SVGElementInstance::oninput):
7612         (WebCore::SVGElementInstance::setOninput):
7613         (WebCore::SVGElementInstance::onkeydown):
7614         (WebCore::SVGElementInstance::setOnkeydown):
7615         (WebCore::SVGElementInstance::onkeypress):
7616         (WebCore::SVGElementInstance::setOnkeypress):
7617         (WebCore::SVGElementInstance::onkeyup):
7618         (WebCore::SVGElementInstance::setOnkeyup):
7619         (WebCore::SVGElementInstance::onload):
7620         (WebCore::SVGElementInstance::setOnload):
7621         (WebCore::SVGElementInstance::onmousedown):
7622         (WebCore::SVGElementInstance::setOnmousedown):
7623         (WebCore::SVGElementInstance::onmousemove):
7624         (WebCore::SVGElementInstance::setOnmousemove):
7625         (WebCore::SVGElementInstance::onmouseout):
7626         (WebCore::SVGElementInstance::setOnmouseout):
7627         (WebCore::SVGElementInstance::onmouseover):
7628         (WebCore::SVGElementInstance::setOnmouseover):
7629         (WebCore::SVGElementInstance::onmouseup):
7630         (WebCore::SVGElementInstance::setOnmouseup):
7631         (WebCore::SVGElementInstance::onmousewheel):
7632         (WebCore::SVGElementInstance::setOnmousewheel):
7633         (WebCore::SVGElementInstance::onbeforecut):
7634         (WebCore::SVGElementInstance::setOnbeforecut):
7635         (WebCore::SVGElementInstance::oncut):
7636         (WebCore::SVGElementInstance::setOncut):
7637         (WebCore::SVGElementInstance::onbeforecopy):
7638         (WebCore::SVGElementInstance::setOnbeforecopy):
7639         (WebCore::SVGElementInstance::oncopy):
7640         (WebCore::SVGElementInstance::setOncopy):
7641         (WebCore::SVGElementInstance::onbeforepaste):
7642         (WebCore::SVGElementInstance::setOnbeforepaste):
7643         (WebCore::SVGElementInstance::onpaste):
7644         (WebCore::SVGElementInstance::setOnpaste):
7645         (WebCore::SVGElementInstance::ondragenter):
7646         (WebCore::SVGElementInstance::setOndragenter):
7647         (WebCore::SVGElementInstance::ondragover):
7648         (WebCore::SVGElementInstance::setOndragover):
7649         (WebCore::SVGElementInstance::ondragleave):
7650         (WebCore::SVGElementInstance::setOndragleave):
7651         (WebCore::SVGElementInstance::ondrop):
7652         (WebCore::SVGElementInstance::setOndrop):
7653         (WebCore::SVGElementInstance::ondragstart):
7654         (WebCore::SVGElementInstance::setOndragstart):
7655         (WebCore::SVGElementInstance::ondrag):
7656         (WebCore::SVGElementInstance::setOndrag):
7657         (WebCore::SVGElementInstance::ondragend):
7658         (WebCore::SVGElementInstance::setOndragend):
7659         (WebCore::SVGElementInstance::onreset):
7660         (WebCore::SVGElementInstance::setOnreset):
7661         (WebCore::SVGElementInstance::onresize):
7662         (WebCore::SVGElementInstance::setOnresize):
7663         (WebCore::SVGElementInstance::onscroll):
7664         (WebCore::SVGElementInstance::setOnscroll):
7665         (WebCore::SVGElementInstance::onsearch):
7666         (WebCore::SVGElementInstance::setOnsearch):
7667         (WebCore::SVGElementInstance::onselect):
7668         (WebCore::SVGElementInstance::setOnselect):
7669         (WebCore::SVGElementInstance::onselectstart):
7670         (WebCore::SVGElementInstance::setOnselectstart):
7671         (WebCore::SVGElementInstance::onsubmit):
7672         (WebCore::SVGElementInstance::setOnsubmit):
7673         (WebCore::SVGElementInstance::onunload):
7674         (WebCore::SVGElementInstance::setOnunload):
7675         * svg/SVGElementInstance.h:
7676         (WebCore::SVGElementInstance::needsUpdate):
7677         (WebCore::SVGElementInstance::toNode):
7678         (WebCore::SVGElementInstance::toSVGElementInstance):
7679         (WebCore::SVGElementInstance::correspondingElement):
7680         (WebCore::SVGElementInstance::correspondingUseElement):
7681         (WebCore::SVGElementInstance::shadowTreeElement):
7682         (WebCore::SVGElementInstance::parentNode):
7683         (WebCore::SVGElementInstance::previousSibling):
7684         (WebCore::SVGElementInstance::nextSibling):
7685         (WebCore::SVGElementInstance::firstChild):
7686         (WebCore::SVGElementInstance::lastChild):
7687         (WebCore::SVGElementInstance::ownerDocument):
7688         (WebCore::SVGElementInstance::hasChildNodes):
7689         (WebCore::SVGElementInstance::setFirstChild):
7690         (WebCore::SVGElementInstance::setLastChild):
7691         (WebCore::SVGElementInstance::setNextSibling):
7692         (WebCore::SVGElementInstance::setPreviousSibling):
7693         (WebCore::SVGElementInstance::refEventTarget):
7694         (WebCore::SVGElementInstance::derefEventTarget):
7695         * svg/SVGElementInstance.idl:
7696         * svg/SVGStyledElement.cpp:
7697         (WebCore::SVGStyledElement::svgAttributeChanged):
7698         (WebCore::SVGStyledElement::childrenChanged):
7699         * svg/SVGUseElement.cpp:
7700         (WebCore::SVGUseElement::svgAttributeChanged):
7701         (WebCore::shadowTreeContainsChangedNodes):
7702         (WebCore::SVGUseElement::recalcStyle):
7703         (WebCore::dumpInstanceTree):
7704         (WebCore::SVGUseElement::buildPendingResource):
7705         (WebCore::SVGUseElement::buildInstanceTree):
7706         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
7707         * svg/SVGUseElement.h:
7709 2008-10-08  Sam Weinig  <sam@webkit.org>
7711         Reviewed by Cameron Zwarich.
7713         Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
7714         REGRESSION (r36977): getRGBColorValue().red returning incorrect value
7716         Update JSRGBColor to use the new static function per getter approach.
7718         Test: fast/dom/css-RGBValue.html
7720         * bindings/js/JSRGBColor.cpp:
7721         (WebCore::):
7722         (jsRGBColorRed):
7723         (jsRGBColorGreen):
7724         (jsRGBColorBlue):
7725         * bindings/js/JSRGBColor.h:
7727 2008-10-08  Eric Seidel  <eric@webkit.org>
7729         Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
7731         svgElement.className.baseValue = "foo" does not work
7732         https://bugs.webkit.org/show_bug.cgi?id=20651
7734         * dom/StyledElement.cpp:
7735         (WebCore::StyledElement::classAttributeChanged):
7736         (WebCore::StyledElement::parseMappedAttribute):
7737         * dom/StyledElement.h:
7738         * svg/SVGStyledElement.cpp:
7739         (WebCore::SVGStyledElement::svgAttributeChanged):
7741 2008-10-08  Anthony Ricaud  <rik24d@gmail.com>
7743         Make the toolbar label text-shadow not disappear when clicking on the
7744         search result count or around the search field.
7746         Reviewed by Timothy Hatcher.
7748         * inspector/front-end/inspector.css:
7749         (.toolbar-item:active .toolbar-label): Make this rule also require the
7750         toggleable class with the toolbar-item class.
7752 2008-10-08  Tor Arne Vestbø  <tavestbo@trolltech.com>
7754         Reviewed by Simon.
7756         Updated the qrc file for the Web Inspector to contain the current set
7757         of images.
7759         * inspector/front-end/WebKit.qrc:
7761 2008-10-08  Prasanth Ullattil  <pullatti@trolltech.com>
7763         Reviewed by Simon.
7765         Fix the linking of applications against WebKit on Qt/Windows.
7767         The prl files that qmake creates are buggy on Unix, but we they're
7768         fine on Windows and we have to have them there in order to get the
7769         dependencies correct.
7771         * WebCore.pro:
7773 2008-10-08  Ariya Hidayat  <ariya.hidayat@trolltech.com>
7775         Reviewed by Simon.
7777         Speed up rectangle filling by not re-creating a QBrush all the time.
7779         This triggers faster path in QPainter where the brush is reused.
7781         * platform/graphics/qt/GraphicsContextQt.cpp:
7782         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
7783         (WebCore::GraphicsContext::fillRect):
7785 2008-10-08  Thiago Macieira  <thiago.macieira@nokia.com>
7787         Reviewed by Simon.
7789         Fixes: Encoding of Qt URLs
7791         This encoding was added by Simon and I because QUrl's
7792         tolerant parser wasn't tolerant enough. Now it is, so we don't need
7793         this anymore.
7795         * platform/qt/KURLQt.cpp:
7796         (WebCore::KURL::operator QUrl):
7798 2008-10-08  Marius Storm-Olsen  <marius@trolltech.com>
7800         Reviewed by Simon.
7802         Fixes dependencies in qmake generated visual studio projects.
7804         Only add debug lib name if we're in the debug build_pass, else the release version.
7805         The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
7807         * WebCore.pro:
7809 2008-10-08  Prasanth Ullattil  <pullatti@trolltech.com>
7811         Reviewed by Simon.
7813         Fix compilation errors on VS2008 64Bit
7815         * platform/text/TextStream.cpp:
7816         (WebCore::TextStream::operator<<):
7817         * platform/text/TextStream.h:
7818         * plugins/win/PluginViewWin.cpp:
7819         (WebCore::PluginView::init):
7821 2008-10-07  Alp Toker  <alp@nuanti.com>
7823         GTK+ build fix for older automake versions (1.7). Discussed in bug
7824         #21392.
7826         * GNUmakefile.am:
7828 2008-10-07  Anders Carlsson  <andersca@apple.com>
7830         Reviewed by Antti Koivisto.
7832         <rdar://problem/6273887> Crash in ApplicationCacheGroup
7833         
7834         Make sure to stop loading even before a cache update is in progress so that the
7835         manifest load will be stopped.
7837         * loader/appcache/ApplicationCacheGroup.cpp:
7838         (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
7839         (WebCore::ApplicationCacheGroup::stopLoading):
7840         (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
7842 2008-10-07  Timothy Hatcher  <timothy@apple.com>
7844         Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
7846         https://bugs.webkit.org/show_bug.cgi?id=21433
7848         Reviewed by Sam Weinig.
7850         * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
7851         * bindings/objc/DOM.mm: Remove previous category implementations
7852         on DOMDocument for createNodeIterator: and createTreeWalker:. Also
7853         moves ObjCNodeFilterCondition to its own file.
7854         * bindings/objc/DOMTraversal.h: Remove the category methods that added
7855         createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
7856         to do since DOmDocument.h is included still, and has these methods.
7857         * bindings/objc/DOMUtility.mm:
7858         (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
7859         JSTreeWalker now that the ObjC binding conforms to the standard wrap.
7860         * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
7861         (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
7862         (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
7863         * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
7864         (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
7865         * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
7866         createTreeWalker: methods to DOMDocument.
7867         * bindings/scripts/CodeGeneratorObjC.pm:
7868         (GetObjCTypeGetter): Add a case for NodeFilter.
7869         (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
7870         (GenerateImplementation): Remove existing NodeFilter special case that
7871         used the m_filter member variable. Add a new special getter for protocol
7872         types that aren't EventTarget, so the right class is used for NodeFilter.
7873         Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
7874         * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
7875         OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
7876         Rename the entityReferenceExpansion parameter to expandEntityReferences to
7877         match the previous ObjC API.
7878         * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
7879         m_filter member variable was never used in practice, it was always nil!
7880         We can remove it and not pad the object because this can't be subclassed.
7881         * dom/TreeWalker.idl: Ditto.
7883 2008-10-07  Timothy Hatcher  <timothy@apple.com>
7885         Auto-generate the DOMEventTarget protocol implementation for
7886         DOMNode and DOMSVGElementInstance.
7888         https://bugs.webkit.org/show_bug.cgi?id=21432
7890         Reviewed by Darin Adler.
7892         * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
7893         * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
7894         ObjCEventListener to it's own file. Remove the manual impelmentations
7895         of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
7896         * bindings/objc/DOMEvents.h: Remove the categories that defined
7897         DOMEventTarget for DOMNode and DOMSVGElementInstance.
7898         * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
7899         * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
7900         (WebCore::ObjCEventListener::find): Moved from DOM.mm.
7901         (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
7902         callers from doing a manual deref.
7903         (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
7904         (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
7905         * bindings/scripts/CodeGeneratorObjC.pm:
7906         (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
7907         (AddIncludesForType): Include ObjCEventListener.h for EventListener.
7908         And include EventTargetSVGElementInstance.h for SVGElementInstance.
7909         (GenerateHeader): Remove the check for multiple parents.
7910         (GenerateImplementation): Remove the check for multiple parents. Remove
7911         the @deprecatedFunctions array since deprecated methods get generated
7912         into the main @interface now to work with protocols. Add support
7913         for the EventTargetNodeCast extended attribute. Add support for
7914         EventListener parameters.
7915         * dom/Node.idl: Define superclasses for ObjC so the implementation
7916         and interface implement the DOMEventTarget protocol. Explicitly
7917         specify Object as a superclass to use DOMEventTarget. Object will turn
7918         into DOMObject. This is needed to take the code generator down the right
7919         path of multiple super-classes as protocols. It is ObjC only for legacy
7920         reasons. The event target methods are normally on NodeEventTarget, a
7921         subclass of Node. But the ObjC API has never has this subclass and
7922         they are on DOMNode.
7923         * svg/SVGElementInstance.idl: Ditto.
7925 2008-10-07  David Hyatt  <hyatt@apple.com>
7927         Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
7929         The new pseudo-elements are:
7930             scrollbar
7931             scrollbar-button
7932             scrollbar-corner
7933             scrollbar-thumb
7934             scrollbar-track
7935         
7936         These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
7937         the following new pseudo-classes:
7938             scrollbar-active
7939             scrollbar-back
7940             scrollbar-forward
7941             scrollbar-horizontal
7942             scrollbar-vertical
7943         
7944         Reviewed by Adele
7946         * css/CSSSelector.cpp:
7947         (WebCore::CSSSelector::extractPseudoType):
7948         * css/CSSSelector.h:
7949         (WebCore::CSSSelector::):
7951 2008-10-06  Timothy Hatcher  <timothy@apple.com>
7953         Add support to the Resources panel for queries like "#123", "foo #123",
7954         "line: 123" and "foo line: 123". These will match the query limiting
7955         the search only to the line specified. If only a line is specified,
7956         the whole line is matched.
7958         https://bugs.webkit.org/show_bug.cgi?id=21422
7960         Reviewed by Darin Adler.
7962         * inspector/front-end/SourceFrame.js:
7963         (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
7964         row if the index is greater than the rows collection. Let it return
7965         undefined by indexing out-of-bounds.
7966         * inspector/front-end/SourceView.js:
7967         (WebInspector.SourceView.prototype.performSearch): Add support for
7968         queries like "#123", "foo #123", "line: 123" and "foo line: 123".
7969         Also match the whole query to the whole document in case there are
7970         colors like "#333".
7972 2008-10-07  Alp Toker  <alp@nuanti.com>
7974         Reviewed by Mark Rowe.
7976         https://bugs.webkit.org/show_bug.cgi?id=21392
7977         [GTK] Auto-generate JS DOM binding sources list
7979         Remove the huge lists of generated DOM binding sources and headers in
7980         the build system. These are difficult to maintain and can be derived
7981         automatically.
7983         The new strategy is to re-use the existing lists of IDL sources (which
7984         are needed for dist support anyway). This will also ease the addition
7985         of new language bindings.
7987         * GNUmakefile.am:
7989 2008-10-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
7991         Reviewed by Simon.
7993         Don't attempt to paint when updating control tints
7995         We don't have a valid PlatformGraphicsContext so schedule
7996         the dirty scrollbar/scrollview area for repaint instead.
7998         * platform/qt/ScrollbarThemeQt.cpp:
7999         (WebCore::ScrollbarThemeQt::paint):
8000         (WebCore::ScrollbarThemeQt::paintScrollCorner):
8002 2008-10-07  Holger Hans Peter Freyther  <zecke@selfish.org>
8004         [qt] Build fix after Scrollbar.h and Widget.h changes.
8006         * plugins/qt/PluginViewQt.cpp:
8007         (WebCore::PluginView::getValue):
8008         (WebCore::PluginView::init):
8010 2008-10-06  David Hyatt  <hyatt@apple.com>
8012         Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
8014         Reviewed by Sam Weinig
8016         * WebCore.base.exp:
8017         * WebCore.xcodeproj/project.pbxproj:
8018         * loader/EmptyClients.h:
8019         (WebCore::EmptyFrameLoaderClient::hasWebView):
8020         * loader/FrameLoader.cpp:
8021         (WebCore::FrameLoader::loadWithDocumentLoader):
8022         (WebCore::FrameLoader::transitionToCommitted):
8023         * loader/FrameLoaderClient.h:
8024         * page/FocusController.cpp:
8025         (WebCore::FocusController::setActive):
8026         * page/FrameView.cpp:
8027         (WebCore::FrameView::FrameView):
8028         (WebCore::FrameView::init):
8029         (WebCore::FrameView::layoutIfNeededRecursive):
8030         * page/FrameView.h:
8032 2008-10-06  Dan Bernstein  <mitz@apple.com>
8034         - build fix
8036         * bindings/objc/DOMEvents.h:
8038 2008-10-06  Mark Mentovai  <mark@moxienet.com>
8040         Reviewed by Tim Hatcher.
8042         Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
8043         Platform.h is not available, in preference to #ifdef ENABLE_feature.
8044         #ifdef is wrong now that features are disabled by #defining
8045         ENABLE_feature to 0.
8047         https://bugs.webkit.org/show_bug.cgi?id=21338
8049         * bindings/objc/DOMEvents.h:
8050         * bindings/objc/PublicDOMInterfaces.h:
8051         * dom/Document.idl:
8052         * page/DOMWindow.idl:
8053         * svg/svgtags.in:
8055 2008-10-06  Mark Mentovai  <mark@moxienet.com>
8057         Reviewed by Sam Weinig.
8059         * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
8060         to get the declaration for isMainThread().
8062 2008-10-06  Jeremy Moskovich  <jeremy@chromium.org>
8064         Reviewed by Tim Hatcher.
8066         WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
8067         to reflect that.
8069         * WebCore.xcodeproj/project.pbxproj:
8070         * platform/mac/WebCoreObjCExtras.c: Removed.
8071         * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
8073 2008-10-06  Jeremy Moskovich  <jeremy@chromium.org>
8075         Reviewed by Dan Bernstein.
8076         
8077         Added C++ forward declaration for the NSURLAuthenticationChallenge class
8078         so that the m_currentMacChallenge variable doesn't cause a
8079         compilation error when ResourceHandleInternal.h is included from a C++ file.
8080         Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
8082         * platform/network/ResourceHandleInternal.h:
8084 2008-10-06  Steve Falkenburg  <sfalken@apple.com>
8086         Windows build fix.
8088         * WebCore.vcproj/WebCore.vcproj:
8090 2008-10-06  Steve Falkenburg  <sfalken@apple.com>
8092         https://bugs.webkit.org/show_bug.cgi?id=21416
8093         Add missing null checks identified by Application Verifier.
8094         
8095         Reviewed by Darin Adler.
8097         * platform/win/SharedTimerWin.cpp:
8098         (WebCore::clearTimer):
8100 2008-10-06  Kevin McCullough  <kmccullough@apple.com>
8102         Reviewed by Tim Hatcher.
8104         Removed accidentally left in debugging statement.
8106         * inspector/front-end/inspector.js:
8108 2008-10-06  Kevin McCullough  <kmccullough@apple.com>
8110         Reviewed by Tim Hatcher and Oliver Hunt.
8112         https://bugs.webkit.org/show_bug.cgi?id=21412
8113         Bug 21412: Refactor user initiated profile count to be more stable
8115         * inspector/InspectorController.cpp: Keep track of the user-initiated
8116         profiles here now.
8117         (WebCore::InspectorController::InspectorController):
8118         (WebCore::InspectorController::startUserInitiatedProfiling):
8119         (WebCore::InspectorController::stopUserInitiatedProfiling):
8120         * inspector/InspectorController.h:
8121         The front end will now need to check for the existence of the user-
8122         initiated profile title and use its count instead of keeping its own.
8123         * inspector/front-end/ProfilesPanel.js:
8125 2008-10-06  Dan Bernstein  <mitz@apple.com>
8127         Reviewed by Sam Weinig.
8129         - separate GDI text drawing into its own function
8131         * platform/graphics/win/FontCGWin.cpp:
8132         (WebCore::drawGDIGlyphs):
8133         (WebCore::Font::drawGlyphs):
8135 2008-10-03  Steve Falkenburg  <sfalken@apple.com>
8137         <rdar://problem/6249833> Fix default button appearance
8138         
8139         Reviewed by Adele Peterson.
8141         * rendering/RenderThemeWin.cpp:
8142         (WebCore::RenderThemeWin::supportsFocus):
8143         (WebCore::RenderThemeWin::determineClassicState):
8144         (WebCore::RenderThemeWin::determineButtonState):
8145         (WebCore::RenderThemeWin::getClassicThemeData):
8146         (WebCore::RenderThemeWin::getThemeData):
8147         (WebCore::drawControl):
8148         * rendering/RenderThemeWin.h:
8150 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
8152         Reviewed by Simon.
8154         Add native virtual keycode to PlatformKeyboardEvent
8156         * platform/PlatformKeyboardEvent.h:
8157         * platform/gtk/KeyEventGtk.cpp:
8158         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8159         * platform/mac/KeyEventMac.mm:
8160         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8161         * platform/qt/PlatformKeyboardEventQt.cpp:
8162         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8163         * platform/win/KeyEventWin.cpp:
8164         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8165         * platform/wx/KeyboardEventWx.cpp:
8166         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8168 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
8170         Reviewed by Simon.
8172         Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
8174         * platform/text/PlatformString.h:
8175         * platform/text/StringImpl.h:
8176         * platform/text/cf/StringCF.cpp:
8177         * platform/text/cf/StringImplCF.cpp:
8179 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
8181         Reviewed by Simon.
8183         Use bundles on QtWebKit/Mac for platform modules
8185         * platform/FileSystem.h:
8186         * platform/qt/FileSystemQt.cpp:
8187         (WebCore::unloadModule):
8189 2008-10-06  Ariya Hidayat  <ariya.hidayat@trolltech.com>
8191         Reviewed by Simon.
8193         Build fix for MinGW.
8195         * platform/win/SystemTimeWin.cpp:
8196         * plugins/win/PluginViewWin.cpp:
8197         (WebCore::PluginView::invalidateRect):
8199 2008-10-06  Adam Roben  <aroben@apple.com>
8201         Mimic the inspector/ directory structure in WebCore.vcproj
8203         * WebCore.vcproj/WebCore.vcproj:
8205 2008-10-06  Adam Roben  <aroben@apple.com>
8207         Windows build fix
8209         * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
8210         configurations to include WebCore/inspector.
8212 2008-10-04  Eric Seidel  <eric@webkit.org>
8214         Reviewed by Darin Adler.
8216         SVG should support ascent and descent properties <font-face> instead of <font>!
8217         https://bugs.webkit.org/show_bug.cgi?id=21365
8218         
8219         Tested by many many existing SVG tests.
8221         * svg/SVGFontFaceElement.cpp:
8222         (WebCore::SVGFontFaceElement::ascent):
8223         (WebCore::SVGFontFaceElement::descent):
8225 2008-10-05  Darin Fisher  <darin@chromium.org>
8227         Reviewed by Eric Seidel.
8229         REGRESSION: crash in ScriptElement::notifyFinished
8230         Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
8232         * dom/ScriptElement.cpp:
8233         (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
8234         ensure that the ScriptElementData object is not destroyed prematurely.
8236 2008-10-05  Chris Lord  <chris@openedhand.com>
8238         Reviewed by Alp Toker. Landed by Jan Alonzo.
8240         https://bugs.webkit.org/show_bug.cgi?id=20624
8241         WebKit-gtk uses deprecated GtkType/GtkObject
8243         * plugins/gtk/gtk2xtbin.c:
8244         (gtk_xtbin_get_type):
8245         * plugins/gtk/gtk2xtbin.h:
8247 2008-10-05  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
8249         Reviewed by David Hyatt.
8251         GTK_WINDOW_HWND not GTK_WINDOWING_HWND
8252         https://bugs.webkit.org/show_bug.cgi?id=20725
8254         Updated to ToT by Jan Alonzo.
8256         * plugins/gtk/PluginViewGtk.cpp:
8257         (WebCore::PluginView::getValue):
8259 2008-10-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
8261         Reviewed by Darin Adler.
8263         Invalid cast from GdkWindow to GtkWidget
8264         https://bugs.webkit.org/show_bug.cgi?id=21391
8266         Fix a misplaced closing parenthesis to actually cast the widget, not the window
8268         * platform/gtk/PlatformScreenGtk.cpp:
8269         (WebCore::screenDepth):
8271 2008-10-05  Adam Barth  <abarth@webkit.org>
8273         Reviewed by Darin Alder.
8275         Attach the Origin header to POST requests to help defend against
8276         cross-site request forgery.
8278         https://bugs.webkit.org/show_bug.cgi?id=20792
8280         Collin Jackson <collinj@webkit.org> also contributed to this patch.
8282         Tests: http/tests/security/originHeader/origin-header-for-data.html
8283                http/tests/security/originHeader/origin-header-for-empty.html
8284                http/tests/security/originHeader/origin-header-for-get.html
8285                http/tests/security/originHeader/origin-header-for-https.html
8286                http/tests/security/originHeader/origin-header-for-post.html
8288         * bindings/js/JSDOMWindowBase.cpp:
8289         (WebCore::createWindow):
8290         * loader/FrameLoader.cpp:
8291         (WebCore::FrameLoader::createWindow):
8292         (WebCore::FrameLoader::urlSelected):
8293         (WebCore::FrameLoader::submitForm):
8294         (WebCore::FrameLoader::outgoingOrigin):
8295         (WebCore::FrameLoader::loadURL):
8296         (WebCore::FrameLoader::addExtraFieldsToRequest):
8297         (WebCore::FrameLoader::loadPostRequest):
8298         (WebCore::FrameLoader::loadResourceSynchronously):
8299         (WebCore::FrameLoader::loadItem):
8300         * loader/FrameLoader.h:
8301         * loader/SubresourceLoader.cpp:
8302         (WebCore::SubresourceLoader::create):
8303         * loader/loader.cpp:
8304         (WebCore::Loader::Host::servePendingRequests):
8305         * platform/SecurityOrigin.cpp:
8306         (WebCore::SecurityOrigin::toHTTPOrigin):
8307         * platform/SecurityOrigin.h:
8308         * platform/network/ResourceRequestBase.h:
8309         (WebCore::ResourceRequestBase::httpOrigin):
8310         (WebCore::ResourceRequestBase::setHTTPOrigin):
8311         (WebCore::ResourceRequestBase::clearHTTPOrigin):
8312         * xml/XMLHttpRequest.cpp:
8313         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
8314         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
8315         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
8316         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
8318 2008-10-04  Oliver Hunt  <oliver@apple.com>
8320         Reviewed by Tim Hatcher.
8322         Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
8323         <https://bugs.webkit.org/show_bug.cgi?id=21381>
8325         If we hit a parsing boundary (end of a packet, etc) in the middle of a
8326         <script> element when we are doing an incremental parse, we exit the
8327         parser, and reenter later when more data is available.  During this
8328         reentry we incorrectly reset the scriptStartLineno to the current line
8329         in the parser, which is now part way through the script element.
8331         The solution is to track whether we are entering or reentering the parsing
8332         of a script element.  We do this simply by 0 checking scriptStartLineno,
8333         and resetting it after we complete parsing of each script element. 
8335         Test: http/tests/incremental/pause-in-script-element.pl
8337         * ChangeLog:
8338         * html/HTMLTokenizer.cpp:
8339         (WebCore::HTMLTokenizer::parseSpecial):
8340         (WebCore::HTMLTokenizer::scriptHandler):
8342 2008-10-04  Alp Toker  <alp@nuanti.com>
8344         Reviewed by David Hyatt. Landed by Jan Alonzo.
8346         https://bugs.webkit.org/show_bug.cgi?id=20924
8347         [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
8349         https://bugs.webkit.org/show_bug.cgi?id=19578
8350         [CURL] problem in parseDataUrl
8352         De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
8353         This patch also fixes encoding support in escaped (non-Base64) data
8354         URLs. All manual data URL tests now pass in both GLib and non-GLib
8355         code paths.
8357         * platform/network/curl/ResourceHandleManager.cpp:
8358         (WebCore::parseDataUrl):
8360 2008-10-04  Timothy Hatcher  <timothy@apple.com>
8362         Makes breakpoints and debugging code during page load work in the
8363         Web Inspector's debugger. Specifically, this makes the source
8364         code for loading resources show up in the Scripts panel.
8366         https://bugs.webkit.org/show_bug.cgi?id=19053
8367         rdar://problem/5933408
8369         Reviewed by Mark Rowe.
8371         * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
8372         not using tabs and a tab width of 8.
8373         * inspector/InspectorController.cpp:
8374         (WebCore::addResourceSourceToFrame): Return a bool to report if the
8375         source was added successfully or not.
8376         (WebCore::addSourceToFrame): Ditto.
8377         * inspector/front-end/ScriptView.js:
8378         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
8379         Return early if the InspectorController.addSourceToFrame fails.
8380         Moved the delete of the _frameNeedsSetup property after that call so
8381         if the source wasn't added it will be attempted again.
8382         * inspector/front-end/SourceView.js:
8383         (WebInspector.SourceView.prototype.detach): Move a comment.
8384         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
8385         Don't check if the resource is finished or failed, just attempt
8386         to add the source to the frame. WebCore has the source, but the
8387         finished property hasn't been set yet. Return early if the
8388         InspectorController.addSourceToFrame fails. Moved the delete
8389         of the _frameNeedsSetup property after that call so if the source
8390         wasn't added it will be attempted again.
8391         (WebInspector.SourceView.prototype._resourceLoadingFinished):
8392         Clear the _frameNeedsSetup and _sourceFrameSetup properties so
8393         the source frame will we populated again now that the resource
8394         load has finished.
8395         * manual-tests/inspector/debugger-pause-during-load.html: Added.
8397 2008-10-04  Mark Rowe  <mrowe@apple.com>
8399         Reviewed by Tim Hatcher.
8401         Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
8403         * WebCore.xcodeproj/project.pbxproj:
8405 2008-10-04  David Hyatt  <hyatt@apple.com>
8407         https://bugs.webkit.org/show_bug.cgi?id=21373
8409         Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
8410         is still present.
8412         Reviewed by Mark Rowe
8414         * page/FrameView.cpp:
8415         (WebCore::FrameView::~FrameView):
8417 2008-10-04  Sam Weinig  <sam@webkit.org>
8419         Reviewed by Dan Bernstein.
8421         Avoid copying a Vector when using getSupportedKeySizes.
8423         * html/HTMLKeygenElement.cpp:
8424         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
8425         * platform/SSLKeyGenerator.h:
8426         * platform/gtk/TemporaryLinkStubs.cpp:
8427         (WebCore::getSupportedKeySizes):
8428         * platform/mac/SSLKeyGeneratorMac.mm:
8429         (WebCore::getSupportedKeySizes):
8430         * platform/qt/TemporaryLinkStubs.cpp:
8431         (WebCore::getSupportedKeySizes):
8432         * platform/win/TemporaryLinkStubs.cpp:
8433         (WebCore::getSupportedKeySizes):
8434         * platform/wx/TemporaryLinkStubs.cpp:
8435         (WebCore::getSupportedKeySizes):
8437 2008-10-04  Darin Adler  <darin@apple.com>
8439         Reviewed by Cameron Zwarich.
8441         - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
8442           Bug 21295: Replace ExecState with a call frame Register pointer
8444         * bindings/js/JSQuarantinedObjectWrapper.cpp:
8445         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
8446         Remove bogus "const".
8447         * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
8449 2008-10-04  David Hyatt  <hyatt@apple.com>
8451         Make PopupMenuClient obey the platform abstraction.  Remove any connection to Document and RenderStyle.
8453         Reviewed by Darin Adler
8455         * WebCore.xcodeproj/project.pbxproj:
8456         * platform/PopupMenuClient.h:
8457         * platform/gtk/PopupMenuGtk.cpp:
8458         (WebCore::PopupMenu::show):
8459         * platform/mac/PopupMenuMac.mm:
8460         (WebCore::PopupMenu::populate):
8461         (WebCore::PopupMenu::show):
8462         * platform/qt/PopupMenuQt.cpp:
8463         (WebCore::PopupMenu::populate):
8464         * platform/win/PopupMenuWin.cpp:
8465         (WebCore::PopupMenu::calculatePositionAndSize):
8466         (WebCore::PopupMenu::paint):
8467         (WebCore::PopupWndProc):
8468         * rendering/RenderMenuList.cpp:
8469         (WebCore::RenderMenuList::itemStyle):
8470         (WebCore::RenderMenuList::menuStyle):
8471         (WebCore::RenderMenuList::hostWindow):
8472         * rendering/RenderMenuList.h:
8473         * rendering/RenderTextControl.cpp:
8474         (WebCore::RenderTextControl::itemStyle):
8475         (WebCore::RenderTextControl::menuStyle):
8476         (WebCore::RenderTextControl::hostWindow):
8477         * rendering/RenderTextControl.h:
8479 2008-10-04  Matt Lilek  <webkit@mattlilek.com>
8481         Build fix - restore Private role to headers that had it before the move.
8483         * WebCore.xcodeproj/project.pbxproj:
8485 2008-10-04  Darin Adler  <darin@apple.com>
8487         - try to fix build
8489         * DerivedSources.make: Add new inspector directory to VPATH.
8490         * GNUmakefile.am: Add new inspector directory to includes.
8491         Re-sort the IDL_BINDINGS list. Add new inspector directory
8492         to VPATH.
8494 2008-10-04  Matt Lilek  <webkit@mattlilek.com>
8496         Not reviewed, attempt to fix Gtk build.
8498         * GNUmakefile.am:
8500 2008-10-03  Timothy Hatcher  <timothy@apple.com>
8502         Move the Web Inspector files into a top-level "inspector" folder.
8504         https://bugs.webkit.org/show_bug.cgi?id=21359
8506         Reviewed by Dave Hyatt.
8508         * GNUmakefile.am:
8509         * WebCore.pro:
8510         * WebCore.vcproj/WebCore.vcproj:
8511         * WebCore.xcodeproj/project.pbxproj:
8512         * WebCoreSources.bkl:
8513         * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
8514         * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
8515         * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
8516         * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
8517         * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
8518         * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
8519         * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
8520         * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
8521         * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
8522         * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
8523         * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
8524         * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
8525         * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
8526         * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
8527         * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
8528         * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
8529         * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
8530         * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
8531         * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
8532         * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
8533         * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
8534         * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
8535         * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
8536         * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
8537         * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
8538         * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
8539         * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
8540         * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
8541         * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
8542         * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
8543         * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
8544         * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
8545         * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
8546         * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
8547         * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
8548         * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
8549         * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
8550         * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
8551         * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
8552         * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
8553         * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
8554         * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
8555         * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
8556         * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
8557         * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
8558         * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
8559         * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
8560         * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
8561         * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
8562         * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
8563         * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
8564         * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
8565         * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
8566         * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
8567         * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
8568         * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
8569         * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
8570         * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
8571         * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
8572         * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
8573         * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
8574         * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
8575         * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
8576         * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
8577         * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
8578         * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
8579         * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
8580         * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
8581         * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
8582         * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
8583         * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
8584         * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
8585         * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
8586         * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
8587         * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
8588         * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
8589         * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
8590         * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
8591         * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
8592         * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
8593         * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
8594         * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
8595         * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
8596         * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
8597         * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
8598         * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
8599         * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
8600         * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
8601         * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
8602         * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
8603         * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
8604         * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
8605         * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
8606         * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
8607         * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
8608         * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
8609         * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
8610         * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
8611         * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
8612         * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
8613         * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
8614         * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
8615         * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
8616         * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
8617         * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
8618         * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
8619         * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
8620         * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
8621         * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
8622         * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
8623         * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
8624         * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
8625         * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
8626         * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
8627         * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
8628         * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
8629         * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
8630         * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
8631         * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
8632         * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
8633         * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
8634         * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
8635         * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
8636         * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
8637         * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
8638         * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
8639         * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
8640         * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
8641         * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
8642         * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
8643         * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
8644         * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
8645         * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
8646         * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
8647         * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
8648         * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
8649         * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
8650         * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
8651         * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
8652         * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
8653         * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
8654         * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
8655         * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
8656         * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
8657         * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
8658         * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
8659         * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
8660         * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
8661         * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
8662         * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
8663         * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
8664         * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
8665         * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
8666         * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
8667         * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
8668         * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
8670 2008-10-03  Timothy Hatcher  <timothy@apple.com>
8672         Adds support to the Web Inspector's Elements panel for fast tag name,
8673         class name, id and attribute name searching. The panel first tries
8674         using getElementById, getElementsByClassName and getElementsByTagName
8675         with the search query. Then does a slower search using XPath for partial
8676         matches, text and comment matches.
8678         Adds support for search queries like "<div>", "<h" and "frame>".
8679         These forms limit the search to tag names, text and comment matches.
8681         https://bugs.webkit.org/show_bug.cgi?id=21353
8683         Reviewed by Maciej Stachowiak.
8685         * page/inspector/ElementsPanel.js:
8686         (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
8687         support. Add new search functions that try exact matches first.
8689 2008-10-03  Timothy Hatcher  <timothy@apple.com>
8691         Changes how searching works in the Web Inspector's Elements
8692         panel. The search tasks are divided into chunks that are small
8693         units of work that are performed at a time interval. This
8694         change also prevents queries that will select all elements,
8695         since that isn't useful.
8697         https://bugs.webkit.org/show_bug.cgi?id=21285
8699         Reviewed by Oliver Hunt.
8701         * page/inspector/ElementsPanel.js:
8702         (WebInspector.ElementsPanel.prototype.searchCancled):
8703         Remove the searchResultsProperty form results since there might
8704         be an unfinished search.
8705         (WebInspector.ElementsPanel.prototype.performSearch): Divide the
8706         documents and search functions into chunks that are performed on
8707         a interval of 25ms. Prevent searches for "//*" and "*".
8709 2008-10-03  Maciej Stachowiak  <mjs@apple.com>
8711         Reviewed by Cameron Zwarich.
8713         - "this" object in methods called on primitives should be wrapper object
8714         https://bugs.webkit.org/show_bug.cgi?id=21362
8716         Updated so toThis conversion for the split window is handled properly.
8718         * bindings/scripts/CodeGeneratorJS.pm:
8720 2008-10-03  Sam Weinig  <sam@webkit.org>
8722         Reviewed by David "The Motivator" Hyatt.
8724         Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
8725         Move SecurityOrigin out of platform/ to page/.
8727         It was a layering violation for SecurityOrigin to be in platform
8728         as it depended on FrameLoader.
8730         * GNUmakefile.am:
8731         * WebCore.pro:
8732         * WebCore.vcproj/WebCore.vcproj:
8733         * WebCore.xcodeproj/project.pbxproj:
8734         * WebCoreSources.bkl:
8735         * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
8736         * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
8737         * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
8738         * platform/SecurityOrigin.cpp: Removed.
8739         * platform/SecurityOrigin.h: Removed.
8740         * platform/SecurityOriginHash.h: Removed.
8742 2008-10-03  Marco Barisione  <marco.barisione@collabora.co.uk>
8744         Reviewed by Alp Toker.
8746         http://bugs.webkit.org/show_bug.cgi?id=18832
8747         [curl] file upload does not work
8749         The curl_off_t integer type has a different size depending if large
8750         file support is enabled or not. There is no different public API for
8751         the two cases, so the same function accepts a different type based on
8752         a compilation option the could be different in WebKit and libcurl.
8753         To fix the bug we query libcurl at runtime for large file support and
8754         pass the right type based on that.
8756         * platform/network/curl/ResourceHandleManager.cpp:
8757         (WebCore::ResourceHandleManager::setupPOST):
8759 2008-10-03  Jan Michael Alonzo  <jmalonzo@webkit.org>
8761         Reviewed by David Hyatt.
8763         Gtk build fixes.
8765         * platform/gtk/FileChooserGtk.cpp:
8766         (WebCore::FileChooser::openFileChooser):
8767         * platform/gtk/PlatformScreenGtk.cpp:
8768         (WebCore::screenDepth):
8769         (WebCore::screenDepthPerComponent):
8770         (WebCore::screenAvailableRect):
8771         * platform/gtk/PopupMenuGtk.cpp:
8772         (WebCore::PopupMenu::show):
8773         * platform/gtk/ScrollViewGtk.cpp:
8774         (WebCore::ScrollView::platformAddChild):
8775         (WebCore::ScrollView::platformRemoveChild):
8776         * platform/gtk/WidgetGtk.cpp:
8777         (WebCore::Widget::setCursor):
8778         * plugins/gtk/PluginViewGtk.cpp:
8779         (WebCore::PluginView::getValue):
8780         (WebCore::PluginView::forceRedraw):
8781         (WebCore::PluginView::init):
8783 2008-10-03  David Hyatt  <hyatt@apple.com>
8785         Fix Qt bustage from missing include.
8787         * platform/qt/PlatformScreenQt.cpp:
8789 2008-10-03  David Hyatt  <hyatt@apple.com>
8791         Fix Windows scrollbar bustage in popup menus.
8793         * platform/win/PopupMenuWin.cpp:
8794         (WebCore::PopupWndProc):
8796 2008-10-03  David Hyatt  <hyatt@apple.com>
8798         Fix Windows bustage.
8800         * platform/win/FileChooserWin.cpp:
8801         (WebCore::FileChooser::openFileChooser):
8802         * platform/win/PlatformScreenWin.cpp:
8803         (WebCore::monitorInfoForWidget):
8804         * platform/win/WidgetWin.cpp:
8805         * plugins/win/PluginViewWin.cpp:
8806         (WebCore::PluginView::getValue):
8807         (WebCore::PluginView::forceRedraw):
8808         (WebCore::PluginView::init):
8810 2008-10-03  Darin Adler  <darin@apple.com>
8812         * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
8813         seen on some machines but not others by adding an include.
8815 2008-10-03  Darin Adler  <darin@apple.com>
8817         - Qt build fix
8819         * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
8820         execute functions. Declarations for these relied on the CodeType
8821         enumeration, which used to be in ExecState.h; but the functions
8822         aren't needed at all.
8823         * bridge/qt/qt_runtime.h: Ditto.
8825 2008-10-03  Darin Adler  <darin@apple.com>
8827         Reviewed by Geoff Garen.
8829         - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
8830           Turn ExecState into a call frame pointer.
8832         Remove m_globalObject and m_globalData from ExecState.
8834         * bindings/js/JSDOMWindowBase.cpp:
8835         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
8836         Removed an argument now that JSGlobalObject doesn't need it any more.
8837         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
8838         the JSDOMWindowBaseData constructor, and added the this argument to the
8839         JSGlobalObject constructor. This is because a couple key bits of
8840         initialization moved from the data constructor to the JSGlobalObject
8841         constructor.
8842         * bindings/js/JSDOMWindowBase.h: Ditto.
8844         * bridge/qt/qt_runtime.cpp:
8845         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
8846         * bridge/runtime_method.cpp:
8847         (JSC::RuntimeMethod::RuntimeMethod):
8848         Pass JSGlobalData* instead of ExecState* to the InternalFunction
8849         constructor.
8851 2008-10-03  David Hyatt  <hyatt@apple.com>
8853         Fix Windows/Qt build bustage.
8855         Reviewed by ggaren
8857         * loader/EmptyClients.h:
8858         (WebCore::EmptyChromeClient::platformWindow):
8859         * page/Chrome.cpp:
8860         (WebCore::Chrome::platformWindow):
8861         * page/Chrome.h:
8862         * page/ChromeClient.h:
8863         * platform/HostWindow.h:
8864         * platform/qt/PlatformScreenQt.cpp:
8865         (WebCore::screenDepth):
8866         (WebCore::screenDepthPerComponent):
8867         (WebCore::screenIsMonochrome):
8868         (WebCore::screenRect):
8869         (WebCore::screenAvailableRect):
8870         * platform/qt/PopupMenuQt.cpp:
8871         (WebCore::PopupMenu::show):
8872         * platform/win/PopupMenuWin.cpp:
8873         (WebCore::PopupMenu::show):
8874         (WebCore::PopupMenu::calculatePositionAndSize):
8875         (WebCore::PopupWndProc):
8877 2008-10-03  Simon Fraser  <simon.fraser@apple.com>
8879         Reviewed by Dave Hyatt
8881         Make setStyle() take a const RenderStyle, to ensure that an
8882         earlier RenderStyle::diff() remains valid.
8884         * rendering/RenderBR.cpp:
8885         * rendering/RenderBR.h:
8886         * rendering/RenderBlock.cpp:
8887         * rendering/RenderBlock.h:
8888         * rendering/RenderBox.cpp:
8889         * rendering/RenderBox.h:
8890         * rendering/RenderButton.cpp:
8891         * rendering/RenderButton.h:
8892         * rendering/RenderFieldset.cpp:
8893         * rendering/RenderFieldset.h:
8894         * rendering/RenderFileUploadControl.cpp:
8895         * rendering/RenderFileUploadControl.h:
8896         * rendering/RenderInline.cpp:
8897         * rendering/RenderInline.h:
8898         * rendering/RenderListBox.cpp:
8899         * rendering/RenderListBox.h:
8900         * rendering/RenderListItem.cpp:
8901         * rendering/RenderListItem.h:
8902         * rendering/RenderListMarker.cpp:
8903         * rendering/RenderListMarker.h:
8904         * rendering/RenderMenuList.cpp:
8905         * rendering/RenderMenuList.h:
8906         * rendering/RenderObject.cpp:
8907         (WebCore::RenderObject::setStyle):
8908         * rendering/RenderObject.h:
8909         * rendering/RenderReplaced.cpp:
8910         * rendering/RenderReplaced.h:
8911         * rendering/RenderSVGBlock.cpp:
8912         (WebCore::RenderSVGBlock::setStyle):
8913         * rendering/RenderSVGBlock.h:
8914         * rendering/RenderSVGGradientStop.cpp:
8915         * rendering/RenderSVGGradientStop.h:
8916         * rendering/RenderSlider.cpp:
8917         * rendering/RenderSlider.h:
8918         * rendering/RenderTable.cpp:
8919         * rendering/RenderTable.h:
8920         * rendering/RenderTableCell.cpp:
8921         * rendering/RenderTableCell.h:
8922         * rendering/RenderTableRow.cpp:
8923         * rendering/RenderTableRow.h:
8924         * rendering/RenderText.cpp:
8925         * rendering/RenderText.h:
8926         * rendering/RenderTextControl.cpp:
8927         * rendering/RenderTextControl.h:
8928         * rendering/RenderWidget.cpp:
8929         * rendering/RenderWidget.h:
8930         * rendering/style/RenderStyle.h:
8931         (WebCore::RenderStyle::isDisplayReplacedType):
8932         (WebCore::RenderStyle::isDisplayInlineType):
8934 2008-10-03  David Hyatt  <hyatt@apple.com>
8936         Preparation for enabling scrollbars to hit test properly inside transforms.  Clean up the scrollbar
8937         event handlers to no longer be virtual.  Don't pass a mouse event where none is needed.  Add a new
8938         method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
8939         that will work properly for hit testing.  This patch just stubs out that method to return the same
8940         event untransformed.
8942         Reviewed by Darin Adler
8944         * page/EventHandler.cpp:
8945         (WebCore::EventHandler::handleMouseDoubleClickEvent):
8946         (WebCore::EventHandler::handleMouseMoveEvent):
8947         (WebCore::EventHandler::handleMouseReleaseEvent):
8948         (WebCore::EventHandler::passMousePressEventToScrollbar):
8949         * page/gtk/EventHandlerGtk.cpp:
8950         * page/mac/EventHandlerMac.mm:
8951         * page/qt/EventHandlerQt.cpp:
8952         * page/win/EventHandlerWin.cpp:
8953         * page/wx/EventHandlerWx.cpp:
8954         * platform/Scrollbar.cpp:
8955         (WebCore::Scrollbar::mouseMoved):
8956         (WebCore::Scrollbar::mouseExited):
8957         (WebCore::Scrollbar::mouseUp):
8958         (WebCore::Scrollbar::mouseDown):
8959         (WebCore::Scrollbar::transformEvent):
8960         * platform/Scrollbar.h:
8962 2008-10-03  David Hyatt  <hyatt@apple.com>
8964         https://bugs.webkit.org/show_bug.cgi?id=21340
8965         
8966         Remove "containingWindow()/setContainingWindow()" from Widget.  HostWindow covers this now.
8967     
8968         Reviewed by Dan Bernstein & Darin Adler
8969         
8970         * platform/ScrollView.cpp:
8971         (WebCore::ScrollView::addChild):
8972         * platform/Widget.cpp:
8973         (WebCore::Widget::init):
8974         * platform/Widget.h:
8975         * platform/mac/WidgetMac.mm:
8976         * platform/win/PopupMenuWin.cpp:
8977         (WebCore::PopupMenu::show):
8979 2008-10-03  Adele Peterson  <adele@apple.com>
8981         Reviewed by Sam Weinig.
8983         * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
8984         Return early if settings is nil.
8986 2008-10-03  Rob Buis  <buis@kde.org>
8988         Reviewed by Darin.
8990         https://bugs.webkit.org/show_bug.cgi?id=20134
8991         REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
8993         Make sure the input element gets the right default value when no value is set.
8995         Test: fast/forms/range-default-value.html
8997         * rendering/RenderSlider.cpp:
8998         (WebCore::RenderSlider::setPositionFromValue):
9000 2008-10-03  David Hyatt  <hyatt@apple.com>
9002         Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
9003         destructor that calls them, switch to having a cross-platform constructor/destructor that calls
9004         platform-specific init/destroy methods.
9006         With this change, ScrollViewWin.cpp can be removed from the build (yay!).
9008         Reviewed by Darin Adler
9010         * WebCore.vcproj/WebCore.vcproj:
9011         * platform/ScrollView.cpp:
9012         (WebCore::ScrollView::ScrollView):
9013         (WebCore::ScrollView::~ScrollView):
9014         (WebCore::ScrollView::platformInit):
9015         (WebCore::ScrollView::platformDestroy):
9016         (WebCore::ScrollView::platformAddChild):
9017         (WebCore::ScrollView::platformRemoveChild):
9018         * platform/ScrollView.h:
9019         * platform/gtk/ScrollViewGtk.cpp:
9020         (WebCore::ScrollView::platformInit):
9021         (WebCore::ScrollView::platformDestroy):
9022         * platform/mac/ScrollViewMac.mm:
9023         * platform/qt/ScrollViewQt.cpp:
9024         (WebCore::ScrollView::platformInit):
9025         (WebCore::ScrollView::platformDestroy):
9026         * platform/win/ScrollViewWin.cpp: Removed.
9027         * platform/wx/ScrollViewWx.cpp:
9028         (WebCore::ScrollView::platformInit):
9029         (WebCore::ScrollView::platformDestroy):
9030         (WebCore::ScrollView::setPlatformWidget):
9032 2008-10-03  Adele Peterson  <adele@apple.com>
9034         Reviewed by Dan Bernstein.
9036         Fix for <rdar://problem/6012018> 
9037         https://bugs.webkit.org/show_bug.cgi?id=21335
9038         CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
9040         * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
9042 2008-10-03  Ariya Hidayat  <ariya.hidayat@trolltech.com>
9044         Build fix.
9046         * platform/qt/WidgetQt.cpp:
9047         (WebCore::Widget::invalidateRect):
9049 2008-10-03  Alp Toker  <alp@nuanti.com>
9051         Remove some left-over GTK+ includes. No change in functionality.
9053         * platform/Cursor.h:
9054         * platform/graphics/Icon.h:
9055         * platform/gtk/RenderThemeGtk.h:
9057 2008-10-03  Alp Toker  <alp@nuanti.com>
9059         Build fix for trailing comment after #endif
9061         * dom/ElementRareData.h:
9063 2008-10-03  David Hyatt  <hyatt@apple.com>
9065         Remove addToDirtyRegion.
9066         
9067         Reviewed by Oliver Hunt
9069         * page/Chrome.cpp:
9070         * page/Chrome.h:
9071         * page/ChromeClient.h:
9072         * platform/ScrollView.h:
9073         * platform/gtk/ScrollViewGtk.cpp:
9074         * platform/qt/ScrollViewQt.cpp:
9075         * platform/win/ScrollViewWin.cpp:
9077 2008-10-03  Dan Bernstein  <mitz@apple.com>
9079         Reviewed by Maciej Stachowiak.
9081         - fix a CachedResource leak introduced in r37176 
9083         Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
9084         afterwards bail out of the outer pruneDeadResources().
9086         * loader/Cache.cpp:
9087         (WebCore::Cache::Cache):
9088         (WebCore::Cache::pruneDeadResources):
9089         (WebCore::Cache::remove):
9090         * loader/Cache.h:
9092 2008-10-03  David Hyatt  <hyatt@apple.com>
9094         https://bugs.webkit.org/show_bug.cgi?id=21330
9096         Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
9097         scrollbars.
9098         
9099         Reviewed by Oliver Hunt
9101         * platform/ScrollView.cpp:
9102         (WebCore::ScrollView::setHasHorizontalScrollbar):
9103         (WebCore::ScrollView::setHasVerticalScrollbar):
9104         (WebCore::ScrollView::platformHasHorizontalAdjustment):
9105         (WebCore::ScrollView::platformHasVerticalAdjustment):
9106         * platform/ScrollView.h:
9107         * platform/gtk/ScrollViewGtk.cpp:
9108         (WebCore::ScrollView::adjustmentChanged):
9109         (WebCore::ScrollView::ScrollView):
9110         (WebCore::ScrollView::~ScrollView):
9111         (WebCore::ScrollView::setGtkAdjustments):
9112         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
9113         (WebCore::ScrollView::platformHandleVerticalAdjustment):
9115 2008-10-03  Julien Chaffraix  <jchaffraix@webkit.org>
9117         Reviewed by Maciej Stachowiak.
9119         Bug 21106: .in format discussed changes
9120         https://bugs.webkit.org/show_bug.cgi?id=21106
9122         Change "upperCase" to "interfaceName" per-tag parameter as
9123         discussed on the mailing list. Removed the per-attribute version
9124         as it was not used.
9126         Also add the "Element" suffix to all interfaceName parameter to match
9127         the class name (and thus remove it from make_names.pl).
9129         * dom/make_names.pl:
9130         * html/HTMLTagNames.in:
9131         * svg/svgtags.in:
9133 2008-10-03  David Hyatt  <hyatt@apple.com>
9135         Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
9136         Hopefully this is a temporary hack that could eventually be removed.
9138         Reviewed by Sam Weinig
9140         * platform/ScrollView.cpp:
9141         (WebCore::ScrollView::scrollContents):
9142         * platform/ScrollView.h:
9143         (WebCore::ScrollView::rootPreventsBlitting):
9144         * platform/qt/ScrollViewQt.cpp:
9145         (WebCore::ScrollView::ScrollView):
9146         (WebCore::ScrollView::~ScrollView):
9147         (WebCore::ScrollView::platformAddChild):
9148         (WebCore::ScrollView::platformRemoveChild):
9150 2008-10-02  David Hyatt  <hyatt@apple.com>
9152         https://bugs.webkit.org/show_bug.cgi?id=21328
9153         
9154         Make widget invalidation more cross-platform.
9155         
9156         (1) Make invalidateRect a pure virtual function on Widget.  All leaf widgets must now implement this function.
9157         
9158         (2) Scrollbars now send invalidations through the ScrollbarClient.  windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
9159         This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
9160         
9161         (3) Plugins now have the native window invalidation code for windowed plugins.  Windowless plugins do a repaintRectangle on the plugin's renderer.
9162         
9163         (4) FrameViews now do a repaintRectangle on their owner element's renderer.
9165         Reviewed by Sam Weinig
9167         * WebCore.base.exp:
9168         * page/FrameView.cpp:
9169         (WebCore::FrameView::invalidateRect):
9170         (WebCore::FrameView::invalidateScrollbarRect):
9171         * page/FrameView.h:
9172         * platform/PopupMenu.h:
9173         * platform/ScrollView.cpp:
9174         (WebCore::ScrollView::scrollContents):
9175         * platform/ScrollView.h:
9176         * platform/Scrollbar.cpp:
9177         (WebCore::Scrollbar::setEnabled):
9178         (WebCore::Scrollbar::invalidateRect):
9179         * platform/Scrollbar.h:
9180         * platform/ScrollbarClient.h:
9181         * platform/Widget.h:
9182         * platform/gtk/WidgetGtk.cpp:
9183         * platform/mac/WidgetMac.mm:
9184         * platform/win/PopupMenuWin.cpp:
9185         (WebCore::PopupMenu::invalidateScrollbarRect):
9186         * platform/win/WidgetWin.cpp:
9187         * plugins/PluginView.cpp:
9188         (WebCore::PluginView::invalidateTimerFired):
9189         (WebCore::PluginView::invalidateWindowlessPluginRect):
9190         * plugins/PluginView.h:
9191         * plugins/gtk/PluginViewGtk.cpp:
9192         (WebCore::PluginView::invalidateRect):
9193         * plugins/qt/PluginViewQt.cpp:
9194         (WebCore::PluginView::invalidateRect):
9195         * plugins/win/PluginViewWin.cpp:
9196         (WebCore::PluginView::invalidateRect):
9197         (WebCore::PluginView::invalidateRegion):
9198         * rendering/RenderLayer.cpp:
9199         (WebCore::RenderLayer::invalidateScrollbarRect):
9200         * rendering/RenderLayer.h:
9201         * rendering/RenderListBox.cpp:
9202         (WebCore::RenderListBox::paintObject):
9203         (WebCore::RenderListBox::paintScrollbar):
9204         (WebCore::RenderListBox::invalidateScrollbarRect):
9205         * rendering/RenderListBox.h:
9207 2008-10-02  Dan Bernstein  <mitz@apple.com>
9209         Reviewed by Geoffrey Garen and Sam Weinig.
9211         - fix SVGFontFaceElement leaks seen in Acid3
9212         - make font-face elements take effect only when they are in the document tree
9214         Test: svg/custom/font-face-not-in-document.svg
9216         * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
9217         RefPtr to a plain pointer to break a ref cycle.
9218         (WebCore::SVGFontData::svgFontFaceElement):
9220         * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
9221         @font-face rule from the document's mapped element sheet when the
9222         element is inserted and removed from the document, and to update it
9223         only when the element is in the document.
9224         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
9225         (WebCore::SVGFontFaceElement::parseMappedAttribute):
9226         (WebCore::SVGFontFaceElement::rebuildFontFace):
9227         (WebCore::SVGFontFaceElement::insertedIntoDocument):
9228         (WebCore::SVGFontFaceElement::removedFromDocument):
9229         (WebCore::SVGFontFaceElement::childrenChanged):
9230         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
9231         * svg/SVGFontFaceElement.h:
9233 2008-10-01  Simon Fraser  <simon.fraser@apple.com>
9235         Reviewed by Dave Hyatt
9237         Fix RenderFileUploadControl::setStyle() and 
9238         RenderMenuList::setStyle() to not touch the style; replace
9239         with html4.css and CSSStyleSelector changes.
9241         https://bugs.webkit.org/show_bug.cgi?id=21287
9243         * css/CSSStyleSelector.cpp:
9244         (WebCore::CSSStyleSelector::adjustRenderStyle):
9245         * css/html4.css:
9246         * rendering/RenderBlock.cpp:
9247         (WebCore::RenderBlock::setStyle):
9248         * rendering/RenderFileUploadControl.cpp:
9249         * rendering/RenderMenuList.cpp:
9250         (WebCore::RenderMenuList::setStyle):
9252 2008-10-01  Simon Fraser  <simon.fraser@apple.com>
9254         Reviewed by Dave Hyatt
9256         Clean up code that changes the RenderStyle passed in to
9257         table renderer setStyle() methods.
9258         
9259         https://bugs.webkit.org/show_bug.cgi?id=21287
9260         
9261         Tests: fast/table/floating-th.html
9262                fast/table/table-display-types-strict.html
9263                fast/table/table-display-types.html
9265         * css/CSSStyleSelector.cpp:
9266         (WebCore::CSSStyleSelector::adjustRenderStyle):
9267         * rendering/RenderTableCell.cpp:
9268         (WebCore::RenderTableCell::setStyle):
9269         * rendering/RenderTableRow.cpp:
9270         (WebCore::RenderTableRow::setStyle):
9271         * rendering/RenderTableSection.cpp:
9272         (WebCore::RenderTableSection::setStyle):
9274 2008-10-02  Darin Adler  <darin@apple.com>
9276         - fix build
9278         * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
9279         Not just locally in my generated file!
9281 2008-10-02  Adele Peterson  <adele@apple.com>
9283         Reviewed by Dan Bernstein.
9285         Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
9286         REGRESSION: <input> color specified in inline style applies to placeholder
9288         I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes.  A pseudo-element
9289         is more appropriate.  This change adds "-webkit-input-placeholder".
9291         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
9292         Added definition for "-webkit-input-placeholder" pseudo element.
9293         * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
9294         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
9295         Added case for PseudoInputPlaceholder.
9296         * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
9297         * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
9299         * html/HTMLInputElement.cpp:
9300         (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
9301         (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
9302         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
9303         setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
9304         * rendering/RenderTextControl.cpp:
9305         (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
9306         (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
9307         the text will be updated correctly.
9308         * rendering/RenderTextControl.h:
9310 2008-10-02  Chris Fleizach  <cfleizach@apple.com>
9312         Reviewed by Darin Adler.
9314         https://bugs.webkit.org/show_bug.cgi?id=21280
9315         <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
9317         Updated AXTable detection to be more robust to false-positives. Specifically, added checks
9318         to ensure that there is more than one valid table cell, and that at least half of the cells
9319         have borders or have specific background colors. Modified the table detection layout test
9320         to test for the tables mentioned in the bug
9322         * page/AccessibilityTable.cpp:
9323         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
9325 2008-10-02  Darin Adler  <darin@apple.com>
9327         Reviewed by Geoff Garen.
9329         - https://bugs.webkit.org/show_bug.cgi?id=21321
9330           Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
9332         * bindings/js/GCController.cpp:
9333         (WebCore::collect): Use heap. instead of heap-> to work with the heap.
9334         (WebCore::GCController::gcTimerFired): Ditto.
9335         (WebCore::GCController::garbageCollectNow): Ditto.
9336         * bindings/js/JSDOMWindowShell.cpp:
9337         (WebCore::JSDOMWindowShell::operator new): Ditto.
9338         * storage/Database.cpp:
9339         (WebCore::Database::Database): Ditto.
9341 2008-10-02  Dan Bernstein  <mitz@apple.com>
9343         Reviewed by Alexey Proskuryakov.
9345         - fix a Database leak that resulted in Document leaks
9347         * storage/Database.cpp:
9348         (WebCore::Database::openDatabase): Account for the fact that RefCounted 
9349         objects start out with a ref count of 1.
9351 2008-10-02  Sam Weinig  <sam@webkit.org>
9353         Reviewed by Mr. Geoffrey Garen.
9355         Always mark your parent before marking members.
9357         * bindings/js/JSDOMWindowCustom.cpp:
9358         (WebCore::JSDOMWindow::mark):
9360 2008-10-02  David Hyatt  <hyatt@apple.com>
9362         https://bugs.webkit.org/show_bug.cgi?id=21314
9363         
9364         Make scrollBackingStore cross-platform.
9366         Reviewed by Sam Weinig
9368         * loader/EmptyClients.h:
9369         (WebCore::EmptyChromeClient::repaint):
9370         (WebCore::EmptyChromeClient::scroll):
9371         * page/Chrome.cpp:
9372         (WebCore::Chrome::repaint):
9373         (WebCore::Chrome::scroll):
9374         * page/Chrome.h:
9375         * page/ChromeClient.h:
9376         * page/EventHandler.cpp:
9377         (WebCore::EventHandler::handleAutoscroll):
9378         * platform/HostWindow.h:
9379         * platform/ScrollView.cpp:
9380         (WebCore::ScrollView::scrollContents):
9381         (WebCore::ScrollView::addPanScrollIcon):
9382         (WebCore::ScrollView::removePanScrollIcon):
9383         * platform/ScrollView.h:
9384         * platform/gtk/ScrollViewGtk.cpp:
9385         * platform/qt/ScrollViewQt.cpp:
9386         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
9387         (WebCore::ScrollView::~ScrollView):
9388         * platform/win/ScrollViewWin.cpp:
9389         (WebCore::ScrollView::ScrollView):
9390         (WebCore::ScrollView::~ScrollView):
9392 2008-10-02  Kevin Ollivier  <kevino@theolliviers.com>
9394         wx build fixes after Frame/ScrollView changes.
9396         * WebCoreSources.bkl:
9397         * platform/wx/ScrollViewWx.cpp:
9398         (WebCore::ScrollView::platformContentsToScreen):
9399         (WebCore::ScrollView::platformScreenToContents):
9400         (WebCore::ScrollView::platformIsOffscreen):
9402 2008-10-02  Brett Wilson  <brettw@chromium.org>
9404         Reviewed by Sam Weinig
9406         https://bugs.webkit.org/show_bug.cgi?id=21292
9408         Revert the changes to enclosingIntRect made in r12530 since the new code
9409         doesn't round correctly.
9411         * ChangeLog:
9412         * platform/graphics/FloatRect.cpp:
9413         (WebCore::enclosingIntRect):
9415 2008-10-02  Dan Bernstein  <mitz@apple.com>
9417         Reviewed by Anders Carlsson and Eric Seidel.
9419         - fix HTMLCanvaseElement leak from -webkit-canvas() values
9421         Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
9422         pointer, as the document owns the canvas elements. Added code to release
9423         those elements in Document::removedLastRef() because they reference
9424         the document.
9426         * css/CSSCanvasValue.cpp:
9427         (WebCore::CSSCanvasValue::element):
9428         * css/CSSCanvasValue.h:
9429         (WebCore::CSSCanvasValue::CSSCanvasValue):
9430         * dom/Document.cpp:
9431         (WebCore::Document::removedLastRef):
9433 2008-10-02  Alexey Proskuryakov  <ap@webkit.org>
9435         Reviewed by Maciej Stachowiak.
9437         Build fix for platforms that don't implement WTF::ThreadSpecific.
9439         * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
9440         Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
9441         code is only needed for JS bindings in worker threads.
9443 2008-10-01  David Hyatt  <hyatt@apple.com>
9445         https://bugs.webkit.org/show_bug.cgi?id=21298
9446         
9447         Make updateScrollbars cross-platform.  For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store.  Next patch
9448         will make that cross-platform.  
9449         
9450         The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
9451         multiple inheritance.  For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
9452         windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
9453         
9454         Reviewed by Sam Weinig
9456         * page/FrameView.cpp:
9457         (WebCore::FrameView::windowClipRect):
9458         (WebCore::FrameView::isActive):
9459         * page/FrameView.h:
9460         (WebCore::FrameView::visibleContentsResized):
9461         * platform/PopupMenu.h:
9462         * platform/ScrollView.cpp:
9463         (WebCore::ScrollView::init):
9464         (WebCore::ScrollView::destroy):
9465         (WebCore::ScrollView::setHasHorizontalScrollbar):
9466         (WebCore::ScrollView::setHasVerticalScrollbar):
9467         (WebCore::ScrollView::valueChanged):
9468         (WebCore::ScrollView::updateScrollbars):
9469         (WebCore::ScrollView::scrollContents):
9470         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
9471         (WebCore::ScrollView::platformHandleVerticalAdjustment):
9472         * platform/ScrollView.h:
9473         * platform/Scrollbar.cpp:
9474         (WebCore::Scrollbar::windowClipRect):
9475         * platform/ScrollbarClient.h:
9476         * platform/gtk/ScrollViewGtk.cpp:
9477         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
9478         (WebCore::ScrollView::platformHandleVerticalAdjustment):
9479         * platform/qt/ScrollViewQt.cpp:
9480         (WebCore::ScrollView::scrollContents):
9481         * platform/win/PopupMenuWin.cpp:
9482         (WebCore::PopupMenu::windowClipRect):
9483         * platform/win/ScrollViewWin.cpp:
9484         (WebCore::ScrollView::scrollContents):
9485         * rendering/RenderLayer.cpp:
9486         (WebCore::RenderLayer::windowClipRect):
9487         * rendering/RenderLayer.h:
9488         * rendering/RenderListBox.cpp:
9489         (WebCore::RenderListBox::panScroll):
9490         (WebCore::RenderListBox::windowClipRect):
9491         * rendering/RenderListBox.h:
9493 2008-10-02  Alexey Proskuryakov  <ap@webkit.org>
9495         Reviewed by Darin Adler.
9497         https://bugs.webkit.org/show_bug.cgi?id=21304
9498         Stop using a static wrapper map for WebCore JS bindings
9500         The static domObjects map was not thread safe.
9502         * dom/Document.h:
9503         (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
9504         ports.
9505         (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
9507         * dom/Document.cpp:
9508         (WebCore::Document::createdXMLHttpRequest):
9509         (WebCore::Document::destroyedXMLHttpRequest):
9510         Moved XMLHttpRequest tracking from a global map to Document.
9512         * GNUmakefile.am:
9513         * WebCore.pro:
9514         * WebCore.vcproj/WebCore.vcproj:
9515         * WebCore.xcodeproj/project.pbxproj:
9516         * WebCoreSources.bkl:
9517         * webcore-base.bkl:
9518         * bindings/DOMProtect.cpp: Removed.
9519         * bindings/DOMProtect.h: Removed.
9520         Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
9521         so they can no longer protect bindings objects.
9523         * dom/MessagePort.cpp:
9524         (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
9525         (WebCore::CloseMessagePortTimer::fired):
9526         (WebCore::MessagePort::MessagePort):
9527         (WebCore::MessagePort::queueCloseEvent):
9528         (WebCore::MessagePort::setPendingActivity):
9529         (WebCore::MessagePort::unsetPendingActivity):
9530         * dom/MessagePort.h:
9531         (WebCore::MessagePort::hasPendingActivity):
9532         MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
9533         to protect it.
9535         * xml/XMLHttpRequest.h:
9536         (WebCore::XMLHttpRequest::hasPendingActivity):
9537         * xml/XMLHttpRequest.cpp:
9538         (WebCore::XMLHttpRequest::XMLHttpRequest):
9539         (WebCore::XMLHttpRequest::~XMLHttpRequest):
9540         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
9541         (WebCore::XMLHttpRequest::dropProtection):
9542         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
9543         (WebCore::XMLHttpRequest::cancelRequests):
9544         (WebCore::XMLHttpRequest::detachRequests):
9545         (WebCore::XMLHttpRequest::setPendingActivity):
9546         (WebCore::XMLHttpRequest::unsetPendingActivity):
9547         Moved XMLHttpRequest tracking from a global map to Document. 
9549         * bindings/js/JSDOMBinding.cpp:
9550         (WebCore::wrapperSet):
9551         (WebCore::DOMObjectWrapperMap::mapFor):
9552         (WebCore::DOMObjectWrapperMap::get):
9553         (WebCore::DOMObjectWrapperMap::set):
9554         (WebCore::DOMObjectWrapperMap::remove):
9555         (WebCore::getCachedDOMObjectWrapper):
9556         (WebCore::cacheDOMObjectWrapper):
9557         (WebCore::forgetDOMObject):
9558         (WebCore::getCachedDOMNodeWrapper):
9559         (WebCore::forgetDOMNode):
9560         (WebCore::cacheDOMNodeWrapper):
9561         (WebCore::markActiveObjectsForDocument):
9562         * bindings/js/JSDOMBinding.h:
9563         (WebCore::createDOMObjectWrapper):
9564         (WebCore::getDOMObjectWrapper):
9565         Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
9566         to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
9567         WebCore objects can never migrate between threads.
9569         * bindings/js/JSDocumentCustom.cpp:
9570         (WebCore::JSDocument::mark):
9571         Call markActiveObjectsForDocument() from JSDOMBinding.
9573         * bindings/js/JSCSSRuleCustom.cpp:
9574         (WebCore::toJS):
9575         * bindings/js/JSCSSValueCustom.cpp:
9576         (WebCore::toJS):
9577         * bindings/js/JSDOMWindowCustom.cpp:
9578         (WebCore::markDOMObjectWrapper):
9579         (WebCore::JSDOMWindow::mark):
9580         * bindings/js/JSEventCustom.cpp:
9581         (WebCore::toJS):
9582         * bindings/js/JSEventTarget.cpp:
9583         (WebCore::toJS):
9584         * bindings/js/JSHTMLCollectionCustom.cpp:
9585         (WebCore::toJS):
9586         * bindings/js/JSImageDataCustom.cpp:
9587         (WebCore::toJS):
9588         * bindings/js/JSMessageChannelCustom.cpp:
9589         (WebCore::JSMessageChannel::mark):
9590         * bindings/js/JSMessagePortCustom.cpp:
9591         (WebCore::JSMessagePort::mark):
9592         * bindings/js/JSNodeCustom.cpp:
9593         (WebCore::JSNode::mark):
9594         * bindings/js/JSSVGPathSegCustom.cpp:
9595         (WebCore::toJS):
9596         * bindings/js/JSStyleSheetCustom.cpp:
9597         (WebCore::toJS):
9598         * bindings/js/JSXMLHttpRequestCustom.cpp:
9599         (WebCore::JSXMLHttpRequest::mark):
9600         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
9601         (WebCore::JSXMLHttpRequestUpload::mark):
9602         * bindings/js/ScriptController.cpp:
9603         (WebCore::ScriptController::finishedWithEvent):
9604         * bindings/scripts/CodeGeneratorJS.pm:
9605         Pass a JSGlobalData reference to functions that track JS wrapper objects.
9607 2008-10-02  Dan Bernstein  <mitz@apple.com>
9609         - build fix
9611         * page/JavaScriptCallFrame.idl:
9613 2008-10-02  Oliver Hunt  <oliver@apple.com>
9615         Reviewed by NOBODY (Build fix).
9617         Add new file to project files
9619         * GNUmakefile.am:
9620         * WebCore.pro:
9621         * WebCore.vcproj/WebCore.vcproj:
9623 2008-10-02  Geoffrey Garen  <ggaren@apple.com>
9625         Not reviewed.
9627         Try to fix some more builds.
9629         * GNUmakefile.am:
9630         * WebCore.pro:
9632 2008-10-02  Geoffrey Garen  <ggaren@apple.com>
9634         Not reviewed.
9635         
9636         Try to fix Windows build.
9638         * WebCore.vcproj/WebCore.vcproj:
9640 2008-10-01  Geoffrey Garen  <ggaren@apple.com>
9642         Reviewed by Darin Adler and Cameron Zwarich.
9644         Updated for JavaScriptCore API changes: use a SourceCode instead of
9645         broken out parameters; treat sourceId as intptr_t.
9647         * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
9648         * bindings/js/JSXMLHttpRequestCustom.cpp:
9649         (WebCore::JSXMLHttpRequest::send):
9650         * bindings/js/ScriptController.cpp:
9651         (WebCore::ScriptController::evaluate):
9652         * bindings/js/StringSourceProvider.h:
9653         (WebCore::StringSourceProvider::create):
9654         (WebCore::StringSourceProvider::StringSourceProvider):
9656         (WebCore::makeSource): Added a makeSource function for convenience.
9658         * bindings/objc/WebScriptObject.mm:
9659         (-[WebScriptObject evaluateWebScript:]):
9660         * bridge/NP_jsobject.cpp:
9661         (_NPN_Evaluate):
9662         * bridge/jni/jni_jsobject.mm:
9663         (JavaJSObject::call):
9664         (JavaJSObject::eval):
9665         (JavaJSObject::getMember):
9666         (JavaJSObject::setMember):
9667         (JavaJSObject::removeMember):
9669         * bridge/jni/jni_runtime.h:
9670         (JSC::Bindings::JavaString::operator UString): Replaced the explicit
9671         ustring() function with an implicit operator because this class already
9672         holds a UString::rep.
9674         * page/Console.cpp:
9675         (WebCore::retrieveLastCaller):
9676         (WebCore::Console::trace):
9677         * page/InspectorController.cpp:
9678         (WebCore::jsStringRef):
9679         (WebCore::InspectorController::addBreakpoint):
9680         (WebCore::InspectorController::removeBreakpoint):
9681         (WebCore::InspectorController::didParseSource):
9682         (WebCore::InspectorController::failedToParseSource):
9683         * page/InspectorController.h:
9684         * page/JavaScriptCallFrame.cpp:
9685         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
9686         * page/JavaScriptCallFrame.h:
9687         (WebCore::JavaScriptCallFrame::create):
9688         (WebCore::JavaScriptCallFrame::sourceIdentifier):
9689         (WebCore::JavaScriptCallFrame::update):
9690         * page/JavaScriptDebugListener.h:
9691         * page/JavaScriptDebugServer.cpp:
9692         (WebCore::JavaScriptDebugServer::addBreakpoint):
9693         (WebCore::JavaScriptDebugServer::removeBreakpoint):
9694         (WebCore::JavaScriptDebugServer::hasBreakpoint):
9695         (WebCore::dispatchDidParseSource):
9696         (WebCore::dispatchFailedToParseSource):
9697         (WebCore::JavaScriptDebugServer::sourceParsed):
9698         (WebCore::JavaScriptDebugServer::callEvent):
9699         (WebCore::JavaScriptDebugServer::atStatement):
9700         (WebCore::JavaScriptDebugServer::returnEvent):
9701         (WebCore::JavaScriptDebugServer::exception):
9702         (WebCore::JavaScriptDebugServer::willExecuteProgram):
9703         (WebCore::JavaScriptDebugServer::didExecuteProgram):
9704         (WebCore::JavaScriptDebugServer::didReachBreakpoint):
9705         * page/JavaScriptDebugServer.h:
9706         * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and 
9707         sourceIdentifier to sourceID.
9709 2008-10-01  Dan Bernstein  <mitz@apple.com>
9711         Reviewed by Geoffrey Garen.
9713         - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
9715         Broke a ref cycle by changing the m_svgFontFaceElement members of
9716         CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
9717         pointers. Also made sure that the @font-face rule added by
9718         SVGFontFaceElement to the document's mapped element sheet is removed
9719         when the font-face element is deleted or moved to another document.
9721         * css/CSSFontFaceSource.cpp:
9722         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
9723         (WebCore::CSSFontFaceSource::getFontData):
9724         * css/CSSFontFaceSource.h:
9725         (WebCore::CSSFontFaceSource::svgFontFaceElement):
9726         * css/CSSFontFaceSrcValue.h:
9727         (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
9728         (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
9729         * svg/SVGFontFaceElement.cpp:
9730         (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
9731         (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
9732         (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
9733         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
9734         * svg/SVGFontFaceElement.h:
9736 2008-10-01  Oliver Hunt  <oliver@apple.com>
9738         Reviewed by Maciej Stachowiak.
9740         Bug 20315: Memory leak with Canvas getImageData
9741         <https://bugs.webkit.org/show_bug.cgi?id=20315>
9743         This wasn't a leak, the issue was that we were reporting the cost
9744         of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
9745         and we should have been reporting the cost when we create the
9746         JSImageData wrapper.
9748         * WebCore.xcodeproj/project.pbxproj:
9749         * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
9750           This was only needed to report the extra memory cost
9751           of the CPA.
9752         * bindings/js/JSImageDataCustom.cpp:
9753         (WebCore::toJS):
9754           We need a custom toJS function now so that we can report
9755           the extra memory cost.
9756         * bindings/scripts/CodeGeneratorJS.pm:
9757           Need to replace the reference to CanvasPixelArray with ImageData
9758           to be able to create the custom toJS implementation.
9759         * html/CanvasPixelArray.idl:
9760         * html/ImageData.idl:
9762 2008-10-01  Dan Bernstein  <mitz@apple.com>
9764         Reviewed by Mark Rowe.
9766         - https://bugs.webkit.org/show_bug.cgi?id=21293
9767           REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
9769         * svg/SVGMarkerElement.cpp:
9770         (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
9771         that renderer destruction happens before the SVGMarkerElement is
9772         destroyed.
9773         * svg/SVGSVGElement.cpp:
9774         (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
9776 2008-10-01  Evan Martin  <evan@chromium.org>
9778         Reviewed by Eric Seidel.
9779         
9780         https://bugs.webkit.org/show_bug.cgi?id=20669
9782         * css/makeprop.pl:
9783         Die if gperf fails.
9785 2008-10-01  Evan Martin  <evan@chromium.org>
9787         Reviewed by Eric Seidel.
9789         * loader/icon/IconDatabase.h:
9790         IconDatabase uses HashMap, so it needs to #include the header.
9792 2008-10-01  Dan Bernstein  <mitz@apple.com>
9794         Reviewed by Mark Rowe.
9796         - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
9798         * loader/Cache.cpp:
9799         (WebCore::Cache::remove): Disable pruning temporarily during 
9800         CachedResource deletion.
9802 2008-10-01  Dan Bernstein  <mitz@apple.com>
9804         Reviewed by Mark Rowe.
9806         - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
9808         * svg/SVGFontFaceElement.cpp:
9809         (WebCore::SVGFontFaceElement::rebuildFontFace):
9810         * svg/SVGFontFaceElement.h:
9811         (WebCore::SVGFontFaceElement::associatedFontElement):
9813 2008-10-01  Brett Wilson  <brettw@chromium.org>
9815         Reviewed by Maciej Stachowiak.
9817         Document the rounding behavior of the mapRect(IntRect) function in
9818         AffineTransform.h.
9820         * platform/graphics/AffineTransform.h:
9822 2008-10-01  David Hyatt  <hyatt@apple.com>
9824         Move prohibitsScrolling from the Frame to the ScrollView.
9826         Reviewed by Sam Weinig
9828         * WebCore.base.exp:
9829         * page/Frame.cpp:
9830         (WebCore::FramePrivate::FramePrivate):
9831         * page/Frame.h:
9832         * page/FramePrivate.h:
9833         * page/FrameView.cpp:
9834         (WebCore::FrameView::scrollRectIntoViewRecursively):
9835         (WebCore::FrameView::setScrollPosition):
9836         * platform/ScrollView.cpp:
9837         (WebCore::ScrollView::init):
9838         (WebCore::ScrollView::scrollRectIntoViewRecursively):
9839         (WebCore::ScrollView::setScrollPosition):
9840         * platform/ScrollView.h:
9841         (WebCore::ScrollView::setProhibitsScrolling):
9842         (WebCore::ScrollView::prohibitsScrolling):
9843         * platform/gtk/ScrollViewGtk.cpp:
9844         (WebCore::ScrollView::updateScrollbars):
9845         * platform/qt/ScrollViewQt.cpp:
9846         (WebCore::ScrollView::updateScrollbars):
9847         * platform/win/ScrollViewWin.cpp:
9848         (WebCore::ScrollView::updateScrollbars):
9850 2008-10-01  Mark Rowe  <mrowe@apple.com>
9852         Reviewed by Geoff Garen.
9854         Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
9856         * xml/XMLHttpRequest.cpp:
9857         (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
9858         that we do during the loadRequestAsynchronously of the preflight request with a deref and
9859         GC unprotect.
9861 2008-10-01  David Hyatt  <hyatt@apple.com>
9863         Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
9864         clear that the boolean doesn't actually stop all scrolling.  It just gets rid of scrollbars.
9866         Reviewed by Tim Hatcher
9868         * WebCore.base.exp:
9869         * page/FrameView.cpp:
9870         (WebCore::FrameView::setCanHaveScrollbars):
9871         * page/FrameView.h:
9872         * platform/ScrollView.cpp:
9873         (WebCore::ScrollView::setCanHaveScrollbars):
9874         (WebCore::ScrollView::wheelEvent):
9875         * platform/ScrollView.h:
9876         (WebCore::ScrollView::canHaveScrollbars):
9878 2008-10-01  Dan Bernstein  <mitz@apple.com>
9880         Reviewed by Mark Rowe.
9882         - fix some CachedResource leaks seen on buildbot
9884         The issue here was that emptying the cache was a no-op when it only
9885         contained resources with no data. Changed to go after those
9886         resources when the desired cache capacity is zero.
9888         * loader/Cache.cpp:
9889         (WebCore::Cache::pruneLiveResources):
9890         (WebCore::Cache::pruneDeadResources):
9891         * loader/Cache.h:
9892         (WebCore::Cache::prune):
9894 2008-10-01  David Hyatt  <hyatt@apple.com>
9896         Make isOffscreen cross-platform.  Only Mac implements this method, so hold off on adding API to the
9897         HostWindow object until other platforms decide they want this method.  (We need it for Win though at some point.)
9899         Reviewed by Adam Roben
9901         * platform/ScrollView.cpp:
9902         (WebCore::ScrollView::isOffscreen):
9903         (WebCore::ScrollView::platformIsOffscreen):
9904         * platform/ScrollView.h:
9905         * platform/gtk/ScrollViewGtk.cpp:
9906         * platform/mac/ScrollViewMac.mm:
9907         (WebCore::ScrollView::platformIsOffscreen):
9908         * platform/qt/ScrollViewQt.cpp:
9909         * platform/wx/ScrollViewWx.cpp:
9911 2008-10-01  David Hyatt  <hyatt@apple.com>
9913         Make show/hide/setParentVisible cross-platform on ScrollView.
9915         Reviewed by Adam Roben
9917         * platform/ScrollView.cpp:
9918         (WebCore::ScrollView::setParentVisible):
9919         (WebCore::ScrollView::show):
9920         (WebCore::ScrollView::hide):
9921         * platform/ScrollView.h:
9922         * platform/win/ScrollViewWin.cpp:
9924 2008-10-01  Kevin McCullough  <kmccullough@apple.com>
9926         Reviewed by Dan Bernstein.
9928         https://bugs.webkit.org/show_bug.cgi?id=21284
9929         Bug 21284: Max height affects max width
9930         - Looks like a cut and paste bug
9931         - Added layout test fast/css/max-height-and-max-width.html
9933         * css/CSSComputedStyleDeclaration.cpp:
9934         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
9936 2008-10-01  David Hyatt  <hyatt@apple.com>
9938         https://bugs.webkit.org/show_bug.cgi?id=21282
9939         
9940         Make contentsToScreen/screenToContents cross-platform.  Only implemented by Mac/Win right now.
9941         
9942         Reviewed by Adam Roben
9944         * loader/EmptyClients.h:
9945         (WebCore::EmptyChromeClient::screenToWindow):
9946         (WebCore::EmptyChromeClient::windowToScreen):
9947         * page/Chrome.cpp:
9948         (WebCore::Chrome::screenToWindow):
9949         (WebCore::Chrome::windowToScreen):
9950         * page/Chrome.h:
9951         * page/ChromeClient.h:
9952         * platform/HostWindow.h:
9953         * platform/ScrollView.cpp:
9954         (WebCore::ScrollView::contentsToScreen):
9955         (WebCore::ScrollView::screenToContents):
9956         (WebCore::ScrollView::platformContentsToScreen):
9957         (WebCore::ScrollView::platformScreenToContents):
9958         * platform/ScrollView.h:
9959         * platform/mac/ScrollViewMac.mm:
9960         (WebCore::ScrollView::platformContentsToScreen):
9961         (WebCore::ScrollView::platformScreenToContents):
9962         * platform/win/ScrollViewWin.cpp:
9964 2008-10-01  Dan Bernstein  <mitz@apple.com>
9966         Reviewed by Darin Adler.
9968         - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
9970         Test: fast/parser/residual-style-close-across-removed-block.html
9972         * html/HTMLParser.cpp:
9973         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
9974         an assertion that turned out to be wrong in this case, and changed to
9975         terminate the algorithm at the first empty block.
9977 2008-10-01  David Hyatt  <hyatt@apple.com>
9979         Make setFrameRect on ScrollView cross-platform.
9981         Reviewed by Sam Weinig
9983         * page/FrameView.h:
9984         (WebCore::FrameView::contentsResized):
9985         * platform/ScrollView.cpp:
9986         (WebCore::ScrollView::setFrameRect):
9987         * platform/ScrollView.h:
9988         * platform/gtk/ScrollViewGtk.cpp:
9989         * platform/qt/ScrollViewQt.cpp:
9990         * platform/win/ScrollViewWin.cpp:
9992 2008-10-01  Sam Weinig  <sam@webkit.org>
9994         Reviewed by Adele Peterson.
9996         Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
9997         to JSDOMWindow from JSDOMWindowBase.
9999         * WebCore.xcodeproj/project.pbxproj:
10000         * bindings/js/JSDOMWindowBase.cpp:
10001         (WebCore::JSDOMWindowBase::removeTimeout):
10002         * bindings/js/JSDOMWindowBase.h:
10003         * bindings/js/JSDOMWindowCustom.cpp:
10004         (WebCore::setTimeoutOrInterval):
10005         (WebCore::JSDOMWindow::setTimeout):
10006         (WebCore::JSDOMWindow::clearTimeout):
10007         (WebCore::JSDOMWindow::setInterval):
10008         (WebCore::JSDOMWindow::clearInterval):
10009         (WebCore::JSDOMWindow::atob):
10010         (WebCore::JSDOMWindow::btoa):
10011         * page/DOMWindow.idl:
10013 2008-10-01  Dan Bernstein  <mitz@apple.com>
10015         - Mac build fix
10017         * WebCore.base.exp:
10019 2008-10-01  Timothy Hatcher  <timothy@apple.com>
10021         Prevent stealing focus from the search field when focusing a DOM node.
10023         https://bugs.webkit.org/show_bug.cgi?id=21275
10025         Reviewed by Kevin McCullough.
10027         * page/inspector/ElementsPanel.js:
10028         (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
10029         Don't steal focus if the current focus element is the search field.
10031 2008-09-30  Sam Weinig  <sam@webkit.org>
10033         Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
10035         Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
10036         Autogenerate JS event listeners
10038         - Generate getting/setting of EventListeners.
10040         - Adding a new named EventListener now has the same process as adding any other DOM
10041           attribute. (Add a method with the same name in the c++ file).
10043         (The EventListeners for MessagePort have been intentionally left custom so that we
10044         can continue to experiment with making those EventListeners work in a frame-less world.)
10046         * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
10047         * bindings/js/JSDOMWindowCustom.cpp: ditto.
10048         * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
10049         * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
10050         * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
10051         * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
10052         getter/setters
10053         * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
10054         * dom/EventTargetNode.h: ditto.
10055         * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
10056         will use JSEventListerner instead of JSUnprotectedEventListener.
10057         * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
10058         * page/DOMWindow.cpp: Add getter/setters for named EventListener
10059         * page/DOMWindow.h: ditto.
10060         * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
10061         will use JSEventListerner instead of JSUnprotectedEventListener.
10062         * xml/XMLHttpRequest.idl: Remove custom attributes.
10063         * xml/XMLHttpRequestUpload.idl: ditto.
10065 2008-09-30  Mark Rowe  <mrowe@apple.com>
10067         Reviewed by Dan Bernstein.
10069         Add a leak counter for CachedResources since we've had two recent leaks involving them.
10071         * loader/CachedResource.cpp:
10072         (WebCore::CachedResource::CachedResource):
10073         (WebCore::CachedResource::~CachedResource):
10075 2008-09-30  Dan Bernstein  <mitz@apple.com>
10077         Reviewed by Dave Hyatt.
10079         - fix https://bugs.webkit.org/show_bug.cgi?id=21127
10080           <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
10082         If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
10083         the font name in memory.
10085         * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
10086         OpenTypeUtilities.*.
10088         * platform/graphics/win/FontCustomPlatformData.cpp:
10089         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
10090         to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
10091         used.
10092         (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
10093         for fonts loaded using AddFontMemResourceEx.
10094         (WebCore::createFontCustomPlatformData): Added a call to
10095         renameAndActivateFont() if TTLoadEmbeddedFont fails. If
10096         TTLoadEmbeddedFont succeeds, set the font name to the null string, as
10097         fontPlatformData() will retrieve the name from the font reference.
10099         * platform/graphics/win/FontCustomPlatformData.h:
10100         (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
10101         font name member.
10103         * platform/graphics/win/GetEOTHeader.cpp: Renamed.
10104         * platform/graphics/win/GetEOTHeader.h: Renamed.
10106         * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
10107         (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
10108         (WebCore::BigEndianULong::BigEndianULong): Ditto.
10109         (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
10110         the font data and modifies it to have the given name, then activates
10111         it using AddFontMemResourceEx.
10113         * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
10115 2008-09-30  Mark Rowe  <mrowe@apple.com>
10117         Reviewed by Dan Bernstein.
10119         Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
10121         * rendering/RenderObject.cpp:
10122         (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
10123         with calls to removeClient when we're being destroyed.
10125 2008-09-30  Eric Carlson  <eric.carlson@apple.com>
10127         Reviewed by Antti Koivisto.
10129         https://bugs.webkit.org/show_bug.cgi?id=21243
10131         Fix loopstart and loopend default values.
10133         Tests: media/loopend-limits.html
10134                media/loopstart-limits.html
10136         * html/HTMLMediaElement.cpp:
10137         (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
10138         (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
10140 2008-09-30  Kevin Ollivier  <kevino@theolliviers.com>
10142         wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
10144         * WebCoreSources.bkl:
10145         * platform/wx/ScrollViewWx.cpp:
10146         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
10148 2008-09-30  Dan Bernstein  <mitz@apple.com>
10150         Reviewed by Sam Weinig.
10152         - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
10153           was fixed in r17249 and re-introduced in r31435. 
10155         * html/HTMLViewSourceDocument.cpp:
10156         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
10157         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
10158         (WebCore::HTMLViewSourceDocument::addLine):
10159         (WebCore::HTMLViewSourceDocument::addLink):
10160         * html/HTMLViewSourceDocument.h:
10162 2008-09-30  Sam Weinig  <sam@webkit.org>
10164         Reviewed by Eric Seidel.
10166         More for https://bugs.webkit.org/show_bug.cgi?id=21122
10167         Autogenerate JS event listeners
10169         - Make EventListener getter/setters names in c++ files match those in 
10170           JS (ie. onLoadListener -> onload).
10171         - Add standard way to access the frame associated with the EventTarget
10172           for EventListener lookup.
10173         - Autogenerate dispatchEvent, it wasn't doing anything custom.
10175         * bindings/js/JSDOMApplicationCacheCustom.cpp:
10176         (WebCore::JSDOMApplicationCache::mark):
10177         (WebCore::JSDOMApplicationCache::addEventListener):
10178         (WebCore::JSDOMApplicationCache::removeEventListener):
10179         (WebCore::JSDOMApplicationCache::setOnchecking):
10180         (WebCore::JSDOMApplicationCache::onchecking):
10181         (WebCore::JSDOMApplicationCache::setOnerror):
10182         (WebCore::JSDOMApplicationCache::onerror):
10183         (WebCore::JSDOMApplicationCache::setOnnoupdate):
10184         (WebCore::JSDOMApplicationCache::onnoupdate):
10185         (WebCore::JSDOMApplicationCache::setOndownloading):
10186         (WebCore::JSDOMApplicationCache::ondownloading):
10187         (WebCore::JSDOMApplicationCache::setOnprogress):
10188         (WebCore::JSDOMApplicationCache::onprogress):
10189         (WebCore::JSDOMApplicationCache::setOnupdateready):
10190         (WebCore::JSDOMApplicationCache::onupdateready):
10191         (WebCore::JSDOMApplicationCache::setOncached):
10192         (WebCore::JSDOMApplicationCache::oncached):
10193         * bindings/js/JSEventTargetNodeCustom.cpp:
10194         (WebCore::JSEventTargetNode::addEventListener):
10195         (WebCore::JSEventTargetNode::removeEventListener):
10196         (WebCore::JSEventTargetNode::getListener):
10197         (WebCore::JSEventTargetNode::setListener):
10198         * bindings/js/JSMessagePortCustom.cpp:
10199         (WebCore::JSMessagePort::mark):
10200         (WebCore::JSMessagePort::addEventListener):
10201         (WebCore::JSMessagePort::removeEventListener):
10202         (WebCore::JSMessagePort::setOnmessage):
10203         (WebCore::JSMessagePort::onmessage):
10204         (WebCore::JSMessagePort::setOnclose):
10205         (WebCore::JSMessagePort::onclose):
10206         * bindings/js/JSXMLHttpRequestCustom.cpp:
10207         (WebCore::JSXMLHttpRequest::mark):
10208         (WebCore::JSXMLHttpRequest::onreadystatechange):
10209         (WebCore::JSXMLHttpRequest::setOnreadystatechange):
10210         (WebCore::JSXMLHttpRequest::onabort):
10211         (WebCore::JSXMLHttpRequest::setOnabort):
10212         (WebCore::JSXMLHttpRequest::onerror):
10213         (WebCore::JSXMLHttpRequest::setOnerror):
10214         (WebCore::JSXMLHttpRequest::onload):
10215         (WebCore::JSXMLHttpRequest::setOnload):
10216         (WebCore::JSXMLHttpRequest::onloadstart):
10217         (WebCore::JSXMLHttpRequest::setOnloadstart):
10218         (WebCore::JSXMLHttpRequest::onprogress):
10219         (WebCore::JSXMLHttpRequest::setOnprogress):
10220         (WebCore::JSXMLHttpRequest::addEventListener):
10221         (WebCore::JSXMLHttpRequest::removeEventListener):
10222         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
10223         (WebCore::JSXMLHttpRequestUpload::mark):
10224         (WebCore::JSXMLHttpRequestUpload::onabort):
10225         (WebCore::JSXMLHttpRequestUpload::setOnabort):
10226         (WebCore::JSXMLHttpRequestUpload::onerror):
10227         (WebCore::JSXMLHttpRequestUpload::setOnerror):
10228         (WebCore::JSXMLHttpRequestUpload::onload):
10229         (WebCore::JSXMLHttpRequestUpload::setOnload):
10230         (WebCore::JSXMLHttpRequestUpload::onloadstart):
10231         (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
10232         (WebCore::JSXMLHttpRequestUpload::onprogress):
10233         (WebCore::JSXMLHttpRequestUpload::setOnprogress):
10234         (WebCore::JSXMLHttpRequestUpload::addEventListener):
10235         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
10236         * bindings/scripts/CodeGeneratorJS.pm:
10237         * dom/EventTarget.h:
10238         * dom/EventTargetNode.cpp:
10239         (WebCore::EventTargetNode::associatedFrame):
10240         * dom/EventTargetNode.h:
10241         * dom/EventTargetNode.idl:
10242         * dom/MessagePort.cpp:
10243         (WebCore::MessagePort::associatedFrame):
10244         * dom/MessagePort.h:
10245         (WebCore::MessagePort::setOnmessage):
10246         (WebCore::MessagePort::onmessage):
10247         (WebCore::MessagePort::setOnclose):
10248         (WebCore::MessagePort::onclose):
10249         * dom/MessagePort.idl:
10250         * loader/appcache/DOMApplicationCache.h:
10251         (WebCore::DOMApplicationCache::setOnchecking):
10252         (WebCore::DOMApplicationCache::onchecking):
10253         (WebCore::DOMApplicationCache::setOnerror):
10254         (WebCore::DOMApplicationCache::onerror):
10255         (WebCore::DOMApplicationCache::setOnnoupdate):
10256         (WebCore::DOMApplicationCache::onnoupdate):
10257         (WebCore::DOMApplicationCache::setOndownloading):
10258         (WebCore::DOMApplicationCache::ondownloading):
10259         (WebCore::DOMApplicationCache::setOnprogress):
10260         (WebCore::DOMApplicationCache::onprogress):
10261         (WebCore::DOMApplicationCache::setOnupdateready):
10262         (WebCore::DOMApplicationCache::onupdateready):
10263         (WebCore::DOMApplicationCache::setOncached):
10264         (WebCore::DOMApplicationCache::oncached):
10265         (WebCore::DOMApplicationCache::associatedFrame):
10266         * loader/appcache/DOMApplicationCache.idl:
10267         * svg/EventTargetSVGElementInstance.cpp:
10268         (WebCore::EventTargetSVGElementInstance::associatedFrame):
10269         (WebCore::EventTargetSVGElementInstance::addEventListener):
10270         (WebCore::EventTargetSVGElementInstance::removeEventListener):
10271         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
10272         * svg/EventTargetSVGElementInstance.h:
10273         * xml/XMLHttpRequest.cpp:
10274         (WebCore::XMLHttpRequest::associatedFrame):
10275         * xml/XMLHttpRequest.h:
10276         (WebCore::XMLHttpRequest::setOnreadystatechange):
10277         (WebCore::XMLHttpRequest::onreadystatechange):
10278         (WebCore::XMLHttpRequest::setOnabort):
10279         (WebCore::XMLHttpRequest::onabort):
10280         (WebCore::XMLHttpRequest::setOnerror):
10281         (WebCore::XMLHttpRequest::onerror):
10282         (WebCore::XMLHttpRequest::setOnload):
10283         (WebCore::XMLHttpRequest::onload):
10284         (WebCore::XMLHttpRequest::setOnloadstart):
10285         (WebCore::XMLHttpRequest::onloadstart):
10286         (WebCore::XMLHttpRequest::setOnprogress):
10287         (WebCore::XMLHttpRequest::onprogress):
10288         * xml/XMLHttpRequest.idl:
10289         * xml/XMLHttpRequestUpload.cpp:
10290         (WebCore::XMLHttpRequestUpload::associatedFrame):
10291         * xml/XMLHttpRequestUpload.h:
10292         (WebCore::XMLHttpRequestUpload::setOnabort):
10293         (WebCore::XMLHttpRequestUpload::onabort):
10294         (WebCore::XMLHttpRequestUpload::setOnerror):
10295         (WebCore::XMLHttpRequestUpload::onerror):
10296         (WebCore::XMLHttpRequestUpload::setOnload):
10297         (WebCore::XMLHttpRequestUpload::onload):
10298         (WebCore::XMLHttpRequestUpload::setOnloadstart):
10299         (WebCore::XMLHttpRequestUpload::onloadstart):
10300         (WebCore::XMLHttpRequestUpload::setOnprogress):
10301         (WebCore::XMLHttpRequestUpload::onprogress):
10302         * xml/XMLHttpRequestUpload.idl:
10304 2008-09-30  Darin Adler  <darin@apple.com>
10306         - roll out assertion breaking regression tests
10308         * platform/ScrollView.cpp:
10309         (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
10310         that fires in regression tests. Hyatt can add it back later. The assertion
10311         fires in the regression test because of layout that triggers repaint occuring
10312         during the process of removing a frame.
10314 2008-09-30  Adele Peterson  <adele@apple.com>
10316         Reviewed by Darin Adler.
10318         Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
10319         <rdar://problem/6222134> add a way to set color for input placeholder text
10321         Test: fast/forms/placeholder-pseudo-style.html
10323         This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
10324         input elements when they are displaying the placeholder text.
10326         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
10327         * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
10328         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
10329         Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
10330         * css/html4.css: Add rule to make placeholder text default to darkGray.
10332         * html/HTMLInputElement.cpp:
10333         (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
10334         (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
10335         (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
10336         (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
10337         (WebCore::HTMLInputElement::setValue): ditto.
10338         (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
10339         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
10340          This calculation used to be done in the renderer, but since the node knows everything about the state, it can make that decision, and the
10341          renderer will just ask the node if it should draw the placeholder.
10342         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
10344         * rendering/RenderTextControl.cpp:
10345         (WebCore::disabledTextColor): Moved to the top of the file.  If there's not very much contrast between the disabled color and the background color,
10346         just leave the text color alone.  We don't want to change a good contrast color scheme so that it has really bad contrast.
10347         If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
10348         (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
10349         This can only happen as a result of either a setStyle call (which will be followed by a call to updateFromElement) or from createSubtreeIfNeeded, which
10350         is called directly from updateFromElement.  updateFromElement will immediately update the text displayed.
10351         (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
10352         (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state.  This is now done in HTMLInputElement.
10353         * rendering/RenderTextControl.h:
10355 2008-09-30  Beth Dakin  <bdakin@apple.com>
10357         Reviewed by Darin Adler.
10359         Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused 
10360         by failed allocation due to invalid counter/attr
10361         and corresponding: <rdar://problem/6152371>
10363         * css/CSSParser.cpp:
10364         (WebCore::CSSParser::parseCounterContent): The spec indicates that 
10365         only identifiers should be accepted here.
10367 2008-09-30  Kevin McCullough  <kmccullough@apple.com>
10369         Reviewed by Oliver Hunt.
10371         Bug 21255: console.profileEnd() without a console.profile() crashes the
10372         web inspector
10374         * page/Console.cpp:
10375         (WebCore::Console::profileEnd):
10377 2008-09-30  Kevin McCullough  <kmccullough@apple.com>
10379         Reviewed by Tim Hatcher.
10381         Bug 21252: calling console.profile() with a title that is 2 chars or
10382         shorter does not linkify it
10384         - Previously we tried to not linkify very short URLs but since profile
10385         titles can be any length this is not always true.
10387         * page/inspector/inspector.js:
10389 2008-09-30  Dave Hyatt  <hyatt@apple.com>
10391         Remove the update() method on ScrollView.  This method was only called in one place, and its purpose
10392         was to cause a display/flush to happen.  Here is a breakdown of the method use on each platform:
10393         (1) Not used on Mac
10394         (2) Used on Windows
10395         (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
10396         (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
10397         (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
10398         
10399         There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
10400         cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
10401         With the changes to this method, the new behavior is as follows:
10402         (1) Not used on Mac
10403         (2) Used on Windows
10404         (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
10405         (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
10406         (5) Not used on wx
10407         
10408         This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
10409         platforms.  At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
10410         
10411         Reviewed by Sam Weinig
10413         * ChangeLog:
10414         * dom/Document.cpp:
10415         (WebCore::Document::implicitClose):
10416         * platform/HostWindow.h:
10417         (WebCore::HostWindow::paint):
10418         * platform/ScrollView.h:
10419         * platform/gtk/ScrollViewGtk.cpp:
10420         * platform/mac/ScrollViewMac.mm:
10421         * platform/qt/ScrollViewQt.cpp:
10422         * platform/win/ScrollViewWin.cpp:
10423         * platform/wx/ScrollViewWx.cpp:
10425 2008-09-30  Timothy Hatcher  <timothy@apple.com>
10427         Focus the DOM tree in the Web Inspector when a node is inspected.
10428         So when the search field has focus, the focus moves to the tree,
10429         allowing the arrow keys work. This can happen when using the new
10430         find in page feature.
10432         https://bugs.webkit.org/show_bug.cgi?id=21251
10434         Reviewed by Geoff Garen.
10436         * page/inspector/ElementsPanel.js:
10437         (WebInspector.ElementsPanel): Set currentFocusElement to
10438         the main-panels element if the panel is visible.
10439         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
10440         Remove a set of currentFocusElement since this moved.
10441         * page/inspector/inspector.js:
10442         (WebInspector.set currentFocusElement): Always focus the element.
10443         This ensures that when focus changes in the page and we don't
10444         catch it, we will still focus the elements even if we think it
10445         was already focused.
10447 2008-09-30  Timothy Hatcher  <timothy@apple.com>
10449         Make the Web Inspector's toolbar icons darker when the mouse is
10450         pressed on them. This matches the standard NSToolbar look.
10452         https://bugs.webkit.org/show_bug.cgi?id=21249
10453         rdar://problem/6033752
10455         Reviewed by Adam Roben.
10457         * page/inspector/Images/databasesIcon.png:
10458         * page/inspector/Images/elementsIcon.png:
10459         * page/inspector/Images/profilesIcon.png:
10460         * page/inspector/Images/resourcesIcon.png:
10461         * page/inspector/Images/scriptsIcon.png:
10462         * page/inspector/Panel.js:
10463         * page/inspector/inspector.css:
10465 2008-09-30  Kevin McCullough  <kmccullough@apple.com>
10467         Reviewed by Tim Hatcher.
10469         Bug 21139: Profiler log message is wrong
10470         - Correctly fix =(
10471         Don't call _format twice.
10473         * page/Page.h:
10474         * page/inspector/Console.js:
10475         * page/inspector/ProfilesPanel.js:
10476         * page/inspector/inspector.js:
10478 2008-09-30  Dave Hyatt  <hyatt@apple.com>
10480         http://bugs.webkit.org/show_bug.cgi?id=21250
10481         
10482         Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
10483         repaints up through the ChromeClient.
10485         Reviewed by Darin Adler
10487         * loader/EmptyClients.h:
10488         (WebCore::EmptyChromeClient::repaint):
10489         * page/Chrome.cpp:
10490         (WebCore::Chrome::repaint):
10491         * page/Chrome.h:
10492         * page/ChromeClient.h:
10493         * page/FrameView.cpp:
10494         (WebCore::FrameView::hostWindow):
10495         (WebCore::FrameView::repaintContentRectangle):
10496         * page/FrameView.h:
10497         * platform/HostWindow.h:
10498         * platform/ScrollView.cpp:
10499         (WebCore::ScrollView::repaintContentRectangle):
10500         (WebCore::ScrollView::platformRepaintContentRectangle):
10501         * platform/ScrollView.h:
10502         * platform/gtk/ScrollViewGtk.cpp:
10503         * platform/mac/ScrollViewMac.mm:
10504         (WebCore::ScrollView::platformRepaintContentRectangle):
10505         * platform/qt/ScrollViewQt.cpp:
10506         * platform/win/ScrollViewWin.cpp:
10507         * platform/wx/ScrollViewWx.cpp:
10508         (WebCore::ScrollView::platformRepaintContentRectangle):
10510 2008-09-30  Alexey Proskuryakov  <ap@webkit.org>
10512         Non-Mac build fixes.
10514         * GNUmakefile.am:
10515         * WebCore.pro:
10516         * WebCore.vcproj/WebCore.vcproj:
10517         * WebCoreSources.bkl:
10518         * webcore-base.bkl:
10519         Added DOMProtect.{cpp,h}.
10521 2008-09-39  Kevin Decker  <kdecker@apple.com>
10523         Reviewed by John Sullivan.
10525         * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
10526         for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
10528 2008-09-29  Julien Chaffraix  <jchaffraix@webkit.org>
10530         Reviewed by Maciej Stachowiak.
10532         Bug 21106: .in format discussed changes
10533         https://bugs.webkit.org/show_bug.cgi?id=21106
10535         - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
10536         is the only namespace used.
10538         - Removed "generateFactory" and "generateWrapperFactory" parameters and
10539         re-introduced the command line options.
10541         - Cleaned up the output of make_names.pl (removed unneeded new line).
10543         * DerivedSources.make: Added factories command line options.
10544         * GNUmakefile.am: Ditto.
10545         * WebCore.pro: Ditto and removed some arguments that were migrated to
10546         the .in files.
10548         * dom/make_names.pl: Clean up (see above).
10550         * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
10551         and "generateWrapperFactory" occurences.
10552         * html/HTMLTagNames.in: Ditto.
10553         * svg/svgattrs.in: Ditto.
10554         * svg/svgtags.in: Ditto.
10555         * svg/xlinkattrs.in: Ditto.
10556         * xml/xmlattrs.in: Ditto.
10558 2008-09-29  Chris Fleizach  <cfleizach@apple.com>
10560         Reviewed by John Sullivan.
10562         <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
10563         Make sure that certain types of elements do not return children and, moreover, do not waste their
10564         energy trying to return children
10566         Test: accessibility/nochildren-elements.html
10568         * page/AccessibilityObject.h:
10569         (WebCore::AccessibilityObject::canHaveChildren):
10570         * page/AccessibilityRenderObject.cpp:
10571         (WebCore::AccessibilityRenderObject::canHaveChildren):
10572         (WebCore::AccessibilityRenderObject::addChildren):
10573         * page/AccessibilityRenderObject.h:
10575 2008-09-30  Alexey Proskuryakov  <ap@webkit.org>
10577         Reviewed by Sam Weinig.
10579         https://bugs.webkit.org/show_bug.cgi?id=21213
10580         MessagePort crash when GC collects an object with a pending close event
10582         Test: fast/events/message-channel-gc-2.html
10583               fast/events/message-channel-listener-circular-ownership.html
10585         * bindings/DOMProtect.cpp: Added.
10586         (WebCore::gcProtectDOMObject):
10587         (WebCore::gcUnprotectDOMObject):
10588         * bindings/DOMProtect.h: Added.
10589         Added an abstraction for GC protection to avoid the need to call JS bindings code from
10590         DOM objects directly.
10592         * dom/MessagePort.cpp:
10593         (WebCore::CloseMessagePortTimer::fired):
10594         (WebCore::MessagePort::queueCloseEvent):
10595         GC protect MessagePort wrapper while there is a pending close event.
10596         This may be necessary for message events, too, but that case is not a crasher, and actually
10597         behaves to the letter of the current HTML5 text, so I'll consider it later.
10599         * xml/XMLHttpRequest.cpp:
10600         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
10601         (WebCore::XMLHttpRequest::dropProtection):
10602         Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
10604         * bindings/js/JSMessagePortCustom.cpp:
10605         (WebCore::JSMessagePort::addEventListener):
10606         (WebCore::JSMessagePort::removeEventListener):
10607         (WebCore::JSMessagePort::setOnmessage):
10608         (WebCore::JSMessagePort::setOnclose):
10609         Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
10610         know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
10612         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
10613         (WebCore::JSXMLHttpRequestUpload::mark):
10614         While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
10615         from XMLHttpRequest.
10617 2008-09-30  Adam Roben  <aroben@apple.com>
10619         Windows build fix
10621         * DerivedSources.cpp: Add JSEventTargetNode.cpp.
10623 2008-09-29  Sam Weinig  <sam@webkit.org>
10625         Reviewed by Tim Hatcher.
10627         Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
10628         Autogenerate JS event listeners
10630         - Generate EventTargetNode.
10632         * DerivedSources.make:
10633         * GNUmakefile.am:
10634         * WebCore.pro:
10635         * WebCore.vcproj/WebCore.vcproj:
10636         * WebCore.xcodeproj/project.pbxproj:
10637         * WebCoreSources.bkl:
10638         * bindings/js/JSEventListener.cpp:
10639         * bindings/js/JSEventTarget.cpp: Added.
10640         (WebCore::toJS):
10641         * bindings/js/JSEventTarget.h: Added.
10642         * bindings/js/JSEventTargetBase.cpp: Removed.
10643         * bindings/js/JSEventTargetBase.h:
10644         * bindings/js/JSEventTargetNode.cpp: Removed.
10645         * bindings/js/JSEventTargetNode.h: Removed.
10646         * bindings/js/JSEventTargetNodeCustom.cpp: Added.
10647         (WebCore::JSEventTargetNode::addEventListener):
10648         (WebCore::JSEventTargetNode::removeEventListener):
10649         (WebCore::JSEventTargetNode::dispatchEvent):
10650         (WebCore::JSEventTargetNode::getListener):
10651         (WebCore::JSEventTargetNode::setListener):
10652         (WebCore::JSEventTargetNode::pushEventHandlerScope):
10653         * bindings/js/JSEventTargetSVGElementInstance.cpp:
10654         (WebCore::):
10655         (WebCore::JSEventTargetSVGElementInstancePrototype::self):
10656         (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
10657         (jsEventTargetAddEventListener):
10658         (jsEventTargetRemoveEventListener):
10659         (jsEventTargetDispatchEvent):
10660         * bindings/js/JSEventTargetSVGElementInstance.h:
10661         (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
10662         (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
10663         * bindings/scripts/CodeGeneratorJS.pm:
10664         * dom/EventTargetNode.idl: Added.
10666 2008-09-29  Darin Adler  <darin@apple.com>
10668         Reviewed by Sam Weinig.
10670         - https://bugs.webkit.org/show_bug.cgi?id=21214
10671           work on getting rid of ExecState
10673         * bindings/js/JSDOMWindowBase.cpp:
10674         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
10675         for base class constructor.
10677 2008-09-29  David Hyatt  <hyatt@apple.com>
10679         Add the new HostWindow base class.  A HostWindow hosts a hierarchy of Widgets.  The Chrome object on Page
10680         now subclasses from HostWindow.  The new class will allow objects in platform/ like Widgets, Scrollbars
10681         and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
10682         (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
10684         Reviewed by Sam Weinig
10686         * WebCore.xcodeproj/project.pbxproj:
10687         * page/Chrome.h:
10688         * platform/HostWindow.h: Added.
10689         (WebCore::HostWindow::HostWindow):
10690         (WebCore::HostWindow::~HostWindow):
10692 2008-09-29  Kevin Decker  <kdecker@apple.com>
10694         Reviewed by Anders Carlsson.
10696         * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool,  NPNVsupportsCarbonBool are now in the 3000 range instead of 
10697         2000. 
10699 2008-09-29  Dan Bernstein  <mitz@apple.com>
10701         Reviewed by Adam Roben.
10703         - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
10705         * rendering/RenderThemeWin.cpp:
10706         (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
10707         (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
10708         unloaded, to avoid calling uxtheme.dll functions after that library has
10709         been unloaded.
10710         * rendering/RenderThemeWin.h:
10712 2008-09-29  Chris Fleizach  <cfleizach@apple.com>
10714         Reviewed by John Sullivan
10716         <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
10718         Sends AXLoadComplete only when the top level web area is finished loading
10720         * dom/Document.cpp:
10721         (WebCore::Document::implicitClose):
10723 2008-09-29  Timothy Hatcher  <timothy@apple.com>
10725         Makes the node highlight always show up when hovering a node in
10726         the Web Inspector now that the highlight does not scroll to reveal
10727         the node. Also adds a hover effect in the inspector when hovering
10728         causes a highlight in the page. This ties the user hovering action
10729         to the highlight so it is clear what causes the highlight to appear.
10731         Also the highlight now temporarily shows up for 2 seconds after
10732         selecting a node in the DOM tree. So arrowing around in the tree
10733         will show the node on the page, providing feedback to the user.
10735         Plus fixes an issue where quickly moving away from hovering
10736         a node would keep showing the page highlight. This was happening
10737         in breadcrumbs and the DOM tree.
10739         https://bugs.webkit.org/show_bug.cgi?id=21220
10741         Reviewed by Kevin McCullough.
10743         * page/inspector/Console.js:
10744         (WebInspector.Console.prototype._mouseOverNode): Added. Used for
10745         hovering DOM nodes in the console.
10746         (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
10747         (WebInspector.Console.prototype._formatnode): Use the new event
10748         listeners and add a class name to the anchor element.
10749         * page/inspector/ElementsPanel.js:
10750         (WebInspector.ElementsPanel): Add new event listeners to the
10751         crumbs element to do the node hovering highlight.
10752         (WebInspector.ElementsPanel.prototype.hide):
10753         (WebInspector.ElementsPanel.prototype.reset):
10754         (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
10755         (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
10756         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
10757         * page/inspector/ElementsTreeOutline.js:
10758         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
10759         Show the node hishlight for 2 seconds then restore the highlight
10760         to the current hovered node.
10761         (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
10762         hovered node and set the hovered state on the tree element.
10763         (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
10764         hovered node to null and removed the hovered state from the previous
10765         hovered tree element.
10766         (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
10767         the hovered class to the list item.
10768         (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
10769         * page/inspector/inspector.css:
10770         * page/inspector/inspector.js:
10771         (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
10772         based on the showingDOMNodeHighlight property of 50ms or 500ms. This
10773         causes the highlight to change sooner if there is one already showing
10774         and appear later if there isn't one showing. This is like tooltips,
10775         hovering a node for 500ms will cause highlight then mousing between nodes
10776         will keep the highlight and change to the new node.
10777         (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
10778         always reset the timeout so continuous mousing does not keep flasshing
10779         the highlight on the screen.
10780         (WebInspector._updateHoverHighlight): Removed the alt key check and added
10781         the showingDOMNodeHighlight property.
10782         (WebInspector.documentKeyDown): Removed the alt key check.
10783         (WebInspector.documentKeyUp): Ditto.
10784         (WebInspector.reset): Clear the hoveredDOMNode.
10786 2008-09-29  Simon Fraser  <simon.fraser@apple.com>
10788         Reviewed by Anders Carlsson
10790         Fix RenderStyle leak in animation code, and assert that 
10791         keyframe resolution in CSSStyleSelector is not going to clobber
10792         m_style.
10794         * css/CSSStyleSelector.cpp:
10795         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
10796         * page/animation/KeyframeAnimation.cpp:
10797         (WebCore::KeyframeAnimation::~KeyframeAnimation):
10799 2008-09-29  Chris Marrin  <cmarrin@apple.com>
10801         Reviewed by Dave Hyatt
10803         Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
10804         Rewrite keyframe resolution to be like styleForElement()
10805         
10806         Test: animations/lineheight-animation.html
10808         * css/CSSStyleSelector.cpp:
10809         (WebCore::CSSStyleSelector::addKeyframeStyle):
10810         (WebCore::CSSStyleSelector::~CSSStyleSelector):
10811         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
10812         (WebCore::CSSRuleSet::addRulesFromSheet):
10813         (WebCore::CSSStyleSelector::mapAnimationName):
10814         * css/CSSStyleSelector.h:
10815         * page/animation/CompositeAnimation.cpp:
10816         (WebCore::CompositeAnimation::updateKeyframeAnimations):
10817         * page/animation/KeyframeAnimation.cpp:
10818         (WebCore::KeyframeAnimation::KeyframeAnimation):
10819         (WebCore::KeyframeAnimation::animate):
10820         (WebCore::KeyframeAnimation::hasAnimationForProperty):
10821         (WebCore::KeyframeAnimation::sendAnimationEvent):
10822         (WebCore::KeyframeAnimation::overrideAnimations):
10823         (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
10824         (WebCore::KeyframeAnimation::affectsProperty):
10825         (WebCore::KeyframeAnimation::validateTransformFunctionList):
10826         * page/animation/KeyframeAnimation.h:
10827         * rendering/style/Animation.cpp:
10828         (WebCore::Animation::animationsMatch):
10829         * rendering/style/Animation.h:
10830         * rendering/style/KeyframeList.cpp:
10831         (WebCore::KeyframeList::~KeyframeList):
10832         (WebCore::KeyframeList::clear):
10833         (WebCore::KeyframeList::insert):
10834         * rendering/style/KeyframeList.h:
10835         (WebCore::KeyframeValue::KeyframeValue):
10836         (WebCore::KeyframeList::KeyframeList):
10837         (WebCore::KeyframeList::operator!=):
10838         (WebCore::KeyframeList::animationName):
10839         (WebCore::KeyframeList::addProperty):
10840         (WebCore::KeyframeList::containsProperty):
10841         (WebCore::KeyframeList::beginProperties):
10842         (WebCore::KeyframeList::endProperties):
10843         (WebCore::KeyframeList::isEmpty):
10844         (WebCore::KeyframeList::size):
10845         (WebCore::KeyframeList::beginKeyframes):
10846         (WebCore::KeyframeList::endKeyframes):
10847         * rendering/style/RenderStyle.h:
10848         * rendering/style/StyleRareNonInheritedData.cpp:
10849         * rendering/style/StyleRareNonInheritedData.h:
10851 2008-09-29  Chris Marrin  <cmarrin@apple.com>
10853         Reviewed by Eric Seidel
10855         Clean up fix in PropertyWrapperGetter::equals
10856         https://bugs.webkit.org/show_bug.cgi?id=21011
10857         
10858         Test: transitions/override-transition-crash.html
10860         * page/animation/AnimationBase.cpp:
10861         (WebCore::PropertyWrapperGetter::equals):
10862         * page/animation/CompositeAnimation.cpp:
10863         (WebCore::CompositeAnimation::updateTransitions):
10865 2008-09-29  Chris Marrin  <cmarrin@apple.com>
10867         Reviewed by Eric Seidel
10869         https://bugs.webkit.org/show_bug.cgi?id=21001
10870         Starting transition after animation, when animation
10871         is finished, transition is wrong.
10873         Test: animations/transition-and-animation-2.html
10875         * page/animation/AnimationBase.h:
10876         * page/animation/CompositeAnimation.cpp:
10877         (WebCore::CompositeAnimation::updateTransitions):
10878         (WebCore::CompositeAnimation::updateKeyframeAnimations):
10879         (WebCore::CompositeAnimation::resetTransitions):
10880         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
10881         * page/animation/ImplicitAnimation.cpp:
10882         (WebCore::ImplicitAnimation::ImplicitAnimation):
10883         (WebCore::ImplicitAnimation::~ImplicitAnimation):
10884         (WebCore::ImplicitAnimation::animate):
10885         (WebCore::ImplicitAnimation::reset):
10886         * page/animation/ImplicitAnimation.h:
10888 2008-09-29  Chris Marrin  <cmarrin@apple.com>
10890         Reviewed by Sam Weinig
10892         https://bugs.webkit.org/show_bug.cgi?id=20921
10893         -webkit-animation-timing-function: inside of keyframes is ignored
10895         Test: animations/keyframe-timing-functions.html
10897         * page/animation/AnimationBase.cpp:
10898         (WebCore::AnimationBase::progress):
10899         * page/animation/AnimationBase.h:
10900         * page/animation/ImplicitAnimation.cpp:
10901         (WebCore::ImplicitAnimation::animate):
10902         * page/animation/KeyframeAnimation.cpp:
10903         (WebCore::KeyframeAnimation::animate):
10905 2008-09-29  Dan Bernstein  <mitz@apple.com>
10907         - Windows build fix
10909         * platform/ScrollView.cpp:
10910         (WebCore::ScrollView::platformScroll):
10912 2008-09-29  Dan Bernstein  <mitz@apple.com>
10914         - another attempt at a Windows build fix
10916         * platform/ScrollView.cpp:
10917         (WebCore::platformScroll):
10919 2008-09-29  Dan Bernstein  <mitz@apple.com>
10921         - Windows build fix
10923         * platform/ScrollView.cpp:
10924         (WebCore::ScrollView::platformSetScrollPosition):
10926 2008-09-29  David Hyatt  <hyatt@apple.com>
10928         https://bugs.webkit.org/show_bug.cgi?id=21218
10930         Accidentally removed a check to see if the scrollbar modes were equal.  This caused a crash on Windows.
10931         It's silly that the code was this fragile, but for now just put the check back in.
10933         Reviewed by Dan Bernstein
10935         * platform/ScrollView.cpp:
10936         (WebCore::ScrollView::setScrollbarModes):
10938 2008-09-29  David Hyatt  <hyatt@apple.com>
10940         https://bugs.webkit.org/show_bug.cgi?id=21216
10942         Make setScrollPosition and scroll() cross-platform.
10944         Reviewed by Anders
10946         * platform/ScrollView.cpp:
10947         (WebCore::ScrollView::setScrollPosition):
10948         (WebCore::ScrollView::scroll):
10949         * platform/ScrollView.h:
10950         * platform/gtk/ScrollViewGtk.cpp:
10951         * platform/mac/ScrollViewMac.mm:
10952         (WebCore::ScrollView::platformSetScrollPosition):
10953         (WebCore::ScrollView::platformScroll):
10954         * platform/qt/ScrollViewQt.cpp:
10955         * platform/win/ScrollViewWin.cpp:
10956         * platform/wx/ScrollViewWx.cpp:
10957         (WebCore::ScrollView::platformSetScrollPosition):
10958         (WebCore::ScrollView::platformScroll):
10960 2008-09-29  Kevin McCullough  <kmccullough@apple.com>
10962         Reviewed by Oliver.
10964         Bug 21139: Profiler log message is wrong
10965         - Because _format was called twice the number in the log was incremented
10966         too many times, but we were passing it around in the link the whole time
10968         * page/inspector/ProfilesPanel.js:
10969         * page/inspector/inspector.js:
10971 2008-09-29  Sam Weinig  <sam@webkit.org>
10973         Reviewed by Cameron Zwarich.
10975         Autogenerate EventListeners, addEventListener and removeEventListener
10976         for JSDOMWindow.
10978         * bindings/js/JSDOMWindowBase.cpp:
10979         * bindings/js/JSDOMWindowBase.h:
10980         * bindings/js/JSDOMWindowCustom.cpp:
10981         (WebCore::JSDOMWindow::onwebkitanimationstart):
10982         (WebCore::JSDOMWindow::setOnwebkitanimationstart):
10983         (WebCore::JSDOMWindow::onwebkitanimationiteration):
10984         (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
10985         (WebCore::JSDOMWindow::onwebkitanimationend):
10986         (WebCore::JSDOMWindow::setOnwebkitanimationend):
10987         (WebCore::JSDOMWindow::onwebkittransitionend):
10988         (WebCore::JSDOMWindow::setOnwebkittransitionend):
10989         (WebCore::JSDOMWindow::addEventListener):
10990         (WebCore::JSDOMWindow::removeEventListener):
10991         (WebCore::JSDOMWindow::setListener):
10992         (WebCore::JSDOMWindow::getListener):
10993         * bindings/scripts/CodeGeneratorJS.pm:
10994         * page/DOMWindow.idl:
10996 2008-09-29  Thiago Macieira  <thiago.macieira@nokia.com>
10998         Reviewed by Simon.
11000         Changed copyright from Trolltech ASA to Nokia.
11002         Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
11004         * bindings/js/JSMimeTypeArrayCustom.cpp:
11005         * bindings/js/JSNavigatorCustom.cpp:
11006         * bindings/js/JSPluginArrayCustom.cpp:
11007         * bindings/js/JSPluginCustom.cpp:
11008         * bindings/js/ScriptControllerMac.mm:
11009         * bindings/js/ScriptControllerQt.cpp:
11010         * bridge/qt/qt_class.cpp:
11011         * bridge/qt/qt_class.h:
11012         * bridge/qt/qt_instance.cpp:
11013         * bridge/qt/qt_instance.h:
11014         * bridge/qt/qt_runtime.cpp:
11015         * bridge/qt/qt_runtime.h:
11016         * bridge/testqtbindings.cpp:
11017         * css/makegrammar.pl:
11018         * css/makeprop.pl:
11019         * css/makevalues.pl:
11020         * dom/Node.cpp:
11021         * dom/TagNodeList.cpp:
11022         * dom/TagNodeList.h:
11023         * dom/XMLTokenizer.cpp:
11024         * dom/XMLTokenizer.h:
11025         * dom/XMLTokenizerLibxml2.cpp:
11026         * dom/XMLTokenizerQt.cpp:
11027         * editing/Editor.cpp:
11028         * editing/EditorCommand.cpp:
11029         * html/CanvasRenderingContext2D.cpp:
11030         * html/CanvasStyle.cpp:
11031         * html/HTMLAppletElement.cpp:
11032         * html/HTMLEmbedElement.cpp:
11033         * html/HTMLObjectElement.cpp:
11034         * loader/FrameLoader.cpp:
11035         * page/Chrome.cpp:
11036         * page/EditorClient.h:
11037         * page/Frame.cpp:
11038         * page/Frame.h:
11039         * page/FramePrivate.h:
11040         * page/Navigator.cpp:
11041         * page/Navigator.h:
11042         * page/Navigator.idl:
11043         * page/mac/FrameMac.mm:
11044         * page/qt/EventHandlerQt.cpp:
11045         * platform/graphics/qt/FontCacheQt.cpp:
11046         * platform/graphics/qt/FontCustomPlatformData.cpp:
11047         * platform/graphics/qt/FontCustomPlatformData.h:
11048         * platform/graphics/qt/FontPlatformData.h:
11049         * platform/graphics/qt/FontQt.cpp:
11050         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
11051         * platform/graphics/qt/GraphicsContextQt.cpp:
11052         * platform/graphics/qt/ImageDecoderQt.cpp:
11053         * platform/graphics/qt/ImageDecoderQt.h:
11054         * platform/graphics/qt/ImageSourceQt.cpp:
11055         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
11056         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
11057         * platform/graphics/qt/SimpleFontDataQt.cpp:
11058         * platform/gtk/MIMETypeRegistryGtk.cpp:
11059         * platform/mac/MIMETypeRegistryMac.mm:
11060         * platform/network/qt/QNetworkReplyHandler.cpp:
11061         * platform/network/qt/QNetworkReplyHandler.h:
11062         * platform/network/qt/ResourceHandleQt.cpp:
11063         * platform/network/qt/ResourceRequestQt.cpp:
11064         * platform/qt/ClipboardQt.cpp:
11065         * platform/qt/EventLoopQt.cpp:
11066         * platform/qt/KURLQt.cpp:
11067         * platform/qt/LoggingQt.cpp:
11068         * platform/qt/MIMETypeRegistryQt.cpp:
11069         * platform/qt/PasteboardQt.cpp:
11070         * platform/qt/PlatformScreenQt.cpp:
11071         * platform/qt/PopupMenuQt.cpp:
11072         * platform/qt/QWebPopup.cpp:
11073         * platform/qt/QWebPopup.h:
11074         * platform/qt/RenderThemeQt.cpp:
11075         * platform/qt/ScrollbarQt.cpp:
11076         * platform/qt/ScrollbarThemeQt.cpp:
11077         * platform/qt/WheelEventQt.cpp:
11078         * platform/qt/html4-adjustments-qt.css:
11079         * platform/wx/MimeTypeRegistryWx.cpp:
11080         * plugins/MimeType.cpp:
11081         * plugins/MimeType.h:
11082         * plugins/MimeType.idl:
11083         * plugins/MimeTypeArray.cpp:
11084         * plugins/MimeTypeArray.h:
11085         * plugins/MimeTypeArray.idl:
11086         * plugins/Plugin.cpp:
11087         * plugins/Plugin.h:
11088         * plugins/Plugin.idl:
11089         * plugins/PluginArray.cpp:
11090         * plugins/PluginArray.h:
11091         * plugins/PluginArray.idl:
11092         * plugins/PluginData.cpp:
11093         * plugins/PluginData.h:
11094         * plugins/gtk/PluginDataGtk.cpp:
11095         * plugins/mac/PluginDataMac.mm:
11096         * plugins/qt/PluginDataQt.cpp:
11097         * plugins/win/PluginDataWin.cpp:
11098         * rendering/RenderTableCol.cpp:
11099         * rendering/RenderTableCol.h:
11101 2008-09-29  Thiago Macieira  <thiago.macieira@trolltech.com>
11103         Reviewed by Simon
11105         Fix compilation with gcc 4.3
11107          gcc 4.3 is stricter and ctype.h isn't getting included
11108         automatically here by dependencies. So do it directly.
11110         * platform/qt/PlatformKeyboardEventQt.cpp:
11112 2008-09-29  Morten Sørvig  <msorvig@trolltech.com>
11114         Reviewed by Simon.
11116         Fix compilation with Qt/Mac without plugins.
11118         * platform/qt/TemporaryLinkStubs.cpp:
11120 2008-09-29  Mark Rowe  <mrowe@apple.com>
11122         Reviewed by Sam Weinig.
11124         Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
11125         In the few places that we call .upper() in WebCore the strings represent things like
11126         tag and attribute names, which are nearly always going to be ASCII.
11128         * platform/text/StringImpl.cpp:
11129         (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
11130         in to Unicode::toLower the second time.
11131         (WebCore::StringImpl::upper):
11133 2008-09-28  Mark Rowe  <mrowe@apple.com>
11135         Reviewed by Sam Weinig.
11137         Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
11138         rather than String::operator+=.
11140         * css/CSSPrimitiveValue.cpp:
11141         (WebCore::CSSPrimitiveValue::cssText):
11143 2008-09-28  Mark Rowe  <mrowe@apple.com>
11145         Reviewed by Oliver Hunt.
11147         Speed up computedStyle.getPropertyValue('color') by 4.5x.
11149         Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
11150         as it avoids many memory reallocations.
11152         This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
11153         by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
11154         unrelated properties on an element.
11156         * css/CSSPrimitiveValue.cpp:
11157         (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
11158         and use appendNumber rather than the String::number in order to cut down on memory allocations.
11159         * platform/text/PlatformString.h:
11160         (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
11161         into a Vector<UChar>.
11163 2008-09-28  Sam Weinig  <sam@webkit.org>
11165         Reviewed by Anders Carlsson.
11167         Remove spurious call to lower().
11169         * css/MediaQueryEvaluator.cpp:
11170         (WebCore::MediaQueryEvaluator):
11172 2008-09-28  Sam Weinig  <sam@webkit.org>
11174         Reviewed by Dan Bernstein.
11176         Use a CaseFoldingHash instead of calling lower on family strings.
11178         * css/CSSFontSelector.cpp:
11179         (WebCore::CSSFontSelector::addFontFaceRule):
11180         (WebCore::CSSFontSelector::getFontData):
11181         * css/CSSFontSelector.h:
11183 2008-09-28  Timothy Hatcher  <timothy@apple.com>
11185         Remove the scrollIntoViewIfNeeded() call when drawing the
11186         Inspector node highlight.
11188         <rdar://problem/6115804> Don't scroll when highlighting (21000)
11189         https://bugs.webkit.org/show_bug.cgi?id=21000
11191         Reviewed by Dan Bernstein.
11193         * page/InspectorController.cpp:
11194         (WebCore::InspectorController::drawNodeHighlight):
11196 2008-09-28  David Hyatt  <hyatt@apple.com>
11198         Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
11199         changed.
11201         Reviewed by Dan Bernstein
11203         * platform/mac/ScrollbarThemeMac.mm:
11204         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
11206 2008-09-28  Timothy Hatcher  <timothy@apple.com>
11208         Clear the current search results in the Inspector when
11209         the search query is less than 3 characters long. Incremental
11210         searches only occur for 3 characters or longer, but deleting
11211         under this limit would not clear the results unless the whole
11212         query was deleted.
11214         https://bugs.webkit.org/show_bug.cgi?id=21196
11216         Reviewed by Dan Bernstein.
11218         * page/inspector/inspector.js:
11219         (WebInspector.performSearch): Check for short queries in the
11220         if statement that triggers the clear.
11222 2008-09-28  Dan Bernstein  <mitz@apple.com>
11224         Reviewed by Dave Hyatt.
11226         - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
11228         * platform/graphics/win/FontCustomPlatformData.cpp:
11229         (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
11230         overlayLength parameters.
11231         (WebCore::EOTStream::read): Added code to overlay the
11232         m_overlayLength bytes starting at m_overlayDst with the same number of
11233         bytes from m_overlaySrc.
11234         (WebCore::createFontCustomPlatformData): Changed to get overlay
11235         parameters from getEOTHeader.
11236         * platform/graphics/win/GetEOTHeader.cpp:
11237         (WebCore::getEOTHeader): Added code to specify overlaying of the
11238         family name with the prefix of the full name if they differ, because
11239         that such a difference causes TTLoadEmbeddedFont to fail.
11240         * platform/graphics/win/GetEOTHeader.h:
11242 2008-09-28  Alexey Proskuryakov  <ap@webkit.org>
11244         Reviewed by Eric Seidel.
11246         https://bugs.webkit.org/show_bug.cgi?id=20366
11247         Reproducible test failure for editing/undo/undo-iframe-location-change.html
11249         * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
11251 2008-09-28  Darin Adler  <darin@apple.com>
11253         Reviewed by Sam Weinig (except for a few comment and header tweaks).
11255         - https://bugs.webkit.org/show_bug.cgi?id=21158
11256           reduce use of virtual functions in Node for speed
11258         Speeds up Dromaeo a bit less than 1%.
11260         * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
11261         Node.h now that some inlines are in there.
11263         * dom/Attr.h: Override both the virtual and non-virtual name functions.
11265         * dom/ChildNodeList.cpp:
11266         (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
11267         * dom/ChildNodeList.h: Ditto.
11268         * dom/ClassNodeList.cpp:
11269         (WebCore::ClassNodeList::nodeMatches): Ditto.
11270         * dom/ClassNodeList.h: Ditto.
11272         * dom/Document.h: Put the Node::isDocumentNode() function's inline
11273         definition here where it can see the Document class definition.
11275         * dom/DynamicNodeList.cpp:
11276         (WebCore::DynamicNodeList::length): Changed to pass an Element.
11277         (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
11278         (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
11279         (WebCore::DynamicNodeList::itemWithName): Ditto.
11280         * dom/DynamicNodeList.h: Ditto.
11282         * dom/Element.cpp: Removed virtualHasTagName.
11283         * dom/Element.h: Made localName, prefix, namespaceURI, and
11284         styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
11285         virtualNamespaceURI, and removed virtualHasTagName. Put the
11286         Node::hasTagName, Node::hasAttributes, and Node::attributes
11287         functions' inline definitions here where they can see the Element
11288         class definition.
11290         * dom/NameNodeList.cpp:
11291         (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
11292         * dom/NameNodeList.h: Ditto.
11294         * dom/Node.cpp:
11295         (WebCore::Node::virtualPrefix): Renamed from prefix.
11296         (WebCore::Node::virtualLocalName): Renamed from localName.
11297         (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
11298         (WebCore::Node::styleForRenderer): Handle the Element case here.
11300         * dom/Node.h: Removed definition of hasTagName that calls virtual,
11301         since we now have a non-virtual version. Made hasAttributes,
11302         attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
11303         and styleForRenderer non-virtual. Added virtualPrefix,
11304         virtualLocalName, and virtualNamespaceURI. Removed isMalformed
11305         and setMalformed, which are used only on HTMLFormElement objects.
11307         * dom/TagNodeList.cpp:
11308         (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
11309         * dom/TagNodeList.h: Ditto.
11311         * html/HTMLAnchorElement.cpp: Added a comment.
11312         * html/HTMLFormControlElement.cpp: Ditto.
11314         * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
11315         function. Marked tabIndex function virtual explicitly for clarity.
11317         * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
11318         function. Marked isFocusable function virtual explicitly for clarity.
11320         * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
11321         clarity.
11322         * html/HTMLFormControlElement.h: Ditto.
11324         * html/HTMLFormElement.h: Made isMalformed non-virtual.
11326         * html/HTMLParser.cpp:
11327         (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
11328         pointer to call localName since that one does not need to call a virtual
11329         function.
11331         * rendering/RenderBlock.cpp:
11332         (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
11333         calling isMalformed. We already did a tag name check so we know it's
11334         an HTMLFormELement.
11336         * xml/XPathUtil.cpp:
11337         (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
11338         to nodeType(), since it's a virtual function.
11340 2008-09-28  David Hyatt  <hyatt@apple.com>
11342         Make frameRectsChanged() cross-platform on ScrollView.
11344         Reviewed by Oliver Hunt
11346         * platform/ScrollView.cpp:
11347         (WebCore::ScrollView::frameRectsChanged):
11348         * platform/ScrollView.h:
11349         * platform/gtk/ScrollViewGtk.cpp:
11350         * platform/qt/ScrollViewQt.cpp:
11351         * platform/win/ScrollViewWin.cpp:
11352         * platform/wx/ScrollViewWx.cpp:
11354 2008-09-28  Oliver Hunt  <oliver@apple.com>
11356         Reviewed by Maciej Stachowiak.
11358         Bug 21141: REGRESSION: Exception messages for user entered commands are poor
11359         <https://bugs.webkit.org/show_bug.cgi?id=21141>
11361         The bug repsonsible for this was the the JSInspectedObjectWrapper instances
11362         were not initialising their StructureID's to indicate that the wrapper
11363         overrides hasInstance, etc.  The solution is simply to use the createStructureID
11364         helper on JSQuarantinedObjectWrapper to create a correct StructureID.
11366         * bindings/js/JSInspectedObjectWrapper.cpp:
11367         (WebCore::JSInspectedObjectWrapper::wrap):
11369 2008-09-28  David Hyatt  <hyatt@apple.com>
11371         Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
11372         terms of lines.
11374         Reviewed by Oliver Hunt
11376         * dom/EventTargetNode.cpp:
11377         (WebCore::EventTargetNode::dispatchWheelEvent):
11379 2008-09-28  David Hyatt  <hyatt@apple.com>
11381         https://bugs.webkit.org/show_bug.cgi?id=21191
11383         Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
11384         on ScrollView to be cross-platform.
11386         Give the wheel event a concept of granularity (pixel, line or page).  What used to be called continuous
11387         events are now pixel wheel events.
11389         Page scrolling as implemented in bug 17589 was completely broken.  It had the following problems:
11390         (1) Page scrolling has been corrected to be properly detected (on Windows
11391         page wheeling is only done in the vertical direction and it is keyed off a special return value of -1).  The
11392         old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
11393         you could page scroll horizontally.
11394         (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
11395         This caused the scroll amount for page scrolling to be way too large on layers.
11397         Bug 17589 got the default horizontal scrolling value wrong.  It assumed 1, when the Vista default is 3.
11399         Incorporate WebCore's line multiplier right into the deltas of the event.  This eliminates the need
11400         for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
11402         Reviewed by Oliver Hunt
11404         * editing/EditorCommand.cpp:
11405         (WebCore::verticalScrollDistance):
11406         * page/EventHandler.cpp:
11407         (WebCore::scrollAndAcceptEvent):
11408         (WebCore::EventHandler::handleWheelEvent):
11409         * platform/PlatformWheelEvent.h:
11410         (WebCore::):
11411         (WebCore::PlatformWheelEvent::pos):
11412         (WebCore::PlatformWheelEvent::globalPos):
11413         (WebCore::PlatformWheelEvent::deltaX):
11414         (WebCore::PlatformWheelEvent::deltaY):
11415         (WebCore::PlatformWheelEvent::granularity):
11416         (WebCore::PlatformWheelEvent::x):
11417         (WebCore::PlatformWheelEvent::globalX):
11418         (WebCore::PlatformWheelEvent::ignore):
11419         (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
11420         (WebCore::PlatformWheelEvent::verticalLineMultiplier):
11421         * platform/ScrollView.cpp:
11422         (WebCore::ScrollView::wheelEvent):
11423         * platform/Scrollbar.h:
11424         * platform/gtk/ScrollViewGtk.cpp:
11425         (WebCore::ScrollView::updateScrollbars):
11426         * platform/gtk/WheelEventGtk.cpp:
11427         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
11428         * platform/mac/ScrollViewMac.mm:
11429         * platform/mac/WheelEventMac.mm:
11430         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
11431         * platform/qt/ScrollViewQt.cpp:
11432         (WebCore::ScrollView::updateScrollbars):
11433         * platform/qt/WheelEventQt.cpp:
11434         * platform/win/ScrollViewWin.cpp:
11435         (WebCore::ScrollView::updateScrollbars):
11436         * platform/win/WheelEventWin.cpp:
11437         (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
11438         (WebCore::PlatformWheelEvent::verticalLineMultiplier):
11439         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
11440         * platform/wx/ScrollViewWx.cpp:
11441         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
11442         (WebCore::ScrollView::wheelEvent):
11443         * rendering/RenderLayer.cpp:
11444         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
11446 2008-09-27  Eric Carlson  <eric.carlson@apple.com>
11448         Reviewed by Sam Weinig.
11450         fix https://bugs.webkit.org/show_bug.cgi?id=20994
11451         <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
11452         
11453         HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
11454         all unsigned media attributes from string with toUInt() instead of toInt().
11455         
11456         * html/HTMLMediaElement.cpp:
11457         (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
11459         * html/HTMLVideoElement.cpp:
11460         (WebCore::HTMLVideoElement::videoWidth):
11461         (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
11462         (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
11463           unsigned value.
11464         (WebCore::HTMLVideoElement::height): Ditto.
11465         (WebCore::HTMLVideoElement::setWidth): take unsigned value.
11466         (WebCore::HTMLVideoElement::setHeight): Ditto.
11468         * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
11470         * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
11472 2008-09-27  Timothy Hatcher  <timothy@apple.com>
11474         Fixes an exception when typing a command in the Console.
11476         Reviewed by Oliver Hunt.
11478         * page/inspector/Console.js:
11479         (WebInspector.Console.prototype.addMessage): Null check
11480         this.previosMessage.
11482 2008-09-27  Timothy Hatcher  <timothy@apple.com>
11484         Fixes a bug where the Profiles panel sidebar would be empty
11485         after closing and reopening the Web Inspector.
11487         https://bugs.webkit.org/show_bug.cgi?id=21179
11489         Reviewed by Sam Weinig.
11491         * page/inspector/ProfilesPanel.js:
11492         (WebInspector.ProfilesPanel.prototype.reset): Don't call
11493         populateInterface, it is called automatically.
11494         (WebInspector.ProfilesPanel.prototype._populateProfiles):
11495         Return early if the sidebar is already populated.
11497 2008-09-27  Dave Hyatt  <hyatt@apple.com>
11499         Bug 21190.  The line scroll amount on Windows is way too small.  A patch for bug 17589 for wheel sensitivity
11500         incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling.  Line scrolling with the
11501         scrollbar has nothing to do with mouse wheeling.  This patch reverts the scrollbars to use the same line
11502         step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
11504         There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
11505         (which should never have landed in the first place).
11506        
11507         Reviewed by Tim Hatcher, Sam Weinig
11509         * platform/win/ScrollViewWin.cpp:
11510         (WebCore::adjustDeltaForPageScrollMode):
11511         (WebCore::ScrollView::updateScrollbars):
11512         (WebCore::ScrollView::wheelEvent):
11514 2008-09-27  David Hyatt  <hyatt@apple.com>
11516         Make the scrollbarUnderMouse method cross-platform.
11518         Reviewed by Sam Weinig
11520         * platform/ScrollView.cpp:
11521         (WebCore::ScrollView::scrollbarUnderMouse):
11522         * platform/gtk/ScrollViewGtk.cpp:
11523         * platform/mac/ScrollViewMac.mm:
11524         * platform/qt/ScrollViewQt.cpp:
11525         * platform/win/ScrollViewWin.cpp:
11526         * platform/wx/ScrollViewWx.cpp:
11528 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
11530         Gtk+ build fix.
11532         * platform/gtk/ScrollViewGtk.cpp:
11533         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
11535 2008-09-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
11537         Reviewed by Holger Freyther.
11539         https://bugs.webkit.org/show_bug.cgi?id=20287
11540         [Gtk] disable plugins for gtk/directfb target
11542         Introduce WTF_PLATFORM_X11 for X11 builds.
11543         Also use target-specific packages when building the port
11545         * platform/gtk/PlatformScreenGtk.cpp:
11546         * plugins/gtk/PluginViewGtk.cpp:
11547         (WebCore::PluginView::updatePluginWidget):
11548         (WebCore::PluginView::getValueStatic):
11549         (WebCore::PluginView::getValue):
11550         (WebCore::PluginView::init):
11552 2008-09-27  David Hyatt  <hyatt@apple.com>
11554         https://bugs.webkit.org/show_bug.cgi?id=21188
11556         Make scrollbar suppression and resizer avoidance cross-platform.
11558         Reviewed by Anders
11560         * loader/FrameLoader.cpp:
11561         (WebCore::FrameLoader::transitionToCommitted):
11562         * page/FrameView.cpp:
11563         (WebCore::FrameView::resetScrollbars):
11564         (WebCore::FrameView::clear):
11565         (WebCore::FrameView::layout):
11566         (WebCore::FrameView::restoreScrollbar):
11567         (WebCore::FrameView::windowResizerRect):
11568         * page/FrameView.h:
11569         * platform/ScrollView.cpp:
11570         (WebCore::ScrollView::init):
11571         (WebCore::ScrollView::resizerOverlapsContent):
11572         (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
11573         (WebCore::ScrollView::setParent):
11574         (WebCore::ScrollView::setScrollbarsSuppressed):
11575         (WebCore::ScrollView::platformSetScrollbarsSuppressed):
11576         * platform/ScrollView.h:
11577         (WebCore::ScrollView::scrollbarsSuppressed):
11578         (WebCore::ScrollView::windowResizerRect):
11579         * platform/Scrollbar.cpp:
11580         (WebCore::Scrollbar::setFrameRect):
11581         (WebCore::Scrollbar::setParent):
11582         * platform/gtk/ScrollViewGtk.cpp:
11583         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11584         (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
11585         (WebCore::ScrollView::updateScrollbars):
11586         (WebCore::ScrollView::paint):
11587         * platform/mac/ScrollViewMac.mm:
11588         (WebCore::ScrollView::ScrollView):
11589         (WebCore::ScrollView::~ScrollView):
11590         (WebCore::ScrollView::platformSetScrollbarsSuppressed):
11591         (WebCore::ScrollView::setScrollPosition):
11592         * platform/qt/ScrollViewQt.cpp:
11593         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11594         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
11595         (WebCore::ScrollView::frameRectsChanged):
11596         (WebCore::ScrollView::updateScrollbars):
11597         (WebCore::ScrollView::paint):
11598         * platform/win/ScrollViewWin.cpp:
11599         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11600         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
11601         (WebCore::ScrollView::updateScrollbars):
11602         (WebCore::ScrollView::paint):
11603         * platform/wx/ScrollViewWx.cpp:
11604         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11606 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
11608         Rubber-stamped by Anders Carlsson.
11610         Compile fix.
11612         * plugins/PluginView.cpp:
11613         (WebCore::PluginView::load):
11615 2008-09-27  Mark Rowe  <mrowe@apple.com>
11617         Rubber-stamped by Sam Weinig.
11619         Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
11620         Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
11622         Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
11624         * loader/CachedResource.cpp:
11625         (WebCore::CachedResource::~CachedResource):
11627 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
11629         Reviewed by Simon Hausmann.
11631         [qt] Use QImageReader to figure out which image formats are supported
11632         - Qt can have many different plugins for different image formats. Instead
11633         of checking only for a few in WebCore use Qt to determine if this data
11634         can be treated as an image.
11636         * platform/graphics/qt/ImageSourceQt.cpp:
11637         (WebCore::canHandleImage):
11638         (WebCore::createDecoder):
11640 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
11643         [qt] Clean the pattern code
11644         - Use save/restore on the painter after manipulating the
11645         pen/brush
11646         - Make the context and object null checking consistent. CG is using
11647         the object unconditionally so the Qt webkit platform can do the
11648         same.
11649         - Move code below the early exit. Only use the m_ownerElement before
11650         the early exit as the CG code is doing it.
11652         * svg/graphics/SVGPaintServerPattern.h:
11653         * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
11654         (WebCore::SVGPaintServerPattern::setup):
11655         (WebCore::SVGPaintServerPattern::teardown):
11657 2008-09-27  Keishi Hattori  <casey.hattori@gmail.com>
11659         Added support for console.trace.
11661         https://bugs.webkit.org/show_bug.cgi?id=19157
11663         Reviewed by Kevin McCullough and Tim Hatcher.
11665         * bindings/js/JSConsoleCustom.cpp:
11666         (WebCore::JSConsole::trace):
11667         * page/Console.cpp:
11668         (WebCore::Console::trace): Calls Machine::retrieveCaller to
11669         get a stack trace.
11670         * page/Console.h:
11671         (WebCore::): Added TraceMessageLevel.
11672         * page/Console.idl: Added console.trace.
11673         * page/inspector/Console.js:
11674         (ConsoleMessage): Added case for TraceMessageLevel.
11676 2008-09-27  Anders Carlsson  <andersca@apple.com>
11678         Reviewed by Sam Weinig.
11680         https://bugs.webkit.org/show_bug.cgi?id=21178
11681         <rdar://problem/6248651>
11683         Check if the plug-in is allowed to load the resource. This matches Firefox.
11685         Test: http/tests/plugins/local-geturl-from-remote.html
11687         * plugins/PluginView.cpp:
11688         (WebCore::PluginView::load):
11690 2008-09-22  Dirk Schulze  <vbs85@gmx.de>
11692         Reviewed by Eric Seidel.
11694         Added SVG pattern support to Qt.
11696         [Qt] SVG patterns are missing
11697         https://bugs.webkit.org/show_bug.cgi?id=20973
11699         * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
11700         (WebCore::SVGPaintServerPattern::setup):
11702 2008-09-27  Keishi Hattori  <casey.hattori@gmail.com>
11704         Fixed a bug in the JS syntax highlighter with multiple line tokens.
11706         https://bugs.webkit.org/show_bug.cgi?id=21171
11708         Reviewed by Tim Hatcher.
11710         * page/inspector/SourceFrame.js:
11711         (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
11713 2008-09-27  Timothy Hatcher  <timothy@apple.com>
11715         Change searching in the Profiles panel to not match the
11716         Self and Total columns when there are no units. The only
11717         column that is matched for unitless number searches is
11718         now the Calls column.
11720         https://bugs.webkit.org/show_bug.cgi?id=21169
11722         Reviewed by Sam Weinig.
11724         * page/inspector/ProfileView.js:
11725         (WebInspector.ProfileView.prototype.performSearch):
11727 2008-09-27  David Hyatt  <hyatt@apple.com>
11729         Rename boundsGeometry -> boundsRect.  Rename geometryChanged -> frameRectsChanged.
11731         Reviewed by Sam Weinig
11733         * platform/ScrollView.h:
11734         * platform/Widget.h:
11735         (WebCore::Widget::boundsRect):
11736         (WebCore::Widget::invalidate):
11737         (WebCore::Widget::frameRectsChanged):
11738         * platform/gtk/ScrollViewGtk.cpp:
11739         (WebCore::ScrollViewScrollbar::frameRectsChanged):
11740         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
11741         (WebCore::ScrollView::setFrameRect):
11742         (WebCore::ScrollView::updateScrollbars):
11743         (WebCore::ScrollView::frameRectsChanged):
11744         * platform/gtk/ScrollbarGtk.cpp:
11745         (ScrollbarGtk::setFrameRect):
11746         (ScrollbarGtk::frameRectsChanged):
11747         * platform/gtk/ScrollbarGtk.h:
11748         * platform/gtk/WidgetGtk.cpp:
11749         * platform/qt/ScrollViewQt.cpp:
11750         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
11751         (WebCore::ScrollView::setFrameRect):
11752         (WebCore::ScrollView::frameRectsChanged):
11753         (WebCore::ScrollView::updateScrollbars):
11754         * platform/win/ScrollViewWin.cpp:
11755         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
11756         (WebCore::ScrollView::setFrameRect):
11757         (WebCore::ScrollView::updateScrollbars):
11758         (WebCore::ScrollView::frameRectsChanged):
11759         * plugins/PluginView.cpp:
11760         (WebCore::PluginView::frameRectsChanged):
11761         * plugins/PluginView.h:
11763 2008-09-27  Simon Hausmann  <hausmann@webkit.org>
11765         Refix the previous build fix to compile on non-Qt platforms, too.
11767         * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
11768         WebCore to generate the PrototypeTable in the WebCore namespace
11769         * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
11770         table remains in the Webcore namespace
11771         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
11773 2008-09-27  Simon Hausmann  <hausmann@webkit.org>
11775         Fix compilation with gcc 4.3 (probably > 4.0)
11777         * bindings/js/JSDOMWindowBase.cpp: Don't define static property
11778         get/put functions inside the WebCore namespace.
11779         * bindings/js/JSEventTargetBase.cpp: Ditto.
11780         * bindings/js/JSEventTargetNode.cpp: Ditto.
11781         * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
11782         * bindings/js/JSEventTargetBase.h: Forward declare
11783         JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
11784         defines it in the JSC namespace.
11785         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
11786         prefix for PrototypeTable symbol.
11788 2008-09-27  David Hyatt  <hyatt@apple.com>
11790         Rename frameGeometry to frameRect.  Rename setFrameGeometry to setFrameRect.
11792         Reviewed by Dan Bernstein
11794         * WebCore.base.exp:
11795         * page/FrameView.cpp:
11796         (WebCore::FrameView::FrameView):
11797         (WebCore::FrameView::updateControlTints):
11798         * platform/ScrollView.h:
11799         * platform/Scrollbar.cpp:
11800         (WebCore::Scrollbar::Scrollbar):
11801         (WebCore::Scrollbar::paint):
11802         (WebCore::Scrollbar::setFrameRect):
11803         * platform/Scrollbar.h:
11804         * platform/ScrollbarThemeComposite.cpp:
11805         (WebCore::ScrollbarThemeComposite::paint):
11806         * platform/Widget.h:
11807         (WebCore::Widget::x):
11808         (WebCore::Widget::y):
11809         (WebCore::Widget::width):
11810         (WebCore::Widget::height):
11811         (WebCore::Widget::size):
11812         (WebCore::Widget::pos):
11813         (WebCore::Widget::resize):
11814         (WebCore::Widget::move):
11815         * platform/gtk/ScrollViewGtk.cpp:
11816         (WebCore::ScrollViewScrollbar::geometryChanged):
11817         (WebCore::ScrollView::update):
11818         (WebCore::ScrollView::setFrameRect):
11819         (WebCore::ScrollView::updateScrollbars):
11820         (WebCore::ScrollView::scrollbarUnderMouse):
11821         (WebCore::ScrollView::paint):
11822         * platform/gtk/ScrollbarGtk.cpp:
11823         (ScrollbarGtk::setFrameRect):
11824         (ScrollbarGtk::geometryChanged):
11825         * platform/gtk/ScrollbarGtk.h:
11826         * platform/gtk/WidgetGtk.cpp:
11827         (WebCore::Widget::frameRect):
11828         (WebCore::Widget::setFrameRect):
11829         * platform/mac/ScrollbarThemeMac.mm:
11830         (WebCore::ScrollbarThemeMac::trackRect):
11831         (WebCore::ScrollbarThemeMac::paint):
11832         * platform/mac/WidgetMac.mm:
11833         (WebCore::Widget::frameRect):
11834         (WebCore::Widget::setFrameRect):
11835         * platform/qt/ScrollViewQt.cpp:
11836         (WebCore::ScrollView::setFrameRect):
11837         (WebCore::ScrollView::updateScrollbars):
11838         (WebCore::ScrollView::scrollbarUnderMouse):
11839         (WebCore::ScrollView::paint):
11840         * platform/qt/ScrollbarThemeQt.cpp:
11841         (WebCore::styleOptionSlider):
11842         * platform/qt/WidgetQt.cpp:
11843         (WebCore::Widget::frameRect):
11844         (WebCore::Widget::setFrameRect):
11845         * platform/win/PopupMenuWin.cpp:
11846         (WebCore::PopupMenu::invalidateItem):
11847         (WebCore::PopupMenu::valueChanged):
11848         (WebCore::PopupWndProc):
11849         * platform/win/ScrollViewWin.cpp:
11850         (WebCore::ScrollView::setFrameRect):
11851         (WebCore::ScrollView::updateScrollbars):
11852         (WebCore::ScrollView::scrollbarUnderMouse):
11853         (WebCore::ScrollView::paint):
11854         * platform/win/ScrollbarThemeSafari.cpp:
11855         (WebCore::ScrollbarThemeSafari::trackRect):
11856         * platform/win/WidgetWin.cpp:
11857         (WebCore::Widget::frameRect):
11858         (WebCore::Widget::setFrameRect):
11859         * platform/wx/WidgetWx.cpp:
11860         (WebCore::Widget::frameRect):
11861         (WebCore::Widget::setFrameRect):
11862         * plugins/PluginView.cpp:
11863         (WebCore::PluginView::setFrameRect):
11864         * plugins/PluginView.h:
11865         * plugins/gtk/PluginViewGtk.cpp:
11866         (WebCore::PluginView::updatePluginWidget):
11867         (WebCore::PluginView::paint):
11868         (WebCore::PluginView::init):
11869         * plugins/qt/PluginViewQt.cpp:
11870         (WebCore::PluginView::updatePluginWidget):
11871         (WebCore::PluginView::init):
11872         * plugins/win/PluginViewWin.cpp:
11873         (WebCore::PluginView::updatePluginWidget):
11874         (WebCore::PluginView::paintMissingPluginIcon):
11875         (WebCore::PluginView::paint):
11876         (WebCore::PluginView::init):
11877         * rendering/RenderLayer.cpp:
11878         (WebCore::RenderLayer::positionOverflowControls):
11879         * rendering/RenderListBox.cpp:
11880         (WebCore::RenderListBox::paintScrollbar):
11881         * rendering/RenderPart.cpp:
11882         (WebCore::RenderPart::updateWidgetPosition):
11883         * rendering/RenderWidget.cpp:
11884         (WebCore::RenderWidget::setWidgetGeometry):
11885         (WebCore::RenderWidget::updateWidgetPosition):
11887 2008-09-27  David Hyatt  <hyatt@apple.com>
11889         <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
11891         This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
11892         access an actual member variable.
11894         Reviewed by Dan Bernstein
11896         * page/FocusController.cpp:
11897         (WebCore::FocusController::setFocusedFrame):
11899 2008-09-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
11901         Attempt to fix QT Build. Not reviewed.
11903         * WebCore.pro: add -n WebCore parameter to create_hash_table
11905 2008-09-26  Gwenole Beauchesne  <gbeauchesne@splitted-desktop.org>
11907         Reviewed by Eric Seidel.
11909         http://bugs.webkit.org/show_bug.cgi?id=18905
11910         [GTK] Fix build with older pango (1.14.8)
11912         * platform/graphics/gtk/FontGtk.cpp:
11913         * platform/gtk/Language.cpp:
11914         (_pango_get_lc_ctype):
11915         (pango_language_get_default):
11917 2008-09-26  David Hyatt  <hyatt@apple.com>
11919         https://bugs.webkit.org/show_bug.cgi?id=21168
11921         Make contentsToWindow/windowToContents cross-platform.
11923         Reviewed by Oliver Hunt
11925         * platform/ScrollView.cpp:
11926         (WebCore::ScrollView::windowToContents):
11927         (WebCore::ScrollView::contentsToWindow):
11928         * platform/ScrollView.h:
11929         * platform/gtk/ScrollViewGtk.cpp:
11930         * platform/mac/ScrollViewMac.mm:
11931         * platform/qt/ScrollViewQt.cpp:
11932         * platform/win/ScrollViewWin.cpp:
11933         * platform/wx/ScrollViewWx.cpp:
11935 2008-09-26  Sam Weinig  <sam@webkit.org>
11937         GTK build fix.
11939         * GNUmakefile.am:
11941 2008-09-26  David Hyatt  <hyatt@apple.com>
11943         Eliminate shouldUpdateWhileOffscreen from ScrollView.  Make the concept of not invalidating while
11944         offscreen cross-platform.  Rename the inWindow method to isOffscreen (which flips the boolean), since that
11945         more clearly conveys the intent of the method.  Make isOffscreen also check NSWindow visibility on Mac.
11947         Reviewed by Oliver Hunt
11949         * page/FrameView.cpp:
11950         (WebCore::FrameView::repaintContentRectangle):
11951         * page/FrameView.h:
11952         * platform/ScrollView.h:
11953         * platform/gtk/ScrollViewGtk.cpp:
11954         (WebCore::ScrollView::isOffscreen):
11955         * platform/mac/ScrollViewMac.mm:
11956         (WebCore::ScrollView::updateContents):
11957         (WebCore::ScrollView::isOffscreen):
11958         * platform/qt/ScrollViewQt.cpp:
11959         (WebCore::ScrollView::isOffscreen):
11960         * platform/win/ScrollViewWin.cpp:
11961         (WebCore::ScrollView::isOffscreen):
11962         * platform/wx/ScrollViewWx.cpp:
11963         (WebCore::ScrollView::isOffscreen):
11964         * rendering/RenderObject.cpp:
11965         (WebCore::RenderObject::willRenderImage):
11967 2008-09-26  David Hyatt  <hyatt@apple.com>
11969         https://bugs.webkit.org/show_bug.cgi?id=21164
11971         Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
11973         Reviewed by Sam Weinig
11975         * WebCore.base.exp:
11976         * page/FrameView.cpp:
11977         (WebCore::FrameView::setAllowsScrolling):
11978         * page/FrameView.h:
11979         * platform/ScrollView.cpp:
11980         (WebCore::ScrollView::setAllowsScrolling):
11981         * platform/ScrollView.h:
11982         (WebCore::ScrollView::allowsScrolling):
11983         * platform/win/ScrollViewWin.cpp:
11984         (WebCore::ScrollView::wheelEvent):
11986 2008-09-26  Kevin Ollivier  <kevino@theolliviers.com>
11988         wx build fixes after Widget/ScrollView changes.
11990         * platform/wx/PopupMenuWx.cpp:
11991         (WebCore::PopupMenu::show):
11992         * platform/wx/ScrollViewWx.cpp:
11993         (WebCore::ScrollView::platformSetContentsSize):
11994         (WebCore::ScrollView::platformSetScrollbarModes):
11995         (WebCore::ScrollView::wheelEvent):
11996         * platform/wx/TemporaryLinkStubs.cpp:
11997         * platform/wx/WidgetWx.cpp:
11998         (WebCore::Widget::containingWindow):
12000 2008-09-26  Timothy Hatcher  <timothy@apple.com>
12002         Allow searching for paths by always performing the
12003         three search methods in the Elements panel and not
12004         assume a search with a "/" is a XPath query.
12006         https://bugs.webkit.org/show_bug.cgi?id=21159
12008         Reviewed by Geoff Garen.
12010         * page/inspector/ElementsPanel.js:
12011         (WebInspector.ElementsPanel.prototype.performSearch):
12013 2008-09-26  Sam Weinig  <sam@webkit.org>
12015         Reviewed by Darin Adler.
12017         Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
12018         Speedup static property get/put
12020         * DerivedSources.make:
12021         * GNUmakefile.am:
12022         * WebCore.pro:
12023         * WebCore.vcproj/WebCore.vcproj:
12024         * WebCore.xcodeproj/project.pbxproj:
12025         * bindings/js/JSDOMBinding.cpp:
12026         * bindings/js/JSDOMBinding.h:
12027         * bindings/js/JSDOMWindowBase.cpp:
12028         (WebCore::getDOMConstructor):
12029         (WebCore::jsDOMWindowBaseCrypto):
12030         (WebCore::jsDOMWindowBaseEvent):
12031         (WebCore::jsDOMWindowBaseImage):
12032         (WebCore::jsDOMWindowBaseMessageChannel):
12033         (WebCore::jsDOMWindowBaseOption):
12034         (WebCore::jsDOMWindowBaseXMLHttpRequest):
12035         (WebCore::jsDOMWindowBaseAudio):
12036         (WebCore::jsDOMWindowBaseXSLTProcessor):
12037         (WebCore::jsDOMWindowBaseOnabort):
12038         (WebCore::jsDOMWindowBaseOnblur):
12039         (WebCore::jsDOMWindowBaseOnchange):
12040         (WebCore::jsDOMWindowBaseOnclick):
12041         (WebCore::jsDOMWindowBaseOndblclick):
12042         (WebCore::jsDOMWindowBaseOnerror):
12043         (WebCore::jsDOMWindowBaseOnfocus):
12044         (WebCore::jsDOMWindowBaseOnkeydown):
12045         (WebCore::jsDOMWindowBaseOnkeypress):
12046         (WebCore::jsDOMWindowBaseOnkeyup):
12047         (WebCore::jsDOMWindowBaseOnload):
12048         (WebCore::jsDOMWindowBaseOnmousedown):
12049         (WebCore::jsDOMWindowBaseOnmousemove):
12050         (WebCore::jsDOMWindowBaseOnmouseout):
12051         (WebCore::jsDOMWindowBaseOnmouseover):
12052         (WebCore::jsDOMWindowBaseOnmouseup):
12053         (WebCore::jsDOMWindowBaseOnMouseWheel):
12054         (WebCore::jsDOMWindowBaseOnreset):
12055         (WebCore::jsDOMWindowBaseOnresize):
12056         (WebCore::jsDOMWindowBaseOnscroll):
12057         (WebCore::jsDOMWindowBaseOnsearch):
12058         (WebCore::jsDOMWindowBaseOnselect):
12059         (WebCore::jsDOMWindowBaseOnsubmit):
12060         (WebCore::jsDOMWindowBaseOnbeforeunload):
12061         (WebCore::jsDOMWindowBaseOnunload):
12062         (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
12063         (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
12064         (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
12065         (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
12066         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
12067         (WebCore::JSDOMWindowBase::put):
12068         (WebCore::setJSDOMWindowBaseOnabort):
12069         (WebCore::setJSDOMWindowBaseOnblur):
12070         (WebCore::setJSDOMWindowBaseOnchange):
12071         (WebCore::setJSDOMWindowBaseOnclick):
12072         (WebCore::setJSDOMWindowBaseOndblclick):
12073         (WebCore::setJSDOMWindowBaseOnerror):
12074         (WebCore::setJSDOMWindowBaseOnfocus):
12075         (WebCore::setJSDOMWindowBaseOnkeydown):
12076         (WebCore::setJSDOMWindowBaseOnkeypress):
12077         (WebCore::setJSDOMWindowBaseOnkeyup):
12078         (WebCore::setJSDOMWindowBaseOnload):
12079         (WebCore::setJSDOMWindowBaseOnmousedown):
12080         (WebCore::setJSDOMWindowBaseOnmousemove):
12081         (WebCore::setJSDOMWindowBaseOnmouseout):
12082         (WebCore::setJSDOMWindowBaseOnmouseover):
12083         (WebCore::setJSDOMWindowBaseOnmouseup):
12084         (WebCore::setJSDOMWindowBaseOnMouseWheel):
12085         (WebCore::setJSDOMWindowBaseOnreset):
12086         (WebCore::setJSDOMWindowBaseOnresize):
12087         (WebCore::setJSDOMWindowBaseOnscroll):
12088         (WebCore::setJSDOMWindowBaseOnsearch):
12089         (WebCore::setJSDOMWindowBaseOnselect):
12090         (WebCore::setJSDOMWindowBaseOnsubmit):
12091         (WebCore::setJSDOMWindowBaseOnbeforeunload):
12092         (WebCore::setJSDOMWindowBaseOnunload):
12093         (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
12094         (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
12095         (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
12096         (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
12097         (WebCore::setJSDOMWindowBaseEvent):
12098         (WebCore::setJSDOMWindowBaseAudio):
12099         (WebCore::setJSDOMWindowBaseImage):
12100         (WebCore::setJSDOMWindowBaseMessageChannel):
12101         (WebCore::setJSDOMWindowBaseOption):
12102         (WebCore::setJSDOMWindowBaseXMLHttpRequest):
12103         (WebCore::setJSDOMWindowBaseXSLTProcessor):
12104         * bindings/js/JSDOMWindowBase.h:
12105         * bindings/js/JSDOMWindowCustom.cpp:
12106         (WebCore::nonCachingStaticCloseFunctionGetter):
12107         (WebCore::nonCachingStaticBlurFunctionGetter):
12108         (WebCore::nonCachingStaticFocusFunctionGetter):
12109         (WebCore::nonCachingStaticPostMessageFunctionGetter):
12110         * bindings/js/JSDOMWindowCustom.h:
12111         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
12112         * bindings/js/JSEventTargetBase.cpp:
12113         * bindings/js/JSEventTargetBase.h:
12114         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
12115         (WebCore::JSEventTargetBasePrototype::classInfo):
12116         * bindings/js/JSEventTargetNode.cpp:
12117         (WebCore::):
12118         (WebCore::JSEventTargetNode::getOwnPropertySlot):
12119         (WebCore::JSEventTargetNode::put):
12120         * bindings/js/JSEventTargetNode.h:
12121         (WebCore::JSEventTargetNode::classInfo):
12122         (WebCore::JSEventTargetNode::prototypeClassName):
12123         * bindings/js/JSEventTargetSVGElementInstance.cpp:
12124         (WebCore::):
12125         (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
12126         (WebCore::JSEventTargetSVGElementInstance::put):
12127         * bindings/js/JSEventTargetSVGElementInstance.h:
12128         (WebCore::JSEventTargetSVGElementInstance::classInfo):
12129         (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
12130         * bindings/js/JSHTMLInputElementCustom.cpp:
12131         (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
12132         * bindings/js/JSHistoryCustom.cpp:
12133         (WebCore::nonCachingStaticBackFunctionGetter):
12134         (WebCore::nonCachingStaticForwardFunctionGetter):
12135         (WebCore::nonCachingStaticGoFunctionGetter):
12136         (WebCore::JSHistory::customGetOwnPropertySlot):
12137         * bindings/js/JSLocationCustom.cpp:
12138         (WebCore::nonCachingStaticReplaceFunctionGetter):
12139         (WebCore::nonCachingStaticReloadFunctionGetter):
12140         (WebCore::nonCachingStaticAssignFunctionGetter):
12141         (WebCore::JSLocation::customGetOwnPropertySlot):
12142         (WebCore::JSLocation::customPut):
12143         * bindings/scripts/CodeGeneratorJS.pm:
12145 2008-09-26  David Hyatt  <hyatt@apple.com>
12147         https://bugs.webkit.org/show_bug.cgi?id=21149
12149         Make the concept of scroll modes cross-platform.  Move the scrollbars up into ScrollView as well.
12150         Eliminate the unused isScrollable() method.
12152         Reviewed by Sam Weinig
12154         * WebCore.base.exp:
12155         * page/FrameView.cpp:
12156         (WebCore::FrameView::resetScrollbars):
12157         (WebCore::FrameView::initScrollbars):
12158         (WebCore::FrameView::layout):
12159         * page/FrameView.h:
12160         * page/mac/WebCoreFrameView.h:
12161         * platform/ScrollView.cpp:
12162         (WebCore::ScrollView::init):
12163         (WebCore::ScrollView::setScrollbarModes):
12164         (WebCore::ScrollView::scrollbarModes):
12165         (WebCore::ScrollView::platformSetScrollbarModes):
12166         (WebCore::ScrollView::platformScrollbarModes):
12167         * platform/ScrollView.h:
12168         (WebCore::ScrollView::horizontalScrollbar):
12169         (WebCore::ScrollView::verticalScrollbar):
12170         (WebCore::ScrollView::isScrollViewScrollbar):
12171         (WebCore::ScrollView::setHorizontalScrollbarMode):
12172         (WebCore::ScrollView::setVerticalScrollbarMode):
12173         (WebCore::ScrollView::horizontalScrollbarMode):
12174         (WebCore::ScrollView::verticalScrollbarMode):
12175         (WebCore::ScrollView::convertSelfToChild):
12176         * platform/gtk/ScrollViewGtk.cpp:
12177         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12178         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12179         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12180         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12181         (WebCore::ScrollView::updateScrollbars):
12182         (WebCore::ScrollView::scrollbarUnderMouse):
12183         (WebCore::ScrollView::isScrollViewScrollbar):
12184         (WebCore::ScrollView::paint):
12185         (WebCore::ScrollView::scroll):
12186         * platform/mac/ScrollViewMac.mm:
12187         (WebCore::ScrollView::platformSetScrollbarModes):
12188         (WebCore::ScrollView::platformScrollbarModes):
12189         * platform/qt/ScrollViewQt.cpp:
12190         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12191         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12192         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12193         (WebCore::ScrollView::horizontalScrollbar):
12194         (WebCore::ScrollView::verticalScrollbar):
12195         (WebCore::ScrollView::invalidateScrollbars):
12196         (WebCore::ScrollView::updateScrollbars):
12197         (WebCore::ScrollView::scrollbarUnderMouse):
12198         (WebCore::ScrollView::paint):
12199         (WebCore::ScrollView::scroll):
12200         * platform/win/ScrollViewWin.cpp:
12201         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12202         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12203         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12204         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12205         (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
12206         (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
12207         (WebCore::ScrollView::suppressScrollbars):
12208         (WebCore::ScrollView::updateScrollbars):
12209         (WebCore::ScrollView::scrollbarUnderMouse):
12210         (WebCore::ScrollView::paint):
12211         (WebCore::ScrollView::scroll):
12212         * platform/wx/ScrollViewWx.cpp:
12213         (WebCore::ScrollView::platformSetScrollbarModes):
12214         (WebCore::ScrollView::platformScrollbarModes):
12216 2008-09-26  David Kilzer  <ddkilzer@apple.com>
12218         Fix Mac build with XPATH and XSLT disabled
12220         Reviewed by Alexey.
12222         * bindings/objc/DOMUtility.mm:
12223         (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
12224         * dom/XMLTokenizerLibxml2.cpp:
12225         (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
12226         prevent an unused code warning.
12228 2008-09-26  Kevin McCullough  <kmccullough@apple.com>
12230         Rubber stamped by Tim Hatcher.
12232         Bug 21098: Crashing under Console::log
12233         - Speculative ASSERT to help find the problem.
12235         * page/InspectorController.cpp:
12236         (WebCore::ConsoleMessage::isEqual):
12238 2008-09-26  Holger Hans Peter Freyther  <zecke@selfish.org>
12240         [gtk+] Build fix for the latest ScrollView changes
12242         * platform/gtk/ScrollViewGtk.cpp:
12243         (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
12244         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12246 2008-09-26  Timothy Hatcher  <timothy@apple.com>
12248         Fixes a bug where the console message repeat count would be wrong
12249         when typing commands in between repeated messages.
12251         https://bugs.webkit.org/show_bug.cgi?id=21145
12253         Reviewed by Kevin McCullough.
12255         * page/InspectorController.cpp:
12256         (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
12257         (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
12258         * page/inspector/Console.js:
12259         (WebInspector.Console.prototype.addMessage): Remember the original repeat count
12260         for each message as totalRepeatCount, since we now modify repeatCount to mean
12261         repeats since previous console command. If repeatCountBeforeCommand is a number,
12262         subtract that value from the repeatCount.
12263         (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
12264         and commandSincePreviousMessage properties.
12266 2008-09-26  Eric Carlson  <eric.carlson@apple.com>
12268         Reviewed by Antti
12270         https://bugs.webkit.org/show_bug.cgi?id=21116
12271         <rdar://problem/5726325> Audio from <video> can still be heard after navigating 
12272         back to page with <video>, then closing tab
12274         Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
12275         documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
12276         deletion.
12278         * dom/Document.cpp:
12279         (WebCore::Document::documentWillBecomeInactive):
12280         (WebCore::Document::documentDidBecomeActive):
12281         (WebCore::Document::registerForDocumentActivationCallbacks):
12282         (WebCore::Document::unregisterForDocumentActivationCallbacks):
12283         * dom/Document.h:
12284         * dom/Element.h:
12285         (WebCore::Element::documentWillBecomeInactive):
12286         (WebCore::Element::documentDidBecomeActive):
12287         * history/CachedPage.cpp:
12288         (WebCore::CachedPage::CachedPage):
12289         * html/HTMLFormElement.cpp:
12290         (WebCore::HTMLFormElement::~HTMLFormElement):
12291         (WebCore::HTMLFormElement::parseMappedAttribute):
12292         (WebCore::HTMLFormElement::documentDidBecomeActive):
12293         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
12294         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
12295         * html/HTMLFormElement.h:
12296         * html/HTMLInputElement.cpp:
12297         (WebCore::HTMLInputElement::~HTMLInputElement):
12298         (WebCore::HTMLInputElement::setInputType):
12299         (WebCore::HTMLInputElement::parseMappedAttribute):
12300         (WebCore::HTMLInputElement::needsActivationCallback):
12301         (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
12302         (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
12303         (WebCore::HTMLInputElement::documentDidBecomeActive):
12304         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
12305         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
12306         * html/HTMLInputElement.h:
12307         * html/HTMLMediaElement.cpp:
12308         (WebCore::HTMLMediaElement::HTMLMediaElement):
12309         (WebCore::HTMLMediaElement::~HTMLMediaElement):
12310         (WebCore::HTMLMediaElement::documentWillBecomeInactive):
12311         (WebCore::HTMLMediaElement::documentDidBecomeActive):
12312         * html/HTMLMediaElement.h:
12313         (WebCore::HTMLMediaElement::inActiveDocument):
12314         * loader/FrameLoader.cpp:
12315         (WebCore::FrameLoader::opened):
12316         * page/Page.cpp:
12317         (WebCore::Page::~Page):
12318         * rendering/RenderMedia.cpp:
12319         (WebCore::RenderMedia::updateControls):
12320         * rendering/RenderVideo.cpp:
12321         (WebCore::RenderVideo::updatePlayer):
12322         * svg/SVGSVGElement.cpp:
12323         (WebCore::SVGSVGElement::SVGSVGElement):
12324         (WebCore::SVGSVGElement::~SVGSVGElement):
12325         (WebCore::SVGSVGElement::documentWillBecomeInactive):
12326         (WebCore::SVGSVGElement::documentDidBecomeActive):
12327         * svg/SVGSVGElement.h:
12329 2008-09-26  Ariya Hidayat  <ariya.hidayat@trolltech.com>
12331         Reviewed by Simon
12333         Fix the build inside Qt, don't create faulty prl files for now.
12335         * WebCore.pro:
12337 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
12339         Fix compilation on Qt/Windows
12341         * Add WebCore/ to the include path so that config.h is found that enables JSC
12342         * Link against winmm for the multimedia timer functions
12343         * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
12344         subdirectory
12345         * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
12346         but set m_window directly as setPlatformWidget takes a QWidget*.
12348         * WebCore.pro:
12349         * platform/win/SystemTimeWin.cpp:
12350         * plugins/win/PluginViewWin.cpp:
12351         (WebCore::PluginView::init):
12353 2008-09-26  Oliver Hunt  <oliver@apple.com>
12355         Reviewed by Maciej Stachowiak.
12357         Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
12358         <https://bugs.webkit.org/show_bug.cgi?id=21054>
12360         This performance regression is actually just a symptom of a correctness
12361         bug.  The constructor objects for a number of properties that have security
12362         checks on access were returning new objects each time.  The most obvious
12363         symptom of this bug is that window.Image != window.Image, etc.
12365         The solution to this is to make sure we cache these constructors
12366         in the same way as all the other DOM constructors.  To achieve this
12367         without causing any refcount cycles it is necessary to replace the
12368         refcounted document pointer in the Image, MessageChannel, Option, 
12369         XMLHttpRequest, and Audio constructor objects with a reference to 
12370         the document's JS wrapper.
12372         Tests: fast/dom/constructors-cached-navigate.html
12373                fast/dom/constructors-cached.html
12375         * WebCore.xcodeproj/project.pbxproj:
12376         * bindings/js/JSAudioConstructor.cpp:
12377         (WebCore::JSAudioConstructor::mark):
12378         * bindings/js/JSAudioConstructor.h:
12379         (WebCore::JSAudioConstructor::document):
12380         * bindings/js/JSDOMWindowBase.cpp:
12381         (WebCore::getDOMConstructor):
12382         (WebCore::JSDOMWindowBase::getValueProperty):
12383         * bindings/js/JSDOMWindowBase.h:
12384         * bindings/js/JSHTMLOptionElementConstructor.cpp:
12385         (WebCore::JSHTMLOptionElementConstructor::mark):
12386         * bindings/js/JSHTMLOptionElementConstructor.h:
12387         (WebCore::JSHTMLOptionElementConstructor::document):
12388         * bindings/js/JSImageConstructor.cpp:
12389         (WebCore::JSImageConstructor::mark):
12390         * bindings/js/JSImageConstructor.h:
12391         (WebCore::JSImageConstructor::document):
12392         * bindings/js/JSXMLHttpRequestConstructor.cpp:
12393         (WebCore::JSXMLHttpRequestConstructor::mark):
12394         * bindings/js/JSXMLHttpRequestConstructor.h:
12395         (WebCore::JSXMLHttpRequestConstructor::document):
12397 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
12399         Unreviewed one-liner build fix for the Qt/Windows build.
12401         The build requires NPAPI support to be enabled, fix the condition in
12402         the .pro file for that.
12404         * WebCore.pro:
12406 2008-09-26  Trenton Schulz <twschulz@trolltech.com>
12408         Reviewed by Simon.
12410         Fix compilation with the Qt/Cocoa port.
12412         * platform/qt/ScrollViewQt.cpp:
12413         (WebCore::ScrollView::updateScrollbars):
12415 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
12417         Reviewed by Holger.
12419         Fix compilation with VC9SP1, work around bug in TR1 library by
12420         disabling it.
12422         * WebCore.pro:
12424 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
12426         Reviewed by Holger.
12428         Fix an lupdate() warning.
12430         Don't use tr() in a class that is not a QObject, use
12431         QCoreApplication::translate() directly.
12433         * platform/qt/ScrollbarQt.cpp:
12434         (WebCore::Scrollbar::handleContextMenuEvent):
12436 2008-09-25  David Hyatt  <hyatt@apple.com>
12438         Remove the scrollTo() method from FrameView, since it is not used by anyone.
12440         Reviewed by Oliver Hunt
12442         * page/FrameView.cpp:
12443         * page/FrameView.h:
12445 2008-09-25  David Hyatt  <hyatt@apple.com>
12447         Make scrollRectIntoViewRecursively cross-platform.
12449         Reviewed by Oliver Hunt
12451         * platform/ScrollView.cpp:
12452         (WebCore::ScrollView::scrollRectIntoViewRecursively):
12453         * platform/gtk/ScrollViewGtk.cpp:
12454         * platform/mac/ScrollViewMac.mm:
12455         * platform/qt/ScrollViewQt.cpp:
12456         * platform/win/ScrollViewWin.cpp:
12457         * platform/wx/ScrollViewWx.cpp:
12459 2008-09-25  David Hyatt  <hyatt@apple.com>
12461         https://bugs.webkit.org/show_bug.cgi?id=21133
12462         
12463         Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()).  Make it
12464         cross-platform.
12466         Reviewed by Oliver Hunt
12468         * loader/FrameLoader.cpp:
12469         (WebCore::FrameLoader::begin):
12470         * page/FrameView.cpp:
12471         (WebCore::FrameView::adjustViewSize):
12472         * platform/ScrollView.cpp:
12473         (WebCore::ScrollView::setContentsSize):
12474         * platform/ScrollView.h:
12475         (WebCore::ScrollView::updateScrollbars):
12476         * platform/gtk/ScrollViewGtk.cpp:
12477         * platform/mac/ScrollViewMac.mm:
12478         (WebCore::ScrollView::platformSetContentsSize):
12479         * platform/qt/ScrollViewQt.cpp:
12480         * platform/win/ScrollViewWin.cpp:
12481         * platform/wx/ScrollViewWx.cpp:
12482         (WebCore::ScrollView::platformSetContentsSize):
12484 2008-09-25  David Hyatt  <hyatt@apple.com>
12486         https://bugs.webkit.org/show_bug.cgi?id=21132
12488         Clean up the methods that actually do the scrolling in ScrollView.
12490         Reviewed by Oliver Hunt
12492         * html/HTMLBodyElement.cpp:
12493         (WebCore::HTMLBodyElement::setScrollLeft):
12494         (WebCore::HTMLBodyElement::setScrollTop):
12495         * loader/FrameLoader.cpp:
12496         (WebCore::FrameLoader::restoreScrollPositionAndViewState):
12497         * loader/ImageDocument.cpp:
12498         (WebCore::ImageDocument::imageClicked):
12499         * page/DOMWindow.cpp:
12500         (WebCore::DOMWindow::scrollBy):
12501         (WebCore::DOMWindow::scrollTo):
12502         * page/FrameView.cpp:
12503         (WebCore::FrameView::scrollTo):
12504         (WebCore::FrameView::setScrollPosition):
12505         * page/FrameView.h:
12506         * platform/ScrollView.cpp:
12507         (WebCore::ScrollView::maximumScrollPosition):
12508         * platform/ScrollView.h:
12509         (WebCore::ScrollView::contentsWidth):
12510         (WebCore::ScrollView::contentsHeight):
12511         (WebCore::ScrollView::scrollBy):
12512         * platform/gtk/ScrollViewGtk.cpp:
12513         (WebCore::ScrollView::setScrollPosition):
12514         * platform/mac/ScrollViewMac.mm:
12515         (WebCore::ScrollView::setScrollPosition):
12516         * platform/qt/ScrollViewQt.cpp:
12517         (WebCore::ScrollView::setScrollPosition):
12518         (WebCore::ScrollView::scrollRectIntoViewRecursively):
12519         * platform/win/ScrollViewWin.cpp:
12520         (WebCore::ScrollView::setScrollPosition):
12521         (WebCore::ScrollView::scrollRectIntoViewRecursively):
12522         * platform/wx/ScrollViewWx.cpp:
12523         (WebCore::ScrollView::setScrollPosition):
12524         * rendering/RenderLayer.cpp:
12525         (WebCore::RenderLayer::scrollByRecursively):
12526         (WebCore::RenderLayer::scrollRectToVisible):
12528 2008-09-25  Dan Bernstein  <mitz@apple.com>
12530         - attempted Windows build fix
12532         * platform/win/ScrollViewWin.cpp:
12533         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12534         (WebCore::ScrollView::setContentsPos):
12535         (WebCore::ScrollView::paint):
12537 2008-09-25  Timothy Hatcher  <timothy@apple.com>
12539         Revert the padding changes done in r36905 to prevent the
12540         scrollbar from overlapping the URLs in the Console.
12542         https://bugs.webkit.org/show_bug.cgi?id=21126
12544         * page/inspector/inspector.css:
12546 2008-09-25  David Hyatt  <hyatt@apple.com>
12548         https://bugs.webkit.org/show_bug.cgi?id=21129
12550         Refactor contents size and scroll offset to be cross-platform.  Reduce further the number
12551         of platform-specific methods required of ScrollView implementations.
12553         Reviewed by Tim Hatcher
12555         * dom/MouseRelatedEvent.cpp:
12556         (WebCore::contentsX):
12557         (WebCore::contentsY):
12558         * html/HTMLBodyElement.cpp:
12559         (WebCore::HTMLBodyElement::scrollLeft):
12560         (WebCore::HTMLBodyElement::setScrollLeft):
12561         (WebCore::HTMLBodyElement::scrollTop):
12562         (WebCore::HTMLBodyElement::setScrollTop):
12563         * loader/FrameLoader.cpp:
12564         (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
12565         * page/DOMWindow.cpp:
12566         (WebCore::DOMWindow::scrollX):
12567         (WebCore::DOMWindow::scrollY):
12568         * page/EventHandler.cpp:
12569         (WebCore::EventHandler::hitTestResultAtPoint):
12570         * page/FrameView.cpp:
12571         (WebCore::FrameView::scrollTo):
12572         (WebCore::FrameView::windowClipRect):
12573         * platform/ScrollView.cpp:
12574         (WebCore::ScrollView::visibleContentRect):
12575         (WebCore::ScrollView::contentsSize):
12576         (WebCore::ScrollView::platformContentsSize):
12577         * platform/ScrollView.h:
12578         (WebCore::ScrollView::scrollPosition):
12579         (WebCore::ScrollView::scrollOffset):
12580         (WebCore::ScrollView::scrollX):
12581         (WebCore::ScrollView::scrollY):
12582         (WebCore::ScrollView::contentsWidth):
12583         (WebCore::ScrollView::contentsHeight):
12584         * platform/gtk/ScrollViewGtk.cpp:
12585         (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
12586         (WebCore::ScrollView::setGtkAdjustments):
12587         (WebCore::ScrollView::resizeContents):
12588         (WebCore::ScrollView::contentsWidth):
12589         (WebCore::ScrollView::contentsHeight):
12590         (WebCore::ScrollView::scrollOffset):
12591         (WebCore::ScrollView::maximumScroll):
12592         (WebCore::ScrollView::scrollBy):
12593         (WebCore::ScrollView::suppressScrollbars):
12594         (WebCore::ScrollView::setHScrollbarMode):
12595         (WebCore::ScrollView::setVScrollbarMode):
12596         (WebCore::ScrollView::setScrollbarsMode):
12597         (WebCore::ScrollView::setFrameGeometry):
12598         (WebCore::ScrollView::updateScrollbars):
12599         * platform/mac/ScrollViewMac.mm:
12600         (WebCore::ScrollView::platformContentsSize):
12601         (WebCore::ScrollView::scrollBy):
12602         * platform/mac/WidgetMac.mm:
12603         (WebCore::Widget::convertFromContainingWindow):
12604         (WebCore::Widget::convertToContainingWindow):
12605         * platform/qt/ScrollViewQt.cpp:
12606         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12607         (WebCore::ScrollView::resizeContents):
12608         (WebCore::ScrollView::setFrameGeometry):
12609         (WebCore::ScrollView::scrollOffset):
12610         (WebCore::ScrollView::maximumScroll):
12611         (WebCore::ScrollView::scrollBy):
12612         (WebCore::ScrollView::setHScrollbarMode):
12613         (WebCore::ScrollView::setVScrollbarMode):
12614         (WebCore::ScrollView::setScrollbarsMode):
12615         (WebCore::ScrollView::updateScrollbars):
12616         * platform/win/ScrollViewWin.cpp:
12617         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12618         (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
12619         (WebCore::ScrollView::resizeContents):
12620         (WebCore::ScrollView::setFrameGeometry):
12621         (WebCore::ScrollView::scrollOffset):
12622         (WebCore::ScrollView::maximumScroll):
12623         (WebCore::ScrollView::scrollBy):
12624         (WebCore::ScrollView::setHScrollbarMode):
12625         (WebCore::ScrollView::setVScrollbarMode):
12626         (WebCore::ScrollView::setScrollbarsMode):
12627         (WebCore::ScrollView::updateScrollbars):
12628         * platform/wx/ScrollViewWx.cpp:
12629         (WebCore::ScrollView::platformVisibleContentRect):
12630         (WebCore::ScrollView::platformContentsSize):
12631         * rendering/RenderBlock.cpp:
12632         (WebCore::RenderBlock::nodeAtPoint):
12633         * rendering/RenderLayer.cpp:
12634         (WebCore::RenderLayer::scrollRectToVisible):
12635         (WebCore::RenderLayer::calculateClipRects):
12636         (WebCore::RenderLayer::calculateRects):
12637         * rendering/RenderView.cpp:
12638         (WebCore::RenderView::absolutePosition):
12639         (WebCore::RenderView::computeAbsoluteRepaintRect):
12641 2008-09-25  David Smith  <catfish.man@gmail.com>
12643         Reviewed by Dave Hyatt.
12645         Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
12647         * dom/Element.cpp:
12648         (WebCore::Element::rareData):
12649         * dom/Element.h:
12650         * dom/Node.cpp:
12651         (WebCore::Node::rareData):
12652         * dom/Node.h:
12654 2008-09-25  David Smith  <catfish.man@gmail.com>
12656         Reviewed by Darin Adler.
12657         
12658         https://bugs.webkit.org/show_bug.cgi?id=20980
12659         Split off uncommonly used data from Node similar to ElementRareData
12660         
12661         Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
12662         which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
12663         for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
12665         * WebCore.base.exp: 
12666         * WebCore.xcodeproj/project.pbxproj:
12667         * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
12668         * dom/ContainerNode.cpp: Set isContainer to true
12669         (WebCore::ContainerNode::ContainerNode):
12670         * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
12671         (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
12672         (WebCore::Node::containerChildNode): ditto
12673         (WebCore::Node::containerFirstChild): ditto
12674         (WebCore::Node::containerLastChild): ditto
12675         * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
12676         (WebCore::Element::Element): 
12677         (WebCore::Element::~Element):
12678         (WebCore::Element::rareData):
12679         (WebCore::Element::ensureRareData): Renamed from createRareData
12680         (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
12681         (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
12682         (WebCore::Element::detach): ditto
12683         (WebCore::Element::recalcStyle): ditto
12684         (WebCore::Element::focus):
12685         (WebCore::Element::minimumSizeForResizing): ditto
12686         (WebCore::Element::setMinimumSizeForResizing): ditto
12687         (WebCore::Element::computedStyle):
12688         (WebCore::Element::cancelFocusAppearanceUpdate): ditto
12689         * dom/Element.h:
12690         * dom/ElementRareData.h: Added; everything copied from Element.cpp
12691         (WebCore::defaultMinimumSizeForResizing):
12692         (WebCore::ElementRareData::ElementRareData):
12693         (WebCore::ElementRareData::resetComputedStyle):
12694         * dom/EventTargetNode.cpp:
12695         (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
12696         * dom/EventTargetNode.h:
12697         * dom/Node.cpp:
12698         (WebCore::Node::Node):
12699         (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
12700         (WebCore::Node::rareData):
12701         (WebCore::Node::ensureRareData):
12702         (WebCore::Node::createRareData):
12703         (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
12704         (WebCore::Node::setTabIndexExplicitly):
12705         (WebCore::Node::childNodes): NodeLists are now in rareData
12706         (WebCore::Node::setFocus):
12707         (WebCore::Node::rareDataFocused):
12708         (WebCore::Node::isFocusable):
12709         (WebCore::Node::isKeyboardFocusable):
12710         (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
12711         (WebCore::Node::unregisterDynamicNodeList): ditto
12712         (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
12713         (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
12714         (WebCore::Node::getElementsByName): ditto
12715         (WebCore::Node::getElementsByClassName): ditto
12716         * dom/Node.h:
12717         (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
12718         (WebCore::Node::lastChild): ditto
12719         (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
12720         (WebCore::Node::focused): focus is in rareData if set
12721         (WebCore::Node::childTypeAllowed):
12722         (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
12723         (WebCore::Node::childNode): ditto
12724         (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
12725         * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
12726         (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
12727         (WebCore::NodeRareData::NodeRareData):
12728         (WebCore::NodeRareData::rareDataMap):
12729         (WebCore::NodeRareData::rareDataFromMap):
12730         (WebCore::NodeRareData::clearNodeLists):
12731         (WebCore::NodeRareData::setNodeLists):
12732         (WebCore::NodeRareData::nodeLists):
12733         (WebCore::NodeRareData::tabIndex):
12734         (WebCore::NodeRareData::setTabIndex):
12735         (WebCore::NodeRareData::tabIndexSetExplicitly):
12736         * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
12737         * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
12739 2008-09-25  Holger Hans Peter Freyther  <zecke@selfish.org>
12741         Reviewed by Simon Hausmann.
12743         [qt] ImageBuffer::toDataURL implementation
12745         There needs to be a Qt specific test result for the above mentioned
12746         implementation.
12748         * platform/graphics/qt/ImageBufferQt.cpp:
12749         (WebCore::ImageBuffer::toDataURL):
12751 2008-09-25  Holger Hans Peter Freyther  <zecke@selfish.org>
12753         Reviewed by Simon Hausmann.
12755         [qt] Implement SharedBuffer for Qt.
12757         * WebCore.pro:
12758         * platform/qt/SharedBufferQt.cpp: Added.
12759         (WebCore::SharedBuffer::createWithContentsOfFile):
12760         * platform/qt/TemporaryLinkStubs.cpp:
12762 2008-09-25  Feng Qian <feng@chromium.org>
12764         Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
12765         <rdar://problem/6243032>
12767         Reviewed by Dave Hyatt.
12769         Test: fast/dom/attribute-downcast-right.html
12771         Add isMappedAttribute function to Attribute for checking if an object
12772         is an instance of MappedAttribute. Removed attributeItem,
12773         getAttributeItem functions from NamedMappedAttrMap, and callers
12774         expecting MappedAttribute have to check isMappedAttribute before
12775         downcasting the return value to MappedAttribute.
12777         * css/CSSStyleSelector.cpp:
12778         (WebCore::CSSStyleSelector::styleForElement):
12779         * dom/Attribute.h:
12780         (WebCore::Attribute::isMappedAttribute):
12781         * dom/MappedAttribute.h:
12782         (WebCore::MappedAttribute::isMappedAttribute):
12783         * dom/NamedMappedAttrMap.cpp:
12784         (WebCore::NamedMappedAttrMap::declCount):
12785         (WebCore::NamedMappedAttrMap::mapsEquivalent):
12786         * dom/NamedMappedAttrMap.h:
12787         * dom/StyledElement.cpp:
12788         (WebCore::StyledElement::attributeChanged):
12789         * html/HTMLInputElement.cpp:
12790         (WebCore::HTMLInputElement::setInputType):
12791         * svg/SVGForeignObjectElement.cpp:
12792         (WebCore::addCSSPropertyAndNotifyAttributeMap):
12793         * svg/SVGStyledElement.cpp:
12794         (WebCore::SVGStyledElement::getPresentationAttribute):
12796 2008-09-25  David Hyatt  <hyatt@apple.com>
12798         https://bugs.webkit.org/show_bug.cgi?id=21120
12800         Make visibleContentRect cross-platform.  Note this does add new horizontal/verticalScrollbar accessors
12801         to a bunch of platforms.  This is a temporary evil until the scrollbars get made cross-platform (and I
12802         didn't want to mix that change in with this patch).
12804         Reviewed by Sam Weinig
12806         * page/Frame.cpp:
12807         (WebCore::Frame::markAllMatchesForText):
12808         * page/FrameView.cpp:
12809         (WebCore::FrameView::repaintContentRectangle):
12810         (WebCore::FrameView::windowClipRect):
12811         (WebCore::FrameView::updateControlTints):
12812         * platform/ScrollView.cpp:
12813         (WebCore::ScrollView::visibleContentRect):
12814         (WebCore::ScrollView::platformVisibleContentRect):
12815         * platform/ScrollView.h:
12816         (WebCore::ScrollView::visibleWidth):
12817         (WebCore::ScrollView::visibleHeight):
12818         * platform/gtk/ScrollViewGtk.cpp:
12819         (WebCore::ScrollView::horizontalScrollbar):
12820         (WebCore::ScrollView::verticalScrollbar):
12821         * platform/mac/ScrollViewMac.mm:
12822         (WebCore::ScrollView::horizontalScrollbar):
12823         (WebCore::ScrollView::verticalScrollbar):
12824         (WebCore::ScrollView::platformVisibleContentRect):
12825         * platform/qt/ScrollViewQt.cpp:
12826         (WebCore::ScrollView::horizontalScrollbar):
12827         (WebCore::ScrollView::verticalScrollbar):
12828         * platform/win/ScrollViewWin.cpp:
12829         (WebCore::ScrollView::horizontalScrollbar):
12830         (WebCore::ScrollView::verticalScrollbar):
12831         * platform/wx/ScrollViewWx.cpp:
12832         (WebCore::ScrollView::platformVisibleContentRect):
12833         (WebCore::ScrollView::horizontalScrollbar):
12834         (WebCore::ScrollView::verticalScrollbar):
12835         * rendering/RenderLayer.cpp:
12836         (WebCore::RenderLayer::scrollRectToVisible):
12837         (WebCore::frameVisibleRect):
12838         * rendering/RenderView.cpp:
12839         (WebCore::RenderView::viewRect):
12841 2008-09-25  David Smith  <catfish.man@gmail.com>
12843         Reviewed by Timothy Hatcher
12845         https://bugs.webkit.org/show_bug.cgi?id=21052
12846         Generalize id selector special case for querySelectorAll
12847         
12848         By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
12849         Changes results on http://native.khan.mozilla.org 
12850         from
12851             #title: 2ms
12852             h1#title: 55ms
12853             div #title: 55ms
12855         to:
12856             #title: 1ms
12857             h1#title: 2ms
12858             div #title: 5ms
12859         
12860         * dom/Node.cpp:
12861         (WebCore::Node::querySelector):
12862         * dom/SelectorNodeList.cpp:
12863         (WebCore::createSelectorNodeList):
12865 2008-09-25  David Hyatt  <hyatt@apple.com>
12867         https://bugs.webkit.org/show_bug.cgi?id=21118
12869         Make the concept of whether you can blit on scroll cross-platform on ScrollView.
12871         Reviewed by Sam Weinig
12873         * page/FrameView.cpp:
12874         (WebCore::FrameView::clear):
12875         (WebCore::FrameView::layout):
12876         (WebCore::FrameView::setUseSlowRepaints):
12877         (WebCore::FrameView::addSlowRepaintObject):
12878         (WebCore::FrameView::removeSlowRepaintObject):
12879         * platform/ScrollView.cpp:
12880         (WebCore::ScrollView::init):
12881         (WebCore::ScrollView::addChild):
12882         (WebCore::ScrollView::removeChild):
12883         (WebCore::ScrollView::setCanBlitOnScroll):
12884         * platform/ScrollView.h:
12885         (WebCore::ScrollView::canBlitOnScroll):
12886         * platform/gtk/ScrollViewGtk.cpp:
12887         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12888         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
12889         (WebCore::ScrollView::ScrollView):
12890         * platform/mac/ScrollViewMac.mm:
12891         (WebCore::ScrollView::ScrollView):
12892         (WebCore::ScrollView::platformAddChild):
12893         (WebCore::ScrollView::platformRemoveChild):
12894         (WebCore::ScrollView::platformSetCanBlitOnScroll):
12895         * platform/qt/ScrollViewQt.cpp:
12896         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12897         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
12898         (WebCore::ScrollView::ScrollView):
12899         * platform/win/ScrollViewWin.cpp:
12900         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12901         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
12902         (WebCore::ScrollView::ScrollView):
12903         * platform/wx/ScrollViewWx.cpp:
12904         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12905         (WebCore::ScrollView::ScrollView):
12906         (WebCore::ScrollView::scrollBy):
12908 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
12910         Reviewed by Tim Hatcher.
12912         Bug 21109: Console should right-align urls
12914         * page/inspector/Console.js: Re-order the message elements so that when
12915         it overflows it doesn't get mixed in with the next message.
12916         * page/inspector/inspector.css:
12918 2008-09-25  David Hyatt  <hyatt@apple.com>
12920         https://bugs.webkit.org/show_bug.cgi?id=21113
12922         Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
12924         Reviewed by Darin Adler
12926         * css/CSSImportRule.cpp:
12927         (WebCore::CSSImportRule::insertedIntoParent):
12928         * css/CSSRule.cpp:
12929         (WebCore::CSSRule::parentStyleSheet):
12930         (WebCore::CSSRule::parentRule):
12931         * css/CSSStyleSheet.cpp:
12932         (WebCore::CSSStyleSheet::CSSStyleSheet):
12933         * css/CSSStyleSheet.h:
12935 2008-09-25  Darin Adler  <darin@apple.com>
12937         Reviewed by Adele Peterson.
12939         - fix https://bugs.webkit.org/show_bug.cgi?id=21115
12940           <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
12941           bundled documents
12943         * html/HTMLFormElement.cpp:
12944         (WebCore::HTMLFormElement::formData): Use files() instead of value()
12945         to get the path, since value() now returns just the basename.
12947 2008-09-25  Brady Eidson  <beidson@apple.com>
12949         Rubberstamped by Mark Rowe
12951         Roll out 36771 as it caused <rdar://problem/6246554>
12952         "nytimes.com doesn't display after returning to it with back/forward"
12954         * css/CSSImportRule.cpp:
12955         (WebCore::CSSImportRule::insertedIntoParent):
12956         * css/CSSRule.cpp:
12957         (WebCore::CSSRule::parentStyleSheet):
12958         (WebCore::CSSRule::parentRule):
12959         * css/CSSStyleSheet.cpp:
12960         (WebCore::CSSStyleSheet::CSSStyleSheet):
12961         (WebCore::CSSStyleSheet::docLoader):
12962         * css/CSSStyleSheet.h:
12963         (WebCore::CSSStyleSheet::doc):
12965 2008-09-25  Adam Roben  <aroben@apple.com>
12967         Windows build fix
12969         * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
12971 2008-09-25  Dan Bernstein  <mitz@apple.com>
12973         - Windows build fix
12975         * platform/win/ScrollViewWin.cpp:
12976         (WebCore::ScrollView::addChildPlatformWidget):
12977         (WebCore::ScrollView::removeChildPlatformWidget):
12979 2008-09-25  Timothy Hatcher  <timothy@apple.com>
12981         Fixes a leak of ConsoleMessage seen when repeated console
12982         messages occur.
12984         Reviewed by Mark Rowe.
12986         * page/InspectorController.cpp:
12987         (WebCore::InspectorController::addConsoleMessage): Delete the repeat
12988         since we don't add it to m_consoleMessages.
12990 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
12992         Reviewed by Dan Bernstein.
12994         Bug 21105: XHRs logged in the console may show the wrong URL for the
12995         source
12996         - Get the url at the time of the send() and pass it on to the XHR.
12998         * bindings/js/JSXMLHttpRequestCustom.cpp:
12999         (WebCore::JSXMLHttpRequest::send):
13000         * xml/XMLHttpRequest.cpp:
13001         (WebCore::XMLHttpRequest::didFinishLoading):
13002         * xml/XMLHttpRequest.h:
13003         (WebCore::XMLHttpRequest::setLastSendURL):
13005 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
13007         Reviewed by Geoff and Tim.
13009         Bug 20322: XHRs logged in the console do not have line numbers
13010         - Get the line number at the time of the send and pass it on to the XHR.
13012         * bindings/js/JSXMLHttpRequestCustom.cpp:
13013         (WebCore::JSXMLHttpRequest::send):
13014         * xml/XMLHttpRequest.cpp:
13015         (WebCore::XMLHttpRequest::XMLHttpRequest):
13016         (WebCore::XMLHttpRequest::didFinishLoading):
13017         * xml/XMLHttpRequest.h:
13018         (WebCore::XMLHttpRequest::setLastSendLineNumber):
13020 2008-09-25  Eric Carlson  <eric.carlson@apple.com>
13022         Reviewed by Eric Seidel.
13023         
13024         <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
13025         https://bugs.webkit.org/show_bug.cgi?id=21003
13027         * dom/EventNames.h: remove "begin" event
13028         * html/HTMLMediaElement.cpp:
13029         (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
13031 2008-09-25  Alexey Proskuryakov  <ap@webkit.org>
13033         Reviewed by Eric Seidel.
13035         https://bugs.webkit.org/show_bug.cgi?id=21097
13036         Calling a MessageChannel constructor from a destroyed document results in a crash
13038         Test: fast/events/message-port-constructor-for-deleted-document.html
13040         * bindings/js/JSMessageChannelConstructor.cpp:
13041         (WebCore::JSMessageChannelConstructor::construct):
13042         * bindings/js/JSMessageChannelConstructor.h:
13043         Made m_document a RefPtr.
13045 2008-09-24  Alexey Proskuryakov  <ap@webkit.org>
13047         Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
13049         https://bugs.webkit.org/show_bug.cgi?id=20879
13050         Implement HTML5 channel messaging
13052         Tests: fast/events/message-channel-gc.html
13053                fast/events/message-port-deleted-document.html
13054                fast/events/message-port-deleted-frame.html
13055                fast/events/message-port-inactive-document.html
13056                fast/events/message-port.html
13057                http/tests/security/MessagePort/event-listener-context.html
13059         * Configurations/WebCore.xcconfig:
13060         Removed unused  ENABLE_CROSS_DOCUMENT_MESSAGING macro.
13062         * DerivedSources.make:
13063         Added MessageChannel and MessagePort.
13065         * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
13066         turmed off anyway. Added new files.
13068         * GNUmakefile.am:
13069         * WebCore.pro:
13070         * WebCore.vcproj/WebCore.vcproj:
13071         * WebCore.xcodeproj/project.pbxproj:
13072         * WebCoreSources.bkl:
13073         Added new files.
13075         * bindings/js/JSDOMWindowBase.h:
13076         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
13077         Added suport for window.MessageChannel constructor.
13079         * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
13080         * page/DOMWindow.cpp:
13081         (WebCore::DOMWindow::postMessage):
13082         * page/DOMWindow.h:
13083         * page/DOMWindow.idl:
13084         Added support for three-argument postMessage (that posts a MessagePort).
13086         * dom/EventTarget.cpp:
13087         (WebCore::EventTarget::toMessagePort):
13088         * dom/EventTarget.h:
13089         * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
13090         EventTarget variant.
13092         * bindings/js/JSMessageChannelConstructor.h:
13093         * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
13094         take a browsing context (document) parameter.
13096         * bindings/js/JSMessageChannelCustom.cpp: Added.
13097         (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
13098         port1 and port2 that it owns.
13100         * bindings/js/JSMessagePortCustom.cpp: Added.
13101         (WebCore::JSMessagePort::startConversation):
13102         (WebCore::JSMessagePort::addEventListener):
13103         (WebCore::JSMessagePort::removeEventListener):
13104         (WebCore::JSMessagePort::dispatchEvent):
13105         (WebCore::JSMessagePort::setOnmessage):
13106         (WebCore::JSMessagePort::onmessage):
13107         (WebCore::JSMessagePort::setOnclose):
13108         (WebCore::JSMessagePort::onclose):
13109         (WebCore::JSMessagePort::mark):
13110         * dom/MessagePort.cpp: Added.
13111         * dom/MessagePort.h: Added.
13112         * dom/MessagePort.idl: Added.
13113         Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
13114         with Documents as contexts, but in the future, it will be used for communication with worker
13115         threads.
13117         * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
13118         really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
13119         needed for MessageEvent.
13121         * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
13123         * dom/Document.cpp:
13124         (WebCore::MessagePortTimer::MessagePortTimer):
13125         (WebCore::MessagePortTimer::fired):
13126         (WebCore::Document::processMessagePortMessagesSoon):
13127         (WebCore::Document::~Document):
13128         (WebCore::Document::dispatchMessagePortEvents):
13129         (WebCore::Document::createdMessagePort):
13130         (WebCore::Document::destroyedMessagePort):
13131         * dom/Document.h:
13132         Document keeps track of all MessagePort objects that were created when it was fully active
13133         in its context.
13135         * dom/EventNames.h: Added closeEvent.
13137         * dom/MessageChannel.cpp: Added.
13138         (WebCore::MessageChannel::MessageChannel):
13139         (WebCore::MessageChannel::~MessageChannel):
13140         * dom/MessageChannel.h: Added.
13141         (WebCore::MessageChannel::create):
13142         (WebCore::MessageChannel::port1):
13143         (WebCore::MessageChannel::port2):
13144         * dom/MessageChannel.idl: Added.
13145         Addded JSMessageChannel implementation.
13147         * dom/MessageEvent.cpp:
13148         (WebCore::MessageEvent::MessageEvent):
13149         (WebCore::MessageEvent::initMessageEvent):
13150         * dom/MessageEvent.h:
13151         (WebCore::MessageEvent::create):
13152         (WebCore::MessageEvent::messagePort):
13153         * dom/MessageEvent.idl:
13154         MessageEvent has a MessagePort member now, making it possible to pass ports across
13155         documents.
13157 2008-09-25  David Smith  <catfish.man@gmail.com>
13159         Reviewed by Eric Seidel
13160         
13161         fix https://bugs.webkit.org/show_bug.cgi?id=21091
13162         Regression: querySelector matches tag names case sensitively
13163         
13164         Tests: fast/dom/SelectorAPI/caseTag.html
13165                fast/dom/SelectorAPI/caseTagX.xhtml
13167         * css/CSSParser.cpp:
13168         (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
13169         * css/CSSParser.h:
13170         * dom/Node.cpp:
13171         (WebCore::Node::querySelector):
13172         (WebCore::Node::querySelectorAll):
13174 2008-09-24  David Hyatt  <hyatt@apple.com>
13176         https://bugs.webkit.org/show_bug.cgi?id=21084
13178         Make the m_children member of ScrollView cross-platform.  Consolidate children add/remove
13179         functionality.  Add platform stubs for connecting/disconnecting the platform widgets.
13181         Reviewed by Sam Weinig
13183         * GNUmakefile.am:
13184         * WebCore.pro:
13185         * WebCore.vcproj/WebCore.vcproj:
13186         * WebCore.xcodeproj/project.pbxproj:
13187         * WebCoreSources.bkl:
13188         * platform/ScrollView.h:
13189         (WebCore::ScrollView::children):
13190         * platform/Widget.h:
13191         * platform/gtk/ScrollViewGtk.cpp:
13192         (WebCore::ScrollView::addChildPlatformWidget):
13193         (WebCore::ScrollView::removeChildPlatformWidget):
13194         (WebCore::ScrollView::geometryChanged):
13195         * platform/mac/ScrollViewMac.mm:
13196         (WebCore::ScrollView::addChildPlatformWidget):
13197         (WebCore::ScrollView::removeChildPlatformWidget):
13198         * platform/qt/ScrollViewQt.cpp:
13199         (WebCore::ScrollView::geometryChanged):
13200         (WebCore::ScrollView::addChildPlatformWidget):
13201         (WebCore::ScrollView::removeChildPlatformWidget):
13202         * platform/win/ScrollViewWin.cpp:
13203         (WebCore::ScrollView::geometryChanged):
13204         (WebCore::ScrollView::setParentVisible):
13205         (WebCore::ScrollView::show):
13206         (WebCore::ScrollView::hide):
13207         * platform/wx/ScrollViewWx.cpp:
13208         (WebCore::ScrollView::addChildPlatformWidget):
13209         (WebCore::ScrollView::removeChildPlatformWidget):
13211 2008-09-25  Dan Bernstein  <mitz@apple.com>
13213         Reviewed by Dave Hyatt.
13215         - fix https://bugs.webkit.org/show_bug.cgi?id=21024
13216           <rdar://problem/6240821> Scrollbar not painted until hovered
13218         * rendering/RenderWidget.cpp:
13219         (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
13220         this method, which sets both the location and the size.
13221         (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
13222         with a call to the new method setWidgetGeometry. Positioning the
13223         widget correctly ensures that the scroll bars invalidate correctly when
13224         they are created and resized.
13225         * rendering/RenderWidget.h:
13227 2008-09-24  Dan Bernstein  <mitz@apple.com>
13229         Rubber-stamped by Sam Weinig.
13231         - create a "style" subfolder under "rendering" and move style files to that folder
13233         * WebCore.vcproj/WebCore.vcproj:
13235 2008-09-24  Sam Weinig  <sam@webkit.org>
13237         Reviewed by Maciej Stachowiak.
13239         Remove staticFunctionGetter.  There is only one remaining user of
13240         staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
13242         * bindings/js/JSDOMWindowBase.cpp:
13243         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
13245 2008-09-24  Jeremy Moskovich  <jeremy@chromium.org>
13247         Reviewed by Dan Bernstein.
13249         Test: editing/spelling/inline_spelling_markers.html
13250         
13251         - https://bugs.webkit.org/show_bug.cgi?id=20092
13252         Spelling markers positioned incorrectly in RTL text
13254         Measure spelling markers with selectionRectForText() to fix RTL.
13256         This patch also fixes hit-testing for spelling marker tool tips,
13257         which used to work only on the first line.
13259         * rendering/InlineTextBox.cpp:
13260         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
13262 2008-09-24  David Hyatt  <hyatt@apple.com>
13264         https://bugs.webkit.org/show_bug.cgi?id=21074
13266         Make sure the viewless scrollbar knows how to paint properly when transformed.
13268         Reviewed by Sam Weinig
13270         * platform/mac/ScrollbarThemeMac.mm:
13271         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
13272         (WebCore::ScrollbarThemeMac::paint):
13274 2008-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
13276         Not reviewed. Try to fix win build.
13278         * bindings/js/JSSVGElementInstanceCustom.cpp:
13279         (WebCore::toJS):
13280         * dom/ContainerNodeAlgorithms.h:
13281         (WebCore::removeAllChildrenInContainer):
13282         (WebCore::appendChildToContainer):
13283         (WebCore::Private::addChildNodesToDeletionQueue):
13285 2008-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
13287         Reviewed by Oliver.
13289         Add ContainerNodeAlgorithms.h, as central place to share algorithms
13290         operating on TreeShared-derived classes with a Node-style interface.
13292         This allows SVGElementInstance & ContainerNode to share code.
13294         * dom/ContainerNode.cpp:
13295         (WebCore::ContainerNode::removeAllChildren):
13296         (WebCore::ContainerNode::addChild):
13297         * dom/ContainerNode.h:
13298         * dom/ContainerNodeAlgorithms.h: Added.
13299         (WebCore::removeAllChildrenInContainer):
13300         (WebCore::appendChildToContainer):
13301         (WebCore::Private::NodeRemovalDispatcher::dispatch):
13302         (WebCore::Private::addChildNodesToDeletionQueue):
13304 2008-09-24  Simon Fraser  <simon.fraser@apple.com>
13306         Reviewed by Dave Hyatt
13308         Wrap up dirtying the z-order list of the stacking context
13309         RenderLayer into a method.
13310         https://bugs.webkit.org/show_bug.cgi?id=21072
13312         * rendering/RenderLayer.cpp:
13313         (WebCore::RenderLayer::setHasVisibleContent):
13314         (WebCore::RenderLayer::addChild):
13315         (WebCore::RenderLayer::removeChild):
13316         (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
13317         (WebCore::RenderLayer::styleChanged):
13318         * rendering/RenderLayer.h:
13319         * rendering/RenderObject.cpp:
13320         (WebCore::RenderObject::setStyle):
13322 2008-09-24  Kevin McCullough  <kmccullough@apple.com>
13324         Reviewed by Tim.
13326         Bug 21070: REGRESSION Repeated messages with arguments are not repeated
13327         or displayed multiple times
13328         - The Insepctor Controller was comparing JSValue pointers so thought the
13329         message was not a repeat, but the JS of the inspector compared the
13330         strings and so knew it was the same message and so overwrote the old
13331         message.
13333         * page/InspectorController.cpp:
13334         (WebCore::ConsoleMessage::isEqual):
13335         (WebCore::InspectorController::addMessageToConsole):
13336         (WebCore::InspectorController::addConsoleMessage):
13337         (WebCore::InspectorController::startGroup):
13338         (WebCore::InspectorController::endGroup):
13339         * page/InspectorController.h:
13341 2008-09-24  David Hyatt  <hyatt@apple.com>
13343         Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
13344         arrow placement preference and the thumb jump preference).
13346         Reviewed by Adam Roben
13348         * platform/Scrollbar.cpp:
13349         (WebCore::Scrollbar::Scrollbar):
13350         (WebCore::Scrollbar::~Scrollbar):
13351         * platform/ScrollbarTheme.h:
13352         (WebCore::ScrollbarTheme::registerScrollbar):
13353         (WebCore::ScrollbarTheme::unregisterScrollbar):
13354         * platform/mac/ScrollbarThemeMac.h:
13355         * platform/mac/ScrollbarThemeMac.mm:
13356         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
13357         (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
13358         (+[ScrollbarPrefsObserver registerAsObserver]):
13359         (WebCore::ScrollbarThemeMac::registerScrollbar):
13360         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
13361         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
13362         (WebCore::ScrollbarThemeMac::preferencesChanged):
13364 2008-09-24  Rob Buis  <buis@kde.org>
13366         Reviewed by Darin.
13368         https://bugs.webkit.org/show_bug.cgi?id=20557
13369         getScreenCTM() returns wrong values
13371         Use the absolute position of the svg root when
13372         determining the screen ctm.
13374         Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
13376         * svg/SVGSVGElement.cpp:
13377         (WebCore::SVGSVGElement::getScreenCTM):
13379 2008-09-24  David Hyatt  <hyatt@apple.com>
13381         Turn off support for CSS variables.
13383         * ChangeLog:
13384         * css/CSSParser.cpp:
13385         (WebCore::CSSParser::createVariablesRule):
13386         (WebCore::CSSParser::addVariable):
13387         (WebCore::CSSParser::addVariableDeclarationBlock):
13389 2008-09-24  David Hyatt  <hyatt@apple.com>
13391         Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
13393         * css/CSSGrammar.y:
13394         * css/CSSParserValues.cpp:
13395         (WebCore::CSSParserValue::isVariable):
13396         * css/CSSPrimitiveValue.cpp:
13397         (WebCore::CSSPrimitiveValue::cleanup):
13398         (WebCore::CSSPrimitiveValue::getStringValue):
13399         (WebCore::CSSPrimitiveValue::cssText):
13400         (WebCore::CSSPrimitiveValue::parserValue):
13401         * css/CSSPrimitiveValue.h:
13402         (WebCore::CSSPrimitiveValue::):
13403         (WebCore::CSSPrimitiveValue::isVariable):
13405 2008-09-24  Timothy Hatcher  <timothy@apple.com>
13407         Fixes a regression where the "incorrect MIME-type" warning would not
13408         show up correctly in the Console or the resources sidebar.
13410         Reviewed by Kevin McCullough.
13412         * page/inspector/Resource.js:
13413         (WebInspector.Resource.prototype._addTip): Add the repeat count argument
13414         to the WebInspector.ConsoleMessage constructor call.
13415         (WebInspector.Resource.prototype._checkWarning): Ditto.
13417 2008-09-23  Tor Arne Vestbø  <tavestbo@trolltech.com>
13419         Reviewed by Simon.
13421         Remove deprecated JS Qt bindings object call/construct code and fix autotests
13423         * bridge/qt/qt_instance.cpp:
13424         (JSC::Bindings::QtInstance::QtInstance):
13425         * bridge/qt/qt_instance.h:
13427 2008-09-23  Julien Chaffraix  <jchaffraix@pleyo.com>
13429         Reviewed by Alp Toker. Landed by Jan Alonzo.
13431         Bug 20883: [CURL] Add deferred loading
13432         https://bugs.webkit.org/show_bug.cgi?id=20883
13434         Implement deferred loading for the libcURL backend using curl_easy_pause.
13435         As the method was introduced in version 7.18.0, all the code checks for libcURL
13436         version.
13438         * platform/network/curl/ResourceHandleCurl.cpp:
13439         (WebCore::ResourceHandle::setDefersLoading):
13440         * platform/network/curl/ResourceHandleManager.cpp:
13441         (WebCore::writeCallback): Add an assertion that deferred loading is not
13442         activated.
13443         (WebCore::headerCallback): Ditto.
13444         (WebCore::readCallback): Ditto.
13445         (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
13446         defersLoading to be false in order to avoid triggering an assertion.
13447         (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
13448         activated, pause the easy handle.
13450 2008-09-23  Matt Lilek  <webkit@mattlilek.com>
13452         Reviewed by Tim Hatcher.
13454         Inspector search field style tweaks.
13456         * page/inspector/inspector.css:
13458 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
13460         Reviewed by Eric.
13462         Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
13464         Fix missing negation in EventTargetNode::insertedIntoDocument.
13465         Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
13466         Remove code, that wasn't supposed to go in in dispatchGenericEvent().
13468         * dom/EventTargetNode.cpp:
13469         (WebCore::EventTargetNode::insertedIntoDocument):
13470         (WebCore::EventTargetNode::dispatchGenericEvent):
13471         * dom/EventTargetNode.h:
13473 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13475         Adds search support to the Profiles panel.
13477         The Profiles panel supports a few types of queries:
13478          * Standard string matching for function names and file URLs.
13479          * Greater than and less than search for numeric columns.
13480            So a query of ">24" will match all rows that have calls
13481            greater than 24. Or "<=42" will match all 42 or less.
13482          * Percent and time units. Adding a unit of "s", "ms" or "%"
13483            is supported and will match only the Self and Total columns.
13484            So a query of ">1.25s" will match all rows that took longer
13485            than 1.25 seconds.
13487         Reviewed by Oliver Hunt.
13489         * page/inspector/ProfileView.js:
13490         (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
13491         it will start at the first result.
13492         (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
13493         (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
13494         data grid nodes.
13495         (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
13496         (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
13497         (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
13498         (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
13499         (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
13500         (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
13501         (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
13502         (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
13503         Expand all the ancestors first so the profile node will have a DataGridNode.
13504         (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
13505         (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
13506         have search matches.
13507         * page/inspector/ProfilesPanel.js:
13508         (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
13509         (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
13510         (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
13511         (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
13512         (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView  to visibleView.
13513         (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
13514         (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
13515         (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
13516         (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
13517         * page/inspector/inspector.css: New style rules for the cell highlight color.
13519 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13521         Adds search support to the Resources and Scripts panels.
13523         https://bugs.webkit.org/show_bug.cgi?id=21005
13525         Reviewed by Oliver Hunt.
13527         * page/inspector/Images/searchSmallBlue.png: Added.
13528         * page/inspector/Images/searchSmallBrightBlue.png: Added.
13529         * page/inspector/Images/searchSmallGray.png: Added.
13530         * page/inspector/Images/searchSmallWhite.png: Added.
13531         * page/inspector/ResourceView.js:
13532         (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
13533         or "script-resource-views" since one might not be created yet.
13534         * page/inspector/ResourcesPanel.js:
13535         (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
13536         are not this panel's current visible view. This can happen when a ResourceView is
13537         visible in the Scripts panel then switched to the this panel.
13538         (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
13539         visibleView first.
13540         (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
13541         that uses the current graph search function. So cycling through results will be in the order
13542         things appear in the sidebar.
13543         (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
13544         resource's sidebar tree element.
13545         (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
13546         in the sidebar. Calls the Panel prototype's searchCanceled.
13547         (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
13548         in the sidebar. Calls the Panel prototype's performSearch.
13549         (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
13550         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
13551         if there is a current search query.
13552         (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
13553         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
13554         (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
13555         (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
13556         (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
13557         (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
13558         * page/inspector/ScriptView.js:
13559         (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
13560         (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
13561         it will start at the first result.
13562         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
13563         highlighting complete".
13564         (WebInspector.ScriptView.prototype): Share many methods with SourceView.
13565         * page/inspector/ScriptsPanel.js:
13566         (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
13567         This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
13568         (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
13569         (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
13570         (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
13571         (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
13572         * page/inspector/SourceFrame.js:
13573         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
13574         * page/inspector/SourceView.js:
13575         (WebInspector.SourceView.prototype.hide):
13576         (WebInspector.SourceView.prototype.detach):
13577         (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
13578         (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
13579         (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
13580         (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
13581         store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
13582         (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
13583         (WebInspector.SourceView.prototype.jumpToLastSearchResult):
13584         (WebInspector.SourceView.prototype.jumpToNextSearchResult):
13585         (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
13586         (WebInspector.SourceView.prototype.showingFirstSearchResult):
13587         (WebInspector.SourceView.prototype.showingLastSearchResult):
13588         (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
13589         (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
13590         (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
13591         * page/inspector/inspector.css:
13593 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13595         Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
13596         so future code can be shared.
13598         https://bugs.webkit.org/show_bug.cgi?id=21005
13600         Reviewed by Oliver Hunt.
13602         * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
13603         And visibleResourceView to visibleView.
13604         * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
13606 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13608         Highlight all matched search results in the Elements panel DOM tree.
13610         https://bugs.webkit.org/show_bug.cgi?id=21005
13612         Reviewed by Oliver Hunt.
13614         * page/inspector/ElementsPanel.js:
13615         (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
13616         on all previous search results.
13617         (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
13618         on all new search results.
13619         * page/inspector/ElementsTreeOutline.js:
13620         (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
13621         (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
13622         the highlighted class on the listItemElement.
13623         (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
13624         if needed. Calls _updateTitle.
13625         (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
13626         class so it can be styled when the highlighted class is present.
13627         * page/inspector/inspector.css: New style rules for the hihglight.
13629 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13631         Add search support to the Elements panel.
13633         https://bugs.webkit.org/show_bug.cgi?id=21005
13635         Reviewed by Oliver Hunt.
13637         * page/inspector/ElementsPanel.js:
13638         (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
13639         with a 0 match count to rest. Reset the other search properties.
13640         (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
13641         query and a CSS selector on all the Documents in the page. Remembers the found nodes
13642         and avoids duplicates. Focuses the first result.
13643         (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
13644         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
13646 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13648         Add support to Panel that allows easy searching of sub-views.
13650         https://bugs.webkit.org/show_bug.cgi?id=21005
13652         Reviewed by Oliver Hunt.
13654         * page/inspector/Panel.js:
13655         (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
13656         views in the search results and delete the currentQuery property. Call
13657         WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
13658         other search properties.
13659         (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
13660         reset everything we need before doing a new search. Get an array of searchableViews
13661         from the panel, implemented by sub-classes. Iterate over the views one-by-one
13662         with an interval to prevent blocking the UI for large lists of searchableViews.
13663         This keeps the interface really responsive. Pass a finishedCallback function to
13664         the performSearch on each view so it can notify the panel of results.
13665         (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
13666         searchResults of the visibleView, so we know where in the results we are.
13667         This is done every time incase the user manually navigates to a new view.
13668         If the view is showing the last result, jump to the next view and show it's
13669         first result. Otherwise jump to the next result in the current view.
13670         (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
13672 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13674         Add support for asking the current panel to perform a search, find next/previous and clear.
13675         A search is performed on the new new current panel when switching between panels. The search
13676         label/placeholder in the toolbar now includes the panel name to make it clear that panel will
13677         be searched. The search field contents are selected when Command/Control-F or Enter/Return
13678         is pressed, so the user can easily type an entirely new query. The search match count shows
13679         up in the toolbar next to the search field.
13681         Also changed:
13682          * Rename lastQuery to currentQuery since it better matches the truth.
13683          * Set the search field "results" attribute to zero since results arn't saved for
13684            how we use the search field.
13685          * Make repeated presses of the Return key jump to the next search result instead
13686            of doing nothing.
13687          * Increased the search field width.
13689         https://bugs.webkit.org/show_bug.cgi?id=21005
13691         Reviewed by Oliver Hunt.
13693         * English.lproj/localizedStrings.js: New strings.
13694         * page/inspector/inspector.css: New styles.
13695         * page/inspector/inspector.html: Add the search-results-matches element. Add the
13696         incremental attribute to the search field and set the results attribute to zero.
13697         * page/inspector/inspector.js:
13698         (WebInspector.set currentPanel): perform the search on the new panel.
13699         (WebInspector.loaded): Change the event listeners and remove code that changes
13700         the search label text.
13701         (WebInspector.documentKeyDown): Add support for Command/Control-G and
13702         Command/Control-Shift-G. To jump to the next and previous search results.
13703         (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
13704         This does different things depending on the attached state.
13705         (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
13706         This prevents a "search" event from firing for key down. We handle the Enter key
13707         on key up in searchKeyUp. This stops performSearch from being called twice in a row.
13708         (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
13709         (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
13710         on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
13711         Call updateSearchMatchesCount to reset the matches count in the toolbar.
13712         (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
13714 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13716         Remove the previous Inspector search code to make room for the new stuff.
13718         https://bugs.webkit.org/show_bug.cgi?id=21005
13720         Reviewed by Oliver Hunt.
13722         * page/inspector/inspector.css:
13723         * page/inspector/inspector.html:
13724         * page/inspector/inspector.js:
13725         (WebInspector.get/set showingSearchResults): Removed.
13726         (WebInspector.searchResultsKeyDown): Removed.
13727         (WebInspector.searchResultsResizerDragStart): Removed.
13728         (WebInspector.searchResultsResizerDragEnd): Removed.
13729         (WebInspector.searchResultsResizerDrag): Removed.
13730         (WebInspector.performSearch): Removed searching parts.
13732 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13734         Use the Array.remove helper function in more places.
13736         https://bugs.webkit.org/show_bug.cgi?id=21037
13738         Reviewed by Kevin McCullough.
13740         * page/inspector/ResourceCategory.js:
13741         (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
13742         * page/inspector/ResourcesPanel.js:
13743         (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
13744         * page/inspector/inspector.js:
13745         (WebInspector.removeResource): Ditto.
13747 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13749         Fixes a bug where inspecting a node after reloading the page
13750         would not reveal the node in the DOM tree. The TreeOutline
13751         was not being told to forget decendants of a removed child.
13752         So old TreeElements would be found that are not in the tree.
13754         https://bugs.webkit.org/show_bug.cgi?id=21036
13756         Reviewed by Kevin McCullough.
13758         * page/inspector/treeoutline.js:
13759         (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
13760         in addition to _forgetTreeElement.
13761         (TreeOutline._removeChildren): Call _forgetChildrenRecursive
13762         in addition to _forgetTreeElement.
13763         (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
13764         search for known elements.
13765         (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
13766         (TreeOutline._forgetChildrenRecursive): Recursively traverse the
13767         descendants and call _forgetTreeElement.
13768         * page/inspector/utilities.js:
13769         (Array.prototype.remove): Speed up this function by using Array.indexOf
13770         when onlyFirst is true.
13772 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13774         Fixes a bug where inspecting some short text nodes does
13775         not reveal them in the Elements panel DOM tree.
13777         https://bugs.webkit.org/show_bug.cgi?id=21035
13779         Reviewed by Oliver Hunt.
13781         * page/inspector/ElementsTreeOutline.js:
13782         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
13783         The revealAndSelectNode() method might find a different element
13784         if there is inlined text, and the select() call would change the
13785         focusedDOMNode and reenter this setter. So to avoid calling
13786         focusedNodeChanged() twice, first check if _focusedDOMNode is
13787         the same node as the one passed in.
13788         (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
13789         this.treeOutline, since this is the TreeOutline.
13790         (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
13791         Provides default functions for isAncestor, getParet and equal.
13792         Calls the base protoype's findTreeElement. If that returns null
13793         and the node is a text node, try finding it's parent.
13794         (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
13795         Renamed to revealAndSelectNode.
13796         (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
13797         Selects and reveals the node passed in. Use the simple findTreeElement.
13798         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
13799         Remove use of this.treeOutline, since this is the TreeOutline.
13801 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13803         Fixes an exception that happened when removing a Resource
13804         from the ResourcesPanel.
13806         https://bugs.webkit.org/show_bug.cgi?id=21034
13808         Reviewed by Kevin McCullough.
13810         * page/inspector/ResourcesPanel.js:
13811         (WebInspctor.ResourcesPanel.prototype.removeResource):
13812         Remove the graphElement.
13814 2008-09-23  Kevin McCullough  <kmccullough@apple.com>
13816         Fixed "Time" to "Tim"
13818         * ChangeLog:
13820 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
13822         Reviewed by Oliver.
13824         Move mapInstanceToElement/removeInstanceMapping/instancesForElement
13825         from SVGDocumentExtensions to SVGElement. It's more useful to store
13826         the list of SVGElementInstances per SVGElement, instead of using
13827         a document-wide hash for this purpose.
13829         * svg/SVGAnimateMotionElement.cpp:
13830         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
13831         * svg/SVGAnimateTransformElement.cpp:
13832         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
13833         * svg/SVGAnimationElement.cpp:
13834         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
13835         * svg/SVGDocumentExtensions.cpp:
13836         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
13837         * svg/SVGDocumentExtensions.h:
13838         * svg/SVGElement.cpp:
13839         (WebCore::SVGElement::mapInstanceToElement):
13840         (WebCore::SVGElement::removeInstanceMapping):
13841         (WebCore::SVGElement::instancesForElement):
13842         * svg/SVGElement.h:
13843         * svg/SVGElementInstance.cpp:
13844         (WebCore::SVGElementInstance::SVGElementInstance):
13845         (WebCore::SVGElementInstance::~SVGElementInstance):
13846         (WebCore::SVGElementInstance::updateAllInstancesOfElement):
13847         * svg/SVGElementInstance.h:
13848         * svg/SVGStyledElement.cpp:
13849         (WebCore::SVGStyledElement::svgAttributeChanged):
13850         (WebCore::SVGStyledElement::childrenChanged):
13851         * svg/SVGStyledElement.h:
13853 2008-09-23  Kevin Ollivier  <kevino@theolliviers.com>
13855         wx build fix.
13857         * WebCoreSources.bkl:
13859 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
13861         Rubber stamped by Sam.
13863         Move code from EventTarget to EventTargetNode.
13865         I refactored most parts to live in EventTarget, a year ago,
13866         though the implementation of EventTargetSVGElementInstance is
13867         done in another way, that obsoletes this.
13869         * dom/Document.cpp:
13870         (WebCore::Document::addListenerTypeIfNeeded):
13871         * dom/Document.h:
13872         * dom/EventTarget.cpp:
13873         * dom/EventTarget.h:
13874         (WebCore::allowEventDispatch):
13875         * dom/EventTargetNode.cpp:
13876         (WebCore::EventTargetNode::insertedIntoDocument):
13877         (WebCore::EventTargetNode::removedFromDocument):
13878         (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
13879         (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
13880         (WebCore::EventTargetNode::addEventListener):
13881         (WebCore::EventTargetNode::removeEventListener):
13882         (WebCore::EventTargetNode::removeAllEventListeners):
13883         (WebCore::EventTargetNode::handleLocalEvents):
13884         (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
13885         (WebCore::EventTargetNode::dispatchEvent):
13886         (WebCore::EventTargetNode::dispatchGenericEvent):
13887         (WebCore::EventTargetNode::dispatchWindowEvent):
13888         (WebCore::EventTargetNode::removeEventListenerForType):
13889         * dom/EventTargetNode.h:
13890         * svg/EventTargetSVGElementInstance.cpp:
13891         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
13892         * svg/SVGElement.cpp:
13893         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
13894         * svg/SVGElement.h:
13895         (WebCore::SVGElement::supplementalTransform):
13897 2008-09-23  Dave Hyatt  <hyatt@apple.com>
13899         Fix for bug 21012.  The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme.  Make
13900         sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
13901         
13902         Reviewed by Sam Weinig
13904         * platform/mac/ScrollbarThemeMac.mm:
13905         (WebCore::ScrollbarThemeMac::trackRect):
13906         * platform/win/ScrollbarThemeSafari.cpp:
13907         (WebCore::ScrollbarTheme::nativeTheme):
13908         (WebCore::ScrollbarThemeSafari::trackRect):
13910 2008-09-23  Beth Dakin  <bdakin@apple.com>
13912         Reviewed by Sam Weinig.
13914         Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact" 
13915         link at gmail does not support AXPress action
13916         and corresponding: <rdar://problem/6216178>
13918         I fixed this bug by making AccessibilityObject::anchorElement 
13919         support ARIA links.
13921         * page/AccessibilityImageMapLink.cpp:
13922         (WebCore::AccessibilityImageMapLink::anchorElement):
13923         * page/AccessibilityImageMapLink.h:
13924         * page/AccessibilityObject.cpp:
13925         (WebCore::AccessibilityObject::anchorElement):
13926         * page/AccessibilityObject.h:
13927         (WebCore::AccessibilityObject::isNativeAnchor):
13928         * page/AccessibilityRenderObject.cpp:
13929         (WebCore::AccessibilityRenderObject::isNativeAnchor):
13930         (WebCore::AccessibilityRenderObject::anchorElement):
13931         (WebCore::AccessibilityRenderObject::internalLinkElement):
13932         (WebCore::AccessibilityRenderObject::url):
13933         * page/AccessibilityRenderObject.h:
13934         * page/mac/AccessibilityObjectWrapper.mm:
13935         (AXLinkElementForNode):
13937 2008-09-23  Kevin McCullough  <kmccullough@apple.com>
13939         Reviewed by Tim and Oliver.
13941         Bug 20949: Catch repeated messages in Inspector Controller to limit
13942         memory usage
13943         - Store the repeat count in the Console Message object, in the 
13944         Inspector Controller and JS ConsoleMessage object.
13946         * page/InspectorController.cpp:
13947         (WebCore::ConsoleMessage::ConsoleMessage):
13948         (WebCore::ConsoleMessage::operator==):
13949         (WebCore::InspectorController::InspectorController):
13950         (WebCore::InspectorController::addConsoleMessage):
13951         (WebCore::InspectorController::addScriptConsoleMessage):
13952         * page/InspectorController.h:
13953         * page/inspector/Console.js:
13954         * page/inspector/Resource.js:
13955         * page/inspector/ResourcesPanel.js:
13956         * page/inspector/SourceFrame.js:
13958 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
13960         Reviewed by Eric.
13962         Working on proper EventTarget support for SVGElementInstance.
13964         Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
13965         Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
13967         Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
13968         implementation. Let it use TreeShared directly.
13970         It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
13971         The transition to EventTargetSVGElementInstance will be done in a few individual patches.
13973         * GNUmakefile.am:
13974         * WebCore.pro:
13975         * WebCore.vcproj/WebCore.vcproj:
13976         * WebCore.xcodeproj/project.pbxproj:
13977         * bindings/js/JSEventTargetBase.cpp:
13978         (WebCore::retrieveEventTargetAndCorrespondingNode):
13979         (WebCore::toJS):
13980         * bindings/js/JSEventTargetBase.h:
13981         * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
13982         (WebCore::):
13983         (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
13984         (WebCore::JSEventTargetSVGElementInstance::createPrototype):
13985         (WebCore::JSEventTargetSVGElementInstance::setListener):
13986         (WebCore::JSEventTargetSVGElementInstance::getListener):
13987         (WebCore::toEventTargetSVGElementInstance):
13988         * bindings/js/JSEventTargetSVGElementInstance.h: Added.
13989         (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
13990         (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
13991         (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
13992         (WebCore::JSEventTargetSVGElementInstance::put):
13993         (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
13994         * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
13995         (WebCore::toJS):
13996         * bindings/objc/DOM.mm:
13997         (+[DOMNode _wrapEventTarget:WebCore::]):
13998         (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
13999         (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
14000         (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
14001         (-[DOMSVGElementInstance WebCore::]):
14002         (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
14003         (-[DOMSVGElementInstance addEventListener:::]):
14004         (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
14005         (-[DOMSVGElementInstance removeEventListener:::]):
14006         (-[DOMSVGElementInstance dispatchEvent:]):
14007         * bindings/objc/DOMEvents.h:
14008         * bindings/scripts/CodeGeneratorJS.pm:
14009         * bindings/scripts/CodeGeneratorObjC.pm:
14010         * svg/EventTargetSVGElementInstance.cpp: Added.
14011         (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
14012         (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
14013         (WebCore::EventTargetSVGElementInstance::addEventListener):
14014         (WebCore::EventTargetSVGElementInstance::removeEventListener):
14015         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
14016         * svg/EventTargetSVGElementInstance.h: Added.
14017         (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
14018         (WebCore::EventTargetSVGElementInstance::toNode):
14019         (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
14020         (WebCore::EventTargetSVGElementInstance::refEventTarget):
14021         (WebCore::EventTargetSVGElementInstance::derefEventTarget):
14022         (WebCore::EventTargetSVGElementInstanceCast):
14023         * svg/SVGElement.cpp:
14024         (WebCore::SVGElement::dispatchEvent):
14025         * svg/SVGElementInstance.cpp:
14026         (WebCore::SVGElementInstance::SVGElementInstance):
14027         (WebCore::SVGElementInstance::~SVGElementInstance):
14028         * svg/SVGElementInstance.h:
14029         (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
14030         * svg/SVGElementInstance.idl:
14032 2008-09-23  Dan Bernstein  <mitz@apple.com>
14034         Reviewed by Dave Hyatt.
14036         - https://bugs.webkit.org/show_bug.cgi?id=21040
14037           Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
14039         * platform/graphics/mac/SimpleFontDataMac.mm:
14040         (WebCore::SimpleFontData::getCTFont):
14042 2008-09-23  David Hyatt  <hyatt@apple.com>
14044         https://bugs.webkit.org/show_bug.cgi?id=21039
14046         Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
14048         Reviewed by Sam Weinig
14050         * platform/ScrollView.h:
14051         * platform/Scrollbar.cpp:
14052         (WebCore::Scrollbar::setFrameGeometry):
14053         * platform/Scrollbar.h:
14054         * platform/Widget.cpp:
14055         (WebCore::Widget::convertFromContainingWindow):
14056         * platform/Widget.h:
14057         * platform/mac/ScrollViewMac.mm:
14058         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14059         (WebCore::ScrollView::ScrollView):
14060         (WebCore::ScrollView::~ScrollView):
14061         (WebCore::ScrollView::windowResizerRect):
14062         (WebCore::ScrollView::resizerOverlapsContent):
14063         (WebCore::ScrollView::adjustOverlappingScrollbarCount):
14064         (WebCore::ScrollView::setParent):
14065         * platform/mac/WidgetMac.mm:
14066         (WebCore::Widget::convertFromContainingWindow):
14068 2008-09-23  Dirk Schulze  <vbs85@gmx.de>
14070         Reviewed by Darin Adler. Landed by Jan Alonzo.
14072         Added support for getImageData() and putImageData()
14073         to Cairo.
14075         [CAIRO] needs getImageData and putImageData support
14076         https://bugs.webkit.org/show_bug.cgi?id=20838
14078         * platform/graphics/cairo/ImageBufferCairo.cpp:
14079         (WebCore::ImageBuffer::ImageBuffer):
14080         (WebCore::ImageBuffer::getImageData):
14081         (WebCore::ImageBuffer::putImageData):
14083 2008-09-23  Marco Barisione  <marco.barisione@collabora.co.uk>
14085         Reviewed by Holger Freyther.
14087         http://bugs.webkit.org/show_bug.cgi?id=18987
14088         [GTK] Implement SharedBuffer::createWithContentsOfFile and
14089         KURL::fileSystemPath
14091         * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
14092         * platform/gtk/KURLGtk.cpp: Added.
14093         (WebCore::KURL::fileSystemPath): Implemented.
14094         * platform/gtk/SharedBufferGtk.cpp: Added.
14095         (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
14096         * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
14098 2008-09-23  Alexey Proskuryakov  <ap@webkit.org>
14100         Reviewed by Oliver Hunt, okayed by Darin Adler.
14102         <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
14104         * rendering/InlineTextBox.cpp:
14105         (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
14107 2008-09-23  Alexey Proskuryakov  <ap@webkit.org>
14109         Reviewed by Darin Adler.
14111         https://bugs.webkit.org/show_bug.cgi?id=21023
14112         Don't use TEC for encodings supported by ICU
14114         * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
14115         x-mac-greek, and x-mac-turkish.
14117         * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
14118         Register aliases for these encodings that are not registered automatically; updated comments.
14120 2008-09-23  Maciej Stachowiak  <mjs@apple.com>
14122         Reviewed by Darin.
14124         - speed up instanceof some more
14125         https://bugs.webkit.org/show_bug.cgi?id=20818
14127         ~2% speedup on EarleyBoyer
14129         (WebCore updates.)
14130         
14131         * bindings/js/JSQuarantinedObjectWrapper.h:
14132         (WebCore::JSQuarantinedObjectWrapper::createStructureID):
14134 2008-09-22  Darin Adler  <darin@apple.com>
14136         Reviewed by Oliver Hunt.
14138         - fix https://bugs.webkit.org/show_bug.cgi?id=21008
14139           getting pixels by index from CanvasPixelArray is unnecessarily slow
14141         * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
14142         * WebCore.vcproj/WebCore.vcproj: Ditto.
14143         * WebCore.xcodeproj/project.pbxproj: Ditto.
14145         * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
14146           indexSetter. These are now both inlined, so in the header.
14147         * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
14148           function is what's used for HasCustomIndexGetter. Also moved the
14149           indexSetter function here.
14151         * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
14152           to use a getByIndex member function rather than an indexGetter static
14153           member function in a property slot. This lets us avoid the property
14154           slot mechanism's rule where it turns numeric property names into
14155           strings in the identifier table, which is good because that's slow.
14156           Also added a new property CustomHeader that allows IDL files to
14157           introduce headers to be included -- useful when we have functions
14158           that we want to inline into the binding.
14160         * html/CanvasPixelArray.idl: Added CustomHeader attribute.
14162 2008-09-23  Eric Seidel  <eric@webkit.org>
14164         No review, build fix only.
14166         Another blind stab in the dark.
14168         * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
14170 2008-09-23  Eric Seidel  <eric@webkit.org>
14172         No review, build fix only.
14173         
14174         Third time's the charm, eh?  My local build is sadly still not done...
14176         * platform/graphics/AffineTransform.cpp: remove extra &
14177         * platform/graphics/AffineTransform.h: remove extra &
14179 2008-09-22  Eric Seidel  <eric@webkit.org>
14181         No review, build fix only.
14183         * platform/graphics/AffineTransform.cpp: remove extra ;
14185 2008-09-22  Eric Seidel  <eric@webkit.org>
14187         No review, build fix only.
14189         Speculative fix for the build while I wait for my compile to finish.
14191         * platform/graphics/AffineTransform.cpp:
14193 2008-09-22  Dirk Schulze  <vbs85@gmx.de>
14195         Reviewed by eseidel.  Landed by eseidel.
14197         Moved makeMapBetweenRects from SVG/CG to AffineTransform
14198         Make SVGResourceClipper::applyClip more cross-platform
14200         * platform/graphics/AffineTransform.cpp:
14201         * platform/graphics/AffineTransform.h:
14202         * svg/graphics/cg/CgSupport.cpp:
14203         * svg/graphics/cg/CgSupport.h:
14204         * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
14205         (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
14206         * svg/graphics/cg/SVGResourceClipperCg.cpp:
14207         (WebCore::SVGResourceClipper::applyClip):
14209 2008-09-22  Alp Toker  <alp@nuanti.com>
14211         Reviewed by David Hyatt.
14213         https://bugs.webkit.org/show_bug.cgi?id=16331
14214         [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
14216         Obey GTK+ focusing conventions for controls and anchor elements.
14218         It could be interesting to push these decisions up to Settings or
14219         ChromeClient some day but this gets things working.
14221         Right and middle click events still need some work to match GTK+
14222         conventions.
14224         * html/HTMLAnchorElement.cpp:
14225         (WebCore::HTMLAnchorElement::isMouseFocusable):
14226         * html/HTMLFormControlElement.cpp:
14227         (WebCore::HTMLFormControlElement::isMouseFocusable):
14228         * page/EventHandler.cpp:
14229         (WebCore::EventHandler::sendContextMenuEvent):
14231 2008-09-22  Darin Adler  <darin@apple.com>
14233         * page/mac/FrameMac.mm:
14234         (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
14236 2008-09-22  Sam Weinig  <sam@webkit.org>
14238         Reviewed by Dan Bernstein.
14240         Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
14241         Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
14242         and setSelectionRange.  This also allows us to remove the legacy JSHTMLInputElementBase
14243         class!
14245         - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
14246           non-selectable input types, but return undefined when accessed.
14248         * DerivedSources.make:
14249         * GNUmakefile.am:
14250         * WebCore.pro:
14251         * WebCore.vcproj/WebCore.vcproj:
14252         * WebCore.xcodeproj/project.pbxproj:
14253         * WebCoreSources.bkl:
14254         * bindings/js/JSHTMLInputElementBase.cpp: Removed.
14255         * bindings/js/JSHTMLInputElementBase.h: Removed.
14256         * bindings/js/JSHTMLInputElementCustom.cpp: Added.
14257         (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
14258         (WebCore::JSHTMLInputElement::selectionStart):
14259         (WebCore::JSHTMLInputElement::selectionEnd):
14260         * bindings/js/JSHTMLInputElementCustom.h: Added.
14261         * html/HTMLInputElement.idl:
14263 2008-09-22  Dan Bernstein  <mitz@apple.com>
14265         Reviewed by Sam Weinig.
14267         - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
14269         Not testable in DumpRenderTree or in Safari
14271         * page/mac/FrameMac.mm:
14272         (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
14273         case that the selection start node is a block.
14275 2008-09-22  David Hyatt  <hyatt@apple.com>
14277         https://bugs.webkit.org/show_bug.cgi?id=21007
14279         Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
14281         Reviewed by Sam Weinig
14283         * page/EventHandler.cpp:
14284         (WebCore::EventHandler::handleMouseDoubleClickEvent):
14286 2008-09-22  Eric Seidel  <eric@webkit.org>
14288         No review, rollback only.
14290         Roll out Peter's change (per his request)
14291         http://trac.webkit.org/changeset/36069
14292         https://bugs.webkit.org/show_bug.cgi?id=19663
14293         This change has been the source of numerous regressions
14294         (several of which were latent bugs revealed by this change,
14295         others were bugs in this change)
14297         * platform/graphics/BitmapImage.cpp:
14298         (WebCore::BitmapImage::BitmapImage):
14299         (WebCore::BitmapImage::startAnimation):
14300         (WebCore::BitmapImage::advanceAnimation):
14301         * platform/graphics/BitmapImage.h:
14302         * platform/graphics/cairo/ImageCairo.cpp:
14303         (WebCore::BitmapImage::draw):
14304         * platform/graphics/cg/ImageCG.cpp:
14305         (WebCore::BitmapImage::draw):
14306         * platform/graphics/qt/ImageQt.cpp:
14307         (WebCore::BitmapImage::draw):
14308         * platform/graphics/wx/ImageWx.cpp:
14309         (WebCore::BitmapImage::draw):
14311 2008-09-22  Dan Bernstein  <mitz@apple.com>
14313         Reviewed by Sam Weinig.
14315         - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
14317         Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
14318                platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
14320         * config.h: Use Core Text if not building for Leopard or Tiger.
14322 2008-09-22  David Hyatt  <hyatt@apple.com>
14324         https://bugs.webkit.org/show_bug.cgi?id=21006
14326         Add code that paints an NSView-less scroller using HIThemeDrawTrack.  This scrollbar is still not
14327         switched on.  There are still a few more refinements to make to the rendering and behavior.
14329         Reviewed by Darin Adler
14331         * platform/ScrollbarThemeComposite.cpp:
14332         (WebCore::ScrollbarThemeComposite::paint):
14333         * platform/ScrollbarThemeComposite.h:
14334         (WebCore::ScrollbarThemeComposite::paintTrack):
14335         (WebCore::ScrollbarThemeComposite::paintButton):
14336         (WebCore::ScrollbarThemeComposite::paintThumb):
14337         * platform/mac/ScrollbarThemeMac.h:
14338         * platform/mac/ScrollbarThemeMac.mm:
14339         (WebCore::ScrollbarThemeMac::backButtonRect):
14340         (WebCore::ScrollbarThemeMac::forwardButtonRect):
14341         (WebCore::scrollbarPartToHIPressedState):
14342         (WebCore::ScrollbarThemeMac::paint):
14343         * platform/mac/WidgetMac.mm:
14344         (WebCore::Widget::invalidateRect):
14346 2008-09-22  Chris Marrin  <cmarrin@apple.com>
14348         Reviewed by Sam Weinig
14350         transition end event when -webkit-transition-property: all puts wrong
14351         propertyName in event
14352         https://bugs.webkit.org/show_bug.cgi?id=20903
14353         
14354         * page/animation/ImplicitAnimation.cpp:
14355         (WebCore::ImplicitAnimation::sendTransitionEvent):
14357 2008-09-22  Chris Fleizach  <cfleizach@apple.com>
14359         Reviewed by Darin Adler.
14361         <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
14363         Test: accessibility/table-one-cell.html
14365         * page/AccessibilityTable.cpp:
14366         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
14368 2008-09-22  Chris Fleizach  <cfleizach@apple.com>
14370         Reviewed by Darin Adler.
14372         <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
14374         Test: accessibility/textarea-selected-text-range.html
14376         * page/AccessibilityRenderObject.cpp:
14377         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
14379 2008-09-22  David Hyatt  <hyatt@apple.com>
14381         Clean up some parent relationships in the back end stylesheet code.  Make sure parentStyleSheet
14382         properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
14383         parent.  Also fix the doc() method so that it is properly set when the parent of the sheet is an import
14384         rule.
14386         Reviewed by Sam Weinig
14388         Added fast/css/nested-rule-parent-sheet.html
14390          * css/CSSImportRule.cpp:
14391         (WebCore::CSSImportRule::insertedIntoParent):
14392         * css/CSSRule.cpp:
14393         (WebCore::CSSRule::parentStyleSheet):
14394         (WebCore::CSSRule::parentRule):
14395         * css/CSSStyleSheet.cpp:
14396         (WebCore::CSSStyleSheet::CSSStyleSheet):
14397         * css/CSSStyleSheet.h:
14399 2008-09-22  Dan Bernstein  <mitz@apple.com>
14401         Reviewed by Sam Weinig.
14403         - fix https://bugs.webkit.org/show_bug.cgi?id=21002
14404           Make the ATSUI code path respect spacingDisabled()
14406         Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
14408         * platform/graphics/mac/FontMacATSUI.mm:
14409         (WebCore::overrideLayoutOperation):
14411 2008-09-22  Maciej Stachowiak  <mjs@apple.com>
14413         Reviewed by Cameron Zwarich.
14415         - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
14417         Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
14418         
14419         2.2% speedup on EarleyBoyer benchmark.
14421         * bindings/js/JSQuarantinedObjectWrapper.cpp:
14422         * bindings/js/JSQuarantinedObjectWrapper.h:
14423         (WebCore::JSQuarantinedObjectWrapper::createStructureID):
14424         * bindings/scripts/CodeGeneratorJS.pm:
14426 2008-09-22  Adam Roben  <aroben@apple.com>
14428         Windows build fix
14430         * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
14432 2008-09-22  Maciej Stachowiak  <mjs@apple.com>
14434         Reviewed by Dave Hyatt.
14436         Based on initial work by Darin Adler.
14437         
14438         - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
14439         - use this to JIT inline code for eq_null and neq_null
14440         https://bugs.webkit.org/show_bug.cgi?id=20823
14441         
14442         * WebCore.xcodeproj/project.pbxproj:
14443         * WebCore.vcproj/WebCore.vcproj:
14444         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14445         (WebCore::JSCSSStyleDeclaration::nameGetter):
14446         * bindings/js/JSHTMLAllCollection.cpp: Added.
14447         (WebCore::):
14448         * bindings/js/JSHTMLAllCollection.h:
14449         (WebCore::JSHTMLAllCollection::createStructureID):
14450         (WebCore::JSHTMLAllCollection::toBoolean):
14452 2008-09-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
14454         Reviewed by Simon.
14456         Fix the QtWebKit build
14458         * bridge/qt/qt_instance.cpp:
14459         (JSC::Bindings::QtRuntimeObjectImp::construct):
14460         * bridge/qt/qt_runtime.cpp:
14462 2008-09-22  Alp Toker  <alp@nuanti.com>
14464         Suggested by David Hyatt.
14466         Build fix: ScrollView::update() is still used by Document.cpp on !MAC
14467         so make it public.
14469         * platform/ScrollView.h:
14471 2008-09-22  David Hyatt  <hyatt@apple.com>
14473         Fix a regression in Windows scrollbar painting.  (Also fix the same
14474         bug in my new viewless Mac scrollbar painting code).  The track rect
14475         was being improperly inflated when painting resulting in the scrollbar
14476         being too tall and painting in the border of overflow sections.
14478         Reviewed by Oliver Hunt
14480         * platform/mac/ScrollbarThemeMac.mm:
14481         (WebCore::ScrollbarThemeMac::trackRect):
14482         * platform/win/ScrollbarThemeSafari.cpp:
14483         (WebCore::ScrollbarThemeSafari::trackRect):
14485 2008-09-22  David Hyatt  <hyatt@apple.com>
14487         Fix a hit testing bug where events are mistakenly passed to subframes
14488         if the mouse is over the border or padding area of the frame.  Add
14489         a boolean flag, isOverWidget(), to hit test results so that EventHandler
14490         can check it to tell if the mouse is really over the content box of a
14491         RenderWidget and not just in the border/padding area.
14493         This is not testable, since the old code properly recovered when it detected
14494         that the mouse was outside the bounds of the view, but this prevents
14495         the extra passdown from even occurring (and is basically a nice cleanup).
14497         Reviewed by Oliver Hunt
14499         * page/EventHandler.cpp:
14500         (WebCore::EventHandler::handleMousePressEvent):
14501         (WebCore::EventHandler::hitTestResultAtPoint):
14502         (WebCore::subframeForHitTestResult):
14503         (WebCore::EventHandler::handleMouseDoubleClickEvent):
14504         (WebCore::EventHandler::handleMouseMoveEvent):
14505         (WebCore::EventHandler::handleMouseReleaseEvent):
14506         (WebCore::EventHandler::handleWheelEvent):
14507         * page/MouseEventWithHitTestResults.h:
14508         (WebCore::MouseEventWithHitTestResults::isOverWidget):
14509         * rendering/HitTestResult.cpp:
14510         (WebCore::HitTestResult::HitTestResult):
14511         (WebCore::HitTestResult::operator=):
14512         * rendering/HitTestResult.h:
14513         (WebCore::HitTestResult::isOverWidget):
14514         (WebCore::HitTestResult::setIsOverWidget):
14515         * rendering/RenderWidget.cpp:
14516         (WebCore::RenderWidget::nodeAtPoint):
14517         * rendering/RenderWidget.h:
14519 2008-09-21  David Hyatt  <hyatt@apple.com>
14521         Rename FrameView's repaintRectangle method to repaintContentRectangle.  Make
14522         both it and ScrollView's updateContents method be off-limits to everyone in
14523         WebCore except for RenderView.
14525         Make repaintViewRectangle the only possible method for WebCore code to do
14526         an invalidation.  This ensures that all invalidates triggered by WebCore
14527         cross-platform code that cross ownerElement() boundaries are transform-aware.
14529         Make sure that iframes/frames contained inside objects that have transforms
14530         or reflections are not allowed to blit (this was already true for transparency).
14532         It is not possible to make a test for any of this, since iframe scrolling
14533         still doesn't work on Mac (since the invalidates are not being done
14534         through WebCore's cross-platform invalidation code but are instead going
14535         through NSScrollView's setNeedsDisplay still).
14537         Reviewed by Oliver Hunt
14539         * editing/SelectionController.cpp:
14540         (WebCore::SelectionController::recomputeCaretRect):
14541         (WebCore::SelectionController::invalidateCaretRect):
14542         (WebCore::SelectionController::focusedOrActiveStateChanged):
14543         * page/FrameView.cpp:
14544         (WebCore::FrameView::repaintContentRectangle):
14545         (WebCore::FrameView::endDeferredRepaints):
14546         * page/FrameView.h:
14547         * platform/ScrollView.h:
14548         * rendering/RenderBox.cpp:
14549         (WebCore::RenderBox::paintFillLayerExtended):
14550         * rendering/RenderLayer.cpp:
14551         (WebCore::RenderLayer::enclosingPositionedAncestor):
14552         (WebCore::RenderLayer::requiresSlowRepaints):
14553         * rendering/RenderLayer.h:
14554         (WebCore::RenderLayer::hasTransform):
14555         * rendering/RenderView.cpp:
14556         (WebCore::RenderView::paintBoxDecorations):
14557         (WebCore::RenderView::repaintViewRectangle):
14558         (WebCore::RenderView::setSelection):
14560 2008-09-21  Maciej Stachowiak  <mjs@apple.com>
14562         Reviewed by Darin.
14564         - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
14565         https://bugs.webkit.org/show_bug.cgi?id=20981
14566         
14567         * bindings/js/JSAudioConstructor.cpp:
14568         (WebCore::JSAudioConstructor::JSAudioConstructor):
14569         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14570         (WebCore::JSCSSStyleDeclaration::nameGetter):
14571         * bindings/js/JSDOMBinding.cpp:
14572         (WebCore::createDOMStructure):
14573         * bindings/js/JSDOMBinding.h:
14574         (WebCore::getDOMStructure):
14575         * bindings/js/JSDOMWindowShell.cpp:
14576         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
14577         (WebCore::JSDOMWindowShell::setWindow):
14578         * bindings/js/JSEventTargetNode.cpp:
14579         (WebCore::JSEventTargetNode::createPrototype):
14580         * bindings/js/JSHTMLOptionElementConstructor.cpp:
14581         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
14582         * bindings/js/JSImageConstructor.cpp:
14583         (WebCore::JSImageConstructor::JSImageConstructor):
14584         * bindings/js/JSXMLHttpRequestConstructor.cpp:
14585         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
14586         * bindings/js/JSXSLTProcessorConstructor.cpp:
14587         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
14588         * bindings/scripts/CodeGeneratorJS.pm:
14590 2008-09-21  Darin Adler  <darin@apple.com>
14592         Reviewed by Maciej Stachowiak.
14594         - fix problem Maciej noticed where every JSNamedNodesCollection
14595           gets its own StructureID
14597         * bindings/js/JSNamedNodesCollection.cpp:
14598         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
14599         getDOMStructure to get the structure.
14600         * bindings/js/JSNamedNodesCollection.h:
14601         (WebCore::JSNamedNodesCollection::createPrototype): Return the
14602         object prototype.
14604 2008-09-20  David Hyatt  <hyatt@apple.com>
14606         Make sure transformed scrollbars in overflow sections position
14607         properly.  This patch mimics the same behavior that works for
14608         iframes, namely making sure that the same code that dynamically
14609         adjusts iframe widget positions at paint time for fixed positioning
14610         and transforms also applies to scrollbars.  (This is as simple as passing
14611         in the current translation factor at paint time rather than crawling
14612         up the layer tree to compute a "false" absolute position.)
14614         An existing transform test covers this (although only a pixel result
14615         reveals the correct rendering).
14617         Reviewed by Darin Adler
14619         * rendering/RenderLayer.cpp:
14620         (WebCore::RenderLayer::updateLayerPositions):
14621         (WebCore::RenderLayer::positionOverflowControls):
14622         (WebCore::RenderLayer::paintOverflowControls):
14623         (WebCore::RenderLayer::paintLayer):
14624         * rendering/RenderLayer.h:
14626 2008-09-21  Steve Falkenburg  <sfalken@apple.com>
14628         Removed unnecessary nested timer check.
14629         
14630         Rubber-stamped by Dan Bernstein.
14632         * platform/win/SharedTimerWin.cpp:
14633         (WebCore::TimerWindowWndProc):
14635 2008-09-21  Steve Falkenburg  <sfalken@apple.com>
14637         Improve timer resolution on WinXP.
14638         https://bugs.webkit.org/show_bug.cgi?id=20979
14639         
14640         Removed last-chance timer. It should not be necessary.
14641         Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
14642         Remove Vista checks. We now run the same code on both XP and Vista.
14643         
14644         Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
14645         The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
14646         
14647         Reviewed by Maciej Stachowiak.
14649         * platform/win/SharedTimerWin.cpp:
14650         (WebCore::):
14651         (WebCore::TimerWindowWndProc):
14652         (WebCore::setSharedTimerFireTime):
14653         * platform/win/SystemTimeWin.cpp:
14654         (WebCore::currentTime):
14656 2008-09-21  Dirk Schulze  <vbs85@gmx.de>
14658         Reviewed by eseidel.  Landed by eseidel.
14660         All platforms use the DashArray in the GraphicsContext.
14662         * svg/graphics/SVGPaintServer.h:
14663         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
14664         (WebCore::SVGPaintServerGradient::setup):
14665         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
14666         (WebCore::SVGPaintServerPattern::setup):
14667         * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
14668         (WebCore::SVGPaintServerSolid::setup):
14669         * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
14670         (WebCore::SVGPaintServerGradient::setup):
14671         * svg/graphics/qt/SVGPaintServerQt.cpp:
14672         * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
14673         (WebCore::SVGPaintServerSolid::setup):
14675 2008-09-21  Dirk Schulze  <vbs85@gmx.de>
14677         Reviewed by eseidel.  Landed by eseidel.
14679         Moved DashArray to GraphicsContext.
14681         * GNUmakefile.am:
14682         * WebCore.vcproj/WebCore.vcproj:
14683         * WebCore.xcodeproj/project.pbxproj:
14684         * platform/graphics/DashArray.h: Added.
14685         * platform/graphics/GraphicsContext.h:
14686         * platform/graphics/cairo/GraphicsContextCairo.cpp:
14687         (WebCore::GraphicsContext::setLineDash):
14688         * platform/graphics/cg/GraphicsContextCG.cpp:
14689         (WebCore::GraphicsContext::setLineDash):
14690         * platform/graphics/qt/GraphicsContextQt.cpp:
14691         (WebCore::GraphicsContext::setLineDash):
14692         * svg/graphics/SVGPaintServer.cpp:
14693         (WebCore::applyStrokeStyleToContext):
14694         * svg/graphics/SVGPaintServer.h:
14695         * svg/graphics/cg/CgSupport.cpp:
14696         * svg/graphics/cg/CgSupport.h:
14698 2008-09-21  Dan Bernstein  <mitz@apple.com>
14700         Reviewed by Mark Rowe.
14702         - fix linker warnings
14704         * WebCore.base.exp:
14706 2008-09-20  Darin Adler  <darin@apple.com>
14708         - another try at fixing Qt
14710         * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
14712 2008-09-20  Darin Adler  <darin@apple.com>
14714         - blind attempt to fix Qt build
14716         * bridge/qt/qt_runtime.cpp:
14717         (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
14718         of regExpPrototype to make a RegExpObject. There should really be
14719         some sort of public helper function for this. Same thing for
14720         DateInstance and dateStructure. For JSObject, use constructEmptyObject.
14721         (JSC::Bindings::):
14722         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
14723         It is not correct to do this inside the constructor because it could
14724         cause a garbage collect while the QtRuntimeMethod object is half-
14725         allocated, which could lead to a crash; note that RuntimeMethod,
14726         QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
14727         * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
14729 2008-09-20  Collin Jackson  <collinj@webkit.org>
14731         Prefetch DNS for hyperlinks that the user mouses over.
14733         https://bugs.webkit.org/show_bug.cgi?id=20931
14735         Reviewed by Sam Weinig.
14737         * page/Chrome.cpp:
14738         (WebCore::Chrome::mouseDidMoveOverElement):
14740 2008-09-20  Darin Adler  <darin@apple.com>
14742         Reviewed by Maciej Stachowiak.
14744         - finish https://bugs.webkit.org/show_bug.cgi?id=20858
14745           make each distinct C++ class get a distinct JSC::Structure
14747         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14748         (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
14749         ID. Note that this makes a new structure every time -- we could
14750         optimize this slightly be caching and reusing a single one.
14752         * bridge/runtime_method.cpp:
14753         (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
14754         getDOMStructure.
14755         * bridge/runtime_method.h:
14756         (JSC::RuntimeMethod::createPrototype): Added createPrototype so
14757         getDOMStructure will work.
14759         * bindings/js/JSDOMWindowShell.cpp:
14760         (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
14761         0; needed in case garbage collection happens while creating the
14762         JSDOMWindow.
14764 2008-09-20  Dan Bernstein  <mitz@apple.com>
14766         Reviewed by Eric Seidel.
14768         - fix https://bugs.webkit.org/show_bug.cgi?id=20950
14769           <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
14771         * svg/SVGTextContentElement.cpp:
14772         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
14773         not include the first character in the extraCharsAvailable count.
14775 2008-09-20  Kevin Ollivier  <kevino@theolliviers.com>
14777         Reviewed by Dan Bernstein.
14779         Fix memory leak.
14780         
14781         https://bugs.webkit.org/show_bug.cgi?id=20505
14783         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
14784         (GetTextExtent):
14786 2008-09-20  Kevin Ollivier  <kevino@theolliviers.com>
14788         wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
14790         * WebCoreSources.bkl:
14791         * platform/ScrollView.h:
14792         * platform/wx/PopupMenuWx.cpp:
14793         (WebCore::PopupMenu::show):
14794         * platform/wx/RenderThemeWx.cpp:
14795         (WebCore::RenderThemeWx::paintButton):
14796         (WebCore::RenderThemeWx::paintTextField):
14797         (WebCore::RenderThemeWx::paintMenuList):
14798         (WebCore::RenderThemeWx::paintMenuListButton):
14799         * platform/wx/ScrollViewWx.cpp:
14800         (WebCore::ScrollView::setPlatformWidget):
14801         (WebCore::ScrollView::updateContents):
14802         (WebCore::ScrollView::update):
14803         (WebCore::ScrollView::visibleWidth):
14804         (WebCore::ScrollView::visibleHeight):
14805         (WebCore::ScrollView::scrollBy):
14806         (WebCore::ScrollView::resizeContents):
14807         (WebCore::ScrollView::contentsWidth):
14808         (WebCore::ScrollView::contentsHeight):
14809         (WebCore::ScrollView::isScrollViewScrollbar):
14810         (WebCore::ScrollView::adjustScrollbars):
14811         (WebCore::ScrollView::inWindow):
14812         (WebCore::ScrollView::removeChild):
14813         * platform/wx/WidgetWx.cpp:
14814         * plugins/wx/PluginViewWx.cpp:
14815         (WebCore::PluginView::setParentVisible):
14816         (WebCore::PluginView::updatePluginWidget):
14818 2008-09-20  Timothy Hatcher  <timothy@apple.com>
14820         Fix the new Node Search button image to not be blurry.
14822         * page/inspector/Images/nodeSearchButtons.png:
14824 2008-09-20  Matt Lilek  <webkit@mattlilek.com>
14826         Reviewed by Tim Hatcher.
14828         Cut down some of the inspector javascript -> InspectorController glue code
14829         with two new macros. Also rearrange the exposed function list to be grouped
14830         by implementation and to all explicitly use the WebCore namespace.
14832         * page/InspectorController.cpp:
14833         (WebCore::InspectorController::windowScriptObjectAvailable):
14835 2008-09-20  Matt Lilek  <webkit@mattlilek.com>
14837         Reviewed by Tim Hatcher.
14839         Fix regression from my previous patch where the breadcrumbs bar was not displayed.
14841         * page/inspector/inspector.css:
14843 2008-09-20  Nikolas Zimmermann  <zimmermann@kde.org>
14845         Reviewed by Eric.
14847         Refactor HTMLImageLoader/SVGImageLoader code.
14848         Move html/HTMLImageLoader.* to loader/ImageLoader.*
14850         Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
14851         SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
14853         * GNUmakefile.am:
14854         * WebCore.pro:
14855         * WebCore.vcproj/WebCore.vcproj:
14856         * WebCore.xcodeproj/project.pbxproj:
14857         * WebCoreSources.bkl:
14858         * dom/Document.cpp:
14859         (WebCore::Document::dispatchImageLoadEventSoon):
14860         (WebCore::Document::removeImage):
14861         (WebCore::Document::dispatchImageLoadEventsNow):
14862         * dom/Document.h:
14863         * html/HTMLImageLoader.cpp:
14864         (WebCore::HTMLImageLoader::HTMLImageLoader):
14865         (WebCore::HTMLImageLoader::~HTMLImageLoader):
14866         (WebCore::HTMLImageLoader::sourceURI):
14867         (WebCore::HTMLImageLoader::notifyFinished):
14868         * html/HTMLImageLoader.h:
14869         * loader/DocLoader.h:
14870         * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
14871         (WebCore::ImageLoader::ImageLoader):
14872         (WebCore::ImageLoader::~ImageLoader):
14873         (WebCore::ImageLoader::setImage):
14874         (WebCore::ImageLoader::setLoadingImage):
14875         (WebCore::ImageLoader::updateFromElement):
14876         (WebCore::ImageLoader::notifyFinished):
14877         * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
14878         * svg/SVGImageElement.cpp:
14879         (WebCore::SVGImageElement::attach):
14880         (WebCore::SVGImageElement::insertedIntoDocument):
14881         (WebCore::SVGImageElement::imageSourceAttributeName):
14882         * svg/SVGImageElement.h:
14883         * svg/SVGImageLoader.cpp:
14884         (WebCore::SVGImageLoader::SVGImageLoader):
14885         (WebCore::SVGImageLoader::dispatchLoadEvent):
14886         (WebCore::SVGImageLoader::sourceURI):
14887         * svg/SVGImageLoader.h:
14889 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
14891         Build fix.
14893         [qtwebkit] ScrollBar build fix after r36684.
14894         BackButtonPart was split into Start and End Part
14895         ForwardButtonPart was split into Start and End Part
14897         * platform/qt/ScrollbarThemeQt.cpp:
14898         (WebCore::scPart):
14899         (WebCore::scrollbarPart):
14900         (WebCore::styleOptionSlider):
14902 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
14904         Build fix.
14906         [qtwebkit] Make qt_instance.cpp compile.
14907         Revision of 36675 introduced getDOMStructure to give unique
14908         structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
14909         the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
14911         * bridge/qt/qt_instance.cpp:
14912         (JSC::Bindings::QtInstance::getRuntimeObject):
14914 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
14916         Reviewed by Nikolas Zimmermann.
14918         [svg] Change SVGLocatable to deal with a plain SVGElement
14919         There is no requirement in the code that we have to have a
14920         SVGStyledElement. Remove that artificial limitation and compile
14921         with SVGElement.
14923         * svg/SVGLocatable.cpp:
14924         * svg/SVGLocatable.h:
14926 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
14928         Reviewed by Nikolas Zimmermann.
14930         [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
14931         management.
14933         * dom/Document.cpp:
14934         (WebCore::Document::~Document):
14935         (WebCore::Document::svgExtensions):
14936         (WebCore::Document::accessSVGExtensions):
14937         * dom/Document.h:
14939 2008-09-19  David Hyatt  <hyatt@apple.com>
14941         Fix for crash in updateTransitions.  Make sure to test for a style
14942         being null when comparing two RenderStyles.
14944         Reviewed by Oliver Hunt
14946         * page/animation/AnimationBase.cpp:
14947         (WebCore::PropertyWrapperGetter::equals):
14949 2008-09-19  David Hyatt  <hyatt@apple.com>
14951         https://bugs.webkit.org/show_bug.cgi?id=20954
14953         Roll out r36628 since it has caused horrible regressions with
14954         animated GIF CPU usage.
14956         * platform/graphics/BitmapImage.cpp:
14957         (WebCore::BitmapImage::cacheFrame):
14958         (WebCore::BitmapImage::startAnimation):
14959         * platform/graphics/BitmapImage.h:
14960         (WebCore::FrameData::FrameData):
14961         * platform/graphics/cairo/ImageCairo.cpp:
14962         (WebCore::FrameData::clear):
14963         * platform/graphics/cg/ImageCG.cpp:
14964         (WebCore::FrameData::clear):
14965         * platform/graphics/qt/ImageQt.cpp:
14966         (WebCore::FrameData::clear):
14967         * platform/graphics/wx/ImageWx.cpp:
14968         (WebCore::FrameData::clear):
14970 2008-09-20  Alp Toker  <alp@nuanti.com>
14972         Reviewed by Timothy Hatcher.
14974         https://bugs.webkit.org/show_bug.cgi?id=20913
14975         Avoid redudant includes
14977         Document.h is included excessively such that a modification to Document.h (or
14978         any of the header it includes itself) triggers a rebuild of many files
14979         including the whole of SVG and a lot of the JS bindings.
14981         Some of these includes can be avoided by only including Document.h where
14982         necessary.
14984         * bindings/js/JSAttrCustom.cpp:
14985         * bindings/js/JSElementCustom.cpp:
14986         * bindings/js/JSEventTargetBase.cpp:
14987         * bindings/js/JSEventTargetBase.h:
14988         * bindings/js/JSEventTargetNode.cpp:
14989         * bindings/js/JSHTMLFrameElementCustom.cpp:
14990         * bindings/js/JSHTMLIFrameElementCustom.cpp:
14991         * bindings/scripts/CodeGeneratorJS.pm:
14992         * css/CSSCursorImageValue.cpp:
14993         * css/SVGCSSStyleSelector.cpp:
14994         * dom/make_names.pl:
14995         * svg/SVGAnimateElement.h:
14996         * svg/SVGAnimatedProperty.h:
14997         (WebCore::::baseValue):
14998         (WebCore::::setBaseValue):
14999         (WebCore::::startAnimation):
15000         (WebCore::::stopAnimation):
15001         * svg/SVGElement.cpp:
15002         (WebCore::SVGElement::accessDocumentSVGExtensions):
15003         * svg/SVGElement.h:
15004         * svg/SVGElementInstance.cpp:
15005         * svg/SVGFitToViewBox.cpp:
15006         * svg/SVGFontElement.cpp:
15007         * svg/SVGFontFaceElement.cpp:
15008         * svg/SVGLinearGradientElement.cpp:
15009         * svg/SVGMPathElement.cpp:
15010         * svg/SVGViewSpec.cpp:
15012 2008-09-19  Nikolas Zimmermann  <zimmermann@kde.org>
15014         Reviewed by Antti & Eric.
15016         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
15018         Finish HTMLScriptElement / SVGScriptElement unification.
15019         SVG <script> support is complete now, full SVGLoad event
15020         respecting the influence of the externalResourcesRequired attribute
15021         as well as SVGError event support. All other features shared with HTML.
15023         Tests: fast/dom/HTMLScriptElement/script-reexecution.html
15024                svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
15025                svg/dom/SVGScriptElement/script-load-and-error-events.svg
15026                svg/dom/SVGScriptElement/script-reexecution.svg
15027                svg/dom/SVGScriptElement/script-set-href.svg
15029         * dom/ScriptElement.cpp:
15030         (WebCore::ScriptElementData::ScriptElementData):
15031         (WebCore::ScriptElementData::requestScript):
15032         * dom/ScriptElement.h:
15033         (WebCore::ScriptElementData::haveFiredLoadEvent):
15034         (WebCore::ScriptElementData::setHaveFiredLoadEvent):
15035         * dom/XMLTokenizer.cpp:
15036         (WebCore::XMLTokenizer::notifyFinished):
15037         * html/HTMLScriptElement.cpp:
15038         (WebCore::HTMLScriptElement::dispatchLoadEvent):
15039         * svg/SVGScriptElement.cpp:
15040         (WebCore::SVGScriptElement::setCreatedByParser):
15041         (WebCore::SVGScriptElement::parseMappedAttribute):
15042         (WebCore::SVGScriptElement::svgAttributeChanged):
15043         (WebCore::SVGScriptElement::insertedIntoDocument):
15044         (WebCore::SVGScriptElement::removedFromDocument):
15045         (WebCore::SVGScriptElement::childrenChanged):
15046         (WebCore::SVGScriptElement::isURLAttribute):
15047         (WebCore::SVGScriptElement::finishParsingChildren):
15048         (WebCore::SVGScriptElement::type):
15049         (WebCore::SVGScriptElement::setType):
15050         (WebCore::SVGScriptElement::haveLoadedRequiredResources):
15051         (WebCore::SVGScriptElement::dispatchLoadEvent):
15052         (WebCore::SVGScriptElement::dispatchErrorEvent):
15053         * svg/SVGScriptElement.h:
15055 2008-09-19  Dan Bernstein  <mitz@apple.com>
15057         Reviewed by John Sullivan.
15059         - fix https://bugs.webkit.org/show_bug.cgi?id=20951
15060           Typo in Position::getInlineBoxAndOffset()
15061           and add an assertion
15063         Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
15065         * dom/Position.cpp:
15066         (WebCore::Position::getInlineBoxAndOffset):
15067         * rendering/InlineTextBox.cpp:
15068         (WebCore::InlineTextBox::positionForOffset):
15070 2008-09-19  David Hyatt  <hyatt@apple.com>
15072         Add support for hit testing of all five possible scrollbar button placements. 
15074         Reviewed by Sam Weinig
15076         * platform/ScrollbarThemeComposite.cpp:
15077         (WebCore::ScrollbarThemeComposite::paint):
15078         * platform/mac/ScrollbarThemeMac.mm:
15079         (WebCore::):
15080         (WebCore::ScrollbarThemeMac::backButtonRect):
15081         (WebCore::ScrollbarThemeMac::forwardButtonRect):
15082         (WebCore::ScrollbarThemeMac::trackRect):
15083         (WebCore::ScrollbarThemeMac::paintButton):
15085 2008-09-19  Darin Adler  <darin@apple.com>
15087         - try to fix Qt build
15089         * bridge/qt/qt_instance.cpp:
15090         (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
15091         (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
15092         * bridge/runtime_object.cpp:
15093         (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
15094         * bridge/runtime_object.h: Ditto.
15096 2008-09-19  Chris Marrin  <cmarrin@apple.com>
15098         Reviewed by Dave Hyatt.
15100         Transition starts running when it shouldn't
15101         https://bugs.webkit.org/show_bug.cgi?id=20892
15103         When there is a transition and an animation on the
15104         same element, make sure the animation wins.
15106         The fix is to save the unanimated style when an animation is started.
15107         Then, when starting a transition, check to see if there is a current
15108         animation on the same prop. If so, use the unanimated style as the
15109         fromStyle rather than the current style.
15111         Test: animations/transition-and-animation-1.html
15113         * page/animation/CompositeAnimation.cpp:
15114         (WebCore::CompositeAnimation::updateTransitions):
15115         (WebCore::CompositeAnimation::updateKeyframeAnimations):
15116         (WebCore::CompositeAnimation::animate):
15117         (WebCore::CompositeAnimation::getAnimationForProperty):
15118         * page/animation/CompositeAnimation.h:
15119         * page/animation/ImplicitAnimation.cpp:
15120         (WebCore::ImplicitAnimation::reset):
15121         * page/animation/ImplicitAnimation.h:
15122         * page/animation/KeyframeAnimation.cpp:
15123         (WebCore::KeyframeAnimation::hasAnimationForProperty):
15124         * page/animation/KeyframeAnimation.h:
15125         (WebCore::KeyframeAnimation::KeyframeAnimation):
15126         (WebCore::KeyframeAnimation::unanimatedStyle):
15128 2008-09-19  David Hyatt  <hyatt@apple.com>
15130         Add support for painting/hit testing of four possible scrollbar buttons.
15131         The Windows themes simply ignore the two parts that they will never
15132         show.  The Mac theme also ignores the other two buttons for now.
15134         The cross-platform base for all three themes, ScrollbarThemeComposite,
15135         has all the proper support though.
15137         Reviewed by Sam Weinig
15139         * platform/ScrollbarThemeComposite.cpp:
15140         (WebCore::ScrollbarThemeComposite::hitTest):
15141         (WebCore::ScrollbarThemeComposite::invalidatePart):
15142         * platform/ScrollbarThemeComposite.h:
15143         * platform/mac/ScrollbarThemeMac.h:
15144         * platform/mac/ScrollbarThemeMac.mm:
15145         (WebCore::ScrollbarThemeMac::backButtonRect):
15146         (WebCore::ScrollbarThemeMac::forwardButtonRect):
15147         (WebCore::ScrollbarThemeMac::paintButton):
15148         * platform/win/ScrollbarThemeSafari.cpp:
15149         (WebCore::ScrollbarThemeSafari::backButtonRect):
15150         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
15151         (WebCore::ScrollbarThemeSafari::paintButton):
15152         * platform/win/ScrollbarThemeSafari.h:
15153         * platform/win/ScrollbarThemeWin.cpp:
15154         (WebCore::ScrollbarThemeWin::backButtonRect):
15155         (WebCore::ScrollbarThemeWin::forwardButtonRect):
15156         (WebCore::ScrollbarThemeWin::paintButton):
15157         * platform/win/ScrollbarThemeWin.h:
15159 2008-09-19  Matt Lilek  <webkit@mattlilek.com>
15161         Reviewed by Tim Hatcher.
15163         Bug 17772: Inspector should support point-and-click to select a node to inspect
15164         https://bugs.webkit.org/show_bug.cgi?id=17772
15165         <rdar://problem/5792395>
15167         * English.lproj/localizedStrings.js:
15168         * page/Chrome.cpp:
15169         (WebCore::Chrome::mouseDidMoveOverElement):
15170         * page/EventHandler.cpp:
15171         (WebCore::EventHandler::handleMousePressEvent):
15172         * page/InspectorController.cpp:
15173         (WebCore::toggleNodeSearch):
15174         (WebCore::searchingForNode):
15175         (WebCore::InspectorController::InspectorController):
15176         (WebCore::InspectorController::toggleSearchForNodeInPage):
15177         (WebCore::InspectorController::mouseDidMoveOverElement):
15178         (WebCore::InspectorController::handleMousePressOnNode):
15179         (WebCore::InspectorController::windowScriptObjectAvailable):
15180         * page/InspectorController.h:
15181         (WebCore::InspectorController::searchingForNodeInPage):
15182         * page/inspector/ElementsPanel.js:
15183         * page/inspector/Images/nodeSearchButtons.png: Added.
15184         * page/inspector/inspector.css:
15186 2008-09-19  David Hyatt  <hyatt@apple.com>
15188         Add new scrollbar parts to be able to represent back and forward buttons
15189         at either end of the scrollbar.  The current scrollbar still just draws
15190         a single button at either end, but the parts now exist.
15192         Reviewed by Sam Weinig
15194         * platform/ScrollTypes.h:
15195         (WebCore::):
15196         * platform/Scrollbar.cpp:
15197         (WebCore::Scrollbar::autoscrollTimerFired):
15198         (WebCore::Scrollbar::pressedPartScrollDirection):
15199         (WebCore::Scrollbar::pressedPartScrollGranularity):
15200         (WebCore::Scrollbar::handleMouseMoveEvent):
15201         * platform/ScrollbarTheme.h:
15202         (WebCore::ScrollbarTheme::buttonsPlacement):
15203         (WebCore::ScrollbarTheme::invalidateParts):
15204         * platform/ScrollbarThemeComposite.cpp:
15205         (WebCore::ScrollbarThemeComposite::paint):
15206         (WebCore::ScrollbarThemeComposite::hitTest):
15207         (WebCore::ScrollbarThemeComposite::invalidatePart):
15208         * platform/ScrollbarThemeComposite.h:
15210 2008-09-19  Beth Dakin  <bdakin@apple.com>
15212         Reviewed by Dave Hyatt.
15214         Fix for <rdar://problem/6231308> crash in AutoTableLayout
15216         The code assumes later on that a TableSection's grid's row vector 
15217         will never be empty. So make 1 the minimum number of columns.
15219         * rendering/RenderTableSection.cpp:
15220         (WebCore::RenderTableSection::ensureRows):
15222 2008-09-19  David Hyatt  <hyatt@apple.com>
15224         Add a new ScrollbarButtonsPlacement type for specifying where
15225         the button arrows are in a scrollbar.
15227         Read in the placement settings for Mac.  Nothing is done with the
15228         setting yet.
15230         Add a new buttonsPlacement() method to ScrollbarTheme composite
15231         so that the arrow settings can be obtained.
15233         Reviewed by Sam Weinig
15235         * platform/ScrollTypes.h:
15236         (WebCore::):
15237         * platform/ScrollbarThemeComposite.h:
15238         (WebCore::ScrollbarThemeComposite::buttonsPlacement):
15239         * platform/mac/ScrollbarThemeMac.mm:
15240         (WebCore::updateArrowPlacement):
15241         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
15243 2008-09-19  Steve Falkenburg  <sfalken@apple.com>
15245         Roll out r36626. It is causing variance in SunSpider numbers on XP.
15246         
15247         Rubber stamped by Mark Rowe.
15249         * platform/win/SharedTimerWin.cpp:
15250         (WebCore::isRunningOnVistaOrLater):
15251         (WebCore::setSharedTimerFireTime):
15253 2008-09-19  Kevin McCullough  <kmccullough@apple.com>
15255         Reviewed by Tim.
15257         https://bugs.webkit.org/show_bug.cgi?id=20942
15258         Bug 20942: Repeated messages in resources don't collapse
15259         - Now repeated messages in a resource's view are collapsed and a message
15260         says how many were repeated.
15262         * English.lproj/localizedStrings.js:
15263         * manual-tests/inspector/multiple-console-messages.html:
15264         * page/inspector/Console.js: Send all the messages to the resource's
15265         view before possibly returning early if the message is a repeat.
15266         * page/inspector/SourceFrame.js: Add the text about the message being
15267         repeated, if it is, and increment it when necessary.
15269 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
15271         Removed unnecessary #if
15273         * page/mac/AccessibilityObjectWrapper.mm:
15275 2008-09-19  David Hyatt  <hyatt@apple.com>
15277         Read in prefs for the scroll delay repeat values for buttons.  Also
15278         honor the option-click pref for jumping to the thumb when clicking in
15279         the track.
15281         Reviewed by Sam Weinig
15283         * platform/mac/ScrollbarThemeMac.h:
15284         * platform/mac/ScrollbarThemeMac.mm:
15285         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
15286         (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
15287         (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
15288         (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
15290 2008-09-19  David Hyatt  <hyatt@apple.com>
15292         Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
15293         Set the initial button repeat delay to 0.5 for Mac.
15295         Reviewed by Sam Weinig
15297         * WebCore.xcodeproj/project.pbxproj:
15298         * platform/mac/ScrollbarThemeMac.cpp: Removed.
15299         * platform/mac/ScrollbarThemeMac.h:
15300         (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
15301         * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
15303 2008-09-19  Darin Adler  <darin@apple.com>
15305         Reviewed by Sam Weinig.
15307         - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
15308           make each distinct C++ class get a distinct JSC::Structure
15310           + Fixed all cases where we were using a shared structure for multiple
15311             C++ classes in WebCore. This still has to be done in JavaScriptCore.
15313           + Got rid of cacheGlobalObject.
15315           + Improved use of PassRefPtr in bindings code.
15317           + Removed a couple cases where we were potentially allocating prototypes
15318             inside a JSObject's construction process -- this can lead to trouble if
15319             we do a garbage collection while an object is only partly constructed.
15321         * bindings/js/JSAudioConstructor.cpp:
15322         (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
15323         so we don't implicitly share the structure with other objects that use the object
15324         prototype.
15326         * bindings/js/JSDOMBinding.cpp:
15327         (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
15328         don't need cacheGlobalObject any more.
15329         (WebCore::cacheDOMConstructor): Ditto.
15331         * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
15332         Added functions and a function template for getting cached DOM constructors.
15333         Removed cacheGlobalObject function template.
15335         * bindings/js/JSDOMWindowBase.cpp:
15336         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
15337         we're taking ownership.
15338         * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
15339         we're taking ownership. Added constructor map.
15340         * bindings/js/JSDOMWindowCustom.cpp:
15341         (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
15343         * bindings/js/JSDOMWindowShell.cpp:
15344         (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
15345         we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
15346         this is now done in only that one place.
15347         (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
15348         the passed-in DOMWindow. Code was moved here and changed to allocate unique
15349         structures for both the window prototype and the window.
15350         * bindings/js/JSDOMWindowShell.h: Ditto.
15352         * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
15353         have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
15354         private/friend in JSEventTargetBase. Removed comments referring to defunct
15355         macros. Changed JSEventTargetBasePrototype to get the prototype with the new
15356         rather than its own copy of cacheGlobalObject (I missed this during pass 1).
15357         Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
15359         * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
15360         for caching structures and prototypes.
15361         (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
15362         (WebCore::JSEventTargetNode::createPrototype): Added.
15363         * bindings/js/JSEventTargetNode.h: Updated for above changes.
15365         * bindings/js/JSHTMLAllCollection.h:
15366         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
15367         * bindings/js/JSHTMLCollectionCustom.cpp:
15368         (WebCore::getNamedItems): Pass ExecState instead of prototype.
15369         * bindings/js/JSHTMLFormElementCustom.cpp:
15370         (WebCore::JSHTMLFormElement::nameGetter): Ditto.
15371         * bindings/js/JSHTMLInputElementBase.cpp:
15372         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
15373         * bindings/js/JSHTMLInputElementBase.h: Ditto.
15374         * bindings/js/JSHTMLOptionElementConstructor.cpp:
15375         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
15376         Create a unique structure instead of sharing.
15377         * bindings/js/JSImageConstructor.cpp:
15378         (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
15380         * bindings/js/JSInspectedObjectWrapper.cpp:
15381         (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
15382         a prototype rather than a structure. Made the use of inheritorID() here
15383         explicit.
15384         * bindings/js/JSInspectedObjectWrapper.h: Ditto.
15385         * bindings/js/JSInspectorCallbackWrapper.cpp:
15386         (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
15387         * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
15389         * bindings/js/JSNamedNodesCollection.cpp:
15390         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
15391         take an ExecState argument instead of a prototype. Create a unique
15392         StructureID instead of sharing.
15393         * bindings/js/JSNamedNodesCollection.h: Ditto.
15395         * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
15396         constructor that takes a prototype instead of a structure.
15397         * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
15399         * bindings/js/JSRGBColor.cpp:
15400         (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
15401         prototype; create a unique structure.
15402         (WebCore::getJSRGBColor): Ditto.
15403         * bindings/js/JSRGBColor.h: Ditto.
15405         * bindings/js/JSSQLResultSetRowListCustom.cpp:
15406         (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
15407         of explicit coding the idiom for making a new object.
15409         * bindings/js/JSXMLHttpRequestConstructor.cpp:
15410         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
15411         Create a unique structure instead of the shared one.
15412         * bindings/js/JSXSLTProcessorConstructor.cpp:
15413         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
15414         Ditto.
15416         * bindings/js/ScriptController.cpp:
15417         (WebCore::ScriptController::clearWindowShell): Let the window shell's
15418         setWindow function create the JSDOMWindow instead of doing it here.
15420         * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
15421         the structure and the wrapped object when creating wrappers.
15422         Simplified some of the special cases for DOMWindow so they are
15423         different only in ways the need to be. Eliminated the
15424         JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
15425         functions. Moved responsibility for creating the structure and
15426         parent prototype out of the prototype constructor into the
15427         createPrototype function. Removed the unused "DoNotCache" flag for
15428         objects other than DOMWindow. Use getDOMConstructor instead of
15429         cacheGlobalObject for constructors. Make each constructor have
15430         a unique structure ID.
15432         * bridge/objc/objc_runtime.h: Added createPrototype and changed the
15433         name of the info member to s_info so we can use the standard DOM
15434         binding macros to handl the prototype.
15435         * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
15436         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
15437         Create a unique structure using getDOMStructure.
15439         * bridge/runtime_array.cpp: Fixed namespacing a bit.
15440         (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
15441         getDOMStructure.
15442         * bridge/runtime_array.h: Added createPrototype so getDOMStructure
15443         will work.
15445         * bridge/runtime_object.cpp:
15446         (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
15447         getDOMStructure.
15448         * bridge/runtime_object.h: Added createPrototype so getDOMStructure
15449         will work.
15451         * history/CachedPage.cpp:
15452         (WebCore::CachedPage::restore): Let the window shell's
15453         setWindow function create the JSDOMWindow instead of doing it here.
15455         * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
15457 2008-09-19  Dan Bernstein  <mitz@apple.com>
15459         Reviewed by Dave Hyatt.
15461         This optimization was suggested by Daniel Fenwick
15463         - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
15465         Specifying LTR paragraph directionality when measuring runs of RTL text
15466         resulted in typically two CTRuns being generated for every run instead
15467         of one, due to the leading space being reordered to the left.
15469         * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
15470         getCFStringAttributes() and changed m_CFStringAttributes from an array
15471         to a single value.
15472         * platform/graphics/mac/CoreTextController.cpp:
15473         (WebCore::CoreTextController::CoreTextController): Added a
15474         mayUseNaturalWritingDirection parameter.
15475         (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
15476         to force the bidi embedding level whenever 
15477         m_mayUseNaturalWritingDirectrion is false. Since this is now a common
15478         case, made the typesetter options dictionaries static.
15479         * platform/graphics/mac/CoreTextController.h:
15480         * platform/graphics/mac/FontMacCoreText.cpp:
15481         (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
15482         (WebCore::Font::floatWidthForComplexText): Changed to allow the
15483         CoreTextController to not set the writing direction.
15484         * platform/graphics/mac/SimpleFontDataMac.mm:
15485         (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
15486         parameter and the paragraph style attribute.
15488 2008-09-19  David Hyatt  <hyatt@apple.com>
15490         Reviewed by Sam Weinig
15492         https://bugs.webkit.org/show_bug.cgi?id=20941
15494         Incorrect height calculation for replaced element inside nested
15495         positioned elements (where the inner has a percentage height and
15496         the outer implicitly has a fixed height because of explicit top/bottom
15497         values).
15499         Added fast/block/positioning/replaced-inside-top-bottom.html
15501         * rendering/RenderBox.cpp:
15502         (WebCore::RenderBox::availableHeightUsing):
15504 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
15506         Fix Tiger bustage
15508         * page/mac/AccessibilityObjectWrapper.mm:
15510 2008-09-18  Chris Fleizach  <cfleizach@apple.com>
15512         Reviewed by Darin Adler.
15514         <rdar://problem/6211041> Expose legend tag in accessibility
15516         Exposes the legend tag as the titleUIElement of a fieldset
15518         Test: accessibility/legend.html
15520         * page/AccessibilityObject.h:
15521         (WebCore::AccessibilityObject::isFieldset):
15522         * page/AccessibilityRenderObject.cpp:
15523         (WebCore::AccessibilityRenderObject::isFieldset):
15524         (WebCore::AccessibilityRenderObject::titleUIElement):
15525         * page/AccessibilityRenderObject.h:
15526         * rendering/RenderFieldset.h:
15528 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
15530         Reviewed by Darin Adler.
15532         <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
15534         Implement a few AX API methods that will be called by AppKit, which will 
15535         speed up access to accessibility objects
15537         * page/mac/AccessibilityObjectWrapper.mm:
15538         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
15539         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
15540         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
15542 2008-09-19  Holger Hans Peter Freyther  <zecke@selfish.org>
15544         Reviewed by Simon Hausmann.
15546         [qtwebkit] Set the m_should* flags to their proper value on entry
15547         With plugins it was possible that we finished a job twice. This was
15548         some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
15549         setting the flag to (m_loadMode == LoadDeferred) they will always have
15550         the right value and we will not send responses twice.
15552         * platform/network/qt/QNetworkReplyHandler.cpp:
15554 2008-09-19  Holger Hans Peter Freyther  <zecke@selfish.org>
15556         Reviewed by Simon Hausmann.
15558         [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
15559         Handle text decoding errors before instructing the parser to parse. We
15560         have converted the text to QString and all encoding errors are gone and
15561         the parser will not be able to detect them. So handle them before parsing.
15563         * dom/XMLTokenizerQt.cpp:
15564         (WebCore::XMLTokenizer::doWrite):
15566 2008-09-18  Darin Adler  <darin@apple.com>
15568         Reviewed by Maciej Stachowiak.
15570         - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
15571           make each distinct C++ class get a distinct JSC::Structure
15573         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
15574         (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
15575         instead of DOMExceptionTranslator.
15577         * bindings/js/JSDOMBinding.cpp:
15578         (WebCore::getCachedDOMObjectWrapper): Updated function name.
15579         (WebCore::cacheDOMObjectWrapper): Ditto.
15580         (WebCore::forgetDOMObject): Ditto.
15581         (WebCore::getCachedDOMNodeWrapper): Ditto.
15582         (WebCore::forgetDOMNode): Ditto.
15583         (WebCore::cacheDOMNodeWrapper): Ditto.
15584         (WebCore::forgetAllDOMNodesForDocument): Ditto.
15585         (WebCore::markDOMNodesForDocument): Ditto.
15586         (WebCore::updateDOMNodeDocument): Ditto.
15587         (WebCore::getCachedDOMStructure): Added.
15588         (WebCore::createDOMStructure): Ditto.
15590         * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
15591         class and replace the static member functions with non-member
15592         functions. Added many other functions for getting at structures,
15593         prototypes, wrappers, and creating them. Also moved the
15594         cacheGlobalObject function here from JavaScriptCore; eventually
15595         I'll remove that once I get rid of the remaining callers. Also
15596         removed the DOMExceptionTranslator class.
15598         * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
15599         and put one of those maps in each window.
15601         * bindings/js/JSDOMWindowCustom.cpp:
15602         (WebCore::markDOMObjectWrapper): Updated for function name change.
15603         (WebCore::JSDOMWindow::mark): Added code to mark all the structures
15604         in the structure map.
15606         * bindings/js/JSEventTargetNode.cpp:
15607         (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
15608         a structure instead of a prototype.
15609         * bindings/js/JSEventTargetNode.h: Ditto.
15610         * bindings/js/JSHTMLAllCollection.h:
15611         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
15613         * bindings/js/JSHTMLInputElementBase.cpp:
15614         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
15615         use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
15616         structure instead of a prototype.
15617         * bindings/js/JSHTMLInputElementBase.h: Removed use of the
15618         JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
15619         to take a structure instead of a prototype. Created a dummy prototype
15620         class that causes the HTMLInputElement prototype to have the
15621         HTMLElement prototype.
15623         * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
15624         structures instead of prototypes. Changed the prototype self function
15625         to use the getDOMPrototype function -- later we can eliminate it and
15626         have callers invoke getDOMPrototype directly instead. Updated other
15627         functions that have name changes. Added code to generate the
15628         createPrototype member function. Changed use of cacheGlobalObject to
15629         get it from the WebCore namespace instead of the JSC namespace.
15630         Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
15632         * dom/Document.cpp:
15633         (WebCore::Document::~Document): Updated for name change and also
15634         removed unnecessary JSLock use -- there's no need to lock around this.
15635         * dom/Node.cpp:
15636         (WebCore::Node::setDocument): Ditto.
15638         * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
15639         instead of calling new directly.
15641         * bindings/js/JSCSSRuleCustom.cpp:
15642         (WebCore::toJS): Updated for function name changes and used the
15643         CREATE_DOM_OBJECT_WRAPPER macro.
15644         * bindings/js/JSCSSValueCustom.cpp:
15645         (WebCore::toJS): Ditto.
15646         * bindings/js/JSCanvasPixelArrayCustom.cpp:
15647         (WebCore::toJS): Ditto.
15648         * bindings/js/JSDocumentCustom.cpp:
15649         (WebCore::JSDocument::mark): Ditto.
15650         (WebCore::toJS): Ditto.
15651         * bindings/js/JSElementCustom.cpp:
15652         (WebCore::toJSNewlyCreated): Ditto.
15653         * bindings/js/JSEventCustom.cpp:
15654         (WebCore::toJS): Ditto.
15655         * bindings/js/JSEventTargetBase.cpp:
15656         (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
15657         of DOMExceptionTranslator.
15658         (WebCore::toJS): Updated for function name changes and used the
15659         CREATE_DOM_OBJECT_WRAPPER macro.
15660         * bindings/js/JSHTMLCollectionCustom.cpp:
15661         (WebCore::toJS): Ditto.
15662         * bindings/js/JSNodeCustom.cpp:
15663         (WebCore::JSNode::mark): Ditto.
15664         (WebCore::createWrapper): Ditto.
15665         (WebCore::toJS): Ditto.
15666         * bindings/js/JSSVGPathSegCustom.cpp:
15667         (WebCore::toJS): Ditto.
15668         * bindings/js/JSStyleSheetCustom.cpp:
15669         (WebCore::toJS): Ditto.
15670         (WebCore::JSStyleSheet::mark): Ditto.
15671         * bindings/js/JSTextCustom.cpp:
15672         (WebCore::toJSNewlyCreated): Ditto.
15673         * bindings/js/JSXMLHttpRequestConstructor.cpp:
15674         (WebCore::constructXMLHttpRequest): Ditto.
15675         * bindings/js/JSXMLHttpRequestCustom.cpp:
15676         (WebCore::JSXMLHttpRequest::mark): Ditto.
15677         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
15678         (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
15679         * bindings/js/JSXSLTProcessorConstructor.cpp:
15680         (WebCore::constructXSLTProcessor): Ditto.
15681         * bindings/js/ScriptController.cpp:
15682         (WebCore::ScriptController::finishedWithEvent): Ditto.
15683         * xml/XMLHttpRequest.cpp:
15684         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
15685         (WebCore::XMLHttpRequest::dropProtection): Ditto.
15687 2008-09-18  David Hyatt  <hyatt@apple.com>
15689         This patch gets a viewless scrollbar working on Mac. It is turned off
15690         by default.  Hit testing works.  For now the scrollbar just paints ugly
15691         debug rects in the place of the buttons, track and thumb.  It does match
15692         Aqua metrics though.
15694         Reviewed by Sam Weinig
15696         * WebCore.xcodeproj/project.pbxproj:
15697         * page/mac/EventHandlerMac.mm:
15698         (WebCore::EventHandler::passMousePressEventToScrollbar):
15699         * platform/ScrollbarThemeComposite.cpp:
15700         (WebCore::ScrollbarThemeComposite::paint):
15701         (WebCore::ScrollbarThemeComposite::trackPosition):
15702         * platform/ScrollbarThemeComposite.h:
15703         * platform/mac/ScrollViewMac.mm:
15704         (WebCore::ScrollView::addChild):
15705         * platform/mac/ScrollbarThemeMac.cpp:
15706         (WebCore::):
15707         (WebCore::ScrollbarThemeMac::hasButtons):
15708         (WebCore::ScrollbarThemeMac::hasThumb):
15709         (WebCore::buttonRepaintRect):
15710         (WebCore::ScrollbarThemeMac::backButtonRect):
15711         (WebCore::ScrollbarThemeMac::forwardButtonRect):
15712         (WebCore::trackRepaintRect):
15713         (WebCore::ScrollbarThemeMac::trackRect):
15714         (WebCore::ScrollbarThemeMac::minimumThumbLength):
15715         (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
15716         (WebCore::ScrollbarThemeMac::paintTrack):
15717         (WebCore::ScrollbarThemeMac::paintButton):
15718         (WebCore::ScrollbarThemeMac::paintThumb):
15719         * platform/mac/ScrollbarThemeMac.h:
15720         (WebCore::ScrollbarThemeMac::supportsControlTints):
15721         * platform/qt/ScrollbarThemeQt.cpp:
15722         (WebCore::ScrollbarThemeQt::trackPosition):
15724 2008-09-18  Collin Jackson  <collinj@webkit.org>
15726         Build fix; added missing header file to GNUmakefile.am
15728         * GNUmakefile.am:
15730 2008-09-18  Sam Weinig  <sam@webkit.org>
15732         Reviewed by David "the Hair" Hyatt.
15734         Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
15736         * GNUmakefile.am:
15737         * WebCore.pro:
15738         * WebCore.vcproj/WebCore.vcproj:
15739         * WebCore.xcodeproj/project.pbxproj:
15740         * rendering/DataRef.h: Removed.
15741         * rendering/SVGRenderStyle.cpp: Removed.
15742         * rendering/SVGRenderStyle.h: Removed.
15743         * rendering/SVGRenderStyleDefs.cpp: Removed.
15744         * rendering/SVGRenderStyleDefs.h: Removed.
15745         * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
15746         * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
15747         * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
15748         * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
15749         * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
15751 2008-09-18  Mark Rowe  <mrowe@apple.com>
15753         Reviewed by Dan Bernstein.
15755         Add a means of clearing a FrameTree's name.
15757         * WebCore.base.exp:
15758         * page/FrameTree.cpp:
15759         (WebCore::FrameTree::clearName):
15760         * page/FrameTree.h:
15762 2008-09-18  David Hyatt  <hyatt@apple.com>
15764         Eliminate addToSuperview from Widget, since it was only called
15765         by ScrollViewMac's addChild method.  Just shift the original body
15766         of addToSuperView into addChild.
15768         Reviewed by Sam Weinig
15770         * platform/Widget.h:
15771         * platform/mac/ScrollViewMac.mm:
15772         (WebCore::ScrollView::addChild):
15773         * platform/mac/WidgetMac.mm:
15775 2008-09-18  Collin Jackson  <collinj@webkit.org>
15777         Reviewed by Antti Koivisto and Mark Rowe.
15779         Test: http/tests/misc/dns-prefetch-control.html
15781         https://bugs.webkit.org/show_bug.cgi?id=20690
15783         Invoke WebCore::prefetchDNS() on host names that appear in
15784         in the href of hyperlinks and <link rel="dns-prefetch">. This 
15785         can be used to implement DNS prefetching.
15787         * WebCore.vcproj/WebCore.vcproj:
15788         * WebCore.xcodeproj/project.pbxproj:
15789         * dom/Document.cpp:
15790         (WebCore::Document::Document):
15791         (WebCore::Document::processHttpEquiv):
15792         (WebCore::Document::setSecurityOrigin):
15793         (WebCore::Document::initDNSPrefetch):
15794         (WebCore::Document::parseDNSPrefetchControlHeader):
15795         * dom/Document.h:
15796         (WebCore::Document::isDNSPrefetchEnabled):
15797         * html/HTMLAnchorElement.cpp:
15798         (WebCore::HTMLAnchorElement::parseMappedAttribute):
15799         * html/HTMLLinkElement.cpp:
15800         (WebCore::HTMLLinkElement::HTMLLinkElement):
15801         (WebCore::HTMLLinkElement::parseMappedAttribute):
15802         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
15803         (WebCore::HTMLLinkElement::process):
15804         * html/HTMLLinkElement.h:
15805         * html/PreloadScanner.cpp:
15806         (WebCore::PreloadScanner::processAttribute):
15807         * loader/FrameLoader.cpp:
15808         (WebCore::FrameLoader::begin):
15809         * platform/gtk/TemporaryLinkStubs.cpp:
15810         (WebCore::prefetchDNS):
15811         * platform/network/DNS.h: Added.
15812         * platform/network/cf/DNSCFNet.cpp: Added.
15813         (WebCore::prefetchDNS):
15814         * platform/qt/TemporaryLinkStubs.cpp:
15815         (WebCore::prefetchDNS):
15816         * platform/wx/TemporaryLinkStubs.cpp:
15817         (WebCore::prefetchDNS):
15819 2008-09-18  David Hyatt  <hyatt@apple.com>
15821         Eliminate the convertToScreenCoordinate method on Widget, since
15822         ScrollView has redundant methods that already do the same thing.
15824         Reviewed by Sam Weinig
15826         * editing/mac/SelectionControllerMac.mm:
15827         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
15828         * platform/Widget.h:
15829         * platform/mac/WidgetMac.mm:
15830         (WebCore::Widget::containingWindow):
15832 2008-09-18  David Hyatt  <hyatt@apple.com>
15834         Move to only one constructor for Widgets.  Rename data to m_data and make
15835         it have an #ifdef only for platforms that have platform-specific data (Mac
15836         and Gtk).
15838         Reviewed by Sam Weinig
15840         * WebCore.base.exp:
15841         * platform/Widget.cpp:
15842         (WebCore::Widget::init):
15843         * platform/Widget.h:
15844         * platform/gtk/WidgetGtk.cpp:
15845         (WebCore::Widget::Widget):
15846         (WebCore::Widget::~Widget):
15847         (WebCore::Widget::cursor):
15848         (WebCore::Widget::setCursor):
15849         * platform/mac/WidgetMac.mm:
15850         (WebCore::Widget::Widget):
15851         (WebCore::Widget::~Widget):
15852         (WebCore::Widget::addToSuperview):
15853         (WebCore::Widget::removeFromSuperview):
15854         (WebCore::Widget::beforeMouseDown):
15855         (WebCore::Widget::afterMouseDown):
15856         * platform/qt/WidgetQt.cpp:
15857         (WebCore::Widget::Widget):
15858         * platform/win/WidgetWin.cpp:
15859         (WebCore::Widget::Widget):
15860         * platform/wx/WidgetWx.cpp:
15861         (WebCore::Widget::Widget):
15863 2008-09-18  David Hyatt  <hyatt@apple.com>
15865         Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
15866         was no reason for it to be on Widget.  This change eliminates Qt ifdefs
15867         from Widget.
15869         Reviewed by Sam Weinig
15871         * bindings/js/ScriptControllerQt.cpp:
15872         (WebCore::ScriptController::createScriptInstanceForWidget):
15873         * platform/qt/WidgetQt.cpp:
15874         (WebCore::WidgetPrivate::WidgetPrivate):
15875         (WebCore::WidgetPrivate::~WidgetPrivate):
15876         (WebCore::Widget::Widget):
15877         (WebCore::Widget::~Widget):
15878         * plugins/PluginView.cpp:
15879         (WebCore::PluginView::PluginView):
15880         * plugins/PluginView.h:
15881         (WebCore::PluginView::isNPAPIPlugin):
15882         (WebCore::PluginView::setIsNPAPIPlugin):
15884 2008-09-18  David Hyatt  <hyatt@apple.com>
15886         Make geometryChanged() cross-platform on Widget.  GTK and WIN platform
15887         ifdefs are now gone from Widget!
15889         Reviewed by Sam Weinig
15891         * platform/Widget.h:
15892         (WebCore::Widget::geometryChanged):
15893         * platform/gtk/WidgetGtk.cpp:
15894         * platform/qt/WidgetQt.cpp:
15896 2008-09-18  David Hyatt  <hyatt@apple.com>
15898         Consolidate convertTo/FromContainingWindow methods so that all platforms
15899         but Mac share the same code.
15901         Move convertSelfToChild and convertChildToSelf to ScrollView, since
15902         Widget should know nothing about children.  Make the methods cross-platform
15903         on ScrollView.
15905         Reviewed by Sam Weinig
15907         * platform/ScrollView.h:
15908         (WebCore::ScrollView::convertChildToSelf):
15909         (WebCore::ScrollView::convertSelfToChild):
15910         * platform/Widget.cpp:
15911         (WebCore::Widget::convertToContainingWindow):
15912         (WebCore::Widget::convertFromContainingWindow):
15913         * platform/Widget.h:
15914         (WebCore::Widget::geometryChanged):
15915         * platform/gtk/ScrollViewGtk.cpp:
15916         (WebCore::ScrollView::isScrollViewScrollbar):
15917         * platform/gtk/WidgetGtk.cpp:
15918         * platform/mac/ScrollViewMac.mm:
15919         (WebCore::ScrollView::isScrollViewScrollbar):
15920         * platform/mac/WidgetMac.mm:
15921         * platform/qt/ScrollViewQt.cpp:
15922         (WebCore::ScrollView::isScrollViewScrollbar):
15923         * platform/qt/WidgetQt.cpp:
15924         * platform/win/ScrollViewWin.cpp:
15925         (WebCore::ScrollView::isScrollViewScrollbar):
15926         * platform/win/WidgetWin.cpp:
15928 2008-09-18  David Hyatt  <hyatt@apple.com>
15930         Make the conversion methods that go to and from some containingWindow
15931         cross-platform.  Implement them on Mac.
15933         Reviewed by Sam Weinig
15935         * platform/Widget.h:
15936         (WebCore::Widget::setContainingWindow):
15937         * platform/mac/WidgetMac.mm:
15938         (WebCore::Widget::convertFromContainingWindow):
15939         (WebCore::Widget::convertToContainingWindow):
15941 2008-09-18  Sam Weinig  <sam@webkit.org>
15943         Rubber-stamped by David "Yeah-yeah" Hyatt.
15945         Cleanup RenderStyle.
15947         * WebCore.xcodeproj/project.pbxproj:
15948         * rendering/style/CounterContent.h:
15949         * rendering/style/RenderStyle.cpp:
15950         * rendering/style/RenderStyle.h:
15952 2008-09-18  Chris Marrin  <cmarrin@apple.com>
15954         Reviewed by Sam Weinig
15956         Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
15957         Now TransformOperations and AnimationList no longer
15958         inherit from Vector<> but rather have API to access.
15960         * css/CSSComputedStyleDeclaration.cpp:
15961         (WebCore::computedTransform):
15962         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
15963         * css/CSSStyleSelector.cpp:
15964         (WebCore::CSSStyleSelector::createTransformOperations):
15965         * page/animation/AnimationBase.cpp:
15966         (WebCore::blendFunc):
15967         * page/animation/CompositeAnimation.cpp:
15968         (WebCore::CompositeAnimation::updateTransitions):
15969         (WebCore::CompositeAnimation::updateKeyframeAnimations):
15970         (WebCore::CompositeAnimation::animate):
15971         * page/animation/ImplicitAnimation.cpp:
15972         (WebCore::ImplicitAnimation::validateTransformFunctionList):
15973         * page/animation/KeyframeAnimation.cpp:
15974         (WebCore::KeyframeAnimation::validateTransformFunctionList):
15975         * rendering/RenderLayer.cpp:
15976         (WebCore::RenderLayer::updateReflectionStyle):
15977         * rendering/style/AnimationList.cpp:
15978         (WebCore::AnimationList::operator==):
15979         * rendering/style/AnimationList.h:
15980         (WebCore::AnimationList::operator!=):
15981         (WebCore::AnimationList::size):
15982         (WebCore::AnimationList::isEmpty):
15983         (WebCore::AnimationList::resize):
15984         (WebCore::AnimationList::remove):
15985         (WebCore::AnimationList::append):
15986         (WebCore::AnimationList::animation):
15987         * rendering/style/RenderStyle.cpp:
15988         (WebCore::StyleRareNonInheritedData::updateKeyframes):
15989         (WebCore::RenderStyle::applyTransform):
15990         (WebCore::RenderStyle::adjustAnimations):
15991         (WebCore::RenderStyle::adjustTransitions):
15992         (WebCore::RenderStyle::transitionForProperty):
15993         * rendering/style/RenderStyle.h:
15994         (WebCore::RenderStyle::hasTransform):
15995         * rendering/style/TransformOperations.cpp:
15996         (WebCore::TransformOperations::TransformOperations):
15997         (WebCore::TransformOperations::operator==):
15998         * rendering/style/TransformOperations.h:
15999         (WebCore::TransformOperations::apply):
16000         (WebCore::TransformOperations::operations):
16002 2008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
16004         Build fix.
16006         [qt] Build fixes after the Widget/ScrollView cleanup
16007         topLevel() is now root()
16010         * platform/qt/ScrollViewQt.cpp:
16011         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
16012         (WebCore::ScrollView::addChild):
16013         (WebCore::ScrollView::removeChild):
16015 2008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
16017         Reviewed by Mark Rowe.
16019         https://bugs.webkit.org/show_bug.cgi?id=20437
16021         XMLTokenizer.cpp used to contain two different implementations. One was using
16022         libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
16023         separating the two implementations from each other.
16024         Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
16025         was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
16026         XMLTokenizerLibxml2.cpp. There should be no functional changes.
16028         Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
16029         to work.
16031         * GNUmakefile.am:
16032         * WebCore.pro:
16033         * WebCore.vcproj/WebCore.vcproj:
16034         * WebCore.xcodeproj/project.pbxproj:
16035         * WebCoreSources.bkl:
16036         * dom/XMLTokenizer.cpp:
16037         (WebCore::isScriptElement):
16038         (WebCore::castToScriptElement):
16039         (WebCore::XMLTokenizer::setCurrentNode):
16040         (WebCore::XMLTokenizer::write):
16041         (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
16042         (WebCore::XMLTokenizer::enterText):
16043         (WebCore::toString):
16044         (WebCore::XMLTokenizer::exitText):
16045         (WebCore::XMLTokenizer::end):
16046         (WebCore::XMLTokenizer::insertErrorMessageBlock):
16047         * dom/XMLTokenizer.h:
16048         (WebCore::XMLTokenizer::wellFormed):
16049         * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
16050         (WebCore::createMemoryParser):
16051         (WebCore::XMLTokenizer::XMLTokenizer):
16052         (WebCore::XMLTokenizer::~XMLTokenizer):
16053         (WebCore::XMLTokenizer::doWrite):
16054         (WebCore::ignorableWhitespaceHandler):
16055         (WebCore::XMLTokenizer::initializeParserContext):
16056         (WebCore::XMLTokenizer::doEnd):
16057         (WebCore::XMLTokenizer::lineNumber):
16058         (WebCore::XMLTokenizer::columnNumber):
16059         (WebCore::XMLTokenizer::stopParsing):
16060         (WebCore::XMLTokenizer::resumeParsing):
16061         (WebCore::parseXMLDocumentFragment):
16062         (WebCore::attributesStartElementNsHandler):
16063         (WebCore::parseAttributes):
16064         * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
16065         (WebCore::EntityResolver::resolveUndeclaredEntity):
16066         (WebCore::XMLTokenizer::XMLTokenizer):
16067         (WebCore::XMLTokenizer::~XMLTokenizer):
16068         (WebCore::XMLTokenizer::doWrite):
16069         (WebCore::XMLTokenizer::initializeParserContext):
16070         (WebCore::XMLTokenizer::doEnd):
16071         (WebCore::XMLTokenizer::lineNumber):
16072         (WebCore::XMLTokenizer::columnNumber):
16073         (WebCore::XMLTokenizer::stopParsing):
16074         (WebCore::XMLTokenizer::resumeParsing):
16075         (WebCore::parseXMLDocumentFragment):
16076         (WebCore::attributesStartElementNsHandler):
16077         (WebCore::parseAttributes):
16078         (WebCore::):
16080 2008-09-18  Beth Dakin  <bdakin@apple.com>
16082         Reviewed by Geoff Garen.
16084         Build fix for non-Mac builds.
16086         * css/CSSPrimitiveValue.cpp:
16087         (WebCore::CSSPrimitiveValue::cssText):
16089 2008-09-18  Peter Kasting  <pkasting@google.com>
16091         Reviewed by hyatt.  Landed by eseidel.
16093         https://bugs.webkit.org/show_bug.cgi?id=20745
16094         Animated GIFs do not animate properly with (at least) CG.
16096         * WebCore\platform\graphics\BitmapImage.cpp:
16097         * WebCore\platform\graphics\BitmapImage.h:
16098         * WebCore\platform\graphics\cairo\ImageCairo.cpp:
16099         * WebCore\platform\graphics\cg\ImageCG.cpp:
16100         * WebCore\platform\graphics\qt\ImageQt.cpp:
16101         * WebCore\platform\graphics\wx\ImageWx.cpp:
16103 2008-09-18  Chris Fleizach  <cfleizach@apple.com>
16105         Reviewed by Beth Dakin
16107         <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA 
16108         role specifies otherwise
16110         If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
16112         Test: accessibility/table-with-aria-role.html
16114         * page/AccessibilityTable.cpp:
16115         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
16116         (WebCore::AccessibilityTable::addChildren):
16117         (WebCore::AccessibilityTable::roleValue):
16118         (WebCore::AccessibilityTable::accessibilityIsIgnored):
16119         (WebCore::AccessibilityTable::title):
16120         * page/AccessibilityTableCell.cpp:
16121         (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
16122         (WebCore::AccessibilityTableCell::isTableCell):
16123         (WebCore::AccessibilityTableCell::roleValue):
16124         * page/AccessibilityTableCell.h:
16125         * page/AccessibilityTableRow.cpp:
16126         (WebCore::AccessibilityTableRow::roleValue):
16127         (WebCore::AccessibilityTableRow::isTableRow):
16128         (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
16129         * page/AccessibilityTableRow.h:
16131 2008-09-18  Steve Falkenburg  <sfalken@apple.com>
16133         Use higher-resolution timers on all variants of Windows.
16134         
16135         Reviewed by Darin Adler.
16137         * platform/win/SharedTimerWin.cpp:
16138         (WebCore::setSharedTimerFireTime):
16141 2008-09-18  David Hyatt  <hyatt@apple.com>
16143         Make containingWindow() and setContainingWindow() cross-platform.
16144         Add a root() function cross-platform so Qt doesn't have to
16145         define its own.
16147         Reviewed by Darin Adler
16149         * platform/Widget.cpp:
16150         (WebCore::Widget::root):
16151         * platform/Widget.h:
16152         (WebCore::Widget::setContainingWindow):
16153         * platform/gtk/WidgetGtk.cpp:
16154         (WebCore::Widget::Widget):
16155         (WebCore::Widget::containingWindow):
16156         * platform/mac/ScrollViewMac.mm:
16157         (WebCore::ScrollView::addChild):
16158         (WebCore::ScrollView::removeChild):
16159         * platform/mac/WidgetMac.mm:
16160         (WebCore::Widget::containingWindow):
16161         * platform/qt/WidgetQt.cpp:
16162         (WebCore::Widget::invalidateRect):
16163         (WebCore::Widget::containingWindow):
16164         * platform/win/WidgetWin.cpp:
16165         (WebCore::Widget::Widget):
16166         (WebCore::Widget::~Widget):
16167         (WebCore::Widget::containingWindow):
16169 2008-09-18  Beth Dakin  <bdakin@apple.com>
16171         Reviewed by Dave Hyatt.
16173         Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon 
16174         parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
16175         dashboard-region=
16176         and corresponding: <rdar://problem/6174100>
16178         This patch makes CSSParserValue::createCSSValue handle unknown 
16179         identifiers.
16181         * css/CSSParserValues.cpp:
16182         (WebCore::CSSParserValue::createCSSValue): If we have an identifier 
16183         with no id (an unknown identifier) create a CSSPrimitiveValue of 
16184         type CSS_PARSER_IDENTIFIER
16185         * css/CSSPrimitiveValue.cpp:
16186         (WebCore::CSSPrimitiveValue::cssText):
16187         (WebCore::CSSPrimitiveValue::parserValue):
16188         * css/CSSPrimitiveValue.h:
16189         (WebCore::CSSPrimitiveValue::):
16191 2008-09-18  Sam Weinig  <sam@webkit.org>
16193         Rubber-stamped by David "I'd prefer not" Hyatt.
16195         More the remaining class out of RenderStyle.h/cpp
16197         * GNUmakefile.am:
16198         * WebCore.pro:
16199         * WebCore.vcproj/WebCore.vcproj:
16200         * WebCore.xcodeproj/project.pbxproj:
16201         * WebCoreSources.bkl:
16202         * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
16203         (WebCore::CursorData::CursorData):
16204         (WebCore::CursorData::operator==):
16205         (WebCore::CursorData::operator!=):
16206         * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
16207         (WebCore::CursorList::operator[]):
16208         (WebCore::CursorList::CursorList):
16209         * rendering/style/RenderStyle.cpp:
16210         * rendering/style/RenderStyle.h:
16211         (WebCore::RenderStyle::deref):
16212         (WebCore::RenderStyle::hasOneRef):
16213         (WebCore::RenderStyle::InheritedFlags::operator!=):
16214         (WebCore::RenderStyle::NonInheritedFlags::operator!=):
16215         (WebCore::RenderStyle::hasBackground):
16216         (WebCore::RenderStyle::outlineWidth):
16217         (WebCore::RenderStyle::autoWrap):
16218         (WebCore::RenderStyle::preserveNewline):
16219         (WebCore::RenderStyle::collapseWhiteSpace):
16220         (WebCore::RenderStyle::isCollapsibleWhiteSpace):
16221         (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
16222         (WebCore::RenderStyle::breakWords):
16223         (WebCore::RenderStyle::outlineOffset):
16224         (WebCore::RenderStyle::setLeft):
16225         (WebCore::RenderStyle::setRight):
16226         (WebCore::RenderStyle::setTop):
16227         (WebCore::RenderStyle::setBottom):
16228         (WebCore::RenderStyle::setDashboardRegion):
16229         (WebCore::RenderStyle::setBackgroundColor):
16230         (WebCore::RenderStyle::setBorderImage):
16231         (WebCore::RenderStyle::setBorderRadius):
16232         (WebCore::RenderStyle::setFontDescription):
16233         (WebCore::RenderStyle::adjustBackgroundLayers):
16234         (WebCore::RenderStyle::adjustMaskLayers):
16235         (WebCore::RenderStyle::deleteBindingURIs):
16236         (WebCore::RenderStyle::inheritBindingURIs):
16237         (WebCore::RenderStyle::isDisplayReplacedType):
16238         (WebCore::RenderStyle::isDisplayInlineType):
16239         (WebCore::RenderStyle::isOriginalDisplayInlineType):
16240         * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
16241         * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
16242         (WebCore::StyleInheritedData::operator!=):
16243         * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
16244         * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
16245         (WebCore::StyleRareInheritedData::operator!=):
16246         * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
16247         * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
16248         * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
16250 2008-09-18  David Hyatt  <hyatt@apple.com>
16252         Move the concept of suppression invalidation on Widgets to Scrollbar
16253         instead.  Since this is only used by Scrollbars, there is no need for
16254         it to be on Widget.
16256         Reviewed by Sam Weinig
16258         * platform/Scrollbar.cpp:
16259         (WebCore::Scrollbar::Scrollbar):
16260         (WebCore::Scrollbar::invalidateRect):
16261         * platform/Scrollbar.h:
16262         (WebCore::Scrollbar::suppressInvalidation):
16263         (WebCore::Scrollbar::setSuppressInvalidation):
16264         * platform/Widget.h:
16265         * platform/gtk/WidgetGtk.cpp:
16266         (WebCore::Widget::Widget):
16267         (WebCore::Widget::invalidateRect):
16268         * platform/qt/WidgetQt.cpp:
16269         (WebCore::WidgetPrivate::WidgetPrivate):
16270         (WebCore::Widget::invalidateRect):
16271         * platform/win/WidgetWin.cpp:
16272         (WebCore::Widget::Widget):
16273         (WebCore::Widget::invalidateRect):
16275 2008-09-18  David Hyatt  <hyatt@apple.com>
16277         Make invalidate() on Widget non-virtual and make it just call
16278         invalidateRect() on the boundsGeometry() of the Widget.
16280         Reviewed by Dan Bernstein
16282         * platform/Widget.h:
16283         (WebCore::Widget::boundsGeometry):
16284         (WebCore::Widget::invalidate):
16285         * platform/gtk/WidgetGtk.cpp:
16286         * platform/mac/WidgetMac.mm:
16287         * platform/qt/WidgetQt.cpp:
16288         * platform/win/WidgetWin.cpp:
16289         * platform/wx/WidgetWx.cpp:
16291 2008-09-18  Sam Weinig  <sam@webkit.org>
16293         Rubber-stamped in exile by David Hyatt.
16295         Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
16296         KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
16297         RenderStyle.h/cpp
16299         * GNUmakefile.am:
16300         * WebCore.pro:
16301         * WebCore.vcproj/WebCore.vcproj:
16302         * WebCore.xcodeproj/project.pbxproj:
16303         * WebCoreSources.bkl:
16304         * css/CSSStyleSelector.cpp:
16305         * css/CSSStyleSelector.h:
16306         * page/animation/CompositeAnimation.cpp:
16307         * page/animation/KeyframeAnimation.cpp:
16308         * page/animation/KeyframeAnimation.h:
16309         * rendering/RenderCounter.h:
16310         * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
16311         (WebCore::Animation::~Animation):
16312         (WebCore::Animation::animationsMatch):
16313         (WebCore::Animation::keyframeList):
16314         (WebCore::Animation::setAnimationKeyframe):
16315         * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
16316         * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
16317         * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
16318         * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
16319         * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
16320         (WebCore::BindingURI::operator!=):
16321         * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
16322         * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
16323         (WebCore::ContentData::ContentData):
16324         (WebCore::ContentData::~ContentData):
16325         * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
16326         (WebCore::CounterContent::CounterContent):
16327         * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
16328         * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
16329         (WebCore::CounterDirectives::CounterDirectives):
16330         * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
16331         (WebCore::KeyframeList::insert):
16332         * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
16333         (WebCore::KeyframeValue::KeyframeValue):
16334         (WebCore::KeyframeList::create):
16335         (WebCore::KeyframeList::KeyframeList):
16336         * rendering/style/RenderStyle.cpp:
16337         * rendering/style/RenderStyle.h:
16338         * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
16339         * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
16340         (WebCore::ShadowData::ShadowData):
16341         (WebCore::ShadowData::~ShadowData):
16342         (WebCore::ShadowData::operator!=):
16343         * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
16344         * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
16345         (WebCore::StyleFlexibleBoxData::operator!=):
16346         * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
16347         (WebCore::TimingFunction::TimingFunction):
16348         (WebCore::TimingFunction::operator==):
16350 2008-09-18  Adele Peterson  <adele@apple.com>
16352         Reviewed by Dan Bernstein.
16354         Fix RenderStyle leaks.
16356         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
16358 2008-09-18  Kevin McCullough  <kmccullough@apple.com>
16360         Accidentally checked in code.
16362         * html/HTMLElementFactory.cpp:
16363         (WebCore::frameConstructor):
16364         (WebCore::iframeConstructor):
16366 2008-09-18  Kevin McCullough  <kmccullough@apple.com>
16368         Reviewed by Tim.
16370         <rdar://problem/5722310> gracefully handle too many console messages
16371         (20904)
16372         - Keep track of the most previous message and then compare it to the 
16373         subsequent messages as they come in.  If there are multiple of the same
16374         message create a count that indicates the current number.
16376         * manual-tests/inspector/multiple-console-messages.html: Added.
16377         * page/inspector/Console.js:
16378         * page/inspector/inspector.css:
16380 2008-09-18  Jonathon Jongsma  <jonathon@quotidian.org>
16382         Reviewed by Alp Toker
16384         https://bugs.webkit.org/show_bug.cgi?id=20830
16385         [GTK] Don't use deprecated pango API
16387         Replace deprecated pango functions with non-deprecated ones for newer
16388         versions of pango
16390         * platform/graphics/gtk/FontGtk.cpp:
16391         (WebCore::getDefaultPangoLayout):
16392         * platform/graphics/gtk/FontPlatformDataPango.cpp:
16393         (WebCore::FontPlatformData::FontPlatformData):
16395 2008-09-18  Alp Toker  <alp@nuanti.com>
16397         Build fix for r36587. Add new sources (and sort the lists).
16399         * GNUmakefile.am:
16401 2008-09-17  Sam Weinig  <sam@webkit.org>
16403         Fix Windows build.
16405         * WebCore.vcproj/WebCore.vcproj:
16407 2008-09-17  David Hyatt  <hyatt@apple.com>
16409         Switch back to having frameGeometry be virtual in order to keep Mac
16410         the way it used to be.
16412         Reviewed by Sam Weinig
16414         * WebCore.base.exp:
16415         * platform/Widget.cpp:
16416         (WebCore::Widget::setParent):
16417         * platform/Widget.h:
16418         * platform/gtk/WidgetGtk.cpp:
16419         (WebCore::Widget::frameGeometry):
16420         (WebCore::Widget::setFrameGeometry):
16421         * platform/mac/WidgetMac.mm:
16422         (WebCore::Widget::frameGeometry):
16423         (WebCore::Widget::setFrameGeometry):
16424         * platform/qt/WidgetQt.cpp:
16425         (WebCore::Widget::frameGeometry):
16426         (WebCore::Widget::setFrameGeometry):
16427         * platform/win/WidgetWin.cpp:
16428         (WebCore::Widget::frameGeometry):
16429         (WebCore::Widget::setFrameGeometry):
16430         * platform/wx/WidgetWx.cpp:
16431         (WebCore::Widget::frameGeometry):
16432         (WebCore::Widget::setFrameGeometry):
16433         * plugins/PluginView.cpp:
16434         (WebCore::PluginView::setFrameGeometry):
16435         (WebCore::PluginView::geometryChanged):
16436         * plugins/PluginView.h:
16437         * plugins/gtk/PluginViewGtk.cpp:
16438         (WebCore::PluginView::updatePluginWidget):
16439         * plugins/qt/PluginViewQt.cpp:
16440         (WebCore::PluginView::updatePluginWidget):
16441         * plugins/win/PluginViewWin.cpp:
16442         (WebCore::PluginView::updatePluginWidget):
16444 2008-09-17  Sam Weinig  <sam@webkit.org>
16446         Reviewed by Mark Rowe.
16448         Fix assertion in DOMWindow::adjustWindowRect where we were passing
16449         in garbage values and were getting lucky that they were a not Nan.
16451         * bindings/js/JSDOMWindowBase.cpp:
16452         (WebCore::windowProtoFuncOpen):
16454 2008-09-17  Sam Weinig  <sam@webkit.org>
16456         Fix gtk build.
16458         * rendering/style/MatrixTransformOperation.cpp:
16460 2008-09-17  Sam Weinig  <sam@webkit.org>
16462         Rubber-stamped with love by David Hyatt.
16464         Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation, 
16465         ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
16466         TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
16468         * GNUmakefile.am:
16469         * WebCore.pro:
16470         * WebCore.vcproj/WebCore.vcproj:
16471         * WebCore.xcodeproj/project.pbxproj:
16472         * WebCoreSources.bkl:
16473         * css/CSSStyleSelector.cpp:
16474         * page/animation/AnimationBase.cpp:
16475         (WebCore::solveEpsilon):
16476         * rendering/RenderLayer.cpp:
16477         * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16478         * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16479         * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16480         (WebCore::MatrixTransformOperation::MatrixTransformOperation):
16481         * rendering/style/RenderStyle.cpp:
16482         * rendering/style/RenderStyle.h:
16483         * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16484         * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16485         (WebCore::RotateTransformOperation::RotateTransformOperation):
16486         * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16487         * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16488         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
16489         * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16490         * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16491         (WebCore::SkewTransformOperation::SkewTransformOperation):
16492         * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
16493         * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
16494         (WebCore::StyleTransformData::operator!=):
16495         * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
16496         (WebCore::TransformOperation::):
16497         * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
16498         (WebCore::TransformOperations::TransformOperations):
16499         * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
16500         (WebCore::TransformOperations::operator!=):
16501         * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16502         * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16503         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
16505 2008-09-17  Mark Rowe  <mrowe@apple.com>
16507         Build fix.
16509         * rendering/style/StyleDashboardRegion.h:  PlatformString.h rather than String.h.
16511 2008-09-17  David Hyatt  <hyatt@apple.com>
16513         (1) Inline a bunch of methods for accessing frame geometry.
16514         (2) Make sure frameGeometry() works even when you have no underlying
16515         native widget.
16516         (3) Cache a frame geometry rect cross-platform (even for widgets that
16517         have underlying native widgets.
16518         (4) PluginView's updateWindow call is now a virtual function on Widget.
16520         Reviewed by Sam Weinig
16522         * ChangeLog:
16523         * WebCore.base.exp:
16524         * platform/Widget.cpp:
16525         (WebCore::Widget::setFrameGeometry):
16526         * platform/Widget.h:
16527         (WebCore::Widget::x):
16528         (WebCore::Widget::y):
16529         (WebCore::Widget::width):
16530         (WebCore::Widget::height):
16531         (WebCore::Widget::size):
16532         (WebCore::Widget::pos):
16533         (WebCore::Widget::frameGeometry):
16534         (WebCore::Widget::resize):
16535         (WebCore::Widget::move):
16536         (WebCore::Widget::isFrameView):
16537         (WebCore::Widget::windowClipRect):
16538         * platform/mac/WidgetMac.mm:
16539         (WebCore::Widget::~Widget):
16540         (WebCore::Widget::updatePlatformWidgetFrameGeometry):
16541         * platform/win/WidgetWin.cpp:
16542         (WebCore::Widget::updatePlatformWidgetFrameGeometry):
16543         * plugins/PluginView.cpp:
16544         (WebCore::PluginView::setFrameGeometry):
16545         (WebCore::PluginView::geometryChanged):
16546         * plugins/PluginView.h:
16547         * plugins/gtk/PluginViewGtk.cpp:
16548         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
16549         * plugins/qt/PluginViewQt.cpp:
16550         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
16551         * plugins/win/PluginViewWin.cpp:
16552         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
16553         * plugins/wx/PluginViewWx.cpp:
16555 2008-09-17  Sam Weinig  <sam@webkit.org>
16557         Reviewed by David "Waterman" Hyatt.
16559         Fix a leak of NSViews in WidgetMac.mm.
16561         * platform/mac/WidgetMac.mm:
16562         (WebCore::Widget::~Widget):
16564 2008-09-17  Sam Weinig  <sam@webkit.org>
16566         Rubber-stamped by David Waterman Hyatt.
16568         Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
16569         StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
16571         * GNUmakefile.am:
16572         * WebCore.pro:
16573         * WebCore.vcproj/WebCore.vcproj:
16574         * WebCore.xcodeproj/project.pbxproj:
16575         * WebCoreSources.bkl:
16576         * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
16577         * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
16578         (WebCore::FillLayer::operator!=):
16579         (WebCore::FillLayer::hasImage):
16580         (WebCore::FillLayer::hasFixedImage):
16581         * rendering/style/RenderStyle.cpp:
16582         * rendering/style/RenderStyle.h:
16583         * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
16584         (WebCore::StyleBackgroundData::StyleBackgroundData):
16585         * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
16586         (WebCore::StyleBackgroundData::~StyleBackgroundData):
16587         (WebCore::StyleBackgroundData::operator!=):
16588         * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
16589         * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
16590         (WebCore::StyleBoxData::operator!=):
16591         * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
16592         (WebCore::StyleDashboardRegion::operator!=):
16593         * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
16594         * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
16595         (WebCore::StyleMarqueeData::operator!=):
16596         * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
16597         * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
16598         (WebCore::StyleMultiColData::operator!=):
16599         (WebCore::StyleMultiColData::ruleWidth):
16600         * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
16601         * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
16602         (WebCore::StyleVisualData::operator==):
16604 2008-09-17  David Hyatt  <hyatt@apple.com>
16606         Remove WidgetClient from Widget.
16608         Reviewed by Sam Weinig
16610         * WebCore.xcodeproj/project.pbxproj:
16611         * platform/Widget.h:
16612         (WebCore::Widget::setClient):
16613         (WebCore::Widget::client):
16614         * platform/WidgetClient.h: Removed.
16615         * platform/gtk/WidgetGtk.cpp:
16616         * platform/mac/WidgetMac.mm:
16617         (WebCore::Widget::Widget):
16618         (WebCore::Widget::show):
16619         (WebCore::Widget::hide):
16620         * platform/qt/WidgetQt.cpp:
16621         (WebCore::WidgetPrivate::WidgetPrivate):
16622         * platform/win/WidgetWin.cpp:
16623         (WebCore::Widget::Widget):
16624         * platform/wx/WidgetWx.cpp:
16625         (WebCore::Widget::Widget):
16627 2008-09-17  David Hyatt  <hyatt@apple.com>
16629         Remove isEnabled/setEnabled from Widget.  The concept of being enabled now
16630         only applies to Scrollbars so the method has been moved there and made
16631         cross-platform.  Scrollbar subclasses that have a corresponding native
16632         widget can subclass setEnabled to change the enabled state of the native
16633         widget.
16635         Reviewed by Sam Weinig & Darin Adler
16637         * WebCore.base.exp:
16638         * platform/Scrollbar.cpp:
16639         (WebCore::Scrollbar::Scrollbar):
16640         * platform/Scrollbar.h:
16641         (WebCore::Scrollbar::enabled):
16642         (WebCore::Scrollbar::setEnabled):
16643         * platform/Widget.h:
16644         * platform/gtk/ScrollbarGtk.cpp:
16645         (ScrollbarGtk::setEnabled):
16646         * platform/gtk/ScrollbarGtk.h:
16647         * platform/gtk/WidgetGtk.cpp:
16648         * platform/mac/ScrollbarMac.h:
16649         * platform/mac/ScrollbarMac.mm:
16650         (WebCore::ScrollbarMac::scrollbarHit):
16651         (WebCore::ScrollbarMac::setEnabled):
16652         * platform/mac/WidgetMac.mm:
16653         * platform/qt/WidgetQt.cpp:
16654         (WebCore::WidgetPrivate::WidgetPrivate):
16655         * platform/win/WidgetWin.cpp:
16656         (WebCore::Widget::Widget):
16657         * platform/wx/WidgetWx.cpp:
16659 2008-09-17  Sam Weinig  <sam@webkit.org>
16661         Rubber-stamped by David Hyatt.
16663         Split all RenderStyle enums into their own file.
16665         * GNUmakefile.am:
16666         * WebCore.vcproj/WebCore.vcproj:
16667         * WebCore.xcodeproj/project.pbxproj:
16668         * rendering/style/BorderValue.h:
16669         * rendering/style/CollapsedBorderValue.h:
16670         * rendering/style/RenderStyle.h:
16671         * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
16672         (WebCore::):
16673         * rendering/style/StyleCachedImage.h:
16674         * rendering/style/StyleGeneratedImage.h:
16675         * rendering/style/StyleImage.h:
16677 2008-09-17  Steve Falkenburg  <sfalken@apple.com>
16679         Add back isFrameView check to fix failed assertion during scroll bar teardown.
16680         
16681         Reviewed by Dave Hyatt.
16683         * platform/Scrollbar.cpp:
16684         (WebCore::Scrollbar::setParent):
16686 2008-09-17  Brady Eidson  <beidson@apple.com>
16688         Reviewed by Mac build fix
16690         * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
16692 2008-09-17  Steve Falkenburg  <sfalken@apple.com>
16694         Fix build.
16696         * platform/win/ScrollViewWin.cpp:
16697         (WebCore::ScrollView::setParentVisible):
16698         * plugins/win/PluginViewWin.cpp:
16699         (WebCore::PluginView::init):
16701 2008-09-17  Holger Hans Peter Freyther  <zecke@selfish.org>
16703         Reviewed by Simon.
16705         [QtWebKit] Implement error handling in TextCodecQt::decode
16706         Use the QTextCodec parsing state to set the sawError out variable. This
16707         is needed to pass Test 70 of acid3. The test case for this bug is
16708         fast/encoding/invalid-xml.html that is now partially passed. To pass
16709         it completely the Qt text codecs need to be adjusted to have proper
16710         error handling.
16712         * platform/text/qt/TextCodecQt.cpp:
16713         (WebCore::TextCodecQt::decode):
16715 2008-09-17  Sam Weinig  <sam@webkit.org>
16717         Rubber-stamped by Dave Hyatt.
16719         Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
16720         out of RenderStyle.h/cpp
16722         * GNUmakefile.am:
16723         * WebCore.pro:
16724         * WebCore.vcproj/WebCore.vcproj:
16725         * WebCore.xcodeproj/project.pbxproj:
16726         * WebCoreSources.bkl:
16727         * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
16728         (WebCore::BorderData::hasBorderRadius):
16729         (WebCore::BorderData::borderLeftWidth):
16730         (WebCore::BorderData::borderRightWidth):
16731         (WebCore::BorderData::borderTopWidth):
16732         (WebCore::BorderData::borderBottomWidth):
16733         (WebCore::BorderData::operator!=):
16734         * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
16735         (WebCore::):
16736         (WebCore::BorderValue::BorderValue):
16737         (WebCore::BorderValue::nonZero):
16738         (WebCore::BorderValue::isTransparent):
16739         (WebCore::BorderValue::isVisible):
16740         * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
16741         (WebCore::):
16742         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
16743         (WebCore::CollapsedBorderValue::operator==):
16744         * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
16745         (WebCore::OutlineValue::OutlineValue):
16746         * rendering/style/RenderStyle.cpp:
16747         * rendering/style/RenderStyle.h:
16748         * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
16749         * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
16750         (WebCore::StyleSurroundData::operator!=):
16752 2008-09-17  Beth Dakin  <bdakin@apple.com>
16754         Reviewed by Darin Adler.
16756         This is a better fix for: Invalid CSS code crashes Safari
16757         https://bugs.webkit.org/show_bug.cgi?id=20512
16759         The spec indicates that the only valid input for a counter is a 
16760         number or an identifier. So that is exactly what we allow.
16762         * css/CSSParser.cpp:
16763         (WebCore::CSSParser::parseCounterContent):
16765 2008-09-17  Alp Toker  <alp@nuanti.com>
16767         GTK+ build fix. Adapt to use PlatformWidget functions.
16769         * platform/gtk/ScrollViewGtk.cpp:
16770         (WebCore::ScrollViewScrollbar::geometryChanged):
16771         (WebCore::ScrollView::addChild):
16772         (WebCore::ScrollView::removeChild):
16773         * platform/gtk/ScrollbarGtk.cpp:
16774         (ScrollbarGtk::ScrollbarGtk):
16775         (ScrollbarGtk::~ScrollbarGtk):
16776         (ScrollbarGtk::geometryChanged):
16778 2008-09-17  Sam Weinig  <sam@webkit.org>
16780         Reviewed by Adele Peterson.
16782         Patch for <rdar://problem/6133884> 
16783         Calling window.resizeTo() on a subframe shouldn't change the window size
16785         Test: fast/dom/Window/window-resize-and-move-sub-frame.html
16787         * page/DOMWindow.cpp:
16788         (WebCore::DOMWindow::moveBy):
16789         (WebCore::DOMWindow::moveTo):
16790         (WebCore::DOMWindow::resizeBy):
16791         (WebCore::DOMWindow::resizeTo):
16793 2008-09-17  Beth Dakin  <bdakin@apple.com>
16795         Reviewed by Adam Roben.
16797         Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS 
16798         code crashes Safari 
16799         and corresponding: <rdar://problem/6173832>
16801         Reading through the spec, it seems like a function is not valid 
16802         input for a counter. So this patch checks for that and bails in the 
16803         case of invalid input. 
16805         * css/CSSParser.cpp:
16806         (WebCore::CSSParser::parseCounterContent):
16808 2008-09-17  Greg Bolsinga  <bolsinga@apple.com>
16810         Reviewed by Antti Koivisto.
16812         Fix <rdar://problem/6227089> 
16813         Crash in WebCore::Frame::setNeedsReapplyStyles()
16814         
16815         View is null checked elsewhere too.
16817         * page/Frame.cpp:
16818         (WebCore::Frame::setNeedsReapplyStyles):
16820 2008-09-17  David Hyatt  <hyatt@apple.com>
16822         Make the notion of having a native widget backing a Widget cross-platform.
16823         The PlatformWidget abstraction (which already existed) is used for this.
16824              Windows = HWND
16825              Qt = QWidget
16826              Mac = NSView
16827              wx = wxWindow
16828              Gtk = GtkWidget
16830         There are new cross-platform methods that replace all of the unique
16831         platform-specific methods.
16832              platformWidget()
16833              setPlatformWidget()
16835         For plugins, on every platform except Qt on Windows, the plugin's native
16836         widget is now stored in the Widget base class.  Since Qt on Windows uses
16837         HWNDs for plugins instead of QWidget, it is the only platform to keep the
16838         m_window variable in PluginView.
16840         Reviewed by Sam Weinig
16842         * WebCore.base.exp:
16843         * bindings/js/ScriptControllerMac.mm:
16844         (WebCore::ScriptController::createScriptInstanceForWidget):
16845         * page/mac/AccessibilityObjectWrapper.mm:
16846         (-[AccessibilityObjectWrapper attachmentView]):
16847         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
16848         * page/mac/EventHandlerMac.mm:
16849         (WebCore::EventHandler::passMouseDownEventToWidget):
16850         (WebCore::EventHandler::mouseDownViewIfStillGood):
16851         (WebCore::EventHandler::passWheelEventToWidget):
16852         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
16853         * platform/Widget.cpp:
16854         (WebCore::Widget::init):
16855         (WebCore::Widget::setParent):
16856         (WebCore::Widget::releasePlatformWidget):
16857         (WebCore::Widget::retainPlatformWidget):
16858         * platform/Widget.h:
16859         (WebCore::Widget::platformWidget):
16860         (WebCore::Widget::setPlatformWidget):
16861         * platform/gtk/WidgetGtk.cpp:
16862         (WebCore::Widget::Widget):
16863         (WebCore::Widget::setFocus):
16864         (WebCore::gdkDrawable):
16865         (WebCore::Widget::setCursor):
16866         (WebCore::Widget::show):
16867         (WebCore::Widget::hide):
16868         (WebCore::Widget::setEnabled):
16869         (WebCore::Widget::isEnabled):
16870         (WebCore::Widget::paint):
16871         * platform/mac/PlatformScreenMac.mm:
16872         (WebCore::screenRect):
16873         (WebCore::screenAvailableRect):
16874         * platform/mac/ScrollViewMac.mm:
16875         (WebCore::ScrollView::scrollView):
16876         (WebCore::ScrollView::update):
16877         (WebCore::ScrollView::inWindow):
16878         * platform/mac/ScrollbarMac.mm:
16879         (WebCore::ScrollbarMac::ScrollbarMac):
16880         (WebCore::ScrollbarMac::~ScrollbarMac):
16881         (WebCore::ScrollbarMac::updateThumbPosition):
16882         (WebCore::ScrollbarMac::updateThumbProportion):
16883         (WebCore::ScrollbarMac::scrollbarHit):
16884         * platform/mac/WidgetMac.mm:
16885         (WebCore::Widget::Widget):
16886         (WebCore::Widget::setEnabled):
16887         (WebCore::Widget::isEnabled):
16888         (WebCore::Widget::setFocus):
16889         (WebCore::Widget::getOuterView):
16890         (WebCore::Widget::paint):
16891         (WebCore::Widget::invalidate):
16892         (WebCore::Widget::invalidateRect):
16893         (WebCore::Widget::setIsSelected):
16894         (WebCore::Widget::releasePlatformWidget):
16895         (WebCore::Widget::retainPlatformWidget):
16896         * platform/qt/WidgetQt.cpp:
16897         (WebCore::WidgetPrivate::WidgetPrivate):
16898         (WebCore::Widget::Widget):
16899         (WebCore::Widget::setFrameGeometry):
16900         (WebCore::Widget::show):
16901         (WebCore::Widget::hide):
16902         (WebCore::Widget::isEnabled):
16903         (WebCore::Widget::setEnabled):
16904         (WebCore::Widget::invalidateRect):
16905         (WebCore::Widget::containingWindow):
16906         * platform/win/WidgetWin.cpp:
16907         (WebCore::Widget::Widget):
16908         * platform/wx/WidgetWx.cpp:
16909         (WebCore::Widget::Widget):
16910         (WebCore::Widget::frameGeometry):
16911         (WebCore::Widget::setFocus):
16912         (WebCore::Widget::setCursor):
16913         (WebCore::Widget::show):
16914         (WebCore::Widget::hide):
16915         (WebCore::Widget::setFrameGeometry):
16916         (WebCore::Widget::setEnabled):
16917         (WebCore::Widget::isEnabled):
16918         (WebCore::Widget::invalidate):
16919         (WebCore::Widget::invalidateRect):
16920         (WebCore::Widget::paint):
16921         * plugins/PluginView.cpp:
16922         (WebCore::PluginView::PluginView):
16923         * plugins/PluginView.h:
16924         (WebCore::PluginView::platformPluginWidget):
16925         * plugins/gtk/PluginViewGtk.cpp:
16926         (WebCore::PluginView::updateWindow):
16927         (WebCore::PluginView::setFocus):
16928         (WebCore::PluginView::show):
16929         (WebCore::PluginView::hide):
16930         (WebCore::PluginView::setParent):
16931         (WebCore::PluginView::setNPWindowRect):
16932         (WebCore::PluginView::setParentVisible):
16933         (WebCore::PluginView::getValue):
16934         (WebCore::PluginView::forceRedraw):
16935         (WebCore::PluginView::init):
16936         * plugins/qt/PluginViewQt.cpp:
16937         (WebCore::PluginView::updateWindow):
16938         (WebCore::PluginView::setFocus):
16939         (WebCore::PluginView::show):
16940         (WebCore::PluginView::hide):
16941         (WebCore::PluginView::setParent):
16942         (WebCore::PluginView::setNPWindowRect):
16943         (WebCore::PluginView::setParentVisible):
16944         (WebCore::PluginView::getValue):
16945         (WebCore::PluginView::~PluginView):
16946         (WebCore::PluginView::init):
16947         * plugins/win/PluginViewWin.cpp:
16948         (WebCore::PluginView::updateWindow):
16949         (WebCore::PluginView::setFocus):
16950         (WebCore::PluginView::show):
16951         (WebCore::PluginView::hide):
16952         (WebCore::PluginView::paint):
16953         (WebCore::PluginView::setParent):
16954         (WebCore::PluginView::setParentVisible):
16955         (WebCore::PluginView::setNPWindowRect):
16956         (WebCore::PluginView::stop):
16957         (WebCore::PluginView::invalidateRect):
16958         (WebCore::PluginView::forceRedraw):
16959         (WebCore::PluginView::~PluginView):
16960         (WebCore::PluginView::init):
16962 2008-09-17  Sam Weinig  <sam@webkit.org>
16964         Fix assert.
16966         * platform/Widget.cpp:
16967         (WebCore::Widget::setParent):
16969 2008-09-17  David Hyatt  <hyatt@apple.com>
16971         Beginnings of Widget refactoring (in order to make the mixing of
16972         widgets with and without corresponding native widgets more cross-platform).
16974         This first patch makes the concept of a parent ScrollView cross-platform.
16976         Note the similarity of the show/hide methods on the three PluginViews.  This
16977         will be refactored better in a later patch so that they can all share
16978         a base class Widget show/hide method.  For now the changes were made
16979         simply to be able to bring WidgetWin's setParent method up into Widget.
16981         Reviewed by Sam Weinig
16983         * WebCore.base.exp:
16984         * platform/ScrollView.h:
16985         * platform/Widget.cpp:
16986         (WebCore::Widget::init):
16987         (WebCore::Widget::setParent):
16988         * platform/Widget.h:
16989         (WebCore::Widget::isSelfVisible):
16990         (WebCore::Widget::isParentVisible):
16991         (WebCore::Widget::isVisible):
16992         (WebCore::Widget::setParentVisible):
16993         (WebCore::Widget::isPluginView):
16994         (WebCore::Widget::parent):
16995         (WebCore::Widget::handleEvent):
16996         (WebCore::Widget::geometryChanged):
16997         * platform/gtk/WidgetGtk.cpp:
16998         (WebCore::Widget::Widget):
16999         * platform/mac/ScrollViewMac.mm:
17000         (WebCore::ScrollView::addChild):
17001         (WebCore::ScrollView::removeChild):
17002         * platform/mac/ScrollbarMac.mm:
17003         (WebCore::ScrollbarMac::~ScrollbarMac):
17004         * platform/mac/WidgetMac.mm:
17005         (WebCore::Widget::Widget):
17006         (WebCore::Widget::~Widget):
17007         * platform/qt/WidgetQt.cpp:
17008         (WebCore::WidgetPrivate::WidgetPrivate):
17009         (WebCore::Widget::Widget):
17010         (WebCore::Widget::topLevel):
17011         * platform/win/ScrollViewWin.cpp:
17012         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
17013         (WebCore::ScrollView::setAncestorVisible):
17014         (WebCore::ScrollView::show):
17015         (WebCore::ScrollView::hide):
17016         * platform/win/WidgetWin.cpp:
17017         (WebCore::Widget::Widget):
17018         (WebCore::Widget::setParent):
17019         * platform/wx/WidgetWx.cpp:
17020         (WebCore::Widget::Widget):
17021         * plugins/PluginView.cpp:
17022         (WebCore::PluginView::PluginView):
17023         * plugins/PluginView.h:
17024         * plugins/gtk/PluginViewGtk.cpp:
17025         (WebCore::PluginView::show):
17026         (WebCore::PluginView::hide):
17027         (WebCore::PluginView::setParentVisible):
17028         * plugins/qt/PluginViewQt.cpp:
17029         (WebCore::PluginView::show):
17030         (WebCore::PluginView::hide):
17031         (WebCore::PluginView::setParentVisible):
17032         * plugins/win/PluginViewWin.cpp:
17033         (WebCore::PluginView::show):
17034         (WebCore::PluginView::hide):
17035         (WebCore::PluginView::setParentVisible):
17037 2008-09-17  Alexey Proskuryakov  <ap@webkit.org>
17039         Reviewed by Adam Roben.
17041         <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
17043         * platform/text/TextCodecICU.cpp:
17044         (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
17046 2008-09-17  Tor Arne Vestbø  <tavestbo@trolltech.com>
17048         Fix the QtWebKit/Mac build
17050         * platform/qt/ScrollViewQt.cpp: add include
17052 2008-09-17  David Hyatt  <hyatt@apple.com>
17054         Add a #define to control whether or not to use an NSScroller on Mac.
17055         This ifdef will allow the new NSView-less NSScroller on Mac to be
17056         developed side by side with the current one.
17058         The new scroller paints a debug red if turned on (although due to
17059         Widget issues you won't see anything paint yet).
17061         Reviewed by olliej
17063         * platform/Scrollbar.cpp:
17064         * platform/Scrollbar.h:
17065         * platform/mac/ScrollbarMac.h:
17066         * platform/mac/ScrollbarMac.mm:
17067         * platform/mac/ScrollbarThemeMac.cpp:
17068         (WebCore::ScrollbarThemeMac::paint):
17069         * platform/mac/ScrollbarThemeMac.h:
17071 2008-09-16  Marco Barisione  <marco.barisione@collabora.co.uk>
17073         Reviewed by Alp Toker.
17075         http://bugs.webkit.org/show_bug.cgi?id=20854
17076         [GTK] Windows can be not realized in ScrollView::update
17078         Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
17080         * platform/gtk/ScrollViewGtk.cpp:
17081         (WebCore::ScrollView::update):
17083 2008-09-16  Alp Toker  <alp@nuanti.com>
17085         Suggested by Dave Hyatt.
17087         Build fix and cleanup. Rename ScrollBar to Scrollbar.
17089         * GNUmakefile.am:
17090         * WebCore.pro:
17091         * WebCore.vcproj/WebCore.vcproj:
17092         * WebCore.xcodeproj/project.pbxproj:
17093         * WebCoreSources.bkl:
17094         * editing/EditorCommand.cpp:
17095         * page/EventHandler.cpp:
17096         * page/gtk/EventHandlerGtk.cpp:
17097         * page/mac/EventHandlerMac.mm:
17098         * page/mac/FrameMac.mm:
17099         * page/qt/EventHandlerQt.cpp:
17100         * page/wx/EventHandlerWx.cpp:
17101         * platform/PopupMenu.h:
17102         * platform/ScrollBar.cpp: Removed.
17103         * platform/ScrollBar.h: Removed.
17104         * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
17105         * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
17106         * platform/gtk/ScrollbarGtk.cpp:
17107         (ScrollbarGtk::ScrollbarGtk):
17108         * platform/gtk/ScrollbarGtk.h:
17109         * platform/mac/ScrollbarMac.h:
17110         * platform/qt/ScrollViewQt.cpp:
17111         * platform/qt/ScrollbarQt.cpp:
17112         * platform/qt/ScrollbarThemeQt.cpp:
17113         * platform/win/PlatformScrollBar.h:
17114         * platform/win/PopupMenuWin.cpp:
17115         * platform/win/ScrollViewWin.cpp:
17116         * platform/win/ScrollbarThemeWin.cpp:
17117         * platform/wx/ScrollViewWx.cpp:
17118         * platform/wx/TemporaryLinkStubs.cpp:
17119         * rendering/HitTestResult.cpp:
17120         * rendering/RenderLayer.cpp:
17121         * rendering/RenderTextControl.cpp:
17123 2008-09-16  David Hyatt  <hyatt@apple.com>
17125         Fix Qt build bustage by making moveThumb a member of Scrollbar so that
17126         it can be called from ScrollbarQt.
17128         * platform/ScrollBar.cpp:
17129         (WebCore::Scrollbar::moveThumb):
17130         (WebCore::Scrollbar::handleMouseMoveEvent):
17131         (WebCore::Scrollbar::handleMousePressEvent):
17132         * platform/ScrollBar.h:
17133         * platform/qt/ScrollViewQt.cpp:
17134         * platform/qt/ScrollbarQt.cpp:
17135         (WebCore::Scrollbar::handleContextMenuEvent):
17137 2008-09-16  David Hyatt  <hyatt@apple.com>
17139         Eliminate PlatformScrollbar.  Mac and Gtk now have subclasses for their
17140         native-widget scrollbars (ScrollbarMac and ScrollbarGtk).  Other platforms
17141         now just use Scrollbar.
17143         Reviewed by Sam Weinig
17145         * GNUmakefile.am:
17146         * WebCore.pro:
17147         * WebCore.vcproj/WebCore.vcproj:
17148         * WebCore.xcodeproj/project.pbxproj:
17149         * page/mac/FrameMac.mm:
17150         * platform/PopupMenu.h:
17151         (WebCore::PopupMenu::scrollbar):
17152         * platform/ScrollBar.cpp:
17153         (WebCore::createNativeScrollbar):
17154         * platform/ScrollBar.h:
17155         * platform/gtk/PlatformScrollBar.h: Removed.
17156         * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
17157         * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
17158         (gtkScrollEventCallback):
17159         (ScrollbarGtk::ScrollbarGtk):
17160         (ScrollbarGtk::~ScrollbarGtk):
17161         (ScrollbarGtk::updateThumbPosition):
17162         (ScrollbarGtk::updateThumbProportion):
17163         (ScrollbarGtk::setFrameGeometry):
17164         (ScrollbarGtk::geometryChanged):
17165         (ScrollbarGtk::gtkValueChanged):
17166         * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
17167         * platform/mac/PlatformScrollBar.h: Removed.
17168         * platform/mac/PlatformScrollBarMac.mm: Removed.
17169         * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
17170         * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
17171         (-[WebCoreScrollBar initWithScrollbarMac:]):
17172         (-[WebCoreScrollBar detachScrollbarMac]):
17173         (WebCore::Scrollbar::createNativeScrollbar):
17174         (WebCore::ScrollbarMac::ScrollbarMac):
17175         (WebCore::ScrollbarMac::~ScrollbarMac):
17176         (WebCore::ScrollbarMac::updateThumbPosition):
17177         (WebCore::ScrollbarMac::updateThumbProportion):
17178         (WebCore::ScrollbarMac::scrollbarHit):
17179         * platform/qt/PlatformScrollBar.h: Removed.
17180         * platform/qt/PlatformScrollBarQt.cpp: Removed.
17181         * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
17182         (WebCore::Scrollbar::handleContextMenuEvent):
17183         * rendering/HitTestResult.cpp:
17184         * rendering/RenderLayer.cpp:
17185         (WebCore::RenderLayer::createScrollbar):
17186         (WebCore::RenderLayer::destroyScrollbar):
17187         * rendering/RenderLayer.h:
17188         * rendering/RenderListBox.cpp:
17189         (WebCore::RenderListBox::~RenderListBox):
17190         (WebCore::RenderListBox::updateFromElement):
17191         (WebCore::RenderListBox::isPointInOverflowControl):
17192         * rendering/RenderObject.h:
17193         * rendering/RenderTextControl.cpp:
17195 2008-09-16  David Hyatt  <hyatt@apple.com>
17197         Make the scrollbar resizer-dodging logic cross-platform in the
17198         Scrollbar class.
17200         Reviewed by Sam Weinig
17202         * platform/ScrollBar.cpp:
17203         (WebCore::Scrollbar::setFrameGeometry):
17204         (WebCore::Scrollbar::setParent):
17205         (WebCore::Scrollbar::windowClipRect):
17206         * platform/ScrollBar.h:
17207         * platform/ScrollView.h:
17208         (WebCore::ScrollView::windowResizerRect):
17209         (WebCore::ScrollView::resizerOverlapsContent):
17210         (WebCore::ScrollView::adjustOverlappingScrollbarCount):
17211         * platform/Widget.h:
17212         (WebCore::Widget::setParent):
17213         * platform/mac/WidgetMac.mm:
17214         (WebCore::Widget::convertToContainingWindow):
17215         * platform/win/PlatformScrollBar.h:
17216         * platform/win/PlatformScrollBarWin.cpp:
17218 2008-09-16  Dan Bernstein  <mitz@apple.com>
17220         Reviewed by Darin Adler.
17222         - fix https://bugs.webkit.org/show_bug.cgi?id=15129
17223           <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
17225         Covered by fast/repaint/4776765.html
17227         * rendering/RenderBlock.cpp:
17228         (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
17229         did not have layout in the beginning.
17230         (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
17231         layout in the beginning, repaint it in its new position, to compensate
17232         for the above (regardless of whether it "moved").
17233         * rendering/RenderObject.cpp:
17234         (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
17235         about generalizing this fix in the future.
17237 2008-09-16  Dan Bernstein  <mitz@apple.com>
17239         Reviewed by Dave Hyatt.
17241         - fix https://bugs.webkit.org/show_bug.cgi?id=15384
17242           Div does not notice when grandparent changes height
17244         Test: fast/block/basic/quirk-percent-height-grandchild.html
17246         - fix https://bugs.webkit.org/show_bug.cgi?id=20714
17247           Resizing Gmail inbox vertically results in whitespace at the bottom of the window
17249         Test: fast/replaced/percent-height-in-anonymous-block.html
17251         Added a two-way mapping between boxes with percentage heights and
17252         their non-parent ancestors up to the one the height is computed relative
17253         to. In quirks mode (the first bug), this can be any number of containing
17254         block with auto height. In strict mode (the second bug) this can be
17255         the containing block of an anonymous block containing a replaced
17256         element.
17258         * rendering/RenderBlock.cpp:
17259         (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
17260         mapping to/from this block to percentage-height descendants.
17261         (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
17262         percentage-height descendants (and their containing block ancestry chain
17263         up to this block) for layout. This ensures that those descendants whose
17264         height depends on the height of this block (or an ancestor) are updated.
17265         (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
17266         a two-way mapping between this block and the given box.
17267         (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
17268         all the mapping to/from this box.
17269         * rendering/RenderBlock.h:
17270         * rendering/RenderBox.cpp:
17271         (WebCore::RenderBox::setStyle): Added calls to
17272         removePercentHeightDescendant() when style changes and the box
17273         previously had a percentage height. An exception is when the style
17274         change does not require layout, in which case the box still has
17275         a percentage height and the mappings are valid. In all other cases,
17276         any required mappings will be (re-)established during layout.
17277         (WebCore::RenderBox::destroy): Added a call to
17278         removePercentHeightDescendant.
17279         (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
17280         mode, if a higher-than-parent containing block is affecting the box's
17281         height, creates a mapping between the box and that block.
17282         (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
17283         anonymous containing blocks, if any, and when that happens, use
17284         addPercentHeightDescendant() to ensure that the non-anonymous block
17285         is aware of the dependent percent-height box.
17287 2008-09-16  Dirk Schulze  <vbs85@gmx.de>
17289         Reviewed by Oliver Hunt and Alp Toker.
17291         Implemented toDataURL in Cairo. Only PNG support
17292         at the moment.
17294         Qt, Cairo and wx require toDataURL implementations
17295         https://bugs.webkit.org/show_bug.cgi?id=17719
17297         * platform/MIMETypeRegistry.cpp:
17298         (WebCore::initializeSupportedImageMIMETypesForEncoding):
17299         * platform/graphics/cairo/ImageBufferCairo.cpp:
17300         (WebCore::ImageBuffer::ImageBuffer):
17301         (WebCore::writeFunction):
17302         (WebCore::ImageBuffer::toDataURL):
17304 2008-09-16  Tor Arne Vestbø  <tavestbo@trolltech.com>
17306         Reviewed by Simon.
17308         Hide unused media element controls in the QtWebKit port
17310         * platform/qt/html4-adjustments-qt.css
17312 2008-09-16  Ariya Hidayat  <ariya.hidayat@trolltech.com>
17314         Reviewed by Simon.
17316         Fix compilation of the Qt scrollbar code.
17318         * platform/qt/PlatformScrollBarQt.cpp:
17319         (WebCore::scPart):
17320         (WebCore::styleOptionSlider):
17321         (WebCore::thumbLength):
17322         (WebCore::pixelPosToRangeValue):
17323         (WebCore::PlatformScrollbar::handleContextMenuEvent):
17325 2008-09-16  Adam Treat  <treat@kde.org>
17327         Reviewed by Anders Carlsson.
17329         Prevent accesses off of the end of the buffer introduced in r36450
17330         and when checking for descriptions of mime. Also, coding style fix.
17332         * plugins/qt/PluginPackageQt.cpp:
17333         (WebCore::PluginPackage::fetchInfo):
17335 2008-09-15  Rob Buis  <buis@kde.org>
17337         Reviewed by Eric.
17339         https://bugs.webkit.org/show_bug.cgi?id=20634
17340         SVG transform attribute is ignored by <use> in <clipPath>
17342         Transform the paths with the local transform when part
17343         of a clip path.
17345         Test: svg/custom/use-clipped-transform.svg
17347         * svg/SVGClipPathElement.cpp:
17348         (WebCore::SVGClipPathElement::canvasResource):
17349         * svg/SVGStyledTransformableElement.cpp:
17350         (WebCore::SVGStyledTransformableElement::toClipPath):
17351         * svg/SVGStyledTransformableElement.h:
17353 2008-09-15  Dave Hyatt  <hyatt@apple.com>
17355         Convert Qt over to its ScrollbarTheme.  Add cross-platform support for jumping the thumb location directly
17356         to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
17357       
17358         Reviewed by Sam Weinig
17360         * platform/ScrollBar.cpp:
17361         (WebCore::thumbUnderMouse):
17362         (WebCore::Scrollbar::autoscrollPressedPart):
17363         (WebCore::Scrollbar::startTimerIfNeeded):
17364         (WebCore::moveThumb):
17365         (WebCore::Scrollbar::handleMouseMoveEvent):
17366         (WebCore::Scrollbar::handleMousePressEvent):
17367         * platform/ScrollBar.h:
17368         (WebCore::Scrollbar::pressedPos):
17369         (WebCore::Scrollbar::pixelStep):
17370         (WebCore::Scrollbar::setPressedPos):
17371         * platform/ScrollbarTheme.h:
17372         (WebCore::ScrollbarTheme::thumbPosition):
17373         (WebCore::ScrollbarTheme::thumbLength):
17374         (WebCore::ScrollbarTheme::trackPosition):
17375         (WebCore::ScrollbarTheme::trackLength):
17376         * platform/ScrollbarThemeComposite.cpp:
17377         (WebCore::ScrollbarThemeComposite::trackPosition):
17378         * platform/ScrollbarThemeComposite.h:
17379         * platform/qt/PlatformScrollBarQt.cpp:
17380         (WebCore::PlatformScrollbar::PlatformScrollbar):
17381         (WebCore::):
17382         * platform/qt/ScrollbarThemeQt.cpp:
17383         (WebCore::styleOptionSlider):
17384         (WebCore::ScrollbarThemeQt::hitTest):
17385         (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
17386         (WebCore::ScrollbarThemeQt::invalidatePart):
17387         (WebCore::ScrollbarThemeQt::thumbPosition):
17388         (WebCore::):
17389         * platform/qt/ScrollbarThemeQt.h:
17390         * platform/win/ScrollbarThemeSafari.cpp:
17391         (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
17392         * platform/win/ScrollbarThemeSafari.h:
17393         * platform/win/ScrollbarThemeWin.cpp:
17394         (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
17395         * platform/win/ScrollbarThemeWin.h:
17397 2008-09-15  David Smith  <catfish.man@gmail.com>
17399         Reviewed by Sam Weinig.
17400         
17401         https://bugs.webkit.org/show_bug.cgi?id=20180
17402         
17403         Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
17405         * GNUmakefile.am: Add CSSNthSelector
17406         * WebCore.pro: Add CSSNthSelector
17407         * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
17408         * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
17409         * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
17410         * css/CSSNthSelector.cpp: Added.
17411         (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
17412         (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
17413         * css/CSSNthSelector.h: Added.
17414         (WebCore::CSSNthSelector::CSSNthSelector):
17415         (WebCore::CSSNthSelector::~CSSNthSelector):
17416         * css/CSSParser.cpp:
17417         (WebCore::CSSParser::createFloatingNthSelector):
17418         * css/CSSParser.h:
17419         * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
17420         (WebCore::CSSSelector::CSSSelector):
17421         * css/CSSStyleSelector.cpp:
17422         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
17424 2008-09-15  Matt Lilek  <webkit@mattlilek.com>
17426         Reviewed by Tim Hatcher.
17428         Clean up some inspector JS callbacks to remove an extra return.
17430         * page/InspectorController.cpp:
17431         (WebCore::hideDOMNodeHighlight):
17432         (WebCore::loaded):
17433         (WebCore::unloading):
17434         (WebCore::attach):
17435         (WebCore::detach):
17436         (WebCore::startDebuggingAndReloadInspectedPage):
17437         (WebCore::stopDebugging):
17438         (WebCore::debuggerAttached):
17439         (WebCore::pauseOnExceptions):
17440         (WebCore::pauseInDebugger):
17441         (WebCore::resumeDebugger):
17442         (WebCore::stepOverStatementInDebugger):
17443         (WebCore::stepIntoStatementInDebugger):
17444         (WebCore::stepOutOfFunctionInDebugger):
17445         (WebCore::isWindowVisible):
17446         (WebCore::closeWindow):
17448 2008-09-15  Dave Hyatt  <hyatt@apple.com>
17450         Completely switch Windows scrollbars over to ScrollbarTheme.  The Aqua windows scrollbar and native scrollbar
17451         now share most of their code.
17452        
17453         Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
17454         also is never used in our code anyway.
17455        
17456         Reviewed by Sam Weinig
17458         * WebCore.vcproj/WebCore.vcproj:
17459         * platform/ScrollTypes.h:
17460         (WebCore::):
17461         * platform/ScrollbarThemeComposite.cpp:
17462         (WebCore::ScrollbarThemeComposite::splitTrack):
17463         (WebCore::ScrollbarThemeComposite::thumbLength):
17464         (WebCore::ScrollbarThemeComposite::minimumThumbLength):
17465         * platform/ScrollbarThemeComposite.h:
17466         * platform/mac/PlatformScrollBarMac.mm:
17467         (NSControlSizeForScrollBarControlSize):
17468         * platform/win/PlatformScrollBar.h:
17469         * platform/win/PlatformScrollBarSafari.cpp: Removed.
17470         * platform/win/PlatformScrollBarWin.cpp:
17471         (WebCore::PlatformScrollbar::PlatformScrollbar):
17472         * platform/win/ScrollbarThemeSafari.cpp:
17473         (WebCore::ScrollbarTheme::nativeTheme):
17474         (WebCore::):
17475         (WebCore::scrollbarControlStateFromThemeState):
17476         (WebCore::ScrollbarThemeSafari::hasButtons):
17477         (WebCore::ScrollbarThemeSafari::hasThumb):
17478         (WebCore::buttonRepaintRect):
17479         (WebCore::ScrollbarThemeSafari::backButtonRect):
17480         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
17481         (WebCore::trackRepaintRect):
17482         (WebCore::ScrollbarThemeSafari::trackRect):
17483         (WebCore::ScrollbarThemeSafari::minimumThumbLength):
17484         (WebCore::ScrollbarThemeSafari::paintTrack):
17485         (WebCore::ScrollbarThemeSafari::paintButton):
17486         (WebCore::ScrollbarThemeSafari::paintThumb):
17487         * platform/win/ScrollbarThemeSafari.h:
17488         * platform/win/ScrollbarThemeWin.cpp:
17489         * platform/win/ScrollbarThemeWin.h:
17491 2008-09-15  Chris Fleizach  <cfleizach@apple.com>
17493         Reviewed by Darin Adler, Beth Dakin
17495         <rdar://problem/4003789> Expose lists as AXList
17496         <rdar://problem/5707399> VO: Definition lists not announced in Safari
17498         Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
17499         AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
17500         Inside the definition list, each <dt> "term" has an accessibility description ("term"), 
17501         as does each <dd> tag ("definition")
17503         Test: accessibility/lists.html
17505         * GNUmakefile.am:
17506         * WebCore.pro:
17507         * WebCore.vcproj/WebCore.vcproj:
17508         * WebCore.xcodeproj/project.pbxproj:
17509         * WebCoreSources.bkl:
17510         * page/AXObjectCache.cpp:
17511         * page/AccessibilityList.cpp: Added.
17512         * page/AccessibilityList.h: Added.
17513         * page/AccessibilityObject.h:
17514         * page/AccessibilityRenderObject.cpp:
17515         * page/AccessibilityTable.cpp:
17516         * page/mac/AccessibilityObjectWrapper.mm:
17517         * page/mac/WebCoreViewFactory.h:
17518         * platform/LocalizedStrings.h:
17519         * platform/mac/LocalizedStringsMac.mm:
17520         * platform/qt/Localizations.cpp:
17522 2008-09-15  Nikolas Zimmermann  <zimmermann@kde.org>
17524         Reviewed by Eric.
17526         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
17527         Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
17529         Several renames:
17530         dispatchHTMLEvent -> dispatchEventForType
17531         setHTMLEventListener -> setEventListenerForType
17532         getHTMLEventListener -> eventListenerForType
17533         removeHTMLEventListener -> removeEventListenerForType
17534         isHTMLEventListener -> isAttachedToEventTargetNode
17535         ...
17537         Similar renames for the dispatch/get/set/*Window*Event functions.
17538         Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
17540         Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
17541         as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
17543         setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
17544         SVG is able to use the code as well now. This affects most files in html/.
17546         No functional changes.
17548         * GNUmakefile.am:
17549         * WebCore.pro:
17550         * WebCore.vcproj/WebCore.vcproj:
17551         * WebCore.xcodeproj/project.pbxproj:
17552         * bindings/js/JSDOMWindowBase.cpp:
17553         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
17554         (WebCore::JSDOMWindowBase::setListener):
17555         (WebCore::JSDOMWindowBase::getListener):
17556         (WebCore::JSDOMWindowBase::findJSEventListener):
17557         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
17558         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
17559         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
17560         (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
17561         (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
17562         * bindings/js/JSDOMWindowBase.h:
17563         * bindings/js/JSEventListener.cpp:
17564         (WebCore::JSAbstractEventListener::handleEvent):
17565         (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
17566         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
17567         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
17568         (WebCore::JSEventListener::JSEventListener):
17569         (WebCore::JSEventListener::~JSEventListener):
17570         (WebCore::JSLazyEventListener::JSLazyEventListener):
17571         (WebCore::eventParameterName):
17572         (WebCore::JSLazyEventListener::parseCode):
17573         (WebCore::getNodeEventListener):
17574         * bindings/js/JSEventListener.h:
17575         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
17576         (WebCore::JSUnprotectedEventListener::create):
17577         (WebCore::JSEventListener::create):
17578         (WebCore::JSLazyEventListener::):
17579         (WebCore::JSLazyEventListener::create):
17580         * bindings/js/JSEventTargetNode.cpp:
17581         (WebCore::JSEventTargetNode::setListener):
17582         (WebCore::JSEventTargetNode::getListener):
17583         * bindings/js/JSSVGLazyEventListener.cpp: Removed.
17584         * bindings/js/JSSVGLazyEventListener.h: Removed.
17585         * bindings/js/ScriptController.cpp:
17586         (WebCore::ScriptController::createHTMLEventHandler):
17587         (WebCore::ScriptController::createSVGEventHandler):
17588         * dom/Document.cpp:
17589         (WebCore::Document::setFocusedNode):
17590         (WebCore::Document::handleWindowEvent):
17591         (WebCore::Document::setWindowEventListenerForType):
17592         (WebCore::Document::windowEventListenerForType):
17593         (WebCore::Document::removeWindowEventListenerForType):
17594         (WebCore::Document::addWindowEventListener):
17595         (WebCore::Document::hasWindowEventListener):
17596         (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
17597         (WebCore::Document::createEventListener):
17598         (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
17599         * dom/Document.h:
17600         * dom/EventListener.h:
17601         (WebCore::EventListener::isAttachedToEventTargetNode):
17602         * dom/EventTargetNode.cpp:
17603         (WebCore::EventTargetNode::dispatchFocusEvent):
17604         (WebCore::EventTargetNode::dispatchBlurEvent):
17605         (WebCore::EventTargetNode::dispatchEventForType):
17606         (WebCore::EventTargetNode::removeEventListenerForType):
17607         (WebCore::EventTargetNode::setEventListenerForType):
17608         (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
17609         (WebCore::EventTargetNode::eventListenerForType):
17610         * dom/EventTargetNode.h:
17611         * dom/XMLTokenizer.cpp:
17612         (WebCore::XMLTokenizer::notifyFinished):
17613         * editing/ReplaceSelectionCommand.cpp:
17614         (WebCore::ReplacementFragment::ReplacementFragment):
17615         * html/HTMLBodyElement.cpp:
17616         (WebCore::HTMLBodyElement::parseMappedAttribute):
17617         * html/HTMLButtonElement.cpp:
17618         (WebCore::HTMLButtonElement::parseMappedAttribute):
17619         * html/HTMLElement.cpp:
17620         (WebCore::HTMLElement::parseMappedAttribute):
17621         (WebCore::HTMLElement::checkDTD):
17622         * html/HTMLElement.h:
17623         * html/HTMLFormControlElement.cpp:
17624         (WebCore::HTMLFormControlElement::onChange):
17625         * html/HTMLFormElement.cpp:
17626         (WebCore::HTMLFormElement::prepareSubmit):
17627         (WebCore::HTMLFormElement::reset):
17628         (WebCore::HTMLFormElement::parseMappedAttribute):
17629         * html/HTMLFrameElementBase.cpp:
17630         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
17631         * html/HTMLFrameSetElement.cpp:
17632         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
17633         * html/HTMLImageElement.cpp:
17634         (WebCore::HTMLImageElement::parseMappedAttribute):
17635         * html/HTMLImageLoader.cpp:
17636         (WebCore::HTMLImageLoader::dispatchLoadEvent):
17637         * html/HTMLInputElement.cpp:
17638         (WebCore::HTMLInputElement::parseMappedAttribute):
17639         (WebCore::HTMLInputElement::setValueFromRenderer):
17640         (WebCore::HTMLInputElement::onSearch):
17641         * html/HTMLMediaElement.cpp:
17642         (WebCore::HTMLMediaElement::asyncEventTimerFired):
17643         (WebCore::HTMLMediaElement::load):
17644         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
17645         (WebCore::HTMLMediaElement::setReadyState):
17646         (WebCore::HTMLMediaElement::seek):
17647         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
17648         (WebCore::HTMLMediaElement::willSaveToCache):
17649         * html/HTMLObjectElement.cpp:
17650         (WebCore::HTMLObjectElement::parseMappedAttribute):
17651         * html/HTMLScriptElement.cpp:
17652         (WebCore::HTMLScriptElement::parseMappedAttribute):
17653         (WebCore::HTMLScriptElement::dispatchLoadEvent):
17654         (WebCore::HTMLScriptElement::dispatchErrorEvent):
17655         * html/HTMLSelectElement.cpp:
17656         (WebCore::HTMLSelectElement::parseMappedAttribute):
17657         * html/HTMLTextAreaElement.cpp:
17658         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
17659         * html/HTMLTokenizer.cpp:
17660         (WebCore::HTMLTokenizer::notifyFinished):
17661         * page/AccessibilityRenderObject.cpp:
17662         (WebCore::AccessibilityRenderObject::mouseButtonListener):
17663         * page/EventHandler.cpp:
17664         (WebCore::EventHandler::canMouseDownStartSelect):
17665         (WebCore::EventHandler::canMouseDragExtendSelect):
17666         * page/Frame.cpp:
17667         (WebCore::Frame::sendScrollEvent):
17668         * page/Page.cpp:
17669         (WebCore::networkStateChanged):
17670         * rendering/RenderListBox.cpp:
17671         (WebCore::RenderListBox::valueChanged):
17672         * rendering/RenderTextControl.cpp:
17673         (WebCore::RenderTextControl::selectionChanged):
17674         * svg/SVGDocumentExtensions.cpp:
17675         * svg/SVGDocumentExtensions.h:
17676         * svg/SVGElement.cpp:
17677         (WebCore::SVGElement::parseMappedAttribute):
17678         (WebCore::SVGElement::finishParsingChildren):
17679         * svg/SVGElement.h:
17680         * svg/SVGSVGElement.cpp:
17681         (WebCore::SVGSVGElement::parseMappedAttribute):
17682         * svg/SVGSVGElement.h:
17684 2008-09-15  Dave Hyatt  <hyatt@apple.com>
17686         Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing.  PlatformScrollbarQt/Gtk still
17687         need to be converted.
17688         
17689         Reviewed by Sam Weinig
17691         * platform/ScrollBar.cpp:
17692         (WebCore::Scrollbar::Scrollbar):
17693         (WebCore::Scrollbar::updateThumbPosition):
17694         (WebCore::Scrollbar::updateThumbProportion):
17695         (WebCore::Scrollbar::autoscrollPressedPart):
17696         (WebCore::Scrollbar::startTimerIfNeeded):
17697         * platform/ScrollBar.h:
17698         * platform/ScrollbarTheme.h:
17699         (WebCore::ScrollbarTheme::invalidateParts):
17700         * platform/ScrollbarThemeComposite.cpp:
17701         (WebCore::ScrollbarThemeComposite::hitTest):
17702         (WebCore::ScrollbarThemeComposite::invalidatePart):
17703         (WebCore::ScrollbarThemeComposite::thumbPosition):
17704         (WebCore::ScrollbarThemeComposite::thumbLength):
17705         (WebCore::ScrollbarThemeComposite::trackLength):
17706         * platform/ScrollbarThemeComposite.h:
17707         * platform/win/PlatformScrollBarSafari.cpp:
17708         (WebCore::PlatformScrollbar::PlatformScrollbar):
17709         * platform/win/PlatformScrollBarWin.cpp:
17710         (WebCore::PlatformScrollbar::PlatformScrollbar):
17712 2008-09-15  David Smith  <catfish.man@gmail.com>
17714         "Just do it"'d by Mark Rowe
17716         https://bugs.webkit.org/show_bug.cgi?id=20856
17717         Add missing license header
17719         * dom/NodeRenderStyle.h:
17721 2008-09-15  Dean Jackson  <dino@apple.com>
17723         Reviewed by Tim Hatcher.
17725         Add default constructor for ShadowData
17726         https://bugs.webkit.org/show_bug.cgi?id=20757
17728         Test: transitions/shadow.html
17730         * rendering/style/RenderStyle.h:
17732 2008-09-15  Dean Jackson  <dino@apple.com>
17734         Reviewed by Tim Hatcher.
17736         RenderStyle should update keyframes.
17737         http://bugs.webkit.org/show_bug.cgi?id=20756
17739         * rendering/style/RenderStyle.cpp:
17740         (WebCore::StyleRareNonInheritedData::updateKeyframes):
17742 2008-09-15  Dean Jackson  <dino@apple.com>
17744         Reviewed by Tim Hatcher.
17746         Unnecessary ASSERT in ImplicitAnimation destructor.
17747         https://bugs.webkit.org/show_bug.cgi?id=20817
17749         * page/animation/ImplicitAnimation.cpp:
17750         (WebCore::ImplicitAnimation::~ImplicitAnimation):
17752 2008-09-15  Adam Treat  <treat@kde.org>
17754         Reviewed by Simon.
17756         Fix plugin extension info. It was returning the mimetype where the
17757         extension was given.
17759         * plugins/qt/PluginPackageQt.cpp:
17760         (WebCore::PluginPackage::fetchInfo):
17762 2008-09-15  Dean Jackson  <dino@apple.com>
17764         Reviewed by Tim Hatcher
17766         Coding style violation!!!! Cleanup AnimationBase.cpp
17768         * page/animation/AnimationBase.cpp:
17769         (WebCore::blendFunc):
17771 2008-09-15  David Hyatt  <hyatt@apple.com>
17773         Move all hit testing code for scrollbars into the base class.  Refactor
17774         it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
17775         functions.
17777         No platform is using this code yet.  Although it has been moved and compiles
17778         (even on Mac), it is not being used on any platform.
17780         Reviewed by Sam Weinig
17782         * platform/ScrollBar.cpp:
17783         (WebCore::Scrollbar::autoscrollPressedPart):
17784         (WebCore::Scrollbar::startTimerIfNeeded):
17785         (WebCore::Scrollbar::handleMouseMoveEvent):
17786         (WebCore::Scrollbar::handleMouseOutEvent):
17787         (WebCore::Scrollbar::handleMouseReleaseEvent):
17788         (WebCore::Scrollbar::handleMousePressEvent):
17789         * platform/ScrollBar.h:
17790         (WebCore::Scrollbar::handleContextMenuEvent):
17791         * platform/ScrollbarTheme.h:
17792         (WebCore::ScrollbarTheme::hitTest):
17793         (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
17794         (WebCore::ScrollbarTheme::invalidatePart):
17795         (WebCore::ScrollbarTheme::shouldCenterOnThumb):
17796         (WebCore::ScrollbarTheme::centerOnThumb):
17797         (WebCore::ScrollbarTheme::thumbPosition):
17798         (WebCore::ScrollbarTheme::thumbLength):
17799         (WebCore::ScrollbarTheme::trackLength):
17800         (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
17801         (WebCore::ScrollbarTheme::autoscrollTimerDelay):
17802         * platform/Widget.h:
17803         (WebCore::Widget::parent):
17804         * platform/mac/PlatformScrollBar.h:
17805         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
17806         (WebCore::PlatformScrollbar::handleMouseOutEvent):
17807         (WebCore::PlatformScrollbar::handleMousePressEvent):
17808         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
17809         * platform/mac/WidgetMac.mm:
17810         (WebCore::Widget::convertFromContainingWindow):
17811         * platform/win/ScrollbarThemeWin.cpp:
17812         (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
17813         * platform/win/ScrollbarThemeWin.h:
17815 2008-09-15  Dan Bernstein  <mitz@apple.com>
17817         Reviewed by Sam Weinig.
17819         - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
17821         Cache the next breakable position for text nodes in InlineIterator.
17823         * rendering/bidi.cpp:
17824         (WebCore::InlineIterator::InlineIterator):
17825         (WebCore::InlineIterator::increment):
17826         (WebCore::RenderBlock::findNextLineBreak):
17828 2008-09-15  Simon Fraser  <simon.fraser@apple.com>
17830         Reviewed by Dan Bernstein
17832         Fix assertion and integral pixel issue when creating subimages.
17833         https://bugs.webkit.org/show_bug.cgi?id=20786
17835         * platform/graphics/cg/ImageCG.cpp:
17836         (WebCore::BitmapImage::draw):
17838 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
17840         Reviewed by Simon.
17842         Implment seek() and clean up and improve debugging output
17844         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
17845         (debugMediaObject):
17846         (WebCore::MediaPlayerPrivate::seek):
17847         (WebCore::MediaPlayerPrivate::setVolume):
17848         (WebCore::MediaPlayerPrivate::setMuted):
17849         (WebCore::MediaPlayerPrivate::updateStates):
17850         (WebCore::MediaPlayerPrivate::naturalSize):
17851         (WebCore::MediaPlayerPrivate::paint):
17852         (WebCore::MediaPlayerPrivate::stateChanged):
17853         (WebCore::MediaPlayerPrivate::tick):
17855 2008-09-15  Holger Hans Peter Freyther  <zecke@selfish.org>
17857         Reviewed by Simon.
17859         Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
17861         m_mediaObject, m_audioOutput, m_videoWidget get created in the
17862         c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
17863         only check if we use the MediaPlayerPrivate after it has been deleted.
17865         Acked-by: Tor Arne Vestbø  <tavestbo@trolltech.com>
17867         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
17868         (WebCore::MediaPlayerPrivate::play):
17869         (WebCore::MediaPlayerPrivate::setVolume):
17870         (WebCore::MediaPlayerPrivate::updateStates):
17872 2008-09-15  Anders Carlsson  <andersca@apple.com>
17874         Reviewed by Maciej.
17876         <rdar://problem/6163988> 
17877         https://bugs.webkit.org/show_bug.cgi?id=20457
17878         Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
17879         
17880         Check the width and height and throw an exception if any of them are 0.
17881         
17882         * html/CanvasRenderingContext2D.cpp:
17883         (WebCore::CanvasRenderingContext2D::createPattern):
17885 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
17887         Reviewed by Simon.
17889         Render media element controls with antialiasing enabled
17891         * platform/qt/RenderThemeQt.cpp:
17892         (WebCore::RenderThemeQt::paintMediaMuteButton):
17893         (WebCore::RenderThemeQt::paintMediaPlayButton):
17894         (WebCore::RenderThemeQt::paintMediaSliderTrack):
17895         (WebCore::RenderThemeQt::paintMediaSliderThumb):
17897 2008-09-15  Ariya Hidayat  <ariya.hidayat@trolltech.com>
17899         Reviewed by Simon.
17901         Upon non fatal error, switch to the pause state (so that playback can continue)
17903         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
17904         (WebCore::MediaPlayerPrivate::updateStates):
17906 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
17908         Reviewed by Simon.
17910         Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
17912         * WebCore.pro:
17914 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
17916         Reviewed by Simon.
17918         Make QtInstance::create() private and fix caching
17920         * bindings/js/ScriptControllerQt.cpp:
17921         (WebCore::ScriptController::createScriptInstanceForWidget):
17922         * bridge/qt/qt_instance.cpp:
17923         (JSC::Bindings::QtInstance::getQtInstance):
17924         (JSC::Bindings::QtInstance::getRuntimeObject):
17925         * bridge/qt/qt_instance.h:
17926         (JSC::Bindings::QtInstance::create):
17927         * bridge/qt/qt_runtime.cpp:
17928         (JSC::Bindings::convertQVariantToValue):
17929         (JSC::Bindings::QtConnectionObject::execute):
17931 2008-09-15  David Smith  <catfish.man@gmail.com>
17933         Reviewed by Dave Hyatt.
17935         https://bugs.webkit.org/show_bug.cgi?id=20180
17936         
17937         >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
17938         With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
17939         querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
17940         
17941         * css/CSSStyleSelector.cpp:
17942         (WebCore::CSSStyleSelector::CSSStyleSelector):
17943         (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
17944         * css/CSSStyleSelector.h:
17946 2008-09-14  Dave Hyatt  <hyatt@apple.com>
17948         Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin.  PlatformScrollbarSafari
17949         is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
17950        
17951         Reviewed by Sam Weinig
17953         * platform/ScrollBar.h:
17954         (WebCore::Scrollbar::client):
17955         (WebCore::Scrollbar::currentPos):
17956         (WebCore::Scrollbar::totalSize):
17957         * platform/ScrollbarTheme.h:
17958         * platform/ScrollbarThemeComposite.cpp:
17959         (WebCore::pageForScrollView):
17960         (WebCore::ScrollbarThemeComposite::paint):
17961         * platform/ScrollbarThemeComposite.h:
17962         (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
17963         * platform/win/PlatformScrollBar.h:
17964         * platform/win/PlatformScrollBarSafari.cpp:
17965         * platform/win/PlatformScrollBarWin.cpp:
17966         * platform/win/ScrollbarThemeSafari.h:
17967         (WebCore::ScrollbarThemeSafari::hasButtons):
17968         (WebCore::ScrollbarThemeSafari::hasThumb):
17969         (WebCore::ScrollbarThemeSafari::backButtonRect):
17970         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
17971         (WebCore::ScrollbarThemeSafari::trackRect):
17972         (WebCore::ScrollbarThemeSafari::splitTrack):
17973         (WebCore::ScrollbarThemeSafari::paintTrack):
17974         (WebCore::ScrollbarThemeSafari::paintButton):
17975         (WebCore::ScrollbarThemeSafari::paintThumb):
17976         * platform/win/ScrollbarThemeWin.cpp:
17977         (WebCore::isRunningOnVistaOrLater):
17978         (WebCore::checkAndInitScrollbarTheme):
17979         (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
17980         (WebCore::ScrollbarThemeWin::themeChanged):
17981         (WebCore::ScrollbarThemeWin::hasThumb):
17982         (WebCore::ScrollbarThemeWin::backButtonRect):
17983         (WebCore::ScrollbarThemeWin::forwardButtonRect):
17984         (WebCore::ScrollbarThemeWin::trackRect):
17985         (WebCore::ScrollbarThemeWin::splitTrack):
17986         (WebCore::ScrollbarThemeWin::paintTrack):
17987         (WebCore::ScrollbarThemeWin::paintButton):
17988         (WebCore::gripperRect):
17989         (WebCore::paintGripper):
17990         (WebCore::ScrollbarThemeWin::paintThumb):
17991         (WebCore::ScrollbarThemeWin::thumbPosition):
17992         (WebCore::ScrollbarThemeWin::thumbLength):
17993         (WebCore::ScrollbarThemeWin::trackLength):
17994         * platform/win/ScrollbarThemeWin.h:
17995         (WebCore::ScrollbarThemeWin::hasButtons):
17996         (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
17998 2008-09-14  Anthony Ricaud  <rik24d@gmail.com>
18000         Moving all resource graphs under the same container for future scalable feature.
18001         This is a speedup on resize but maybe a loss on changing the sorting function.
18003         https://bugs.webkit.org/show_bug.cgi?id=20555
18005         Reviewed by Timothy Hatcher.
18007         * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
18008         Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
18009         * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
18011 2008-09-14  Alexey Proskuryakov  <ap@webkit.org>
18013         Reviewed by Maciej Stachowiak.
18015         https://bugs.webkit.org/show_bug.cgi?id=20738
18016         compareBoundaryPoints gives incorrect results
18018         Test: fast/dom/Range/compareBoundaryPoints-2.html
18020         * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
18021         and END_TO_START.
18022         * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
18024 2008-09-14  Maciej Stachowiak  <mjs@apple.com>
18026         Unreviewed build fix.
18028         Trying again.
18030         * bindings/js/JSQuarantinedObjectWrapper.cpp:
18031         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
18033 2008-09-14  Maciej Stachowiak  <mjs@apple.com>
18035         Unreviewed build fix.
18037         Blind attempt to fix build. Correct parameters for hasInstance.
18039         * bindings/js/JSQuarantinedObjectWrapper.cpp:
18040         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
18041         * bindings/js/JSQuarantinedObjectWrapper.h:
18043 2008-09-14  Dan Bernstein  <mitz@apple.com>
18045         Rubber-stamped by Sam Weinig.
18047         - revert <http://trac.webkit.org/changeset/36382> because it exposed
18048           <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
18049           on Tiger.
18051         * platform/graphics/mac/FontCacheMac.mm:
18052         (WebCore::FontCache::getFontDataForCharacters):
18053         (WebCore::FontCache::getLastResortFallbackFont):
18055 2008-09-14  Dave Hyatt  <hyatt@apple.com>
18057         Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
18058         ScrollbarThemeWin.  Any scrollbar that wants to render by ScrollbarPart can subclass from this
18059         theme.
18060         
18061         Reviewed by Sam Weinig
18063         * WebCore.vcproj/WebCore.vcproj:
18064         * platform/win/ScrollbarThemeSafari.h:
18065         * platform/win/ScrollbarThemeWin.h:
18067 2008-09-14  Alp Toker  <alp@nuanti.com>
18069         https://bugs.webkit.org/show_bug.cgi?id=20320
18070         [GTK] A white rectangle is visible behind widgets with rounded corners
18072         Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
18073         style exempt).
18075         Requested by Michael Monreal.
18077         * platform/gtk/RenderThemeGtk.cpp:
18078         (WebCore::RenderThemeGtk::RenderThemeGtk):
18079         * platform/gtk/gtk2drawing.c:
18080         (moz_gtk_set_widget_name):
18081         (ensure_window_widget):
18082         (setup_widget_prototype):
18083         (ensure_button_arrow_widget):
18084         (moz_gtk_get_combo_box_inner_button):
18085         (moz_gtk_get_combo_box_button_inner_widgets):
18086         (ensure_combo_box_widgets):
18087         (moz_gtk_get_combo_box_entry_inner_widgets):
18088         (moz_gtk_get_combo_box_entry_arrow):
18089         (ensure_combo_box_entry_widgets):
18090         (ensure_toolbar_widget):
18091         (ensure_tooltip_widget):
18092         (ensure_menu_bar_widget):
18093         (ensure_menu_bar_item_widget):
18094         (ensure_menu_popup_widget):
18095         (ensure_menu_item_widget):
18096         (ensure_image_menu_item_widget):
18097         (ensure_menu_separator_widget):
18098         (ensure_check_menu_item_widget):
18099         (ensure_tree_header_cell_widget):
18100         (ensure_scrolled_window_widget):
18101         (moz_gtk_button_paint):
18102         (moz_gtk_init):
18103         (moz_gtk_button_get_inner_border):
18104         (moz_gtk_toggle_paint):
18105         (calculate_button_inner_rect):
18106         (calculate_arrow_rect):
18107         (moz_gtk_scrollbar_button_paint):
18108         (moz_gtk_scrollbar_thumb_paint):
18109         (moz_gtk_caret_paint):
18110         (moz_gtk_entry_paint):
18111         (moz_gtk_treeview_paint):
18112         (moz_gtk_tree_header_cell_paint):
18113         (moz_gtk_combo_box_paint):
18114         (moz_gtk_downarrow_paint):
18115         (moz_gtk_combo_box_entry_button_paint):
18116         (moz_gtk_toolbar_paint):
18117         (moz_gtk_tab_scroll_arrow_paint):
18118         (moz_gtk_menu_bar_paint):
18119         (moz_gtk_menu_item_paint):
18120         (moz_gtk_get_widget_border):
18121         (moz_gtk_get_combo_box_entry_button_size):
18122         (moz_gtk_get_tab_scroll_arrow_size):
18123         (moz_gtk_get_downarrow_size):
18124         (moz_gtk_images_in_menus):
18125         (moz_gtk_widget_paint):
18126         (moz_gtk_shutdown):
18127         * platform/gtk/gtkdrawing.h:
18129 2008-09-14  David Hyatt  <hyatt@apple.com>
18131         Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
18132         painting.  Mac and Gtk themes don't do anything and just let the
18133         underlying widget paint.  Qt now uses the theme to paint.  wx doesn't
18134         do anything yet.
18136         Reviewed by Sam Weinig
18138         * platform/ScrollBar.cpp:
18139         (WebCore::Scrollbar::paint):
18140         * platform/ScrollBar.h:
18141         (WebCore::Scrollbar::value):
18142         (WebCore::Scrollbar::visibleSize):
18143         (WebCore::Scrollbar::maximum):
18144         (WebCore::Scrollbar::lineStep):
18145         (WebCore::Scrollbar::pageStep):
18146         (WebCore::Scrollbar::pixelStep):
18147         (WebCore::Scrollbar::pressedPart):
18148         (WebCore::Scrollbar::hoveredPart):
18149         (WebCore::Scrollbar::theme):
18150         * platform/ScrollbarTheme.h:
18151         (WebCore::ScrollbarTheme::paint):
18152         (WebCore::ScrollbarTheme::scrollbarThickness):
18153         (WebCore::ScrollbarTheme::supportsControlTints):
18154         (WebCore::ScrollbarTheme::themeChanged):
18155         * platform/gtk/PlatformScrollBar.h:
18156         * platform/gtk/PlatformScrollBarGtk.cpp:
18157         * platform/mac/PlatformScrollBar.h:
18158         * platform/mac/PlatformScrollBarMac.mm:
18159         * platform/qt/PlatformScrollBar.h:
18160         * platform/qt/PlatformScrollBarQt.cpp:
18161         * platform/qt/ScrollbarThemeQt.cpp:
18162         (WebCore::styleOptionSlider):
18163         * platform/qt/ScrollbarThemeQt.h:
18164         (WebCore::ScrollbarThemeQt::paint):
18165         * platform/win/PlatformScrollBarSafari.cpp:
18166         (WebCore::PlatformScrollbar::paint):
18167         * platform/win/ScrollbarThemeSafari.h:
18168         (WebCore::ScrollbarThemeSafari::supportsControlTints):
18169         * platform/wx/PlatformScrollBar.h:
18170         * platform/wx/TemporaryLinkStubs.cpp:
18171         (PlatformScrollbar::~PlatformScrollbar):
18173 2008-09-14  Sam Weinig  <sam@webkit.org>
18175         Qt build fix.
18177         * platform/qt/PlatformScrollBarQt.cpp:
18179 2008-09-14  Sam Weinig  <sam@webkit.org>
18181         Reviewed by Mark Rowe.
18183         Remove extraneous semicolons.
18185         * bindings/scripts/CodeGeneratorObjC.pm:
18186         * html/HTMLLinkElement.cpp:
18187         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
18188         * html/HTMLScriptElement.cpp:
18189         (WebCore::HTMLScriptElement::charsetAttributeValue):
18190         (WebCore::HTMLScriptElement::typeAttributeValue):
18191         * platform/graphics/qt/GradientQt.cpp:
18192         (WebCore::Gradient::platformGradient):
18193         * platform/qt/ScrollViewQt.cpp:
18194         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
18195         * platform/win/ScrollViewWin.cpp:
18196         (WebCore::ScrollView::updateScrollbars):
18197         * rendering/RenderBlock.cpp:
18198         (WebCore::RenderBlock::paintEllipsisBoxes):
18199         * svg/SVGPathSegList.cpp:
18200         (WebCore::SVGPathSegList::toPathData):
18202 2008-09-14  Sam Weinig  <sam@webkit.org>
18204         Qt build fix.
18206         * platform/qt/ScrollViewQt.cpp:
18207         (WebCore::ScrollView::updateScrollbars):
18209 2008-09-14  Sam Weinig  <sam@webkit.org>
18211         Qt build fix.
18213         * platform/qt/PlatformScrollBarQt.cpp:
18214         (WebCore::PlatformScrollbar::PlatformScrollbar):
18215         (WebCore::PlatformScrollbar::paint):
18217 2008-09-13  Jan Michael Alonzo  <jmalonzo@webkit.org>
18219         Gtk build fix, not reviewed.
18221         * platform/gtk/PlatformScrollBarGtk.cpp:
18222         (PlatformScrollbar::PlatformScrollbar):
18223         * platform/gtk/ScrollViewGtk.cpp:
18224         (WebCore::ScrollView::updateScrollbars):
18226 2008-09-13  Dave Hyatt  <hyatt@apple.com>
18228         Remove scrollbar's setRect method.  Clients can now just call setFrameGeometry (the corresponding Widget) method
18229         to set the dimensions of a scrollbar.
18230         
18231         Reviewed by Sam Weinig
18233         * platform/ScrollBar.h:
18234         * platform/gtk/PlatformScrollBar.h:
18235         * platform/gtk/PlatformScrollBarGtk.cpp:
18236         (PlatformScrollbar::setFrameGeometry):
18237         * platform/gtk/ScrollViewGtk.cpp:
18238         (WebCore::ScrollView::updateScrollbars):
18239         * platform/mac/PlatformScrollBarMac.mm:
18240         * platform/qt/PlatformScrollBarQt.cpp:
18241         * platform/qt/ScrollViewQt.cpp:
18242         (WebCore::ScrollView::updateScrollbars):
18243         * platform/win/PlatformScrollBar.h:
18244         * platform/win/PlatformScrollBarSafari.cpp:
18245         (WebCore::PlatformScrollbar::PlatformScrollbar):
18246         (WebCore::PlatformScrollbar::setFrameGeometry):
18247         * platform/win/PlatformScrollBarWin.cpp:
18248         (WebCore::PlatformScrollbar::PlatformScrollbar):
18249         (WebCore::PlatformScrollbar::setFrameGeometry):
18250         * platform/win/PopupMenuWin.cpp:
18251         (WebCore::PopupWndProc):
18252         * platform/win/ScrollViewWin.cpp:
18253         (WebCore::ScrollView::updateScrollbars):
18254         * platform/wx/PlatformScrollBar.h:
18255         * platform/wx/TemporaryLinkStubs.cpp:
18256         (PlatformScrollbar::updateThumbProportion):
18257         * rendering/RenderLayer.cpp:
18258         (WebCore::RenderLayer::positionOverflowControls):
18259         * rendering/RenderListBox.cpp:
18260         (WebCore::RenderListBox::paintScrollbar):
18262 2008-09-13  Dave Hyatt  <hyatt@apple.com>
18264         Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
18265        
18266         Reviewed by Sam Weinig
18268         * platform/ScrollBar.h:
18269         * platform/gtk/PlatformScrollBar.h:
18270         * platform/gtk/PlatformScrollBarGtk.cpp:
18271         * platform/mac/PlatformScrollBar.h:
18272         * platform/mac/PlatformScrollBarMac.mm:
18273         * platform/win/PlatformScrollBar.h:
18274         * platform/win/PlatformScrollBarSafari.cpp:
18275         * platform/win/PlatformScrollBarWin.cpp:
18276         * platform/wx/PlatformScrollBar.h:
18277         * platform/wx/TemporaryLinkStubs.cpp:
18278         (PlatformScrollbar::~PlatformScrollbar):
18280 2008-09-13  Dave Hyatt  <hyatt@apple.com>
18282         Remove width()/height() from Scrollbar now that it derives from Widget.  Remove width()/height() from
18283         all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
18285         Reviewed by Sam Weinig
18287         * platform/ScrollBar.h:
18288         * platform/gtk/PlatformScrollBar.h:
18289         * platform/gtk/PlatformScrollBarGtk.cpp:
18290         * platform/mac/PlatformScrollBar.h:
18291         * platform/mac/PlatformScrollBarMac.mm:
18292         * platform/win/PlatformScrollBarSafari.cpp:
18293         * platform/win/PlatformScrollBarWin.cpp:
18294         * platform/wx/PlatformScrollBar.h:
18295         * platform/wx/TemporaryLinkStubs.cpp:
18296         (PlatformScrollbar::~PlatformScrollbar):
18298 2008-09-13  Dave Hyatt  <hyatt@apple.com>
18300         Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
18302         Reviewed by Sam Weinig
18304         * platform/ScrollBar.cpp:
18305         (WebCore::Scrollbar::~Scrollbar):
18306         * platform/ScrollBar.h:
18307         * platform/qt/PlatformScrollBarQt.cpp:
18308         (WebCore::PlatformScrollbar::~PlatformScrollbar):
18309         * platform/win/PlatformScrollBarSafari.cpp:
18310         (WebCore::PlatformScrollbar::~PlatformScrollbar):
18311         * platform/win/PlatformScrollBarWin.cpp:
18312         (WebCore::PlatformScrollbar::~PlatformScrollbar):
18314 2008-09-13  David Hyatt  <hyatt@apple.com>
18316         Move maximum() from Qt's PlatformScrollbar to be a cross-platform
18317         function on Scrollbar.  Fixes Qt build bustage.
18319         Reviewed by Sam Weinig
18321         * platform/ScrollBar.h:
18322         (WebCore::Scrollbar::orientation):
18323         (WebCore::Scrollbar::value):
18324         (WebCore::Scrollbar::maximum):
18325         * platform/qt/PlatformScrollBar.h:
18327 2008-09-13  Dan Bernstein  <mitz@apple.com>
18329         Reviewed by Sam Weinig.
18331         - use the LastResort font for missing glyphs instead of showing the
18332           primary font's missing glyph
18334         Test: platform/mac/fast/text/last-resort-font.html
18336         * platform/graphics/mac/FontCacheMac.mm:
18337         (WebCore::FontCache::getFontDataForCharacters): Changed to return the
18338         last resort font if a substitute font cannot be found.
18339         (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
18340         comment (the user's preferred standard font is included in the search
18341         thanks to code in FontCache::getFontData()) and changed to return the
18342         LastResort font.  
18344 2008-09-13  Dave Hyatt  <hyatt@apple.com>
18346         This patch adds ScrollbarTheme to the build.  ScrollbarTheme is similar to RenderTheme (but for
18347         scrollbars only).  For now ScrollbarTheme just handles returning the size of scrollbars.  Subsequent
18348         patches will move rendering and hit testing functionality into this class.
18349         
18350         Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt).  The wxWidgets port does not
18351         implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
18352        
18353         Reviewed by Sam Weinig
18355         * GNUmakefile.am:
18356         * WebCore.pro:
18357         * WebCore.vcproj/WebCore.vcproj:
18358         * platform/ScrollBar.cpp:
18359         (WebCore::Scrollbar::Scrollbar):
18360         * platform/ScrollBar.h:
18361         * platform/ScrollbarTheme.h: Added.
18362         (WebCore::ScrollbarTheme::~ScrollbarTheme):
18363         (WebCore::ScrollbarTheme::scrollbarThickness):
18364         (WebCore::ScrollbarTheme::themeChanged):
18365         * platform/gtk/ScrollbarThemeGtk.cpp: Added.
18366         (WebCore::ScrollbarTheme::nativeTheme):
18367         (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
18368         (WebCore::ScrollbarThemeGtk::scrollbarThickness):
18369         * platform/gtk/ScrollbarThemeGtk.h: Added.
18370         * platform/mac/PlatformScrollBar.h:
18371         * platform/mac/ScrollbarThemeMac.cpp: Added.
18372         (WebCore::ScrollbarTheme::nativeTheme):
18373         (WebCore::):
18374         (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
18375         (WebCore::ScrollbarThemeMac::scrollbarThickness):
18376         * platform/mac/ScrollbarThemeMac.h: Added.
18377         * platform/qt/PlatformScrollBarQt.cpp:
18378         * platform/qt/ScrollbarThemeQt.cpp: Added.
18379         (WebCore::ScrollbarTheme::nativeTheme):
18380         (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
18381         (WebCore::ScrollbarThemeQt::scrollbarThickness):
18382         * platform/qt/ScrollbarThemeQt.h: Added.
18383         * platform/win/PlatformScrollBar.h:
18384         * platform/win/PlatformScrollBarSafari.cpp:
18385         * platform/win/PlatformScrollBarWin.cpp:
18386         * platform/win/PopupMenuWin.cpp:
18387         (WebCore::PopupMenu::calculatePositionAndSize):
18388         * platform/win/ScrollViewWin.cpp:
18389         (WebCore::ScrollView::updateScrollbars):
18390         (WebCore::ScrollView::themeChanged):
18391         * platform/win/ScrollbarThemeSafari.cpp: Added.
18392         (WebCore::ScrollbarTheme::nativeTheme):
18393         (WebCore::):
18394         (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
18395         (WebCore::ScrollbarThemeSafari::scrollbarThickness):
18396         * platform/win/ScrollbarThemeSafari.h: Added.
18397         * platform/win/ScrollbarThemeWin.cpp: Added.
18398         (WebCore::ScrollbarTheme::nativeTheme):
18399         (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
18400         (WebCore::ScrollbarThemeWin::scrollbarThickness):
18401         (WebCore::ScrollbarThemeWin::themeChanged):
18402         * platform/win/ScrollbarThemeWin.h: Added.
18403         * platform/wx/TemporaryLinkStubs.cpp:
18404         (ScrollbarTheme::nativeTheme):
18405         * rendering/RenderLayer.cpp:
18406         (WebCore::scrollCornerRect):
18407         * rendering/RenderTextControl.cpp:
18408         (WebCore::RenderTextControl::calcHeight):
18409         (WebCore::RenderTextControl::calcPrefWidths):
18411 2008-09-13  Chris Fleizach  <cfleizach@apple.com>
18413         Reviewed by Timothy Hatcher.
18415         <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
18417         * page/mac/AccessibilityObjectWrapper.mm:
18418         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
18420 2008-09-13  Dan Bernstein  <mitz@apple.com>
18422         Reviewed by Timothy Hatcher.
18424         - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
18426         No regression test because the back/forward cache is disabled in DumpRenderTree
18428         * rendering/RenderContainer.cpp:
18429         (WebCore::RenderContainer::invalidateCounters): Bail out if the document
18430         is being destroyed.
18432 2008-09-13  Kevin Ollivier  <kevino@theolliviers.com>
18434         wx build fixes for new methods recently introduced.
18436         * platform/graphics/wx/AffineTransformWx.cpp:
18437         (WebCore::AffineTransform::AffineTransform):
18438         (WebCore::AffineTransform::setMatrix):
18439         (WebCore::AffineTransform::setA):
18440         (WebCore::AffineTransform::setB):
18441         (WebCore::AffineTransform::setC):
18442         (WebCore::AffineTransform::setD):
18443         (WebCore::AffineTransform::setE):
18444         (WebCore::AffineTransform::setF):
18445         * platform/wx/LocalizedStringsWx.cpp:
18446         (WebCore::AXDefinitionListTermText):
18447         (WebCore::AXDefinitionListDefinitionText):
18449 2008-09-12  Dave Hyatt  <hyatt@apple.com>
18451         Move the member variables of PlatformScrollbar up into Scrollbar.  Move autoscroll timer handling
18452         up into scrollbar.  Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
18453         "PlatformScrollbar."
18454         
18455         Reviewed by Sam Weinig
18457         * WebCore.vcproj/WebCore.vcproj:
18458         * editing/EditorCommand.cpp:
18459         * page/EventHandler.cpp:
18460         (WebCore::EventHandler::selectCursor):
18461         (WebCore::EventHandler::handleMousePressEvent):
18462         (WebCore::EventHandler::handleMouseMoveEvent):
18463         * page/EventHandler.h:
18464         * page/MouseEventWithHitTestResults.cpp:
18465         (WebCore::MouseEventWithHitTestResults::scrollbar):
18466         * page/MouseEventWithHitTestResults.h:
18467         * page/gtk/EventHandlerGtk.cpp:
18468         (WebCore::EventHandler::passMousePressEventToScrollbar):
18469         * page/mac/EventHandlerMac.mm:
18470         (WebCore::EventHandler::passMousePressEventToScrollbar):
18471         * page/qt/EventHandlerQt.cpp:
18472         (WebCore::EventHandler::passMousePressEventToScrollbar):
18473         * page/win/EventHandlerWin.cpp:
18474         (WebCore::EventHandler::passMousePressEventToScrollbar):
18475         * page/wx/EventHandlerWx.cpp:
18476         (WebCore::EventHandler::passMousePressEventToScrollbar):
18477         * platform/PopupMenu.h:
18478         * platform/ScrollBar.cpp:
18479         (WebCore::Scrollbar::Scrollbar):
18480         (WebCore::Scrollbar::autoscrollTimerFired):
18481         (WebCore::Scrollbar::autoscrollPressedPart):
18482         (WebCore::Scrollbar::startTimerIfNeeded):
18483         (WebCore::Scrollbar::stopTimerIfNeeded):
18484         (WebCore::Scrollbar::pressedPartScrollDirection):
18485         (WebCore::Scrollbar::pressedPartScrollGranularity):
18486         * platform/ScrollBar.h:
18487         (WebCore::Scrollbar::handleMousePressEvent):
18488         (WebCore::Scrollbar::invalidatePart):
18489         (WebCore::Scrollbar::thumbUnderMouse):
18490         * platform/ScrollView.h:
18491         * platform/ScrollbarClient.h: Added.
18492         (WebCore::ScrollbarClient::~ScrollbarClient):
18493         * platform/gtk/ScrollViewGtk.cpp:
18494         (WebCore::ScrollView::scrollbarUnderMouse):
18495         * platform/qt/PlatformScrollBar.h:
18496         * platform/qt/PlatformScrollBarQt.cpp:
18497         (WebCore::PlatformScrollbar::PlatformScrollbar):
18498         (WebCore::scrollbarPart):
18499         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
18500         (WebCore::PlatformScrollbar::handleMouseOutEvent):
18501         (WebCore::PlatformScrollbar::handleMousePressEvent):
18502         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
18503         * platform/qt/ScrollViewQt.cpp:
18504         (WebCore::ScrollView::scrollbarUnderMouse):
18505         (WebCore::ScrollView::wheelEvent):
18506         * platform/win/PlatformScrollBar.h:
18507         * platform/win/PlatformScrollBarSafari.cpp:
18508         (WebCore::PlatformScrollbar::PlatformScrollbar):
18509         * platform/win/PlatformScrollBarWin.cpp:
18510         (WebCore::PlatformScrollbar::PlatformScrollbar):
18511         * platform/win/ScrollViewWin.cpp:
18512         (WebCore::ScrollView::scrollbarUnderMouse):
18513         * rendering/HitTestResult.cpp:
18514         (WebCore::HitTestResult::setScrollbar):
18515         * rendering/HitTestResult.h:
18516         (WebCore::HitTestResult::scrollbar):
18517         * rendering/RenderLayer.cpp:
18518         (WebCore::RenderLayer::hitTestOverflowControls):
18519         * rendering/RenderLayer.h:
18520         * rendering/RenderListBox.h:
18522 2008-09-12  Steve Falkenburg  <sfalken@apple.com>
18524         Fix Mac build.
18526         * css/CSSStyleSelector.cpp:
18527         (WebCore::getTransformOperationType):
18529 2008-09-12  Chris Marrin  <cmarrin@apple.com>
18531         Reviewed by Dave Hyatt.
18533         Make transform animation behavior match spec
18534         https://bugs.webkit.org/show_bug.cgi?id=20770
18536         Tests: transitions/transform-op-list-match.html
18537                transitions/transform-op-list-no-match.html
18539         * css/CSSStyleSelector.cpp:
18540         * css/CSSStyleSelector.h:
18541         * page/animation/AnimationBase.cpp:
18542         * page/animation/AnimationBase.h:
18543         * page/animation/ImplicitAnimation.cpp:
18544         * page/animation/ImplicitAnimation.h:
18545         * page/animation/KeyframeAnimation.cpp:
18546         * page/animation/KeyframeAnimation.h:
18547         * rendering/RenderLayer.cpp:
18548         * rendering/style/RenderStyle.cpp:
18549         * rendering/style/RenderStyle.h:
18551 2008-09-12  Ojan Vafai  <ojan@chromium.org>
18553         Properly escape contents of links added to the inspector.
18554         For now, just build the link with the DOM and get the
18555         outerHTML. Eventually, we probably just want to do
18556         this entirely with the DOM.
18558         Reviewed by Timothy Hatcher.
18560         https://bugs.webkit.org/show_bug.cgi?id=20684
18562         * manual-tests/inspector/escape-links.html: Added.
18563         * page/inspector/StylesSidebarPane.js:
18564         * page/inspector/inspector.js:
18565         * page/inspector/utilities.js:
18567 2008-09-12  Adele Peterson  <adele@apple.com>
18569         Reviewed by John Sullivan and Kevin McCullough.
18571         Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
18573         * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
18574         Hit testing again on the main frame will only work if we aren't already on the main frame.  If we are already on the main frame, that will
18575         cause infinite recursion.  This change checks that we're not already on the main frame before hit testing again. 
18577 2008-09-12  Kevin McCullough  <kmccullough@apple.com>
18579         RS by Tim .
18581         Re-introducing the code since it was not the cause of the crash.
18582         See r36343.
18584         * rendering/RenderObject.cpp:
18585         (WebCore::RenderObject::canBeProgramaticallyScrolled):
18586         * rendering/RenderObject.h:
18588 2008-09-12  Chris Marrin  <cmarrin@apple.com>
18590         Reviewed by Dave Hyatt.
18592         When changing one animation in a list, don't reset other animations
18593         https://bugs.webkit.org/show_bug.cgi?id=20675
18595         Test: animations/change-one-anim.html
18597         * page/animation/AnimationBase.cpp:
18598         (WebCore::AnimationBase::getNumProperties):
18599         * page/animation/AnimationBase.h:
18600         * page/animation/AnimationController.cpp:
18601         * page/animation/CompositeAnimation.cpp:
18602         (WebCore::CompositeAnimation::updateKeyframeAnimations):
18603         * page/animation/CompositeAnimation.h:
18604         * page/animation/ImplicitAnimation.cpp:
18605         * page/animation/KeyframeAnimation.cpp:
18606         * page/animation/KeyframeAnimation.h:
18607         (WebCore::KeyframeAnimation::setIndex):
18609 2008-09-12  Brady Eidson  <beidson@apple.com>
18611         Reviewed by Mitz Pettel
18613         Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
18615         * loader/DocumentLoader.cpp:
18616         (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
18617           Subresources can never be created from nil data, but there is always a MainResource, whether
18618           or not there's any data.  So in the case where the main resource has no data, fake it for the
18619           sake of creating the ArchiveResource.
18621 2008-09-12  Dave Hyatt  <hyatt@apple.com>
18623         Preparation for major scrollbar rearchitecture.  Eliminate the concept of non-widget based
18624         scrollbars (which we never supported anyway).  Make Scrollbar derive from Widget directly.
18625         Remove all the isWidget and hasPlatformScrollbars guards.
18626         
18627         Reviewed by Tim Hatcher
18629         * platform/ScrollBar.h:
18630         * platform/gtk/PlatformScrollBar.h:
18631         * platform/mac/PlatformScrollBar.h:
18632         * platform/qt/PlatformScrollBar.h:
18633         * platform/win/PlatformScrollBar.h:
18634         * platform/win/ScrollViewWin.cpp:
18635         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
18636         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
18637         * platform/wx/PlatformScrollBar.h:
18638         * rendering/RenderLayer.cpp:
18639         (WebCore::RenderLayer::horizontalScrollbarWidget):
18640         (WebCore::RenderLayer::verticalScrollbarWidget):
18641         (WebCore::RenderLayer::createScrollbar):
18642         (WebCore::RenderLayer::destroyScrollbar):
18643         * rendering/RenderListBox.cpp:
18644         (WebCore::RenderListBox::~RenderListBox):
18645         (WebCore::RenderListBox::updateFromElement):
18646         (WebCore::RenderListBox::isPointInOverflowControl):
18648 2008-09-12  Dan Bernstein  <mitz@apple.com>
18650         Reviewed by Sam Weinig.
18652         - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
18654         * page/animation/AnimationController.cpp:
18655         * page/animation/AnimationController.h:
18656         * page/animation/CompositeAnimation.cpp:
18657         * page/animation/CompositeAnimation.h:
18658         * page/animation/ImplicitAnimation.cpp:
18659         * page/animation/ImplicitAnimation.h:
18660         * page/animation/KeyframeAnimation.cpp:
18661         * page/animation/KeyframeAnimation.h:
18663 2008-09-11  Timothy Hatcher  <timothy@apple.com>
18665         Add a renderedImage method to DOMNode to get an image
18666         of the rendering for the node and it's descendants.
18668         <rdar://problem/5849349> Would like API to create
18669         an image for a DOM node
18671         Reviewed by Oliver Hunt.
18673         * bindings/objc/DOM.mm:
18674         (-[DOMNode renderedImage]): Call Frame::nodeImage.
18675         * bindings/objc/DOMPrivate.h:
18676         * page/Frame.h:
18677         * page/mac/FrameMac.mm:
18678         (WebCore::Frame::nodeImage):
18680 2008-09-08  Chris Marrin  <cmarrin@apple.com>
18682         Reviewed by Dave Hyatt
18684         Need to support comma separated list of key times in keyframes selectors
18685         https://bugs.webkit.org/show_bug.cgi?id=20680
18687         Test: animations/keyframes-comma-separated.html
18689         * css/CSSGrammar.y:
18690         * css/CSSParser.cpp:
18691         (WebCore::CSSParser::createKeyframeRule):
18692         * css/CSSParser.h:
18693         * css/CSSStyleSelector.cpp:
18694         (WebCore::CSSStyleSelector::addKeyframeStyle):
18695         * css/WebKitCSSKeyframeRule.cpp:
18696         (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
18697         (WebCore::WebKitCSSKeyframeRule::cssText):
18698         (WebCore::WebKitCSSKeyframeRule::parseKeyString):
18699         * css/WebKitCSSKeyframeRule.h:
18700         (WebCore::WebKitCSSKeyframeRule::keyText):
18701         (WebCore::WebKitCSSKeyframeRule::setKeyText):
18702         (WebCore::WebKitCSSKeyframeRule::getKeys):
18703         * css/WebKitCSSKeyframesRule.cpp:
18704         (WebCore::WebKitCSSKeyframesRule::append):
18705         (WebCore::WebKitCSSKeyframesRule::insertRule):
18706         (WebCore::WebKitCSSKeyframesRule::deleteRule):
18707         (WebCore::WebKitCSSKeyframesRule::findRule):
18708         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
18709         * css/WebKitCSSKeyframesRule.h:
18710         * page/animation/AnimationBase.cpp:
18711         (WebCore::AnimationBase::blendProperties):
18713 2008-09-11  Kevin McCullough  <kmccullough@apple.com>
18715         RS by Tim.
18717         Reverting because this caused a crash.
18719         * rendering/RenderObject.cpp:
18720         (WebCore::RenderObject::canBeProgramaticallyScrolled):
18721         (WebCore::RenderObject::hasScrollableView):
18722         * rendering/RenderObject.h:
18724 2008-09-11  Dean Jackson  <dino@apple.com>
18726         Reviewed by Dan Bernstein.
18728         Fix assertion on transition property "none"
18729         https://bugs.webkit.org/show_bug.cgi?id=20751
18731         Test: transitions/transition-end-event-set-none.html
18733         * page/animation/CompositeAnimation.cpp:
18734         (WebCore::CompositeAnimation::updateTransitions):
18736 2008-09-11  David Smith  <catfish.man@gmail.com>
18738         Rubber-stamped by mitzpettel.
18740         Remove an accidentally added extra file.
18742         * WebCore: Removed.
18744 2008-09-11  David Smith  <catfish.man@gmail.com>
18746         Reviewed by Darin
18748         https://bugs.webkit.org/show_bug.cgi?id=20180
18749         
18750         This speeds up :nth-child matching as tested by querySelectorAll by around 10% by inlining the common case of Node::renderStyle(). Many thanks to mitzpettel and othermaciej for suggestions and help.
18752         * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
18753         * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
18754         * dom/Element.cpp: include NodeRenderStyle.h
18755         * dom/Node.cpp: Remove the definition of renderStyle()
18756         (WebCore::Node::nonRendererRenderStyle):
18757         * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
18758         * dom/NodeRenderStyle.h: Added.
18759         (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
18760         * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
18761         * html/HTMLOptGroupElement.h:
18762         (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
18763         * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
18764         * html/HTMLOptionElement.h:
18765         (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
18766         * rendering/RenderListBox.cpp: include NodeRenderStyle.h
18767         * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
18768         * svg/SVGUseElement.cpp: include NodeRenderStyle.h
18770 2008-09-11  Kevin McCullough  <kmccullough@apple.com>
18772         Reviewed by Adele and Tim.
18774         <rdar://problem/6100597> REGRESSION: clicking on search results in Web
18775         Inspector does not scroll to the line of the results (20167)
18776         - This was put in by Max to fix auto scrolling but is not correct for
18777         the whole web: rdar://problem/6213098
18779         * rendering/RenderObject.cpp:
18780         (WebCore::RenderObject::canBeProgramaticallyScrolled):
18781         * rendering/RenderObject.h:
18783 2008-09-11  Chris Fleizach  <cfleizach@apple.com>
18785         Reviewed by Beth Dakin
18787         <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
18789         Test: accessibility/frame-with-title.html
18791         * page/AccessibilityRenderObject.cpp:
18792         (WebCore::AccessibilityRenderObject::accessibilityDescription):
18794 2008-09-11  Dirk Schulze  <vbs85@gmx.de>
18796         Reviewed by Simon.
18798         Fixed stroke() and strokeRect() to support gradients
18799         and patterns on Qt.
18801         [Qt] Canvas stroke don't work for gradients and patterns
18802         [https://bugs.webkit.org/show_bug.cgi?id=20749]
18804         * platform/graphics/qt/GraphicsContextQt.cpp:
18805         (WebCore::GraphicsContext::strokePath):
18806         (WebCore::GraphicsContext::strokeRect):
18808 2008-09-11  Dirk Schulze  <vbs85@gmx.de>
18810         Reviewed by Simon.
18812         https://bugs.webkit.org/show_bug.cgi?id=20729
18814         Fixed canvas gradients for Qt
18816         [Qt] Canvas gradients don't work as expected
18817         [https://bugs.webkit.org/show_bug.cgi?id=20729]
18819         * platform/graphics/qt/GradientQt.cpp:
18820         (WebCore::Gradient::platformGradient):
18822 2008-09-11  Dirk Schulze  <vbs85@gmx.de>
18824         Reviewed by Simon.
18826         https://bugs.webkit.org/show_bug.cgi?id=20568
18828         Add support for patterns to Qt.
18830         * platform/graphics/qt/PatternQt.cpp:
18831         (WebCore::Pattern::createPlatformPattern):
18833 2008-09-10  Dan Bernstein  <mitz@apple.com>
18835         Reviewed by Sam Weinig.
18837         - clean up AnimationBase
18839         * page/animation/AnimationBase.cpp:
18840         * page/animation/AnimationBase.h:
18841         * page/animation/CompositeAnimation.cpp:
18842         * page/animation/ImplicitAnimation.cpp:
18843         * page/animation/ImplicitAnimation.h:
18844         * page/animation/KeyframeAnimation.cpp:
18845         * page/animation/KeyframeAnimation.h:
18847 2008-09-10  Alexey Proskuryakov  <ap@webkit.org>
18849         Reviewed by Darin Adler.
18851         https://bugs.webkit.org/show_bug.cgi?id=20741
18852         REGRESSION: ISO-8859-8-I encoding is registered incorrectly
18854         Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
18855         check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
18856         tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
18858         I also found and fixed a potential crasher for non-Mac ports.
18860         Tests: fast/encoding/hebrew/8859-8-e.html
18861                fast/encoding/hebrew/8859-8-i.html
18862                fast/encoding/hebrew/8859-8.html
18863                fast/encoding/hebrew/csISO88598I.html
18864                fast/encoding/hebrew/hebrew.html
18865                fast/encoding/hebrew/iso-ir-138.html
18866                fast/encoding/hebrew/logical.html
18868         * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
18869         (case-insensitively, because different versions of ICU report this MIME name in different
18870         case).
18872         * platform/text/TextCodecICU.cpp:
18873         (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
18874         (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
18875         There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
18876         with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
18877         we also support these via TEC (which we should stop doing), but on Windows, this would
18878         likely crash.
18880 2008-09-09  Dave Hyatt  <hyatt@apple.com
18882         Resurrect PlatformScrollbarWin.
18883         
18884         Reviewed by Adam Roben
18886         * WebCore.vcproj/WebCore.vcproj:
18887         * platform/win/PlatformScrollBarWin.cpp:
18888         (WebCore::isRunningOnVistaOrLater):
18889         (WebCore::checkAndInitScrollbarTheme):
18890         (WebCore::PlatformScrollbar::PlatformScrollbar):
18891         (WebCore::PlatformScrollbar::invalidateTrack):
18892         (WebCore::PlatformScrollbar::invalidatePart):
18893         (WebCore::PlatformScrollbar::paint):
18894         (WebCore::PlatformScrollbar::hasButtons):
18895         (WebCore::PlatformScrollbar::hasThumb):
18896         (WebCore::PlatformScrollbar::backButtonRect):
18897         (WebCore::PlatformScrollbar::forwardButtonRect):
18898         (WebCore::PlatformScrollbar::trackRect):
18899         (WebCore::PlatformScrollbar::gripperRect):
18900         (WebCore::PlatformScrollbar::thumbLength):
18901         (WebCore::PlatformScrollbar::paintButton):
18902         (WebCore::PlatformScrollbar::paintTrack):
18903         (WebCore::PlatformScrollbar::paintThumb):
18904         (WebCore::PlatformScrollbar::paintGripper):
18905         (WebCore::PlatformScrollbar::hitTest):
18906         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
18907         (WebCore::PlatformScrollbar::handleMouseOutEvent):
18908         (WebCore::PlatformScrollbar::themeChanged):
18910 2008-09-09  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
18912         Reviewed by Maciej Stachowiak.
18914         Bug 20759: Remove MacroAssembler
18915         <https://bugs.webkit.org/show_bug.cgi?id=20759>
18917         Make the necessary changes to ForwardingHeaders to remove
18918         MacroAssembler.
18920         * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
18921         * ForwardingHeaders/masm/MacroAssembler.h: Removed.
18922         * ForwardingHeaders/masm/X86Assembler.h: Added.
18924 2008-09-09  Alp Toker  <alp@nuanti.com>
18926         Reviewed by Dave Hyatt.
18928         https://bugs.webkit.org/show_bug.cgi?id=16792
18929         [GTK] Fails to render Japanese/Chinese text with simple path
18931         https://bugs.webkit.org/show_bug.cgi?id=16942
18932         [GTK] Oddities in font selection and fall back
18934         https://bugs.webkit.org/show_bug.cgi?id=16862
18935         [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
18937         GTK+ font fixes and enhancements.
18939         Implement font fallback for the simple FontConfig-based text path and
18940         improve the Pango-based complex text path to make use of requested
18941         font properties and available font selection.
18943         Add text shadow support to the complex path.
18945         * platform/graphics/gtk/FontCacheGtk.cpp:
18946         (WebCore::FontCache::getFontDataForCharacters):
18947         (WebCore::FontCache::getSimilarFontPlatformData):
18948         * platform/graphics/gtk/FontGtk.cpp:
18949         (WebCore::setPangoAttributes):
18950         (WebCore::Font::drawComplexText):
18951         (WebCore::getDefaultPangoLayout):
18952         (WebCore::Font::floatWidthForComplexText):
18953         (WebCore::Font::offsetForPositionForComplexText):
18954         (WebCore::Font::selectionRectForComplexText):
18955         * platform/graphics/gtk/FontPlatformData.h:
18956         (WebCore::FontPlatformData::FontPlatformData):
18957         (WebCore::FontPlatformData::hash):
18958         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
18959         (WebCore::FontPlatformData::FontPlatformData):
18960         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
18961         (WebCore::SimpleFontData::platformDestroy):
18963 2008-09-09  Dave Hyatt  <hyatt@apple.com>
18965         Make the Windows classic case work again.  Overlap in slider constants and other constants broke
18966         the push state for buttons and checkboxes.  Make sure to check the RenderObject's appearance
18967         value to make sure it's really a slider thumb to resolve this conflict.
18968        
18969         Reviewed by Adam Roben
18971         * rendering/RenderThemeWin.cpp:
18972         (WebCore::drawControl):
18974 2008-09-05  Chris Marrin  <cmarrin@apple.com>
18976         Reviewed by Sam Weinig.
18978         Need to handle the case when 0% or 100% keyframe is omitted
18979         https://bugs.webkit.org/show_bug.cgi?id=20679
18981         Tests: animations/keyframes-from-missing.html
18982                animations/keyframes-to-missing.html
18984         * css/CSSStyleSelector.cpp:
18985         (WebCore::CSSStyleSelector::addKeyframeStyle):
18987 2008-09-09  Dave Hyatt  <hyatt@apple.com>
18989         Resurrect Safari's original RenderThemeWin and bring it up to date with ToT.  Having a current
18990         RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
18991         merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
18992         what changes have been made as compared with the old RenderThemeWin).
18993         
18994         Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
18995         text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
18996         vs. printer advancement rounding).
18997     
18998         Reviewed by Adam/Sam
19000         * css/CSSStyleSelector.cpp:
19001         (WebCore::CSSStyleSelector::applyProperty):
19002         * platform/graphics/Icon.h:
19003         (WebCore::Icon::create):
19004         * rendering/RenderThemeWin.cpp:
19005         (WebCore::RenderThemeWin::RenderThemeWin):
19006         (WebCore::RenderThemeWin::~RenderThemeWin):
19007         (WebCore::RenderThemeWin::buttonTheme):
19008         (WebCore::RenderThemeWin::textFieldTheme):
19009         (WebCore::RenderThemeWin::menuListTheme):
19010         (WebCore::RenderThemeWin::sliderTheme):
19011         (WebCore::RenderThemeWin::close):
19012         (WebCore::RenderThemeWin::themeChanged):
19013         (WebCore::RenderThemeWin::supportsHover):
19014         (WebCore::fillFontDescription):
19015         (WebCore::RenderThemeWin::systemFont):
19016         (WebCore::RenderThemeWin::supportsFocus):
19017         (WebCore::RenderThemeWin::determineClassicState):
19018         (WebCore::RenderThemeWin::determineState):
19019         (WebCore::RenderThemeWin::determineSliderThumbState):
19020         (WebCore::RenderThemeWin::getClassicThemeData):
19021         (WebCore::RenderThemeWin::getThemeData):
19022         (WebCore::drawControl):
19023         (WebCore::RenderThemeWin::paintButton):
19024         (WebCore::RenderThemeWin::paintTextField):
19025         (WebCore::RenderThemeWin::paintMenuList):
19026         (WebCore::RenderThemeWin::adjustMenuListStyle):
19027         (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
19028         (WebCore::RenderThemeWin::paintMenuListButton):
19029         (WebCore::RenderThemeWin::paintSliderTrack):
19030         (WebCore::RenderThemeWin::paintSliderThumb):
19031         (WebCore::RenderThemeWin::adjustSliderThumbSize):
19032         (WebCore::RenderThemeWin::paintSearchField):
19033         (WebCore::RenderThemeWin::adjustSearchFieldStyle):
19034         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
19035         (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
19036         (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
19037         (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
19038         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
19039         (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
19040         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
19041         * rendering/RenderThemeWin.h:
19042         (WebCore::ThemeData::ThemeData):
19043         (WebCore::RenderThemeWin::paintSearchFieldDecoration):
19044         (WebCore::RenderThemeWin::adjustButtonStyle):
19045         (WebCore::RenderThemeWin::adjustTextFieldStyle):
19046         (WebCore::RenderThemeWin::adjustTextAreaStyle):
19048 2008-09-09  Dean Jackson  <dino@apple.com>
19050         Reviewed by Sam Weinig.
19052         Document::createEvent missing cases for animation and
19053         transition events.
19054         https://bugs.webkit.org/show_bug.cgi?id=20734
19056         Test: transitions/transition-end-event-create.html
19057         Test: animations/animation-events-create.html
19059         * dom/Document.cpp:
19060         (WebCore::Document::createEvent):
19061             - add the two cases
19063 2008-09-09  Dan Bernstein  <mitz@apple.com>
19065         - Tiger build fix
19067         * WebCore.Tiger.exp:
19068         * WebCore.base.exp:
19069         * platform/mac/WebCoreSystemInterface.h:
19070         * platform/mac/WebCoreSystemInterface.mm:
19072 2008-09-09  Dan Bernstein  <mitz@apple.com>
19074         Reviewed by Darin Adler.
19076         - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
19078         * WebCore.Tiger.exp:
19079         * WebCore.base.exp:
19080         * platform/graphics/SimpleFontData.h:
19081         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
19082         (WebCore::GlyphPage::fill):
19083         * platform/graphics/mac/SimpleFontDataMac.mm:
19084         (WebCore::initFontData):
19085         (WebCore::SimpleFontData::platformInit):
19086         (WebCore::SimpleFontData::platformDestroy):
19087         * platform/mac/WebCoreSystemInterface.h:
19088         * platform/mac/WebCoreSystemInterface.mm:
19090 2008-09-09  Kevin McCullough  <kmccullough@apple.com>
19092         Reviewed by Tim.
19094         <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
19095         breakpoints inside eval.
19097         * page/inspector/inspector.js:
19099 2008-09-09  Joerg Bornemann  <joerg.bornemann@trolltech.com>
19101         Reviewed by Simon.
19103         Fix compilation of the Qt port with disabled plugins on Windows
19105         * WebCore.pro:
19106         * plugins/PluginView.cpp:
19107         (WebCore::PluginView::PluginView):
19108         * plugins/PluginView.h:
19110 2008-09-09  Jungshik Shin  <jungshik.shin@gmail.com>
19112         Reviewed by Alexey Proskuryakov.
19114         Try MIME charset names before trying IANA names 
19115         ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
19117         With this change, shorter and more widely used names (preferred MIME
19118         names) are returned by document.charset, document.characterSet,
19119         document.inputEncoding rather than IANA names. This  helps
19120         fixing bug 18085 in addition to web developers who are more familiar
19121         with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
19122         returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese, 
19123         ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx. 
19124         Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
19125         used, the former is still recognized as aliases to the latter so that
19126         there's very little, if any, to worry about.
19128         * platform/text/TextCodecICU.cpp:
19129         (WebCore::TextCodecICU::registerExtendedEncodingNames):
19131 2008-09-08  Sam Weinig  <sam@webkit.org>
19133         Reviewed by Maciej Stachowiak and Oliver Hunt.
19135         Add forwarding headers.
19137         * ForwardingHeaders/wtf/HashFunctions.h: Added.
19139 2008-09-05  Dean Jackson  <dino@apple.com>
19141         Reviewed by Dan Bernstein.
19143         Update grammar so that we can add a keyframe rule via the DOM.
19144         https://bugs.webkit.org/show_bug.cgi?id=20613
19146         * css/CSSGrammar.y:
19147         * css/tokenizer.flex:
19149 2008-09-08  Antti Koivisto  <antti@apple.com>
19151         Reviewed by Dan Bernstein.
19153         Allow <br> for simple UA stylesheet. Editing code generates them. It does not
19154         actually show up in any of the default stylesheets.
19156         * css/CSSStyleSelector.cpp:
19157         (WebCore::elementCanUseSimpleDefaultStyle):
19159 2008-09-08  Dimitri Glazkov  <dglazkov@google.com>
19161         Reviewed by Dan Bernstein.
19163         - fix https://bugs.webkit.org/show_bug.cgi?id=20237
19164           Zero width and space characters are displayed incorrectly if not contained in a fallback font
19166         Adds an extra check for Object Replacement Character (U+FFFC) to address
19167         the issue with fast/text/zero-width-characters.html test when run
19168         with Windows system default fonts.
19170         * platform/graphics/Font.h:
19171         (WebCore::Font::treatAsZeroWidthSpace):
19173 2008-09-08  Dean Jackson  <dino@apple.com>
19175         Reviewed by Sam Weinig.
19177         Code style issue I forgot to fix from previous commit.
19179         * platform/graphics/AffineTransform.cpp:
19180         (WebCore::AffineTransform::blend):
19182 2008-09-08  Chris Marrin  <cmarrin@apple.com>
19184         Reviewed by Sam Weinig
19186         - Animation of -webkit-transform matrix() function should not do linear interpolation
19187           https://bugs.webkit.org/show_bug.cgi?id=20667
19189         Test: animations/matrix-anim.html
19191         * ChangeLog:
19192         * platform/graphics/AffineTransform.cpp:
19193         (WebCore::affineTransformDecompose):
19194         (WebCore::affineTransformCompose):
19195         (WebCore::AffineTransform::blend):
19196         * platform/graphics/AffineTransform.h:
19197         * rendering/style/RenderStyle.cpp:
19198         (WebCore::MatrixTransformOperation::blend):
19200 2008-09-08  Alexey Proskuryakov  <ap@webkit.org>
19202         Reviewed by Darin Adler.
19204         https://bugs.webkit.org/show_bug.cgi?id=20668
19205         multipart/form-data does not always include Content-type for submitted files
19207         Cannot be tested with DRT or manual tests.
19209         * platform/MIMETypeRegistry.cpp:
19210         (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
19211         (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
19212         unknown extensions, not just missing ones.
19214 2008-09-08  Simon Hausmann  <hausmann@webkit.org>
19216         Build fix for the Qt/Windows build, define USE_JSC to
19217         enable the WebCore::String -> JSC::UString operator that
19218         MSVC insists on seeing
19220         * WebCore.pro:
19222 2008-09-08  Anders Carlsson  <andersca@apple.com>
19224         Reviewed by Maciej.
19226         <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
19227         
19228         In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
19229         page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
19230         
19231         Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
19232         
19233         * bindings/js/JSDOMWindowBase.h:
19234         * loader/FrameLoader.cpp:
19235         (WebCore::FrameLoader::commitProvisionalLoad):
19237 2008-09-07  Antti Koivisto  <antti@apple.com>
19239         Reviewed by Dave Hyatt.
19241         Don't leak the simple stylesheet.
19242         Also call RenderTheme::adjustDefaultStyleSheet() in right place.
19244         * css/CSSStyleSelector.cpp:
19245         (WebCore::loadFullDefaultStyle):
19246         (WebCore::loadSimpleDefaultStyle):
19247         (WebCore::CSSStyleSelector::styleForElement):
19249 2008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
19251         Reviewed by Oliver Hunt.
19253         Bug 20711: Change KJS prefix on preprocessor macros to JSC
19254         <https://bugs.webkit.org/show_bug.cgi?id=20711>
19256         * bindings/js/JSEventTargetBase.h:
19257         * bindings/js/JSHTMLInputElementBase.cpp:
19258         * bindings/js/JSHTMLInputElementBase.h:
19259         * bindings/scripts/CodeGeneratorJS.pm:
19261 2008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
19263         Reviewed by Maciej Stachowiak.
19265         Bug 20704: Replace the KJS namespace
19266         <https://bugs.webkit.org/show_bug.cgi?id=20704>
19268         Rename the KJS namespace to JSC. There are still some uses of KJS in the
19269         names of JNI functions, and I will check if these are safe to change
19270         as well.
19272         * WebCore.base.exp:
19273         * bindings/js/GCController.cpp:
19274         * bindings/js/JSAttrCustom.cpp:
19275         * bindings/js/JSAudioConstructor.cpp:
19276         * bindings/js/JSAudioConstructor.h:
19277         (WebCore::JSAudioConstructor::classInfo):
19278         * bindings/js/JSCSSRuleCustom.cpp:
19279         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
19280         * bindings/js/JSCSSValueCustom.cpp:
19281         * bindings/js/JSCanvasPixelArrayCustom.cpp:
19282         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
19283         * bindings/js/JSClipboardCustom.cpp:
19284         * bindings/js/JSConsoleCustom.cpp:
19285         * bindings/js/JSCustomSQLStatementCallback.cpp:
19286         (WebCore::JSCustomSQLStatementCallback::handleEvent):
19287         * bindings/js/JSCustomSQLStatementCallback.h:
19288         (WebCore::JSCustomSQLStatementCallback::create):
19289         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
19290         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
19291         * bindings/js/JSCustomSQLStatementErrorCallback.h:
19292         (WebCore::JSCustomSQLStatementErrorCallback::create):
19293         * bindings/js/JSCustomSQLTransactionCallback.cpp:
19294         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
19295         * bindings/js/JSCustomSQLTransactionCallback.h:
19296         (WebCore::JSCustomSQLTransactionCallback::create):
19297         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
19298         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
19299         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
19300         (WebCore::JSCustomSQLTransactionErrorCallback::create):
19301         * bindings/js/JSCustomVoidCallback.cpp:
19302         (WebCore::JSCustomVoidCallback::handleEvent):
19303         * bindings/js/JSCustomVoidCallback.h:
19304         (WebCore::JSCustomVoidCallback::create):
19305         * bindings/js/JSCustomXPathNSResolver.cpp:
19306         (WebCore::JSCustomXPathNSResolver::create):
19307         * bindings/js/JSCustomXPathNSResolver.h:
19308         * bindings/js/JSDOMApplicationCacheCustom.cpp:
19309         (WebCore::JSDOMApplicationCache::dispatchEvent):
19310         * bindings/js/JSDOMBinding.cpp:
19311         (WebCore::jsOwnedStringOrNull):
19312         * bindings/js/JSDOMBinding.h:
19313         (WebCore::DOMObject::DOMObject):
19314         (WebCore::cacheDOMObject):
19315         (WebCore::cacheSVGDOMObject):
19316         (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
19317         (WebCore::toJS):
19318         * bindings/js/JSDOMWindowBase.cpp:
19319         * bindings/js/JSDOMWindowBase.h:
19320         (WebCore::JSDOMWindowBase::classInfo):
19321         (WebCore::JSDOMWindowBase::d):
19322         * bindings/js/JSDOMWindowCustom.cpp:
19323         (WebCore::JSDOMWindow::getPropertyAttributes):
19324         * bindings/js/JSDOMWindowCustom.h:
19325         (WebCore::asJSDOMWindow):
19326         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
19327         (WebCore::JSDOMWindow::customPut):
19328         (WebCore::JSDOMWindowBase::allowsAccessFrom):
19329         (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
19330         * bindings/js/JSDOMWindowShell.cpp:
19331         (WebCore::JSDOMWindowShell::getPropertyAttributes):
19332         * bindings/js/JSDOMWindowShell.h:
19333         (WebCore::JSDOMWindowShell::classInfo):
19334         * bindings/js/JSDatabaseCustom.cpp:
19335         * bindings/js/JSDocumentCustom.cpp:
19336         * bindings/js/JSDocumentFragmentCustom.cpp:
19337         * bindings/js/JSElementCustom.cpp:
19338         * bindings/js/JSEventCustom.cpp:
19339         * bindings/js/JSEventListener.cpp:
19340         * bindings/js/JSEventListener.h:
19341         (WebCore::JSUnprotectedEventListener::create):
19342         (WebCore::JSEventListener::create):
19343         * bindings/js/JSEventTargetBase.cpp:
19344         * bindings/js/JSEventTargetBase.h:
19345         (WebCore::JSEventTargetBase::getValueProperty):
19346         (WebCore::JSEventTargetBase::putValueProperty):
19347         (WebCore::JSEventTargetBase::getOwnPropertySlot):
19348         (WebCore::JSEventTargetBase::put):
19349         (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
19350         (WebCore::JSEventTargetPrototype::self):
19351         (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
19352         (WebCore::JSEventTargetPrototype::classInfo):
19353         * bindings/js/JSEventTargetNode.cpp:
19354         * bindings/js/JSEventTargetNode.h:
19355         (WebCore::JSEventTargetNode::getOwnPropertySlot):
19356         (WebCore::JSEventTargetNode::getValueProperty):
19357         (WebCore::JSEventTargetNode::put):
19358         (WebCore::JSEventTargetNode::putValueProperty):
19359         * bindings/js/JSHTMLAllCollection.h:
19360         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
19361         (WebCore::JSHTMLAllCollection::toBoolean):
19362         * bindings/js/JSHTMLAppletElementCustom.cpp:
19363         * bindings/js/JSHTMLCollectionCustom.cpp:
19364         * bindings/js/JSHTMLDocumentCustom.cpp:
19365         * bindings/js/JSHTMLElementCustom.cpp:
19366         * bindings/js/JSHTMLEmbedElementCustom.cpp:
19367         * bindings/js/JSHTMLFormElementCustom.cpp:
19368         * bindings/js/JSHTMLFrameElementCustom.cpp:
19369         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
19370         * bindings/js/JSHTMLIFrameElementCustom.cpp:
19371         * bindings/js/JSHTMLInputElementBase.cpp:
19372         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
19373         (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
19374         * bindings/js/JSHTMLInputElementBase.h:
19375         (WebCore::JSHTMLInputElementBase::classInfo):
19376         * bindings/js/JSHTMLObjectElementCustom.cpp:
19377         * bindings/js/JSHTMLOptionElementConstructor.cpp:
19378         * bindings/js/JSHTMLOptionElementConstructor.h:
19379         (WebCore::JSHTMLOptionElementConstructor::classInfo):
19380         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
19381         * bindings/js/JSHTMLSelectElementCustom.cpp:
19382         (WebCore::selectIndexSetter):
19383         (WebCore::JSHTMLSelectElement::indexSetter):
19384         * bindings/js/JSHTMLSelectElementCustom.h:
19385         * bindings/js/JSHistoryCustom.cpp:
19386         * bindings/js/JSImageConstructor.cpp:
19387         * bindings/js/JSImageConstructor.h:
19388         (WebCore::JSImageConstructor::classInfo):
19389         * bindings/js/JSInspectedObjectWrapper.cpp:
19390         * bindings/js/JSInspectedObjectWrapper.h:
19391         (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
19392         (WebCore::JSInspectedObjectWrapper::classInfo):
19393         * bindings/js/JSInspectorCallbackWrapper.cpp:
19394         * bindings/js/JSInspectorCallbackWrapper.h:
19395         (WebCore::JSInspectorCallbackWrapper::classInfo):
19396         (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
19397         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
19398         * bindings/js/JSLocationCustom.cpp:
19399         * bindings/js/JSMimeTypeArrayCustom.cpp:
19400         * bindings/js/JSNSResolver.cpp:
19401         * bindings/js/JSNSResolver.h:
19402         (WebCore::JSNSResolver::create):
19403         * bindings/js/JSNamedNodeMapCustom.cpp:
19404         * bindings/js/JSNamedNodesCollection.cpp:
19405         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
19406         * bindings/js/JSNamedNodesCollection.h:
19407         (WebCore::JSNamedNodesCollection::classInfo):
19408         * bindings/js/JSNavigatorCustom.cpp:
19409         * bindings/js/JSNodeCustom.cpp:
19410         * bindings/js/JSNodeFilterCondition.cpp:
19411         (WebCore::JSNodeFilterCondition::acceptNode):
19412         * bindings/js/JSNodeFilterCondition.h:
19413         (WebCore::JSNodeFilterCondition::create):
19414         * bindings/js/JSNodeFilterCustom.cpp:
19415         * bindings/js/JSNodeIteratorCustom.cpp:
19416         * bindings/js/JSNodeListCustom.cpp:
19417         * bindings/js/JSPluginArrayCustom.cpp:
19418         * bindings/js/JSPluginCustom.cpp:
19419         * bindings/js/JSPluginElementFunctions.cpp:
19420         (WebCore::getRuntimeObject):
19421         * bindings/js/JSPluginElementFunctions.h:
19422         * bindings/js/JSQuarantinedObjectWrapper.cpp:
19423         (WebCore::JSQuarantinedObjectWrapper::construct):
19424         (WebCore::JSQuarantinedObjectWrapper::call):
19425         * bindings/js/JSQuarantinedObjectWrapper.h:
19426         (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
19427         (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
19428         (WebCore::JSQuarantinedObjectWrapper::className):
19429         * bindings/js/JSRGBColor.cpp:
19430         * bindings/js/JSRGBColor.h:
19431         (WebCore::JSRGBColor::classInfo):
19432         * bindings/js/JSSQLResultSetRowListCustom.cpp:
19433         * bindings/js/JSSQLTransactionCustom.cpp:
19434         * bindings/js/JSSVGLazyEventListener.cpp:
19435         * bindings/js/JSSVGLazyEventListener.h:
19436         * bindings/js/JSSVGLengthCustom.cpp:
19437         * bindings/js/JSSVGMatrixCustom.cpp:
19438         (WebCore::JSSVGMatrix::inverse):
19439         (WebCore::JSSVGMatrix::rotateFromVector):
19440         * bindings/js/JSSVGPathSegCustom.cpp:
19441         * bindings/js/JSSVGPathSegListCustom.cpp:
19442         (WebCore::JSSVGPathSegList::initialize):
19443         (WebCore::JSSVGPathSegList::getItem):
19444         (WebCore::JSSVGPathSegList::insertItemBefore):
19445         (WebCore::JSSVGPathSegList::replaceItem):
19446         (WebCore::JSSVGPathSegList::removeItem):
19447         (WebCore::JSSVGPathSegList::appendItem):
19448         * bindings/js/JSSVGPointListCustom.cpp:
19449         * bindings/js/JSSVGTransformListCustom.cpp:
19450         * bindings/js/JSStorageCustom.cpp:
19451         * bindings/js/JSStyleSheetCustom.cpp:
19452         * bindings/js/JSStyleSheetListCustom.cpp:
19453         * bindings/js/JSTextCustom.cpp:
19454         * bindings/js/JSTreeWalkerCustom.cpp:
19455         * bindings/js/JSXMLHttpRequestConstructor.cpp:
19456         * bindings/js/JSXMLHttpRequestConstructor.h:
19457         (WebCore::JSXMLHttpRequestConstructor::classInfo):
19458         * bindings/js/JSXMLHttpRequestCustom.cpp:
19459         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
19460         * bindings/js/JSXSLTProcessorConstructor.cpp:
19461         * bindings/js/JSXSLTProcessorConstructor.h:
19462         (WebCore::JSXSLTProcessorConstructor::classInfo):
19463         * bindings/js/JSXSLTProcessorCustom.cpp:
19464         * bindings/js/ScheduledAction.cpp:
19465         * bindings/js/ScheduledAction.h:
19466         * bindings/js/ScriptController.cpp:
19467         (WebCore::ScriptController::attachDebugger):
19468         (WebCore::ScriptController::windowScriptNPObject):
19469         * bindings/js/ScriptController.h:
19470         * bindings/js/ScriptControllerGtk.cpp:
19471         (WebCore::ScriptController::createScriptInstanceForWidget):
19472         * bindings/js/ScriptControllerMac.mm:
19473         (WebCore::ScriptController::createScriptInstanceForWidget):
19474         (WebCore::ScriptController::windowScriptObject):
19475         (WebCore::ScriptController::clearPlatformScriptObjects):
19476         (WebCore::updateRenderingForBindings):
19477         (WebCore::ScriptController::initJavaJSBindings):
19478         * bindings/js/ScriptControllerQt.cpp:
19479         (WebCore::ScriptController::createScriptInstanceForWidget):
19480         * bindings/js/ScriptControllerWin.cpp:
19481         (WebCore::ScriptController::createScriptInstanceForWidget):
19482         * bindings/js/ScriptControllerWx.cpp:
19483         (WebCore::ScriptController::createScriptInstanceForWidget):
19484         * bindings/js/StringSourceProvider.h:
19485         (WebCore::StringSourceProvider::getRange):
19486         * bindings/objc/DOM.mm:
19487         (-[DOMNode JSC::Bindings::]):
19488         * bindings/objc/DOMInternal.h:
19489         * bindings/objc/DOMInternal.mm:
19490         (-[WebScriptObject _initializeScriptDOMNodeImp]):
19491         * bindings/objc/DOMUtility.mm:
19492         (JSC::createDOMWrapper):
19493         (WebCore::createDOMWrapper):
19494         * bindings/objc/WebScriptObject.mm:
19495         (WebCore::createJSWrapper):
19496         (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
19497         * bindings/objc/WebScriptObjectPrivate.h:
19498         * bindings/scripts/CodeGeneratorJS.pm:
19499         * bridge/NP_jsobject.cpp:
19500         * bridge/NP_jsobject.h:
19501         * bridge/c/c_class.cpp:
19502         * bridge/c/c_class.h:
19503         * bridge/c/c_instance.cpp:
19504         * bridge/c/c_instance.h:
19505         * bridge/c/c_runtime.cpp:
19506         * bridge/c/c_runtime.h:
19507         * bridge/c/c_utility.cpp:
19508         * bridge/c/c_utility.h:
19509         * bridge/jni/jni_class.cpp:
19510         * bridge/jni/jni_class.h:
19511         * bridge/jni/jni_instance.cpp:
19512         * bridge/jni/jni_instance.h:
19513         * bridge/jni/jni_jsobject.h:
19514         * bridge/jni/jni_jsobject.mm:
19515         (JavaJSObject::call):
19516         (JavaJSObject::convertJObjectToValue):
19517         * bridge/jni/jni_objc.mm:
19518         (JSC::Bindings::dispatchJNICall):
19519         * bridge/jni/jni_runtime.cpp:
19520         * bridge/jni/jni_runtime.h:
19521         * bridge/jni/jni_utility.cpp:
19522         * bridge/jni/jni_utility.h:
19523         * bridge/npruntime.cpp:
19524         (_NPN_GetStringIdentifier):
19525         * bridge/objc/WebScriptObject.h:
19526         * bridge/objc/objc_class.h:
19527         * bridge/objc/objc_class.mm:
19528         * bridge/objc/objc_instance.h:
19529         * bridge/objc/objc_instance.mm:
19530         * bridge/objc/objc_runtime.h:
19531         * bridge/objc/objc_runtime.mm:
19532         * bridge/objc/objc_utility.h:
19533         * bridge/objc/objc_utility.mm:
19534         * bridge/qt/qt_class.cpp:
19535         * bridge/qt/qt_class.h:
19536         * bridge/qt/qt_instance.cpp:
19537         * bridge/qt/qt_instance.h:
19538         * bridge/qt/qt_runtime.cpp:
19539         (JSC::Bindings::convertQVariantToValue):
19540         (JSC::Bindings::):
19541         * bridge/qt/qt_runtime.h:
19542         * bridge/runtime.cpp:
19543         * bridge/runtime.h:
19544         * bridge/runtime_array.cpp:
19545         * bridge/runtime_array.h:
19546         * bridge/runtime_method.cpp:
19547         * bridge/runtime_method.h:
19548         * bridge/runtime_object.cpp:
19549         * bridge/runtime_object.h:
19550         * bridge/runtime_root.cpp:
19551         (JSC::Bindings::RootObject::invalidate):
19552         (JSC::Bindings::RootObject::gcProtect):
19553         (JSC::Bindings::RootObject::gcUnprotect):
19554         * bridge/runtime_root.h:
19555         * bridge/testbindings.cpp:
19556         * bridge/testbindings.mm:
19557         * bridge/testqtbindings.cpp:
19558         * dom/Document.cpp:
19559         (WebCore::Document::~Document):
19560         * dom/NSResolver.h:
19561         * dom/Node.cpp:
19562         (WebCore::Node::setDocument):
19563         (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
19564         (WebCore::resolveNamespacesForSelector):
19565         (WebCore::Node::querySelector):
19566         (WebCore::Node::querySelectorAll):
19567         * dom/Node.h:
19568         * dom/NodeFilter.cpp:
19569         * dom/NodeFilter.h:
19570         * dom/NodeFilterCondition.cpp:
19571         * dom/NodeFilterCondition.h:
19572         * dom/NodeIterator.cpp:
19573         * dom/NodeIterator.h:
19574         * dom/Traversal.cpp:
19575         * dom/Traversal.h:
19576         * dom/TreeWalker.cpp:
19577         * dom/TreeWalker.h:
19578         * dom/make_names.pl:
19579         * history/CachedPage.cpp:
19580         * history/CachedPage.h:
19581         * html/HTMLPlugInElement.cpp:
19582         (WebCore::HTMLPlugInElement::getInstance):
19583         * html/HTMLPlugInElement.h:
19584         * loader/FrameLoader.cpp:
19585         * loader/FrameLoader.h:
19586         * loader/icon/IconDatabase.cpp:
19587         (WebCore::iconDatabase):
19588         * page/Console.cpp:
19589         * page/Console.h:
19590         * page/InspectorController.cpp:
19591         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
19592         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
19593         (WebCore::InspectorResource::setXMLHttpRequestProperties):
19594         (WebCore::InspectorResource::sourceString):
19595         (WebCore::getResourceDocumentNode):
19596         (WebCore::search):
19597         (WebCore::InspectorController::focusNode):
19598         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
19599         (WebCore::InspectorController::addDatabaseScriptResource):
19600         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
19601         * page/InspectorController.h:
19602         (WebCore::InspectorController::profiles):
19603         * page/JavaScriptCallFrame.cpp:
19604         (WebCore::JavaScriptCallFrame::scopeChain):
19605         * page/JavaScriptCallFrame.h:
19606         (WebCore::JavaScriptCallFrame::create):
19607         (WebCore::JavaScriptCallFrame::update):
19608         * page/JavaScriptDebugListener.h:
19609         * page/JavaScriptDebugServer.cpp:
19610         (WebCore::dispatchDidParseSource):
19611         * page/JavaScriptDebugServer.h:
19612         * page/JavaScriptProfile.cpp:
19613         * page/JavaScriptProfile.h:
19614         * page/JavaScriptProfileNode.cpp:
19615         (WebCore::getTotalTime):
19616         (WebCore::getSelfTime):
19617         (WebCore::getTotalPercent):
19618         (WebCore::getSelfPercent):
19619         (WebCore::getNumberOfCalls):
19620         (WebCore::getChildren):
19621         (WebCore::getVisible):
19622         * page/JavaScriptProfileNode.h:
19623         * page/Page.cpp:
19624         (WebCore::Page::setDebuggerForAllPages):
19625         (WebCore::Page::setDebugger):
19626         * page/Page.h:
19627         (WebCore::Page::debugger):
19628         * page/mac/FrameMac.mm:
19629         * platform/KURL.h:
19630         (WebCore::KURL::operator JSC::UString):
19631         * platform/text/AtomicString.cpp:
19632         (WebCore::AtomicString::add):
19633         (WebCore::AtomicString::find):
19634         * platform/text/AtomicString.h:
19635         (WebCore::AtomicString::AtomicString):
19636         * platform/text/PlatformString.h:
19637         * platform/text/String.cpp:
19638         (WebCore::charactersToDouble):
19639         * platform/win/BString.cpp:
19640         * platform/win/BString.h:
19641         * plugins/MimeTypeArray.h:
19642         * plugins/Plugin.h:
19643         * plugins/PluginArray.h:
19644         * plugins/PluginView.cpp:
19645         (WebCore::PluginView::start):
19646         (WebCore::PluginView::performRequest):
19647         (WebCore::PluginView::bindingInstance):
19648         * plugins/PluginView.h:
19649         * plugins/gtk/PluginViewGtk.cpp:
19650         (WebCore::PluginView::paint):
19651         (WebCore::PluginView::handleKeyboardEvent):
19652         (WebCore::PluginView::handleMouseEvent):
19653         (WebCore::PluginView::setNPWindowRect):
19654         (WebCore::PluginView::stop):
19655         (WebCore::PluginView::init):
19656         * plugins/qt/PluginViewQt.cpp:
19657         (WebCore::PluginView::setNPWindowRect):
19658         (WebCore::PluginView::stop):
19659         (WebCore::PluginView::init):
19660         * plugins/win/PluginViewWin.cpp:
19661         (WebCore::PluginView::dispatchNPEvent):
19662         (WebCore::PluginView::handleKeyboardEvent):
19663         (WebCore::PluginView::handleMouseEvent):
19664         (WebCore::PluginView::setNPWindowRect):
19665         (WebCore::PluginView::stop):
19666         * storage/Database.cpp:
19667         (WebCore::Database::Database):
19668         * xml/XMLHttpRequest.cpp:
19669         (WebCore::XMLHttpRequest::responseText):
19670         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
19671         (WebCore::XMLHttpRequest::clearResponse):
19672         (WebCore::XMLHttpRequest::dropProtection):
19673         (WebCore::XMLHttpRequest::didFinishLoading):
19674         (WebCore::XMLHttpRequest::didReceiveData):
19675         * xml/XMLHttpRequest.h:
19677 2008-09-07  Adam Barth  <abarth@webkit.org>
19679         Reviewed by Sam Weinig.
19681         Adopt opener restriction on frame navigation.
19682           https://bugs.webkit.org/show_bug.cgi?id=20642
19684         This restriction helps prevent an attacker from navigating top-level
19685         windows that were created by another web site.
19687         Tests: http/tests/security/frameNavigation/not-opener.html
19688                http/tests/security/frameNavigation/opener.html
19690         * loader/FrameLoader.cpp:
19691         (WebCore::canAccessAncestor):
19692         (WebCore::FrameLoader::shouldAllowNavigation):
19694 2008-09-07  Dan Bernstein  <mitz@apple.com>
19696         Reviewed by Maciej Stachowiak.
19698         - use the correct sign for vertical offsets of combining marks
19700         * platform/graphics/win/UniscribeController.cpp:
19701         (WebCore::UniscribeController::shapeAndPlaceItem):
19703 2008-09-07  Dan Bernstein  <mitz@apple.com>
19705         Reviewed by Dave Hyatt.
19707         - add the combining mark offsets in two places where I forgot them
19709         * platform/graphics/win/FontCGWin.cpp:
19710         (WebCore::Font::drawGlyphs):
19712 2008-09-07  Dan Bernstein  <mitz@apple.com>
19714         Reviewed by Dave Hyatt.
19716         - correct glyph advances in complex text using web fonts rendered with
19717           Core Graphics
19719         * platform/graphics/win/FontCustomPlatformData.cpp:
19720         (WebCore::FontCustomPlatformData::fontPlatformData):
19722 2008-09-07  Keishi Hattori  <casey.hattori@gmail.com>
19724         Adds console.dirxml support to the Web Inspector.
19726         https://bugs.webkit.org/show_bug.cgi?id=19156
19728         Reviewed by Timothy Hatcher.
19730         * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
19731         * bindings/js/JSConsoleCustom.cpp:
19732         (WebCore::JSConsole::dirxml):
19733         * page/Console.cpp:
19734         (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
19735         * page/Console.h:
19736         (WebCore::): Added NodeMessageLevel.
19737         * page/Console.idl: Added console.dirxml.
19738         * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
19739         * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline 
19740         in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
19741         * page/inspector/ElementsTreeOutline.js: Added.
19742         (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
19743         (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
19744         * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
19745         * page/inspector/inspector.css:
19746         * page/inspector/inspector.html: Added ElementsTreeOutline.js.
19747         * page/inspector/inspector.js: Moved hover related methods to WebInspector.
19748         (WebInspector.altKeyDown):
19749         (WebInspector.forceHoverHighlight):
19750         (WebInspector.hoveredDOMNode):
19751         (WebInspector._updateHoverHighlightSoon):
19752         (WebInspector._updateHoverHighlight):
19753         (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
19754         (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
19755         * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
19756         isAncestorIncludingParentFrames.
19758 2008-09-06  Mark Rowe  <mrowe@apple.com>
19760         Qt build fix.
19762         * bridge/qt/qt_runtime.cpp:
19763         (KJS::Bindings::convertQVariantToValue):
19765 === End merge of squirrelfish-extreme ===
19767 2008-09-05  Oliver Hunt  <oliver@apple.com>
19769         Start bringing up SFX on windows.
19771         Reviewed by Mark Rowe and Sam Weinig
19773         Start doing the work to bring up SFX on windows.  Initially
19774         just working on WREC, as it does not make any calls so reduces
19775         the amount of code that needs to be corrected.
19777         Add forwarding headers
19779         * ChangeLog:
19780         * ForwardingHeaders/masm/MacroAssembler.h: Added.
19781         * WebCore.vcproj/WebCore.vcproj:
19783 2008-08-27  Mark Rowe  <mrowe@apple.com>
19785         Reviewed by Oliver Hunt.
19787         Fix the build of the full WebKit stack.
19789         Add forwarding headers.
19791         * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
19792         * ForwardingHeaders/wrec/WREC.h: Added.
19794 === Start merge of squirrelfish-extreme ===
19796 2008-09-06  Antti Koivisto  <antti@apple.com>
19798         Reviewed by Dave Hyatt.
19800         <rdar://problem/6187043> 
19801         Don't parse full HTML user agent style sheet unless it is actually needed
19802         <rdar://problem/6131889> 
19803         WebView is significantly more expensive to create recently
19804         
19805         Parsing the html4.css takes significant amount of time and memory (~50kb) on application
19806         startup. Some clients may never use most of the rules.
19807         
19808         With this patch we use simplified UA stylesheet until we hit something it can't handle. 
19809         This avoids full stylesheet parsing on application startup (due to empty document construction)
19810         and also makes it possible for clients with very simple demands (divs and spans only) never to load 
19811         the full style.
19812         
19813         It also delays view source style parsing until it is used.
19815         * css/CSSStyleSelector.cpp:
19816         (WebCore::elementCanUseSimpleDefaultStyle):
19817         (WebCore::CSSStyleSelector::CSSStyleSelector):
19818         (WebCore::loadFullDefaultStyle):
19819         (WebCore::loadSimpleDefaultStyle):
19820         (WebCore::loadViewSourceStyle):
19821         (WebCore::CSSStyleSelector::matchUARules):
19822         (WebCore::CSSStyleSelector::styleForElement):
19824 2008-09-06  Kevin Ollivier  <kevino@theolliviers.com>
19826         wx build fix.
19828         * WebCoreSources.bkl:
19830 2008-09-06  Antti Koivisto  <antti@apple.com>
19832         Reverting r35953 which was causing problems on Windows which relies on
19833         WebCore timers in nested event loops. r36132 did alternative fix.
19835         * page/Chrome.cpp:
19836         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
19837         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
19839 2008-09-06  Antti Koivisto  <antti@apple.com>
19841         Reviewed by Dan Bernstein.
19843         Fix <rdar://problem/6201644>
19844         https://bugs.webkit.org/show_bug.cgi?id=20493
19845         Crash after OK in dialog box and reloading page in secure mode
19846         
19847         Limited loader only fix since the general timer fix is causing problems on Windows.
19849         * loader/loader.cpp:
19850         (WebCore::Loader::servePendingRequests):
19851         (WebCore::Loader::Host::Host):
19852         (WebCore::Loader::Host::didFinishLoading):
19853         (WebCore::Loader::Host::didFail):
19854         (WebCore::Loader::Host::didReceiveData):
19855         * loader/loader.h:
19856         (WebCore::Loader::Host::processingResource):
19858 2008-09-06  Dan Bernstein  <mitz@apple.com>
19860         Reviewed by Dave Hyatt.
19862         The initial Core Text adoption prototype was made by Daniel Fenwick.
19864         - <rdar://problem/5158514> Add a Core Text-based complex text code path
19866         Currently the Core Text code path is not used in any configuration.
19868         * WebCore.xcodeproj/project.pbxproj: Added files.
19869         * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
19870         * platform/graphics/Font.cpp:
19871         (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
19872         of the loop.
19873         * platform/graphics/GlyphBuffer.h:
19874         (WebCore::GlyphBuffer::add): Added this version that takes an advance.
19875         * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
19876         Added getCTFont() and getCFStringAttributes() and corresponding data
19877         members for Core Text.
19878         * platform/graphics/mac/CoreTextController.cpp: Added.
19879         (WebCore::roundCGFloat): Helper function.
19880         (WebCore::ceilCGFloat): Helper function.
19881         (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
19882         (WebCore::CoreTextController::CoreTextController):
19883         (WebCore::CoreTextController::offsetForPosition):
19884         (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
19885         run into subruns as necessary such that each subrun can be rendered with
19886         a single font. Also separates out soft hyphens and replaces them with
19887         real hyphens, because Core Text does not emit a glyph for soft hyphens.
19888         Then calls collectCoreTextRunsForCharacters() on each subrun.
19889         (WebCore::CoreTextController::advance):
19890         (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
19891         a CTLine from the given subrun and collects its CoreTextRuns.
19892         (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
19893         rounding hacks, letter- and word-spacing and glyph substitutions and
19894         stores the resulting adjusted glyphs and advances.
19895         * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
19896         (WebCore::CoreTextController::totalWidth):
19897         (WebCore::CoreTextController::finalRoundingWidth):
19898         (WebCore::CoreTextController::CoreTextRun::ctRun):
19899         (WebCore::CoreTextController::CoreTextRun::glyphCount):
19900         (WebCore::CoreTextController::CoreTextRun::fontData):
19901         (WebCore::CoreTextController::CoreTextRun::characters):
19902         (WebCore::CoreTextController::CoreTextRun::stringLocation):
19903         (WebCore::CoreTextController::CoreTextRun::stringLength):
19904         (WebCore::CoreTextController::CoreTextRun::indexAt):
19905         * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
19906         FontMacATSUI.mm.
19907         * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
19908         (WebCore::disableLigatures): Changed to call
19909         FontPlatformData::allowsLigatures().
19910         (WebCore::overrideLayoutOperation): Changed to call
19911         FontPlatformData::roundsGlyphAdvances().
19912         * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
19913         (WebCore::Font::selectionRectForComplexText): Changed to use
19914         totalWidth() instead of advancing to the end and using runWidthSoFar().
19915         (WebCore::Font::drawComplexText):
19916         (WebCore::Font::floatWidthForComplexText): Ditto.
19917         (WebCore::Font::offsetForPositionForComplexText):
19918         * platform/graphics/mac/FontPlatformData.h:
19919         * platform/graphics/mac/FontPlatformDataMac.mm:
19920         (WebCore::FontPlatformData::setFont):
19921         (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
19922         AppKit rendering mode.
19923         (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
19924         heuristic that allows ligatures in fonts that do not have a glyph for
19925         'a', based on the assumption that such fonts are only used in complex
19926         text.
19927         * platform/graphics/mac/SimpleFontDataMac.mm:
19928         (WebCore::SimpleFontData::platformInit):
19929         (WebCore::SimpleFontData::platformDestroy):
19930         (WebCore::SimpleFontData::getCTFont): Added.
19931         (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
19932         returns an attributes dictionary.
19933         * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
19934         * platform/text/mac/ShapeArabic.h: Ditto.
19936 2008-09-06  Dan Bernstein  <mitz@apple.com>
19938         Reviewed by Dave Hyatt.
19940         - make combining mark offsets work in CG text on Windows
19942         * platform/graphics/win/FontCGWin.cpp:
19943         (WebCore::Font::drawGlyphs): The old code tried to translate the text
19944         matrix, but failed for two reasons: it did not actually change the
19945         matrix, and even if it did, CGContextSetTextPosition overwrites the
19946         translation values in the text matrix. Instead, just added the
19947         translation to the anchor point.
19949 2008-09-05  Gustavo Noronha Silva  <gns@gnome.org>
19951         Reviewed by Alp Toker.
19953         https://bugs.webkit.org/show_bug.cgi?id=18346
19954         [GTK] Remove build warnings
19956         Applied some casts, and removed an unused typedef to make the
19957         compiler happy, printing less warnings when building.
19959         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
19960         * platform/graphics/gtk/SimpleFontDataPango.cpp:
19961         (WebCore::SimpleFontData::containsCharacters):
19962         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
19963         (webkit_video_sink_set_caps):
19964         * platform/network/soup/ResourceHandleSoup.cpp:
19966 2008-09-05  Eric Seidel  <eric@webkit.org>
19968         Reviewed by Adam Roben.
19970         Build fix for WebKitWin and Chromium
19972         * platform/FileSystem.h:
19974 2008-09-05  Eric Seidel  <eric@webkit.org>
19976         Reviewed by Darin Adler.
19978         Try to make Chromium compile with ToT:
19979         - Wrap a few places which depend on KJS:: in #if USE(JSC)
19980         - Include some windows forward declarations
19982         * dom/Node.h:
19983         * page/Console.h:
19984         * page/animation/CompositeAnimation.h:
19985         * platform/FileSystem.h:
19986         * platform/graphics/Image.h:
19987         * platform/text/AtomicString.h:
19988         * platform/text/String.cpp:
19989         * rendering/style/RenderStyle.h:
19991 2008-09-05  Dave Hyatt  <hyatt@apple.com>
19993         Add support for runtime switchability of the Aqua look and the native look on Windows.
19994         Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
19996         Reviewed by Adam Roben
19998         * WebCore.vcproj/WebCore.vcproj:
19999         * page/Settings.cpp:
20000         (WebCore::Settings::setShouldPaintNativeControls):
20001         * page/Settings.h:
20002         (WebCore::Settings::shouldPaintNativeControls):
20003         * rendering/RenderThemeSafari.cpp:
20004         (WebCore::theme):
20005         * rendering/RenderThemeWin.cpp:
20007 2008-09-05  Antti Koivisto  <antti@apple.com>
20009         Qt build fix.
20011         * svg/SVGFEImageElement.cpp:
20012         (WebCore::SVGFEImageElement::build):
20014 2008-09-05  Dirk Schulze  <vbs85@gmx.de>
20016         Gtk build fix
20018         * GNUmakefile.am:
20020 2008-09-05  Antti Koivisto  <antti@apple.com>
20022         Another build fix.
20024         * svg/SVGFEImageElement.cpp:
20025         (WebCore::SVGFEImageElement::notifyFinished):
20027 2008-09-05  Antti Koivisto  <antti@apple.com>
20029         Build fixes.
20030         
20031         * WebCore.xcodeproj/project.pbxproj:
20032         * svg/graphics/filters/SVGFEImage.cpp:
20033         (WebCore::FEImage::cachedImage):
20035 2008-09-05  Antti Koivisto  <antti@apple.com>
20037         Reviewed by Darin Adler.
20039         Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
20040         When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
20042         Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
20043         not yet enable it for the biggest use case, reloading. However it is good for general browsing as
20044         well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
20045         we avoid re-decoding resources, especially images. 
20046         
20047         To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
20048         CacheControl: max-age=0 header. That would be added in reload case.
20049         
20050         The approach for revalidation is to kick the original resource out from the memory cache
20051         and create a new CachedResource that represents the revalidation request. In case
20052         we get 304 back for the request we put the original resource back to the cache, update 
20053         its expiration date and switch the clients registered to revalidation resource to be
20054         clients of the original resource.
20055         
20056         All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
20057         This allows updating the handles to point to the original resource when the revalidation succeeds. It
20058         also acts as refcounting smart pointer.
20060         * WebCore.pro:
20061         * WebCore.vcproj/WebCore.vcproj:
20062         * WebCore.xcodeproj/project.pbxproj:
20063         * css/CSSFontFaceSource.h:
20064         * css/CSSImportRule.h:
20065         * dom/Clipboard.h:
20066         (WebCore::Clipboard::dragImage):
20067         * dom/ProcessingInstruction.h:
20068         * dom/ScriptElement.h:
20069         * dom/XMLTokenizer.cpp:
20070         (WebCore::XMLTokenizer::isWaitingForScripts):
20071         * dom/XMLTokenizer.h:
20072         * html/HTMLImageLoader.cpp:
20073         (WebCore::HTMLImageLoader::setImage):
20074         (WebCore::HTMLImageLoader::updateFromElement):
20075         (WebCore::HTMLImageLoader::notifyFinished):
20076         * html/HTMLImageLoader.h:
20077         (WebCore::HTMLImageLoader::image):
20078         * html/HTMLLinkElement.h:
20079         * html/HTMLTokenizer.cpp:
20080         (WebCore::HTMLTokenizer::reset):
20081         (WebCore::HTMLTokenizer::scriptHandler):
20082         (WebCore::HTMLTokenizer::notifyFinished):
20083         * html/HTMLTokenizer.h:
20084         * loader/Cache.cpp:
20085         (WebCore::Cache::revalidateResource):
20086         (WebCore::Cache::revalidationSucceeded):
20087         (WebCore::Cache::revalidationFailed):
20088         * loader/Cache.h:
20089         * loader/CachedResource.cpp:
20090         (WebCore::CachedResource::CachedResource):
20091         (WebCore::CachedResource::~CachedResource):
20092         (WebCore::CachedResource::isExpired):
20093         (WebCore::CachedResource::setResponse):
20094         (WebCore::CachedResource::deleteIfPossible):
20095         (WebCore::CachedResource::setResourceToRevalidate):
20096         (WebCore::CachedResource::clearResourceToRevalidate):
20097         (WebCore::CachedResource::switchClientsToRevalidatedResource):
20098         (WebCore::CachedResource::canUseCacheValidator):
20099         (WebCore::CachedResource::mustRevalidate):
20100         * loader/CachedResource.h:
20101         (WebCore::CachedResource::canDelete):
20102         (WebCore::CachedResource::registerHandle):
20103         (WebCore::CachedResource::unregisterHandle):
20104         (WebCore::CachedResource::isCacheValidator):
20105         (WebCore::CachedResource::resourceToRevalidate):
20106         (WebCore::CachedResource::setExpirationDate):
20107         * loader/CachedResourceHandle.cpp: Added.
20108         (WebCore::CachedResourceHandleBase::setResource):
20109         * loader/CachedResourceHandle.h: Added.
20110         (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
20111         (WebCore::CachedResourceHandleBase::get):
20112         (WebCore::CachedResourceHandleBase::operator!):
20113         (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
20114         (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
20115         (WebCore::CachedResourceHandleBase::operator=):
20116         (WebCore::CachedResourceHandle::CachedResourceHandle):
20117         (WebCore::CachedResourceHandle::get):
20118         (WebCore::CachedResourceHandle::operator->):
20119         (WebCore::CachedResourceHandle::operator=):
20120         (WebCore::CachedResourceHandle::operator==):
20121         (WebCore::CachedResourceHandle::operator!=):
20122         (WebCore::operator==):
20123         (WebCore::operator!=):
20124         * loader/DocLoader.cpp:
20125         (WebCore::DocLoader::checkForReload):
20126         * loader/UserStyleSheetLoader.h:
20127         * loader/loader.cpp:
20128         (WebCore::Loader::Host::servePendingRequests):
20129         (WebCore::Loader::Host::didFinishLoading):
20130         (WebCore::Loader::Host::didFail):
20131         (WebCore::Loader::Host::didReceiveResponse):
20132         (WebCore::Loader::Host::didReceiveData):
20133         * page/EventHandler.cpp:
20134         (WebCore::EventHandler::selectCursor):
20135         * rendering/RenderImage.cpp:
20136         (WebCore::RenderImage::setCachedImage):
20137         (WebCore::RenderImage::imageChanged):
20138         * rendering/RenderImage.h:
20139         (WebCore::RenderImage::cachedImage):
20140         (WebCore::RenderImage::imagePtr):
20141         * rendering/style/RenderStyle.h:
20142         * rendering/style/StyleCachedImage.h:
20143         (WebCore::StyleCachedImage::data):
20144         (WebCore::StyleCachedImage::cachedImage):
20145         * svg/SVGFEImageElement.h:
20146         * svg/graphics/filters/SVGFEImage.h:
20147         * xml/XSLImportRule.h:
20149 2008-09-04  Brady Eidson  <beidson@apple.com>
20151         Reviewed by Mitz
20153         <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
20155         A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt 
20156         to model default NSURLRequest behavior in a cross-platform manner.  
20158         Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit 
20159         client that wished to enforce a much larger default timeout using NSURLRequest API.
20161         Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
20162         behavior on the web and this restores previous Safari/WebKit behavior.
20164         It would be easy to write a layout test for this, but to be effective it would have
20165         to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
20167         * manual-tests/timeout-test.html: Added.
20168         * manual-tests/timeout-test.php: Added.
20170         * platform/network/ResourceRequestBase.h:
20171         (WebCore::ResourceRequestBase::ResourceRequestBase):  Rename the constant to "unspecifiedTimeoutInterval"
20172           and make it UINT_MAX so platforms that do set it have an effective "no timeout."  (Windows, for example)
20173         * platform/network/mac/ResourceRequestMac.mm:
20174         (WebCore::ResourceRequest::doUpdatePlatformRequest):  If the timeout for this request is 
20175           "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
20176           WebKit applications to enforce their own default timeout.
20178 2008-09-04  Dan Bernstein  <mitz@apple.com>
20180         Reviewed by Beth Dakin.
20182         - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
20184         Test: fast/repaint/button-spurious-layout-hint.html
20186         * rendering/RenderButton.cpp:
20187         (WebCore::RenderButton::setStyle): Reset the inner block's style box
20188         flex to 0 to avoid getting a spurious layout hint. 
20190 2008-09-04  Kevin Ollivier  <kevino@theolliviers.com>
20192         wx build fixes.
20194         * WebCoreSources.bkl:
20195         * bindings/js/ScriptControllerWx.cpp: Added.
20196         (WebCore::ScriptController::createScriptInstanceForWidget):
20197         * page/wx/AccessibilityObjectWx.cpp: Added.
20198         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
20199         * platform/graphics/wx/GraphicsContextWx.cpp:
20200         * webcore-base.bkl:
20201         * webcore-wx.bkl:
20203 2008-09-04  Dan Bernstein  <mitz@apple.com>
20205         Reviewed by Mark Rowe.
20207         - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
20208           and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
20209           require a different approach
20211         * css/CSSGrammar.y:
20213 2008-09-04  Mark Rowe  <mrowe@apple.com>
20215         Reviewed by Eric Seidel.
20217         Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
20218         Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
20220         * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
20221         * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
20222         for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
20224 2008-09-04  Mark Rowe  <mrowe@apple.com>
20226         Mac build fix.
20228         * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
20230 2008-09-04  Eric Seidel  <eric@webkit.org>
20232         Build fix only, no review.
20234         * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
20236 2008-09-04  Marco Barisione  <marco.barisione@collabora.co.uk>
20238         Reviewed by Eric Seidel.
20240         http://bugs.webkit.org/show_bug.cgi?id=20380
20241         [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
20243         * config.h: Include the configuration header generated by autotools if
20244         available.
20246 2008-09-04  Dan Bernstein  <mitz@apple.com>
20248         Rubber-stamped by Dave Hyatt.
20250         - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
20252         * loader/CachedFont.cpp:
20253         (WebCore::CachedFont::allClientsRemoved):
20254         * loader/CachedFont.h:
20255         * loader/CachedImage.cpp:
20256         (WebCore::CachedImage::allClientsRemoved):
20257         * loader/CachedImage.h:
20258         * loader/CachedResource.cpp:
20259         (WebCore::CachedResource::removeClient):
20260         * loader/CachedResource.h:
20261         (WebCore::CachedResource::allClientsRemoved):
20263 2008-09-04  Adam Roben  <aroben@apple.com>
20265         Windows build fix after r36071
20267         We were getting these errors:
20269         error C2356: initialization segment must not change during translation
20270         unit
20272         This was happening because multiple files #included by
20273         DerivedSources.cpp were themselves #including StaticConstructors.h. I
20274         fixed the error by adding header guards to StaticConstructors.h so its
20275         contents will only be included once.
20277         But it's also not a good idea for StaticConstructors.h to end up in
20278         DerivedSources.cpp, since it ends up "polluting" all the source files
20279         we have in there. So I removed all the files that include
20280         StaticConstructors.h and added some preprocessor directives to
20281         DerivedSources.cpp to catch this error in the future.
20283         * DerivedSources.cpp: Removed the *Names.cpp files, which include
20284         StaticConstructors.h, and added some preprocessor directives to make
20285         sure we don't end up accidentally including StaticConstructors.h in
20286         the future.
20287         * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
20288         * platform/StaticConstructors.h: Added header guards.
20290 2008-09-04  Adam Roben  <aroben@apple.com>
20292         Windows build fix
20294         * platform/graphics/win/FontPlatformData.h: Added a missing #include
20295         of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
20296         * platform/text/PlatformString.h: Added a missing #include of
20297         PassRefPtr.h.
20299 2008-09-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
20301         Reviewed by Simon.
20303         Fix the QtWebKit build to match changes in r36016
20305         * WebCore.pro:
20306         * bridge/qt/qt_instance.cpp:
20307         (KJS::Bindings::QtInstance::getRuntimeObject):
20308         * bridge/qt/qt_runtime.cpp:
20309         (KJS::Bindings::convertQVariantToValue):
20310         (KJS::Bindings::QtConnectionObject::execute):
20312 2008-09-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
20314         Reviewed by Simon.
20316         Re-enable support for user stylesheets in QtWebKit
20317         
20318         QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
20319         code path, which allows us to keep API support for
20320         loading user style sheets from remote URLs.
20321         
20322         As part of the change UserStyleSheetLoader.cpp/h was
20323         moved from WebCore/loader/mac to WebCore/loader.
20325         * WebCore.pro:
20326         * WebCore.xcodeproj/project.pbxproj:
20327         * dom/Document.h:
20328         * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
20329         (UserStyleSheetLoader::UserStyleSheetLoader):
20330         (UserStyleSheetLoader::~UserStyleSheetLoader):
20331         * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
20332         * page/qt/FrameQt.cpp:
20333         (WebCore::Frame::setUserStyleSheetLocation):
20334         (WebCore::Frame::setUserStyleSheet):
20336 2008-09-04  Alp Toker  <alp@nuanti.com>
20338         Reviewed by Eric.
20340         Remove left-over QT and CAIRO platform checks.
20342         * html/CanvasRenderingContext2D.cpp:
20344 2008-09-04  Eric Seidel  <eric@webkit.org>
20346         Reviewed by Mark Rowe.
20348         Fix leak of TextMetrics due to over-ref as see on buildbot.
20350         * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
20352 2008-09-04  Dan Bernstein  <mitz@apple.com>
20354         Reviewed by Dave Hyatt.
20356         - fix https://bugs.webkit.org/show_bug.cgi?id=19717
20357           <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
20359         * rendering/RenderBlock.cpp:
20360         (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
20361         positioned movement only case, call
20362         tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
20363         layout if that fails.
20364         (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
20365         * rendering/RenderBox.h:
20366         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
20367         layoutDoingPositionedMovementOnly to this, and made this function
20368         check if the width changed. If it did, return, leaving the object
20369         dirty. The caller can then call layout(). The width can change even
20370         in the "positioned movement only" case if the object is shrink-to-fit
20371         and the available width constraint is met. (This was the case in the
20372         bug).
20373         * rendering/RenderObject.h:
20374         (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
20375         Renamed layoutDoingPositionedMovementOnly() to this.
20377 2008-09-03  Eric Seidel  <eric@webkit.org>
20379         No review, build fix only.
20381         Attempt to fix the Qt build.
20383         * WebCore.pro: add page/animation to include path
20385 2008-09-03  Mark Rowe  <mrowe@apple.com>
20387         Mac build fix.  Correctly detect whether dashboard support is enabled.
20389         * DerivedSources.make:
20391 2008-09-03  Eric Seidel  <eric@webkit.org>
20393         Reviewed by Sam.
20395         Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
20397         * Configurations/WebCore.xcconfig: add missing ENABLE_*
20398         * config.h: add rules for V8_BINDINGS
20400 2008-09-03  Eric Seidel  <eric@webkit.org>
20402         Reviewed by Sam.
20404         https://bugs.webkit.org/show_bug.cgi?id=20620
20406         Add #if USE(JSC) around KJS dependencies
20407         Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
20408         1. Most platforms have it on anyway
20409         2. V8 is going to want to share some of that code
20410         3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
20412         * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
20413         * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
20414         * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20415         * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20416         * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20417         * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20418         * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20419         * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20420         * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
20421         * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
20422         * platform/text/AtomicString.cpp: add USE(JSC)
20423         * platform/text/AtomicString.h: add USE(JSC)
20424         * platform/text/PlatformString.h: add USE(JSC)
20425         * platform/text/String.cpp: add USE(JSC)
20426         * platform/text/StringImpl.cpp: add USE(JSC)
20427         * platform/text/StringImpl.h: add USE(JSC)
20429 2008-09-03  Dean McNamee  <deanm@chromium.org>
20431         Reviewed by Darin Adler.
20433         Fix https://bugs.webkit.org/show_bug.cgi?id=20511
20434         Bug 20511: Remove static initializers on Windows
20436         Avoid static initializers on Windows by forcing Visual C++ to put
20437         all static initializers in a code segment that is never executed.
20439         * config.h:
20440         * css/MediaFeatureNames.cpp:
20441         * dom/EventNames.cpp:
20442         * dom/QualifiedName.cpp:
20443         * dom/make_names.pl:
20444         * platform/StaticConstructors.h:
20445         * platform/text/AtomicString.cpp:
20447 2008-09-03  Dirk Schulze  <vbs85@gmx.de>
20449         Reviewed by Dave Hyatt.
20451         Make FontCairo draw TextStroke and TextFill separately.
20453         [CAIRO] draw TextFill and TextStroke separately.
20454         [https://bugs.webkit.org/show_bug.cgi?id=20631]
20456         * platform/graphics/cairo/FontCairo.cpp:
20457         (WebCore::Font::drawGlyphs):
20459 2008-09-03  Peter Kasting  <pkasting@google.com>
20461         Reviewed by Dave Hyatt.
20463         https://bugs.webkit.org/show_bug.cgi?id=19663
20464         Account for paint and timer lag when animating images.  Also pretend
20465         that images whose animations were paused (by becoming invisible)
20466         continued to animate, by "catching up" to the correct frame when they're
20467         shown again.
20469         * platform/graphics/BitmapImage.cpp:
20470         (WebCore::BitmapImage::BitmapImage):
20471         (WebCore::BitmapImage::startAnimation):
20472         (WebCore::BitmapImage::advanceAnimation):
20473         (WebCore::BitmapImage::internalAdvanceAnimation):
20474         (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
20475         * platform/graphics/BitmapImage.h:
20476         * platform/graphics/cairo/ImageCairo.cpp:
20477         (WebCore::BitmapImage::draw):
20478         * platform/graphics/cg/ImageCG.cpp:
20479         (WebCore::BitmapImage::draw):
20480         * platform/graphics/qt/ImageQt.cpp:
20481         (WebCore::BitmapImage::draw):
20482         * platform/graphics/wx/ImageWx.cpp:
20483         (WebCore::BitmapImage::draw):
20485 2008-09-03  Kevin McCullough  <kmccullough@apple.com>
20487         Reviewed by Tim.
20489         Remove the rest of the "zombie" code from the profiler.
20490         - There is no longer a need for the ProfilerClient callback mechanism.
20492         * page/Console.cpp: 
20493         (WebCore::Console::Console):
20494         (WebCore::Console::profile):
20495         (WebCore::Console::profileEnd): Move the variables from the header to
20496         here since we don't have to wait for a callback to use them.
20497         * page/Console.h:
20498         * page/InspectorController.cpp:
20499         (WebCore::InspectorController::startUserInitiatedProfiling):
20500         (WebCore::InspectorController::stopUserInitiatedProfiling):
20501         * page/InspectorController.h:
20503 2008-09-03  Ada Chan  <adachan@apple.com>
20505         Windows build fix.
20507         * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
20509 2008-09-01  Dean Jackson  <dino@apple.com>
20511         Reviewed by Dave Hyatt.
20513         https://bugs.webkit.org/show_bug.cgi?id=20594
20514         Add DOM interfaces for WebKitCSSKeyframeRule
20515         and WebKitCSSKeyframesRule.
20517         TEST: LayoutTests/css3/keyframes-rule.html
20519         * css/WebKitCSSKeyframeRule.idl: Added
20520         * css/WebKitCSSKeyframesRule.idl: Added
20522         * bindings/js/JSCSSRuleCustom.cpp:
20523         (WebCore::toJS):
20524             Add return of new JS Keyframe rules
20525         * bindings/objc/DOMInternal.h:
20526             Include new internal header
20528         * DerivedSources.make:
20529         * GNUmakefile.am:
20530         * WebCore.pro:
20531         * WebCore.vcproj/WebCore.vcproj:
20532         * WebCore.xcodeproj/project.pbxproj:
20533         * WebCoreSources.bkl:
20534             Build configs for new files
20536 2008-09-03  Adam Roben  <aroben@apple.com>
20538         Windows build fix
20540         * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
20541         * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
20542         convenience/consistency.
20544 2008-09-03  Adele Peterson  <adele@apple.com>
20546         Build fix.
20548         * WebCore.vcproj/WebCore.vcproj:
20550 2008-09-03  David Hyatt  <hyatt@apple.com>
20552         Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
20554         Reviewed by Darin (ages ago)
20556         Added fast/block/float/clamped-right-float.html
20558         * rendering/RenderBlock.cpp:
20559         (WebCore::RenderBlock::positionNewFloats):
20561 2008-09-02  David Hyatt  <hyatt@apple.com>
20563         Add support for canvas text drawing APIs.
20565         Reviewed by olliej
20567         Tests added as fast/canvas/canvas-text-*.html
20569         * DerivedSources.make:
20570         * WebCore.xcodeproj/project.pbxproj:
20571         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
20572         (WebCore::JSCanvasRenderingContext2D::fillText):
20573         (WebCore::JSCanvasRenderingContext2D::strokeText):
20574         * css/CSSStyleSelector.cpp:
20575         (WebCore::CSSStyleSelector::initForStyleResolve):
20576         (WebCore::CSSStyleSelector::applyPropertyToStyle):
20577         * css/CSSStyleSelector.h:
20578         * html/CanvasRenderingContext2D.cpp:
20579         (WebCore::CanvasRenderingContext2D::State::State):
20580         (WebCore::CanvasRenderingContext2D::font):
20581         (WebCore::CanvasRenderingContext2D::setFont):
20582         (WebCore::CanvasRenderingContext2D::textAlign):
20583         (WebCore::CanvasRenderingContext2D::setTextAlign):
20584         (WebCore::CanvasRenderingContext2D::textBaseline):
20585         (WebCore::CanvasRenderingContext2D::setTextBaseline):
20586         (WebCore::CanvasRenderingContext2D::fillText):
20587         (WebCore::CanvasRenderingContext2D::strokeText):
20588         (WebCore::CanvasRenderingContext2D::measureText):
20589         (WebCore::CanvasRenderingContext2D::drawTextInternal):
20590         (WebCore::CanvasRenderingContext2D::accessFont):
20591         * html/CanvasRenderingContext2D.h:
20592         * html/CanvasRenderingContext2D.idl:
20593         * html/TextMetrics.h: Added.
20594         (WebCore::TextMetrics::create):
20595         (WebCore::TextMetrics::width):
20596         (WebCore::TextMetrics::setWidth):
20597         (WebCore::TextMetrics::TextMetrics):
20598         * html/TextMetrics.idl: Added.
20599         * platform/graphics/Font.cpp:
20600         (WebCore::Font::lineGap):
20601         * platform/graphics/Font.h:
20602         * platform/graphics/GraphicsContext.cpp:
20603         (WebCore::GraphicsContext::drawBidiText):
20604         * platform/graphics/GraphicsContext.h:
20605         * platform/graphics/GraphicsTypes.cpp:
20606         (WebCore::textAlignName):
20607         (WebCore::parseTextAlign):
20608         (WebCore::textBaselineName):
20609         (WebCore::parseTextBaseline):
20610         * platform/graphics/GraphicsTypes.h:
20611         (WebCore::):
20613 2008-09-03  John Sullivan  <sullivan@apple.com>
20615         Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
20617         Fixed by Darin, reviewed by me
20619         * page/animation/AnimationBase.cpp:
20620         (WebCore::AnimationBase::propertiesEqual):
20621         added ensurePropertyMap() to this static function
20622         (WebCore::AnimationBase::getPropertyAtIndex):
20623         ditto
20624         (WebCore::AnimationBase::getNumProperties):
20625         ditto
20627 2008-09-03  Kevin McCullough  <kmccullough@apple.com>
20629         Reviewed by Darin and Tim.
20631         Remove most of the "zombie" mode from the profiler.  Next we will need
20632         to remove the client callback mechanism in profiles.
20633         - These changes are a result of changes to JSCore.
20635         * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
20636         * page/Console.cpp:
20637         (WebCore::retrieveLastCaller):
20638         (WebCore::Console::profileEnd):
20639         * page/InspectorController.cpp:
20640         (WebCore::InspectorController::stopUserInitiatedProfiling):
20642 2008-09-03  Adele Peterson  <adele@apple.com>
20644         Reviewed by Darin Adler.
20646         Test: fast/forms/search-display-none-cancel-button.html
20648         Allow display:none to work on a search field's cancel button.  Prepare for adding more style-ability for the results button too.
20650         * css/html4.css: Set display:inline-block for these buttons.  Now they can be overridden by a web author.
20652         * rendering/RenderTextControl.cpp:
20653         (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
20654         (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly.  This is now done in html4.css.
20655         (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
20656         (WebCore::RenderTextControl::createSubtreeIfNeeded):
20657         Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
20658         (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
20659         (WebCore::RenderTextControl::subtreeHasChanged): ditto.
20660         (WebCore::RenderTextControl::calcHeight): ditto.
20661         (WebCore::RenderTextControl::nodeAtPoint): ditto.
20662         (WebCore::RenderTextControl::layout): ditto.
20663         (WebCore::RenderTextControl::calcPrefWidths): ditto.
20664         (WebCore::RenderTextControl::clientPaddingLeft): ditto.
20665         (WebCore::RenderTextControl::clientPaddingRight): ditto.
20667         * rendering/TextControlInnerElements.cpp:
20668         (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
20669         (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
20670         (WebCore::TextControlInnerElement::attachInnerElement): Added.
20671          This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
20672         (WebCore::TextControlInnerTextElement::createRenderer): Added.  Creates a RenderTextControlInnerBlock.
20673         * rendering/TextControlInnerElements.h:
20675 2008-08-28  Alexey Proskuryakov  <ap@webkit.org>
20677         Reviewed by Maciej.
20679         Elminate SQLiteAuthorizer class.
20681         * WebCore.xcodeproj/project.pbxproj:
20682         * WebCore.vcproj/WebCore.vcproj:
20683         * GNUmakefile.am
20684         Removed SQLiteAuthorizer.h.
20686         * platform/sql/SQLiteAuthorizer.cpp:
20687         * platform/sql/SQLiteAuthorizer.h: Removed.
20688         * platform/sql/SQLiteDatabase.cpp:
20689         (WebCore::SQLiteDatabase::authorizerFunction):
20690         (WebCore::SQLiteDatabase::setAuthorizer):
20691         * platform/sql/SQLiteDatabase.h:
20692         * storage/DatabaseAuthorizer.h:
20693         (WebCore::DatabaseAuthorizer::create):
20694         (WebCore::DatabaseAuthorizer::createView):
20695         (WebCore::DatabaseAuthorizer::createTempView):
20696         (WebCore::DatabaseAuthorizer::dropView):
20697         (WebCore::DatabaseAuthorizer::dropTempView):
20698         (WebCore::DatabaseAuthorizer::allowSelect):
20699         (WebCore::DatabaseAuthorizer::allowReindex):
20700         Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
20702 2008-09-03  Dirk Schulze  <vbs85@gmx.de>
20704         Reviewed by Mark Rowe.
20706         WebKitGtk build fix.
20708         * GNUmakefile.am:
20709         * page/animation/AnimationController.h:
20711 2008-09-02  Robert Blaut  <webkit@blaut.biz>
20713         Reviewed by Geoff Garen.
20715         Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
20716         Misplaced elements should not close DL lists.
20718         Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
20720         * html/HTMLParser.cpp:
20721         (WebCore::HTMLParser::handleError):
20723 2008-09-02  Glenn Wilson  <wilsong@gmail.com>
20725         Reviewed by Darin Adler.
20727         Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
20728         Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
20730         We would inappropriately interpret and apply an invalid CSS "color" property
20731         when the value is a predefined color preceded by a '#' symbol.  For example,
20732         style="color:#gray;" would apply the color gray when it should not.
20734         In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
20735         This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be 
20736         interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
20737         an ignorable token.
20739         To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
20740         '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
20741         CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
20743         Test: css1/color_and_background/invalid_color.html
20745         * css/CSSGrammar.y:
20747 2008-09-02  Mihnea Ovidenie  <mihnea@adobe.com>
20749         Reviewed by Darin Adler.
20751         Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
20752         Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
20754         Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
20756         Test: css3/khtml-background-size-0x0-bmp.html
20758         * rendering/RenderBox.cpp:
20759         (WebCore::RenderBox::repaintLayerRectsForImage):
20761 2008-09-02  Glenn Wilson  <wilsong@gmail.com>
20763         Reviewed by Eric Seidel.
20765         Fix https://bugs.webkit.org/show_bug.cgi?id=20397
20766         Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
20768         The function checkForOrphanedUnits() would change the length of a list whose size was
20769         was already determined before the call to checkForOrphanedUnits was made.  Later in
20770         the caller, the old size was being used for boundary management.
20772         This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
20773         calling function, before the size of the list is determined.
20775         Test: fast/css/orphaned_units_crash.html
20777         * css/CSSParser.cpp:
20778         (WebCore::CSSParser::parseValue):  Moved call to checkForOrphanedUnits() earlier in the function.
20780 2008-09-02  Dirk Schulze  <vbs85@gmx.de>
20782         Reviewed by Darin Adler.
20784         Fallback on invalid fill or stroke styles in Canvas was
20785         transparent black. Changed it to last valid style.
20787         Canvas fillStyle() and strokeStyle() needs fallback
20788         https://bugs.webkit.org/show_bug.cgi?id=20474
20790         Tests: fast/canvas/canvas-invalid-fillstyle.html
20791                fast/canvas/canvas-invalid-strokestyle.html
20793         * html/CanvasStyle.cpp:
20794         (WebCore::CanvasStyle::applyStrokeColor):
20795         (WebCore::CanvasStyle::applyFillColor):
20797 2008-09-02  Dirk Schulze  <vbs85@gmx.de>
20799         Reviewed by Darin Adler.
20801         Fix https://bugs.webkit.org/show_bug.cgi?id=20468
20802         Updated drawImage() in canvas to match the current specification.
20804         Test: fast/canvas/drawImage-with-negative-source-destination.html
20806         * html/CanvasRenderingContext2D.cpp:
20807         (WebCore::normalizeRect):
20808         (WebCore::CanvasRenderingContext2D::drawImage):
20810 2008-08-26  Mark Rowe  <mrowe@apple.com>
20812         Reviewed by Darin Adler.
20814         <rdar://problem/5768210> Switch back to the system version of SQLite
20816         Use the system version of SQLite when it is new enough to provide the functionality
20817         that WebCore requires.
20819         * Configurations/Base.xcconfig:
20820         * Configurations/DebugRelease.xcconfig:
20821         * Configurations/WebCore.xcconfig:
20823 2008-09-02  Dan Bernstein  <mitz@apple.com>
20825         - build fix
20827         * page/animation/AnimationBase.h:
20829 2008-09-02  Chris Marrin  <cmarrin@apple.com>
20831         Reviewed by Dave Hyatt.
20833         AnimationController.cpp should be split into separate files
20834         https://bugs.webkit.org/show_bug.cgi?id=20604
20835         
20836         Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
20837         recommendation of Dave Hyatt.
20839         * GNUmakefile.am:
20840         * WebCore.pro:
20841         * WebCore.vcproj/WebCore.vcproj:
20842         * WebCore.xcodeproj/project.pbxproj:
20843         * WebCoreSources.bkl:
20844             Build files.
20845         
20846         * page/AnimationController.cpp: Removed.
20847         * page/AnimationController.h: Removed.
20848         * page/animation: Added.
20849         * page/animation/AnimationBase.cpp: Added.
20850         * page/animation/AnimationBase.h: Added.
20851         * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
20852         * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
20853         * page/animation/CompositeAnimation.cpp: Added.
20854         * page/animation/CompositeAnimation.h: Added.
20855         * page/animation/ImplicitAnimation.cpp: Added.
20856         * page/animation/ImplicitAnimation.h: Added.
20857         * page/animation/KeyframeAnimation.cpp: Added.
20858         * page/animation/KeyframeAnimation.h: Added.
20860 2008-09-02  Dan Bernstein  <mitz@apple.com>
20862         - release build fix
20864         * platform/graphics/cg/GraphicsContextCG.cpp:
20865         (WebCore::calculateDrawingMode):
20867 2008-09-02  Timothy Hatcher  <timothy@apple.com>
20869         Make console functions log the correct resource URL and
20870         line number for where the call originated.
20872         https://bugs.webkit.org/show_bug.cgi?id=17234
20873         <rdar://problem/5732837>
20875         Reviewed by Kevin McCullough.
20877         Test: manual-tests/inspector/console-call-line-numbers.html
20879         * bindings/js/JSConsoleCustom.cpp:
20880         (WebCore::JSConsole::count): Call the impl.
20881         (WebCore::JSConsole::timeEnd): Ditto.
20882         * manual-tests/inspector/console-call-line-numbers.html: Added.
20883         * manual-tests/inspector/resources/script-console-calls.js: Added.
20884         * page/Console.cpp:
20885         (WebCore::retrieveLastCaller): Helper to get the URL and line.
20886         (WebCore::Console::error): Call retrieveLastCaller to get the URL and
20887         line number to pass to addMessageToConsole.
20888         (WebCore::Console::info): Ditto.
20889         (WebCore::Console::log): Ditto.
20890         (WebCore::Console::assertCondition): Ditto.
20891         (WebCore::Console::count): Ditto.
20892         (WebCore::Console::timeEnd): Ditto.
20893         (WebCore::Console::warn): Ditto.
20894         * page/Console.h:
20895         * page/Console.idl: Make count and timeEnd custom.
20897 2008-09-02  Timothy Hatcher  <timothy@apple.com>
20899         Removed IDL files from WebCore's framework resources.
20901         * WebCore.xcodeproj/project.pbxproj:
20903 2008-09-02  Dan Bernstein  <mitz@apple.com>
20905         Reviewed by Dave Hyatt.
20907         - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
20909         * html/HTMLParser.cpp:
20910         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
20911         cap on the number of consecutive identical residual style tags to
20912         reopen.
20913         (WebCore::HTMLParser::popBlock): Ditto.
20915 2008-09-02  Alexey Proskuryakov  <ap@webkit.org>
20917         Reviewed by Adam Roben.
20919         A little database quota management cleanup.
20921         * storage/OriginQuotaManager.cpp:
20922         (WebCore::OriginQuotaManager::OriginQuotaManager):
20923         (WebCore::OriginQuotaManager::lock):
20924         (WebCore::OriginQuotaManager::unlock):
20925         (WebCore::OriginQuotaManager::trackOrigin):
20926         (WebCore::OriginQuotaManager::tracksOrigin):
20927         (WebCore::OriginQuotaManager::addDatabase):
20928         (WebCore::OriginQuotaManager::removeDatabase):
20929         (WebCore::OriginQuotaManager::removeOrigin):
20930         (WebCore::OriginQuotaManager::markDatabase):
20931         (WebCore::OriginQuotaManager::diskUsage):
20932         * storage/OriginQuotaManager.h:
20933         Changed to assert that a lock is taken more directly and reliably. Removed comments about
20934         main/background threads, as this is likely to stop being true with synchronous Database calls
20935         being made on worker threads.
20937         * storage/OriginUsageRecord.cpp:
20938         (WebCore::OriginUsageRecord::OriginUsageRecord):
20939         (WebCore::OriginUsageRecord::addDatabase):
20940         (WebCore::OriginUsageRecord::removeDatabase):
20941         (WebCore::OriginUsageRecord::markDatabase):
20942         (WebCore::OriginUsageRecord::diskUsage):
20943         * storage/OriginUsageRecord.h:
20944         (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
20945         Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
20946         can be replaced with a single boolean for OriginUsageRecord.
20947         Added assertions for string parameters being unshared.
20950 2008-09-01  Adam Barth  <abarth@webkit.org>
20952         Reviewed by Sam Weinig.
20954         https://bugs.webkit.org/show_bug.cgi?id=19760
20956         Make granting LoadLocalResources conditional on a policy.
20958         * WebCore.base.exp:
20959         * dom/Document.cpp:
20960         (WebCore::Document::initSecurityContext):
20961         * loader/FrameLoader.cpp:
20962         (WebCore::FrameLoader::setLocalLoadPolicy):
20963         (WebCore::FrameLoader::restrictAccessToLocal):
20964         * loader/FrameLoader.h:
20965         (WebCore::FrameLoader::):
20966         * platform/SecurityOrigin.cpp:
20967         (WebCore::SecurityOrigin::grantLoadLocalResources):
20968         * platform/SecurityOrigin.h:
20970 2008-09-01  Dean Jackson  <dino@apple.com>
20972         Reviewed by Sam Weinig.
20974         https://bugs.webkit.org/show_bug.cgi?id=20571
20975         Make sure Window object can assign Animation/Transition event
20976         listeners via attributes.
20978         Also added a bunch of transition event tests, although
20979         only transition-end-event-window is directly relevant to this patch.
20981         (WebCore::JSDOMWindowBase::put):
20983         Tests: transitions/transition-end-event-all-properties.html
20984                transitions/transition-end-event-attributes.html
20985                transitions/transition-end-event-container.html
20986                transitions/transition-end-event-left.html
20987                transitions/transition-end-event-multiple-01.html
20988                transitions/transition-end-event-multiple-02.html
20989                transitions/transition-end-event-multiple-03.html
20990                transitions/transition-end-event-multiple-04.html
20991                transitions/transition-end-event-nested.html
20992                transitions/transition-end-event-transform.html
20993                transitions/transition-end-event-window.html
20995 2008-09-01  Dean Jackson  <dino@apple.com>
20997         Reviewed by Sam Weinig
20999         Code styling cleanup.
21001         * bindings/js/JSDOMWindowBase.cpp:
21002         (WebCore::JSDOMWindowBase::getValueProperty):
21003         (WebCore::JSDOMWindowBase::put):
21005 2008-09-01  Geoffrey Garen  <ggaren@apple.com>
21007         Reviewed by Darin Adler.
21009         First cut at inline caching for access to vanilla JavaScript properties.
21011         Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
21012         to WebCore classes, and PutPropertySlot& arguments to put functions.
21014         (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
21015         inline caching for global properties, so global assignment can be optimized.
21017         * ForwardingHeaders/kjs/StructureID.h: Added.
21018         * bindings/js/JSDOMBinding.h:
21019         (WebCore::DOMObject::DOMObject):
21020         * bindings/js/JSDOMWindowBase.cpp:
21021         (WebCore::JSDOMWindowBase::put):
21022         * bindings/js/JSDOMWindowBase.h:
21023         * bindings/js/JSDOMWindowCustom.h:
21024         (WebCore::JSDOMWindow::customPut):
21025         * bindings/js/JSDOMWindowShell.cpp:
21026         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
21027         (WebCore::JSDOMWindowShell::put):
21028         * bindings/js/JSDOMWindowShell.h:
21029         * bindings/js/JSEventTargetBase.h:
21030         (WebCore::JSEventTargetBase::put):
21031         * bindings/js/JSEventTargetNode.h:
21032         (WebCore::JSEventTargetNode::put):
21033         * bindings/js/JSHTMLAppletElementCustom.cpp:
21034         (WebCore::JSHTMLAppletElement::customPut):
21035         * bindings/js/JSHTMLEmbedElementCustom.cpp:
21036         (WebCore::JSHTMLEmbedElement::customPut):
21037         * bindings/js/JSHTMLInputElementBase.cpp:
21038         (WebCore::JSHTMLInputElementBase::put):
21039         * bindings/js/JSHTMLInputElementBase.h:
21040         * bindings/js/JSHTMLObjectElementCustom.cpp:
21041         (WebCore::JSHTMLObjectElement::customPut):
21042         * bindings/js/JSHistoryCustom.cpp:
21043         (WebCore::JSHistory::customPut):
21044         * bindings/js/JSInspectedObjectWrapper.cpp:
21045         (WebCore::JSInspectedObjectWrapper::wrap):
21046         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
21047         * bindings/js/JSInspectedObjectWrapper.h:
21048         * bindings/js/JSInspectorCallbackWrapper.cpp:
21049         (WebCore::JSInspectorCallbackWrapper::wrap):
21050         (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
21051         * bindings/js/JSInspectorCallbackWrapper.h:
21052         * bindings/js/JSLocationCustom.cpp:
21053         (WebCore::JSLocation::customPut):
21054         * bindings/js/JSPluginElementFunctions.cpp:
21055         (WebCore::runtimeObjectCustomPut):
21056         * bindings/js/JSPluginElementFunctions.h:
21057         * bindings/js/JSQuarantinedObjectWrapper.cpp:
21058         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
21059         (WebCore::JSQuarantinedObjectWrapper::put):
21060         * bindings/js/JSQuarantinedObjectWrapper.h:
21061         * bindings/js/JSStorageCustom.cpp:
21062         (WebCore::JSStorage::customPut):
21063         * bindings/objc/WebScriptObject.mm:
21064         (-[WebScriptObject setValue:forKey:]):
21065         * bindings/scripts/CodeGeneratorJS.pm:
21066         * bridge/NP_jsobject.cpp:
21067         (_NPN_SetProperty):
21068         * bridge/jni/jni_jsobject.mm:
21069         (JavaJSObject::setMember):
21070         * bridge/objc/objc_class.mm:
21071         (KJS::Bindings::ObjcClass::fallbackObject):
21072         * bridge/objc/objc_runtime.h:
21073         * bridge/objc/objc_runtime.mm:
21074         (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
21075         (ObjcFallbackObjectImp::put):
21076         * bridge/runtime.cpp:
21077         (KJS::Bindings::Instance::createRuntimeObject):
21078         * bridge/runtime_array.cpp:
21079         (RuntimeArray::put):
21080         * bridge/runtime_array.h:
21081         * bridge/runtime_object.cpp:
21082         (RuntimeObjectImp::RuntimeObjectImp):
21083         (RuntimeObjectImp::put):
21084         * bridge/runtime_object.h:
21086 2008-09-01  Dirk Schulze  <vbs85@gmx.de>
21088         Reviewed by Eric Seidel.
21090         Fixed border-radius for Cairo.
21092         * platform/graphics/cairo/GraphicsContextCairo.cpp:
21093         (WebCore::GraphicsContext::strokeArc):
21095 2008-09-01  Dirk Schulze  <vbs85@gmx.de>
21097         Reviewed by Eric Seidel.
21099         Added canvas's globalAlpha to cairo.
21101         * platform/graphics/GraphicsContext.h:
21102         * platform/graphics/cairo/GraphicsContextCairo.cpp:
21103         (WebCore::GraphicsContext::fillPath):
21104         (WebCore::GraphicsContext::strokePath):
21105         (WebCore::GraphicsContext::setAlpha):
21106         (WebCore::GraphicsContext::getAlpha):
21107         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
21108         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
21109         * platform/graphics/cairo/ImageCairo.cpp:
21110         (WebCore::BitmapImage::draw):
21112 2008-08-31  Simon Hausmann  <hausmann@webkit.org>
21114         Unreviewed Qt build fix.
21116         * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
21117         the .h file
21119 2008-08-30  Darin Adler  <darin@apple.com>
21121         Reviewed by Maciej.
21123         - adopt some new JavaScriptCore functions where appropriate
21125         * bindings/js/JSDOMWindowBase.cpp:
21126         (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
21127         (WebCore::windowProtoFuncBToA): Ditto.
21128         * bindings/js/JSEventListener.cpp:
21129         (WebCore::JSLazyEventListener::eventParameterName): Adopted
21130         jsNontrivialString.
21131         * bindings/js/JSSVGLazyEventListener.cpp:
21132         (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
21134 2008-08-29  Brady Eidson  <beidson@apple.com>
21136         Reviewed by Anders' rubberstamp
21138         Style cleanup to match MediaTokenizer::writeRawData()
21140         * loader/PluginDocument.cpp:
21141         (WebCore::PluginTokenizer::writeRawData):
21143 2008-08-29  Brady Eidson  <beidson@apple.com>
21145         Reviewed by Anders
21147         https://bugs.webkit.org/show_bug.cgi?id=20556
21148         <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
21150         Fix regression I introducted in 35946
21151         Already covered by media/video-click-dlbclick-standalone.html
21153         * loader/MediaDocument.cpp:
21154         (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
21155         (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called.  Also add
21156           an ASSERT signifying that this method should only be called once, to more closely follow the
21157           PluginDocument case.
21159 2008-08-29  Beth Dakin  <bdakin@apple.com>
21161         Reviewed by Sam Weinig.
21163         Fix for <rdar://problem/6181588>
21165         This patch makes hit testing take into account the new concept of a 
21166         disconnected frame, in which some of the content may not be 
21167         visible. The current hit testing mechanism starts at a target frame 
21168         and drills down for a HitTestResult. In some cases, drilling down 
21169         will find a non-visible result. When this happens, we need to try 
21170         again, starting at a higher level -- namely, starting at the main 
21171         frame.
21173         * editing/Editor.cpp:
21174         (WebCore::Editor::insideVisibleArea): New function that tests if a 
21175         point is inside the visible area for a disconnected frame.
21176         * editing/Editor.h:
21177         * page/EventHandler.cpp:
21178         (WebCore::EventHandler::hitTestResultAtPoint):
21180 2008-08-29  Adele Peterson  <adele@apple.com>
21182         Reviewed by Adam Roben. 
21184         Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
21186         * GNUmakefile.am:
21187         * WebCore.pro:
21188         * WebCore.vcproj/WebCore.vcproj:
21189         * WebCore.xcodeproj/project.pbxproj:
21190         * WebCoreSources.bkl:
21191         * html/HTMLTextFieldInnerElement.cpp: Removed.
21192         * html/HTMLTextFieldInnerElement.h: Removed.
21193         * rendering/RenderTextControl.cpp:
21194         (WebCore::RenderTextControl::createSubtreeIfNeeded):
21195         * rendering/RenderTextControl.h:
21196         * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
21197         (WebCore::TextControlInnerElement::TextControlInnerElement):
21198         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
21199         (WebCore::TextControlInnerTextElement::defaultEventHandler):
21200         (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
21201         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
21202         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
21203         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
21204         * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
21206 2008-08-29  Eric Seidel  <eric@webkit.org>
21208         Rubber-stamped by aroben.
21210         Add GraphicsContext.h include to GraphcisContextPrivate.h
21212         GraphicsContextPrivate uses StrokeStyle which is defined
21213         in GraphicsContext.h but it doesn't include that header.
21214         CoreGraphics build doesn't fail here due to the order
21215         it happens to include files.
21217         * platform/graphics/GraphicsContextPrivate.h:
21219 2008-08-29  Eric Seidel  <eric@webkit.org>
21221         Reviewed by hyatt.
21223         Fix GeneratedImage to respect Image's refcounting
21224         Fixing potential crashers (future if not current)
21225         https://bugs.webkit.org/show_bug.cgi?id=20567
21226         
21227         I don't know if it's possible to make the current code
21228         crash, thus I've not made a test.
21230         * css/CSSGradientValue.cpp:
21231         (WebCore::CSSGradientValue::image):
21232         * css/CSSImageGeneratorValue.cpp:
21233         (WebCore::CSSImageGeneratorValue::removeClient):
21234         (WebCore::CSSImageGeneratorValue::getImage):
21235         * css/CSSImageGeneratorValue.h:
21236         * platform/graphics/GeneratedImage.h:
21237         (WebCore::GeneratedImage::GeneratedImage):
21238         * rendering/style/RenderStyle.cpp:
21239         (WebCore::RenderStyle::setContent):
21240         * rendering/style/RenderStyle.h:
21242 2008-08-29  Eric Carlson  <eric.carlson@apple.com>
21244         Reviewed by Adele.
21246         Fix for <rdar://problem/6093767>
21247         https://bugs.webkit.org/show_bug.cgi?id=20526
21249         Don't allow video to render until unsupported track types have been disabled.
21251         * platform/graphics/win/QTMovieWin.cpp:
21252         (QTMovieWinPrivate::task):
21253         (QTMovieWinPrivate::drawingComplete):
21254         (QTMovieWinPrivate::clearGWorld):
21256 2008-08-29  Eric Carlson  <eric.carlson@apple.com>
21258         Reviewed by Adele.
21260         Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
21261         <rdar://problem/6169301>
21262         
21263         Return the size of the movie data instead of 1000.
21264         
21265         Test: media/progress-event-total.html
21267         * platform/graphics/win/QTMovieWin.cpp:
21268         (QTMovieWin::dataSize):
21270 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
21272         Reviewed by Eric Seidel.
21274         [janitor/qt] Start replacing port specific getters with the generic native getter
21275         To get the native presentation of an image we currently have platform
21276         specific #ifdef's and a generic getter using NativeImagePtr. This patch
21277         extends this to the ImageBuffer and updates the Qt platform to get rid
21278         of the special #ifdefs.
21280         https://bugs.webkit.org/attachment.cgi?id=22861
21282         * platform/graphics/BitmapImage.h:
21283         * platform/graphics/Image.h:
21284         * platform/graphics/qt/ImageQt.cpp:
21285         * platform/graphics/qt/StillImageQt.cpp:
21286         * platform/graphics/qt/StillImageQt.h:
21287         * platform/qt/ClipboardQt.cpp:
21288         (WebCore::ClipboardQt::createDragImage):
21289         (WebCore::ClipboardQt::declareAndWriteDragImage):
21290         * platform/qt/CursorQt.cpp:
21291         * platform/qt/PasteboardQt.cpp:
21292         (WebCore::Pasteboard::writeImage):
21294 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
21296         Reviewed by Simon.
21298         [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
21300         * svg/graphics/qt/SVGPaintServerQt.cpp:
21301         (WebCore::SVGPaintServer::renderPath):
21302         * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
21303         (WebCore::SVGPaintServerSolid::setup):
21305 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
21307         Reviewed by Simon.
21309         [network/qt] Implement defering of loading ResourceHandle's
21310         This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
21311         implementation is simply not forwarding anything to the
21312         ResourceHandleClient until we are allowed to. This might lead to a deadlock
21313         in Qt as we do not empty the QNetworkReply input buffer and wait until we
21314         are allowed to read. If that happens we are forced to buffer the data
21315         within QNetworkReplyHandler, for now this is not done.
21317         Manual test:
21318         - Open http://acid3.acidtests.org
21319         - Wait for the test to complete
21320         - Click on the Reference Rendering link
21321         - Be fast and see the results of acid3
21322         => assert
21324         * platform/network/qt/QNetworkReplyHandler.cpp:
21325         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
21326         (WebCore::QNetworkReplyHandler::setLoadMode):
21327         (WebCore::QNetworkReplyHandler::finish):
21328         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
21329         (WebCore::QNetworkReplyHandler::forwardData):
21330         (WebCore::QNetworkReplyHandler::start):
21331         (WebCore::QNetworkReplyHandler::resetState):
21332         (WebCore::QNetworkReplyHandler::sendQueuedItems):
21333         * platform/network/qt/QNetworkReplyHandler.h:
21334         (WebCore::QNetworkReplyHandler::):
21335         * platform/network/qt/ResourceHandleQt.cpp:
21336         (WebCore::ResourceHandle::start):
21337         (WebCore::ResourceHandle::loadResourceSynchronously):
21338         (WebCore::ResourceHandle::setDefersLoading):
21340 2008-08-29  Simon Hausmann  <hausmann@webkit.org>
21342         Reviewed by Holger.
21344         Don't crash when drawing patterns with the HTML canvas. Patterns
21345         remain unimplemented but at least they don't crash anymore. This is
21346         done by changing the PlatformPatternPtr to be a brush for the Qt
21347         platform.
21349         * platform/graphics/Pattern.h:
21350         * platform/graphics/qt/GraphicsContextQt.cpp:
21351         (WebCore::GraphicsContext::fillPath):
21352         (WebCore::GraphicsContext::strokePath):
21353         (WebCore::GraphicsContext::fillRect):
21354         * platform/graphics/qt/PatternQt.cpp:
21355         (WebCore::Pattern::createPlatformPattern):
21357 2008-08-29  Simon Hausmann  <hausmann@webkit.org>
21359         Fix the Qt build, fontSelector() is not used by the Qt port yet
21360         and we just return 0 in Font::fontSelector().
21362         * platform/graphics/Font.h:
21364 2008-08-28  Alp Toker  <alp@nuanti.com>
21366         GTK+ dist/build fix. List newly added header files.
21368         * GNUmakefile.am:
21370 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
21372         Reviewed by Dave Hyatt
21374         Various WebKitCSSTransformValue-related fixes
21375         https://bugs.webkit.org/show_bug.cgi?id=20562
21377         Test: css3/transform-value-types.html
21379         * bindings/js/JSCSSValueCustom.cpp:
21380         (WebCore::toJS):
21381         * css/CSSValue.h:
21382         * css/WebKitCSSTransformValue.cpp:
21383         (WebCore::WebKitCSSTransformValue::cssText):
21384         * css/WebKitCSSTransformValue.h:
21385         (WebCore::WebKitCSSTransformValue::):
21386         * css/WebKitCSSTransformValue.idl:
21388 2008-08-28  Dan Bernstein  <mitz@apple.com>
21390         Reviewed by Steve Falkenburg.
21392         - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
21394         * platform/win/SharedTimerWin.cpp:
21395         (WebCore::TimerWindowWndProc):
21397 2008-08-28  David Hyatt  <hyatt@apple.com>
21399         RenderStyle cleanup.
21401         Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
21403         Reviewed by Adam
21405         * css/CSSImageGeneratorValue.cpp:
21406         * css/CSSImageValue.cpp:
21407         * css/CSSStyleSelector.cpp:
21408         * rendering/RenderImageGeneratedContent.cpp:
21409         * rendering/style/NinePieceImage.cpp: Added.
21410         * rendering/style/NinePieceImage.h: Added.
21411         * rendering/style/RenderStyle.cpp:
21412         (WebCore::FillLayer::operator==):
21413         (WebCore::FillLayer::containsImage):
21414         (WebCore::StyleInheritedData::operator==):
21415         (WebCore::RenderStyle::contentDataEquivalent):
21416         * rendering/style/RenderStyle.h:
21417         * rendering/style/StyleCachedImage.cpp: Added.
21418         * rendering/style/StyleCachedImage.h: Added.
21419         * rendering/style/StyleGeneratedImage.cpp: Added.
21420         * rendering/style/StyleGeneratedImage.h: Added.
21421         * rendering/style/StyleImage.h: Added.
21423 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
21425         Reviewed by Dave Hyatt
21427         Make all the 'isFoo()' methods on CSSValue const,
21428         and fix the subclasses.
21429         
21430         https://bugs.webkit.org/show_bug.cgi?id=20561
21431         
21432         * css/CSSTimingFunctionValue.h:
21433         * css/CSSValue.h:
21434         (WebCore::CSSValue::isFontValue):
21435         (WebCore::CSSValue::isImageGeneratorValue):
21436         (WebCore::CSSValue::isImageValue):
21437         (WebCore::CSSValue::isImplicitInitialValue):
21438         * css/CSSValueList.h:
21439         * css/FontValue.h:
21441 2008-08-28  David Hyatt  <hyatt@apple.com>
21443         The great RenderStyle cleanup begins!
21445         Move LengthBox and LengthSize out of RenderStyle and into Length.
21447         Reviewed by Adam
21449         * rendering/Length.h:
21450         (WebCore::):
21451         (WebCore::Length::Length):
21452         (WebCore::Length::operator==):
21453         (WebCore::Length::operator!=):
21454         (WebCore::Length::value):
21455         (WebCore::Length::rawValue):
21456         (WebCore::Length::percent):
21457         (WebCore::Length::type):
21458         (WebCore::Length::quirk):
21459         (WebCore::Length::setValue):
21460         (WebCore::Length::setRawValue):
21461         (WebCore::Length::calcValue):
21462         (WebCore::Length::calcMinValue):
21463         (WebCore::Length::calcFloatValue):
21464         (WebCore::Length::isUndefined):
21465         (WebCore::Length::isZero):
21466         (WebCore::Length::isPositive):
21467         (WebCore::Length::isNegative):
21468         (WebCore::Length::isAuto):
21469         (WebCore::Length::isRelative):
21470         (WebCore::Length::isPercent):
21471         (WebCore::Length::isFixed):
21472         (WebCore::Length::isStatic):
21473         (WebCore::Length::isIntrinsicOrAuto):
21474         (WebCore::Length::blend):
21475         (WebCore::LengthBox::LengthBox):
21476         (WebCore::LengthBox::operator=):
21477         (WebCore::LengthBox::operator==):
21478         (WebCore::LengthBox::operator!=):
21479         (WebCore::LengthBox::nonZero):
21480         (WebCore::LengthSize::LengthSize):
21481         * rendering/style/RenderStyle.h:
21483 2008-08-28  David Hyatt  <hyatt@apple.com>
21485         Reviewed by Darin
21487         https://bugs.webkit.org/show_bug.cgi?id=18091
21489         font-size should be animatable using -webkit-transition.
21491         * page/AnimationController.cpp:
21492         (WebCore::AnimationControllerPrivate::ensurePropertyMap):
21493         * rendering/style/RenderStyle.h:
21494         (WebCore::RenderStyle::setFontSize):
21496 2008-08-28  Brad Garcia  <bgarcia@google.com>
21498         Reviewed by Dan Bernstein.
21500         https://bugs.webkit.org/show_bug.cgi?id=20549
21501         Correctly determine when cursor is over a resizable border within
21502         a nested frameset.
21504         * rendering/RenderFrameSet.cpp:
21505         (WebCore::RenderFrameSet::canResizeRow):
21506         (WebCore::RenderFrameSet::canResizeColumn):
21508 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
21510         Reviewed by Eric Seidel
21512         Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
21513         https://bugs.webkit.org/show_bug.cgi?id=20552
21515         Test: animations/animation-css-rule-types.html
21517         * css/CSSRule.idl:
21519 2008-08-28  Anders Carlsson  <andersca@apple.com>
21521         Reviewed by Kevin and Darin.
21523         <rdar://problem/6182541>
21524         https://bugs.webkit.org/show_bug.cgi?id=20202
21525         Missing http status line from the http headers.
21526         
21527         Add a status line to the header string.
21528         
21529         * plugins/PluginStream.cpp:
21530         (WebCore::PluginStream::startStream):
21532 2008-08-28  Holger Hans Peter Freyther  <zecke@selfish.org>
21534         Rubber-stamped by Darin Adler.
21536         https://bugs.webkit.org/show_bug.cgi?id=17261
21538         Make it possible to theme the default Url icon and enable this for
21539         the Qt port. To have a minimal usage of #ifdef in the code the setting
21540         of the icon was moved to a new method which comes in two flavors.
21542         * loader/icon/IconDatabase.cpp:
21543         (WebCore::loadDefaultIconRecord): Load or set the default icon
21544         (WebCore::IconDatabase::defaultIcon):
21546 2008-08-28  Holger Hans Peter Freyther <zecke@selfish.org>
21548         Unreviewed compile fix
21550         * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
21552 2008-08-28  Adam Roben  <aroben@apple.com>
21554         Windows (and others?) build fix
21556         * page/Chrome.cpp: Added a missing #include.
21557         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
21559 2008-08-27  Eric Seidel  <eric@webkit.org>
21561         Reviewed by Oliver Hunt.
21563         Qt and Cairo support from krit (and blind stab @ wx compile support)
21564         https://bugs.webkit.org/show_bug.cgi?id=20373
21566         * platform/graphics/cairo/GraphicsContextCairo.cpp:
21567         (WebCore::GraphicsContext::fillPath):
21568         (WebCore::GraphicsContext::strokePath):
21569         (WebCore::GraphicsContext::drawPath):
21570         (WebCore::GraphicsContext::fillRect):
21571         (WebCore::GraphicsContext::setPlatformFillColor):
21572         (WebCore::GraphicsContext::setPlatformStrokeColor):
21573         (WebCore::GraphicsContext::setPlatformStrokeStyle):
21574         (WebCore::GraphicsContext::strokeRect):
21575         (WebCore::GraphicsContext::setImageInterpolationQuality):
21576         (WebCore::GraphicsContext::imageInterpolationQuality):
21577         (WebCore::GraphicsContext::setPlatformFillPattern):
21578         (WebCore::GraphicsContext::setPlatformStrokePattern):
21579         (WebCore::GraphicsContext::setPlatformFillGradient):
21580         (WebCore::GraphicsContext::setPlatformStrokeGradient):
21581         * platform/graphics/qt/GraphicsContextQt.cpp:
21582         (WebCore::GraphicsContext::fillPath):
21583         (WebCore::GraphicsContext::strokePath):
21584         (WebCore::GraphicsContext::fillRect):
21585         (WebCore::GraphicsContext::strokeRect):
21586         (WebCore::GraphicsContext::clipToImageBuffer):
21587         (WebCore::GraphicsContext::setPlatformFillPattern):
21588         (WebCore::GraphicsContext::setPlatformStrokePattern):
21589         (WebCore::GraphicsContext::setPlatformFillGradient):
21590         (WebCore::GraphicsContext::setPlatformStrokeGradient):
21591         (WebCore::GraphicsContext::setImageInterpolationQuality):
21592         (WebCore::GraphicsContext::imageInterpolationQuality):
21593         * platform/graphics/wx/GraphicsContextWx.cpp:
21594         (WebCore::GraphicsContext::clipToImageBuffer):
21595         (WebCore::GraphicsContext::setImageInterpolationQuality):
21596         (WebCore::GraphicsContext::imageInterpolationQuality):
21597         (WebCore::GraphicsContext::fillPath):
21598         (WebCore::GraphicsContext::strokePath):
21599         (WebCore::GraphicsContext::drawPath):
21600         (WebCore::GraphicsContext::fillRect):
21601         (WebCore::GraphicsContext::setPlatformFillPattern):
21602         (WebCore::GraphicsContext::setPlatformStrokePattern):
21603         (WebCore::GraphicsContext::setPlatformFillGradient):
21605 2008-08-27  Eric Seidel  <eric@webkit.org>
21607         Reviewed by Oliver Hunt.
21609         Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
21610         https://bugs.webkit.org/show_bug.cgi?id=20373
21612         Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
21613         
21614         Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
21615         have to store large Gradient objects in the GraphicsContextState
21616         
21617         Made Pattern RefCounted for the same reason.
21618         
21619         Many updates to GraphicsContext to support easier drawing with
21620         Patterns and Gradients.
21622         * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
21623         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
21624         (WebCore::toJS):
21625         * css/CSSGradientValue.cpp:
21626         (WebCore::CSSGradientValue::createGradient):
21627         * css/CSSGradientValue.h:
21628         * html/CanvasGradient.cpp:
21629         (WebCore::CanvasGradient::CanvasGradient):
21630         * html/CanvasGradient.h:
21631         (WebCore::CanvasGradient::gradient):
21632         (WebCore::CanvasGradient::addColorStop):
21633         (WebCore::CanvasGradient::getColor):
21634         * html/CanvasPattern.cpp:
21635         * html/CanvasPattern.h:
21636         (WebCore::CanvasPattern::pattern):
21637         (WebCore::CanvasPattern::originClean):
21638         * html/CanvasRenderingContext2D.cpp:
21639         (WebCore::CanvasRenderingContext2D::State::State):
21640         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
21641         (WebCore::CanvasRenderingContext2D::setFillStyle):
21642         (WebCore::CanvasRenderingContext2D::fill):
21643         (WebCore::CanvasRenderingContext2D::stroke):
21644         (WebCore::CanvasRenderingContext2D::fillRect):
21645         (WebCore::CanvasRenderingContext2D::strokeRect):
21646         * html/CanvasRenderingContext2D.h:
21647         * html/CanvasStyle.cpp:
21648         (WebCore::CanvasStyle::applyStrokeColor):
21649         (WebCore::CanvasStyle::applyFillColor):
21650         * html/CanvasStyle.h:
21651         * platform/graphics/GeneratedImage.h:
21652         (WebCore::GeneratedImage::GeneratedImage):
21653         * platform/graphics/Generator.h:
21654         * platform/graphics/Gradient.h:
21655         (WebCore::Gradient::create):
21656         * platform/graphics/GraphicsContext.cpp:
21657         (WebCore::GraphicsContext::fillRule):
21658         (WebCore::GraphicsContext::setFillRule):
21659         (WebCore::GraphicsContext::setStrokePattern):
21660         (WebCore::GraphicsContext::setFillPattern):
21661         (WebCore::GraphicsContext::setStrokeGradient):
21662         (WebCore::GraphicsContext::setFillGradient):
21663         * platform/graphics/GraphicsContext.h:
21664         * platform/graphics/GraphicsContextPrivate.h:
21665         (WebCore::):
21666         (WebCore::GraphicsContextState::GraphicsContextState):
21667         * platform/graphics/GraphicsTypes.h:
21668         * platform/graphics/Path.h:
21669         * platform/graphics/Pattern.h:
21670         (WebCore::Pattern::create):
21671         (WebCore::Pattern::tileImage):
21672         * platform/graphics/cg/GraphicsContextCG.cpp:
21673         (WebCore::GraphicsContext::drawRect):
21674         (WebCore::GraphicsContext::drawEllipse):
21675         (WebCore::GraphicsContext::drawConvexPolygon):
21676         (WebCore::calculateDrawingMode):
21677         (WebCore::GraphicsContext::drawPath):
21678         (WebCore::fillPathWithFillRule):
21679         (WebCore::GraphicsContext::fillPath):
21680         (WebCore::GraphicsContext::strokePath):
21681         (WebCore::GraphicsContext::fillRect):
21682         (WebCore::GraphicsContext::fillRoundedRect):
21683         (WebCore::GraphicsContext::setPlatformStrokePattern):
21684         (WebCore::GraphicsContext::setPlatformFillPattern):
21685         (WebCore::GraphicsContext::setPlatformStrokeGradient):
21686         (WebCore::GraphicsContext::setPlatformFillGradient):
21688 2008-08-20  Eric Seidel  <eric@webkit.org>
21690         Reviewed by Darin and Alexey.
21692         Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
21693         with timeouts paused.
21694         https://bugs.webkit.org/show_bug.cgi?id=20469
21695         
21696         I attempted to clean up the memory management of PausedTimeouts, I'm not
21697         sure the solution I came up with is "cleaner", but it's in some ways
21698         "safer", since it no longer uses raw pointers and manual new/delete.
21699         
21700         This also now prevents CachedPage from needlessly creating Window
21701         objects when caching pages which didn't already have one. :)
21702         
21703         I also made Chrome.cpp no longer depend on the JavaScript bindings
21704         (aka JSDOMWindowBase.h), since there was no real reason for it to.
21706         * bindings/js/JSDOMWindowBase.cpp:
21707         (WebCore::JSDOMWindowBase::pauseTimeouts):
21708         (WebCore::JSDOMWindowBase::resumeTimeouts):
21709         * bindings/js/JSDOMWindowBase.h:
21710         * bindings/js/ScriptController.cpp:
21711         (WebCore::ScriptController::pauseTimeouts):
21712         (WebCore::ScriptController::resumeTimeouts):
21713         * bindings/js/ScriptController.h:
21714         * history/CachedPage.cpp:
21715         (WebCore::CachedPage::CachedPage):
21716         (WebCore::CachedPage::restore):
21717         * page/Chrome.cpp:
21718         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
21719         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
21720         * page/JavaScriptDebugServer.cpp:
21721         (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
21722         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
21724 2008-08-27  Holger Hans Peter Freyther <zecke@selfish.org>
21726         Unreviewed compile fix
21728         Add the stub for the Qt port.
21730         * WebCore.pro:
21731         * page/qt/AccessibilityObjectQt.cpp: Added.
21732         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21734 2008-08-27  Alp Toker  <alp@nuanti.com>
21736         Reviewed by Eric.
21738         https://bugs.webkit.org/show_bug.cgi?id=20551
21739         [GTK] search popup crash
21741         * platform/gtk/SearchPopupMenuGtk.cpp:
21742         (WebCore::SearchPopupMenu::enabled):
21743         Fix a search popup crasher by disabling the history popup since we
21744         don't support this feature yet in the GTK+ port.
21746 2008-08-27  Alp Toker  <alp@nuanti.com>
21748         Reviewed by Eric.
21750         https://bugs.webkit.org/show_bug.cgi?id=20551
21751         [GTK] curl crashers
21753         * platform/network/curl/ResourceHandleManager.cpp:
21754         (WebCore::ResourceHandleManager::startScheduledJobs):
21755         Remove the resource handle from the pending list before starting the
21756         job, not afterwards. Fixes crashers in the test suite.
21758         Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
21759         Test: fast/encoding/char-encoding.html
21761 2008-08-27  Dirk Schulze  <vbs85@gmx.de>
21763         Reviewed by eseidel.
21765         Fix canvas drawImage to support composite operations.
21766         Composite had no effect on canvas elements like these:
21767         http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
21769         [CAIRO] Canvas composite don't work on canvas-elements.
21770         https://bugs.webkit.org/show_bug.cgi?id=20548
21772         * html/CanvasRenderingContext2D.cpp:
21773         (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
21775 2008-08-27  Mario Bensi  <mbensi@pleyo.com>
21777         Reviewed by Eric Seidel.
21778         
21779         Fix the data content of an image with a base64.
21781         * platform/network/curl/ResourceHandleManager.cpp:
21782         (WebCore::parseDataUrl): Remove the String and use only the data
21783         Vector because the data.latin1().data() convert the data content and
21784         the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
21785         not drawn correctly.
21787 2008-08-27  Antti Koivisto  <antti@apple.com>
21789         Reviewed by Eric Seidel.
21791         Crash after OK in dialog box and reloading page in secure mode
21792         https://bugs.webkit.org/show_bug.cgi?id=20493
21793         
21794         The new run loop spawned by a modal dialog causes a timer in the loader to run 
21795         synchronously inside didFinishLoading() deleting "this" object.
21796         
21797         Defer all WebCore timers when a modal dialog is up. They are not
21798         safe to execute.
21800         * page/Chrome.cpp:
21801         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
21802         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
21804 2008-08-27  Chris Marrin  <cmarrin@apple.com>
21806         Reviewed by Dave Hyatt
21808         Memory leaks when animating transforms
21809         https://bugs.webkit.org/show_bug.cgi?id=20532
21811         * rendering/style/RenderStyle.cpp:
21812         (WebCore::ScaleTransformOperation::blend):
21813         (WebCore::RotateTransformOperation::blend):
21814         (WebCore::SkewTransformOperation::blend):
21815         (WebCore::TranslateTransformOperation::blend):
21816         (WebCore::MatrixTransformOperation::blend):
21817         * rendering/style/RenderStyle.h:
21819 2008-08-27  Timothy Hatcher  <timothy@apple.com>
21821         Add support for support for -webkit-appearance: default-button on the Mac platform.
21823         <rdar://problem/6173530>
21825         Reviewed by Dave Hyatt.
21827         * WebCore.base.exp: Export new symbols.
21828         * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
21829         * platform/mac/WebCoreSystemInterface.mm: Ditto.
21830         * rendering/RenderButton.cpp:
21831         (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
21832         (WebCore::RenderButton::setStyle): Ditto.
21833         * rendering/RenderButton.h: Ditto.
21834         * rendering/RenderThemeMac.mm:
21835         (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
21836         (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
21837         key if the button is default, otherwise reset the key equivalent.
21838         (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
21839         on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
21840         the window's previous default button cell when finished.
21842 2008-08-26  David Hyatt  <hyatt@apple.com>
21844         First cut at making form controls on OS X respect full page zoom.  There are lots of bugs.
21846         Reviewed by weinig
21848         Added fast/forms/zoomed-controls.html
21850         * css/CSSStyleSelector.cpp:
21851         (WebCore::addIntrinsicMargins):
21852         * rendering/RenderSlider.cpp:
21853         (WebCore::RenderSlider::calcPrefWidths):
21854         * rendering/RenderThemeMac.h:
21855         * rendering/RenderThemeMac.mm:
21856         (WebCore::RenderThemeMac::adjustRepaintRect):
21857         (WebCore::RenderThemeMac::inflateRect):
21858         (WebCore::RenderThemeMac::baselinePosition):
21859         (WebCore::RenderThemeMac::setControlSize):
21860         (WebCore::RenderThemeMac::sizeForFont):
21861         (WebCore::RenderThemeMac::sizeForSystemFont):
21862         (WebCore::RenderThemeMac::setFontFromControlSize):
21863         (WebCore::RenderThemeMac::paintCheckbox):
21864         (WebCore::RenderThemeMac::setCheckboxCellState):
21865         (WebCore::RenderThemeMac::paintRadio):
21866         (WebCore::RenderThemeMac::setRadioCellState):
21867         (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
21868         (WebCore::RenderThemeMac::adjustButtonStyle):
21869         (WebCore::RenderThemeMac::setButtonCellState):
21870         (WebCore::RenderThemeMac::paintButton):
21871         (WebCore::RenderThemeMac::paintMenuList):
21872         (WebCore::RenderThemeMac::paintMenuListButton):
21873         (WebCore::RenderThemeMac::popupInternalPaddingLeft):
21874         (WebCore::RenderThemeMac::popupInternalPaddingRight):
21875         (WebCore::RenderThemeMac::popupInternalPaddingTop):
21876         (WebCore::RenderThemeMac::popupInternalPaddingBottom):
21877         (WebCore::RenderThemeMac::setPopupButtonCellState):
21878         (WebCore::RenderThemeMac::paintSliderTrack):
21879         (WebCore::RenderThemeMac::paintSliderThumb):
21880         (WebCore::RenderThemeMac::adjustSliderThumbSize):
21881         (WebCore::RenderThemeMac::paintSearchField):
21882         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
21883         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
21884         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
21886 2008-08-27  Brady Eidson  <beidson@apple.com>
21888         Reviewed by Anders
21890         <rdar://problem/6134133> - Crash when loading large movie as a standalone document
21892         We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
21893         to load and buffer the data for the movie in WebCore.  With large media files, this results in blowing
21894         away the virtual address space and a crash.
21896         * loader/EmptyClients.h:
21897         (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
21898         * loader/FrameLoaderClient.h:  Added client method to get platform specific error for
21899           "plugin will handle load"
21901         * loader/MediaDocument.cpp:
21902         (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
21903           and cancel the WebCore-managed load
21904         (WebCore::MediaTokenizer::writeRawData):
21905         (WebCore::MediaTokenizer::finish):
21907 2008-08-26  Simon Fraser  <simon.fraser@apple.com>
21909         Reviewed by Eric Seidel
21911         Linear timing functions should have control points 0, 0, 1, 1.
21912         https://bugs.webkit.org/show_bug.cgi?id=20535
21914         * css/CSSStyleSelector.cpp:
21915         (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
21916         * rendering/style/RenderStyle.h:
21918 2008-08-27  Adam Roben  <aroben@apple.com>
21920         Windows build fix
21922         * WebCore.vcproj/WebCore.vcproj: Fix file extension.
21924 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
21926         Reviewed by Beth Dakin.
21928         <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
21930         Added platform-specific accessibilityIgnoreAttachment, which allows the platform
21931         to determine if an attachment is ignored through accessibility. Added equivalent
21932         methods in Gtk, Win and Mac
21934         Test: accessibility/plugin.html
21936         * GNUmakefile.am:
21937         * WebCore.vcproj/WebCore.vcproj:
21938         * WebCore.xcodeproj/project.pbxproj:
21939         * page/AccessibilityObject.h:
21940         * page/AccessibilityRenderObject.cpp:
21941         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
21942         * page/gtk/AccessibilityObjectAtk.cpp: Added.
21943         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21944         * page/mac/AccessibilityObjectMac.mm: Added.
21945         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21946         * page/mac/AccessibilityObjectWrapper.h:
21947         * page/win/AccessibilityObjectWin.cpp: Added.
21948         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21950 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
21952         Reviewed by Beth Dakin.
21954         <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
21956         * page/mac/AccessibilityObjectWrapper.mm:
21957         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
21958         (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
21960 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
21962         Reviewed by Darin Adler.
21964         <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
21966         Tests: accessibility/table-notbody.html
21968         * page/AccessibilityTable.cpp:
21969         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
21971 2008-08-26  Sam Weinig  <sam@webkit.org>
21973         Reviewed by Beth Dakin.
21975         Fix typo.
21977         * dom/DOMCoreException.h:
21979 2008-08-26  Sam Weinig  <sam@webkit.org>
21981         Reviewed by Oliver Hunt.
21983         Fix https://bugs.webkit.org/show_bug.cgi?id=20479
21984         <rdar://problem/6167660>
21985         Take image redirects into account when tainting the canvas.
21987         Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
21989         * html/CanvasRenderingContext2D.cpp:
21990         (WebCore::CanvasRenderingContext2D::drawImage):
21991         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
21993 2008-08-26  Sam Weinig  <sam@webkit.org>
21995         Reviewed by Darin Adler.
21997         Change canvas tainting logic to ask the image if it contains
21998         any resources outside of its own origin. Since there is no 
21999         way to determine if SVG images contain any resources outside its
22000         origin, we always assume it does.
22002         * html/CanvasRenderingContext2D.cpp:
22003         (WebCore::CanvasRenderingContext2D::drawImage):
22004         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
22005         * platform/graphics/BitmapImage.h:
22006         (WebCore::BitmapImage::hasSingleSecurityOrigin):
22007         * platform/graphics/GeneratedImage.h:
22008         (WebCore::GeneratedImage::hasSingleSecurityOrigin):
22009         * platform/graphics/Image.h:
22010         (WebCore::Image::hasSingleSecurityOrigin):
22011         * platform/graphics/cg/PDFDocumentImage.h:
22012         (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
22013         * svg/graphics/SVGImage.h:
22015 2008-08-26  Maxime Britto  <britto@apple.com>
22017         Reviewed by Adele.
22019         <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
22020         This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
22021         This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.
22023         * page/EventHandler.cpp:
22024         (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
22025         * page/EventHandler.h:
22026         * rendering/RenderLayer.cpp:
22027         (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
22028         (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
22029         * rendering/RenderLayer.h:
22030         * rendering/RenderObject.cpp:
22031         (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
22032         (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
22033         (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
22035 2008-08-25  Julien Chaffraix  <jchaffraix@webkit.org>
22037         Reviewed by Darin Adler.
22039         Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
22040         https://bugs.webkit.org/show_bug.cgi?id=20247
22042         <rdar://problem/6118218>
22044         Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
22045         check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
22046         (case insensitive for HTML elements).
22048         Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
22050         * dom/Element.cpp:
22051         (WebCore::Element::getAttribute):
22052         * dom/NamedAttrMap.cpp:
22053         (WebCore::NamedAttrMap::getNamedItem):
22054         (WebCore::NamedAttrMap::getAttributeItem):
22055         * dom/NamedAttrMap.h:
22057 2008-08-25  Sam Weinig  <sam@webkit.org>
22059         Reviewed by Oliver Hunt.
22061         Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
22062         <rdar://problem/6174096>
22063         Treat SVG images as dirty when drawing to a canvas.
22065         Test: http/tests/security/canvas-remote-read-svg-image.html
22067         * html/CanvasRenderingContext2D.cpp:
22068         (WebCore::CanvasRenderingContext2D::drawImage):
22069         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
22070         * platform/graphics/Image.h:
22071         (WebCore::Image::isSVGImage):
22072         * svg/graphics/SVGImage.h:
22073         (WebCore::SVGImage::isSVGImage):
22075 2008-08-25  Sam Weinig  <sam@webkit.org>
22077         Reviewed by Mark Rowe.
22079         Fix https://bugs.webkit.org/show_bug.cgi?id=20377
22080         Leak in XMLHttpRequest.
22082         * xml/XMLHttpRequest.cpp:
22083         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
22085 2008-08-25  Brady Eidson  <beidson@apple.com>
22087         Reviewed by Anders
22089         Speculative fix for <rdar://problem/6173217>
22091         Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
22092         Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
22093         the first null check invalid.
22095         * loader/FrameLoader.cpp:
22096         (WebCore::FrameLoader::stopAllLoaders):
22099 2008-08-25  Kevin McCullough  <kmccullough@apple.com>
22101         Reviewed by Tim.
22103         <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
22104         there is no profile, can cause crash
22106         * page/inspector/ProfilesPanel.js:
22108 2008-08-25  Dean Jackson  <dino@apple.com>
22110         Reviewed by Dave Hyatt
22112         Make sure 'inherit' is handled by transition property.
22113         https://bugs.webkit.org/show_bug.cgi?id=20513
22115         Test: transitions/inherit.html
22116         Test: transitions/inherit-other-props.html
22118         * css/CSSStyleSelector.cpp:
22119           fix macro to check existence of list before getting size
22121 2008-08-25  Anders Carlsson  <andersca@apple.com>
22123         Reviewed by Mark.
22125         <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
22126         
22127         Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume 
22128         (safely) that any class that needs finalization on the main thread will also need to be deallocated
22129         on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
22130         calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
22132         * platform/mac/WebCoreObjCExtras.c:
22133         (WebCoreObjCFinalizeOnMainThread):
22135 2008-08-25  Antti Koivisto  <antti@apple.com>
22137         Reviewed by Dan Bernstein.
22139         Rename CachedResource::referenced() to CachedResource::hasClients() to
22140         match previous ref() -> addClient() rename.
22142         * loader/Cache.cpp:
22143         (WebCore::Cache::pruneLiveResources):
22144         (WebCore::Cache::pruneDeadResources):
22145         (WebCore::Cache::remove):
22146         (WebCore::Cache::getStatistics):
22147         (WebCore::Cache::dumpLRULists):
22148         * loader/CachedResource.cpp:
22149         (WebCore::CachedResource::addClient):
22150         (WebCore::CachedResource::removeClient):
22151         (WebCore::CachedResource::setDecodedSize):
22152         (WebCore::CachedResource::setEncodedSize):
22153         * loader/CachedResource.h:
22154         (WebCore::CachedResource::hasClients):
22155         (WebCore::CachedResource::canDelete):
22157 2008-08-25  Anthony Ricaud  <rik24d@gmail.com>
22159         Add a missing Inspector localized string for "other".
22161         https://bugs.webkit.org/show_bug.cgi?id=20509
22163         Reviewed by Tim Hatcher.
22165         * English.lproj/localizedStrings.js:
22167 2008-08-22  Kevin McCullough  <kmccullough@apple.com>
22169         Reviewed by Geoff, Mark and Tim.
22171         <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
22172         in the console said what file and line number they came from
22173         - Lay the foundation for getting line numbers and other data from the
22174         JavaScript engine.
22176         * ForwardingHeaders/VM: Added.
22177         * ForwardingHeaders/VM/Machine.h: Added.
22178         * page/Console.cpp: Gather the line number and file information when 
22179         profileEnd has been called, but don't use it until didFinishProfiling is
22180         called.  We won't need to wait once we remove the profiler "zombie" mode
22181         which this patch helps pave the foundation for.
22182         (WebCore::Console::Console):
22183         (WebCore::Console::profileEnd):
22184         (WebCore::Console::finishedProfiling):
22185         * page/Console.h:
22186         * page/InspectorController.cpp: Modify calls to
22187         addProfileMessageToConsole to satisfy the new arguments it takes.
22188         (WebCore::InspectorController::finishedProfiling):
22189         (WebCore::InspectorController::addProfile):
22190         (WebCore::InspectorController::addProfileMessageToConsole):
22191         (WebCore::InspectorController::finishedProfiling):
22192         * page/InspectorController.h:
22194 2008-08-25  Holger Hans Peter Freyther  <zecke@selfish.org>
22196         Reviewed by Simon.
22198         [inspector] Update the WebKit.qrc Qt resources file
22199         Catchup with the changes in the directory.
22201         * page/inspector/WebKit.qrc:
22203 2008-08-25  Dirk Schulze  <vbs85@gmx.de>
22205         Reviewed by Simon.
22207         Transformed the radian to degree, to get rotate()
22208         in canvas work as expected.
22210         [Qt] Canvas.rotate() doesn't work
22211         https://bugs.webkit.org/show_bug.cgi?id=20496
22213         * platform/graphics/qt/GraphicsContextQt.cpp:
22214         (WebCore::GraphicsContext::rotate):
22216 2008-08-24  Steve Falkenburg  <sfalken@apple.com>
22218         Add a "last chance" WM_TIMER to the Windows shared timer.
22219         
22220         The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
22221         Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
22222         timers if a timer with an earlier expiration is already pending. This results in no timers
22223         firing from that point on.
22224         
22225         We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
22226         buggy window message hook.
22227         
22228         This timer will start when the first WM_TIMER is scheduled, and will
22229         fire every 5 seconds thereafter, causing any lost timers to be fired.
22230         
22231         Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
22232         and prevents the WebFrame leak.
22233         
22234         Reviewed by Darin Adler, Geoff Garen.
22236         * platform/win/SharedTimerWin.cpp:
22237         (WebCore::):
22238         (WebCore::TimerWindowWndProc):
22239         (WebCore::setSharedTimerFireTime):
22241 2008-08-24  Dan Bernstein  <mitz@apple.com>
22243         Reviewed by Darin Adler.
22245         - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
22247         Test: fast/css/font-property-priority.html
22249         * css/CSSParser.cpp:
22250         (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
22251         to the font-property-parsing functions.
22252         (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
22253         changed to use it rather than the m_important member.
22254         (WebCore::CSSParser::parseFontVariant): Ditto.
22255         (WebCore::CSSParser::parseFontWeight): Ditto.
22256         * css/CSSParser.h:
22258 2008-08-24  Timothy Hatcher  <timothy@apple.com>
22260         Fixes a bug where the Inspector's UI would not animate or
22261         fully function because JavaScript timeouts, intervals and
22262         CSS animation timers where not firing while paused at a
22263         a breakpoint in the inspected page.
22265         https://bugs.webkit.org/show_bug.cgi?id=20042
22267         Reviewed by Darin Adler.
22269         Test: manual-tests/inspector/forzen-ui-while-paused.html
22271         * page/JavaScriptDebugServer.cpp:
22272         (WebCore::JavaScriptDebugServer::pauseIfNeeded):
22273         Add a call to TimerBase::fireTimersInNestedEventLoop before
22274         spinning the EventLoop.
22276 2008-08-24  Rob Buis  <buis@kde.org>
22278         Reviewed by Sam Weinig.
22280         https://bugs.webkit.org/show_bug.cgi?id=20324
22281         A change in SVG Glyph wont show up
22283         Invalidate the glyph cache when the d attribute is set.
22285         Test: svg/custom/glyph-setting-d-attribute.svg
22287         * svg/SVGGlyphElement.cpp:
22288         (WebCore::SVGGlyphElement::invalidateGlyphCache):
22289         (WebCore::SVGGlyphElement::parseMappedAttribute):
22290         (WebCore::SVGGlyphElement::insertedIntoDocument):
22291         (WebCore::SVGGlyphElement::removedFromDocument):
22292         * svg/SVGGlyphElement.h:
22294 2008-08-24  Dan Bernstein  <mitz@apple.com>
22296         Reviewed by Sam Weinig.
22298         - fix https://bugs.webkit.org/show_bug.cgi?id=13864
22299           <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
22301         * rendering/RenderText.cpp:
22302         (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
22303         beginWS and endWS before the early return to ensure that they are
22304         initialized in that case.
22306 2008-08-23  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
22308         Rubber-stamped by Mark Rowe.
22310         Remove modelines.
22312         * WebCore.pro:
22313         * bridge/testbindings.cpp:
22314         * dom/DocPtr.h:
22315         * loader/SubstituteData.h:
22316         * page/Chrome.cpp:
22317         * page/Chrome.h:
22318         * page/ChromeClient.h:
22319         * page/Frame.h:
22320         * page/FrameLoadRequest.h:
22321         * page/FrameTree.cpp:
22322         * page/FrameTree.h:
22323         * page/Page.h:
22324         * page/mac/ChromeMac.mm:
22325         * platform/network/HTTPHeaderMap.h:
22326         * platform/network/ResourceErrorBase.cpp:
22327         * platform/network/ResourceErrorBase.h:
22328         * platform/network/ResourceHandleInternal.h:
22329         * platform/network/ResourceRequestBase.cpp:
22330         * platform/network/ResourceRequestBase.h:
22331         * platform/network/ResourceResponseBase.cpp:
22332         * platform/network/ResourceResponseBase.h:
22333         * platform/network/cf/ResourceError.h:
22334         * platform/network/cf/ResourceRequest.h:
22335         * platform/network/cf/ResourceRequestCFNet.h:
22336         * platform/network/cf/ResourceResponse.h:
22337         * platform/network/cf/ResourceResponseCFNet.h:
22338         * platform/network/curl/ResourceError.h:
22339         * platform/network/curl/ResourceRequest.h:
22340         * platform/network/curl/ResourceResponse.h:
22341         * platform/network/mac/ResourceError.h:
22342         * platform/network/mac/ResourceErrorMac.mm:
22343         * platform/network/mac/ResourceRequest.h:
22344         * platform/network/mac/ResourceRequestMac.mm:
22345         * platform/network/mac/ResourceResponse.h:
22346         * platform/network/mac/ResourceResponseMac.mm:
22347         * platform/network/qt/ResourceError.h:
22348         * platform/network/qt/ResourceRequest.h:
22349         * platform/network/qt/ResourceResponse.h:
22350         * platform/network/soup/CookieJarSoup.cpp:
22351         * platform/network/soup/ResourceError.h:
22352         * platform/network/soup/ResourceRequest.h:
22353         * platform/network/soup/ResourceResponse.h:
22355 2008-08-23  Dan Bernstein  <mitz@apple.com>
22357         Reviewed by Dave Hyatt.
22359         - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
22361         Test: fast/table/vertical-align-baseline.html
22363         * rendering/RenderTable.cpp:
22364         (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
22365         baseline of the first table row, if there is one, -1 otherwise.
22366         * rendering/RenderTable.h:
22367         * rendering/RenderTableCell.cpp:
22368         (WebCore::RenderTableCell::baselinePosition): Changed to follow the
22369         CSS2.1 definition of the baseline of a table cell.
22370         * rendering/RenderTableSection.cpp:
22371         (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
22372         the baseline of the first row in the section.
22373         * rendering/RenderTableSection.h:
22375 2008-08-18  Jon Honeycutt  <jhoneycutt@apple.com>
22377         Add SPI to make a Windows WebView transparent.
22379         Reviewed by Dan Bernstein.
22381         * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
22382         determines whether the created context has an alpha channel.
22383         * platform/graphics/win/GraphicsContextCGWin.cpp:
22384         (WebCore::CGContextWithHDC):
22386 2008-08-22  Timothy Hatcher  <timothy@apple.com>
22388         Rolls out r35834 because it caused a regression in the Inspector's
22389         Console where some expressions always threw a syntax error.
22391         https://bugs.webkit.org/show_bug.cgi?id=20487
22393         * page/inspector/Console.js:
22394         (Console.prototype._evalInInspectedWindow): Removes parenthesis
22395         around the expression.
22397 2008-08-22  Timothy Hatcher  <timothy@apple.com>
22399         Makes getStyleProperty return a value for the overflow property
22400         when overflow-x and overflow-y are equal.
22402         https://bugs.webkit.org/show_bug.cgi?id=20485
22404         Reviewed by Dan Bernstein.
22406         Test: fast/css/overflow-property.html
22408         * css/CSSMutableStyleDeclaration.cpp:
22409         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
22411 2008-08-22  Timothy Hatcher  <timothy@apple.com>
22413         Fixes a bug where while editing in the Inspector the
22414         sidebar scroll position would jump to the top.
22416         https://bugs.webkit.org/show_bug.cgi?id=20484
22418         Reviewed by Darin Adler.
22420         * page/inspector/treeoutline.js:
22421         (TreeOutline._removeChildren): Remove the offsetTop call that
22422         was forcing a layout, since layout causes scroll positions
22423         to be clamped to the new scrollHeight/Width. Layout will happen
22424         normally when needed.
22426 2008-08-22  Kevin Ollivier  <kevino@theolliviers.com>
22428         wx build fix. Add AccessibilityTable sources.
22430         * WebCoreSources.bkl:
22432 2008-08-21  Dan Bernstein  <mitz@apple.com>
22434         Reviewed by Jon Honeycutt and Alexey Proskuryakov.
22436         - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
22438         Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
22440         * platform/graphics/mac/SimpleFontDataMac.mm:
22441         (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
22442         ascent and 100% to its reported descent.
22444 2008-08-21  Kalle Vahlman  <kalle.vahlman@movial.com>
22446         Reviewed by Darin Adler.
22448         https://bugs.webkit.org/show_bug.cgi?id=20267
22449         [GTK] Crash on some pages due to a plugin
22451         Fix handling of badly formatted and empty plugin mime descriptions
22453         * plugins/gtk/PluginPackageGtk.cpp:
22454         (WebCore::PluginPackage::fetchInfo):
22456 2008-08-21  Kevin Watters  <kevinwatters@gmail.com>
22458         Reviewed by Darin Adler.
22460         Follow other ports (and IE) in ImageSourceWx.cpp never to return an
22461         animated GIF frame duration of less than 50ms.
22463         * platform/graphics/wx/ImageSourceWx.cpp:
22464         (WebCore::ImageSource::frameDurationAtIndex):
22466 2008-08-21  Maxime Britto  <britto@apple.com>
22468         Reviewed by Kevin McCullough.
22470         Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
22471         https://bugs.webkit.org/show_bug.cgi?id=20451
22472    
22473         rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
22474         When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
22475         This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
22477         * page/EventHandler.cpp:
22478         (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists.
22480         (WebCore::EventHandler::handleMousePressEvent): ditto
22482 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
22484         Small optimization for when the dividers in the Inspector's
22485         Resources panel are updated.
22487         Reviewed by Tim Hatcher.
22489         * page/inspector/ResourcesPanel.js:
22490         (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
22491         Combind a for loop and clone the divider element.
22493 2008-08-21  Chris Marrin  <cmarrin@apple.com>
22495         Allow 0 (without units) for Time eg. duration
22496         Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
22498         Reviewed by Dave Hyatt.
22500         Test: css1/units/zero-duration-without-units.html
22502         * css/CSSParser.cpp:
22503         (WebCore::CSSParser::validUnit):
22505 2008-08-21  Timothy Hatcher  <timothy@apple.com>
22507         Make deleting all text while editing a DOM attribute in
22508         the Inspector delete the attribute. This also fixes
22509         an exception that would happen before.
22511         https://bugs.webkit.org/show_bug.cgi?id=20472
22513         Reviewed by Kevin McCullough.
22515         * page/inspector/ElementsPanel.js:
22516         (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
22517         Don't check for hasAttributes on the parseElement, continuing
22518         through the function will correctly remove the attribute.
22519         If the parseElement is null, call _editingCancelled not
22520         editingCancelled, this fixes an exception.
22522 2008-08-21  Timothy Hatcher  <timothy@apple.com>
22524         Update the Inspector's Metrics pane when editing in
22525         the Styles pane. This makes sure the metrics shown
22526         always match what the Styles pane shows.
22528         https://bugs.webkit.org/show_bug.cgi?id=20470
22530         Reviewed by Kevin McCullough.
22532         * page/inspector/ElementsPanel.js:
22533         (WebInspector.ElementsPanel): Add event listeners for
22534         the "style edited" and "style property toggled" events,
22535         so the Metrics pane is updated.
22536         (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
22537         Update the Metrics pane.
22538         * page/inspector/StylesSidebarPane.js:
22539         (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
22540         Dispatch the "style property toggled" event.
22541         (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
22542         Dispatch the "style edited" event when the CSS text is restored.
22543         (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
22544         Dispatch the "style edited" event.
22546 2008-08-21  Timothy Hatcher  <timothy@apple.com>
22548         Make the Inspector's Metrics sidebar pane editable.
22550         https://bugs.webkit.org/show_bug.cgi?id=17218
22551         rdar://problem/5732818
22553         Reviewed by Kevin McCullough.
22555         * page/inspector/ElementsPanel.js:
22556         (WebInspector.ElementsPanel): Add an event listener for
22557         the "metrics edited" event, so the Styles pane is updated.
22558         * page/inspector/MetricsSidebarPane.js:
22559         (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
22560         so future updates work. Add a double click event listener for the
22561         metric values to start editing.
22562         (WebInspector.MetricsSidebarPane.prototype.startEditing):
22563         Call WebInspector.startEditing with some context.
22564         (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
22565         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
22566         Set the user input on the elements inline style. Fire the
22567         "metrics edited" event.
22569 2008-08-21  Steve Falkenburg  <sfalken@apple.com>
22571         Fix a race condition in Windows timer code.
22572         Timer function could end up being called with a 0 timer, leading to a Windows exception.
22573         
22574         Don't post a timer message if one is already pending.
22575         
22576         Reviewed by Ada Chan.
22578         * platform/win/SharedTimerWin.cpp:
22579         (WebCore::TimerWindowWndProc):
22580         (WebCore::clearTimer):
22581         (WebCore::queueTimerProc):
22582         (WebCore::setSharedTimerFireTime):
22584 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
22586         After trying to add the expression, try again with quotes for
22587         easier edition.
22589         https://bugs.webkit.org/show_bug.cgi?id=20466
22591         Reviewed by Tim Hatcher.
22593         * page/inspector/ObjectPropertiesSection.js: Added an
22594         evaluateExpression function.
22596 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
22598         Perform Inspector searches on search event to clear results when
22599         clicking the cross to empty it. Delete the lastQuery when the field
22600         is emptied in order to perform the search if exactly the same query
22601         is entered next.
22603         https://bugs.webkit.org/show_bug.cgi?id=20462
22605         Reviewed by Tim Hatcher.
22607         * page/inspector/inspector.js:
22609 2008-08-21  Marco Barisione  <marco.barisione@collabora.co.uk>
22611         Reviewed by Mark Rowe.
22613         http://bugs.webkit.org/show_bug.cgi?id=19656
22614         [SOUP] The gio code should call didFail() instead of
22615         didFinishLoading() in case of error
22617         In case of error call didFail() instead of didReceiveResponse() and
22618         didFinishLoading().
22620         * platform/network/soup/ResourceHandleSoup.cpp:
22621         (WebCore::networkErrorForFile):
22622         (WebCore::readCallback):
22623         (WebCore::openCallback):
22624         (WebCore::queryInfoCallback):
22626 2008-08-20  Mark Rowe  <mrowe@apple.com>
22628         Reviewed by Jon Honeycutt.
22630         Fix build failure.
22632         * bridge/c/c_instance.cpp:
22633         (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
22634         as that is what NPEnumerationFunctionPtr is declared as accepting.
22636 2008-08-20  Mark Rowe  <mrowe@apple.com>
22638         Reviewed by Dan Bernstein.
22640         Build fix.  Handle kCGInterpolationMedium in switch statements if it is available.
22642         * platform/graphics/GraphicsContext.h:
22643         (WebCore::):
22644         * platform/graphics/cg/GraphicsContextCG.cpp:
22645         (WebCore::GraphicsContext::setImageInterpolationQuality):
22646         (WebCore::GraphicsContext::imageInterpolationQuality):
22648 2008-08-20  Dan Bernstein  <mitz@apple.com>
22650         Rubber-stamped by John Sullivan.
22652         - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
22653           rename related methods and variables accordingly.
22655         * WebCore.base.exp:
22656         * page/FrameView.cpp:
22657         (WebCore::FrameViewPrivate::FrameViewPrivate):
22658         (WebCore::FrameView::shouldUpdateWhileOffscreen):
22659         (WebCore::FrameView::setShouldUpdateWhileOffscreen):
22660         * page/FrameView.h:
22661         * platform/ScrollView.h:
22662         * platform/mac/ScrollViewMac.mm:
22663         (WebCore::ScrollView::updateContents):
22665 2008-08-20  Brady Eidson  <beidson@apple.com>
22667         Reviewed by Mitzpettel
22669         <rdar://problem/6163636> - Many images broken in Mail
22671         This can be traced back to the preload scanner.  With that change, CachedResources are created a lot 
22672         sooner than before and confuse the WebArchive machinery.  
22674         When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore 
22675         such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate 
22676         machinery and nothing is known about where the data will eventually come from.
22678         * loader/DocumentLoader.cpp:
22679         (WebCore::DocumentLoader::subresource):  Ignore a CachedResource if its preloadResult is 
22680           CachedResource::PreloadReferenced.
22682 2008-08-20  Holger Hans Peter Freyther  <zecke@selfish.org>
22684         Unreviewed compile fix
22686         Catch up with the JSValue::type elimination.
22688         * bridge/qt/qt_instance.cpp:
22689         (KJS::Bindings::QtRuntimeObjectImp::construct):
22690         (KJS::Bindings::QtInstance::defaultValue):
22691         * bridge/qt/qt_runtime.cpp:
22692         (KJS::Bindings::QtRuntimeConnectionMethod::call):
22694 2008-08-20  Chris Teague  <chris.teague@gmail.com>
22696         Reviewed by Mark Rowe.
22698         Fix https://bugs.webkit.org/show_bug.cgi?id=20449
22699         Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
22701         * ChangeLog:
22702         * loader/FrameLoader.cpp:
22703         (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
22705 2008-08-20  Simon Fraser  <simon.fraser@apple.com>
22707         Reviewed by Dave Hyatt
22709         getComputedStyle() for webkitTransform should return a transform
22710         that does not have the transform origin baked into it.
22711         https://bugs.webkit.org/show_bug.cgi?id=20464
22712         
22713         Test: fast/css/getComputedStyle-transform.html
22715         * css/CSSComputedStyleDeclaration.cpp:
22716         (WebCore::computedTransform):
22717         * rendering/style/RenderStyle.cpp:
22718         (WebCore::RenderStyle::applyTransform):
22719         * rendering/style/RenderStyle.h:
22721 2008-08-20  Josh Aas  <joshmoz@gmail.com>
22723         Reviewed and landed by Anders.
22725         <rdar://problem/6163636> 
22726         rename NPCocoaEvent's "event" struct to "data" (20446)
22727         
22728         * bridge/npapi.h:
22729         (_NPCocoaEvent::):
22731 2008-08-20  Beth Dakin  <bdakin@apple.com>
22733         Reviewed by Darin Adler.
22735         Fix for <rdar://problem/6145626> 
22736         This patch fixes a number of remaining problems getting 
22737         disconnected frames to work correctly with markAllMatchesForText() 
22738         and findString(). Details inline. 
22740         This was a static helper function in Frame, but this patch requires 
22741         the same functionality in Editor, so I just added it as a function 
22742         on Node.
22743         * dom/Node.cpp:
22744         (WebCore::Node::isInShadowTree):
22745         * dom/Node.h:
22747         * editing/Editor.cpp:
22748         (WebCore::Editor::insideVisibleArea): Returns false if 
22749         excludeFromTextSearch() is true.
22751         In a normal (non-disconnected) frame, findString returns a range of 
22752         the document node if the text is not found in the frame. I changed 
22753         firstVisibleRange and lastVisibleRange to match that behavior when 
22754         the text is not found
22755         (WebCore::Editor::firstVisibleRange):
22756         (WebCore::Editor::lastVisibleRange):
22758         Here are the bulk of the changes in the patch. A lot of text was 
22759         not being found in disconnected frames because I failed to account 
22760         for all of the possible problems associated with shadow trees. That 
22761         is fixed here.
22762         (WebCore::Editor::nextVisibleRange):
22763         * editing/Editor.h:
22765         excludeFromTextSearch() is new. It allows a WebKit client to mark a 
22766         frame as not-text-searchable through SPI. 
22767         * WebCore.base.exp:
22768         * page/Frame.cpp:
22769         (WebCore::Frame::excludeFromTextSearch):
22770         (WebCore::Frame::setExcludeFromTextSearch):
22771         (WebCore::FramePrivate::FramePrivate):
22772         * page/Frame.h:
22773         * page/FramePrivate.h:
22775         (WebCore::Frame::findString):
22776         (WebCore::Frame::markAllMatchesForText):  I kept running into an 
22777         assertion failure in paining code because of the forced paint on 
22778         empty visible rects.
22780 2008-08-20  Timothy Hatcher  <timothy@apple.com>
22782         Adds a positon box to the Inspector's Metrics sidebar
22783         pane. When an element is not statically positioned, there
22784         is now a position box that show top, right, bottom and
22785         left computed values.
22787         Reviewed by Kevin McCullough.
22789         * English.lproj/localizedStrings.js: Updated the strings.
22790         * page/inspector/MetricsSidebarPane.js:
22791         (WebInspector.MetricsSidebarPane.prototype.update):
22792         Renamed the boxPartValue function to createBoxPartElement
22793         and made it create the entire element. Made it understand
22794         how to get position style properties. Don't use the figure dash
22795         when 0px is used for positions, since the 0 is meaningful there.
22796         Instead use the figure dash when a position is auto.
22797         * page/inspector/inspector.css: Added a new rule for position.
22799 2008-08-20  Chris Fleizach  <cfleizach@apple.com>
22801         Reviewed by Beth Dakin
22803         Qt build fix
22805         * WebCore.pro:
22807 2008-08-20  Dan Bernstein  <mitz@apple.com>
22809         Reviewed by Anders Carlsson.
22811         - avoid using a deprecated NSScroller method on Leopard
22813         * platform/mac/PlatformScrollBarMac.mm:
22814         (WebCore::PlatformScrollbar::updateThumbPosition):
22815         (WebCore::PlatformScrollbar::updateThumbProportion):
22817 2008-08-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
22819         Reviewed by Oliver Hunt.
22821         Gtk build fix
22823         * GNUmakefile.am:
22824         * page/AccessibilityTable.cpp: Change nil to 0
22825         (WebCore::AccessibilityTable::cellForColumnAndRow):
22827 2008-08-19  Alexey Proskuryakov  <ap@webkit.org>
22829         Reviewed by Geoff Garen.
22831         Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
22833         * ForwardingHeaders/kjs/JSLock.h: Added.
22834         * WebCore.vcproj/WebCore.vcproj:
22835         * bindings/js/GCController.cpp:
22836         (WebCore::collect):
22837         (WebCore::GCController::gcTimerFired):
22838         (WebCore::GCController::garbageCollectNow):
22839         * bindings/js/JSCustomSQLStatementCallback.cpp:
22840         (WebCore::JSCustomSQLStatementCallback::handleEvent):
22841         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
22842         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
22843         * bindings/js/JSCustomSQLTransactionCallback.cpp:
22844         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
22845         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
22846         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
22847         * bindings/js/JSCustomVoidCallback.cpp:
22848         (WebCore::JSCustomVoidCallback::handleEvent):
22849         * bindings/js/JSCustomXPathNSResolver.cpp:
22850         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
22851         * bindings/js/JSDOMWindowBase.cpp:
22852         (WebCore::DOMWindowTimer::~DOMWindowTimer):
22853         (WebCore::JSDOMWindowBase::clear):
22854         (WebCore::JSDOMWindowBase::timerFired):
22855         * bindings/js/JSEventCustom.cpp:
22856         (WebCore::toJS):
22857         * bindings/js/JSEventListener.cpp:
22858         (WebCore::JSAbstractEventListener::handleEvent):
22859         * bindings/js/JSNSResolver.cpp:
22860         (WebCore::JSNSResolver::lookupNamespaceURI):
22861         * bindings/js/JSNodeFilterCondition.cpp:
22862         (WebCore::JSNodeFilterCondition::acceptNode):
22863         * bindings/js/ScheduledAction.cpp:
22864         (WebCore::ScheduledAction::execute):
22865         * bindings/js/ScriptController.cpp:
22866         (WebCore::ScriptController::evaluate):
22867         (WebCore::ScriptController::clearWindowShell):
22868         (WebCore::ScriptController::createHTMLEventHandler):
22869         (WebCore::ScriptController::createSVGEventHandler):
22870         (WebCore::ScriptController::initScript):
22871         (WebCore::ScriptController::updateDocument):
22872         (WebCore::ScriptController::bindingRootObject):
22873         (WebCore::ScriptController::windowScriptNPObject):
22874         (WebCore::ScriptController::createScriptObjectForPluginElement):
22875         (WebCore::ScriptController::clearScriptObjects):
22876         * bindings/js/ScriptControllerMac.mm:
22877         (WebCore::ScriptController::windowScriptObject):
22878         * bindings/objc/WebScriptObject.mm:
22879         (_didExecute):
22880         (-[WebScriptObject callWebScriptMethod:withArguments:]):
22881         (-[WebScriptObject evaluateWebScript:]):
22882         (-[WebScriptObject setValue:forKey:]):
22883         (-[WebScriptObject valueForKey:]):
22884         (-[WebScriptObject removeWebScriptKey:]):
22885         (-[WebScriptObject stringRepresentation]):
22886         (-[WebScriptObject webScriptValueAtIndex:]):
22887         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
22888         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
22889         * bridge/NP_jsobject.cpp:
22890         (_NPN_InvokeDefault):
22891         (_NPN_Invoke):
22892         (_NPN_Evaluate):
22893         (_NPN_GetProperty):
22894         (_NPN_SetProperty):
22895         (_NPN_RemoveProperty):
22896         (_NPN_HasProperty):
22897         (_NPN_HasMethod):
22898         (_NPN_Enumerate):
22899         * bridge/c/c_class.cpp:
22900         (KJS::Bindings::CClass::~CClass):
22901         (KJS::Bindings::CClass::methodsNamed):
22902         (KJS::Bindings::CClass::fieldNamed):
22903         * bridge/c/c_instance.cpp:
22904         (KJS::Bindings::CInstance::invokeMethod):
22905         (KJS::Bindings::CInstance::invokeDefaultMethod):
22906         (KJS::Bindings::CInstance::getPropertyNames):
22907         * bridge/c/c_runtime.cpp:
22908         (KJS::Bindings::CField::valueFromInstance):
22909         (KJS::Bindings::CField::setValueToInstance):
22910         * bridge/c/c_utility.cpp:
22911         (KJS::Bindings::convertValueToNPVariant):
22912         (KJS::Bindings::convertNPVariantToValue):
22913         * bridge/jni/jni_class.cpp:
22914         (JavaClass::JavaClass):
22915         (JavaClass::~JavaClass):
22916         * bridge/jni/jni_instance.cpp:
22917         (JavaInstance::stringValue):
22918         * bridge/jni/jni_jsobject.mm:
22919         (JavaJSObject::call):
22920         (JavaJSObject::eval):
22921         (JavaJSObject::getMember):
22922         (JavaJSObject::setMember):
22923         (JavaJSObject::removeMember):
22924         (JavaJSObject::getSlot):
22925         (JavaJSObject::setSlot):
22926         (JavaJSObject::toString):
22927         (JavaJSObject::convertValueToJObject):
22928         (JavaJSObject::convertJObjectToValue):
22929         * bridge/jni/jni_objc.mm:
22930         (KJS::Bindings::dispatchJNICall):
22931         * bridge/jni/jni_runtime.cpp:
22932         (appendClassName):
22933         (JavaMethod::signature):
22934         * bridge/jni/jni_runtime.h:
22935         (KJS::Bindings::JavaString::JavaString):
22936         (KJS::Bindings::JavaString::_commonInit):
22937         (KJS::Bindings::JavaString::~JavaString):
22938         (KJS::Bindings::JavaString::UTF8String):
22939         * bridge/jni/jni_utility.cpp:
22940         (KJS::Bindings::convertValueToJValue):
22941         * bridge/npruntime.cpp:
22942         (_NPN_GetStringIdentifier):
22943         * bridge/objc/objc_instance.mm:
22944         (ObjcInstance::moveGlobalExceptionToExecState):
22945         (ObjcInstance::invokeMethod):
22946         (ObjcInstance::invokeDefaultMethod):
22947         (ObjcInstance::setValueOfUndefinedField):
22948         (ObjcInstance::getValueOfUndefinedField):
22949         * bridge/objc/objc_runtime.mm:
22950         (ObjcField::valueFromInstance):
22951         (ObjcField::setValueToInstance):
22952         * bridge/objc/objc_utility.mm:
22953         (KJS::Bindings::convertValueToObjcValue):
22954         (KJS::Bindings::convertNSStringToString):
22955         (KJS::Bindings::convertObjcValueToValue):
22956         * bridge/qt/qt_instance.cpp:
22957         (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
22958         (KJS::Bindings::QtInstance::~QtInstance):
22959         (KJS::Bindings::QtInstance::getQtInstance):
22960         (KJS::Bindings::QtInstance::getRuntimeObject):
22961         * bridge/qt/qt_runtime.cpp:
22962         (KJS::Bindings::convertValueToQVariant):
22963         (KJS::Bindings::convertQVariantToValue):
22964         (KJS::Bindings::QtRuntimeMetaMethod::call):
22965         (KJS::Bindings::QtRuntimeConnectionMethod::call):
22966         (KJS::Bindings::QtConnectionObject::QtConnectionObject):
22967         (KJS::Bindings::QtConnectionObject::execute):
22968         * bridge/runtime.cpp:
22969         (KJS::Bindings::Instance::createRuntimeObject):
22970         * bridge/testbindings.cpp:
22971         (main):
22972         * bridge/testbindings.mm:
22973         (main):
22974         * bridge/testqtbindings.cpp:
22975         (main):
22976         * dom/Document.cpp:
22977         (WebCore::Document::~Document):
22978         * dom/Node.cpp:
22979         (WebCore::Node::setDocument):
22980         * history/CachedPage.cpp:
22981         (WebCore::CachedPage::CachedPage):
22982         (WebCore::CachedPage::restore):
22983         (WebCore::CachedPage::clear):
22984         * loader/FrameLoader.cpp:
22985         (WebCore::getString):
22986         * page/InspectorController.cpp:
22987         (WebCore::ConsoleMessage::ConsoleMessage):
22988         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
22989         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
22990         (WebCore::getResourceDocumentNode):
22991         (WebCore::search):
22992         (WebCore::inspectedWindow):
22993         (WebCore::wrapCallback):
22994         (WebCore::currentCallFrame):
22995         (WebCore::profiles):
22996         (WebCore::InspectorController::focusNode):
22997         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
22998         (WebCore::InspectorController::addDatabaseScriptResource):
22999         (WebCore::InspectorController::addScriptProfile):
23000         * page/JavaScriptCallFrame.cpp:
23001         (WebCore::JavaScriptCallFrame::evaluate):
23002         * page/JavaScriptProfileNode.cpp:
23003         (WebCore::getTotalTime):
23004         (WebCore::getSelfTime):
23005         (WebCore::getTotalPercent):
23006         (WebCore::getSelfPercent):
23007         (WebCore::getNumberOfCalls):
23008         (WebCore::getChildren):
23009         (WebCore::getVisible):
23010         * page/Page.cpp:
23011         * page/mac/FrameMac.mm:
23012         * plugins/PluginView.cpp:
23013         (WebCore::PluginView::start):
23014         (WebCore::getString):
23015         (WebCore::PluginView::performRequest):
23016         (WebCore::PluginView::bindingInstance):
23017         * plugins/gtk/PluginViewGtk.cpp:
23018         (WebCore::PluginView::paint):
23019         (WebCore::PluginView::handleKeyboardEvent):
23020         (WebCore::PluginView::handleMouseEvent):
23021         (WebCore::PluginView::setNPWindowRect):
23022         (WebCore::PluginView::stop):
23023         (WebCore::PluginView::init):
23024         * plugins/qt/PluginViewQt.cpp:
23025         (WebCore::PluginView::setNPWindowRect):
23026         (WebCore::PluginView::stop):
23027         (WebCore::PluginView::init):
23028         * plugins/win/PluginViewWin.cpp:
23029         (WebCore::PluginView::dispatchNPEvent):
23030         (WebCore::PluginView::handleKeyboardEvent):
23031         (WebCore::PluginView::handleMouseEvent):
23032         (WebCore::PluginView::setNPWindowRect):
23033         (WebCore::PluginView::stop):
23034         * xml/XMLHttpRequest.cpp:
23035         (WebCore::XMLHttpRequest::clearResponse):
23036         (WebCore::XMLHttpRequest::didFinishLoading):
23037         (WebCore::XMLHttpRequest::didReceiveData):
23039 2008-08-19  Eric Seidel  <eric@webkit.org>
23041         Reviewed by Geoff Garen.
23043         Add the beginnings of Skia graphics support to WebCore
23044         as I try to begin the long process of un-forking the changes
23045         needed to WebCore to make Andriod's WebCore build.
23047         I'll follow this up with actual *Skia.cpp files in a separate patch.
23049         * platform/graphics/AffineTransform.h:
23050         * platform/graphics/FloatPoint.h:
23051         * platform/graphics/FloatRect.h:
23052         * platform/graphics/Gradient.h:
23053         * platform/graphics/GraphicsContext.h:
23054         * platform/graphics/Image.h:
23055         * platform/graphics/ImageBuffer.h:
23056         * platform/graphics/ImageSource.h:
23057         * platform/graphics/IntPoint.h:
23058         * platform/graphics/IntRect.h:
23059         * platform/graphics/Path.h:
23060         * platform/graphics/Pattern.h:
23061         * svg/graphics/SVGPaintServerPattern.h:
23062         * svg/graphics/SVGPaintServerSolid.h:
23064 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
23066         Fix Windows build more.
23068         * WebCore.vcproj/WebCore.vcproj:
23070 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
23072         Fix Windows build.
23074         * page/AccessibilityRenderObject.cpp:
23075         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
23077 2008-08-19  Chris Fleizach  <cfleizach@apple.com>
23079         Reviewed by Beth Dakin.
23081         <rdar://problem/4003764> Expose tables as AXTables
23083         Tests: accessibility/table-attributes.html
23084                accessibility/table-cell-spans.html
23085                accessibility/table-cells.html
23086                accessibility/table-detection.html
23087                accessibility/table-sections.html
23088                accessibility/table-with-rules.html
23090         * WebCore.xcodeproj/project.pbxproj:
23091         * page/AXObjectCache.cpp:
23092         (WebCore::AXObjectCache::get):
23093         * page/AccessibilityObject.h:
23094         (WebCore::):
23095         (WebCore::AccessibilityObject::isDataTable):
23096         (WebCore::AccessibilityObject::isTableRow):
23097         (WebCore::AccessibilityObject::isTableColumn):
23098         (WebCore::AccessibilityObject::isTableCell):
23099         * page/AccessibilityRenderObject.cpp:
23100         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
23101         * page/AccessibilityTable.cpp: Added.
23102         (WebCore::AccessibilityTable::AccessibilityTable):
23103         (WebCore::AccessibilityTable::~AccessibilityTable):
23104         (WebCore::AccessibilityTable::create):
23105         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
23106         (WebCore::AccessibilityTable::clearChildren):
23107         (WebCore::AccessibilityTable::addChildren):
23108         (WebCore::AccessibilityTable::headerContainer):
23109         (WebCore::AccessibilityTable::columns):
23110         (WebCore::AccessibilityTable::rows):
23111         (WebCore::AccessibilityTable::rowHeaders):
23112         (WebCore::AccessibilityTable::columnHeaders):
23113         (WebCore::AccessibilityTable::cells):
23114         (WebCore::AccessibilityTable::columnCount):
23115         (WebCore::AccessibilityTable::rowCount):
23116         (WebCore::AccessibilityTable::cellForColumnAndRow):
23117         (WebCore::AccessibilityTable::roleValue):
23118         (WebCore::AccessibilityTable::accessibilityIsIgnored):
23119         (WebCore::AccessibilityTable::title):
23120         (WebCore::AccessibilityTable::isDataTable):
23121         * page/AccessibilityTable.h: Added.
23122         * page/AccessibilityTableCell.cpp: Added.
23123         (WebCore::AccessibilityTableCell::AccessibilityTableCell):
23124         (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
23125         (WebCore::AccessibilityTableCell::create):
23126         (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
23127         (WebCore::AccessibilityTableCell::rowIndexRange):
23128         (WebCore::AccessibilityTableCell::columnIndexRange):
23129         * page/AccessibilityTableCell.h: Added.
23130         (WebCore::AccessibilityTableCell::isTableCell):
23131         (WebCore::AccessibilityTableCell::roleValue):
23132         * page/AccessibilityTableColumn.cpp: Added.
23133         (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
23134         (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
23135         (WebCore::AccessibilityTableColumn::create):
23136         (WebCore::AccessibilityTableColumn::setParentTable):
23137         (WebCore::AccessibilityTableColumn::elementRect):
23138         (WebCore::AccessibilityTableColumn::size):
23139         (WebCore::AccessibilityTableColumn::children):
23140         (WebCore::AccessibilityTableColumn::headerObject):
23141         (WebCore::AccessibilityTableColumn::headerObjectForSection):
23142         (WebCore::AccessibilityTableColumn::addChildren):
23143         * page/AccessibilityTableColumn.h: Added.
23144         (WebCore::AccessibilityTableColumn::parentObject):
23145         (WebCore::AccessibilityTableColumn::roleValue):
23146         (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
23147         (WebCore::AccessibilityTableColumn::isTableColumn):
23148         (WebCore::AccessibilityTableColumn::setColumnIndex):
23149         (WebCore::AccessibilityTableColumn::columnIndex):
23150         * page/AccessibilityTableHeaderContainer.cpp: Added.
23151         (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
23152         (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
23153         (WebCore::AccessibilityTableHeaderContainer::create):
23154         (WebCore::AccessibilityTableHeaderContainer::children):
23155         (WebCore::AccessibilityTableHeaderContainer::elementRect):
23156         (WebCore::AccessibilityTableHeaderContainer::size):
23157         (WebCore::AccessibilityTableHeaderContainer::addChildren):
23158         * page/AccessibilityTableHeaderContainer.h: Added.
23159         (WebCore::AccessibilityTableHeaderContainer::roleValue):
23160         (WebCore::AccessibilityTableHeaderContainer::setParentTable):
23161         (WebCore::AccessibilityTableHeaderContainer::parentObject):
23162         (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
23163         * page/AccessibilityTableRow.cpp: Added.
23164         (WebCore::AccessibilityTableRow::AccessibilityTableRow):
23165         (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
23166         (WebCore::AccessibilityTableRow::create):
23167         (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
23168         (WebCore::AccessibilityTableRow::headerObject):
23169         * page/AccessibilityTableRow.h: Added.
23170         (WebCore::AccessibilityTableRow::isTableRow):
23171         (WebCore::AccessibilityTableRow::roleValue):
23172         (WebCore::AccessibilityTableRow::setRowIndex):
23173         (WebCore::AccessibilityTableRow::rowIndex):
23174         * page/mac/AccessibilityObjectWrapper.mm:
23175         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
23176         (RoleEntry::):
23177         (-[AccessibilityObjectWrapper roleDescription]):
23178         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
23179         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
23180         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
23182 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
23184         Build fix.
23185         Add buildfailed support to stop builds early (preventing inaccurate error messages).
23186         Add missing post-build rule to Release.
23188         * WebCore.vcproj/QTMovieWin.vcproj:
23190 2008-08-19  Keishi Hattori  <casey.hattori@gmail.com>
23192         Added support for console.count in the inspector.
23194         Reviewed by Geoff Garen.
23196         * page/Console.cpp:
23197         (WebCore::Console::count):
23198         * page/Console.h:
23199         * page/Console.idl: Added console.count.
23200         * page/InspectorController.cpp:
23201         (WebCore::InspectorController::didCommitLoad): Clears m_counts.
23202         (WebCore::InspectorController::count): Updates the count number
23203         sing "title@source:line" as the identifier, and adds a
23204         message to the console.
23205         * page/InspectorController.h: Added m_counts.
23207 2008-08-19  Keishi Hattori  <casey.hattori@gmail.com>
23209         Clear console.time timers when changing page.
23211         Reviewed by Geoff Garen.
23213         * page/InspectorController.cpp:
23214         (WebCore::InspectorController::didCommitLoad):
23216 2008-08-19  Eric Carlson  <eric.carlson@apple.com>
23218         Reviewed by Adele.
23220         Fix for <rdar://problem/6154695> Full-page movies flicker while playing
23221         https://bugs.webkit.org/show_bug.cgi?id=20404
23223         Ignore setVisible() when visibility doesn't change.
23225         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
23226         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
23227         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
23228         (WebCore::MediaPlayerPrivate::setVisible):
23230 2008-08-19  Timothy Hatcher  <timothy@apple.com>
23232         Fixes a bug in the Profile view where switching sort order, then
23233         switching from heavy to tree mode would show the tree in the
23234         previous sort order.
23236         https://bugs.webkit.org/show_bug.cgi?id=20441
23238         Reviewed by Kevin McCullough.
23240         * page/inspector/ProfileView.js:
23241         (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
23242         on the next profile before assigning it to this.profile.
23243         (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
23244         (WebInspector.ProfileView.prototype._sortProfile): Moves from
23245         _sortData and takes a profile argument. If the profile passed in
23246         matches the this.profile, then call refresh.
23248 2008-08-18  Timothy Hatcher  <timothy@apple.com>
23250         Changed the default sort order now that heavy view is the default.
23251         Also fixes a bug where the heavy profile was not sorted at first.
23253         https://bugs.webkit.org/show_bug.cgi?id=20440
23255         Reviewed by Kevin McCullough.
23257         * page/inspector/ProfileView.js:
23258         (WebInspector.ProfileView): Changed the default sort column. Also assign
23259         heavyProfile to profile, so the sortSelfTimeDescending call happens
23260         on the heavy profile before assigning to this.profile.
23262 2008-08-18  Timothy Hatcher  <timothy@apple.com>
23264         Add support for editing DOM properties and scope variables by double
23265         clicking a property to enter edit mode.
23267         https://bugs.webkit.org/show_bug.cgi?id=20415
23269         Reviewed by Kevin McCullough.
23271         * page/inspector/ObjectPropertiesSection.js:
23272         (WebInspector.ObjectPropertiesSection): Set editable to true by default.
23273         (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
23274         Factored out code into update, and calls update.
23275         (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
23276         Call removeChildren since this method can be called multiple times now.
23277         (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
23278         gets made later in onattach.
23279         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
23280         if shouldRefreshChildren is true. Call removeChildren since this method can be
23281         called multiple times now.
23282         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
23283         (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
23284         (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
23285         this element (code moved from the constructor.)
23286         (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
23287         sibling property elements.
23288         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
23289         WebInspector.startEditing after rememebring some context.
23290         (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
23291         for the list element, since it might have scrolled during editing.
23292         (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
23293         then restore the state from the context. Then call update to restore the title.
23294         (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
23295         if the user input and the previous input are the same. Call editingEnded, then call applyExpression
23296         to commit the user input.
23297         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
23298         and stores the result on the object for the property name of this element. If the expression is
23299         empty, delete the property and remove the tree element.
23300         * page/inspector/ScopeChainSidebarPane.js:
23301         (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
23302         property on each ObjectPropertiesSection.
23303         (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
23304         since it is now implemented.
23305         * page/inspector/ScriptsPanel.js:
23306         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
23307         that defaults to true if omitted. It specifies whether to call update on the scope chain.
23308         * page/inspector/inspector.css: New styles.
23309         * page/inspector/treeoutline.js:
23310         (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
23311         change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
23313 2008-08-18  Timothy Hatcher  <timothy@apple.com>
23315         Surround the expression to be evaluated in parenthesis so the
23316         result of the eval is the result of the whole expression not
23317         the last potential sub-expression. So evaluating {x: 123}
23318         will show the Object not 123.
23320         https://bugs.webkit.org/show_bug.cgi?id=20428
23322         Reviewed by Kevin McCullough.
23324         * page/inspector/Console.js:
23325         (Console.prototype._evalInInspectedWindow): Add parenthesis
23326         around the expression. And add couple comments.
23328 2008-08-19 Kevin McCullough <kmccullough@apple.com>
23330         Reviewed by Geoff.
23332         -Implement a page() function to extract a common code pattern.
23334         * WebCore.xcodeproj/project.pbxproj:
23335         * page/Console.cpp:
23336         (WebCore::Console::addMessage):
23337         (WebCore::Console::error):
23338         (WebCore::Console::info):
23339         (WebCore::Console::log):
23340         (WebCore::Console::dir):
23341         (WebCore::Console::assertCondition):
23342         (WebCore::Console::time):
23343         (WebCore::Console::timeEnd):
23344         (WebCore::Console::group):
23345         (WebCore::Console::groupEnd):
23346         (WebCore::Console::finishedProfiling):
23347         (WebCore::Console::warn):
23348         (WebCore::Console::framePage):
23349         * page/Console.h:
23351 2008-08-12  Darin Adler  <darin@apple.com>
23353         Reviewed by Geoff.
23355         - eliminate JSValue::type()
23357         * bridge/c/c_instance.cpp:
23358         (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
23359         argument instead of JSType argument. Removed unneeded code to handle
23360         boolean, since that's never passed.
23361         * bridge/c/c_instance.h: Ditto.
23363         * bridge/c/c_utility.cpp:
23364         (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
23365         instead of JSValue::type(). Removed unneeded code to handle
23366         "unspecified".
23368         * bridge/jni/jni_instance.cpp:
23369         (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
23370         instead of JSType argument. Removed unneeded code to handle boolean.
23371         * bridge/jni/jni_instance.h: Ditto.
23373         * bridge/jni/jni_jsobject.mm:
23374         (JavaJSObject::convertValueToJObject): Use JSValue::is functions
23375         instead of JSValue::type().
23377         * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
23378         instead of JSType argument. Removed unused argument.
23379         * bridge/objc/objc_instance.mm:
23380         (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
23381         (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
23382         instead of JSType argument. Removed unneeded code to handle boolean
23383         and another dead code path for unknown types.
23385         * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
23386         instead of JSType argument. Removed override of type() that caused
23387         the fallback object to return "UndefinedType" when there is no
23388         invokeUndefinedMethodFromWebScript:withArguments: method defined.
23389         That didn't accomplish much, since most checks for undefined don't
23390         ever call type().
23391         * bridge/objc/objc_runtime.mm:
23392         (ObjcFallbackObjectImp::defaultValue): Ditto.
23394         * bridge/qt/qt_instance.cpp:
23395         (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
23396         argument instead of JSType argument. Removed unneeded code to handle
23397         boolean.
23398         * bridge/qt/qt_instance.h: Ditto.
23400         * bridge/runtime.h:
23401         (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
23402         unsed argument.
23403         * bridge/runtime_object.cpp:
23404         (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
23405         argument instead of JSType argument.
23406         * bridge/runtime_object.h: Ditto.
23408 2008-08-18  Maxime Britto  <britto@apple.com>
23410         Reviewed by Adele.
23412         <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
23413         Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
23414         We shouldn't be able to create another window while we are in pan scrolling.
23415         Other browsers behaviors :
23416           FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
23417           IE7 : Keys are not disabled but stops immediately the panning.
23418         This patch matches FF3 behavior by disabling every key but the esc key.
23420         * page/EventHandler.cpp:
23421         (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
23422         (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
23424 2008-08-18  Dan Bernstein  <mitz@apple.com>
23426         Reviewed by Dave Hyatt.
23428         - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
23430         Test: fast/replaced/max-width-percent.html
23432         Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
23433         When false, max-width is not factored into the
23434         calculation.
23435         Changed RenderReplaced and subclasses' calcPrefWidths() to call
23436         calcReplacedWidth(false) and then apply max-width only if it has a
23437         fixed, positive value.
23439         * rendering/RenderBox.cpp:
23440         (WebCore::RenderBox::calcReplacedWidth):
23441         * rendering/RenderBox.h:
23442         * rendering/RenderImage.cpp:
23443         (WebCore::RenderImage::calcReplacedWidth):
23444         (WebCore::RenderImage::calcPrefWidths): 
23445         * rendering/RenderImage.h:
23446         * rendering/RenderReplaced.cpp:
23447         (WebCore::RenderReplaced::calcPrefWidths):
23448         * rendering/RenderSVGRoot.cpp:
23449         (WebCore::RenderSVGRoot::calcPrefWidths):
23450         * rendering/RenderVideo.cpp:
23451         (WebCore::RenderVideo::calcReplacedWidth):
23452         (WebCore::RenderVideo::calcPrefWidths):
23453         * rendering/RenderVideo.h:
23455 2008-08-18  Daniel Macks  <dmacks@netspace.org>
23457         Reviewed by Mark Rowe.
23459         https://bugs.webkit.org/show_bug.cgi?id=20410
23460         More portable/self-documenting replacement for SIZE_MAX.
23462         * platform/network/curl/FormDataStreamCurl.cpp:
23463         (WebCore::FormDataStream::read):
23465 2008-08-18  Simon Fraser  <simon.fraser@apple.com>
23467         Reviewed by Dave Hyatt
23469         Need to make sure we have an Animation in the AnimationList
23470         before setting the initial value.
23471         https://bugs.webkit.org/show_bug.cgi?id=20408
23473         Test: fast/css/transition_shorthand_parsing.html
23475         * css/CSSStyleSelector.cpp:
23477 2008-08-18  Kevin McCullough  <kmccullough@apple.com>
23479         Reviewed by Tim.
23481         <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
23482         is another profile.
23484         * page/inspector/ProfilesPanel.js:
23486 2008-08-18  Kevin McCullough  <kmccullough@apple.com>
23488         Reviewed by Geoff.
23490         <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
23491         all console messages
23493         * page/inspector/Console.js:
23495 2008-08-18  Dirk Schulze  <vbs85@gmx.de>
23497         Reviewed by Eric Seidel.
23499         Fixed Canvas for Cairo. Stroke and fill colors didn't work after
23500         the canvas clean up.
23502         https://bugs.webkit.org/show_bug.cgi?id=20405
23504         * html/CanvasRenderingContext2D.cpp:
23505         (WebCore::CanvasRenderingContext2D::fill):
23506         (WebCore::CanvasRenderingContext2D::stroke):
23507         (WebCore::CanvasRenderingContext2D::fillRect):
23509 2008-08-17  Timothy Hatcher  <timothy@apple.com>
23511         Complete in scope variables in the Console when paused.
23513         https://bugs.webkit.org/show_bug.cgi?id=19115
23515         Reviewed by Geoffrey Garen.
23517         * page/inspector/Console.js:
23518         (WebInspector.Console.prototype.completions): If the expressionString
23519         is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
23520         to get an object that declares all the in scope variables. That way
23521         "top level" expressions are completed.
23522         * page/inspector/ScriptsPanel.js:
23523         (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
23524         Return an object that has all the variables that are in scope for the
23525         selected call frame. The value of each property is just true.
23526         The return object is useful for quick lookups or auto completion.
23528 2008-08-17  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
23530         Not reviewed.
23532         Speculative Qt build fix.
23534         * bridge/qt/qt_runtime.cpp:
23535         (KJS::Bindings::convertValueToQVariant):
23536         (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
23538 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
23540         Reviewed by Cameron Zwarich.
23541         
23542         Updated project files to XCode 3.1.
23544         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
23546 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
23548         Reviewed by Cameron Zwarich.
23550         Made room for a free word in JSCell.
23551         
23552         Changed JSDOMWindowBase to store its auxiliary data in a subclass of
23553         JSGlobalData, so the two could share a pointer.
23554         
23555         Added a bunch of ASSERTs, to help catch over-sized objects.
23557 2008-08-15  Mark Rowe  <mrowe@apple.com>
23559         Reviewed by Dan Bernstein.
23561         Disable dead code stripping in debug builds.
23563         * Configurations/Base.xcconfig:
23564         * WebCore.xcodeproj/project.pbxproj:
23566 2008-08-15  Mark Rowe  <mrowe@apple.com>
23568         Rubber-stamped by Geoff Garen.
23570         <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
23572         * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
23573         between the Debug configuration and debug Production variant.
23574         * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
23576 2008-08-15  Antti Koivisto  <antti@apple.com>
23578         Reviewed by Anders.
23580         Don't start preloading body resources before the head is complete. This prevents
23581         body preloads from slowing down initial display when there is limited amount
23582         of bandwidth available.
23583         
23584         Works by queuing up found body preloads to DocLoader and only issuing them
23585         after document has rendering.
23586         
23587         With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
23588         without affecting complete load time.
23590         * html/PreloadScanner.cpp:
23591         (WebCore::PreloadScanner::PreloadScanner):
23592         (WebCore::PreloadScanner::scanningBody):
23593         (WebCore::PreloadScanner::emitTag):
23594         (WebCore::PreloadScanner::emitCSSRule):
23595         * html/PreloadScanner.h:
23596         * loader/DocLoader.cpp:
23597         (WebCore::DocLoader::preload):
23598         (WebCore::DocLoader::checkForPendingPreloads):
23599         (WebCore::DocLoader::requestPreload):
23600         * loader/DocLoader.h:
23601         * loader/loader.cpp:
23602         (WebCore::Loader::Host::didFinishLoading):
23603         (WebCore::Loader::Host::didFail):
23605 2008-08-15  Ada Chan  <adachan@apple.com>
23607         Use item's computed style if the render style is 0 before falling back to the <select>'s style.
23608         This way style set on an <hr> within a <select> will be honored.
23610         Reviewed by Dave Hyatt and Dan Bernstein.
23612         * rendering/RenderMenuList.cpp:
23613         (WebCore::RenderMenuList::itemStyle):
23615 2008-08-15  Antti Koivisto  <antti@apple.com>
23617         Reviewed by Oliver.
23619         Some loader performance tweaks:
23620         - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
23621           Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue 
23622           to not delay rendering.
23623         - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
23624           can take long time when latency is high so it is good to get started early.
23625         - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
23626           load queues. Issue remaining loads to the network layer.
23628         * loader/loader.cpp:
23629         (WebCore::Loader::determinePriority):
23630         (WebCore::Loader::load):
23631         (WebCore::Loader::Host::servePendingRequests):
23632         * loader/loader.h:
23634 2008-08-15  Timothy Hatcher  <timothy@apple.com>
23636         Detach the script debugger when the Web Inspector's window closes.
23637         This has always been the intended design, but never fully implemented.
23639         https://bugs.webkit.org/show_bug.cgi?id=20402
23641         Reviewed by Adam Roben.
23643         * page/InspectorController.cpp:
23644         (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
23645         if the window is no longer visible.
23647 2008-08-15  HÃ¥vard Wall  <hwall@trolltech.com>
23649         Reviewed by Simon.
23651         Fixes:    compile with QT_NO_CONTEXTMENU
23653         * platform/qt/PlatformMouseEventQt.cpp:
23654         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
23655         * platform/qt/PlatformScrollBarQt.cpp:
23656         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
23657         (WebCore::PlatformScrollbar::handleContextMenuEvent):
23659 2008-08-15  HÃ¥vard Wall  <hwall@trolltech.com>
23661         Reviewed by Simon.
23663         Fixes: compile with QT_NO_WHEELEVENT
23665         * platform/qt/WheelEventQt.cpp:
23666         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
23668 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
23670         Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
23672         https://bugs.webkit.org/show_bug.cgi?id=20210
23674         Reviewed by Tim Hatcher.
23676         * page/Console.cpp:
23677         (WebCore::Console::group):
23678         (WebCore::Console::groupEnd):
23679         * page/Console.h:
23680         (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
23681         * page/InspectorController.cpp:
23682         (WebCore::InspectorController::startGroup): Increments group level by
23683         one and adds console message with StartGroupMessaageLevel.
23684         (WebCore::InspectorController::endGroup): Decrements group level by one
23685         and adds console message with EndGroupMessaageLevel.
23686         * page/InspectorController.h:
23687         * page/inspector/Console.js:
23688         (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
23689         if the message is StartGroupMessaageLevel.
23690         (WebInspector.ConsoleMessage.prototype.toMessageElement):
23691         (WebInspector.ConsoleGroup.prototype.addMessage):
23692         * page/inspector/inspector.js:
23694 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
23696         Adds support for console.dir to the Inspector
23698         https://bugs.webkit.org/show_bug.cgi?id=19155
23700         Reviewed by Tim Hatcher.
23702         * bindings/js/JSConsoleCustom.cpp:
23703         (WebCore::JSConsole::dir):
23704         * page/Console.cpp:
23705         (WebCore::Console::dir):
23706         * page/Console.h: Added ObjectMessageLevel.
23707         * page/Console.idl: Added console.dir.
23708         * page/inspector/Console.js:
23709         (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
23710         ObjectPropertiesSection if the MessageLevel is Object.
23711         * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
23712         used on primitive data types.
23713         * page/inspector/inspector.css:
23715 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
23717         Adds support for clear() in the Inspector console.
23719         https://bugs.webkit.org/show_bug.cgi?id=19873
23721         Reviewed by Tim Hatcher.
23723         * page/inspector/Console.js:
23725 2008-08-15  Anthony Ricaud  <rik24d@gmail.com>
23727         Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
23729         Platform distinction and modifier key matching adjusted
23730         by Daniel Jalkut <jalkut@red-sweater.com>
23732         Bug 16313: text search (find) keybindings should work in the Web Inspector
23733         https://bugs.webkit.org/show_bug.cgi?id=16313
23735         Reviewed by Tim Hatcher.
23737         * page/inspector/inspector.js: Added a case for the F key
23739 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
23741         Fix for error when the string doesn't contain a webkit-profile link.
23743         https://bugs.webkit.org/show_bug.cgi?id=20399
23745         Reviewed by Tim Hatcher.
23747         * page/inspector/inspector.js:
23749 2008-08-15  Timothy Hatcher  <timothy@apple.com>
23751         Fixes two bugs where JavaScript could be executed from the page
23752         while the debugger is paused.
23754         The first issue was JSLazyEventListener not checking the paused
23755         state before parsing the code.
23757         The second issue was with the PageGroup version of
23758         JavaScriptDebugServer::setJavaScriptPaused always passing false
23759         to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
23760         and not the paused argument.
23762         https://bugs.webkit.org/show_bug.cgi?id=20284
23764         Reviewed by Adam Roben.
23766         * bindings/js/JSEventListener.cpp:
23767         (WebCore::JSLazyEventListener::parseCode): Check the paused
23768         state of the ScriptController. Return early if paused.
23769         * manual-tests/inspector/debugger-execution-while-paused.html: Added.
23770         * page/JavaScriptDebugServer.cpp:
23771         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
23772         Pass the paused argument to the Page version of setJavaScriptPaused.
23774 2008-08-15  Alexey Proskuryakov  <ap@webkit.org>
23776         Reviewed by Geoff Garen.
23778         JSStringRef is created context-free, but can get linked to one via an identifier table,
23779         breaking an implicit API contract.
23781         * page/InspectorController.cpp:
23782         (WebCore::jsStringRef):
23783         (WebCore::InspectorController::didParseSource):
23784         (WebCore::InspectorController::failedToParseSource):
23785         * page/JavaScriptProfile.cpp:
23786         (WebCore::getTitleCallback):
23787         Updated for JavaScriptCore changes.
23789 2008-08-14  Kevin Ollivier  <kevino@theolliviers.com>
23791         wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
23792         an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
23794         * platform/graphics/AffineTransform.h:
23796 2008-08-14  Eric Carlson  <eric.carlson@apple.com>
23798         Reviewed by Adele.
23800         Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
23801         <video> elements on Windows never becomes visible when a page is restored from the cache
23803         Always pass "set" calls down to MediaPlayerPrivate instead of only when the
23804         value is different from the cached value. Let the implementation decide when
23805         to avoid work because nothing has changed.
23807         * platform/graphics/MediaPlayer.cpp:
23808         (WebCore::MediaPlayer::setVolume):
23809         (WebCore::MediaPlayer::setRate):
23810         (WebCore::MediaPlayer::setRect):
23811         (WebCore::MediaPlayer::setVisible):
23813 2008-08-14  Keishi Hattori  <casey.hattori@gmail.com>
23815         Make Firebug command line API respect predefined variables.
23817         https://bugs.webkit.org/show_bug.cgi?id=20385
23819         Reviewed by Tim Hatcher.
23821         * page/inspector/Console.js:
23823 2008-08-14  Sam Weinig  <sam@webkit.org>
23825         Reviewed by Geoffrey Garen and Timothy Hatcher.
23827         Allow programatically setting the HTMLTokenizers time delay and chunk size
23828         which are used for determining how aggressively we yield.
23830         * WebCore.base.exp:
23831         * html/HTMLTokenizer.cpp:
23832         (WebCore::HTMLTokenizer::begin):
23833         (WebCore::HTMLTokenizer::continueProcessing):
23834         * html/HTMLTokenizer.h:
23835         * page/Page.cpp:
23836         (WebCore::Page::Page):
23837         (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
23838         (WebCore::Page::setCustomHTMLTokenizerChunkSize):
23839         * page/Page.h:
23840         (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
23841         (WebCore::Page::customHTMLTokenizerTimeDelay):
23842         (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
23843         (WebCore::Page::customHTMLTokenizerChunkSize):
23845 2008-08-14  Eric Seidel  <eric@webkit.org>
23847         Reviewed by Beth.
23849         Move us one step closer to cross-platform svg/graphics code
23851         * WebCore.xcodeproj/project.pbxproj:
23852         * html/CanvasStyle.cpp:
23853         * platform/graphics/Color.cpp:
23854         (WebCore::colorWithOverrideAlpha):
23855         * platform/graphics/Color.h:
23856         * svg/graphics/cg/CgSupport.cpp:
23857         (WebCore::applyStrokeStyleToContext):
23858         (WebCore::strokeBoundingBox):
23859         * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
23860         (WebCore::SVGPaintServerSolid::setup):
23862 2008-08-14  Eric Seidel  <eric@webkit.org>
23864         Reviewed by Alexey.
23866         Remove un-need includes from HTMLCanvas and use the
23867         Gradient platform abstraction in one place in CanvasStyle
23869         * html/CanvasRenderingContext2D.cpp:
23870         (WebCore::CanvasRenderingContext2D::fillRect):
23871         * html/CanvasStyle.cpp:
23872         * html/HTMLCanvasElement.cpp:
23874 2008-08-14  Eric Seidel  <eric@webkit.org>
23876         Reviewed by Alexey.
23878         Clean up GlyphBuffer.h, removing more #ifdefs
23880         * platform/graphics/GlyphBuffer.h:
23881         (WebCore::GlyphBuffer::glyphAt):
23882         (WebCore::GlyphBuffer::advanceAt):
23883         (WebCore::GlyphBuffer::add):
23885 2008-08-14  Eric Seidel  <eric@webkit.org>
23887         Reviewed by Sam.
23889         Clean up AffineTransform.h, removing #ifdefs
23891         * platform/graphics/AffineTransform.h:
23892         * platform/graphics/cairo/AffineTransformCairo.cpp:
23893         * platform/graphics/cg/AffineTransformCG.cpp:
23894         * platform/graphics/qt/AffineTransformQt.cpp:
23895         * platform/graphics/wx/AffineTransformWx.cpp:
23897 2008-08-14  Dan Bernstein  <mitz@apple.com>
23899         - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
23901         * platform/graphics/cairo/ImageSourceCairo.cpp:
23902         (WebCore::ImageSource::frameSizeAtIndex):
23903         * platform/graphics/qt/ImageSourceQt.cpp:
23904         (WebCore::ImageSource::frameSizeAtIndex):
23905         * platform/graphics/wx/ImageSourceWx.cpp:
23906         (WebCore::ImageSource::frameSizeAtIndex):
23908 2008-08-14  Dan Bernstein  <mitz@apple.com>
23910         Reviewed by Brady Eidson.
23912         - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
23914         * platform/graphics/BitmapImage.cpp: 
23915         (WebCore::BitmapImage::BitmapImage): Added initialization of
23916         m_hasUniformFrameSize.
23917         (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
23918         cached frame for use in decoded size computation and for setting
23919         m_hasUniformFrameSize.
23920         (WebCore::BitmapImage::currentFrameSize): Added.
23921         (WebCore::BitmapImage::dataChanged): Added code to reset
23922         m_hasUniformFrameSize.
23923         * platform/graphics/BitmapImage.h: Added currentFrameSize() and
23924         m_hasUniformFrameSize.
23925         * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
23926         * platform/graphics/cg/ImageCG.cpp:
23927         (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
23928         fixes the bug, which resulted from assuming that the frame being drawn 
23929         was the same size as the first frame.
23930         * platform/graphics/cg/ImageSourceCG.cpp:
23931         (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
23932         changed to get the size of the frame at the given index.
23933         (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
23935 2008-08-13  Simon Fraser  <simon.fraser@apple.com>
23937         Reviewed by Eric Seidel
23939         Fix @font-face inside @media rule crash.
23940         https://bugs.webkit.org/show_bug.cgi?id=20367
23942         Test: fast/css/font-face-in-media-rule.html
23944         * css/CSSStyleSelector.cpp:
23945         (WebCore::CSSRuleSet::addRulesFromSheet):
23947 2008-08-14  Kevin Ollivier  <kevino@theolliviers.com>
23949         wx build fixes after recent changes to Canvas and Image classes.
23951         * platform/graphics/Pattern.h:
23952         * platform/graphics/wx/GradientWx.cpp:
23953         (WebCore::Gradient::fill):
23954         * platform/graphics/wx/GraphicsContextWx.cpp:
23955         (WebCore::GraphicsContext::applyFillPattern):
23956         (WebCore::GraphicsContext::applyStrokePattern):
23957         * platform/graphics/wx/ImageBufferWx.cpp:
23958         (WebCore::ImageBuffer::image):
23959         * platform/graphics/wx/ImageWx.cpp:
23960         (WebCore::Image::loadPlatformResource):
23962 2008-08-14  Maxime Britto  <britto@apple.com>
23964         Reviewed by Sam Weinig.
23966         rdar://6102511
23967         When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
23968         IE and FF are both preventing the keyboard event to interact with the page while scrolling.
23969         Some differences exist between them concerning the kind of key which is pressed :
23970         IE7 : every key leads to a stop of the panning
23971         FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
23972         For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
23974         * page/EventHandler.cpp:
23975         (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
23977 2008-08-14  Christian Dywan  <christian@twotoasts.de>
23979         Gtk+/ Cairo build fix, patch by Dirk Schulze.
23981         * html/CanvasStyle.cpp:
23982         * platform/graphics/cairo/PatternCairo.cpp:
23983         (WebCore::Pattern::createPlatformPattern):
23984         * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
23986 2008-08-14  Kevin McCullough  <kmccullough@apple.com>
23988         Reviewed by Tim.
23990         <rdar://problem/6115819> Notify of profile in console
23992         * page/InspectorController.cpp:
23993         (WebCore::InspectorController::addProfile):
23994         (WebCore::InspectorController::addProfileMessageToConsole): Called by
23995         addProfile this is the function that adds a message to the console that
23996         a profile finished.
23997         * page/InspectorController.h:
23998         * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
23999         the console log to the profile in the web inspector.
24000         (WebCore::getUniqueIdCallback):
24001         (WebCore::ProfileClass):
24002         * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
24003         Id to bring up the requested profile.  Also select and reveal the
24004         profile in the profile panel.  And created displayTitleForProfileLink()
24005         which formats a title taking into account if it's user initiated or if
24006         there are multiples. Lasty, I put the user initiated profile in a
24007         variable.
24008         * page/inspector/inspector.js: Make the profile title be a clickable
24009         link that will take the user to the identified profile.  Also expose
24010         the count of user initiated profiles so they can be displayed in the
24011         console with the correct count.
24013 2008-08-14  Timothy Hatcher  <timothy@apple.com>
24015         Avoid formating ConsoleMessages twice unless the message will be
24016         displayed in bubbles of a SourceFrame.
24018         Reviewed by Kevin McCullough.
24020         * page/inspector/Console.js:
24021         (WebInspector.ConsoleMessage): Only format the plain text message
24022         if the URL and line are valid and the level is error or warning.
24023         (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
24024         Helper to test for error or warning level.
24025         * page/inspector/SourceFrame.js:
24026         (WebInspector.SourceFrame.prototype.addMessage): Don't add the
24027         message if there is no message or valid line or if the msg
24028         isn't an error or warning.
24030 2008-08-14  Jan Michael Alonzo  <jmalonzo@webkit.org>
24032         partial Gtk build fix, not reviewed
24034         * platform/graphics/cairo/PatternCairo.cpp:
24036 2008-08-13  Sam Weinig  <sam@webkit.org>
24038         Reviewed by Anders Carlsson.
24040         Fix style issue.
24042         * html/HTMLMediaElement.cpp:
24043         (WebCore::HTMLMediaElement::pickMedia):
24045 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
24047         Build fix for Cairo, not reviewed. (exposed by gtk build slave)
24048         Continue Erics build fixes, after the Image cleanup.
24050         * platform/graphics/cairo/ImageBufferCairo.cpp:
24051         (WebCore::ImageBuffer::image):
24053 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
24055         Build fix for Qt, not reviewed.
24056         Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
24058         * dom/XMLTokenizer.cpp:
24059         (WebCore::eventuallyMarkAsParserCreated): Was erre
24061 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
24063         Build fix, not reviewed.
24064         Add ScriptElement.cpp to Gtk build.
24066         * GNUmakefile.am:
24068 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
24070         Reviewed by Eric.
24072         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
24074         Refactor HTMLScriptElement's code into a common base class: ScriptElement.
24075         SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
24077         This resolves code duplications and allows us to completly replace the old
24078         SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
24080         As ScriptElement, doesn't actually inherit from Element, we may want to rename
24081         it, though StyleElement uses the same naming convention, so I left it as is for now.
24082         Eventually we'll rename both files in future.
24084         No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
24086         * WebCore.pro: Add new ScriptElement.cpp to build.
24087         * WebCore.vcproj/WebCore.vcproj: Ditto.
24088         * WebCore.xcodeproj/project.pbxproj: Ditto.
24089         * WebCoreSources.bkl: Dutto.
24090         * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
24091         (WebCore::ScriptElement::insertedIntoDocument):
24092         (WebCore::ScriptElement::removedFromDocument):
24093         (WebCore::ScriptElement::childrenChanged):
24094         (WebCore::ScriptElement::finishParsingChildren):
24095         (WebCore::ScriptElement::handleSourceAttribute):
24096         (WebCore::isSupportedJavaScriptLanguage):
24097         (WebCore::ScriptElementData::ScriptElementData):
24098         (WebCore::ScriptElementData::~ScriptElementData):
24099         (WebCore::ScriptElementData::requestScript):
24100         (WebCore::ScriptElementData::evaluateScript):
24101         (WebCore::ScriptElementData::stopLoadRequest):
24102         (WebCore::ScriptElementData::notifyFinished):
24103         (WebCore::ScriptElementData::ignoresLoadRequest):
24104         (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
24105         (WebCore::ScriptElementData::scriptCharset):
24106         (WebCore::ScriptElementData::scriptContent):
24107         * dom/ScriptElement.h: Added.
24108         (WebCore::ScriptElement::ScriptElement):
24109         (WebCore::ScriptElement::~ScriptElement):
24110         (WebCore::ScriptElementData::element):
24111         (WebCore::ScriptElementData::createdByParser):
24112         (WebCore::ScriptElementData::setCreatedByParser):
24113         * dom/XMLTokenizer.cpp:
24114         (WebCore::isScriptElement):
24115         (WebCore::castToScriptElement):
24116         (WebCore::eventuallyMarkAsParserCreated):
24117         (WebCore::XMLTokenizer::startElementNs):
24118         (WebCore::XMLTokenizer::endElementNs):
24119         (WebCore::createXHTMLParserErrorHeader):
24120         (WebCore::XMLTokenizer::insertErrorMessageBlock):
24121         * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
24122         (WebCore::HTMLScriptElement::HTMLScriptElement):
24123         (WebCore::HTMLScriptElement::~HTMLScriptElement):
24124         (WebCore::HTMLScriptElement::isURLAttribute):
24125         (WebCore::HTMLScriptElement::setCreatedByParser):
24126         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
24127         (WebCore::HTMLScriptElement::childrenChanged):
24128         (WebCore::HTMLScriptElement::parseMappedAttribute):
24129         (WebCore::HTMLScriptElement::finishParsingChildren):
24130         (WebCore::HTMLScriptElement::insertedIntoDocument):
24131         (WebCore::HTMLScriptElement::removedFromDocument):
24132         (WebCore::HTMLScriptElement::text):
24133         (WebCore::HTMLScriptElement::setText):
24134         (WebCore::HTMLScriptElement::setHtmlFor):
24135         (WebCore::HTMLScriptElement::setEvent):
24136         (WebCore::HTMLScriptElement::charset):
24137         (WebCore::HTMLScriptElement::src):
24138         (WebCore::HTMLScriptElement::type):
24139         (WebCore::HTMLScriptElement::scriptCharset):
24140         (WebCore::HTMLScriptElement::scriptContent):
24141         (WebCore::HTMLScriptElement::sourceAttributeValue):
24142         (WebCore::HTMLScriptElement::charsetAttributeValue):
24143         (WebCore::HTMLScriptElement::typeAttributeValue):
24144         (WebCore::HTMLScriptElement::languageAttributeValue):
24145         (WebCore::HTMLScriptElement::dispatchLoadEvent):
24146         (WebCore::HTMLScriptElement::dispatchErrorEvent):
24147         * html/HTMLScriptElement.h:
24148         * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
24149         * svg/SVGScriptElement.cpp:
24150         (WebCore::SVGScriptElement::SVGScriptElement):
24151         (WebCore::SVGScriptElement::scriptContent):
24152         (WebCore::SVGScriptElement::sourceAttributeValue):
24153         (WebCore::SVGScriptElement::charsetAttributeValue):
24154         (WebCore::SVGScriptElement::typeAttributeValue):
24155         (WebCore::SVGScriptElement::languageAttributeValue):
24156         (WebCore::SVGScriptElement::dispatchLoadEvent):
24157         (WebCore::SVGScriptElement::dispatchErrorEvent):
24158         * svg/SVGScriptElement.h:
24159         (WebCore::SVGScriptElement::setCreatedByParser):
24161 2008-08-13  Eric Seidel  <eric@webkit.org>
24163         Attempt to fix the Gtk build, no review.
24165         I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
24167         * platform/graphics/GraphicsContext.h:
24168         * platform/graphics/cairo/GraphicsContextCairo.cpp:
24169         * platform/graphics/qt/GradientQt.cpp:
24170         * platform/graphics/qt/GraphicsContextQt.cpp:
24171         * platform/gtk/RenderThemeGtk.cpp:
24172         (WebCore::paintMozWidget):
24174 2008-08-13  Eric Seidel  <eric@webkit.org>
24176         Yet another attempt to fix the Qt build, no review.
24178         * platform/graphics/qt/GradientQt.cpp:
24179         * platform/graphics/qt/GraphicsContextQt.cpp:
24180         (WebCore::GraphicsContext::applyStrokePattern):
24181         (WebCore::GraphicsContext::applyFillPattern):
24183 2008-08-13  Eric Seidel  <eric@webkit.org>
24185         Attempt to fix the Windows build, no review.
24187         * platform/win/CursorWin.cpp:
24188         (WebCore::loadCursorByName):
24189         * platform/win/ScrollViewWin.cpp:
24190         (WebCore::ScrollView::paint):
24192 2008-08-13  Eric Seidel  <eric@webkit.org>
24194         Attempt to fix the Windows build, no review.
24196         * platform/win/CursorWin.cpp:
24197         (WebCore::loadCursorByName):
24198         * platform/win/ScrollViewWin.cpp:
24199         (WebCore::ScrollView::paint):
24201 2008-08-13  Eric Seidel  <eric@webkit.org>
24203         Attempt to fix the Qt build, no review.
24205         * platform/graphics/qt/ImageBufferQt.cpp:
24206         (WebCore::ImageBuffer::image):
24208 2008-08-13  Eric Seidel  <eric@webkit.org>
24210         Attempt to fix the Windows build, no review.
24212         * platform/graphics/win/ImageWin.cpp:
24213         (WebCore::Image::loadPlatformResource):
24214         * plugins/win/PluginViewWin.cpp:
24215         (WebCore::PluginView::paintMissingPluginIcon):
24217 2008-08-13  Eric Seidel  <eric@webkit.org>
24219         Another attempt to fix the Qt build, no review.
24221         * platform/graphics/qt/ImageQt.cpp:
24222         * platform/graphics/qt/StillImageQt.h:
24224 2008-08-13  Eric Seidel  <eric@webkit.org>
24226         No review, build fix only.
24228         Fix mac build, due to change in new code since my patch was written.
24230         * svg/graphics/cg/SVGResourceMaskerCg.mm:
24231         (WebCore::SVGResourceMasker::applyMask):
24233 2008-08-13  Eric Seidel  <eric@webkit.org>
24235         Build fix only, no review.
24237         Attempt to fix the Qt build.
24239         * platform/graphics/qt/ImageBufferQt.cpp:
24240         * platform/graphics/qt/StillImageQt.h:
24241         (WebCore::StillImage::create):
24242         (WebCore::StillImage::destroyDecodedData):
24243         (WebCore::StillImage::decodedSize):
24245 2008-08-13  Eric Seidel  <eric@webkit.org>
24247         Build fix only, no review.
24249         Attempt to fix the Qt build.
24251         * html/CanvasStyle.cpp:
24252         (WebCore::CanvasStyle::applyStrokeColor):
24253         (WebCore::CanvasStyle::applyFillColor):
24255 2008-08-13  Eric Seidel  <eric@webkit.org>
24257         Reviewed by Sam.
24259         Match HTML5 spec by throwing INVALID_STATE_ERR when
24260         createPattern is called and the HTMLImageElement is not
24261         yet done loading the image (!isComplete)
24262         https://bugs.webkit.org/show_bug.cgi?id=20351
24264         Test: http/misc/canvas-pattern-from-incremental-image.html
24266         * html/CanvasRenderingContext2D.cpp:
24267         (WebCore::CanvasRenderingContext2D::createPattern):
24269 2008-08-13  Eric Seidel  <eric@webkit.org>
24271         Reviewed by Niko.
24273         Split out a Pattern class from CanvasPattern
24274         and remove all the Pattern-related #ifdefs
24275         (This will break non-mac platforms!  I will fix them.)
24276         https://bugs.webkit.org/show_bug.cgi?id=20351
24278         * GNUmakefile.am:
24279         * WebCore.pro:
24280         * WebCore.vcproj/WebCore.vcproj:
24281         * WebCore.xcodeproj/project.pbxproj:
24282         * WebCoreSources.bkl:
24283         * html/CanvasPattern.cpp:
24284         (WebCore::CanvasPattern::parseRepetitionType):
24285         (WebCore::CanvasPattern::CanvasPattern):
24286         * html/CanvasPattern.h:
24287         (WebCore::CanvasPattern::create):
24288         (WebCore::CanvasPattern::pattern):
24289         (WebCore::CanvasPattern::originClean):
24290         * html/CanvasRenderingContext2D.cpp:
24291         (WebCore::CanvasRenderingContext2D::createPattern):
24292         (WebCore::CanvasRenderingContext2D::applyStrokePattern):
24293         (WebCore::CanvasRenderingContext2D::applyFillPattern):
24294         * html/CanvasRenderingContext2D.h:
24295         * html/HTMLCanvasElement.cpp:
24296         * html/HTMLCanvasElement.h:
24297         * loader/FrameLoader.cpp:
24298         (WebCore::FrameLoader::createHistoryItem):
24299         * platform/graphics/GraphicsContext.h:
24300         * platform/graphics/cairo/GraphicsContextCairo.cpp:
24301         (WebCore::GraphicsContext::applyStrokePattern):
24302         (WebCore::GraphicsContext::applyFillPattern):
24303         * platform/graphics/cg/GraphicsContextCG.cpp:
24304         (WebCore::GraphicsContext::clipToImageBuffer):
24305         (WebCore::GraphicsContext::applyStrokePattern):
24306         (WebCore::GraphicsContext::applyFillPattern):
24308 2008-08-13  Eric Seidel  <eric@webkit.org>
24310         Reviewed by Niko.
24312         Make Images RefCounted (and clean up callers)
24313         https://bugs.webkit.org/show_bug.cgi?id=20351
24315         * editing/DeleteButtonController.cpp:
24316         (WebCore::DeleteButtonController::createDeletionUI):
24317         * loader/CachedImage.cpp:
24318         (WebCore::CachedImage::CachedImage):
24319         (WebCore::brokenImage):
24320         (WebCore::nullImage):
24321         (WebCore::CachedImage::image):
24322         (WebCore::CachedImage::notifyObservers):
24323         (WebCore::CachedImage::createImage):
24324         * loader/CachedImage.h:
24325         * loader/icon/IconRecord.cpp:
24326         (WebCore::IconRecord::setImageData):
24327         (WebCore::IconRecord::loadImageFromResource):
24328         * loader/icon/IconRecord.h:
24329         * platform/graphics/BitmapImage.h:
24330         (WebCore::BitmapImage::create):
24331         * platform/graphics/GeneratedImage.h:
24332         * platform/graphics/Gradient.cpp:
24333         * platform/graphics/Gradient.h:
24334         * platform/graphics/Image.cpp:
24335         (WebCore::Image::nullImage):
24336         * platform/graphics/Image.h:
24337         * platform/graphics/ImageBuffer.h:
24338         * platform/graphics/cairo/ImageBufferCairo.cpp:
24339         (WebCore::ImageBuffer::image):
24340         * platform/graphics/cg/ImageBufferCG.cpp:
24341         (WebCore::ImageBuffer::image):
24342         (WebCore::ImageBuffer::getImageData):
24343         (WebCore::ImageBuffer::putImageData):
24344         * platform/graphics/cg/PDFDocumentImage.h:
24345         (WebCore::PDFDocumentImage::create):
24346         (WebCore::PDFDocumentImage::destroyDecodedData):
24347         (WebCore::PDFDocumentImage::decodedSize):
24348         * platform/graphics/gtk/ImageGtk.cpp:
24349         (WebCore::Image::loadPlatformResource):
24350         * platform/graphics/mac/ImageMac.mm:
24351         (WebCore::Image::loadPlatformResource):
24352         * rendering/RenderImage.cpp:
24353         * rendering/RenderLayer.cpp:
24354         (WebCore::RenderLayer::paintOverflowControls):
24355         * svg/graphics/SVGImage.cpp:
24356         (WebCore::SVGImage::nativeImageForCurrentFrame):
24357         * svg/graphics/SVGImage.h:
24358         (WebCore::SVGImage::create):
24359         (WebCore::SVGImage::destroyDecodedData):
24360         (WebCore::SVGImage::decodedSize):
24361         (WebCore::SVGImage::frameAtIndex):
24362         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
24363         (WebCore::SVGPaintServerPattern::setup):
24364         * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
24365         (WebCore::SVGResourceMasker::applyMask):
24366         * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
24367         (WebCore::patternCallback):
24368         * svg/graphics/cg/SVGResourceMaskerCg.mm:
24369         (WebCore::SVGResourceMasker::applyMask):
24371 2008-08-13  Eric Seidel  <eric@webkit.org>
24373         Reviewed by Niko.
24375         Remove #ifdefs from CanvasStyle by using platform/Color.h
24376         https://bugs.webkit.org/show_bug.cgi?id=20351
24378         There are some down-sides to this commit.
24379         This commit limits us to 255 levels of grey for calls like:
24380         context.setStrokeStyle(.37, 1.0)
24381         previously CG might have used up to 32bits to store the grey level
24382         Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
24384         Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
24385         to RGBA32 (like all the rest of colors in WebCore), thus:
24386         context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
24387         context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
24389         If this is a problem for Dashboard, we can either roll out this commit
24390         or add a beefier Color abstraction, which can be used internally by GraphicsContext
24391         when keeping state, and then GraphicsContext can grow some additional set* routines
24392         for setting the a grey/float/whatever fill and stroke.
24394         * html/CanvasRenderingContext2D.cpp:
24395         (WebCore::CanvasRenderingContext2D::setFillStyle):
24396         * html/CanvasStyle.cpp:
24397         (WebCore::CanvasStyle::CanvasStyle):
24398         (WebCore::colorWithOverrideAlpha):
24399         (WebCore::CanvasStyle::applyStrokeColor):
24400         (WebCore::CanvasStyle::applyFillColor):
24401         * html/CanvasStyle.h:
24402         * platform/graphics/Color.cpp:
24403         (WebCore::colorFloatToRGBAByte):
24404         (WebCore::makeRGBA32FromFloats):
24405         * platform/graphics/Color.h:
24407 2008-08-13  Eric Carlson  <eric.carlson@apple.com>
24409         Reviewed by Adele Peterson.
24411         Fix for <rdar://problem/6137931>
24412         https://bugs.webkit.org/show_bug.cgi?id=20360
24413         Remove all parameters from the MIME type before checking with the MIME type registry
24415         Tests: media/video-source-type-params.html
24417         * html/HTMLMediaElement.cpp:
24418         (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';' 
24419         to isSupportedMediaMIMEType()
24421 2008-08-13  Beth Dakin  <bdakin@apple.com>
24423         Reviewed by Sam Weinig.
24425         Fix for <rdar://problem/6141345>
24427         This patch refines findString and markAllMatchesForText functions' 
24428         interactions with disconnected frames. They no longer rely on 
24429         knowing where a range is relative to the visible region and work 
24430         with disconnected frames that contain frames.
24432         * editing/Editor.cpp:
24433         (WebCore::Editor::insideVisibleArea): Now returns a bool instead of 
24434         the visiblity enum.
24435         (WebCore::Editor::firstVisibleRange): This now returns the very 
24436         first visible range in the document. It's no longer dependent on 
24437         searching forward.
24438         (WebCore::Editor::lastVisibleRange): This now returns the very last 
24439         visible range in the document. It's no longer dependent on 
24440         searching backwards.
24441         (WebCore::Editor::nextVisibleRange): This returns the next visible 
24442         range in the appropriate direction from the current range.
24443         * editing/Editor.h:
24444         * page/Frame.cpp:
24445         (WebCore::Frame::findString):
24446         (WebCore::Frame::markAllMatchesForText):
24448 2008-08-13  Kevin Ollivier  <kevino@theolliviers.com>
24450         wx build fix for case-sensitive platforms, like Linux.
24452         * WebCoreSources.bkl:
24454 2008-08-13  Marco Barisione  <marco.barisione@collabora.co.uk>
24456         Reviewed by Holger Freyther.
24458         http://bugs.webkit.org/show_bug.cgi?id=16881
24459         [GTK] PlatformScreenGtk is unimplemented
24461         Original patch by Christian Dywan.
24463         * platform/gtk/PlatformScreenGtk.cpp:
24464         (WebCore::screenDepth):
24465         (WebCore::screenDepthPerComponent):
24466         (WebCore::screenIsMonochrome):
24467         (WebCore::screenRect):
24468         (WebCore::screenAvailableRect):
24470 2008-08-13  Jan Michael Alonzo  <jmalonzo@webkit.org>
24472         Reviewed by Holger Freyther.
24474         http://bugs.webkit.org/show_bug.cgi?id=20318
24475         SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
24477         g_idle_add is the same as g_idle_add_full with a priority of
24478         G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
24480         * platform/gtk/SharedTimerGtk.cpp:
24481         (WebCore::setSharedTimerFireTime):
24483 2008-08-13  Timothy Hatcher  <timothy@apple.com>
24485         Changed the InspectorController so it can be notified when the
24486         attached state of the Inspector changes in WebKit.
24488         Reviewed by Kevin McCullough.
24490         * WebCore.base.exp: Updated the symbol for setWindowVisible.
24491         * page/InspectorController.cpp:
24492         (WebCore::InspectorController::setWindowVisible): Added an attached argument,
24493         that defaults to false.Call setAttachedWindow with the attached argument.
24494         (WebCore::InspectorController::setAttachedWindow): Call the script version
24495         of setAttachedWindow.
24496         * page/InspectorController.h:
24497         * page/inspector/inspector.js:
24498         (WebInspector.setAttachedWindow): Set the attached property.
24500 2008-08-12  Timothy Hatcher  <timothy@apple.com>
24502         Added a close button to the Inspector's toolbar when docked.
24504         https://bugs.webkit.org/show_bug.cgi?id=14270
24506         Reviewed by Kevin McCullough.
24508         * page/InspectorController.cpp:
24509         (WebCore::closeWindow): Call InspectorController::closeWindow.
24510         (WebCore::InspectorController::windowScriptObjectAvailable):
24511         Added closeWindow to the script class.
24512         * page/InspectorController.h:
24513         * page/inspector/Images/closeButtons.png: Added.
24514         * page/inspector/inspector.css: Added and changed styles.
24515         * page/inspector/inspector.html: Added the close button.
24516         * page/inspector/inspector.js:
24517         (WebInspector.loaded): Added click event listener to the close button.
24518         (WebInspector.close): Call InspectorController.closeWindow.
24520 2008-08-12  Timothy Hatcher  <timothy@apple.com>
24522         Make the docked Web Inspector resizable. This is the cross platform
24523         portion of the code. Each InspectorClient needs to implement the
24524         real resize code.
24526         https://bugs.webkit.org/show_bug.cgi?id=14282
24528         Reviewed by Kevin McCullough.
24530         * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
24531         * page/InspectorClient.h: Added setAttachedWindowHeight.
24532         * page/InspectorController.cpp:
24533         (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
24534         on the InspectorController.
24535         (WebCore::InspectorController::setAttachedWindowHeight): Call
24536         setAttachedWindowHeight on the client.
24537         (WebCore::InspectorController::windowScriptObjectAvailable):
24538         Added setAttachedWindowHeight to the script class.
24539         * page/InspectorController.h:
24540         * page/inspector/inspector.css: Make the cursor on the toolbar be
24541         row-resize when docked.
24542         * page/inspector/inspector.js:
24543         (WebInspector.loaded): Always add the toolbarDragStart event listener.
24544         (WebInspector.toolbarDragStart): Return early if we are not attached
24545         and not on Leopard. Call WebInspector.elementDragStart.
24546         (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
24547         (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
24548         otherwise call moveByUnrestricted.
24550 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
24552         Reviewed by Holger.
24554         Initialize m_zoomsTextOnly in the Settings constructor.
24556         * page/Settings.cpp:
24557         (WebCore::Settings::Settings):
24559 2008-08-13  Brad Hughes <bhughes@trolltech.com>
24561         Reviewed by Simon.
24563         Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
24565         The latest upgrade of the intel compiler allows us to compile all of
24566         Qt with optimizations enabled (yay!).
24568         * WebCore.pro:
24570 2008-08-13  Prasanth Ullattil  <prasanth.ullattil@trolltech.com>
24572         Reviewed by Simon.
24574         Fix QtWebKit not displaying content on 403 HTTP responses
24576         Just like with 404 responses also display content with 403, as
24577         used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
24579         * platform/network/qt/QNetworkReplyHandler.cpp:
24580         (WebCore::QNetworkReplyHandler::finish):
24582 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
24584         Reviewed by Holger.
24586         Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
24588         Make the formatting of String::format() locale independent through the use of QString::vsprintf.
24590         * platform/text/String.cpp:
24591         (WebCore::String::format):
24593 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
24595         Reviewed by Lars.
24597         Fix QWebFrame::setHtml() not setting the new contents immediately.
24599         Added a setter to the DocumentLoader to toggle the deferred loading of the main
24600         resource when it comes from substitute data.
24602         Disable deferred loading of the main resource when we have valid substitute data,
24603         as used by QWebFrame::setHtml.
24605         * loader/DocumentLoader.h:
24607 2008-08-13  Mark Rowe  <mrowe@apple.com>
24609         Speculative GTK build fix.
24611         * GNUmakefile.am:  Add dependency info for JSSVGElementWrapperFactory.cpp.
24613 2008-08-13  Thiago Macieira  <tjmaciei@trolltech.com>
24615         Reviewed by Simon.
24617         Fix encoding of [ and ] in the host part of the URL
24619         Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
24620         add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
24621         doesn't encode [ and ] when they are found in the host part. That is, the
24622         following URL:
24623         http://[::1]/
24624         is valid and should not be reencoded to:
24625         http://%5b::1%5d/
24627         * platform/qt/KURLQt.cpp:
24628         (WebCore::KURL::operator QUrl):
24630 2008-08-12  Mihnea Ovidenie  <mihnea@adobe.com>
24632         Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
24633         Broken HTML object elements cause de-reference of pointer to freed memory.
24634         If we fail to load an image for an object tag and we no longer believe the object tag points at
24635         an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
24636         fall back content.
24638         Reviewed by Dave Hyatt and Alexey Proskuryakov.
24640         Test: http/tests/misc/object-image-error-with-onload.html
24642         * html/HTMLObjectElement.cpp:
24643         (WebCore::HTMLObjectElement::renderFallbackContent):
24644         * page/Frame.cpp:
24645         (WebCore::Frame::Frame):
24647 2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
24649         Reviewed by Dave.
24650     
24651         Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
24652         Masks are translated, and the mask images are swapped on the y-axis.
24654         Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
24655         is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
24657         Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
24658         the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
24660         * svg/graphics/cg/SVGResourceMaskerCg.mm:
24661         (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
24663 2008-08-12  Dan Bernstein  <mitz@apple.com>
24665         - WebCore part of <rdar://problem/6121636>
24666           Make fast*alloc() abort() on failure and add "try" variants that
24667           return NULL on failure.
24669         Reviewed by Darin Adler.
24671         * platform/Arena.cpp:
24672         (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
24673         result.
24674         * platform/graphics/cg/ImageBufferCG.cpp:
24675         (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
24677 2008-08-12  Dan Bernstein  <mitz@apple.com>
24679         Reviewed by Darin Adler.
24681         - fix https://bugs.webkit.org/show_bug.cgi?id=19348
24682           <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
24684         Test: fast/frames/frameset-style-recalc.html
24686         * html/HTMLFrameSetElement.cpp:
24687         (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
24688         class implementation after marking for layout.
24690 2008-08-12  Dan Bernstein  <mitz@apple.com>
24692         Reviewed by John Sullivan.
24694         - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
24696         * WebCore.base.exp:
24697         * page/FrameView.cpp:
24698         (WebCore::FrameViewPrivate::FrameViewPrivate):
24699         (WebCore::FrameView::shouldUpdateWhileHidden):
24700         (WebCore::FrameView::setShouldUpdateWhileHidden):
24701         * page/FrameView.h:
24702         * page/Settings.cpp:
24703         * page/Settings.h:
24705 2008-08-12  Adam Roben  <aroben@apple.com>
24707         Windows build fix
24709         * bindings/js/JSSVGPODTypeWrapper.h: Align
24710         JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
24711         members on 16-byte boundaries to avoid an alignment warning.
24713 2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
24715         Reviewed by Oliver.
24717         Add new dynamice-update layout tests covering SVGMarkerElement.
24718         Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
24719         Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
24721         Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
24722                svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
24723                svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
24724                svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
24725                svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
24726                svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
24727                svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
24728                svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
24729                svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
24730                svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
24731                svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
24732                svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
24733                svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
24734                svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
24735                svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
24737         * svg/SVGMarkerElement.cpp:
24738         (WebCore::SVGMarkerElement::SVGMarkerElement):
24739         (WebCore::SVGMarkerElement::parseMappedAttribute):
24740         (WebCore::SVGMarkerElement::svgAttributeChanged):
24741         (WebCore::SVGMarkerElement::childrenChanged):
24742         (WebCore::SVGMarkerElement::setOrientToAuto):
24743         (WebCore::SVGMarkerElement::setOrientToAngle):
24744         (WebCore::SVGMarkerElement::canvasResource):
24746 2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
24748         Reviewed by Oliver.
24750         Add new dynamic-update layout tests covering SVGImageElement.
24751         Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
24753         Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
24754                svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
24755                svg/dynamic-updates/SVGImageElement-dom-width-attr.html
24756                svg/dynamic-updates/SVGImageElement-dom-x-attr.html
24757                svg/dynamic-updates/SVGImageElement-dom-y-attr.html
24758                svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
24759                svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
24760                svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
24761                svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
24762                svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
24764         * svg/SVGImageElement.cpp:
24765         (WebCore::SVGImageElement::svgAttributeChanged):
24767 2008-08-11  Anthony Ricaud  <rik24d@gmail.com>
24769         Changed Option/Alt-Up or Down in CSS editing when the value is
24770         near zero to jump to the next integer.
24772         Reviewed by Tim Hatcher.
24774         https://bugs.webkit.org/show_bug.cgi?id=20326
24776         * page/inspector/StylesSidebarPane.js:
24778 2008-08-11  Anthony Ricaud  <rik24d@gmail.com>
24780         Changed the line highlight transition for an easier animation.
24782         Reviewed by Tim Hatcher.
24784         * page/inspector/SourceFrame.js:
24786 2008-08-11  Keishi Hattori  <casey.hattori@gmail.com>
24788         Added support for some Firebug Command Line APIs.
24790         Reviewed by Tim Hatcher.
24792         https://bugs.webkit.org/show_bug.cgi?id=19867
24793         https://bugs.webkit.org/show_bug.cgi?id=19868
24794         https://bugs.webkit.org/show_bug.cgi?id=19869
24795         https://bugs.webkit.org/show_bug.cgi?id=19875
24796         https://bugs.webkit.org/show_bug.cgi?id=19876
24797         https://bugs.webkit.org/show_bug.cgi?id=19880
24799         * page/inspector/Console.js:
24800         (WebInspector.Console.prototype._evalInInspectedWindow):
24801         Create an object on the inspected window that holds the console
24802         command line API functions. This object is used in a with statement
24803         around the typed expression.
24805 2008-08-11  Nikolas Zimmermann  <zimmermann@kde.org>
24807         Reviewed by Antti.
24809         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
24811         JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
24812         failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
24814         Added tests: svg/custom/svg-modify-currentTranslate.html
24815                      svg/custom/tearoffs-with-tearoffs.html
24816                      svg/custom/immutable-properties.html
24818         Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
24820         * bindings/js/JSSVGPODTypeWrapper.h:
24821         (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
24822         (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
24823         (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
24824         (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
24825         (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
24826         (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
24827         (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
24828         (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
24829         * bindings/scripts/CodeGenerator.pm:
24830         * bindings/scripts/CodeGeneratorJS.pm:
24831         * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
24832         * svg/SVGZoomEvent.idl:  SVG specification explicitely demands these attributes to be readonly, even its content.
24834 2008-08-11  Brady Eidson  <beidson@apple.com>
24836         Reviewed by John and Anders
24838         Fix for <rdar://problem/6141797>
24840         When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
24841         would never have nil data.
24843         When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
24844         semantics with some WebKit applications.
24846         The guarantee was a good one and should be restored.
24848         Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
24849         creates an empty data object in the case of null data for its own purposes.
24851         * loader/SubstituteResource.h:
24852         (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null.  This
24853           well help any future subclassers not make this mistake.
24855         * loader/archive/ArchiveResource.cpp:
24856         (WebCore::ArchiveResource::create): Return 0 if the data is null.
24858 2008-08-11  Simon Fraser  <simon.fraser@apple.com>
24860         Reviewed by Dave Hyatt
24862         https://bugs.webkit.org/show_bug.cgi?id=20328
24863         Fix a problem when an 'all' transition transition with more than
24864         one property changing is interrupted, and did some AnimationController
24865         cleanup.
24867         Test: transitions/interrupted-all-transition.html
24869         * page/AnimationController.cpp:
24870         (WebCore::ImplicitAnimation::ImplicitAnimation):
24871         (WebCore::AnimationControllerPrivate::blendProperties):
24872         (WebCore::CompositeAnimation::updateTransitions):
24873         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
24874         (WebCore::CompositeAnimation::setTransitionStartTime):
24875         (WebCore::CompositeAnimation::overrideImplicitAnimations):
24876         (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
24877         (WebCore::ImplicitAnimation::animate):
24878         (WebCore::ImplicitAnimation::onAnimationEnd):
24879         (WebCore::ImplicitAnimation::sendTransitionEvent):
24880         (WebCore::ImplicitAnimation::affectsProperty):
24881         (WebCore::KeyframeAnimation::endAnimation):
24882         (WebCore::KeyframeAnimation::onAnimationEnd):
24884 2008-08-11  Kevin McCullough  <kmccullough@apple.com>
24886         Reviewed by Tim.
24888         - Because console messages have group levels now, newly created messages
24889         that do not specify the level lose their message since the number of
24890         arguments is wrong.
24892         * page/inspector/Console.js:
24893         * page/inspector/Resource.js:
24895 2008-08-11  Alp Toker  <alp@nuanti.com>
24897         Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
24898         the opportunity to sort the sources lists.
24900         * GNUmakefile.am:
24902 2008-08-11  Timothy Hatcher  <timothy@apple.com>
24904         Speed up the the JavaScript syntax highlighter by generating
24905         the finders only once per script instead of per line.
24907         https://bugs.webkit.org/show_bug.cgi?id=20346
24909         Reviewed by Adam Roben.
24911         * page/inspector/SourceFrame.js:
24912         (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
24913         Removed, factored into syntaxHighlightJavascript as an inline function.
24914         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
24915         Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
24916         Generate the finders before iterating the lines.
24918 2008-08-11  Adam Roben  <aroben@apple.com>
24920         Windows build fix
24922         * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
24923         JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
24924         too.
24926 2008-08-11  Dan Bernstein  <mitz@apple.com>
24928         Reviewed by Darin Adler.
24930         - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
24932         Test: fast/css/counters/invalidate-cached-counter-node.html
24934         * rendering/RenderContainer.cpp:
24935         (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
24936         RenderCounters in :before and :after content.
24937         * rendering/RenderContainer.h:
24938         * rendering/RenderCounter.cpp:
24939         (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
24940         to match the RenderObject method.
24941         (WebCore::RenderCounter::invalidate): Added. Resets the cached
24942         CounterNode and invalidates the object's layout and preferred widths.
24943         (WebCore::destroyCounterNodeChildren): Added a call to
24944         invalidateCounters().
24945         * rendering/RenderCounter.h:
24946         * rendering/RenderObject.h:
24947         (WebCore::RenderObject::invalidateCounters):
24949 2008-08-11  Dean Jackson  <dino@apple.com>
24951         Implement CSS Animation and Transition Events
24952         https://bugs.webkit.org/show_bug.cgi?id=20337
24954         Implement the events defined in the CSS Animations
24955         and Transitions specifications so code can react
24956         to animations and transitions.
24958         Reviewed by Tim Hatcher and Dave Hyatt.
24960         * DerivedSources.make:
24961         * GNUmakefile.am:
24962         * WebCore.pro:
24963         * WebCore.vcproj/WebCore.vcproj:
24964         * WebCore.xcodeproj/project.pbxproj:
24965         * WebCoreSources.bkl:
24966             Build configs for new files
24968         * bindings/js/JSDOMWindowBase.cpp:
24969         * bindings/js/JSDOMWindowBase.h:
24970         * bindings/js/JSEventCustom.cpp:
24971         * dom/Document.h:
24972         * dom/Event.cpp:
24973         * dom/Event.h:
24974         * dom/EventTarget.cpp:
24975         * dom/EventTargetNode.cpp:
24976         * dom/EventTargetNode.h:
24977         * html/HTMLElement.cpp:
24978         * page/AnimationController.cpp:
24979             do all the new event stuff
24980             
24981         * html/HTMLAttributeNames.in:
24982             the onwebkitanimation* and onwebkittransitionend attrs
24984         * dom/WebKitAnimationEvent.cpp: Added.
24985         * dom/WebKitAnimationEvent.h: Added.
24986         * dom/WebKitAnimationEvent.idl: Added.
24987         * dom/WebKitTransitionEvent.cpp: Added.
24988         * dom/WebKitTransitionEvent.h: Added.
24989         * dom/WebKitTransitionEvent.idl: Added.
24990             New files for the events
24992         * manual-tests/transition-events.html: Added.
24993             New testfile
24995 2008-08-11  Adam Roben  <aroben@apple.com>
24997         Add a ForwardingHeader for wtf/NotFound.h
24999         Rubberstamped by Darin Adler.
25001         * ForwardingHeaders/wtf/NotFound.h: Added.
25003 2008-08-11  Timothy Hatcher  <timothy@apple.com>
25005         Fixes a bug where error bubbles in JavaScript resources would
25006         be clobbered by the syntax highlighter.
25008         https://bugs.webkit.org/show_bug.cgi?id=20345
25010         Reviewed by Adam Roben.
25012         * manual-tests/inspector/resources/script-error.js: Added.
25013         * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
25014         * page/inspector/SourceFrame.js:
25015         (WebInspector.SourceFrame.prototype._addMessageToSource):
25016         Check the nodeType and not the nodeName, this is less fragile.
25017         (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
25018         Check if the lastChild is an error bubble, if so remove it before
25019         getting the line's textContent. Add the error bubble back at the end.
25021 == Rolled over to ChangeLog-2008-08-10 ==