2008-11-04 Jan Michael Alonzo <jmalonzo@webkit.org>
[webkit/qt.git] / WebCore / ChangeLog
bloba57578247b01b9982e650806a05916aee767c481
1 2008-11-04  Jan Michael Alonzo  <jmalonzo@webkit.org>
3         Build fix. Not reviewed.
5         * platform/graphics/FloatPoint.h: include math.h.
6         reported by zdobersek in #webkit.
8 2008-11-04  Darin Fisher  <darin@chromium.org>
9  
10         Reviewed by Anders Carlsson.
12         No need to clobber all ResourceRequest fields in FrameLoader::reload()
13         https://bugs.webkit.org/show_bug.cgi?id=21949
15         * loader/FrameLoader.cpp:
16         (WebCore::FrameLoader::reload):
18 2008-11-04  Darin Adler  <darin@apple.com>
20         Reviewed by Tim Hatcher.
22         * storage/Database.cpp:
23         (WebCore::databaseVersionKey): Tweaked formatting.
25 2008-11-03  Darin Adler  <darin@apple.com>
27         Reviewed by Tim Hatcher.
29         - https://bugs.webkit.org/show_bug.cgi?id=22061
30           create script to check for exit-time destructors
32         * WebCore.xcodeproj/project.pbxproj: Added a script
33         phase that runs the check-for-exit-time-destructors script.
35         * html/HTMLAttributeNames.in: Removed some unused attribute names.
37         * html/HTMLEmbedElement.cpp:
38         (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
39         sets the write-only m_pluginPage.
40         * html/HTMLEmbedElement.h: Ditto.
42         * platform/mac/CursorMac.mm:
43         (WebCore::leakNamedCursor): Changed to return a Cursor&.
44         (WebCore::pointerCursor): Changed to leak an object to avoid an
45         exit-time destructor.
46         (WebCore::crossCursor): Ditto.
47         (WebCore::handCursor): Ditto.
48         (WebCore::moveCursor): Ditto.
49         (WebCore::verticalTextCursor): Ditto.
50         (WebCore::cellCursor): Ditto.
51         (WebCore::contextMenuCursor): Ditto.
52         (WebCore::aliasCursor): Ditto.
53         (WebCore::zoomInCursor): Ditto.
54         (WebCore::zoomOutCursor): Ditto.
55         (WebCore::copyCursor): Ditto.
56         (WebCore::noneCursor): Ditto.
57         (WebCore::progressCursor): Ditto.
58         (WebCore::noDropCursor): Ditto.
59         (WebCore::notAllowedCursor): Ditto.
60         (WebCore::iBeamCursor): Ditto.
61         (WebCore::waitCursor): Ditto.
62         (WebCore::helpCursor): Ditto.
63         (WebCore::eastResizeCursor): Ditto.
64         (WebCore::northResizeCursor): Ditto.
65         (WebCore::northEastResizeCursor): Ditto.
66         (WebCore::northWestResizeCursor): Ditto.
67         (WebCore::southResizeCursor): Ditto.
68         (WebCore::southEastResizeCursor): Ditto.
69         (WebCore::southWestResizeCursor): Ditto.
70         (WebCore::westResizeCursor): Ditto.
71         (WebCore::northSouthResizeCursor): Ditto.
72         (WebCore::eastWestResizeCursor): Ditto.
73         (WebCore::northEastSouthWestResizeCursor): Ditto.
74         (WebCore::northWestSouthEastResizeCursor): Ditto.
75         (WebCore::columnResizeCursor): Ditto.
76         (WebCore::rowResizeCursor): Ditto.
77         (WebCore::grabCursor): Ditto.
78         (WebCore::grabbingCursor): Ditto.
80         * storage/Database.cpp:
81         (WebCore::guidMutex): Changed to leak an object to avoid an
82         exit-time destructor. Also added a comment explaining why it's
83         thread safe.
84         (WebCore::guidToVersionMap): Ditto.
85         (WebCore::guidToDatabaseMap): Ditto.
86         (WebCore::Database::databaseInfoTableName): Ditto.
87         (WebCore::databaseVersionKey): Ditto.
88         (WebCore::Database::getVersionFromDatabase): Ditto.
89         (WebCore::Database::setVersionInDatabase): Ditto.
90         (WebCore::guidForOriginAndName): Ditto.
91         * storage/DatabaseTracker.cpp:
92         (WebCore::DatabaseTracker::tracker): Ditto.
93         (WebCore::notificationMutex): Ditto.
94         (WebCore::notificationQueue): Ditto.
95         (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
97 2008-11-04  Simon Fraser  <simon.fraser@apple.com>
99         Reviewed by Dave Hyatt
101         https://bugs.webkit.org/show_bug.cgi?id=21941
103         Rename absolutePosition() to localToAbsolute(), and add the ability
104         to optionally take transforms into account (which will eventually be the
105         default behavior).
107         * WebCore.base.exp:
108         * WebCore.xcodeproj/project.pbxproj:
109         * dom/ContainerNode.cpp:
110         (WebCore::ContainerNode::getUpperLeftCorner):
111         (WebCore::ContainerNode::getLowerRightCorner):
112         (WebCore::ContainerNode::getRect):
113         * dom/ContainerNode.h:
114         * dom/MouseRelatedEvent.cpp:
115         (WebCore::MouseRelatedEvent::receivedTarget):
116         * dom/Node.cpp:
117         (WebCore::Node::getRect):
118         * editing/SelectionController.cpp:
119         (WebCore::SelectionController::layout):
120         (WebCore::SelectionController::caretRect):
121         * editing/visible_units.cpp:
122         (WebCore::previousLinePosition):
123         (WebCore::nextLinePosition):
124         * html/HTMLAnchorElement.cpp:
125         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
126         (WebCore::HTMLAnchorElement::defaultEventHandler):
127         * html/HTMLAreaElement.cpp:
128         (WebCore::HTMLAreaElement::getRect):
129         * html/HTMLImageElement.cpp:
130         (WebCore::HTMLImageElement::x):
131         (WebCore::HTMLImageElement::y):
132         * html/HTMLInputElement.cpp:
133         (WebCore::HTMLInputElement::defaultEventHandler):
134         * html/HTMLInputElement.h:
135         * page/AccessibilityRenderObject.cpp:
136         (WebCore::AccessibilityRenderObject::boundingBoxRect):
137         * page/EventHandler.cpp:
138         (WebCore::EventHandler::handleDrag):
139         * platform/graphics/FloatPoint.h:
140         (WebCore::roundedIntPoint):
141         * platform/graphics/IntSize.h:
142         (WebCore::IntSize::expand):
143         * rendering/LayoutState.cpp:
144         (WebCore::LayoutState::LayoutState):
145         * rendering/RenderBlock.cpp:
146         (WebCore::RenderBlock::layoutBlock):
147         (WebCore::RenderBlock::paintObject):
148         (WebCore::RenderBlock::selectionGapRects):
149         (WebCore::RenderBlock::fillBlockSelectionGaps):
150         (WebCore::RenderBlock::nodeAtPoint):
151         (WebCore::RenderBlock::positionForCoordinates):
152         * rendering/RenderBox.cpp:
153         (WebCore::RenderBox::localToAbsolute):
154         (WebCore::RenderBox::computeAbsoluteRepaintRect):
155         (WebCore::RenderBox::caretRect):
156         * rendering/RenderBox.h:
157         (WebCore::RenderBox::relativePositionOffset):
158         * rendering/RenderContainer.cpp:
159         (WebCore::RenderContainer::addLineBoxRects):
160         * rendering/RenderFlow.cpp:
161         (WebCore::RenderFlow::absoluteClippedOverflowRect):
162         (WebCore::RenderFlow::caretRect):
163         (WebCore::RenderFlow::addFocusRingRects):
164         * rendering/RenderLayer.cpp:
165         (WebCore::RenderLayer::updateLayerPosition):
166         (WebCore::RenderLayer::convertToLayerCoords):
167         (WebCore::RenderLayer::addScrolledContentOffset):
168         (WebCore::RenderLayer::subtractScrolledContentOffset):
169         (WebCore::RenderLayer::scrollRectToVisible):
170         * rendering/RenderLayer.h:
171         (WebCore::RenderLayer::scrolledContentOffset):
172         (WebCore::RenderLayer::relativePositionOffset):
173         * rendering/RenderListBox.cpp:
174         (WebCore::RenderListBox::panScroll):
175         (WebCore::RenderListBox::scrollToward):
176         * rendering/RenderListMarker.cpp:
177         (WebCore::RenderListMarker::selectionRect):
178         * rendering/RenderObject.cpp:
179         (WebCore::RenderObject::absoluteBoundingBoxRect):
180         (WebCore::RenderObject::computeAbsoluteRepaintRect):
181         (WebCore::RenderObject::localToAbsolute):
182         (WebCore::RenderObject::addDashboardRegions):
183         (WebCore::RenderObject::absoluteContentBox):
184         (WebCore::RenderObject::absoluteOutlineBox):
185         * rendering/RenderObject.h:
186         (WebCore::RenderObject::localToAbsoluteForContent):
187         * rendering/RenderPart.cpp:
188         (WebCore::RenderPart::updateWidgetPosition):
189         * rendering/RenderReplaced.cpp:
190         (WebCore::RenderReplaced::selectionRect):
191         * rendering/RenderSVGInlineText.cpp:
192         (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
193         * rendering/RenderSVGText.cpp:
194         (WebCore::RenderSVGText::absoluteRects):
195         * rendering/RenderTableCell.cpp:
196         (WebCore::RenderTableCell::localToAbsolute):
197         * rendering/RenderTableCell.h:
198         * rendering/RenderText.cpp:
199         (WebCore::RenderText::addLineBoxRects):
200         (WebCore::RenderText::caretRect):
201         (WebCore::RenderText::selectionRect):
202         * rendering/RenderVideo.cpp:
203         (WebCore::RenderVideo::updatePlayer):
204         * rendering/RenderView.cpp:
205         (WebCore::RenderView::localToAbsolute):
206         * rendering/RenderView.h:
207         * rendering/RenderWidget.cpp:
208         (WebCore::RenderWidget::updateWidgetPosition):
209         * svg/SVGSVGElement.cpp:
210         (WebCore::SVGSVGElement::getScreenCTM):
212 2008-11-03  Yael Aharon  <yael.aharon@nokia.com>
214         Reviewed by Simon Hausmann.
216         Add methods for getting and setting user data on History Item.
217         This change is limited to QT port only. Tests were added in
218         the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
220         Minor change by Simon: made the functions inline and added a missing
221         const.
223         * history/HistoryItem.h:
225 2008-11-01  Alexey Proskuryakov  <ap@webkit.org>
227         Reviewed by Darin Adler.
229         https://bugs.webkit.org/show_bug.cgi?id=22030
230         Make EventNames usable from multiple threads
232         * platform/text/AtomicString.cpp:
233         (WebCore::stringTable):
234         (WebCore::AtomicString::add):
235         (WebCore::AtomicString::remove):
236         (WebCore::AtomicString::find):
237         (WebCore::AtomicString::init):
238         * platform/text/AtomicString.h:
239         Atomic string table is now per-thread. Individual strings cannot be shared between threads,
240         so global AtomicString constants cannot be used from threads other than the main one.
242         * dom/EventNames.cpp:
243         (WebCore::EventNames::EventNames):
244         (WebCore::eventNames):
245         (WebCore::EventNames::init):
246         * dom/EventNames.h:
247         Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
248         eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
249         threads.
251         * WebCore.base.exp:
252         * bindings/js/JSDOMWindowBase.cpp:
253         * bindings/js/JSEventListener.cpp:
254         * bindings/js/ScriptController.cpp:
255         (WebCore::ScriptController::processingUserGesture):
256         * dom/BeforeTextInsertedEvent.cpp:
257         (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
258         * dom/BeforeUnloadEvent.cpp:
259         (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
260         * dom/CharacterData.cpp:
261         (WebCore::CharacterData::dispatchModifiedEvent):
262         * dom/ContainerNode.cpp:
263         (WebCore::dispatchChildInsertionEvents):
264         (WebCore::dispatchChildRemovalEvents):
265         * dom/DedicatedWorker.cpp:
266         (WebCore::DedicatedWorker::dispatchErrorEvent):
267         * dom/Document.cpp:
268         (WebCore::Document::implicitClose):
269         (WebCore::Document::setFocusedNode):
270         (WebCore::Document::addListenerTypeIfNeeded):
271         (WebCore::Document::removeWindowInlineEventListenerForType):
272         (WebCore::Document::addWindowEventListener):
273         (WebCore::Document::removeWindowEventListener):
274         (WebCore::Document::finishedParsing):
275         * dom/EventTargetNode.cpp:
276         (WebCore::EventTargetNode::dispatchGenericEvent):
277         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
278         (WebCore::EventTargetNode::dispatchWindowEvent):
279         (WebCore::EventTargetNode::dispatchUIEvent):
280         (WebCore::EventTargetNode::dispatchSimulatedClick):
281         (WebCore::EventTargetNode::dispatchMouseEvent):
282         (WebCore::EventTargetNode::dispatchFocusEvent):
283         (WebCore::EventTargetNode::dispatchBlurEvent):
284         (WebCore::EventTargetNode::defaultEventHandler):
285         (WebCore::EventTargetNode::on*): (multiple methods)
286         (WebCore::EventTargetNode::setOn*): (multiple methods)
287         * dom/KeyboardEvent.cpp:
288         (WebCore::eventTypeForKeyboardEventType):
289         (WebCore::KeyboardEvent::keyCode):
290         (WebCore::KeyboardEvent::charCode):
291         * dom/MessageEvent.cpp:
292         (WebCore::MessageEvent::MessageEvent):
293         * dom/MessagePort.cpp:
294         (WebCore::MessagePort::dispatchMessages):
295         (WebCore::MessagePort::dispatchCloseEvent):
296         * dom/MouseEvent.cpp:
297         (WebCore::MouseEvent::isDragEvent):
298         (WebCore::MouseEvent::toElement):
299         (WebCore::MouseEvent::fromElement):
300         * dom/OverflowEvent.cpp:
301         (WebCore::OverflowEvent::OverflowEvent):
302         * dom/TextEvent.cpp:
303         (WebCore::TextEvent::TextEvent):
304         * dom/WebKitAnimationEvent.cpp:
305         (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
306         (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
307         (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
308         (WebCore::WebKitAnimationEvent::animationName):
309         (WebCore::WebKitAnimationEvent::elapsedTime):
310         * dom/WebKitTransitionEvent.cpp:
311         (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
312         (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
313         (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
314         (WebCore::WebKitTransitionEvent::propertyName):
315         (WebCore::WebKitTransitionEvent::elapsedTime):
316         * dom/WheelEvent.cpp:
317         (WebCore::WheelEvent::WheelEvent):
318         (WebCore::WheelEvent::initWheelEvent):
319         * dom/XMLTokenizerLibxml2.cpp:
320         * dom/XMLTokenizerQt.cpp:
321         * editing/DeleteButton.cpp:
322         (WebCore::DeleteButton::defaultEventHandler):
323         * editing/EditCommand.cpp:
324         * editing/Editor.cpp:
325         (WebCore::Editor::canDHTMLCut):
326         (WebCore::Editor::canDHTMLCopy):
327         (WebCore::Editor::canDHTMLPaste):
328         (WebCore::Editor::tryDHTMLCopy):
329         (WebCore::Editor::tryDHTMLCut):
330         (WebCore::Editor::tryDHTMLPaste):
331         (WebCore::dispatchEditableContentChangedEvents):
332         * editing/ReplaceSelectionCommand.cpp:
333         (WebCore::ReplacementFragment::ReplacementFragment):
334         * editing/SelectionController.cpp:
335         (WebCore::SelectionController::setFocused):
336         * html/HTMLAnchorElement.cpp:
337         (WebCore::HTMLAnchorElement::defaultEventHandler):
338         * html/HTMLBodyElement.cpp:
339         (WebCore::HTMLBodyElement::parseMappedAttribute):
340         * html/HTMLButtonElement.cpp:
341         (WebCore::HTMLButtonElement::parseMappedAttribute):
342         (WebCore::HTMLButtonElement::defaultEventHandler):
343         * html/HTMLElement.cpp:
344         (WebCore::HTMLElement::parseMappedAttribute):
345         * html/HTMLFormControlElement.cpp:
346         (WebCore::HTMLFormControlElement::onChange):
347         * html/HTMLFormElement.cpp:
348         (WebCore::HTMLFormElement::handleLocalEvents):
349         (WebCore::HTMLFormElement::prepareSubmit):
350         (WebCore::HTMLFormElement::reset):
351         (WebCore::HTMLFormElement::parseMappedAttribute):
352         * html/HTMLFrameElementBase.cpp:
353         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
354         * html/HTMLFrameSetElement.cpp:
355         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
356         * html/HTMLImageElement.cpp:
357         (WebCore::HTMLImageElement::parseMappedAttribute):
358         * html/HTMLImageLoader.cpp:
359         (WebCore::HTMLImageLoader::dispatchLoadEvent):
360         * html/HTMLInputElement.cpp:
361         (WebCore::HTMLInputElement::parseMappedAttribute):
362         (WebCore::HTMLInputElement::setValueFromRenderer):
363         (WebCore::HTMLInputElement::preDispatchEventHandler):
364         (WebCore::HTMLInputElement::postDispatchEventHandler):
365         (WebCore::HTMLInputElement::defaultEventHandler):
366         (WebCore::HTMLInputElement::onSearch):
367         * html/HTMLLabelElement.cpp:
368         (WebCore::HTMLLabelElement::defaultEventHandler):
369         * html/HTMLMediaElement.cpp:
370         (WebCore::HTMLMediaElement::load):
371         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
372         (WebCore::HTMLMediaElement::setReadyState):
373         (WebCore::HTMLMediaElement::progressEventTimerFired):
374         (WebCore::HTMLMediaElement::seek):
375         (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
376         (WebCore::HTMLMediaElement::setPlaybackRate):
377         (WebCore::HTMLMediaElement::play):
378         (WebCore::HTMLMediaElement::pause):
379         (WebCore::HTMLMediaElement::setVolume):
380         (WebCore::HTMLMediaElement::setMuted):
381         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
382         (WebCore::HTMLMediaElement::documentWillBecomeInactive):
383         * html/HTMLObjectElement.cpp:
384         (WebCore::HTMLObjectElement::parseMappedAttribute):
385         * html/HTMLOptionElement.cpp:
386         * html/HTMLScriptElement.cpp:
387         (WebCore::HTMLScriptElement::parseMappedAttribute):
388         (WebCore::HTMLScriptElement::dispatchLoadEvent):
389         (WebCore::HTMLScriptElement::dispatchErrorEvent):
390         * html/HTMLSelectElement.cpp:
391         (WebCore::HTMLSelectElement::parseMappedAttribute):
392         (WebCore::HTMLSelectElement::defaultEventHandler):
393         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
394         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
395         * html/HTMLTextAreaElement.cpp:
396         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
397         (WebCore::HTMLTextAreaElement::defaultEventHandler):
398         * html/HTMLTokenizer.cpp:
399         (WebCore::HTMLTokenizer::notifyFinished):
400         * loader/FrameLoader.cpp:
401         (WebCore::FrameLoader::stopLoading):
402         (WebCore::FrameLoader::canCachePage):
403         * loader/ImageDocument.cpp:
404         (WebCore::ImageEventListener::handleEvent):
405         * loader/ImageLoader.cpp:
406         * loader/MediaDocument.cpp:
407         (WebCore::MediaDocument::defaultEventHandler):
408         * loader/appcache/DOMApplicationCache.cpp:
409         (WebCore::DOMApplicationCache::callCheckingListener):
410         (WebCore::DOMApplicationCache::callErrorListener):
411         (WebCore::DOMApplicationCache::callNoUpdateListener):
412         (WebCore::DOMApplicationCache::callDownloadingListener):
413         (WebCore::DOMApplicationCache::callProgressListener):
414         (WebCore::DOMApplicationCache::callUpdateReadyListener):
415         (WebCore::DOMApplicationCache::callCachedListener):
416         * page/AccessibilityObject.cpp:
417         * page/AccessibilityRenderObject.cpp:
418         (WebCore::AccessibilityRenderObject::mouseButtonListener):
419         * page/ContextMenuController.cpp:
420         (WebCore::ContextMenuController::handleContextMenuEvent):
421         * page/DOMWindow.cpp:
422         (WebCore::DOMWindow::on*): (multiple methods)
423         (WebCore::DOMWindow::setOn*): (multiple methods)
424         * page/EventHandler.cpp:
425         (WebCore::EventHandler::handleMousePressEvent):
426         (WebCore::EventHandler::handleMouseDoubleClickEvent):
427         (WebCore::EventHandler::handleMouseMoveEvent):
428         (WebCore::EventHandler::handleMouseReleaseEvent):
429         (WebCore::EventHandler::updateDragAndDrop):
430         (WebCore::EventHandler::cancelDragAndDrop):
431         (WebCore::EventHandler::performDragAndDrop):
432         (WebCore::EventHandler::updateMouseEventTargetNode):
433         (WebCore::EventHandler::dispatchMouseEvent):
434         (WebCore::EventHandler::sendContextMenuEvent):
435         (WebCore::EventHandler::canMouseDownStartSelect):
436         (WebCore::EventHandler::canMouseDragExtendSelect):
437         (WebCore::EventHandler::defaultKeyboardEventHandler):
438         (WebCore::EventHandler::dragSourceMovedTo):
439         (WebCore::EventHandler::dragSourceEndedAt):
440         (WebCore::EventHandler::handleDrag):
441         (WebCore::EventHandler::handleTextInputEvent):
442         * page/FocusController.cpp:
443         * page/Frame.cpp:
444         (WebCore::Frame::sendResizeEvent):
445         (WebCore::Frame::sendScrollEvent):
446         * page/Page.cpp:
447         (WebCore::networkStateChanged):
448         * page/animation/AnimationBase.cpp:
449         (WebCore::AnimationBase::updateStateMachine):
450         (WebCore::AnimationBase::animationTimerCallbackFired):
451         (WebCore::AnimationBase::primeEventTimers):
452         * page/animation/ImplicitAnimation.cpp:
453         (WebCore::ImplicitAnimation::onAnimationEnd):
454         (WebCore::ImplicitAnimation::sendTransitionEvent):
455         * page/animation/KeyframeAnimation.cpp:
456         (WebCore::KeyframeAnimation::onAnimationStart):
457         (WebCore::KeyframeAnimation::onAnimationIteration):
458         (WebCore::KeyframeAnimation::onAnimationEnd):
459         (WebCore::KeyframeAnimation::sendAnimationEvent):
460         * page/gtk/EventHandlerGtk.cpp:
461         * page/mac/EventHandlerMac.mm:
462         (WebCore::isKeyboardOptionTab):
463         * page/mac/FrameMac.mm:
464         * page/qt/EventHandlerQt.cpp:
465         (WebCore::isKeyboardOptionTab):
466         * plugins/PluginView.cpp:
467         * plugins/gtk/PluginViewGtk.cpp:
468         * plugins/qt/PluginViewQt.cpp:
469         * plugins/win/PluginViewWin.cpp:
470         (WebCore::PluginView::handleKeyboardEvent):
471         (WebCore::PluginView::handleMouseEvent):
472         * rendering/MediaControlElements.cpp:
473         (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
474         (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
475         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
476         (WebCore::MediaControlTimelineElement::defaultEventHandler):
477         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
478         * rendering/RenderFrameSet.cpp:
479         (WebCore::RenderFrameSet::userResize):
480         * rendering/RenderLayer.cpp:
481         (WebCore::RenderLayer::scrollToOffset):
482         * rendering/RenderListBox.cpp:
483         (WebCore::RenderListBox::valueChanged):
484         * rendering/RenderMedia.cpp:
485         (WebCore::RenderMedia::forwardEvent):
486         * rendering/RenderObject.cpp:
487         * rendering/RenderSlider.cpp:
488         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
489         * rendering/RenderTextControl.cpp:
490         (WebCore::RenderTextControl::forwardEvent):
491         (WebCore::RenderTextControl::selectionChanged):
492         * rendering/RenderWidget.cpp:
493         * rendering/TextControlInnerElements.cpp:
494         (WebCore::TextControlInnerTextElement::defaultEventHandler):
495         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
496         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
497         * storage/LocalStorageArea.cpp:
498         (WebCore::LocalStorageArea::dispatchStorageEvent):
499         * storage/SessionStorageArea.cpp:
500         (WebCore::SessionStorageArea::dispatchStorageEvent):
501         * svg/SVGAElement.cpp:
502         (WebCore::SVGAElement::defaultEventHandler):
503         * svg/SVGDocument.cpp:
504         (WebCore::SVGDocument::dispatchZoomEvent):
505         (WebCore::SVGDocument::dispatchScrollEvent):
506         * svg/SVGElement.cpp:
507         (WebCore::SVGElement::parseMappedAttribute):
508         (WebCore::hasLoadListener):
509         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
510         * svg/SVGElementInstance.cpp:
511         (WebCore::SVGElementInstance::on*): (multiple methods)
512         (WebCore::SVGElementInstance::setOn*): (multiple methods)
513         * svg/SVGImageLoader.cpp:
514         (WebCore::SVGImageLoader::dispatchLoadEvent):
515         * svg/SVGSVGElement.cpp:
516         (WebCore::SVGSVGElement::parseMappedAttribute):
517         * svg/SVGScriptElement.cpp:
518         (WebCore::SVGScriptElement::dispatchErrorEvent):
519         * xml/XMLHttpRequest.cpp:
520         (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
521         (WebCore::XMLHttpRequest::dispatchAbortEvent):
522         (WebCore::XMLHttpRequest::dispatchErrorEvent):
523         (WebCore::XMLHttpRequest::dispatchLoadEvent):
524         (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
525         (WebCore::XMLHttpRequest::dispatchProgressEvent):
526         * xml/XMLHttpRequestUpload.cpp:
527         (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
528         (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
529         (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
530         (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
531         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
532         * xml/XPathResult.cpp:
533         (WebCore::XPathResult::XPathResult):
534         (WebCore::XPathResult::~XPathResult):
535         (WebCore::XPathResult::invalidateIteratorState):
536         Access event names via eventNames() function.
538 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
540         Reviewed by Mark Rowe.
542         Delete unused forwarding headers.
544         * ForwardingHeaders/kjs/Activation.h: Removed.
545         * ForwardingHeaders/kjs/Register.h: Removed.
546         * ForwardingHeaders/kjs/RegisterID.h: Removed.
548 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
550         Not reviewed.
552         Fix stupid typo in previous build fix.
554         * bindings/js/JSStorageCustom.cpp:
555         * bindings/scripts/CodeGeneratorJS.pm:
556         * bridge/NP_jsobject.cpp:
558 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
560         Not reviewed.
562         Fix the build for all non-Mac platforms.
564         * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
565         * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
566         * bindings/js/JSStorageCustom.cpp:
567         * bindings/scripts/CodeGeneratorJS.pm:
568         * bridge/NP_jsobject.cpp:
570 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
572         Not reviewed.
574         Fix the wxWindows build.
576         * bridge/c/c_instance.cpp:
578 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
580         Rubber-stamped by Maciej Stachowiak.
582         Move more files into the runtime subdirectory of JavaScriptCore.
584         * ForwardingHeaders/kjs/ArgList.h: Removed.
585         * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
586         * ForwardingHeaders/kjs/ExecState.h: Removed.
587         * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
588         * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
589         * ForwardingHeaders/kjs/JSLock.h: Removed.
590         * ForwardingHeaders/kjs/SymbolTable.h: Removed.
591         * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
592         * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
593         * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
594         * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
595         * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
596         * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
597         * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
598         * bindings/js/GCController.cpp:
599         * bindings/js/JSCustomPositionCallback.cpp:
600         * bindings/js/JSCustomPositionErrorCallback.cpp:
601         * bindings/js/JSCustomSQLStatementCallback.cpp:
602         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
603         * bindings/js/JSCustomSQLTransactionCallback.cpp:
604         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
605         * bindings/js/JSCustomVoidCallback.cpp:
606         * bindings/js/JSCustomXPathNSResolver.cpp:
607         * bindings/js/JSDOMWindowBase.cpp:
608         * bindings/js/JSEventCustom.cpp:
609         * bindings/js/JSEventListener.cpp:
610         * bindings/js/JSNodeFilterCondition.cpp:
611         * bindings/js/ScheduledAction.cpp:
612         * bindings/js/ScriptController.cpp:
613         * bindings/js/ScriptControllerMac.mm:
614         * bindings/objc/WebScriptObject.mm:
615         * bridge/NP_jsobject.cpp:
616         * bridge/c/c_class.cpp:
617         * bridge/c/c_instance.cpp:
618         * bridge/c/c_runtime.cpp:
619         * bridge/c/c_utility.cpp:
620         * bridge/jni/jni_class.cpp:
621         * bridge/jni/jni_instance.cpp:
622         * bridge/jni/jni_jsobject.mm:
623         * bridge/jni/jni_objc.mm:
624         * bridge/jni/jni_runtime.cpp:
625         * bridge/jni/jni_runtime.h:
626         * bridge/jni/jni_utility.cpp:
627         * bridge/npruntime.cpp:
628         * bridge/objc/objc_instance.mm:
629         * bridge/objc/objc_runtime.mm:
630         * bridge/objc/objc_utility.mm:
631         * bridge/runtime.cpp:
632         * dom/Document.cpp:
633         * dom/Node.cpp:
634         * dom/NodeFilter.cpp:
635         * dom/NodeIterator.cpp:
636         * dom/TreeWalker.cpp:
637         * history/CachedPage.cpp:
638         * inspector/InspectorController.cpp:
639         * inspector/JavaScriptCallFrame.cpp:
640         * inspector/JavaScriptCallFrame.h:
641         * inspector/JavaScriptDebugServer.cpp:
642         * inspector/JavaScriptProfileNode.cpp:
643         * loader/FrameLoader.cpp:
644         * loader/icon/IconDatabase.cpp:
645         * page/Console.cpp:
646         * page/Page.cpp:
647         * page/mac/FrameMac.mm:
648         * plugins/PluginView.cpp:
649         * plugins/gtk/PluginViewGtk.cpp:
650         * plugins/qt/PluginViewQt.cpp:
651         * plugins/win/PluginViewWin.cpp:
652         * storage/Database.cpp:
653         * xml/XMLHttpRequest.cpp:
655 2008-11-03  Cameron Zwarich  <zwarich@apple.com>
657         Reviewed by Sam Weinig.
659         Remove the forwarding header for FunctionCallProfile, because it was
660         renamed to ProfileNode in r33466.
662         * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
664 2008-11-03  Simon Fraser  <simon.fraser@apple.com>
666         Reviewed by Dave Hyatt
668         https://bugs.webkit.org/show_bug.cgi?id=22026
670         When computing the bounds of the transparency layer, we need to
671         map the clipRect through the enclosing transform.
672         
673         Test: fast/layers/opacity-transforms.html
675         * rendering/RenderLayer.cpp:
676         (WebCore::transparencyClipBox):
678 2008-11-03  Kevin Decker  <kdecker@apple.com>
680         Reviewed by Anders Carlsson.
682         https://bugs.webkit.org/show_bug.cgi?id=22053
684         Added additional support needed for the NPDrawingModelCoreAnimation drawing model. 
686         * bridge/npapi.h:
688 2008-11-03  Xan Lopez  <xan@gnome.org>
690         Reviewed by Alp Toker.
692         Update parseDataUrl() function in the libsoup http backend with
693         the one from the curl backend which has recent correctness and crash
694         fixes.
696         * platform/network/soup/ResourceHandleSoup.cpp:
697         (WebCore::parseDataUrl):
699 2008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>
701         Reviewed by Alp Toker.
703         https://bugs.webkit.org/show_bug.cgi?id=22041
704         Fix CURL crashes on the test suite
706         Fix segfault with setDefersLoading(). Do not call into curl when we
707         don't have a CURL handle.
709         It is attempted to defer the loading before the load has been
710         started (no curl handle was allocated yet). If that happens then
711         just remember that. ResourceHandleManager::startJob is already taking
712         care of this and in initResourceHandle the the downloading will
713         be paused if needed.
715         Fixes fast/loader/simultaneous-reloads-assert.html
717         * platform/network/curl/ResourceHandleCurl.cpp:
718         (WebCore::ResourceHandle::setDefersLoading):
720 2008-11-03  Holger Hans Peter Freyther  <zecke@selfish.org>
722         Reviewed by Alp Toker.
724         https://bugs.webkit.org/show_bug.cgi?id=22041
725         Fix CURL crashes on the test suite
727         Do not send "no data" to WebCore in parseDataUrl().
729         Fixes assert on fast/tokenizer/image-empty-crash.html
731         * platform/network/curl/ResourceHandleManager.cpp:
732         (WebCore::parseDataUrl):
734 2008-11-02  Xan Lopez  <xan@gnome.org>
736         Reviewed by Holger Freyther.
738         https://bugs.webkit.org/show_bug.cgi?id=22009
739         HTML5 Video with GStreamer pulls gnome-vfs without using it
741         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
742         Remove gnome-vfs include.
744 2008-11-01  Adam Barth  <abarth@webkit.org>
746         Reviewed by Sam Weinig.
748         Be sure to check the final URLs of requested resources to make sure we
749         don't get fooled by HTTP redirects.
751         https://bugs.webkit.org/show_bug.cgi?id=21963
753         Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
754                http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
756         * dom/XMLTokenizerLibxml2.cpp:
757         (WebCore::openFunc):
758         * loader/DocLoader.cpp:
759         (WebCore::DocLoader::canRequest):
760         (WebCore::DocLoader::requestResource):
761         * loader/DocLoader.h:
762         * xml/XSLTProcessor.cpp:
763         (WebCore::docLoaderFunc):
765 2008-11-01  Alexey Proskuryakov  <ap@webkit.org>
767         Reviewed by Darin Adler.
769         https://bugs.webkit.org/show_bug.cgi?id=22001
770         AtomicStringImpl* keys of event listener maps can outlive their strings
772         Test: fast/events/destroyed-atomic-string.html
774         * dom/MessagePort.cpp:
775         (WebCore::MessagePort::addEventListener):
776         (WebCore::MessagePort::removeEventListener):
777         (WebCore::MessagePort::dispatchEvent):
778         * dom/MessagePort.h:
779         * loader/appcache/DOMApplicationCache.cpp:
780         (WebCore::DOMApplicationCache::addEventListener):
781         (WebCore::DOMApplicationCache::removeEventListener):
782         (WebCore::DOMApplicationCache::dispatchEvent):
783         * loader/appcache/DOMApplicationCache.h:
784         * xml/XMLHttpRequest.cpp:
785         (WebCore::XMLHttpRequest::addEventListener):
786         (WebCore::XMLHttpRequest::removeEventListener):
787         (WebCore::XMLHttpRequest::dispatchEvent):
788         * xml/XMLHttpRequest.h:
789         * xml/XMLHttpRequestUpload.cpp:
790         (WebCore::XMLHttpRequestUpload::addEventListener):
791         (WebCore::XMLHttpRequestUpload::removeEventListener):
792         (WebCore::XMLHttpRequestUpload::dispatchEvent):
793         * xml/XMLHttpRequestUpload.h:
794         Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
796 2008-10-31  Alexey Proskuryakov  <ap@webkit.org>
798         Reviewed by Darin Adler.
800         https://bugs.webkit.org/show_bug.cgi?id=21998
801         Use JSDOMGlobalObject in EventListener-related bindings
803         * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
805         * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
806         bindings for inline event handlers.
808         * bindings/js/JSDOMApplicationCacheCustom.cpp:
809         (WebCore::JSDOMApplicationCache::addEventListener):
810         (WebCore::JSDOMApplicationCache::removeEventListener):
811         * bindings/js/JSEventTargetNodeCustom.cpp:
812         (WebCore::JSEventTargetNode::addEventListener):
813         (WebCore::JSEventTargetNode::removeEventListener):
814         * bindings/js/JSMessagePortCustom.cpp:
815         (WebCore::JSMessagePort::removeEventListener):
816         * bindings/js/JSSVGElementInstanceCustom.cpp:
817         (WebCore::JSSVGElementInstance::addEventListener):
818         (WebCore::JSSVGElementInstance::removeEventListener):
819         * bindings/js/JSXMLHttpRequestCustom.cpp:
820         (WebCore::JSXMLHttpRequest::addEventListener):
821         (WebCore::JSXMLHttpRequest::removeEventListener):
822         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
823         (WebCore::JSXMLHttpRequestUpload::addEventListener):
824         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
825         Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
827         * dom/EventTarget.h:
828         * dom/EventTargetNode.cpp:
829         (WebCore::EventTargetNode::scriptExecutionContext):
830         * dom/EventTargetNode.h:
831         * dom/MessagePort.cpp:
832         * dom/MessagePort.h:
833         (WebCore::MessagePort::scriptExecutionContext):
834         * loader/appcache/DOMApplicationCache.cpp:
835         (WebCore::DOMApplicationCache::scriptExecutionContext):
836         * loader/appcache/DOMApplicationCache.h:
837         * svg/SVGElementInstance.cpp:
838         (WebCore::SVGElementInstance::scriptExecutionContext):
839         * svg/SVGElementInstance.h:
840         * xml/XMLHttpRequest.cpp:
841         (WebCore::XMLHttpRequest::scriptExecutionContext):
842         * xml/XMLHttpRequest.h:
843         * xml/XMLHttpRequestUpload.cpp:
844         (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
845         * xml/XMLHttpRequestUpload.h:
846         Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
847         available yet.
849 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
851         Rubber-stamped by Geoff Garen.
853         Rename SourceRange.h to SourceCode.h.
855         * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
856         * ForwardingHeaders/kjs/SourceRange.h: Removed.
857         * bindings/js/StringSourceProvider.h:
858         * bridge/NP_jsobject.cpp:
860 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
862         Reviewed by Darin Adler.
864         Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
865         <https://bugs.webkit.org/show_bug.cgi?id=22019>
867         * WebCore.base.exp:
868         * page/Console.cpp:
869         (WebCore::printToStandardOut):
870         (WebCore::Console::shouldPrintExceptions):
871         (WebCore::Console::setShouldPrintExceptions):
872         * page/Console.h:
874 2008-10-31  Dan Bernstein  <mitz@apple.com>
876         Reviewed by John Sullivan.
878         - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
880         * dom/Document.cpp:
881         (WebCore::Document::cookie): Added checking if cookies are disabled.
882         (WebCore::Document::setCookie): Ditto.
883         * page/Navigator.cpp:
884         (WebCore::Navigator::cookieEnabled): Ditto.
885         * page/Page.cpp:
886         (WebCore::Page::Page): Initialize m_cookieEnabled to true.
887         * page/Page.h:
888         (WebCore::Page::cookieEnabled): Added.
889         (WebCore::Page::setCookieEnabled): Added.
891 2008-10-31  Adele Peterson  <adele@apple.com>
893         Reviewed by Darin Adler.
895         WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
896         https://bugs.webkit.org/show_bug.cgi?id=22008
898         * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon): 
899         Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
900         * platform/graphics/Icon.h: ditto.
901         * platform/graphics/gtk/IconGtk.cpp:
902         (WebCore::Icon::createIconForFile): ditto.
903         (WebCore::Icon::createIconForFiles): ditto.
904         * platform/graphics/mac/IconMac.mm:
905         (WebCore::Icon::createIconForFile): ditto.
906         (WebCore::Icon::createIconForFiles): ditto.
907         * platform/graphics/qt/IconQt.cpp:
908         (WebCore::Icon::createIconForFile): ditto.
909         (WebCore::Icon::createIconForFiles): ditto.
910         * platform/wx/TemporaryLinkStubs.cpp:
911         (Icon::createIconForFile): ditto.
912         (Icon::createIconForFiles): ditto.
913         * platform/graphics/win/IconWin.cpp:
914         (WebCore::Icon::createIconForFile): ditto.
915         (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
917         * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):        
918         Improve icon creation code to match new code in Icon::createIconForFiles
919         
920 2008-10-31  Timothy Hatcher  <timothy@apple.com>
922         Add manual tests that check breakpoints on a blockless body of "for" loops.
924         https://bugs.webkit.org/show_bug.cgi?id=22004
926         Reviewed by Darin Adler.
928         * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
929         * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
931 2008-10-31  Darin Adler  <darin@apple.com>
933         - fix build
935         * platform/win/WCDataObject.cpp: Added missing include of "config.h".
937 2008-10-30  Alexey Proskuryakov  <ap@webkit.org>
939         Reviewed by Darin Adler.
941         https://bugs.webkit.org/show_bug.cgi?id=21970
942         Make MessagePort event dispatch work in workers
944         * bindings/js/JSDOMGlobalObject.cpp:
945         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
946         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
947         (WebCore::JSDOMGlobalObject::findJSEventListener):
948         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
949         (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
950         (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
951         (WebCore::JSDOMGlobalObject::jsEventListeners):
952         (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
953         (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
954         (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
955         (WebCore::JSDOMGlobalObject::setCurrentEvent):
956         (WebCore::JSDOMGlobalObject::currentEvent):
957         (WebCore::toJSDOMGlobalObject):
958         * bindings/js/JSDOMGlobalObject.h:
959         * bindings/js/JSDOMWindowBase.cpp:
960         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
961         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
962         (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
963         * bindings/js/JSDOMWindowBase.h:
964         Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
966         * bindings/js/JSEventListener.cpp:
967         (WebCore::JSAbstractEventListener::handleEvent):
968         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
969         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
970         (WebCore::JSUnprotectedEventListener::globalObject):
971         (WebCore::JSUnprotectedEventListener::clearGlobalObject):
972         (WebCore::JSEventListener::JSEventListener):
973         (WebCore::JSEventListener::~JSEventListener):
974         (WebCore::JSEventListener::globalObject):
975         (WebCore::JSEventListener::clearGlobalObject):
976         (WebCore::JSLazyEventListener::JSLazyEventListener):
977         (WebCore::JSLazyEventListener::parseCode):
978         * bindings/js/JSEventListener.h:
979         (WebCore::JSUnprotectedEventListener::create):
980         (WebCore::JSEventListener::create):
981         (WebCore::JSLazyEventListener::create):
982         Changed to use JSDOMGlobalObject and ScriptExecutionContext.
984         * bindings/js/JSMessagePortCustom.cpp:
985         (WebCore::JSMessagePort::startConversation):
986         (WebCore::JSMessagePort::addEventListener):
987         (WebCore::JSMessagePort::removeEventListener):
988         (WebCore::JSMessagePort::setOnmessage):
989         (WebCore::JSMessagePort::setOnclose):
990         Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
991         such code, and stop using a custom implementation for JSMessagePort inline event handler
992         getters and setters.
994         * dom/Document.cpp:
995         (WebCore::Document::virtualURL):
996         * dom/Document.h:
997         * dom/ScriptExecutionContext.h:
998         Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
999         JSLazyEventListener).
1001 2008-10-31  Cameron Zwarich  <zwarich@apple.com>
1003         Not reviewed.
1005         Speculative wxWindows build fix.
1007         * webcore-base.bkl:
1009 2008-10-30  Mark Rowe  <mrowe@apple.com>
1011         Reviewed by Jon Homeycutt.
1013         Explicitly default to building for only the native architecture in debug and release builds.
1015         * Configurations/DebugRelease.xcconfig:
1017 2008-10-30  Cameron Zwarich  <zwarich@apple.com>
1019         Rubber-stamped by Sam Weinig.
1021         Create a debugger directory in JavaScriptCore and move the relevant
1022         files to it.
1024         * ForwardingHeaders/debugger: Added.
1025         * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
1026         * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
1027         * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
1028         * ForwardingHeaders/kjs/debugger.h: Removed.
1029         * WebCore.pro:
1030         * bindings/js/ScriptController.cpp:
1031         * inspector/JavaScriptCallFrame.cpp:
1032         * inspector/JavaScriptCallFrame.h:
1033         * inspector/JavaScriptDebugServer.cpp:
1034         * inspector/JavaScriptDebugServer.h:
1036 2008-10-30  Tony Chang <tony@chromium.org>
1038         Fix 2 Windows theme bugs:
1039         1) Checkboxes marked readonly were rendered incorrectly
1040         2) If a button has focus and is pressed, it was rendered
1041            as focused rather than pressed.
1043         https://bugs.webkit.org/show_bug.cgi?id=21859
1045         Reviewed by Dave Hyatt.
1047         * rendering/RenderThemeWin.cpp:
1048         (WebCore::RenderThemeWin::determineState):
1049         (WebCore::RenderThemeWin::determineButtonState):
1051 2008-10-30  Benjamin K. Stuhl  <bks24@cornell.edu>
1053         gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
1054         warnings; add some parentheses to disambiguate things. No functional
1055         changes, so no tests.
1057         https://bugs.webkit.org/show_bug.cgi?id=21973
1058         Add parentheses to clean up some gcc warnings
1060         Reviewed by Dan Bernstein.
1062         * platform/graphics/Font.h:
1063         (WebCore::Font::treatAsZeroWidthSpace):
1065 2008-10-30  Aaron Boodman  <aa@chromium.org>
1067         Added an explicit dependency on HashMap.h. It was getting pulled in via
1068         <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
1070         Reviewed by Darin Adler.
1072         * platform/text/PlatformString.h:
1074 2008-10-30  Greg Bolsinga  <bolsinga@apple.com>
1076         Reviewed by Sam Weinig
1078         https://bugs.webkit.org/show_bug.cgi?id=21967
1079         
1080         For some platforms the GeolocationService must be suspended and resumed.
1082         * page/Geolocation.cpp:
1083         (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
1084         (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
1085         (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
1086         (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
1087         * page/Geolocation.h:
1088         (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
1089         * platform/GeolocationService.h:
1090         (WebCore::GeolocationService::suspend): empty implementation
1091         (WebCore::GeolocationService::resume): empty implementation
1093 2008-10-30  Greg Bolsinga  <bolsinga@apple.com>
1095         Reviewed by Sam Weinig
1097         https://bugs.webkit.org/show_bug.cgi?id=21966
1098         
1099         The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
1100         http://dev.w3.org/geo/api/spec-source.html
1102         * page/Geolocation.cpp:
1103         (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
1104         * page/Geoposition.cpp: velocity is now called speed
1105         (WebCore::Geoposition::toString):
1106         * page/Geoposition.h: velocity is now called speed
1107         (WebCore::Geoposition::create):
1108         (WebCore::Geoposition::speed):
1109         (WebCore::Geoposition::Geoposition):
1110         * page/Geoposition.idl: velocity is now called speed
1111         * page/PositionOptions.h: timeout is now unsigned
1112         (WebCore::PositionOptions::create):
1113         (WebCore::PositionOptions::timeout):
1114         (WebCore::PositionOptions::setTimeout):
1115         (WebCore::PositionOptions::PositionOptions):
1116         * page/PositionOptions.idl: timeout is now unsigned long
1118 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
1120         Also handle preserved newlines.
1122         * editing/BreakBlockquoteCommand.cpp:
1123         (WebCore::BreakBlockquoteCommand::doApply):
1125 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
1127         Reviewed by Beth Dakin.
1129         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
1131         * editing/BreakBlockquoteCommand.cpp:
1132         (WebCore::BreakBlockquoteCommand::doApply): 
1133         Don't store the endingSelection() in selection, just call endingSelection() in the few places it's 
1134         needed.  This function is cheap since it just returns a reference to a Selection instead of creating one.
1135         Don't store an affinity.  In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
1136         we now use visiblePos (in order to avoid VisiblePosition creation).
1137         Set pos after we delete the current selection (if there is one), and be consistent about what we set 
1138         pos to.  Before, we upstream()ed it if there was a selection to delete and left it alone otherwise.  In fact...
1139         ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is 
1140         in the first node that we want to move.  This fixes the bug, since it lets code that checks for the case 
1141         where the caret is between text and a br work correctly.
1143 2008-10-30  Yael Aharon  <yael.aharon@nokia.com>
1145         Reviewed by Darin Adler.
1147         Fix the Qt build.
1149         https://bugs.webkit.org/show_bug.cgi?id=21969
1151         * inspector/front-end/WebKit.qrc:
1152         * platform/graphics/qt/ImageBufferQt.cpp:
1153         (WebCore::ImageBufferData::ImageBufferData):
1154         (WebCore::ImageBuffer::ImageBuffer):
1155         (WebCore::ImageBuffer::context):
1156         (WebCore::ImageBuffer::image):
1157         (WebCore::ImageBuffer::toDataURL):
1159 2008-10-30  Justin Garcia  <justin.garcia@apple.com>
1161         Reviewed by Darin Adler.
1163         More preparation for:
1164         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
1166         * editing/BreakBlockquoteCommand.cpp:
1167         (WebCore::BreakBlockquoteCommand::doApply): Added comments.  Don't need to use newStartNode.  If the 
1168         startNode needs to change, change it.  Afterwords, check to make sure that it hasn't left topBlockquote.  
1169         This is slightly stricter than before, where we just made sure that it still had a topBlockquote.  This 
1170         doesn't really fix a bug, since we can't really get into a situation where we move to a different 
1171         topBlockquote, but it simplifies the code.
1173 2008-10-30  Dirk Schulze  <vbs85@gmx.de>
1175         Reviewed by Alp Toker.
1177         https://bugs.webkit.org/show_bug.cgi?id=21883
1178         [CAIRO] globalAlpha has to be stored and restored
1180         Cairo's globalAlpha has to be stored and reloaded on calling
1181         save() and restore(). We use the power of GraphicsContextState for this.
1183         * platform/graphics/GraphicsContextPrivate.h:
1184         (WebCore::GraphicsContextState::GraphicsContextState):
1185         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1186         (WebCore::GraphicsContext::fillPath):
1187         (WebCore::GraphicsContext::strokePath):
1188         (WebCore::GraphicsContext::setAlpha):
1189         (WebCore::GraphicsContext::getAlpha):
1190         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1191         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1193 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
1195         Reviewed by Maciej Stachowiak.
1197         Rename "attachedToEventTargetNode" to "isInline".
1199         Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
1200         XMLHttpRequest, MessagePort et al.
1202         Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
1203         attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
1204         And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
1205         "inlineEventListenerForType", as they work with inline listeners.
1207         * bindings/js/JSDOMApplicationCacheCustom.cpp:
1208         (WebCore::JSDOMApplicationCache::addEventListener):
1209         (WebCore::JSDOMApplicationCache::removeEventListener):
1210         * bindings/js/JSMessagePortCustom.cpp:
1211         (WebCore::JSMessagePort::setOnmessage):
1212         (WebCore::JSMessagePort::setOnclose):
1213         * bindings/js/JSXMLHttpRequestCustom.cpp:
1214         (WebCore::JSXMLHttpRequest::addEventListener):
1215         (WebCore::JSXMLHttpRequest::removeEventListener):
1216         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1217         (WebCore::JSXMLHttpRequestUpload::addEventListener):
1218         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1219         Pass a correct value for this argument - callers used to be confused, because they didn't
1220         consider themselves event target nodes. This doesn't affect behavior however, as the only
1221         difference between inline and non-inline event handlers is that the former treat
1222         "return false" as "event.preventDefault()", which is not important to any of these objects.
1224         * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
1225         Assert that isInline is true instead of checking its value, as the constructor of this class
1226         always sets it to true.
1228         * bindings/js/JSDOMWindowBase.cpp:
1229         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
1230         (WebCore::JSDOMWindowBase::findJSEventListener):
1231         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
1232         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
1233         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
1234         (WebCore::JSDOMWindowBase::jsInlineEventListeners):
1235         (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
1236         * bindings/js/JSDOMWindowBase.h:
1237         * bindings/js/JSEventListener.cpp:
1238         (WebCore::JSAbstractEventListener::handleEvent):
1239         (WebCore::JSAbstractEventListener::isInline):
1240         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
1241         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
1242         (WebCore::JSEventListener::JSEventListener):
1243         (WebCore::JSEventListener::~JSEventListener):
1244         (WebCore::JSLazyEventListener::parseCode):
1245         * bindings/js/JSEventListener.h:
1246         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
1247         (WebCore::JSUnprotectedEventListener::create):
1248         (WebCore::JSEventListener::create):
1249         * bindings/js/ScriptController.cpp:
1250         (WebCore::ScriptController::createInlineEventHandler):
1251         * bindings/js/ScriptController.h:
1252         * dom/Document.cpp:
1253         (WebCore::Document::setWindowInlineEventListenerForType):
1254         (WebCore::Document::windowInlineEventListenerForType):
1255         (WebCore::Document::removeWindowInlineEventListenerForType):
1256         (WebCore::Document::createEventListener):
1257         (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
1258         * dom/Document.h:
1259         * dom/EventListener.h:
1260         (WebCore::EventListener::isInline):
1261         * dom/EventTargetNode.cpp:
1262         (WebCore::EventTargetNode::removeInlineEventListenerForType):
1263         (WebCore::EventTargetNode::setInlineEventListenerForType):
1264         (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
1265         (WebCore::EventTargetNode::inlineEventListenerForType):
1266         (WebCore::EventTargetNode::on*): (many methods)
1267         (WebCore::EventTargetNode::setOn*): (many methods)
1268         * dom/EventTargetNode.h:
1269         * editing/ReplaceSelectionCommand.cpp:
1270         (WebCore::ReplacementFragment::ReplacementFragment):
1271         * html/HTMLBodyElement.cpp:
1272         (WebCore::HTMLBodyElement::parseMappedAttribute):
1273         * html/HTMLButtonElement.cpp:
1274         (WebCore::HTMLButtonElement::parseMappedAttribute):
1275         * html/HTMLElement.cpp:
1276         (WebCore::HTMLElement::parseMappedAttribute):
1277         * html/HTMLFormElement.cpp:
1278         (WebCore::HTMLFormElement::parseMappedAttribute):
1279         * html/HTMLFrameElementBase.cpp:
1280         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
1281         * html/HTMLFrameSetElement.cpp:
1282         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1283         * html/HTMLImageElement.cpp:
1284         (WebCore::HTMLImageElement::parseMappedAttribute):
1285         * html/HTMLInputElement.cpp:
1286         (WebCore::HTMLInputElement::parseMappedAttribute):
1287         * html/HTMLObjectElement.cpp:
1288         (WebCore::HTMLObjectElement::parseMappedAttribute):
1289         * html/HTMLScriptElement.cpp:
1290         (WebCore::HTMLScriptElement::parseMappedAttribute):
1291         * html/HTMLSelectElement.cpp:
1292         (WebCore::HTMLSelectElement::parseMappedAttribute):
1293         * html/HTMLTextAreaElement.cpp:
1294         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
1295         * page/AccessibilityRenderObject.cpp:
1296         (WebCore::AccessibilityRenderObject::mouseButtonListener):
1297         * page/DOMWindow.cpp:
1298         (WebCore::DOMWindow::setInlineEventListenerForType):
1299         (WebCore::DOMWindow::inlineEventListenerForType):
1300         (WebCore::DOMWindow::on*): (many methods)
1301         (WebCore::DOMWindow::setOn*): (many methods)
1302         * page/DOMWindow.h:
1303         * svg/SVGElement.cpp:
1304         (WebCore::SVGElement::parseMappedAttribute):
1305         * svg/SVGElementInstance.cpp:
1306         (WebCore::SVGElementInstance::on*): (many methods)
1307         (WebCore::SVGElementInstance::setOn*): (many methods)
1308         * svg/SVGSVGElement.cpp:
1309         (WebCore::SVGSVGElement::parseMappedAttribute):
1310         Rename things, as described above.
1312 2008-10-29  Gustavo Noronha Silva  <gns@gnome.org>
1314         Reviewed and slightly changed by Holger Freyther.
1316         Added all the files that need to be installed for the Inspector to
1317         work.
1319         * GNUmakefile.am: Invoke the shell to get the files.
1321 2008-10-29  Andrew Scherkus  <scherkus@chromium.org>
1323         Reviewed by Darin Adler
1325         Add MediaPlayerPrivateChromium to MediaPlayer
1326         https://bugs.webkit.org/show_bug.cgi?id=21930
1328         * platform/graphics/MediaPlayer.cpp:
1330 2008-10-29  Justin Garcia  <justin.garcia@apple.com>
1332         Reviewed by Darin Adler.
1334         Some preparation for:
1335         <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
1336         
1337         Added an early return to avoid a level of if-nesting.  No other changes.  We probably don't
1338         need to rebalance whitespace before the early return but for now don't risk any change in behavior
1339         I'll revisit that later.
1341         * editing/BreakBlockquoteCommand.cpp:
1342         (WebCore::BreakBlockquoteCommand::doApply):
1344 2008-10-29  Kevin Ollivier  <kevino@theolliviers.com>
1346         wx build fixes after addition of runtime and ImageBuffer changes.
1347         
1348         * platform/graphics/wx/ImageBufferData.h: Added.
1349         * platform/graphics/wx/ImageBufferWx.cpp:
1350         (WebCore::ImageBufferData::ImageBufferData):
1351         (WebCore::ImageBuffer::ImageBuffer):
1352         (WebCore::ImageBuffer::context):
1353         * webcore-base.bkl:
1355 2008-10-29  Brett Wilson  <brettw@chromium.org>
1357         Reviewed by Darin Adler
1358         https://bugs.webkit.org/attachment.cgi?id=24745
1360         Allow Skia implementations to get text style changed notifications.
1362         * platform/graphics/GraphicsContext.cpp:
1364 2008-10-29  Timothy Hatcher  <timothy@apple.com>
1366         Add a manual test that checks breakpoints on a blockless body of
1367         an "else" statement.
1369         https://bugs.webkit.org/show_bug.cgi?id=21944
1371         Reviewed by Maciej Stachowiak.
1373         * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
1375 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
1377         Reviewed by Darin Adler.
1379         https://bugs.webkit.org/show_bug.cgi?id=21921
1380         MessagePort messages are dispatched to documents that are not fully active
1382         Covered by corrected fast/events/message-port-inactive-document.html
1384         * bindings/js/JSEventListener.cpp:
1385         (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
1386         that are not fully active.
1388 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
1390         Reviewed by Sam Weinig.
1392         https://bugs.webkit.org/show_bug.cgi?id=21922
1393         Expose MessagePort global constructor
1395         Covered by existing dumper tests.
1397         * dom/MessagePort.idl:
1398         * page/DOMWindow.idl:
1400 2008-10-29  Alexey Proskuryakov  <ap@webkit.org>
1402         Reviewed by Darin Adler.
1404         https://bugs.webkit.org/show_bug.cgi?id=21924
1405         HashTable internal index is not always deleted
1407         * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
1408         Call deleteTable for HashTables that are being deleted.
1410 2008-10-28  Alexey Proskuryakov  <ap@webkit.org>
1412         Reviewed by Darin Adler.
1414         https://bugs.webkit.org/show_bug.cgi?id=21923
1415         Create an abstraction for script execution context
1417         * GNUmakefile.am:
1418         * WebCore.pro:
1419         * WebCore.vcproj/WebCore.vcproj:
1420         * WebCore.xcodeproj/project.pbxproj:
1421         * WebCoreSources.bkl:
1422         Added ScriptExecutionContext.{h,cpp}.
1424         * bindings/js/JSAudioConstructor.cpp:
1425         (WebCore::JSAudioConstructor::JSAudioConstructor):
1426         * bindings/js/JSAudioConstructor.h:
1427         * bindings/js/JSImageConstructor.cpp:
1428         (WebCore::JSImageConstructor::JSImageConstructor):
1429         * bindings/js/JSImageConstructor.h:
1430         * bindings/js/JSOptionConstructor.cpp:
1431         (WebCore::JSOptionConstructor::JSOptionConstructor):
1432         * bindings/js/JSOptionConstructor.h:
1433         * bindings/js/JSXMLHttpRequestConstructor.cpp:
1434         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
1435         * bindings/js/JSXMLHttpRequestConstructor.h:
1436         Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
1437         Since these objects can only work within documents now, it is immediately converted back
1438         to Document.
1440         * bindings/js/JSMessageChannelConstructor.cpp:
1441         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
1442         (WebCore::JSMessageChannelConstructor::construct):
1443         * bindings/js/JSMessageChannelConstructor.h:
1444         (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
1445         MessageChannel needs to be supported in workers right away, so the constructor operates with
1446         it directly.
1448         * dom/ActiveDOMObject.cpp:
1449         (WebCore::ActiveDOMObject::ActiveDOMObject):
1450         (WebCore::ActiveDOMObject::~ActiveDOMObject):
1451         (WebCore::ActiveDOMObject::contextDestroyed):
1452         * dom/ActiveDOMObject.h:
1453         (WebCore::ActiveDOMObject::scriptExecutionContext):
1454         * bindings/js/JSDOMBinding.cpp:
1455         (WebCore::markActiveObjectsForContext):
1456         (WebCore::markCrossHeapDependentObjectsForContext):
1457         Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
1458         tracking is handled by ScriptExecutionContext.
1460         * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
1462         * bindings/js/JSDOMGlobalObject.h:
1463         (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
1464         Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
1465         to worker context implementation.
1466         (WebCore::scriptExecutionContext): Added a pure virtual method to access
1467         ScriptExecutionContext, implemented by subclasses.
1469         * bindings/js/JSDOMWindowBase.h:
1470         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
1471         Implement by returning the associated document. Note that this method currently gives bogus
1472         results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
1473         that is currently in the frame, not the one associated with this window.
1475         * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
1477         * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
1478         Call markActiveObjectsForContext() by its new name.
1480         * dom/DedicatedWorker.cpp:
1481         (WebCore::DedicatedWorker::DedicatedWorker):
1482         (WebCore::DedicatedWorker::document):
1483         * dom/DedicatedWorker.h:
1484         * xml/XMLHttpRequest.cpp:
1485         (WebCore::XMLHttpRequest::document):
1486         * xml/XMLHttpRequest.h:
1487         Added a document() function that upcasts ScriptExecutionContext, as these objects only work
1488         within documents currently (at least for XMLHttpRequest, this will change soon though).
1490         * dom/Document.cpp:
1491         (WebCore::Document::Document):
1492         (WebCore::Document::~Document):
1493         Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
1494         with workers.
1495         
1496         * dom/Document.h:
1497         (WebCore::Document::isDocument):
1498         (WebCore::Document::refScriptExecutionContext):
1499         (WebCore::Document::derefScriptExecutionContext):
1500         Inherit from ScriptExecutionContext.
1502         * dom/MessageChannel.cpp:
1503         (WebCore::MessageChannel::MessageChannel):
1504         * dom/MessageChannel.h:
1505         (WebCore::MessageChannel::create):
1506         Use ScriptExecutionContext instead of Document.
1508         * dom/MessagePort.cpp:
1509         (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
1510         MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
1511         unrelated issue that was causing random crashes in layout tests).
1512         (WebCore::MessagePort::MessagePort):
1513         (WebCore::MessagePort::~MessagePort):
1514         (WebCore::MessagePort::associatedFrame):
1515         (WebCore::MessagePort::clone):
1516         (WebCore::MessagePort::postMessage):
1517         (WebCore::MessagePort::startConversation):
1518         (WebCore::MessagePort::start):
1519         (WebCore::MessagePort::contextDestroyed):
1520         (WebCore::MessagePort::dispatchMessages):
1521         * dom/MessagePort.h:
1522         (WebCore::MessagePort::create):
1523         (WebCore::MessagePort::scriptExecutionContext):
1524         Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
1525         work in worker contexts - we need to also make some its method thread safe for cross-thread
1526         messaging, and make event dispatching thread safe.
1528         * dom/ScriptExecutionContext.cpp: Added.
1529         * dom/ScriptExecutionContext.h: Added.
1530         ActiveDOMObject and MessagePort tracking is moved from Document.
1531         It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
1532         but as I'm just moving Document code, and it is Document that is the main context object
1533         in our implementation currently.
1534         Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
1535         seem non-trivial to fix, and isn't really a part of this task.
1537 2008-10-28  Alp Toker  <alp@nuanti.com>
1539         List newly-added ImageBufferData.h in build system.
1541         * GNUmakefile.am:
1543 2008-10-28  Alp Toker  <alp@nuanti.com>
1545         Reviewed by Cameron Zwarich.
1547         De-list unused WebCore ForwardingHeaders to fix the dist target.
1549         * GNUmakefile.am:
1551 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
1553         Not reviewed.
1555         Attempt to fix the Windows build by generating Forwardingheaders for the
1556         runtime directory in JavaScriptCore.
1558         * WebCore.vcproj/WebCore.vcproj:
1560 2008-10-28  Justin Garcia  <justin.garcia@apple.com>
1562         Reviewed by Darin Adler.
1564         <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
1566         * editing/Editor.cpp:
1567         (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
1568         (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which 
1569         will probably require a change more complicated than just marking the learned word as 
1570         misspelled.  I'll address it with a separate patch.
1571         * editing/EditorCommand.cpp:
1572         (WebCore::executeIgnoreSpelling): Added.
1573         (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
1575 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
1577         Reviewed by Mark Rowe.
1579         Move ForwardingHeaders to their correct location after the creation of
1580         the runtime directory in JavaScriptCore.
1582         * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
1583         * ForwardingHeaders/kjs/BooleanObject.h: Removed.
1584         * ForwardingHeaders/kjs/CallData.h: Removed.
1585         * ForwardingHeaders/kjs/ConstructData.h: Removed.
1586         * ForwardingHeaders/kjs/DateInstance.h: Removed.
1587         * ForwardingHeaders/kjs/Error.h: Removed.
1588         * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
1589         * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
1590         * ForwardingHeaders/kjs/InternalFunction.h: Removed.
1591         * ForwardingHeaders/kjs/JSArray.h: Removed.
1592         * ForwardingHeaders/kjs/JSFunction.h: Removed.
1593         * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
1594         * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
1595         * ForwardingHeaders/kjs/JSObject.h: Removed.
1596         * ForwardingHeaders/kjs/JSString.h: Removed.
1597         * ForwardingHeaders/kjs/JSValue.h: Removed.
1598         * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
1599         * ForwardingHeaders/kjs/PropertyMap.h: Removed.
1600         * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
1601         * ForwardingHeaders/kjs/StringObject.h: Removed.
1602         * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
1603         * ForwardingHeaders/kjs/StringPrototype.h: Removed.
1604         * ForwardingHeaders/kjs/StructureID.h: Removed.
1605         * ForwardingHeaders/runtime: Added.
1606         * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
1607         * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
1608         * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
1609         * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
1610         * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
1611         * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
1612         * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
1613         * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
1614         * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
1615         * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
1616         * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
1617         * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
1618         * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
1619         * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
1620         * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
1621         * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
1622         * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
1623         * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
1624         * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
1625         * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
1626         * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
1627         * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
1628         * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
1629         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1630         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1631         * bindings/js/JSClipboardCustom.cpp:
1632         * bindings/js/JSConsoleCustom.cpp:
1633         * bindings/js/JSCustomPositionCallback.h:
1634         * bindings/js/JSCustomPositionErrorCallback.h:
1635         * bindings/js/JSCustomSQLStatementCallback.h:
1636         * bindings/js/JSCustomSQLStatementErrorCallback.h:
1637         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
1638         * bindings/js/JSCustomVoidCallback.h:
1639         * bindings/js/JSCustomXPathNSResolver.h:
1640         * bindings/js/JSDOMBinding.cpp:
1641         * bindings/js/JSDOMBinding.h:
1642         * bindings/js/JSDOMGlobalObject.h:
1643         * bindings/js/JSDOMWindowBase.cpp:
1644         * bindings/js/JSDOMWindowCustom.cpp:
1645         * bindings/js/JSDOMWindowShell.cpp:
1646         * bindings/js/JSDatabaseCustom.cpp:
1647         * bindings/js/JSEventListener.cpp:
1648         * bindings/js/JSEventTarget.h:
1649         * bindings/js/JSHTMLDocumentCustom.cpp:
1650         * bindings/js/JSHistoryCustom.cpp:
1651         * bindings/js/JSInspectedObjectWrapper.cpp:
1652         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1653         * bindings/js/JSLocationCustom.cpp:
1654         * bindings/js/JSNodeFilterCondition.h:
1655         * bindings/js/JSQuarantinedObjectWrapper.cpp:
1656         * bindings/js/JSQuarantinedObjectWrapper.h:
1657         * bindings/js/JSXMLHttpRequestCustom.cpp:
1658         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1659         * bindings/objc/WebScriptObject.mm:
1660         * bindings/objc/WebScriptObjectPrivate.h:
1661         * bindings/scripts/CodeGeneratorJS.pm:
1662         * bridge/NP_jsobject.cpp:
1663         * bridge/c/c_instance.cpp:
1664         * bridge/c/c_utility.cpp:
1665         * bridge/c/c_utility.h:
1666         * bridge/jni/jni_instance.cpp:
1667         * bridge/jni/jni_jsobject.h:
1668         * bridge/jni/jni_jsobject.mm:
1669         * bridge/jni/jni_runtime.cpp:
1670         * bridge/jni/jni_utility.cpp:
1671         * bridge/jni/jni_utility.h:
1672         * bridge/objc/objc_instance.mm:
1673         * bridge/objc/objc_runtime.h:
1674         * bridge/objc/objc_runtime.mm:
1675         * bridge/objc/objc_utility.h:
1676         * bridge/objc/objc_utility.mm:
1677         * bridge/runtime.h:
1678         * bridge/runtime_array.cpp:
1679         * bridge/runtime_array.h:
1680         * bridge/runtime_method.cpp:
1681         * bridge/runtime_method.h:
1682         * bridge/runtime_object.cpp:
1683         * bridge/runtime_object.h:
1684         * bridge/runtime_root.cpp:
1685         * inspector/JavaScriptCallFrame.cpp:
1686         * inspector/JavaScriptProfile.cpp:
1687         * inspector/JavaScriptProfile.h:
1688         * inspector/JavaScriptProfileNode.cpp:
1689         * inspector/JavaScriptProfileNode.h:
1690         * loader/FrameLoader.cpp:
1691         * page/Console.cpp:
1692         * plugins/PluginView.cpp:
1693         * plugins/gtk/PluginViewGtk.cpp:
1694         * plugins/qt/PluginViewQt.cpp:
1695         * plugins/win/PluginViewWin.cpp:
1697 2008-10-28  Adele Peterson  <adele@apple.com>
1699         Windows build fix.  This removes Cairo include directories from non-Cairbo build configurations.
1701         * WebCore.vcproj/WebCore.vcproj:
1703 2008-10-28  Adele Peterson  <adele@apple.com>
1705         Windows build fix.
1707         * platform/graphics/ImageBuffer.h:
1708         (WebCore::ImageBuffer::create):
1710 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
1712         Not reviewed.
1714         Roll out a mistaken attempt at fixing the GTK build in r37947.
1716         * GNUmakefile.am:
1718 2008-10-28  Adele Peterson  <adele@apple.com>
1720         Reviewed by John Sullivan.
1722         Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
1723         "files" string for multifile uploads needs to be localized
1725         * page/mac/WebCoreViewFactory.h:
1726         * platform/LocalizedStrings.h:
1727         * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
1728         * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
1729         * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
1730         * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
1731         * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
1732         * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
1734 2008-10-28  Brett Wilson  <brettw@chromium.org>
1736         Reviewed by Darin Adler.
1738         https://bugs.webkit.org/show_bug.cgi?id=21816
1740         Remove platform ifdefs in ImageBuffer.h by moving platform specific code
1741         into a new PlatformImageBuffer class. Move the static create function
1742         into the header because it can be cross-platform. Initialization now
1743         happens in the cunstructor which sets a flag that create uses to know
1744         whether it should return null or not. I also made passing of IntSize
1745         more consistent (always by reference).
1747         This change also changes the ifdefs in GraphicsContext to allow Skia
1748         ports to implement text drawing modes.
1750         * platform/graphics/ImageBuffer.h:
1751         (WebCore::ImageBuffer::create):
1752         (WebCore::ImageBuffer::size):
1753         * platform/graphics/cairo/ImageBufferCairo.cpp:
1754         (WebCore::ImageBufferData::ImageBufferData):
1755         (WebCore::ImageBuffer::ImageBuffer):
1756         (WebCore::ImageBuffer::~ImageBuffer):
1757         (WebCore::ImageBuffer::image):
1758         (WebCore::ImageBuffer::getImageData):
1759         (WebCore::ImageBuffer::putImageData):
1760         * platform/graphics/cairo/ImageBufferData.h:
1761         * platform/graphics/cg/ImageBufferCG.cpp:
1762         (WebCore::ImageBufferData::ImageBufferData):
1763         (WebCore::ImageBuffer::ImageBuffer):
1764         (WebCore::ImageBuffer::~ImageBuffer):
1765         (WebCore::ImageBuffer::getImageData):
1766         (WebCore::ImageBuffer::putImageData):
1767         * platform/graphics/cg/ImageBufferData.h:
1768         * platform/graphics/qt/ImageBufferData.h:
1769         * platform/graphics/qt/ImageBufferQt.cpp:
1770         (WebCore::ImageBufferData::ImageBufferData):
1771         (WebCore::ImageBuffer::ImageBuffer):
1772         (WebCore::ImageBuffer::~ImageBuffer):
1774 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
1776         Not reviewed.
1778         Fix the GTK build.
1780         * GNUmakefile.am:
1782 2008-10-28  Cameron Zwarich  <zwarich@apple.com>
1784         Not reviewed.
1786         Another Qt build fix.
1788         * WebCore.pro:
1790 2008-10-28  Greg Bolsinga  <bolsinga@apple.com>
1792         Reviewed by David Kilzer.
1794         https://bugs.webkit.org/show_bug.cgi?id=21932
1795         Add non-pointer constant lookups to SoftLinking.h
1797         * platform/mac/SoftLinking.h:
1799 2008-10-28  Greg Bolsinga  <bolsinga@apple.com>
1801         Reviewed by David Kilzer.
1803         https://bugs.webkit.org/show_bug.cgi?id=2192
1804         Missing semi-colons in Geoposition.idl
1806         * page/Geoposition.idl: Add missing semi-colons
1808 2008-10-28  Timothy Hatcher  <timothy@apple.com>
1810         Make the Profiles panel in the Web Inspector have an enable screen.
1811         Profiling now needs to be enabled before console.profile() works.
1813         <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
1814         not slow down JavaScript all the time
1816         Reviewed by Darin Adler and Kevin McCullough.
1818         * English.lproj/localizedStrings.js: New strings.
1819         * WebCore.base.exp: New and changed exports.
1820         * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
1821         * bindings/js/JSDOMWindowBase.cpp:
1822         (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
1823         * inspector/InspectorController.cpp:
1824         (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
1825         Timer to call InspectorController::startUserInitiatedProfiling.
1826         (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
1827         that calls InspectorController::startUserInitiatedProfiling.
1828         (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
1829         and enable the profiler if the profiler was not enabled.
1830         (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
1831         (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
1832         if the skipRecompile argument is false. Call the profilerWasEnabled script function.
1833         (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
1834         Call the profilerWasEnabled script function.
1835         (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
1836         so it won't be started later.
1837         * inspector/InspectorController.h:
1838         (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
1839         * inspector/front-end/Images/debuggingButtons.png: Remove.
1840         * inspector/front-end/Images/enableButtons.png: Added.
1841         * inspector/front-end/Images/profilesSilhouette.png: Added.
1842         * inspector/front-end/Images/scriptsSilhouette.png: Added.
1843         * inspector/front-end/PanelEnablerView.js: Added.
1844         (WebInspector.PanelEnablerView):
1845         (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
1846         event so listeners can do their thing.
1847         (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
1848         * inspector/front-end/ProfilesPanel.js:
1849         (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
1850         (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
1851         (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
1852         (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
1853         (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
1854         (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
1855         (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
1856         show/hide other buttons. Also show/hide the PanelEnablerView.
1857         (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
1858         (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
1859         disableProfiler or enableProfiler.
1860         * inspector/front-end/ScriptsPanel.js:
1861         (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
1862         debuggingButton with the enableToggleButton.
1863         (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
1864         the enableToggleButton.
1865         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
1866         when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
1867         with the enableToggleButton.
1868         (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
1869         (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
1870         since reset is called from debuggerWasEnabled and debuggerWasDisabled.
1871         * inspector/front-end/View.js: Inherit from WebInspector.Object.
1872         * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
1873         * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
1874         * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
1875         * inspector/front-end/inspector.js:
1876         (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
1877         (WebInspector.profilerWasDisabled): Ditto.
1878         * page/Console.cpp:
1879         (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
1880         (WebCore::Console::info): Ditto.
1881         (WebCore::Console::log): Ditto.
1882         (WebCore::Console::assertCondition): Ditto.
1883         (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
1884         (WebCore::Console::count): Ditto.
1885         (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
1886         (WebCore::Console::profileEnd): Ditto.
1887         (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
1888         * page/Settings.cpp:
1889         (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
1890         (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
1891         Now just sets the member boolean.
1892         * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
1894 2008-10-28  Timothy Hatcher  <timothy@apple.com>
1896         Rename a few methods related to attaching and detaching the debugger. Also
1897         adds stub methods for enabling and disabling the profiler.
1899         * Rename attachDebugger to enableDebugger.
1900         * Rename detachDebugger to disableDebugger.
1901         * Rename the debuggerAttached getter to debuggerEnabled.
1902         * Rename the debuggerAttached callback to debuggerWasEnabled.
1903         * Rename the debuggerDetached callback to debuggerWasDisabled.
1905         Reviewed by Darin Adler.
1907         * WebCore.base.exp:
1908         * inspector/InspectorController.cpp:
1909         (WebCore::InspectorController::InspectorController):
1910         (WebCore::InspectorController::setWindowVisible):
1911         (WebCore::InspectorController::windowScriptObjectAvailable):
1912         (WebCore::InspectorController::close):
1913         (WebCore::InspectorController::enableProfiler):
1914         (WebCore::InspectorController::disableProfiler):
1915         (WebCore::InspectorController::enableDebugger):
1916         (WebCore::InspectorController::disableDebugger):
1917         (WebCore::InspectorController::pauseInDebugger):
1918         (WebCore::InspectorController::resumeDebugger):
1919         (WebCore::InspectorController::stepOverStatementInDebugger):
1920         (WebCore::InspectorController::stepIntoStatementInDebugger):
1921         (WebCore::InspectorController::stepOutOfFunctionInDebugger):
1922         * inspector/InspectorController.h:
1923         (WebCore::InspectorController::profilerEnabled):
1924         (WebCore::InspectorController::debuggerEnabled):
1925         * inspector/front-end/BreakpointsSidebarPane.js:
1926         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
1927         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
1928         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
1929         * inspector/front-end/Object.js:
1930         * inspector/front-end/ProfilesPanel.js:
1931         (WebInspector.ProfilesPanel):
1932         * inspector/front-end/ScriptsPanel.js:
1933         (WebInspector.ScriptsPanel):
1934         (WebInspector.ScriptsPanel.prototype.get statusBarItems):
1935         (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
1936         (WebInspector.ScriptsPanel.prototype.debuggerWasDetached):
1937         (WebInspector.ScriptsPanel.prototype.reset):
1938         (WebInspector.ScriptsPanel.prototype.canShowResource):
1939         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
1940         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
1941         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1942         * inspector/front-end/View.js:
1943         * inspector/front-end/inspector.css:
1944         * inspector/front-end/inspector.html:
1945         * inspector/front-end/inspector.js:
1946         (WebInspector.addResource):
1947         (WebInspector.debuggerWasEnabled):
1948         (WebInspector.debuggerWasDisabled):
1950 2008-10-28  Timothy Hatcher  <timothy@apple.com>
1952         Fix an exception when searching the Resources panel while there
1953         and resources queued to be added to the list.
1955         Reviewed by Kevin McCullough.
1957         * inspector/front-end/ResourcesPanel.js:
1958         (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check
1959         the _resourcesTreeElement property.
1960         (WebInspector.ResourcesPanel.prototype.performSearch): Ditto.
1962 2008-10-28  Alp Toker  <alp@nuanti.com>
1964         GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK
1965         isn't defined.
1967         * platform/graphics/gtk/FontGtk.cpp:
1968         (WebCore::getDefaultPangoLayout):
1969         * platform/graphics/gtk/FontPlatformDataPango.cpp:
1971 2008-10-28  Alexey Proskuryakov  <ap@webkit.org>
1973         Reviewed by Darin Adler.
1975         https://bugs.webkit.org/show_bug.cgi?id=21893
1976         Character set is incorrect for external scripts in XHTML pages
1978         <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/
1980         Test: fast/encoding/external-script-charset.xhtml
1982         Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer.
1984         * dom/ScriptElement.h:
1985         * dom/XMLTokenizerLibxml2.cpp:
1986         (WebCore::XMLTokenizer::endElementNs):
1987         * dom/XMLTokenizerQt.cpp:
1988         (WebCore::XMLTokenizer::parseEndElement):
1989         * html/HTMLScriptElement.h:
1990         * svg/SVGScriptElement.cpp:
1991         (WebCore::SVGScriptElement::scriptCharset):
1992         * svg/SVGScriptElement.h:
1994 2008-10-28  Alp Toker  <alp@nuanti.com>
1996         Include copyright license files in the autotools dist target and
1997         exclude unused zlib headers.
1999         Change suggested by Mike Hommey.
2001         * GNUmakefile.am:
2003 2008-10-27  Sam Weinig  <sam@webkit.org>
2005         Reviewed by Maciej Stachowiak.
2007         Clear the window shell when destroying a page to allow documents
2008         which have no way of being reached anymore, to be torn down.
2010         * page/Frame.cpp:
2011         (WebCore::Frame::pageDestroyed):
2013 2008-10-27  Kevin Watters  <kevinwatters@gmail.com>
2015         Reviewed by Kevin Ollivier.
2016         
2017         Update the active state as well as the focused state as both need to be true
2018         for the caret to be drawn.
2019         
2020         https://bugs.webkit.org/show_bug.cgi?id=21900
2022         * WebView.cpp:
2023         (wxWebView::OnSetFocus):
2024         (wxWebView::OnKillFocus):
2026 2008-10-27  Kevin Ollivier  <kevino@theolliviers.com>
2028         wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes.
2030         * webcore-wx.bkl:
2032 2008-10-27  Michael Knaup  <michael.knaup@mac.com>
2034         Reviewed and tweaked by Darin Adler.
2036         - https://bugs.webkit.org/show_bug.cgi?id=8988
2038         Bug 8988: Add support for Mozilla CSS custom cursors.
2039         Added -webkit-grab and -webkit-grabbing cursor suppport
2040         for the Mac, dummy implementations for other platforms.
2042         * css/CSSParser.cpp:
2043         (WebCore::CSSParser::parseValue): Updated since the
2044         -webkit-grabbing cursor is now the last one.
2046         * css/CSSPrimitiveValueMappings.h:
2047         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added
2048         CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2050         * css/CSSValueKeywords.in: Added -webkit-grab and
2051         -webkit-grabbing.
2053         * manual-tests/cursor.html: Added -webkit-zoom-in,
2054         webkit-zoom-out, -webkit-grab, and -webkit-grabbing.
2056         * page/EventHandler.cpp:
2057         (WebCore::EventHandler::selectCursor): Added
2058         CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2060         * platform/Cursor.h: Added grabCursor and grabbingCursor.
2062         * platform/gtk/CursorGtk.cpp:
2063         (WebCore::grabCursor): Added.
2064         (WebCore::grabbingCursor): Added.
2065         * platform/mac/CursorMac.mm:
2066         (WebCore::grabCursor): Added.
2067         (WebCore::grabbingCursor): Added.
2068         * platform/qt/CursorQt.cpp:
2069         (WebCore::grabCursor): Added.
2070         (WebCore::grabbingCursor): Added.
2071         * platform/win/CursorWin.cpp:
2072         (WebCore::grabCursor): Added.
2073         (WebCore::grabbingCursor): Added.
2074         * platform/wx/CursorWx.cpp:
2075         (WebCore::grabCursor): Added.
2076         (WebCore::grabbingCursor): Added.
2078         * rendering/style/RenderStyleConstants.h:
2079         Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2080         Also broke ECursor out into a single constant per line.
2081         Also added a couple of comments.
2083 2008-10-27  Dimitri Glazkov  <dglazkov@chromium.org>
2085         Reviewed by Darin Adler.
2087         * svg/SVGAnimatedTemplate.h: needed a HashMap define
2089 2008-10-21  Eric Seidel  <eric@webkit.org>
2091         Reviewed by Dave Hyatt.
2093         Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
2094         https://bugs.webkit.org/show_bug.cgi?id=20400
2096         Test: svg/custom/stop-crash.svg
2098         * WebCore.xcodeproj/project.pbxproj:
2099         * rendering/RenderSVGGradientStop.h:
2100         (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect):
2102 2008-10-27  Anders Carlsson  <andersca@apple.com>
2104         Reviewed by Sam Weinig.
2106         No need to call release if the connection is null.
2107         
2108         * platform/network/mac/ResourceHandleMac.mm:
2109         (WebCore::ResourceHandle::start):
2111 2008-10-27  Anders Carlsson  <andersca@apple.com>
2113         Reviewed by Kevin Decker.
2115         <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
2116         
2117         Make sure to null check the NSURLConnection object.
2118         
2119         * platform/network/mac/ResourceHandleMac.mm:
2120         (WebCore::ResourceHandle::start):
2121         (WebCore::ResourceHandle::setDefersLoading):
2123 2008-10-27  Alexey Proskuryakov  <ap@webkit.org>
2125         Fix non-Mac builds.
2127         * GNUmakefile.am:
2128         * WebCore.pro:
2129         * WebCore.vcproj/WebCore.vcproj:
2130         * WebCoreSources.bkl:
2131         Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
2133 2008-10-26  Alexey Proskuryakov  <ap@webkit.org>
2135         Reviewed by Sam Weinig.
2137         https://bugs.webkit.org/show_bug.cgi?id=21886
2138         window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
2140         Test: fast/dom/HTMLOptionElement/option-prototype.html
2142         We now have separate objects for window.Option and window.HTMLOptionElement - the latter
2143         "constructor" cannot be used to construct anything. This matches Firefox behavior.
2145         * WebCore.xcodeproj/project.pbxproj:
2146         * bindings/js/JSDOMWindowBase.cpp:
2147         (jsDOMWindowBaseOption):
2148         * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
2149         * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
2150         * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
2151         * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
2152         * html/HTMLOptionElement.idl:
2153         Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
2155         * html/HTMLOptionElement.idl: Generate a constructor.
2157 2008-10-25  Geoffrey Garen  <ggaren@apple.com>
2159         Not reviewed.
2160         
2161         Try to fix Mac debug build on the buildbot.
2163         * platform/FileChooser.cpp:
2164         (WebCore::FileChooserClient::~FileChooserClient):
2165         * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
2166         weak exported symbol.
2168 2008-10-25  Jade Han  <jade.han@nokia.com>
2170         Reviewed by Anders.
2172         Enable custom properties for Qt runtime objects in QtWebKit
2174         https://bugs.webkit.org/show_bug.cgi?id=21813
2176         * bridge/runtime_object.cpp:
2177         (JSC::RuntimeObjectImp::getOwnPropertySlot):
2178         (JSC::RuntimeObjectImp::put):
2180 2008-10-24  Sam Weinig  <sam@webkit.org>
2182         Fix windows build.
2184         * page/Chrome.cpp:
2185         * page/Chrome.h:
2187 2008-10-24  Sam Weinig  <sam@webkit.org>
2189         Fix Qt build.
2191         * platform/qt/FileChooserQt.cpp:
2193 2008-10-24  Sam Weinig  <sam@webkit.org>
2195         Reviewed by Dan Bernstein.
2197         Fix https://bugs.webkit.org/show_bug.cgi?id=21759
2198         Layering violation: FileChooser should not depend on Document/Frame/Page
2200         Move file choosing into WebKit ChromeClient.
2202         * loader/EmptyClients.h:
2203         (WebCore::EmptyChromeClient::runOpenPanel):
2204         * page/Chrome.cpp:
2205         (WebCore::Chrome::runOpenPanel):
2206         * page/Chrome.h:
2207         * page/ChromeClient.h:
2208         * page/mac/ChromeMac.mm:
2209         * platform/FileChooser.h:
2210         * platform/mac/FileChooserMac.mm:
2211         * platform/qt/FileChooserQt.cpp:
2212         * platform/win/FileChooserWin.cpp:
2213         * platform/wx/TemporaryLinkStubs.cpp:
2214         * rendering/RenderFileUploadControl.cpp:
2215         (WebCore::RenderFileUploadControl::click):
2217 2008-10-24  Kevin Ollivier  <kevino@theolliviers.com>
2219         wx build fix - add newIconForFiles stub.
2221         * platform/wx/TemporaryLinkStubs.cpp:
2222         (Icon::newIconForFiles):
2224 2008-10-24  Kevin Watters  <kevinwatters@gmail.com>
2226         Reviewed by Kevin Ollivier.
2228         Use the CGFont metrics APIs for more accurate measurements, and tweak the y
2229         value the text is drawn at (it was a couple pixels off before because wx
2230         internally adds to the y value.
2232         https://bugs.webkit.org/show_bug.cgi?id=21853
2234         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
2235         (wxFontProperties::wxFontProperties):
2236         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
2237         (WebCore::drawTextWithSpacing):
2239 2008-10-24  Eric Seidel  <eric@webkit.org>
2241         Reviewed by Sam Weinig.
2243         Generate missing constructors and add test to prevent missing ones in the future
2244         https://bugs.webkit.org/show_bug.cgi?id=21846
2246         Test: fast/js/global-constructors.html
2248         * css/CSSStyleSheet.idl:
2249         * css/RGBColor.idl:
2250         * dom/NodeIterator.idl:
2251         * dom/TreeWalker.idl:
2252         * xml/XPathExpression.idl:
2254 2008-10-24  Alexey Proskuryakov  <ap@webkit.org>
2256         Reviewed by Darin Adler.
2258         https://bugs.webkit.org/show_bug.cgi?id=21836
2259         REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly
2261         Test: http/tests/xmlhttprequest/detaching-frame.html
2263         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window -
2264         even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected
2265         when dispatching the same callback that results in this function being called.
2267 2008-10-24  David Kilzer  <ddkilzer@apple.com>
2269         Gtk build fix.
2271         * platform/gtk/TemporaryLinkStubs.cpp:
2272         (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
2274 2008-10-24  Mark Rowe  <mrowe@apple.com>
2276         Reviewed by Sam Weinig.
2278         <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.
2280         * platform/graphics/cg/GraphicsContextCG.cpp:
2281         (WebCore::GraphicsContext::setImageInterpolationQuality):
2282         (WebCore::GraphicsContext::imageInterpolationQuality):
2284 2008-10-24  Anders Carlsson  <andersca@apple.com>
2286         Reviewed by Sam Weinig.
2288         <rdar://problem/5440917> Support NPN_Construct
2289                 
2290         * WebCore.NPAPI.exp:
2291         Export _NPN_Construct.
2292         
2293         * bridge/NP_jsobject.cpp:
2294         (_NPN_Construct):
2295         Implement this.
2296         
2297         * bridge/c/c_instance.cpp:
2298         (JSC::Bindings::CInstance::supportsConstruct):
2299         (JSC::Bindings::CInstance::invokeConstruct):
2300         Have this call the appropriate NPClass method.
2301         
2302         * bridge/npruntime.h:
2303         Add NPN_Construct.
2305         * bridge/npruntime_impl.h:
2306         Add _NPN_Construct.
2307         
2308         * bridge/runtime.h:
2309         (JSC::Bindings::Instance::supportsConstruct):
2310         (JSC::Bindings::Instance::invokeConstruct):
2311         New methods.
2312         
2313         * bridge/runtime_object.cpp:
2314         (JSC::callRuntimeConstructor):
2315         Call the native instance.
2316         
2317         (JSC::RuntimeObjectImp::getConstructData):
2318         Implement this.
2319         
2320         * bridge/runtime_object.h:
2321         Add new method declarations.
2322         
2323         * plugins/gtk/PluginPackageGtk.cpp:
2324         (WebCore::PluginPackage::load):
2325         * plugins/qt/PluginPackageQt.cpp:
2326         (WebCore::PluginPackage::load):
2327         * plugins/win/PluginPackageWin.cpp:
2328         (WebCore::PluginPackage::load):
2329         Initialize m_pluginFuncs.construct.
2331 2008-10-24  Adele Peterson  <adele@apple.com>
2333         Build fix.
2335         * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient):
2336         * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles):
2338 2008-10-24  Greg Bolsinga  <bolsinga@apple.com>
2340         Fix GTK build break.
2342         Reviewed by David Kilzer.
2344         * GNUmakefile.am: Do not include .idl files whose generated files should not be
2345         compiled.
2347 2008-10-24  David Kilzer  <ddkilzer@apple.com>
2349         Wx build fix.
2351         * platform/wx/TemporaryLinkStubs.cpp:
2352         (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
2354 2008-10-24  Adele Peterson  <adele@apple.com>
2356         Reviewed by Sam Weinig.
2358         WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
2360         This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used.
2361         This is consistent with the direction HTML5 will be going in the future.
2363         The initial implementation here will show "n files" as the text next to the control when multiple files are selected.  You can view
2364         the individual files in a tooltip for now.  Improvements to this control will come later.  
2366         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.  
2367         These FileList Files can also be sent in an XMLHTTPRequest.
2369         * manual-tests/post-multi-file-upload.html: Added.
2370         * manual-tests/resources/multiFileResources: Added.
2371         * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added.
2372         * manual-tests/resources/multiFileResources/testFile1.html: Added.
2373         * manual-tests/resources/multiFileResources/testFile2.html: Added.
2374         * manual-tests/resources/multiFileResources/testFile3.html: Added.
2376         * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit.
2378         * html/HTMLInputElement.cpp:
2379         (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute.
2380         (WebCore::HTMLInputElement::value): Added comments.  The HTML5 spec says that value shouldn't apply for the file upload control,
2381         but we don't want to break the behavior for existing websites that may rely on this.
2382         (WebCore::HTMLInputElement::setValue): ditto.
2383         (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead.
2384         (WebCore::HTMLInputElement::setFileListFromRenderer): Added. 
2385         * html/HTMLInputElement.h:
2387         * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control.
2389         * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files.
2391         * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer.
2392         (WebCore::FileChooser::FileChooser):
2393         (WebCore::FileChooser::create):
2394         (WebCore::FileChooser::clear):
2395         (WebCore::FileChooser::chooseFile):
2396         (WebCore::FileChooser::chooseFiles):
2397         (WebCore::FileChooser::chooseIcon):
2398         * platform/FileChooser.h:
2399         (WebCore::FileChooser::filePaths):
2400         (WebCore::FileChooser::allowsMultipleFiles):
2402         * platform/graphics/Icon.h:
2403         * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files.
2404         * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out.
2405         * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto.
2406         * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto.
2408         * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):  Updated to deal with new filenames vector.
2409         * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto.
2410         * platform/qt/FileChooserQt.cpp:
2411         (WebCore::FileChooser::openFileChooser):
2412         (WebCore::FileChooser::basenameForWidth):
2413         * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth):
2415         * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle):
2416         Removed unnecessary assertion.  This can get hit when connectionDidFinishLoading and cancel
2417         both get called for the same ResourceHandle.  This getting called twice has no negative effect.
2419         * rendering/RenderFileUploadControl.cpp:
2420         (WebCore::RenderFileUploadControl::valueChanged):  Calls setFileListFromRenderer.
2421         (WebCore::RenderFileUploadControl::allowsMultipleFiles):  Added.
2422         (WebCore::RenderFileUploadControl::updateFromElement):  Uses the new filenames call from FileChooser.
2423         (WebCore::RenderFileUploadControl::receiveDroppedFiles):  Updated to support multiple files.
2424         * rendering/RenderFileUploadControl.h:
2426 2008-10-23  Peter Kasting  <pkasting@google.com>
2428         Reviewed by David Hyatt.
2430         https://bugs.webkit.org/show_bug.cgi?id=21844
2431         Remove setFocusRingColorChangeFunction.
2433         * page/Page.cpp:
2434         (WebCore::Page::Page):
2435         * platform/graphics/Color.h:
2436         * platform/graphics/mac/ColorMac.mm:
2437         (WebCore::focusRingColor):
2438         * platform/graphics/qt/GraphicsContextQt.cpp:
2439         * platform/graphics/win/ColorSafari.cpp:
2441 2008-10-24  David Kilzer  <ddkilzer@apple.com>
2443         Build fix for Qt.
2445         Reviewed by Greg.
2447         * WebCore.pro: Added missing *.idl files.
2449 2008-10-24  Greg Bolsinga  <bolsinga@apple.com>
2451         Reviewed by Sam Weinig.
2453         https://bugs.webkit.org/show_bug.cgi?id=21475
2454         
2455         Provide support for the Geolocation API
2456         
2457         http://dev.w3.org/geo/api/spec-source.html
2459         Test: geolocation/geolocation-not-implemented.html
2461         * DerivedSources.make:
2462         * GNUmakefile.am: Added Geolocation support
2463         * WebCore.pro: Added Geolocation support
2464         * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
2465         * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
2466         * WebCoreSources.bkl: Added Geolocation support
2467         * bindings/js/JSCustomPositionCallback.cpp: Added.
2468         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
2469         (WebCore::JSCustomPositionCallback::handleEvent):
2470         * bindings/js/JSCustomPositionCallback.h: Added.
2471         (WebCore::JSCustomPositionCallback::create):
2472         * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
2473         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
2474         (WebCore::JSCustomPositionErrorCallback::handleEvent):
2475         * bindings/js/JSCustomPositionErrorCallback.h: Added.
2476         (WebCore::JSCustomPositionErrorCallback::create):
2477         * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
2478         (WebCore::markDOMObjectWrapper):
2479         * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
2480         * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
2481         * bindings/js/JSGeolocationCustom.cpp: Added.
2482         (WebCore::JSGeolocation::getCurrentPosition):
2483         (WebCore::JSGeolocation::watchPosition):
2484         * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
2485         (WebCore::JSNavigator::mark):
2486         * dom/Document.cpp:
2487         (WebCore::Document::Document):
2488         * dom/Document.h:
2489         (WebCore::Document::setUsingGeolocation):
2490         (WebCore::Document::usingGeolocation):
2491         * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
2492         (WebCore::FrameLoader::canCachePage):
2493         * page/Geolocation.cpp: Added.
2494         (WebCore::Geolocation::GeoNotifier::GeoNotifier):
2495         (WebCore::Geolocation::GeoNotifier::timerFired):
2496         (WebCore::Geolocation::Geolocation):
2497         (WebCore::Geolocation::disconnectFrame):
2498         (WebCore::Geolocation::getCurrentPosition):
2499         (WebCore::Geolocation::watchPosition):
2500         (WebCore::Geolocation::clearWatch):
2501         (WebCore::Geolocation::stopUpdatingIfEmpty):
2502         (WebCore::Geolocation::sendErrorToOneShots):
2503         (WebCore::Geolocation::sendErrorToWatchers):
2504         (WebCore::Geolocation::sendPositionToOneShots):
2505         (WebCore::Geolocation::sendPositionToWatchers):
2506         (WebCore::Geolocation::handleError):
2507         (WebCore::Geolocation::geolocationServicePositionChanged):
2508         (WebCore::Geolocation::geolocationServiceErrorOccurred):
2509         * page/Geolocation.h: Added.
2510         (WebCore::Geolocation::create):
2511         (WebCore::Geolocation::~Geolocation):
2512         (WebCore::Geolocation::lastPosition):
2513         (WebCore::Geolocation::GeoNotifier::create):
2514         * page/Geolocation.idl: Added.
2515         * page/Geoposition.cpp: Added.
2516         (WebCore::Geoposition::toString):
2517         * page/Geoposition.h: Added.
2518         (WebCore::Geoposition::create):
2519         (WebCore::Geoposition::latitude):
2520         (WebCore::Geoposition::longitude):
2521         (WebCore::Geoposition::altitude):
2522         (WebCore::Geoposition::accuracy):
2523         (WebCore::Geoposition::altitudeAccuracy):
2524         (WebCore::Geoposition::heading):
2525         (WebCore::Geoposition::velocity):
2526         (WebCore::Geoposition::timestamp):
2527         (WebCore::Geoposition::Geoposition):
2528         * page/Geoposition.idl: Added.
2529         * page/Navigator.cpp:
2530         (WebCore::Navigator::disconnectFrame): disconnect Geolocation
2531         (WebCore::Navigator::geolocation): accessor for Geolocation
2532         * page/Navigator.h:
2533         (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
2534         * page/Navigator.idl: accessor for Geolocation
2535         * page/PositionCallback.h: Added.
2536         (WebCore::PositionCallback::~PositionCallback):
2537         * page/PositionCallback.idl: Added.
2538         * page/PositionError.h: Added.
2539         (WebCore::PositionError::):
2540         (WebCore::PositionError::create):
2541         (WebCore::PositionError::code):
2542         (WebCore::PositionError::message):
2543         (WebCore::PositionError::PositionError):
2544         * page/PositionError.idl: Added.
2545         * page/PositionErrorCallback.h: Added.
2546         (WebCore::PositionErrorCallback::~PositionErrorCallback):
2547         * page/PositionErrorCallback.idl: Added.
2548         * page/PositionOptions.h: Added.
2549         (WebCore::PositionOptions::create):
2550         (WebCore::PositionOptions::enableHighAccuracy):
2551         (WebCore::PositionOptions::setEnableHighAccuracy):
2552         (WebCore::PositionOptions::timeout):
2553         (WebCore::PositionOptions::setTimeout):
2554         (WebCore::PositionOptions::PositionOptions):
2555         * page/PositionOptions.idl: Added.
2556         * platform/GeolocationService.cpp: Added.
2557         (WebCore::GeolocationService::GeolocationService):
2558         (WebCore::GeolocationService::positionChanged):
2559         (WebCore::GeolocationService::errorOccurred):
2560         * platform/GeolocationService.h: Added.
2561         (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
2562         (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
2563         (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
2564         (WebCore::GeolocationService::~GeolocationService):
2566 2008-10-24  Simon Fraser  <simon.fraser@apple.com>
2568         Reviewed by Darin Adler
2570         https://bugs.webkit.org/show_bug.cgi?id=21818
2571         
2572         Add HashTraits for AtomicString so that AtomicString can be used as
2573         the key for a HashMap or HashSet.
2575         * GNUmakefile.am: add AtomicStringHash.h
2576         * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h
2577         * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h
2578         * platform/text/AtomicString.h:
2579         (WebCore::AtomicString::AtomicString):
2580         (WebCore::AtomicString::isHashTableDeletedValue):
2581             specialize DefaultHash for AtomicString to use AtomicStringHash
2582         * platform/text/AtomicStringHash.h: Added.
2583         * platform/text/StringImpl.cpp:
2584         (WebCore::StringImpl::StringImpl):
2585             compute the hash up-front for the empty string
2586         * platform/text/StringImpl.h:
2587         (WebCore::StringImpl::existingHash):
2588             method to get the hash without a test and branch, for callers like
2589             AtomicStringHash who can guarantee that the hash has already been computed.
2591 2008-10-24  Simon Fraser  <simon.fraser@apple.com>
2593         Reviewed by Sam Weinig
2595         https://bugs.webkit.org/show_bug.cgi?id=21857
2597         Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the
2598         switch in _wrapCSSRule.
2599         
2600         * bindings/objc/DOMCSS.mm:
2601         (+[DOMCSSRule _wrapCSSRule:WebCore::]):
2603 2008-10-24  Adam Roben  <aroben@apple.com>
2605         Windows build fix
2607         * plugins/PluginView.cpp:
2609 2008-10-24  Dan Bernstein  <mitz@apple.com>
2611         Reviewed by Sam Weinig.
2613         - fix https://bugs.webkit.org/show_bug.cgi?id=21851
2614           <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height
2616         Test: fast/replaced/percent-height-in-anonymous-block-widget.html
2618         * rendering/RenderWidget.cpp:
2619         (WebCore::RenderWidget::destroy): Copied code added to
2620         RenderBox::destroy() in r36513 into this function.
2622 2008-10-24  Timothy Hatcher  <timothy@apple.com>
2624         Add a mechanism to ask the InspectorClient for key/value setting pairs.
2625         These settings can be strings, numbers, booleans or string vectors. The
2626         settings are also bridged to and from JavaScript.
2628         https://bugs.webkit.org/show_bug.cgi?id=21856
2630         Reviewed by Darin Adler.
2632         * WebCore.base.exp: Expose the String CFStringRef constructor.
2633         * inspector/InspectorClient.h:
2634         (WebCore::InspectorClient::populateSetting): Added, pure virtual.
2635         (WebCore::InspectorClient::storeSetting): Ditto.
2636         (WebCore::InspectorClient::removeSetting): Ditto.
2637         * inspector/InspectorController.cpp:
2638         (WebCore::setting): Calls InspectorController::setting and wraps the result in script types.
2639         (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types.
2640         (WebCore::InspectorController::InspectorController): Increment a global static
2641         to track the number of live InspectorControllers.
2642         (WebCore::InspectorController::~InspectorController): Decrement the global static
2643         that tracks the number of live InspectorControllers. Delete the setting cache if there
2644         are no more live controllers.
2645         (WebCore::InspectorController::setting): Check the cache and return the setting from there,
2646         otherwise make a new Setting and ask the client to populate it.
2647         (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it.
2648         (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting
2649         to the InspectorController script class.
2650         * inspector/InspectorController.h:
2651         (WebCore::InspectorController::Setting::Setting):
2652         (WebCore::InspectorController::Setting::operator=):
2653         (WebCore::InspectorController::Setting::type): Return m_type.
2654         (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct.
2655         (WebCore::InspectorController::Setting::stringVector): Return m_stringVector.
2656         Assert the type is correct.
2657         (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double.
2658         Assert the type is correct.
2659         (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer.
2660         Assert the type is correct.
2661         (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean.
2662         Assert the type is correct.
2663         (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right
2664         field and the type.
2665         * loader/EmptyClients.h:
2666         (WebCore::EmptyInspectorClient::populateSetting): Added, empty method.
2667         (WebCore::EmptyInspectorClient::storeSetting): Ditto.
2668         (WebCore::EmptyInspectorClient::removeSetting): Ditto.
2670 2008-10-24  Cameron Zwarich  <zwarich@apple.com>
2672         Reviewed by Sam Weinig.
2674         Remove some C-style casts.
2676         * html/HTMLViewSourceDocument.cpp:
2677         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2679 2008-10-24  Darin Adler  <darin@apple.com>
2681         - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
2683         * bindings/js/JSAttrCustom.cpp:
2684         * bindings/js/JSCSSRuleCustom.cpp:
2685         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2686         * bindings/js/JSCSSValueCustom.cpp:
2687         * bindings/js/JSCanvasPixelArrayCustom.h:
2688         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2689         * bindings/js/JSClipboardCustom.cpp:
2690         * bindings/js/JSConsoleCustom.cpp:
2691         * bindings/js/JSCustomSQLStatementCallback.cpp:
2692         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2693         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2694         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2695         * bindings/js/JSCustomVoidCallback.cpp:
2696         * bindings/js/JSCustomVoidCallback.h:
2697         * bindings/js/JSCustomXPathNSResolver.cpp:
2698         * bindings/js/JSCustomXPathNSResolver.h:
2699         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2700         * bindings/js/JSDOMBinding.cpp:
2701         * bindings/js/JSDOMBinding.h:
2702         * bindings/js/JSDOMWindowBase.cpp:
2703         * bindings/js/JSDOMWindowBase.h:
2704         * bindings/js/JSDOMWindowCustom.cpp:
2705         * bindings/js/JSDOMWindowCustom.h:
2706         * bindings/js/JSDOMWindowShell.cpp:
2707         * bindings/js/JSDOMWindowShell.h:
2708         * bindings/js/JSDatabaseCustom.cpp:
2709         * bindings/js/JSDedicatedWorkerCustom.cpp:
2710         * bindings/js/JSDocumentCustom.cpp:
2711         * bindings/js/JSElementCustom.cpp:
2712         * bindings/js/JSEventCustom.cpp:
2713         * bindings/js/JSEventListener.cpp:
2714         * bindings/js/JSEventTarget.cpp:
2715         * bindings/js/JSEventTarget.h:
2716         * bindings/js/JSEventTargetBase.h:
2717         * bindings/js/JSEventTargetNodeCustom.cpp:
2718         * bindings/js/JSHTMLAllCollection.h:
2719         * bindings/js/JSHTMLAppletElementCustom.cpp:
2720         * bindings/js/JSHTMLCollectionCustom.cpp:
2721         * bindings/js/JSHTMLDocumentCustom.cpp:
2722         * bindings/js/JSHTMLEmbedElementCustom.cpp:
2723         * bindings/js/JSHTMLFormElementCustom.cpp:
2724         * bindings/js/JSHTMLFrameElementCustom.cpp:
2725         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2726         * bindings/js/JSHTMLIFrameElementCustom.cpp:
2727         * bindings/js/JSHTMLInputElementCustom.cpp:
2728         * bindings/js/JSHTMLObjectElementCustom.cpp:
2729         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2730         * bindings/js/JSHTMLSelectElementCustom.cpp:
2731         * bindings/js/JSHTMLSelectElementCustom.h:
2732         * bindings/js/JSHistoryCustom.cpp:
2733         * bindings/js/JSImageDataCustom.cpp:
2734         * bindings/js/JSInspectedObjectWrapper.cpp:
2735         * bindings/js/JSInspectedObjectWrapper.h:
2736         * bindings/js/JSInspectorCallbackWrapper.cpp:
2737         * bindings/js/JSInspectorCallbackWrapper.h:
2738         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2739         * bindings/js/JSLocationCustom.cpp:
2740         * bindings/js/JSMessagePortCustom.cpp:
2741         * bindings/js/JSMimeTypeArrayCustom.cpp:
2742         * bindings/js/JSNamedNodeMapCustom.cpp:
2743         * bindings/js/JSNamedNodesCollection.cpp:
2744         * bindings/js/JSNamedNodesCollection.h:
2745         * bindings/js/JSNavigatorCustom.cpp:
2746         * bindings/js/JSNodeCustom.cpp:
2747         * bindings/js/JSNodeFilterCondition.cpp:
2748         * bindings/js/JSNodeFilterCondition.h:
2749         * bindings/js/JSNodeFilterCustom.cpp:
2750         * bindings/js/JSNodeIteratorCustom.cpp:
2751         * bindings/js/JSNodeListCustom.cpp:
2752         * bindings/js/JSPluginArrayCustom.cpp:
2753         * bindings/js/JSPluginCustom.cpp:
2754         * bindings/js/JSPluginElementFunctions.cpp:
2755         * bindings/js/JSPluginElementFunctions.h:
2756         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2757         * bindings/js/JSQuarantinedObjectWrapper.h:
2758         * bindings/js/JSRGBColor.cpp:
2759         * bindings/js/JSRGBColor.h:
2760         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2761         * bindings/js/JSSQLTransactionCustom.cpp:
2762         * bindings/js/JSSVGElementInstanceCustom.cpp:
2763         * bindings/js/JSSVGLengthCustom.cpp:
2764         * bindings/js/JSSVGMatrixCustom.cpp:
2765         * bindings/js/JSSVGPathSegCustom.cpp:
2766         * bindings/js/JSSVGPathSegListCustom.cpp:
2767         * bindings/js/JSSVGPointListCustom.cpp:
2768         * bindings/js/JSSVGTransformListCustom.cpp:
2769         * bindings/js/JSStorageCustom.cpp:
2770         * bindings/js/JSStyleSheetCustom.cpp:
2771         * bindings/js/JSStyleSheetListCustom.cpp:
2772         * bindings/js/JSTextCustom.cpp:
2773         * bindings/js/JSTreeWalkerCustom.cpp:
2774         * bindings/js/JSXMLHttpRequestCustom.cpp:
2775         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2776         * bindings/js/JSXSLTProcessorCustom.cpp:
2777         * bindings/js/ScheduledAction.cpp:
2778         * bindings/js/ScheduledAction.h:
2779         * bindings/js/ScriptController.cpp:
2780         * bindings/js/ScriptController.h:
2781         * bindings/objc/WebScriptObject.mm:
2782         * bindings/objc/WebScriptObjectPrivate.h:
2783         * bindings/scripts/CodeGeneratorJS.pm:
2784         * bridge/NP_jsobject.cpp:
2785         * bridge/c/c_instance.cpp:
2786         * bridge/c/c_instance.h:
2787         * bridge/c/c_runtime.cpp:
2788         * bridge/c/c_runtime.h:
2789         * bridge/c/c_utility.cpp:
2790         * bridge/c/c_utility.h:
2791         * bridge/jni/jni_instance.cpp:
2792         * bridge/jni/jni_instance.h:
2793         * bridge/jni/jni_jsobject.h:
2794         * bridge/jni/jni_jsobject.mm:
2795         * bridge/jni/jni_objc.mm:
2796         * bridge/jni/jni_runtime.cpp:
2797         * bridge/jni/jni_runtime.h:
2798         * bridge/jni/jni_utility.cpp:
2799         * bridge/jni/jni_utility.h:
2800         * bridge/objc/WebScriptObject.h:
2801         * bridge/objc/objc_class.h:
2802         * bridge/objc/objc_class.mm:
2803         * bridge/objc/objc_instance.h:
2804         * bridge/objc/objc_instance.mm:
2805         * bridge/objc/objc_runtime.h:
2806         * bridge/objc/objc_runtime.mm:
2807         * bridge/objc/objc_utility.h:
2808         * bridge/objc/objc_utility.mm:
2809         * bridge/qt/qt_class.cpp:
2810         * bridge/qt/qt_class.h:
2811         * bridge/qt/qt_instance.cpp:
2812         * bridge/qt/qt_instance.h:
2813         * bridge/qt/qt_runtime.cpp:
2814         * bridge/qt/qt_runtime.h:
2815         * bridge/runtime.cpp:
2816         * bridge/runtime.h:
2817         * bridge/runtime_array.cpp:
2818         * bridge/runtime_array.h:
2819         * bridge/runtime_method.cpp:
2820         * bridge/runtime_method.h:
2821         * bridge/runtime_object.cpp:
2822         * bridge/runtime_object.h:
2823         * bridge/testqtbindings.cpp:
2824         * inspector/JavaScriptCallFrame.cpp:
2825         * inspector/JavaScriptCallFrame.h:
2826         * inspector/JavaScriptProfile.cpp:
2827         * inspector/JavaScriptProfile.h:
2828         * inspector/JavaScriptProfileNode.cpp:
2829         * inspector/JavaScriptProfileNode.h:
2830         * loader/FrameLoader.cpp:
2831         * loader/FrameLoader.h:
2832         * page/Console.cpp:
2833         * page/Console.h:
2834         * plugins/MimeTypeArray.h:
2835         * plugins/Plugin.h:
2836         * plugins/PluginArray.h:
2837         * plugins/PluginView.cpp:
2838         * xml/XMLHttpRequest.cpp:
2839         Use JSValue* instead of JSValuePtr.
2841 2008-10-24  Simon Hausmann  <hausmann@webkit.org>
2843         Fix the Qt build.
2845         * bridge/qt/qt_instance.cpp:
2846         (JSC::Bindings::QtField::valueFromInstance):
2848 2008-10-24  David Kilzer  <ddkilzer@apple.com>
2850         Rolled out r37840 and r37841.
2852         * DerivedSources.make:
2853         * GNUmakefile.am:
2854         * WebCore.pro:
2855         * WebCore.vcproj/WebCore.vcproj:
2856         * WebCore.xcodeproj/project.pbxproj:
2857         * WebCoreSources.bkl:
2858         * bindings/js/JSCustomPositionCallback.cpp: Removed.
2859         * bindings/js/JSCustomPositionCallback.h: Removed.
2860         * bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
2861         * bindings/js/JSCustomPositionErrorCallback.h: Removed.
2862         * bindings/js/JSDOMBinding.cpp:
2863         * bindings/js/JSDOMBinding.h:
2864         * bindings/js/JSDOMWindowCustom.cpp:
2865         (WebCore::markDOMObjectWrapper):
2866         * bindings/js/JSGeolocationCustom.cpp: Removed.
2867         * bindings/js/JSNavigatorCustom.cpp:
2868         * dom/Document.cpp:
2869         (WebCore::Document::Document):
2870         * dom/Document.h:
2871         * loader/FrameLoader.cpp:
2872         (WebCore::FrameLoader::canCachePage):
2873         * page/Geolocation.cpp: Removed.
2874         * page/Geolocation.h: Removed.
2875         * page/Geolocation.idl: Removed.
2876         * page/Geoposition.cpp: Removed.
2877         * page/Geoposition.h: Removed.
2878         * page/Geoposition.idl: Removed.
2879         * page/Navigator.cpp:
2880         (WebCore::Navigator::disconnectFrame):
2881         * page/Navigator.h:
2882         * page/Navigator.idl:
2883         * page/PositionCallback.h: Removed.
2884         * page/PositionCallback.idl: Removed.
2885         * page/PositionError.h: Removed.
2886         * page/PositionError.idl: Removed.
2887         * page/PositionErrorCallback.h: Removed.
2888         * page/PositionErrorCallback.idl: Removed.
2889         * page/PositionOptions.h: Removed.
2890         * page/PositionOptions.idl: Removed.
2891         * platform/GeolocationService.cpp: Removed.
2892         * platform/GeolocationService.h: Removed.
2894 2008-10-23  David Kilzer  <ddkilzer@apple.com>
2896         Attempt to fix GTK build.
2898         * GNUmakefile.am: Added new *.idl files that were missing.
2900 2008-10-23  Greg Bolsinga  <bolsinga@apple.com>
2902         Reviewed by Sam Weinig.
2904         https://bugs.webkit.org/show_bug.cgi?id=21475
2905         
2906         Provide support for the Geolocation API
2907         
2908         http://dev.w3.org/geo/api/spec-source.html
2910         Test: geolocation/geolocation-not-implemented.html
2912         * DerivedSources.make:
2913         * GNUmakefile.am: Added Geolocation support
2914         * WebCore.pro: Added Geolocation support
2915         * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
2916         * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
2917         * WebCoreSources.bkl: Added Geolocation support
2918         * bindings/js/JSCustomPositionCallback.cpp: Added.
2919         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
2920         (WebCore::JSCustomPositionCallback::handleEvent):
2921         * bindings/js/JSCustomPositionCallback.h: Added.
2922         (WebCore::JSCustomPositionCallback::create):
2923         * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
2924         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
2925         (WebCore::JSCustomPositionErrorCallback::handleEvent):
2926         * bindings/js/JSCustomPositionErrorCallback.h: Added.
2927         (WebCore::JSCustomPositionErrorCallback::create):
2928         * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
2929         (WebCore::markDOMObjectWrapper):
2930         * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
2931         * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
2932         * bindings/js/JSGeolocationCustom.cpp: Added.
2933         (WebCore::JSGeolocation::getCurrentPosition):
2934         (WebCore::JSGeolocation::watchPosition):
2935         * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
2936         (WebCore::JSNavigator::mark):
2937         * dom/Document.cpp:
2938         (WebCore::Document::Document):
2939         * dom/Document.h:
2940         (WebCore::Document::setUsingGeolocation):
2941         (WebCore::Document::usingGeolocation):
2942         * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
2943         (WebCore::FrameLoader::canCachePage):
2944         * page/Geolocation.cpp: Added.
2945         (WebCore::Geolocation::GeoNotifier::GeoNotifier):
2946         (WebCore::Geolocation::GeoNotifier::timerFired):
2947         (WebCore::Geolocation::Geolocation):
2948         (WebCore::Geolocation::disconnectFrame):
2949         (WebCore::Geolocation::getCurrentPosition):
2950         (WebCore::Geolocation::watchPosition):
2951         (WebCore::Geolocation::clearWatch):
2952         (WebCore::Geolocation::stopUpdatingIfEmpty):
2953         (WebCore::Geolocation::sendErrorToOneShots):
2954         (WebCore::Geolocation::sendErrorToWatchers):
2955         (WebCore::Geolocation::sendPositionToOneShots):
2956         (WebCore::Geolocation::sendPositionToWatchers):
2957         (WebCore::Geolocation::handleError):
2958         (WebCore::Geolocation::geolocationServicePositionChanged):
2959         (WebCore::Geolocation::geolocationServiceErrorOccurred):
2960         * page/Geolocation.h: Added.
2961         (WebCore::Geolocation::create):
2962         (WebCore::Geolocation::~Geolocation):
2963         (WebCore::Geolocation::lastPosition):
2964         (WebCore::Geolocation::GeoNotifier::create):
2965         * page/Geolocation.idl: Added.
2966         * page/Geoposition.cpp: Added.
2967         (WebCore::Geoposition::toString):
2968         * page/Geoposition.h: Added.
2969         (WebCore::Geoposition::create):
2970         (WebCore::Geoposition::latitude):
2971         (WebCore::Geoposition::longitude):
2972         (WebCore::Geoposition::altitude):
2973         (WebCore::Geoposition::accuracy):
2974         (WebCore::Geoposition::altitudeAccuracy):
2975         (WebCore::Geoposition::heading):
2976         (WebCore::Geoposition::velocity):
2977         (WebCore::Geoposition::timestamp):
2978         (WebCore::Geoposition::Geoposition):
2979         * page/Geoposition.idl: Added.
2980         * page/Navigator.cpp:
2981         (WebCore::Navigator::disconnectFrame): disconnect Geolocation
2982         (WebCore::Navigator::geolocation): accessor for Geolocation
2983         * page/Navigator.h:
2984         (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
2985         * page/Navigator.idl: accessor for Geolocation
2986         * page/PositionCallback.h: Added.
2987         (WebCore::PositionCallback::~PositionCallback):
2988         * page/PositionCallback.idl: Added.
2989         * page/PositionError.h: Added.
2990         (WebCore::PositionError::):
2991         (WebCore::PositionError::create):
2992         (WebCore::PositionError::code):
2993         (WebCore::PositionError::message):
2994         (WebCore::PositionError::PositionError):
2995         * page/PositionError.idl: Added.
2996         * page/PositionErrorCallback.h: Added.
2997         (WebCore::PositionErrorCallback::~PositionErrorCallback):
2998         * page/PositionErrorCallback.idl: Added.
2999         * page/PositionOptions.h: Added.
3000         (WebCore::PositionOptions::create):
3001         (WebCore::PositionOptions::enableHighAccuracy):
3002         (WebCore::PositionOptions::setEnableHighAccuracy):
3003         (WebCore::PositionOptions::timeout):
3004         (WebCore::PositionOptions::setTimeout):
3005         (WebCore::PositionOptions::PositionOptions):
3006         * page/PositionOptions.idl: Added.
3007         * platform/GeolocationService.cpp: Added.
3008         (WebCore::GeolocationService::GeolocationService):
3009         (WebCore::GeolocationService::positionChanged):
3010         (WebCore::GeolocationService::errorOccurred):
3011         * platform/GeolocationService.h: Added.
3012         (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
3013         (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
3014         (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
3015         (WebCore::GeolocationService::~GeolocationService):
3017 2008-10-23  Alp Toker  <alp@nuanti.com>
3019         Fix typo in comment in previous commit. GTK -> GLIB
3021         * platform/gtk/guriescape.c:
3023 2008-10-23  Kalle Vahlman  <kalle.vahlman@movial.com>
3025         Reviewed by Alp Toker.
3027         https://bugs.webkit.org/show_bug.cgi?id=21824
3028         [GTK] FileSystem abstraction uses features from Glib 2.16
3030         Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib
3032         * platform/gtk/guriescape.c:
3033         (unescape_character):
3034         (_webcore_g_uri_unescape_segment):
3035         (_webcore_g_uri_unescape_string):
3036         * platform/gtk/guriescape.h:
3038 2008-10-23  Jan Michael Alonzo  <jmalonzo@webkit.org>
3040         Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826.
3042         * GNUmakefile.am:
3044 2008-10-23  Darin Fisher  <darin@chromium.org>
3046         Reviewed by Eric Seidel.
3048         m_frame null checked but then dereferenced
3049         https://bugs.webkit.org/show_bug.cgi?id=21845
3051         This error was found using a static analysis tool, and so I do not know
3052         how to produce a null m_frame on entry to this method.  Hence, I have
3053         not included a regression test.
3055         * page/EventHandler.cpp:
3056         (WebCore::EventHandler::allowDHTMLDrag): Add an early return.
3058 2008-10-23  Dan Bernstein  <mitz@apple.com>
3060         Reviewed by Sam Weinig with no hesitation.
3062         - fix the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839
3063           <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering
3065         Test: fast/text/bidi-embedding-pop-and-push-same.html
3067         * platform/text/BidiResolver.h:
3068         (WebCore::BidiResolver::embed): Changed to only add the embedding
3069         operation to a vector of pending operations.
3071         (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the
3072         code that used to be in the PDF case of embed() here, except the part
3073         that sets the context.
3075         (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the
3076         code that used to be in the non-PDF case of embed() here, except the
3077         part the sets the context.
3079         (WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the
3080         explicit embedding operations in the vector by creating an updated
3081         context and determining the old and new embedding levels. If the levels
3082         are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always
3083         sets the context to the new one.
3085         (WebCore::BidiResolver::createBidiRunsForLine): Added calls to
3086         commitExplicitEmbedding() after calling embed() and after calling
3087         increment().
3089         * rendering/bidi.cpp:
3090         (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because
3091         this function increments the resolver.
3093         (WebCore::RenderBlock::skipLeadingWhitespace): Ditto.
3095 2008-10-23  Jan Michael Alonzo  <jmalonzo@webkit.org>
3097         Gtk build fix. Not reviewed.
3099         Add DNSCurl and DNSSoup to the Gtk build
3101         * GNUmakefile.am:
3102         * platform/gtk/TemporaryLinkStubs.cpp:
3103         * platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp.
3104         (WebCore::prefetchDNS):
3106 2008-10-23  Eric Seidel  <eric@webkit.org>
3108         Reviewed by Sam Weinig.
3110         Un-break the Darwin build.
3112         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3113         * platform/graphics/cg/ImageCG.cpp:
3115 2008-10-23  Darin Fisher  <darin@chromium.org>
3117         Reviewed by Eric Seidel.
3119         Fix forward decls to be struct instead of class.
3120         https://bugs.webkit.org/show_bug.cgi?id=21838
3122         * rendering/style/StyleRareInheritedData.h:
3123         * rendering/style/StyleRareNonInheritedData.h:
3125 2008-10-23  Brent Fulgham  <bfulgham@gmail.com>
3127         Reviewed by Oliver Hunt.
3129         * platform/network/curl/ResourceRequest.h:  A better implementation
3130           of CFURLRequest, rather than void*.  This gives better compatibility 
3131           with the WebKit.idl interface.
3132         (WebCore::ResourceRequest::cfURLRequest):
3134 2008-10-23  Mike Pinkerton  <pinkerton@chromium.org>
3136         Reviewed by Eric Seidel.
3138         PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix
3139         ifdefs to reflect that.
3141         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3142         * platform/graphics/cg/ImageCG.cpp:
3144 2008-10-23  Peter Kasting  <pkasting@google.com>
3146         Reviewed by Adam Roben.
3148         https://bugs.webkit.org/show_bug.cgi?id=21833
3149         Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER).
3151         * inspector/InspectorController.cpp:
3152         (WebCore::InspectorController::InspectorController):
3153         (WebCore::InspectorController::setWindowVisible):
3154         (WebCore::InspectorController::windowScriptObjectAvailable):
3155         (WebCore::InspectorController::close):
3156         * inspector/InspectorController.h:
3157         * page/Page.cpp:
3158         (WebCore::Page::Page):
3160 2008-10-23  Kevin McCullough  <kmccullough@apple.com>
3162         Reviewed by Tim Hatcher.
3164         https://bugs.webkit.org/show_bug.cgi?id=21817
3165         Bug 21817: Manual profiler tests should be made into layout tests
3167         -Moving the tests before diffing so that it's clear what changed.
3169         * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed.
3170         * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed.
3171         * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed.
3172         * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed.
3173         * manual-tests/inspector/profiler-test-apply.html: Removed.
3174         * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed.
3175         * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed.
3176         * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed.
3177         * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
3178         * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed.
3179         * manual-tests/inspector/profiler-test-constructor.html: Removed.
3180         * manual-tests/inspector/profiler-test-dead-time.html: Removed.
3181         * manual-tests/inspector/profiler-test-deep-recursion.html: Removed.
3182         * manual-tests/inspector/profiler-test-document-dot-write.html: Removed.
3183         * manual-tests/inspector/profiler-test-event-handler.html: Removed.
3184         * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed.
3185         * manual-tests/inspector/profiler-test-heavy-view.html: Removed.
3186         * manual-tests/inspector/profiler-test-inline-event-handler.html: Removed.
3187         * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed.
3188         * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed.
3189         * manual-tests/inspector/profiler-test-multiple-frames.html: Removed.
3190         * manual-tests/inspector/profiler-test-multiple-windows.html: Removed.
3191         * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed.
3192         * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed.
3193         * manual-tests/inspector/profiler-test-no-execution-context.html: Removed.
3194         * manual-tests/inspector/profiler-test-one-execution-context.html: Removed.
3195         * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed.
3196         * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
3197         * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed.
3198         * manual-tests/inspector/profiler-test-simple-event-call.html: Removed.
3199         * manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed.
3200         * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed.
3201         * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed.
3202         * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed.
3203         * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed.
3204         * manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed.
3205         * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed.
3206         * manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed.
3207         * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed.
3208         * manual-tests/inspector/profiler-test-window-dot-eval.html: Removed.
3209         * manual-tests/inspector/resources/other-frame.html: Removed.
3210         * manual-tests/inspector/resources/other-window.html: Removed.
3211         * manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed.
3213 2008-10-23  Adam Barth  <abarth@webkit.org>
3215         Reviewed by Sam Weinig.
3217         https://bugs.webkit.org/show_bug.cgi?id=21826
3219         Add accessor for SecurityOrigin::m_domainWasSetInDOM.
3221         * page/SecurityOrigin.h:
3222         (WebCore::SecurityOrigin::domainWasSetInDOM):
3224 2008-10-23  Darin Adler  <darin@apple.com>
3226         - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
3228         * bindings/js/ScheduledAction.h:
3229         * inspector/InspectorController.cpp:
3230         ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
3232 2008-10-23  Simon Hausmann  <hausmann@webkit.org>
3234         Fix the Qt build.
3236         * bridge/qt/qt_runtime.cpp:
3237         (JSC::Bindings::QtConnectionObject::execute):
3238         * bridge/qt/qt_runtime.h:
3239         (JSC::Bindings::QtRuntimeMethod::createStructureID):
3241 2008-10-23  Alexey Proskuryakov  <ap@webkit.org>
3243         Reviewed by Maciej Stachowiak.
3245         https://bugs.webkit.org/show_bug.cgi?id=21825
3246         JSDOMBinding should not blindly cast the global object to JSDOMWindow
3248         * bindings/js/JSDOMGlobalObject.cpp:
3249         * bindings/js/JSDOMGlobalObject.h:
3250         * GNUmakefile.am:
3251         * WebCore.pro:
3252         * WebCore.vcproj/WebCore.vcproj:
3253         * WebCore.xcodeproj/project.pbxproj:
3254         * WebCoreSources.bkl:
3255         Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts.
3257         * bindings/js/JSDOMBinding.cpp:
3258         (WebCore::getCachedDOMStructure):
3259         (WebCore::cacheDOMStructure):
3260         (WebCore::getCachedDOMConstructor):
3261         (WebCore::cacheDOMConstructor):
3262         Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects.
3264         * bindings/js/JSDOMWindowBase.cpp:
3265         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3266         * bindings/js/JSDOMWindowBase.h:
3267         * bindings/js/JSDOMWindowCustom.cpp:
3268         (WebCore::JSDOMWindow::mark):
3269         Moved constructor and structure tracking to JSDOMGlobalObject.
3271 2008-10-23  Adam Barth  <abarth@webkit.org>
3273         Reviewed by Sam Weinig.
3275         https://bugs.webkit.org/show_bug.cgi?id=21787
3277         Update postMessage to send origin = "null" for non-serializable
3278         origins to match latest spec.  Merge SecurityOrigin::toString and
3279         SecurityOrigin::toHTTPOrigin because they are now the same.
3281         Test: http/tests/security/postMessage/data-url-sends-null-origin.html
3283         * loader/FrameLoader.cpp:
3284         (WebCore::FrameLoader::outgoingOrigin):
3285         (WebCore::FrameLoader::loadURL):
3286         (WebCore::FrameLoader::addHTTPOriginIfNeeded):
3287         (WebCore::FrameLoader::loadItem):
3288         * loader/loader.cpp:
3289         (WebCore::Loader::Host::servePendingRequests):
3290         * page/SecurityOrigin.cpp:
3291         (WebCore::SecurityOrigin::toString):
3292         * page/SecurityOrigin.h:
3293         * xml/XMLHttpRequest.cpp:
3294         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
3295         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
3296         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
3297         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
3299 2008-10-22  David Kilzer  <ddkilzer@apple.com>
3301         Bug 21781: WebCore::Settings should have a maximum decoded image size setting
3303         <https://bugs.webkit.org/show_bug.cgi?id=21781>
3305         Reviewed by Antti.
3307         No tests since there is no change in behavior.
3309         * loader/CachedImage.cpp:
3310         (WebCore::CachedImage::maximumDecodedImageSize): Added.  Returns
3311         WebCore::Settings::maximumDecodedImageSize() or 0 on error.
3312         (WebCore::CachedImage::data): Flag an error if the image being
3313         loaded is too big.
3314         * loader/CachedImage.h:
3315         (WebCore::CachedImage::maximumDecodedImageSize): Added declaration.
3316         * page/Settings.cpp:
3317         (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize
3318         to the maximum value of size_t.
3319         * page/Settings.h:
3320         (WebCore::Settings::setMaximumDecodedImageSize): Added method.
3321         (WebCore::Settings::maximumDecodedImageSize): Ditto.
3323 2008-10-22  Mike Pinkerton  <pinkerton@chromium.org>
3325         Reviewed by Dan Bernstein.
3326         Landed and tweaked a bit by Darin Adler.
3328         - fix https://bugs.webkit.org/show_bug.cgi?id=21809
3330         Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits 
3331         its use for PLATFORM(CHROMIUM) in the future.
3333         * platform/graphics/SimpleFontData.h:
3335 2008-10-22  David Smith  <catfish.man@gmail.com>
3337         Reviewed by Anders Carlsson.
3338                
3339         https://bugs.webkit.org/show_bug.cgi?id=19974
3340         getElementsByClassName not live enough
3342         Test: fast/dom/getElementsByClassName/015.html
3344         * dom/StyledElement.cpp:
3345         (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent()
3347 2008-10-22  Darin Adler  <darin@apple.com>
3349         Reviewed by Sam Weinig.
3351         - fix https://bugs.webkit.org/show_bug.cgi?id=21294
3352           Bug 21294: Devirtualize getOwnPropertySlot()
3354         * bindings/js/JSDOMWindowShell.h:
3355         (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without
3356         HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
3358         * bindings/js/JSInspectorCallbackWrapper.cpp:
3359         (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure
3360         for this class rather than sharing nullProtoStructureID, which no longer exists.
3362         * bindings/js/JSNamedNodesCollection.h:
3363         (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without
3364         HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
3365         * bindings/js/JSRGBColor.h:
3366         (WebCore::JSRGBColor::createStructureID): Ditto.
3368         * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers,
3369         constructors, and prototypes in any case where they override getOwnPropertySlot, without
3370         HasStandardGetOwnPropertySlot.
3372         * bridge/objc/objc_runtime.h:
3373         (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure
3374         without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
3375         * bridge/qt/qt_runtime.h:
3376         (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto.
3377         * bridge/runtime_array.h:
3378         (JSC::RuntimeArray::createStructureID): Ditto.
3379         * bridge/runtime_method.h:
3380         (JSC::RuntimeMethod::createStructureID): Ditto.
3381         * bridge/runtime_object.h:
3382         (JSC::RuntimeObjectImp::createStructureID): Ditto.
3384 2008-10-22  Brent Fulgham  <bfulgham@gmail.com>
3386         Bring Windows Cairo Port's font handling in line with CG.
3387         http://bugs.webkit.org/show_bug.cgi?id=21812.
3389         Reviewed by Adam Roben.
3391         * platform/graphics/win/FontCacheWin.cpp:
3392         (WebCore::createGDIFont): Remove unnecessary special-case for Cairo
3393         TrueType font search. It should match CG in all font selections.
3395 2008-10-22  Brent Fulgham  <bfulgham@gmail.com>
3397         http://bugs.webkit.org/show_bug.cgi?id=21812.
3398         Bring Windows Cairo Port's font handling in line with CG.
3400         Reviewed by David Hyatt.
3402         * platform/graphics/win/FontCacheWin.cpp:
3403         (WebCore::createGDIFont):  Remove unnecessary special-case for Cairo TrueType font search.  It should match CG in all font selections.
3405 2008-10-22  Brady Eidson  <beidson@apple.com>
3407         Reviewed by Adam Roben
3409         <rdar://6261773> - autocomplete="off" doesn't work on Windows
3411         Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a 
3412         statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false" 
3413         instead of the much more correct "true."
3414         
3415         In the past we have worked around this by declaring the bitfield member as an unsigned instead 
3416         of the enum type.
3418         For more discussion, see http://trac.webkit.org/changeset/25329
3420         * html/HTMLInputElement.h:  Work around insane Visual Studio enum issue  *sigh*
3422 2008-10-22  Kevin McCullough  <kmccullough@apple.com>
3424         Reviewed by Oliver Hunt and Tim Hatcher.
3426         https://bugs.webkit.org/show_bug.cgi?id=19225
3427         Bug 19225: JSProfiler: Create automated profiler tests
3428         - This change exports profiles on the console object so that they can be
3429         iterated over via JavaScript, and thus can be used in automated tests.
3431         * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array
3432         that JS can use.
3433         (WebCore::JSConsole::profiles):
3434         * inspector/InspectorController.h: Use the new typedef.
3435         (WebCore::InspectorController::profiles):
3436         * page/Console.cpp: Keep our own array of profile objects.
3437         (WebCore::Console::profileEnd):
3438         * page/Console.h: Ditto.
3439         (WebCore::Console::profiles):
3440         * page/Console.idl: Expose the profiles to JS.
3442 2008-10-22  David Hyatt  <hyatt@apple.com>
3444         https://bugs.webkit.org/show_bug.cgi?id=21775
3446         Convert buttons over to use the new Theme API on OS X.
3448         Reviewed by Adam Roben
3450         * platform/LengthBox.h:
3451         (WebCore::LengthBox::LengthBox):
3452         * platform/Theme.cpp:
3453         (WebCore::Theme::controlBorder):
3454         (WebCore::Theme::controlPadding):
3455         * platform/Theme.h:
3456         (WebCore::Theme::controlFont):
3457         (WebCore::Theme::controlSize):
3458         (WebCore::Theme::minControlSize):
3459         (WebCore::Theme::controlRequiresPreWhiteSpace):
3460         * platform/mac/ThemeMac.h:
3461         (WebCore::ThemeMac::controlRequiresPreWhiteSpace):
3462         * platform/mac/ThemeMac.mm:
3463         (WebCore::checkboxSize):
3464         (WebCore::radioSize):
3465         (WebCore::buttonSizes):
3466         (WebCore::buttonMargins):
3467         (WebCore::button):
3468         (WebCore::paintButton):
3469         (WebCore::ThemeMac::controlFont):
3470         (WebCore::ThemeMac::controlSize):
3471         (WebCore::ThemeMac::minControlSize):
3472         (WebCore::ThemeMac::controlBorder):
3473         (WebCore::ThemeMac::controlPadding):
3474         (WebCore::ThemeMac::inflateControlPaintRect):
3475         (WebCore::ThemeMac::paint):
3476         * rendering/RenderTheme.cpp:
3477         (WebCore::RenderTheme::adjustStyle):
3478         (WebCore::RenderTheme::paint):
3479         (WebCore::RenderTheme::controlStatesForRenderer):
3480         (WebCore::RenderTheme::isDefault):
3481         (WebCore::RenderTheme::adjustRadioStyle):
3482         * rendering/RenderTheme.h:
3483         (WebCore::RenderTheme::setRadioSize):
3484         * rendering/RenderThemeMac.h:
3485         * rendering/RenderThemeMac.mm:
3486         (WebCore::RenderThemeMac::adjustRepaintRect):
3487         (WebCore::menuListButtonSizes):
3488         (WebCore::RenderThemeMac::adjustMenuListStyle):
3489         * rendering/style/RenderStyle.h:
3490         (WebCore::InheritedFlags::paddingBox):
3491         (WebCore::InheritedFlags::setPaddingBox):
3493 2008-10-22  Chris Marrin  <cmarrin@apple.com>
3495         Reviewed by Dave Hyatt
3497         Make sure that the AtomicString that identifies a set of animation keyframes
3498         stays live by keeping a copy in the WebKitCSSKeyframesRule.
3499         
3500         Also call styleSheetChanged() when the keyframes name changes, but
3501         add an internal method that doesn't call styleSheetChanged() for use
3502         during normal stylesheet parsing.
3503         
3504         Test: animations/change-keyframes-name.html
3506         * css/CSSGrammar.y:
3507         * css/WebKitCSSKeyframesRule.cpp:
3508         (WebCore::WebKitCSSKeyframesRule::setName):
3509         * css/WebKitCSSKeyframesRule.h:
3510         (WebCore::WebKitCSSKeyframesRule::setNameInternal):
3512 2008-10-22  Alexey Proskuryakov  <ap@webkit.org>
3514         Reviewed by Sam Weinig.
3516         https://bugs.webkit.org/show_bug.cgi?id=21791
3517         WebCore JS bindings should be able to use non-static hash tables for properties
3519         Add a map for HashTables to WebCore JS client data.
3521         This makes property access noticeably slower, so it is an opt-in. For classes that need to be
3522         supported in workers in forseeable future this is not critical.
3524         * bindings/js/JSDOMBinding.cpp:
3525         (WebCore::DOMObjectHashTableMap::get):
3526         (WebCore::DOMObjectHashTableMap::mapFor):
3527         (WebCore::getHashTableForGlobalData):
3528         (WebCore::DOMObjectWrapperMap::mapFor):
3529         WebCore client data is now a class that contains both a DOM wrapper map and a property hash
3530         table one.
3532         * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map.
3534         * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use
3535         JSDOMBinding map to access its property hash tables.
3537         * dom/MessageChannel.idl:
3538         * dom/MessagePort.idl:
3539         Added NoStaticTables attribute.
3541 2008-10-22  Gustavo Noronha Silva  <gns@gnome.org>
3543         Reviewed by Timothy Hatcher.
3545         Build failure because of missing include
3546         https://bugs.webkit.org/show_bug.cgi?id=21765
3548         Build failure fix for WebKit/GTK+; added missing
3549         include (GOwnPtr.h)
3551         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3553 2008-10-22  Alp Toker  <alp@nuanti.com>
3555         Reviewed by Adam Roben.
3557         Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get()
3558         doesn't initialize values if the requested property doesn't exist, so
3559         initialize the values to the documented defaults before calling it
3560         where necessary. Additionally, avoid critical warnings by not calling
3561         gtk_widget_style_get() when we know the property isn't available.
3563         Note that this is an imported source file which doesn't follow the
3564         WebKit coding style.
3566         * platform/gtk/gtk2drawing.c:
3567         (moz_gtk_init):
3568         (moz_gtk_button_get_inner_border):
3569         (moz_gtk_combo_box_paint):
3570         (moz_gtk_toolbar_separator_paint):
3571         (moz_gtk_menu_separator_paint):
3572         (moz_gtk_get_widget_border):
3573         (moz_gtk_get_tab_scroll_arrow_size):
3574         (moz_gtk_get_toolbar_separator_width):
3575         (moz_gtk_get_menu_separator_height):
3577 2008-10-22  Alp Toker  <alp@nuanti.com>
3579         Fix build for Cairo 1.2.
3581         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3582         (WebCore::GraphicsContext::clipOut):
3583         * platform/gtk/RenderThemeGtk.cpp:
3584         (WebCore::paintMozWidget):
3586 2008-10-22  Darin Fisher  <darin@chromium.org>
3588         Reviewed by Eric Seidel.
3590         A little more PLATFORM(CHROMIUM) in WebCore
3591         https://bugs.webkit.org/show_bug.cgi?id=21758
3593         * page/AccessibilityObject.h:
3594         * platform/graphics/Icon.h:
3596 2008-10-21  Alexey Proskuryakov  <ap@webkit.org>
3598         Reviewed by Darin Adler.
3600         Test: fast/events/message-channel-gc-3.html
3602         https://bugs.webkit.org/show_bug.cgi?id=21769
3603         MessagePort should be GC protected if there are messages to be delivered
3605         * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is
3606         pending, and check if the queue is non-empty.
3607         (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug
3608         fix (below).
3610         * dom/MessagePort.cpp:
3611         (WebCore::CloseMessagePortTimer::fired):
3612         (WebCore::MessagePort::MessagePort):
3613         (WebCore::MessagePort::queueCloseEvent):
3614         (WebCore::MessagePort::dispatchCloseEvent):
3615         (WebCore::MessagePort::hasPendingActivity):
3616         Track message and close event activity separately.
3618         * bindings/js/JSDOMBinding.cpp:
3619         (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was
3620         causing same-heap ports to never be deleted.
3622 2008-10-21  Dan Bernstein  <mitz@apple.com>
3624         Reviewed by Sam Weinig.
3626         - remove unreachable code
3628         * platform/text/BidiResolver.h:
3629         (WebCore::::embed):
3631 2008-10-21  Beth Dakin  <bdakin@apple.com>
3633         Reviewed by Darin Adler.
3635         Fix for https://bugs.webkit.org/show_bug.cgi?id=20352 
3636         REGRESSION(r31030-31055): Choosing "Print window" from frame set 
3637         prints blank page
3638         and corresponding: <rdar://problem/6142398>
3640         viewHeight() and viewWidth() only return valuable information if we 
3641         are not printing. Everywhere else in the code, we make sure we are 
3642         not printing before we call these functions. Adding a check for 
3643         printing here fixes this bug, and framesets print again.
3645         * rendering/RenderFrameSet.cpp:
3646         (WebCore::RenderFrameSet::layout):
3648 2008-10-21  Yael Aharon <yael.aharon@nokia.com>
3650         Reviewed by Simon.
3652         Pixmap in canvas tag was not getting initialized.
3654         See https://bugs.webkit.org/show_bug.cgi?id=21771
3656         * platform/graphics/qt/ImageBufferQt.cpp:
3657         (WebCore::ImageBuffer::create):
3659 2008-10-20  Simon Fraser  <simon.fraser@apple.com>
3661         Reviewed by Dan Bernstein
3663         Add a comment explaining layoutDelta(), and an assertion
3664         that checks that delta changes were correctly paired during layout.
3665         
3666         * rendering/RenderView.cpp:
3667         (WebCore::RenderView::layout):
3668         * rendering/RenderView.h:
3670 2008-10-20  Timothy Hatcher  <timothy@apple.com>
3672         Make auto-complete only suggest properties that are valid syntax
3673         when using dot-notation. Also when completing numeric properties,
3674         the quotes are omitted inside the brackets.
3676         https://bugs.webkit.org/show_bug.cgi?id=21760
3677         https://bugs.webkit.org/show_bug.cgi?id=21761
3679         Reviewed by Oliver Hunt.
3681         * inspector/front-end/Console.js:
3682         (WebInspector.Console.prototype.completions): Skip properties that
3683         are not valid identifies when using dot-notation. And omit the quotes
3684         when completing numbers in bracket-notation.
3686 2008-10-20  Timothy Hatcher  <timothy@apple.com>
3688         Fixes the Profiles panel in the Web Inspector, which was broken by
3689         the JSValue base-class changes. Also renames some functions and
3690         variables in JavaScriptProfileNode.cpp that where title case.
3692         https://bugs.webkit.org/show_bug.cgi?id=21764
3694         Reviewed by Oliver Hunt.
3696         * inspector/JavaScriptProfile.cpp:
3697         (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the
3698         returned JSValuePtr will be treated as an object and not a value.
3699         * inspector/JavaScriptProfileNode.cpp:
3700         (WebCore::toJS): Ditto.
3702 2008-10-20  Sam Weinig  <sam@webkit.org>
3704         Reviewed by Anders Carlsson.
3706         Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.
3708         * loader/EmptyClients.h:
3709         (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
3710         * loader/FrameLoader.cpp:
3711         (WebCore::FrameLoader::detachFromParent):
3712         * loader/FrameLoaderClient.h:
3714 2008-10-20  Antti Koivisto  <antti@apple.com>
3716         Reviewed by Adele Peterson.
3718         Fix https://bugs.webkit.org/show_bug.cgi?id=21763
3719         REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries
3720         <rdar://problem/6285025
3721         
3722         If we get 304 response we need to explicitly check if that completes the frame load.
3723         
3724         No test case, simulating the condition is pretty difficult.
3726         * loader/loader.cpp:
3727         (WebCore::Loader::Host::didReceiveResponse):
3729 2008-10-20  Anders Carlsson  <andersca@apple.com>
3731         Reviewed by Mark Rowe.
3733         Work around <rdar://problem/6301728>.
3734         
3735         Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.
3736         
3737         * loader/MainResourceLoader.cpp:
3738         (WebCore::MainResourceLoader::didReceiveResponse):
3739         (WebCore::MainResourceLoader::didReceiveData):
3740         (WebCore::MainResourceLoader::didFinishLoading):
3741         (WebCore::MainResourceLoader::didFail):
3743 2008-10-20  Beth Dakin  <bdakin@apple.com>
3745         Reviewed by Adele Peterson.
3747         Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19 
3748         crashes in Safari at com.apple.WebCore
3749         WebCore::ScrollView::visibleContentRect const + 153
3751         d->m_view can be null and is null-checked at other points in the 
3752         code. The logs indicate that this crash occurs when closing a 
3753         window containing a PDF, so in case where we crash, the PDF's view 
3754         is probably already null. So the fix is to simply add a null-check.
3756         * page/Frame.cpp:
3757         (WebCore::Frame::selectionRect):
3759 2008-10-20  Adele Peterson  <adele@apple.com>
3761         Reviewed by Darin Adler.
3763         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
3764         Removed stray increment that would screw up any form with multiple files in it.
3766 2008-10-20  Sam Weinig  <sam@webkit.org>
3768         Rubber-stamped by David Hyatt.
3770         Split LengthBox and LengthSize into their own files.
3772         * GNUmakefile.am:
3773         * WebCore.vcproj/WebCore.vcproj:
3774         * WebCore.xcodeproj/project.pbxproj:
3775         * platform/Length.h:
3776         (WebCore::Length::blend):
3777         * platform/LengthBox.h: Copied from platform/Length.h.
3778         (WebCore::LengthBox::LengthBox):
3779         (WebCore::LengthBox::nonZero):
3780         * platform/LengthSize.h: Copied from platform/Length.h.
3781         (WebCore::LengthSize::LengthSize):
3782         (WebCore::LengthSize::setWidth):
3783         (WebCore::LengthSize::setHeight):
3784         (WebCore::LengthSize::height):
3785         * platform/Theme.h:
3786         * rendering/style/FillLayer.h:
3787         * rendering/style/NinePieceImage.h:
3788         (WebCore::NinePieceImage::NinePieceImage):
3789         * rendering/style/RenderStyle.h:
3790         * rendering/style/StyleDashboardRegion.h:
3791         * rendering/style/StyleSurroundData.h:
3792         * rendering/style/StyleVisualData.h:
3794 2008-10-20  Dan Bernstein  <mitz@apple.com>
3796         - Mac build fix
3798         * WebCore.xcodeproj/project.pbxproj:
3800 2008-10-20  Alp Toker  <alp@nuanti.com>
3802         Fix autotools dist build target by listing recently added header
3803         files only. Not reviewed.
3805         * GNUmakefile.am:
3807 2008-10-20  David Hyatt  <hyatt@apple.com>
3809         Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms).  Also
3810         refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp
3811         originally.
3813         ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme.
3815         Reviewed by Adam Roben
3817         * WebCore.xcodeproj/project.pbxproj:
3818         * platform/Theme.cpp: Added.
3819         (WebCore::Theme::controlSupportsBorder):
3820         (WebCore::Theme::controlSupportsPadding):
3821         * platform/Theme.h:
3822         * platform/mac/ThemeMac.h:
3823         * platform/mac/ThemeMac.mm:
3824         * rendering/RenderTheme.cpp:
3825         (WebCore::RenderTheme::adjustStyle):
3826         * rendering/RenderTheme.h:
3828 2008-10-20  David Hyatt  <hyatt@apple.com>
3830         Rename LengthBox's members to have m_ in front of them.
3832         Reviewed by Sam Weinig
3834         * css/CSSComputedStyleDeclaration.cpp:
3835         (WebCore::valueForNinePieceImage):
3836         (WebCore::getPositionOffsetValue):
3837         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3838         * css/CSSStyleSelector.cpp:
3839         (WebCore::CSSStyleSelector::mapNinePieceImage):
3840         * platform/Length.h:
3841         (WebCore::LengthBox::LengthBox):
3842         (WebCore::LengthBox::left):
3843         (WebCore::LengthBox::right):
3844         (WebCore::LengthBox::top):
3845         (WebCore::LengthBox::bottom):
3846         (WebCore::LengthBox::operator==):
3847         (WebCore::LengthBox::nonZero):
3848         * rendering/RenderObject.cpp:
3849         (WebCore::RenderObject::paintNinePieceImage):
3850         (WebCore::RenderObject::addDashboardRegions):
3851         * rendering/style/RenderStyle.cpp:
3852         (WebCore::positionedObjectMoved):
3853         (WebCore::RenderStyle::setClip):
3854         (WebCore::RenderStyle::noneDashboardRegions):
3855         * rendering/style/RenderStyle.h:
3856         (WebCore::InheritedFlags::left):
3857         (WebCore::InheritedFlags::right):
3858         (WebCore::InheritedFlags::top):
3859         (WebCore::InheritedFlags::bottom):
3860         (WebCore::InheritedFlags::clipLeft):
3861         (WebCore::InheritedFlags::clipRight):
3862         (WebCore::InheritedFlags::clipTop):
3863         (WebCore::InheritedFlags::clipBottom):
3864         (WebCore::InheritedFlags::marginTop):
3865         (WebCore::InheritedFlags::marginBottom):
3866         (WebCore::InheritedFlags::marginLeft):
3867         (WebCore::InheritedFlags::marginRight):
3868         (WebCore::InheritedFlags::paddingTop):
3869         (WebCore::InheritedFlags::paddingBottom):
3870         (WebCore::InheritedFlags::paddingLeft):
3871         (WebCore::InheritedFlags::paddingRight):
3872         (WebCore::InheritedFlags::setLeft):
3873         (WebCore::InheritedFlags::setRight):
3874         (WebCore::InheritedFlags::setTop):
3875         (WebCore::InheritedFlags::setBottom):
3876         (WebCore::InheritedFlags::setDashboardRegion):
3877         (WebCore::InheritedFlags::setClipLeft):
3878         (WebCore::InheritedFlags::setClipRight):
3879         (WebCore::InheritedFlags::setClipTop):
3880         (WebCore::InheritedFlags::setClipBottom):
3881         (WebCore::InheritedFlags::setMarginTop):
3882         (WebCore::InheritedFlags::setMarginBottom):
3883         (WebCore::InheritedFlags::setMarginLeft):
3884         (WebCore::InheritedFlags::setMarginRight):
3885         (WebCore::InheritedFlags::setPaddingTop):
3886         (WebCore::InheritedFlags::setPaddingBottom):
3887         (WebCore::InheritedFlags::setPaddingLeft):
3888         (WebCore::InheritedFlags::setPaddingRight):
3890 2008-10-20  Timothy Hatcher  <timothy@apple.com>
3892         Make the Resource panel perform graph updates atomically, so when resources
3893         are added the graph and summary graph update at the same time.
3895         https://bugs.webkit.org/show_bug.cgi?id=21755
3897         Reviewed by Kevin McCullough.
3899         * inspector/front-end/Resource.js:
3900         (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime
3901         property is undefined, null or 0. This allows callers to check for -1 and not
3902         the other values when there is no startTime yet.
3903         (WebInspector.Resource.prototype.get responseReceivedTime): Ditto.
3904         (WebInspector.Resource.prototype.get endTime): Ditto.
3905         (WebInspector.Resource.prototype.get duration): Remove an extra empty line.
3906         (WebInspector.Resource.prototype.get latency): Ditto.
3907         (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration
3908         property is undefined or null. This allows callers to always assume a number.
3909         (WebInspector.Resource.prototype.get expectedContentLength): Ditto.
3910         (WebInspector.Resource.prototype.get errors): Simplify the case where there is
3911         no _errors property yet.
3912         (WebInspector.Resource.prototype.set errors): Remove the check if the new value
3913         if the same as the previous value, since there is no work to guard.
3914         (WebInspector.Resource.prototype.get warnings): Simplify the case where there is
3915         no _warnings property yet.
3916         (WebInspector.Resource.prototype.set warnings): Remove the check if the new value
3917         if the same as the previous value, since there is no work to guard.
3918         (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the
3919         responseReceivedTime is -1.
3920         (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1.
3921         * inspector/front-end/ResourcesPanel.js:
3922         (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not
3923         have a _resourcesTreeElement yet, exclude it from the searchable views.
3924         (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources
3925         and call refresh to refresh the entire graph.
3926         (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel
3927         is visible that calls refresh.
3928         (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and
3929         graph for a resource if it hasn't been created yet. If the boundaries changed during
3930         the first stale resource pass, do a full pass of all resources when updating the graphs.
3931         (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items.
3932         (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and
3933         graph, these are now created during the first refresh.
3934         (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement.
3935         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto.
3936         (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
3937         (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just
3938         add the resource to the _staleResources and set needsRefresh.
3939         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check
3940         _resourcesTreeElement.
3941         (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear
3942         the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild
3943         since the insertBefore call will do it if needed.
3944         (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to
3945         clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded.
3946         (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the
3947         timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel,
3948         since all the legend items are removed in one pass right before.
3949         (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction
3950         before the calculator so the correct sortingFunction is there when a refresh happens.
3951         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0
3952         when the startTime is -1, since that looks best visually. Also set middle and end
3953         to the start and middle (respectfully) when startAtZero. This looks best visually.
3954         (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh.
3955         (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class.
3957 2008-10-20  David Hyatt  <hyatt@apple.com>
3959         https://bugs.webkit.org/show_bug.cgi?id=21733
3961         Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that
3962         no attempt is made to re-cache the frame from a non-existent image source.
3964         Reviewed by Sam Weinig
3966         * platform/graphics/cairo/ImageCairo.cpp:
3967         (WebCore::BitmapImage::BitmapImage):
3968         * platform/graphics/cg/ImageCG.cpp:
3969         (WebCore::BitmapImage::BitmapImage):
3971 2008-10-20  Dan Bernstein  <mitz@apple.com>
3973         Reviewed by John Sullivan.
3975         - make hasARenderedDescendant() have internal linkage
3977         * editing/CompositeEditCommand.cpp:
3978         (WebCore::hasARenderedDescendant):
3980 2008-10-20  Chris Fleizach  <cfleizach@apple.com>
3982         Reviewed by Jon Honeycutt
3984         Fix a crash in Accessibility where a table section was being 
3985         referenced without first checking if it was null
3987         https://bugs.webkit.org/show_bug.cgi?id=21721
3989         Test: accessibility/table-nofirstbody.html
3991         * page/AccessibilityTable.cpp:
3992         (WebCore::AccessibilityTable::addChildren):
3994 2008-10-20  David Hyatt  <hyatt@apple.com>
3996         Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG.
3998         Reviewed by Darin Adler
4000         * platform/graphics/cg/ImageSourceCG.cpp:
4001         (WebCore::ImageSource::repetitionCount):
4002         (WebCore::ImageSource::frameDurationAtIndex):
4004 2008-10-20  Alp Toker  <alp@nuanti.com>
4006         Reviewed by Mark Rowe.
4008         Fix the pthread conditionals in the FTP code to correctly define
4009         threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32
4010         build.
4012         * loader/FTPDirectoryDocument.cpp:
4013         * loader/FTPDirectoryParser.cpp:
4015 2008-10-20  David Hyatt  <hyatt@apple.com>
4017         https://bugs.webkit.org/show_bug.cgi?id=21751
4019         Convert checkboxes and radio buttons on OS X over to the new Theme API.
4021         Reviewed by Adam Roben
4023         * css/CSSComputedStyleDeclaration.cpp:
4024         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4025         * css/CSSStyleSelector.cpp:
4026         (WebCore::CSSStyleSelector::mapFillSize):
4027         * platform/Length.h:
4028         (WebCore::LengthSize::LengthSize):
4029         (WebCore::LengthSize::operator==):
4030         (WebCore::LengthSize::width):
4031         (WebCore::LengthSize::height):
4032         (WebCore::LengthSize::setWidth):
4033         (WebCore::LengthSize::setHeight):
4034         * platform/Theme.h:
4035         (WebCore::Theme::controlSize):
4036         (WebCore::Theme::controlSupportsBorder):
4037         (WebCore::Theme::controlSupportsPadding):
4038         (WebCore::Theme::paint):
4039         (WebCore::Theme::inflateControlPaintRect):
4040         * platform/ThemeTypes.h:
4041         (WebCore::):
4042         * platform/mac/ThemeMac.h:
4043         * platform/mac/ThemeMac.mm:
4044         (WebCore::):
4045         (WebCore::controlSizeForFont):
4046         (WebCore::sizeFromFont):
4047         (WebCore::setControlSize):
4048         (WebCore::updateStates):
4049         (WebCore::inflateRect):
4050         (WebCore::checkboxSizes):
4051         (WebCore::checkboxMargins):
4052         (WebCore::checkboxSize):
4053         (WebCore::checkbox):
4054         (WebCore::paintCheckbox):
4055         (WebCore::radioSizes):
4056         (WebCore::radioMargins):
4057         (WebCore::radioSize):
4058         (WebCore::radio):
4059         (WebCore::paintRadio):
4060         (WebCore::ThemeMac::baselinePositionAdjustment):
4061         (WebCore::ThemeMac::controlSize):
4062         (WebCore::ThemeMac::controlSupportsBorder):
4063         (WebCore::ThemeMac::controlSupportsPadding):
4064         (WebCore::ThemeMac::inflateControlPaintRect):
4065         (WebCore::ThemeMac::paint):
4066         * rendering/RenderBox.cpp:
4067         (WebCore::RenderBox::calculateBackgroundSize):
4068         * rendering/RenderObject.cpp:
4069         (WebCore::mustRepaintFillLayers):
4070         * rendering/RenderTheme.cpp:
4071         (WebCore::RenderTheme::adjustStyle):
4072         (WebCore::RenderTheme::paint):
4073         (WebCore::RenderTheme::baselinePosition):
4074         (WebCore::RenderTheme::adjustRepaintRect):
4075         (WebCore::RenderTheme::controlStatesForRenderer):
4076         (WebCore::RenderTheme::isFocused):
4077         * rendering/RenderTheme.h:
4078         * rendering/RenderThemeMac.h:
4079         * rendering/RenderThemeMac.mm:
4080         (WebCore::RenderThemeMac::adjustRepaintRect):
4081         * rendering/style/FillLayer.cpp:
4082         (WebCore::FillLayer::operator==):
4084 2008-10-18  Geoffrey Garen  <ggaren@apple.com>
4086         Reviewed by Darin Adler.
4088         Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
4089         Emit profiling instrumentation only if the Web Inspector's profiling
4090         feature is enabled
4092         * bindings/js/JSDOMWindowBase.cpp:
4093         (WebCore::JSDOMWindowBase::supportsProfiling):
4094         * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying
4095         whether a target global object has the Web Inspector's profiling feature
4096         enabled.
4098         * inspector/JavaScriptDebugServer.cpp:
4099         (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon):
4100         (WebCore::JavaScriptDebugServer::didAddListener):
4101         (WebCore::JavaScriptDebugServer::didRemoveListener):
4102         * inspector/JavaScriptDebugServer.h: Exported an API for recompiling, 
4103         used by the Settings object.
4105         * page/Settings.cpp:
4106         (WebCore::Settings::Settings):
4107         (WebCore::Settings::setDeveloperExtrasEnabled):
4108         * page/Settings.h: Recompile when the developer menu is enabled/disabled
4109         for the first time, to add/remove profiling hooks. In the future, with
4110         better Web Inspector UI, we can do this on a page-by-page basis,
4111         instead of a global basis.
4113 2008-10-20  David Hyatt  <hyatt@apple.com>
4115         Move Length to platform/.
4117         Reviewed by Adam Roben
4119         * GNUmakefile.am:
4120         * WebCore.pro:
4121         * WebCore.vcproj/WebCore.vcproj:
4122         * WebCore.xcodeproj/project.pbxproj:
4123         * WebCoreSources.bkl:
4124         * platform/Length.cpp: Copied from rendering/Length.cpp.
4125         * platform/Length.h: Copied from rendering/Length.h.
4127 2008-10-20  Darin Adler  <darin@apple.com>
4129         - try to fix Qt build
4131         * bridge/qt/qt_runtime.cpp:
4132         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls.
4133         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
4135 2008-10-20  Darin Adler  <darin@apple.com>
4137         - try to fix Qt build
4139         * bridge/qt/qt_instance.cpp:
4140         (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr.
4141         (JSC::Bindings::QtField::valueFromInstance): Ditto.
4142         * bridge/qt/qt_instance.h: Ditto.
4144 2008-10-20  Darin Adler  <darin@apple.com>
4146         - try to fix Tiger build
4148         * bridge/objc/objc_instance.mm:
4149         (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted
4150         volatile qualifier.
4151         (ObjcInstance::invokeDefaultMethod): Ditto.
4152         (ObjcInstance::getValueOfUndefinedField): Ditto.
4153         * bridge/objc/objc_runtime.mm:
4154         (JSC::Bindings::ObjcField::valueFromInstance): Ditto.
4156 2008-10-20  Alexey Proskuryakov  <ap@webkit.org>
4158         Reviewed by Darin Adler.
4160         https://bugs.webkit.org/show_bug.cgi?id=21750
4161         Eliminate the notion of "temporary events"
4163         We mark some events as temporary when dispatching, for the sole reason of
4164         manually calling forgetDOMObject when done dispatching.
4166         There doesn't seem to be any reason to call it manually, as JSEvent destructor
4167         will do this automatically right away.
4169         * bindings/js/ScriptController.cpp:
4170         * bindings/js/ScriptController.h:
4171         Removed ScriptController::finishedWithEvent(), which was called after dispatching
4172         a temporary event.
4174         * dom/ContainerNode.cpp:
4175         (WebCore::dispatchChildInsertionEvents):
4176         (WebCore::dispatchChildRemovalEvents):
4177         * dom/EventTarget.h:
4178         * dom/EventTargetNode.cpp:
4179         (WebCore::EventTargetNode::dispatchEvent):
4180         (WebCore::EventTargetNode::dispatchGenericEvent):
4181         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
4182         (WebCore::EventTargetNode::dispatchWindowEvent):
4183         (WebCore::EventTargetNode::dispatchUIEvent):
4184         (WebCore::EventTargetNode::dispatchKeyEvent):
4185         (WebCore::EventTargetNode::dispatchMouseEvent):
4186         (WebCore::EventTargetNode::dispatchWheelEvent):
4187         (WebCore::EventTargetNode::dispatchWebKitAnimationEvent):
4188         (WebCore::EventTargetNode::dispatchWebKitTransitionEvent):
4189         (WebCore::EventTargetNode::dispatchEventForType):
4190         (WebCore::EventTargetNode::dispatchProgressEvent):
4191         (WebCore::EventTargetNode::dispatchStorageEvent):
4192         * dom/EventTargetNode.h:
4193         * dom/MessagePort.cpp:
4194         (WebCore::MessagePort::dispatchMessages):
4195         (WebCore::MessagePort::dispatchCloseEvent):
4196         (WebCore::MessagePort::dispatchEvent):
4197         * dom/MessagePort.h:
4198         * editing/Editor.cpp:
4199         (WebCore::Editor::dispatchCPPEvent):
4200         (WebCore::dispatchEditableContentChangedEvents):
4201         * editing/ReplaceSelectionCommand.cpp:
4202         (WebCore::ReplacementFragment::ReplacementFragment):
4203         * editing/TypingCommand.cpp:
4204         (WebCore::TypingCommand::insertText):
4205         * loader/appcache/DOMApplicationCache.cpp:
4206         (WebCore::DOMApplicationCache::dispatchEvent):
4207         (WebCore::DOMApplicationCache::callListener):
4208         * loader/appcache/DOMApplicationCache.h:
4209         * page/EventHandler.cpp:
4210         (WebCore::EventHandler::dispatchDragEvent):
4211         (WebCore::EventHandler::keyEvent):
4212         (WebCore::EventHandler::handleTextInputEvent):
4213         * page/FrameView.cpp:
4214         (WebCore::FrameView::scheduleEvent):
4215         (WebCore::FrameView::updateOverflowStatus):
4216         (WebCore::FrameView::dispatchScheduledEvents):
4217         * page/FrameView.h:
4218         * rendering/RenderLayer.cpp:
4219         (WebCore::RenderLayer::scrollToOffset):
4220         (WebCore::RenderLayer::updateOverflowStatus):
4221         * svg/SVGElement.cpp:
4222         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
4223         * svg/SVGElementInstance.cpp:
4224         (WebCore::SVGElementInstance::dispatchEvent):
4225         * svg/SVGElementInstance.h:
4226         * xml/XMLHttpRequest.cpp:
4227         (WebCore::XMLHttpRequest::dispatchEvent):
4228         (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
4229         (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
4230         * xml/XMLHttpRequest.h:
4231         * xml/XMLHttpRequestUpload.cpp:
4232         (WebCore::XMLHttpRequestUpload::dispatchEvent):
4233         (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
4234         * xml/XMLHttpRequestUpload.h:
4235         Don't pass the tempEvent boolean around.
4237 2008-10-20  Alp Toker  <alp@nuanti.com>
4239         Remove unused includes only. Partial GTK+/Win build fix.
4241         * platform/graphics/gtk/SimpleFontDataPango.cpp:
4243 2008-10-20  Alexey Proskuryakov  <ap@webkit.org>
4245         Reviewed by Oliver Hunt.
4247         https://bugs.webkit.org/show_bug.cgi?id=21705
4248         Implement Web Workers client-side API
4250         The implementation is experimental, and disabled by default. It doesn't quite match the
4251         published draft, being influenced by further WHATWG discussions.
4253         This only implements the client-side API, and does not actually create any threads or
4254         global contexts yet.
4256         * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm
4257         still not sure if having separate classes for these helps at all.
4259         * WebCore.xcodeproj/project.pbxproj: Added new files.
4261         * bindings/js/JSDOMWindowBase.cpp:
4262         (jsDOMWindowBaseWorker):
4263         (WebCore::JSDOMWindowBase::put):
4264         (setJSDOMWindowBaseWorker):
4265         Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef
4266         to match prevailing style.
4268         * bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
4269         * bindings/js/JSDedicatedWorkerConstructor.h: Added.
4270         * bindings/js/JSDedicatedWorkerCustom.cpp: Added.
4271         The implementation of event listeners are left custom intentionally, for easier implementation
4272         of listeners that are not tied to any Document in the future.
4274         * dom/DedicatedWorker.cpp: Added.
4275         * dom/DedicatedWorker.h: Added.
4276         * dom/DedicatedWorker.idl: Added.
4277         Added an implementation that can only load requested scripts for now.
4279 2008-10-19  Darin Adler  <darin@apple.com>
4281         Reviewed by Dan Bernstein.
4283         - fix assertion seen when opening inspector
4285         * bindings/js/JSQuarantinedObjectWrapper.cpp:
4286         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
4287         Removed unneeded asObject cast.
4289 2008-10-19  Dan Bernstein  <mitz@apple.com>
4291         Rubber-stamped by Timothy Hatcher.
4293         - remove empty directories and correct the MIME type of inspector images
4295         * page/inspector: Removed.
4296         * page/inspector/Images: Removed.
4298 2008-10-19  Timothy Hatcher  <timothy@apple.com>
4300         Make the Web Inspector Resources panel open quicker and change graphs
4301         faster. There was some accidental n^2 logic at fault when updating the
4302         graph boundaries.
4304         https://bugs.webkit.org/show_bug.cgi?id=21742
4306         Reviewed by Darin Adler.
4308         * inspector/front-end/ResourcesPanel.js:
4309         (WebInspector.ResourcesPanel.prototype.set calculator): Return early for
4310         a null calculator. Remove the second argument passed to _refreshAllResources.
4311         (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on
4312         the calculator for all the stale resources before calling refreshResource.
4313         Pass true for the first argument of refreshResource to skip the boundary update.
4314         (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove
4315         the second argument passed to _refreshAllResources.
4316         (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the
4317         skipSort argument since every passed true, and it would be bad to pass false.
4318         (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if
4319         skipBoundaryUpdate is false, call updateBoundaries on the calculator for all
4320         the resources before calling refreshResource. Pass true for the first argument
4321         of refreshResource to skip the boundary update.
4323 2008-10-19  Timothy Hatcher  <timothy@apple.com>
4325         Visually distinguish resources that loaded from the memory cache.
4327         https://bugs.webkit.org/show_bug.cgi?id=14279
4329         Reviewed by Dan Bernstein.
4331         * English.lproj/localizedStrings.js: New string.
4332         * inspector/front-end/Images/timelineHollowPillBlue.png: Added.
4333         * inspector/front-end/Images/timelineHollowPillGray.png: Added.
4334         * inspector/front-end/Images/timelineHollowPillGreen.png: Added.
4335         * inspector/front-end/Images/timelineHollowPillOrange.png: Added.
4336         * inspector/front-end/Images/timelineHollowPillPurple.png: Added.
4337         * inspector/front-end/Images/timelineHollowPillRed.png: Added.
4338         * inspector/front-end/Images/timelineHollowPillYellow.png: Added.
4339         * inspector/front-end/ResourcesPanel.js:
4340         (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels):
4341         Add the "(from cache)" suffix to the tooltip.
4342         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
4343         Add the "(from cache)" suffix to the tooltip.
4344         (WebInspector.ResourceGraph): Add the "resource-cached" class.
4345         * inspector/front-end/inspector.css: New styles to make the timeline
4346         bars use the hollow pill images.
4348 2008-10-19  Timothy Hatcher  <timothy@apple.com>
4350         Update the scroll position in the Resources panel when loading
4351         a new page or toggling on small resource rows.
4353         https://bugs.webkit.org/show_bug.cgi?id=20114
4355         Reviewed by Darin Adler.
4357         * inspector/front-end/ResourcesPanel.js:
4358         (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top,
4359         since all the resource are being removed.
4360         (WebInspector.ResourcesPanel.prototype.removeResource): Call
4361         _adjustScrollPosition in case the view is shorter and needs scrolled.
4362         (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto.
4363         (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check
4364         the height of the sidebar against the scrollTop and height of the
4365         resourcesContainerElement. If the sidebar is shorter, scroll up
4366         so the last resource is at the bottom again.
4368 2008-10-19  Timothy Hatcher  <timothy@apple.com>
4370         Show per resource times and sizes when hovering over the bar graph for a resource.
4372         https://bugs.webkit.org/show_bug.cgi?id=14300
4373         rdar://problem/5712802
4375         Reviewed by Cameron Zwarich.
4377         * English.lproj/localizedStrings.js: Add new strings.
4378         * inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
4379         * inspector/front-end/Images/graphLabelCalloutRight.png: Added.
4380         * inspector/front-end/ResourcesPanel.js:
4381         (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the
4382         ResourceGraph.refresh function.
4383         (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation
4384         returns the formatted value.
4385         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values
4386         for the latency and download times. Also generate a custom tooltip.
4387         (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions.
4388         (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions
4389         in case the bar has changed size.
4390         (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
4391         * inspector/front-end/inspector.css: New styles for the labels.
4393 2008-10-19  Darin Adler  <darin@apple.com>
4395         Reviewed by Oliver Hunt.
4397         - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
4398           improve performance by eliminating JSValue as a base class for JSCell
4400         Remove most uses of JSValue, which will be removed in a future patch.
4402         * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
4403         and used JSValuePtr instead.
4404         * bindings/js/JSEventTarget.h: Ditto.
4405         * bindings/js/JSNodeFilterCondition.h: Ditto.
4406         * bindings/js/ScheduledAction.h: Ditto.
4407         * bindings/js/ScriptController.h: Ditto.
4408         * bindings/objc/WebScriptObjectPrivate.h: Ditto.
4409         * bridge/c/c_utility.h: Ditto.
4410         * bridge/jni/jni_jsobject.h: Ditto.
4411         * bridge/jni/jni_utility.h: Ditto.
4412         * bridge/objc/WebScriptObject.h: Ditto.
4413         * dom/Traversal.h: Ditto.
4414         * inspector/InspectorController.cpp: Ditto.
4415         * inspector/JavaScriptProfile.h: Ditto.
4416         * inspector/JavaScriptProfileNode.h: Ditto.
4417         * loader/FrameLoader.h: Ditto.
4418         * page/Console.h: Ditto.
4419         * plugins/MimeTypeArray.h: Ditto.
4420         * plugins/Plugin.h: Ditto.
4421         * plugins/PluginArray.h: Ditto.
4422         * plugins/PluginView.cpp:
4423         (WebCore::getString): Ditto.
4424         (WebCore::PluginView::performRequest): Ditto.
4425         * plugins/gtk/PluginViewGtk.cpp: Ditto.
4426         * plugins/qt/PluginViewQt.cpp: Ditto.
4427         * plugins/win/PluginViewWin.cpp: Ditto.
4429         * bridge/qt/qt_class.cpp:
4430         (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
4431         instead of JSValue*.
4432         * bridge/qt/qt_class.h: Ditto.
4433         * bridge/qt/qt_instance.cpp:
4434         (JSC::Bindings::QtInstance::mark): Ditto.
4435         (JSC::Bindings::QtInstance::invokeMethod): Ditto.
4436         (JSC::Bindings::QtInstance::defaultValue): Ditto.
4437         (JSC::Bindings::QtInstance::stringValue): Ditto.
4438         (JSC::Bindings::QtInstance::numberValue): Ditto.
4439         (JSC::Bindings::QtInstance::booleanValue): Ditto.
4440         (JSC::Bindings::QtInstance::valueOf): Ditto.
4441         (JSC::Bindings::QtField::valueFromInstance): Ditto.
4442         (JSC::Bindings::QtField::setValueToInstance): Ditto.
4443         * bridge/qt/qt_instance.h: Ditto.
4444         * bridge/qt/qt_runtime.cpp: Ditto.
4445         (JSC::Bindings::valueRealType): Ditto.
4446         (JSC::Bindings::convertValueToQVariant): Ditto.
4447         (JSC::Bindings::convertQVariantToValue): Ditto.
4448         (JSC::Bindings::findMethodIndex): Ditto.
4449         (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
4450         (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
4451         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
4452         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
4453         (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
4454         (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
4455         (JSC::Bindings::QtArray::setValueAt): Ditto.
4456         (JSC::Bindings::QtArray::valueAt): Ditto.
4457         * bridge/qt/qt_runtime.h: Ditto.
4459         * bridge/testqtbindings.cpp:
4460         (main): Use JSValuePtr.
4462 2008-10-18  Darin Adler  <darin@apple.com>
4464         Reviewed by Oliver Hunt.
4466         - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
4467           improve performance by eliminating JSValue as a base class for JSCell
4469         Tweak a little more to get closer to where we can make JSValuePtr a class.
4471         * bindings/js/JSAudioConstructor.cpp:
4472         (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject.
4473         (WebCore::constructAudio): Ditto.
4474         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
4475         (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
4477         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
4478         (WebCore::toHTMLCanvasStyle): Use asString and asObject.
4479         (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto.
4480         (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto.
4481         (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto.
4482         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto.
4483         (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto.
4484         (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
4486         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
4487         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
4489         * bindings/js/JSDOMBinding.cpp:
4490         (WebCore::setDOMException): Use noValue.
4492         * bindings/js/JSDOMBinding.h:
4493         (WebCore::getDOMPrototype): Use asObject.
4495         * bindings/js/JSDOMWindowBase.cpp:
4496         (WebCore::showModalDialog): Use noValue.
4497         (jsDOMWindowBaseEvent): Use asObject.
4498         (jsDOMWindowBaseImage): Ditto.
4499         (jsDOMWindowBaseMessageChannel): Ditto.
4500         (jsDOMWindowBaseOption): Ditto.
4501         (jsDOMWindowBaseXMLHttpRequest): Ditto.
4502         (jsDOMWindowBaseAudio): Ditto.
4503         (jsDOMWindowBaseXSLTProcessor): Ditto.
4504         (WebCore::JSDOMWindowBase::childFrameGetter): Ditto.
4505         (WebCore::JSDOMWindowBase::indexGetter): Ditto.
4506         (WebCore::JSDOMWindowBase::namedItemGetter): Ditto.
4507         (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto.
4508         (WebCore::JSDOMWindowBase::findJSEventListener): Ditto.
4509         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto.
4510         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto.
4511         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto.
4512         (windowProtoFuncOpen): Use noValue.
4513         (WebCore::toJSDOMWindow): Use asObject.
4515         * bindings/js/JSDOMWindowCustom.cpp:
4516         (WebCore::setTimeoutOrInterval): Use asString.
4517         (WebCore::toDOMWindow): Use asObject.
4519         * bindings/js/JSEventListener.cpp:
4520         (WebCore::JSAbstractEventListener::handleEvent): Use noValue.
4521         (WebCore::JSLazyEventListener::parseCode): Use asObject.
4523         * bindings/js/JSHTMLCollectionCustom.cpp:
4524         (WebCore::JSHTMLCollection::nameGetter): Use asObject.
4525         * bindings/js/JSHTMLDocumentCustom.cpp:
4526         (WebCore::JSHTMLDocument::nameGetter): Ditto.
4527         * bindings/js/JSHTMLElementCustom.cpp:
4528         (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
4529         * bindings/js/JSHTMLFormElementCustom.cpp:
4530         (WebCore::JSHTMLFormElement::nameGetter): Ditto.
4531         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
4532         (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
4533         * bindings/js/JSHTMLOptionElementConstructor.cpp:
4534         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
4535         (WebCore::constructHTMLOptionElement): Ditto.
4536         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
4537         (WebCore::JSHTMLOptionsCollection::remove): Ditto.
4538         * bindings/js/JSImageConstructor.cpp:
4539         (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
4540         (WebCore::constructImage): Ditto.
4541         * bindings/js/JSInspectedObjectWrapper.cpp:
4542         (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
4543         * bindings/js/JSInspectorCallbackWrapper.cpp:
4544         (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
4546         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
4547         (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
4549         * bindings/js/JSMessageChannelConstructor.cpp:
4550         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject.
4551         (WebCore::JSMessageChannelConstructor::construct): Ditto.
4552         * bindings/js/JSMimeTypeArrayCustom.cpp:
4553         (WebCore::JSMimeTypeArray::nameGetter): Ditto.
4554         * bindings/js/JSNamedNodeMapCustom.cpp:
4555         (WebCore::JSNamedNodeMap::nameGetter): Ditto.
4556         * bindings/js/JSNamedNodesCollection.cpp:
4557         (WebCore::JSNamedNodesCollection::lengthGetter): Ditto.
4558         (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
4559         * bindings/js/JSNodeFilterCustom.cpp:
4560         (WebCore::toNodeFilter): Ditto.
4561         * bindings/js/JSNodeListCustom.cpp:
4562         (WebCore::JSNodeList::nameGetter): Ditto.
4563         * bindings/js/JSPluginArrayCustom.cpp:
4564         (WebCore::JSPluginArray::nameGetter): Ditto.
4565         * bindings/js/JSPluginCustom.cpp:
4566         (WebCore::JSPlugin::nameGetter): Ditto.
4567         * bindings/js/JSPluginElementFunctions.cpp:
4568         (WebCore::runtimeObjectGetter): Ditto.
4569         (WebCore::runtimeObjectPropertyGetter): Ditto.
4570         * bindings/js/JSQuarantinedObjectWrapper.cpp:
4571         (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto.
4572         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto.
4573         (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
4574         * bindings/js/JSRGBColor.cpp:
4575         (jsRGBColorRed): Ditto.
4576         (jsRGBColorGreen): Ditto.
4577         (jsRGBColorBlue): Ditto.
4579         * bindings/js/JSSQLResultSetRowListCustom.cpp:
4580         (WebCore::JSSQLResultSetRowList::item): Use noValue.
4582         * bindings/js/JSStorageCustom.cpp:
4583         (WebCore::JSStorage::nameGetter): Use asObject.
4584         (WebCore::JSStorage::deleteProperty): Ditto.
4585         (WebCore::JSStorage::customPut): Ditto.
4586         * bindings/js/JSStyleSheetListCustom.cpp:
4587         (WebCore::JSStyleSheetList::nameGetter): Ditto.
4588         * bindings/js/JSXMLHttpRequestConstructor.cpp:
4589         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
4590         * bindings/js/JSXSLTProcessorCustom.cpp:
4591         (WebCore::JSXSLTProcessor::importStylesheet): Ditto.
4592         (WebCore::JSXSLTProcessor::transformToFragment): Ditto.
4593         (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
4595         * bindings/js/ScriptController.cpp:
4596         (WebCore::ScriptController::evaluate): Use noValue.
4597         * bindings/objc/DOMInternal.mm:
4598         (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
4600         * bindings/objc/WebScriptObject.mm:
4601         (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr.
4602         (-[WebScriptObject valueForKey:]): Ditto.
4603         (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
4604         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
4605         Use asObject and asString.
4607         * bindings/scripts/CodeGeneratorJS.pm: Use asObject.
4609         * bridge/c/c_instance.h: Use JSValuePtr.
4610         * bridge/c/c_runtime.cpp:
4611         (JSC::Bindings::CField::setValueToInstance): Ditto.
4613         * bridge/c/c_utility.cpp:
4614         (JSC::Bindings::convertValueToNPVariant): Use asObject.
4616         * bridge/jni/jni_instance.cpp:
4617         (JavaInstance::booleanValue): Use JSValuePtr.
4618         (JavaInstance::invokeMethod): Ditto. And noValue.
4619         * bridge/jni/jni_jsobject.mm:
4620         (JavaJSObject::getSlot): Ditto.
4621         (JavaJSObject::convertValueToJObject): Ditto.
4622         * bridge/jni/jni_runtime.cpp:
4623         (JavaField::dispatchValueFromInstance): Ditto.
4624         (JavaField::valueFromInstance): Ditto.
4625         (JavaField::dispatchSetValueToInstance): Ditto.
4626         (JavaField::setValueToInstance): Ditto.
4627         (JavaArray::setValueAt): Ditto.
4628         (JavaArray::valueAt): Ditto.
4629         * bridge/jni/jni_runtime.h: Ditto.
4631         * bridge/jni/jni_utility.cpp:
4632         (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray*
4633         instead of a JSValue*.
4634         (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
4636         * bridge/objc/objc_class.h: Use JSValuePtr.
4637         * bridge/objc/objc_instance.h: Ditto.
4638         * bridge/objc/objc_runtime.h: Ditto.
4640         * bridge/objc/objc_runtime.mm:
4641         (JSC::Bindings::callObjCFallbackObject): Use asObject.
4643         * bridge/objc/objc_utility.h: Use JSValuePtr.
4644         * bridge/objc/objc_utility.mm:
4645         (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject.
4646         (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
4648         * bridge/runtime.cpp:
4649         (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr.
4650         (JSC::Bindings::Instance::setValueOfField): Ditto.
4652         * bridge/runtime_array.cpp:
4653         (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject.
4654         (JSC::RuntimeArray::indexGetter): Ditto.
4655         * bridge/runtime_array.h: Ditto.
4656         * bridge/runtime_method.cpp:
4657         (JSC::RuntimeMethod::lengthGetter): Ditto.
4658         (JSC::callRuntimeMethod): Ditto.
4659         * bridge/runtime_object.cpp:
4660         (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto.
4661         (JSC::RuntimeObjectImp::fieldGetter): Ditto.
4662         (JSC::RuntimeObjectImp::methodGetter): Ditto.
4664         * loader/FrameLoader.cpp:
4665         (WebCore::FrameLoader::executeScript): Use noValue.
4667         * page/Console.cpp:
4668         (WebCore::Console::trace): Use asInternalFunction.
4670 2008-10-19  Dan Bernstein  <mitz@apple.com>
4672         Reviewed by Timothy Hatcher.
4674         - lower the default button repaint frequency
4676         * rendering/RenderButton.cpp:
4677         (WebCore::RenderButton::styleDidChange): Changed the timer interval from
4678         0.01 to 0.03.
4680 2008-10-18  Dan Bernstein  <mitz@apple.com>
4682         Reviewed by Mark Rowe.
4684         - Windows build fix
4686         * rendering/RenderThemeSafari.cpp:
4687         (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
4688         (WebCore::RenderThemeSafari::paintMediaMuteButton):
4689         (WebCore::RenderThemeSafari::paintMediaPlayButton):
4690         (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
4691         (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
4692         (WebCore::RenderThemeSafari::paintMediaSliderThumb):
4694 2008-10-18  Dan Bernstein  <mitz@apple.com>
4696         Reviewed by Sam Weinig.
4698         - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736
4699           Long-dead decoded image data make up for most of the object cache's memory use over time
4701         Add a cache setting for how long decoded image data should be allowed to
4702         persist in memory after the image has died. By default, this is set to
4703         0, which means "forever".
4705         * loader/Cache.cpp:
4706         (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
4707         * loader/Cache.h:
4708         (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter.
4709         (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
4710         * loader/CachedImage.cpp:
4711         (WebCore::CachedImage::CachedImage): Initialize the decoded data
4712         deletion timer.
4713         (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys
4714         the decoded image data.
4715         (WebCore::CachedImage::addClient): Stop the timer if it is active.
4716         (WebCore::CachedImage::allClientsRemoved): Start the decoded data
4717         deletion timer.
4718         * loader/CachedImage.h:
4720 2008-10-18  Darin Adler  <darin@apple.com>
4722         Reviewed by Dan Bernstein.
4724         - fix https://bugs.webkit.org/show_bug.cgi?id=21645
4725           REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form
4727         * html/HTMLFormElement.cpp:
4728         (WebCore::HTMLFormElement::formData):
4729         Fix loop that goes through the FormDataList to go two at a time in a clearer
4730         way. My last patch screwed up the way it got form content from the items.
4731         This "two at a time" approach is a confusing way to do things, which explains
4732         why I got it wrong last time through, but I decided to just fix it locally for
4733         now rather than changing the design of FormDataList.
4735 2008-10-18  Darin Adler  <darin@apple.com>
4737         Reviewed by Cameron Zwarich.
4739         - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
4740           improve performance by eliminating JSValue as a base class for JSCell
4742         Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
4743         changing JSValuePtr to be a class, and then eventually renaming it
4744         to JSValue once that's done.
4746         * bindings/js/JSAttrCustom.cpp:
4747         * bindings/js/JSCSSRuleCustom.cpp:
4748         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
4749         * bindings/js/JSCSSValueCustom.cpp:
4750         * bindings/js/JSCanvasPixelArrayCustom.h:
4751         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
4752         * bindings/js/JSClipboardCustom.cpp:
4753         * bindings/js/JSConsoleCustom.cpp:
4754         * bindings/js/JSCustomSQLStatementCallback.cpp:
4755         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
4756         * bindings/js/JSCustomSQLTransactionCallback.cpp:
4757         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
4758         * bindings/js/JSCustomVoidCallback.cpp:
4759         * bindings/js/JSCustomVoidCallback.h:
4760         * bindings/js/JSCustomXPathNSResolver.cpp:
4761         * bindings/js/JSDOMApplicationCacheCustom.cpp:
4762         * bindings/js/JSDOMBinding.cpp:
4763         * bindings/js/JSDOMBinding.h:
4764         * bindings/js/JSDOMWindowBase.cpp:
4765         * bindings/js/JSDOMWindowBase.h:
4766         * bindings/js/JSDOMWindowCustom.cpp:
4767         * bindings/js/JSDOMWindowCustom.h:
4768         * bindings/js/JSDOMWindowShell.cpp:
4769         * bindings/js/JSDOMWindowShell.h:
4770         * bindings/js/JSDatabaseCustom.cpp:
4771         * bindings/js/JSDocumentCustom.cpp:
4772         * bindings/js/JSElementCustom.cpp:
4773         * bindings/js/JSEventCustom.cpp:
4774         * bindings/js/JSEventListener.cpp:
4775         * bindings/js/JSEventTarget.cpp:
4776         * bindings/js/JSEventTargetBase.h:
4777         * bindings/js/JSEventTargetNodeCustom.cpp:
4778         * bindings/js/JSHTMLAllCollection.h:
4779         * bindings/js/JSHTMLAppletElementCustom.cpp:
4780         * bindings/js/JSHTMLCollectionCustom.cpp:
4781         * bindings/js/JSHTMLDocumentCustom.cpp:
4782         * bindings/js/JSHTMLEmbedElementCustom.cpp:
4783         * bindings/js/JSHTMLFormElementCustom.cpp:
4784         * bindings/js/JSHTMLFrameElementCustom.cpp:
4785         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
4786         * bindings/js/JSHTMLIFrameElementCustom.cpp:
4787         * bindings/js/JSHTMLInputElementCustom.cpp:
4788         * bindings/js/JSHTMLObjectElementCustom.cpp:
4789         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
4790         * bindings/js/JSHTMLSelectElementCustom.cpp:
4791         * bindings/js/JSHTMLSelectElementCustom.h:
4792         * bindings/js/JSHistoryCustom.cpp:
4793         * bindings/js/JSImageDataCustom.cpp:
4794         * bindings/js/JSInspectedObjectWrapper.cpp:
4795         * bindings/js/JSInspectedObjectWrapper.h:
4796         * bindings/js/JSInspectorCallbackWrapper.cpp:
4797         * bindings/js/JSInspectorCallbackWrapper.h:
4798         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
4799         * bindings/js/JSLocationCustom.cpp:
4800         * bindings/js/JSMessagePortCustom.cpp:
4801         * bindings/js/JSMimeTypeArrayCustom.cpp:
4802         * bindings/js/JSNamedNodeMapCustom.cpp:
4803         * bindings/js/JSNamedNodesCollection.cpp:
4804         * bindings/js/JSNamedNodesCollection.h:
4805         * bindings/js/JSNavigatorCustom.cpp:
4806         * bindings/js/JSNodeCustom.cpp:
4807         * bindings/js/JSNodeFilterCondition.cpp:
4808         * bindings/js/JSNodeFilterCustom.cpp:
4809         * bindings/js/JSNodeIteratorCustom.cpp:
4810         * bindings/js/JSNodeListCustom.cpp:
4811         * bindings/js/JSPluginArrayCustom.cpp:
4812         * bindings/js/JSPluginCustom.cpp:
4813         * bindings/js/JSPluginElementFunctions.cpp:
4814         * bindings/js/JSPluginElementFunctions.h:
4815         * bindings/js/JSQuarantinedObjectWrapper.cpp:
4816         * bindings/js/JSQuarantinedObjectWrapper.h:
4817         * bindings/js/JSRGBColor.cpp:
4818         * bindings/js/JSRGBColor.h:
4819         * bindings/js/JSSQLResultSetRowListCustom.cpp:
4820         * bindings/js/JSSQLTransactionCustom.cpp:
4821         * bindings/js/JSSVGElementInstanceCustom.cpp:
4822         * bindings/js/JSSVGLengthCustom.cpp:
4823         * bindings/js/JSSVGMatrixCustom.cpp:
4824         * bindings/js/JSSVGPathSegCustom.cpp:
4825         * bindings/js/JSSVGPathSegListCustom.cpp:
4826         * bindings/js/JSSVGPointListCustom.cpp:
4827         * bindings/js/JSSVGTransformListCustom.cpp:
4828         * bindings/js/JSStorageCustom.cpp:
4829         * bindings/js/JSStyleSheetCustom.cpp:
4830         * bindings/js/JSStyleSheetListCustom.cpp:
4831         * bindings/js/JSTextCustom.cpp:
4832         * bindings/js/JSTreeWalkerCustom.cpp:
4833         * bindings/js/JSXMLHttpRequestCustom.cpp:
4834         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4835         * bindings/js/JSXSLTProcessorCustom.cpp:
4836         * bindings/js/ScheduledAction.cpp:
4837         * bindings/js/ScheduledAction.h:
4838         * bindings/js/ScriptController.cpp:
4839         * bindings/js/ScriptController.h:
4840         * bindings/objc/WebScriptObject.mm:
4841         * bindings/scripts/CodeGeneratorJS.pm:
4842         * bridge/NP_jsobject.cpp:
4843         * bridge/c/c_instance.cpp:
4844         * bridge/c/c_instance.h:
4845         * bridge/c/c_runtime.cpp:
4846         * bridge/c/c_runtime.h:
4847         * bridge/c/c_utility.cpp:
4848         * bridge/jni/jni_instance.cpp:
4849         * bridge/jni/jni_instance.h:
4850         * bridge/jni/jni_jsobject.mm:
4851         * bridge/jni/jni_objc.mm:
4852         * bridge/jni/jni_runtime.cpp:
4853         * bridge/jni/jni_runtime.h:
4854         * bridge/jni/jni_utility.cpp:
4855         * bridge/objc/objc_class.mm:
4856         * bridge/objc/objc_instance.h:
4857         * bridge/objc/objc_instance.mm:
4858         * bridge/objc/objc_runtime.h:
4859         * bridge/objc/objc_runtime.mm:
4860         * bridge/objc/objc_utility.h:
4861         * bridge/objc/objc_utility.mm:
4862         * bridge/runtime.h:
4863         * bridge/runtime_array.cpp:
4864         * bridge/runtime_array.h:
4865         * bridge/runtime_method.cpp:
4866         * bridge/runtime_method.h:
4867         * bridge/runtime_object.cpp:
4868         * bridge/runtime_object.h:
4869         * inspector/JavaScriptCallFrame.cpp:
4870         * inspector/JavaScriptCallFrame.h:
4871         * inspector/JavaScriptProfile.cpp:
4872         * inspector/JavaScriptProfileNode.cpp:
4873         * loader/FrameLoader.cpp:
4874         * loader/FrameLoader.h:
4875         * page/Console.cpp:
4876         * page/Console.h:
4877         * plugins/MimeTypeArray.h:
4878         * plugins/Plugin.h:
4879         * plugins/PluginArray.h:
4880         * xml/XMLHttpRequest.cpp:
4881         Replace JSValue* with JSValuePtr.
4883 2008-10-18  Darin Adler  <darin@apple.com>
4885         Reviewed by Oliver Hunt.
4887         - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
4888           improve performance by eliminating JSValue as a base class for JSCell
4890         Update for change to make PreferredPrimitiveType no longer
4891         a member of JSValue.
4893         * bridge/c/c_instance.cpp:
4894         (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
4895         * bridge/jni/jni_instance.cpp:
4896         (JavaInstance::defaultValue): Ditto.
4897         * bridge/objc/objc_instance.mm:
4898         (ObjcInstance::defaultValue): Ditto.
4899         * bridge/qt/qt_instance.cpp:
4900         (JSC::Bindings::QtInstance::defaultValue): Ditto.
4901         * bridge/runtime.h: Ditto. Also removed typedef.
4903 2008-10-18  Darin Adler  <darin@apple.com>
4905         - try to fix Windows build
4907         * rendering/RenderThemeSafari.cpp:
4908         (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with
4909         SafariTheme namespace, since there is now an identically named constant in
4910         the ControlPart enum.
4911         (WebCore::RenderThemeSafari::paintButton): Ditto.
4912         (WebCore::RenderThemeSafari::paintTextField): Ditto.
4913         (WebCore::RenderThemeSafari::paintTextArea): Ditto.
4914         (WebCore::RenderThemeSafari::paintSearchField): Ditto.
4915         (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto.
4916         (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto.
4917         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
4919 2008-10-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
4921         Reviewed by Alp Toker.
4923         [GTK] crash after selecting a file on an <input type=file>
4924         https://bugs.webkit.org/show_bug.cgi?id=21385
4926         Follow Mac and Win's behaviors for Icon::paint
4928         * platform/graphics/gtk/IconGtk.cpp:
4929         (WebCore::Icon::paint): check if painting is enabled before
4930         painting the icon
4932 2008-10-18  Zan Dobersek  <zandobersek@gmail.com>
4934         Reviewed by Oliver Hunt.
4936         Qt port build fix.
4938         * platform/qt/RenderThemeQt.h:
4940 2008-10-17  Kevin Watters  <kevinwatters@gmail.com>
4942         Reviewed by Kevin Ollivier
4943         
4944         Fix wx port's scrollbar and drawing handling after recent changes.
4945         
4946         https://bugs.webkit.org/show_bug.cgi?id=21720
4948         * platform/ScrollView.h:
4949         * platform/wx/ScrollViewWx.cpp:
4950         (WebCore::ScrollView::platformVisibleContentRect):
4951         (WebCore::ScrollView::platformContentsSize):
4952         (WebCore::ScrollView::platformSetContentsSize):
4953         * platform/wx/WidgetWx.cpp:
4954         (WebCore::Widget::paint):
4956 2008-10-17  Kevin Ollivier  <kevino@theolliviers.com>
4958         wx build fix. EAppearance -> ControlPart.
4960         * platform/wx/RenderThemeWx.cpp:
4961         (WebCore::RenderThemeWx::isControlStyled):
4962         (WebCore::RenderThemeWx::adjustRepaintRect):
4963         (WebCore::RenderThemeWx::controlSupportsTints):
4964         (WebCore::RenderThemeWx::supportsFocus):
4965         (WebCore::RenderThemeWx::paintButton):
4967 2008-10-17  David Hyatt  <hyatt@apple.com>
4969         Eliminate the EAppearance enum in favor of the new ControlPart enum.  Cut out the scrollbar
4970         values from the enum since they are handled by ScrollbarTheme instead.
4972         Reviewed by Tim Hatcher
4974         * css/CSSPrimitiveValueMappings.h:
4975         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
4976         (WebCore::CSSPrimitiveValue::operator ControlPart):
4977         * css/CSSStyleSelector.cpp:
4978         (WebCore::CSSStyleSelector::adjustRenderStyle):
4979         * css/CSSValueKeywords.in:
4980         * platform/gtk/RenderThemeGtk.cpp:
4981         (WebCore::supportsFocus):
4982         (WebCore::RenderThemeGtk::baselinePosition):
4983         (WebCore::setToggleSize):
4984         (WebCore::RenderThemeGtk::setCheckboxSize):
4985         (WebCore::RenderThemeGtk::setRadioSize):
4986         (WebCore::RenderThemeGtk::adjustButtonStyle):
4987         * platform/qt/RenderThemeQt.cpp:
4988         (WebCore::RenderThemeQt::baselinePosition):
4989         (WebCore::RenderThemeQt::controlSupportsTints):
4990         (WebCore::RenderThemeQt::adjustRepaintRect):
4991         (WebCore::RenderThemeQt::isControlStyled):
4992         (WebCore::computeSizeBasedOnStyle):
4993         (WebCore::RenderThemeQt::paintButton):
4994         (WebCore::RenderThemeQt::paintTextField):
4995         (WebCore::RenderThemeQt::paintMenuList):
4996         (WebCore::RenderThemeQt::supportsFocus):
4997         (WebCore::RenderThemeQt::applyTheme):
4998         (WebCore::RenderThemeQt::adjustSliderThumbSize):
4999         * platform/qt/RenderThemeQt.h:
5000         * rendering/RenderSlider.cpp:
5001         (WebCore::RenderSlider::createThumbStyle):
5002         (WebCore::RenderSlider::layout):
5003         (WebCore::RenderSlider::setValueForPosition):
5004         (WebCore::RenderSlider::setPositionFromValue):
5005         (WebCore::RenderSlider::positionForOffset):
5006         (WebCore::RenderSlider::currentPosition):
5007         (WebCore::RenderSlider::setCurrentPosition):
5008         (WebCore::RenderSlider::trackSize):
5009         * rendering/RenderTheme.cpp:
5010         (WebCore::RenderTheme::adjustStyle):
5011         (WebCore::RenderTheme::paint):
5012         (WebCore::RenderTheme::paintBorderOnly):
5013         (WebCore::RenderTheme::paintDecorations):
5014         (WebCore::RenderTheme::isControlContainer):
5015         (WebCore::RenderTheme::isControlStyled):
5016         (WebCore::RenderTheme::supportsFocusRing):
5017         (WebCore::RenderTheme::isDefault):
5018         * rendering/RenderTheme.h:
5019         * rendering/RenderThemeMac.mm:
5020         (WebCore::RenderThemeMac::isControlStyled):
5021         (WebCore::RenderThemeMac::adjustRepaintRect):
5022         (WebCore::RenderThemeMac::baselinePosition):
5023         (WebCore::RenderThemeMac::controlSupportsTints):
5024         (WebCore::RenderThemeMac::adjustButtonStyle):
5025         (WebCore::RenderThemeMac::setButtonCellState):
5026         (WebCore::RenderThemeMac::popupInternalPaddingLeft):
5027         (WebCore::RenderThemeMac::popupInternalPaddingRight):
5028         (WebCore::RenderThemeMac::popupInternalPaddingTop):
5029         (WebCore::RenderThemeMac::popupInternalPaddingBottom):
5030         (WebCore::RenderThemeMac::paintSliderTrack):
5031         (WebCore::RenderThemeMac::paintSliderThumb):
5032         (WebCore::RenderThemeMac::adjustSliderThumbSize):
5033         * rendering/RenderThemeSafari.cpp:
5034         (WebCore::RenderThemeSafari::isControlStyled):
5035         (WebCore::RenderThemeSafari::adjustRepaintRect):
5036         (WebCore::RenderThemeSafari::baselinePosition):
5037         (WebCore::RenderThemeSafari::controlSupportsTints):
5038         (WebCore::RenderThemeSafari::adjustButtonStyle):
5039         (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
5040         (WebCore::RenderThemeSafari::popupInternalPaddingRight):
5041         (WebCore::RenderThemeSafari::popupInternalPaddingTop):
5042         (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
5043         (WebCore::RenderThemeSafari::paintSliderTrack):
5044         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
5045         * rendering/RenderThemeWin.cpp:
5046         (WebCore::RenderThemeWin::supportsFocus):
5047         (WebCore::RenderThemeWin::determineClassicState):
5048         (WebCore::RenderThemeWin::getClassicThemeData):
5049         (WebCore::RenderThemeWin::getThemeData):
5050         (WebCore::drawControl):
5051         (WebCore::RenderThemeWin::paintSliderTrack):
5052         (WebCore::RenderThemeWin::adjustSliderThumbSize):
5053         * rendering/RenderThemeWin.h:
5054         * rendering/style/RenderStyle.h:
5055         (WebCore::InheritedFlags::hasAppearance):
5056         (WebCore::InheritedFlags::appearance):
5057         (WebCore::InheritedFlags::setAppearance):
5058         (WebCore::InheritedFlags::initialAppearance):
5059         * rendering/style/RenderStyleConstants.h:
5061 2008-10-17  David Hyatt  <hyatt@apple.com>
5063         Beginning of the RenderTheme re-architecture (to share more code).  Add the new Theme API header
5064         file.  Add new USE(NEW_THEME) switch that is enabled on Mac.  The Mac theme will be converted first.
5066         Reviewed by Tim Hatcher
5068         * WebCore.vcproj/WebCore.vcproj:
5069         * WebCore.xcodeproj/project.pbxproj:
5070         * config.h:
5071         * platform/Theme.h: Added.
5072         (WebCore::Theme::Theme):
5073         (WebCore::Theme::~Theme):
5074         (WebCore::Theme::baselinePositionAdjustment):
5075         (WebCore::Theme::controlHasInactiveAppearance):
5076         (WebCore::Theme::controlsCanHaveInactiveAppearance):
5077         (WebCore::Theme::controlsCanHaveHoveredAppearance):
5078         (WebCore::Theme::controlDrawsBorder):
5079         (WebCore::Theme::controlDrawsBackground):
5080         (WebCore::Theme::controlDrawsFocusOutline):
5081         (WebCore::Theme::selectionColor):
5082         (WebCore::Theme::textSearchHighlightColor):
5083         (WebCore::Theme::systemColor):
5084         (WebCore::Theme::systemFont):
5085         (WebCore::Theme::caretBlinkFrequency):
5086         (WebCore::Theme::themeChanged):
5087         (WebCore::Theme::controlSize):
5088         (WebCore::Theme::controlFont):
5089         (WebCore::Theme::controlPadding):
5090         (WebCore::Theme::controlInternalPadding):
5091         (WebCore::Theme::controlBorder):
5092         (WebCore::Theme::controlBorderRadius):
5093         (WebCore::Theme::paint):
5094         (WebCore::Theme::inflateControlPaintRect):
5095         * platform/ThemeTypes.h: Added.
5096         (WebCore::):
5097         (WebCore::ControlBox::ControlBox):
5098         (WebCore::ControlBox::top):
5099         (WebCore::ControlBox::right):
5100         (WebCore::ControlBox::bottom):
5101         (WebCore::ControlBox::left):
5102         * platform/mac/ThemeMac.h: Added.
5103         (WebCore::ThemeMac::ThemeMac):
5104         (WebCore::ThemeMac::~ThemeMac):
5105         * platform/mac/ThemeMac.mm: Added.
5106         (WebCore::platformTheme):
5107         * rendering/RenderTheme.cpp:
5108         (WebCore::RenderTheme::RenderTheme):
5109         * rendering/RenderTheme.h:
5111 2008-10-17  Marco Barisione  <marco.barisione@collabora.co.uk>
5113         Reviewed by Sam Weinig. Landed by Jan Alonzo.
5115         https://bugs.webkit.org/show_bug.cgi?id=21603
5116         [GTK] Minor fixes to GOwnPtr
5118         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
5119         (WebCore::mediaPlayerPrivateErrorCallback):
5121 2008-10-17  Timothy Hatcher  <timothy@apple.com>
5123         Recompile the JavaScript functions when removing any listener, so functions that are
5124         not being debugged can resume normal speed again.
5126         https://bugs.webkit.org/show_bug.cgi?id=21715
5128         Reviewed by Geoffrey Garen.
5130         * bindings/js/JSDOMWindowBase.cpp:
5131         (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
5132         was firing when closing the window and having the recompile fire after. This was an
5133         overzelious assert now.
5134         * inspector/JavaScriptDebugServer.cpp:
5135         (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
5136         (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
5138 2008-10-17  Timothy Hatcher  <timothy@apple.com>
5140         Fixes a regression where starting a debugging session in
5141         another Web Inspector window would not show any scripts.
5142         Also only attach the debugger to only the required Pages.
5144         https://bugs.webkit.org/show_bug.cgi?id=21708
5146         Reviewed by Darin Adler.
5148         * inspector/JavaScriptDebugServer.cpp:
5149         (WebCore::JavaScriptDebugServer::addListener): Add an assert and
5150         remove the call to willAddFirstListener(). Add a call to
5151         didAddListener().
5152         (WebCore::JavaScriptDebugServer::removeListener): Add an assert
5153         and call to didRemoveListener().
5154         (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
5155         if there is a listener interested in the new Page.
5156         (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
5157         Use hasGlobalListeners() instead of isEmpty().
5158         (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
5159         (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
5160         debugger to the page if non-null, or all pages if page is null.
5161         (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
5162         the debugger only if there are no interested listeners.
5163         (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
5164         call to Page::setDebuggerForAllPages().
5165         * inspector/JavaScriptDebugServer.h:
5166         (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
5168 2008-10-15  Brett Wilson  <brettw@chromium.org>
5170         Reviewed by Timothy Hatcher.
5172         Have ImageDocument generate its own filename for the title of images
5173         without relying on the suggested filename from the network layer, which
5174         may be nonexistant or not relevant.
5175         https://bugs.webkit.org/show_bug.cgi?id=21565
5177         * loader/ImageDocument.cpp:
5178         (WebCore::ImageTokenizer::finish):
5180 2008-10-17  Alexey Proskuryakov  <ap@webkit.org>
5182         Non-Mac build fix.
5184         * GNUmakefile.am:
5185         * WebCore.pro:
5186         * WebCore.vcproj/WebCore.vcproj:
5187         * WebCoreSources.bkl:
5188         Added ActiveDOMObject to the build.
5190 2008-10-17  Alexey Proskuryakov  <ap@webkit.org>
5192         Reviewed by Sam Weinig.
5194         https://bugs.webkit.org/show_bug.cgi?id=21642
5195         Abstract out active object tracking
5197         * WebCore.xcodeproj/project.pbxproj:
5198         * bindings/js/JSDOMBinding.cpp:
5199         (WebCore::markActiveObjectsForDocument):
5200         * dom/ActiveDOMObject.cpp: Added.
5201         (WebCore::ActiveDOMObject::ActiveDOMObject):
5202         (WebCore::ActiveDOMObject::~ActiveDOMObject):
5203         (WebCore::ActiveDOMObject::contextDestroyed):
5204         (WebCore::ActiveDOMObject::stop):
5205         * dom/ActiveDOMObject.h: Added.
5206         (WebCore::ActiveDOMObject::document):
5207         (WebCore::ActiveDOMObject::hasPendingActivity):
5208         (WebCore::ActiveDOMObject::setPendingActivity):
5209         (WebCore::ActiveDOMObject::unsetPendingActivity):
5210         * dom/Document.cpp:
5211         (WebCore::Document::~Document):
5212         (WebCore::Document::stopActiveDOMObjects):
5213         (WebCore::Document::createdActiveDOMObject):
5214         (WebCore::Document::destroyedActiveDOMObject):
5215         * dom/Document.h:
5216         (WebCore::Document::activeDOMObjects):
5217         * dom/MessagePort.cpp:
5218         (WebCore::MessagePort::contextDestroyed):
5219         * dom/MessagePort.h:
5220         * loader/FrameLoader.cpp:
5221         (WebCore::FrameLoader::stopLoading):
5222         * xml/XMLHttpRequest.cpp:
5223         (WebCore::XMLHttpRequest::XMLHttpRequest):
5224         (WebCore::XMLHttpRequest::~XMLHttpRequest):
5225         (WebCore::XMLHttpRequest::associatedFrame):
5226         (WebCore::XMLHttpRequest::responseXML):
5227         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
5228         (WebCore::XMLHttpRequest::initSend):
5229         (WebCore::XMLHttpRequest::send):
5230         (WebCore::XMLHttpRequest::createRequest):
5231         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
5232         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
5233         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
5234         (WebCore::XMLHttpRequest::loadRequestSynchronously):
5235         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
5236         (WebCore::XMLHttpRequest::dropProtection):
5237         (WebCore::XMLHttpRequest::setRequestHeader):
5238         (WebCore::XMLHttpRequest::processSyncLoadResults):
5239         (WebCore::XMLHttpRequest::didFinishLoading):
5240         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
5241         (WebCore::XMLHttpRequest::willSendRequest):
5242         (WebCore::XMLHttpRequest::accessControlCheck):
5243         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
5244         (WebCore::XMLHttpRequest::stop):
5245         (WebCore::XMLHttpRequest::contextDestroyed):
5246         * xml/XMLHttpRequest.h:
5247         Move activity tracking to a new ActiveDOMObject class.
5249 2008-10-16  David Hyatt  <hyatt@apple.com>
5251         Simplify styleForRenderer to avoid confusion.  Callers in the SVG filter code thought "forRenderer" meant
5252         they would be given a style that corresponded to the RenderObject* passed in.  This is not what the code
5253         did though.  This patch removes the renderer argument and the Element subclass shadow implementation
5254         so that confusion like this can't occur again.
5256         Reviewed by Oliver Hunt
5258         * dom/Element.cpp:
5259         * dom/Element.h:
5260         * dom/Node.cpp:
5261         (WebCore::Node::createRendererIfNeeded):
5262         (WebCore::Node::styleForRenderer):
5263         * dom/Node.h:
5264         * html/HTMLOptGroupElement.cpp:
5265         (WebCore::HTMLOptGroupElement::attach):
5266         * html/HTMLOptionElement.cpp:
5267         (WebCore::HTMLOptionElement::attach):
5268         * svg/SVGClipPathElement.cpp:
5269         (WebCore::SVGClipPathElement::canvasResource):
5270         * svg/SVGFEDiffuseLightingElement.cpp:
5271         (WebCore::SVGFEDiffuseLightingElement::build):
5272         * svg/SVGFEFloodElement.cpp:
5273         (WebCore::SVGFEFloodElement::build):
5274         * svg/SVGFESpecularLightingElement.cpp:
5275         (WebCore::SVGFESpecularLightingElement::build):
5276         * svg/SVGGradientElement.cpp:
5277         (WebCore::SVGGradientElement::buildStops):
5278         * svg/SVGUseElement.cpp:
5279         (WebCore::SVGUseElement::attachShadowTree):
5281 2008-10-16  David Hyatt  <hyatt@apple.com>
5283         https://bugs.webkit.org/attachment.cgi?bugid=21647
5285         Make RenderStyle inherit from RefCounted so that it works with RefPtr.  RenderStyle was being malloced
5286         out of the RenderArena.  Years and years ago (before TCMalloc), the plan was to make RenderStyles and
5287         all their associated sub-structs use the arena.  However only the RenderStyle itself was ever changed
5288         to use the arena.
5290         At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
5291         as the bulk of the styles on a given page are actually shared.  Not ever making the sub-structs use the
5292         arena also limited the usefulness.
5294         Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
5295         mallocs, there is no reason to keep RenderStyles in the arena.  The benefits of being able to eliminate
5296         manual ref/deref far outweigh keeping them in the arena.
5298         Reviewed by Adam Roben
5300         * css/CSSStyleSelector.cpp:
5301         (WebCore::CSSStyleSelector::CSSStyleSelector):
5302         (WebCore::CSSStyleSelector::~CSSStyleSelector):
5303         (WebCore::CSSStyleSelector::styleForElement):
5304         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
5305         (WebCore::CSSStyleSelector::pseudoStyleForElement):
5306         These methods now return a PassRefPtr.  They will null out the m_style variable as they hand it back
5307         so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
5309         (WebCore::CSSStyleSelector::updateFont):
5310         (WebCore::CSSStyleSelector::checkSelector):
5311         (WebCore::CSSStyleSelector::applyProperty):
5312         (WebCore::CSSStyleSelector::mapFillSize):
5313         (WebCore::CSSStyleSelector::mapFillXPosition):
5314         (WebCore::CSSStyleSelector::mapFillYPosition):
5315         * css/CSSStyleSelector.h:
5316         (WebCore::CSSStyleSelector::style):
5317         * dom/Document.cpp:
5318         (WebCore::Document::recalcStyle):
5319         * dom/Element.cpp:
5320         (WebCore::Element::styleForRenderer):
5321         (WebCore::Element::recalcStyle):
5322         (WebCore::Element::computedStyle):
5323         * dom/Element.h:
5324         * dom/ElementRareData.h:
5325         (WebCore::ElementRareData::ElementRareData):
5326         (WebCore::ElementRareData::resetComputedStyle):
5327         * dom/Node.cpp:
5328         (WebCore::Node::diff):
5329         (WebCore::Node::createRendererIfNeeded):
5330         (WebCore::Node::styleForRenderer):
5331         (WebCore::Node::setRenderStyle):
5332         * dom/Node.h:
5333         * html/CanvasRenderingContext2D.cpp:
5334         (WebCore::CanvasRenderingContext2D::setFont):
5335         * html/HTMLOptGroupElement.cpp:
5336         (WebCore::HTMLOptGroupElement::attach):
5337         (WebCore::HTMLOptGroupElement::detach):
5338         (WebCore::HTMLOptGroupElement::setRenderStyle):
5339         (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
5340         * html/HTMLOptGroupElement.h:
5341         * html/HTMLOptionElement.cpp:
5342         (WebCore::HTMLOptionElement::attach):
5343         (WebCore::HTMLOptionElement::detach):
5344         (WebCore::HTMLOptionElement::setRenderStyle):
5345         (WebCore::HTMLOptionElement::nonRendererRenderStyle):
5346         * html/HTMLOptionElement.h:
5347         * page/animation/AnimationBase.h:
5348         (WebCore::AnimationBase::animate):
5349         * page/animation/AnimationController.cpp:
5350         (WebCore::AnimationController::updateAnimations):
5351         * page/animation/AnimationController.h:
5352         * page/animation/CompositeAnimation.cpp:
5353         (WebCore::CompositeAnimationPrivate::updateTransitions):
5354         (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
5355         (WebCore::CompositeAnimationPrivate::animate):
5356         (WebCore::CompositeAnimation::animate):
5357         * page/animation/CompositeAnimation.h:
5358         * page/animation/ImplicitAnimation.cpp:
5359         (WebCore::ImplicitAnimation::ImplicitAnimation):
5360         (WebCore::ImplicitAnimation::~ImplicitAnimation):
5361         (WebCore::ImplicitAnimation::animate):
5362         (WebCore::ImplicitAnimation::reset):
5363         (WebCore::ImplicitAnimation::isTargetPropertyEqual):
5364         (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
5365         * page/animation/ImplicitAnimation.h:
5366         (WebCore::ImplicitAnimation::create):
5367         * page/animation/KeyframeAnimation.cpp:
5368         (WebCore::KeyframeAnimation::KeyframeAnimation):
5369         (WebCore::KeyframeAnimation::~KeyframeAnimation):
5370         (WebCore::KeyframeAnimation::animate):
5371         (WebCore::KeyframeAnimation::validateTransformFunctionList):
5372         * page/animation/KeyframeAnimation.h:
5373         (WebCore::KeyframeAnimation::create):
5374         (WebCore::KeyframeAnimation::unanimatedStyle):
5375         * rendering/InlineTextBox.cpp:
5376         (WebCore::InlineTextBox::paint):
5377         * rendering/MediaControlElements.cpp:
5378         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
5379         (WebCore::MediaControlInputElement::MediaControlInputElement):
5380         * rendering/RenderBlock.cpp:
5381         (WebCore::RenderBlock::styleDidChange):
5382         (WebCore::RenderBlock::updateFirstLetter):
5383         * rendering/RenderContainer.cpp:
5384         (WebCore::RenderContainer::addChild):
5385         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
5386         * rendering/RenderFileUploadControl.cpp:
5387         (WebCore::RenderFileUploadControl::updateFromElement):
5388         (WebCore::RenderFileUploadControl::createButtonStyle):
5389         * rendering/RenderFileUploadControl.h:
5390         * rendering/RenderFlow.cpp:
5391         (WebCore::RenderFlow::createAnonymousFlow):
5392         * rendering/RenderFlow.h:
5393         * rendering/RenderInline.cpp:
5394         (WebCore::RenderInline::addChildToFlow):
5395         * rendering/RenderLayer.cpp:
5396         (WebCore::RenderLayer::updateScrollCornerStyle):
5397         (WebCore::RenderLayer::updateResizerStyle):
5398         (WebCore::RenderLayer::updateReflectionStyle):
5399         * rendering/RenderListItem.cpp:
5400         (WebCore::RenderListItem::styleDidChange):
5401         * rendering/RenderMedia.cpp:
5402         (WebCore::RenderMedia::createPanel):
5403         (WebCore::RenderMedia::createTimeDisplay):
5404         (WebCore::RenderMedia::changeOpacity):
5405         * rendering/RenderObject.cpp:
5406         (WebCore::RenderObject::selectionBackgroundColor):
5407         (WebCore::RenderObject::selectionForegroundColor):
5408         (WebCore::RenderObject::createAnonymousBlock):
5409         (WebCore::RenderObject::setAnimatableStyle):
5410         (WebCore::RenderObject::setStyle):
5411         (WebCore::RenderObject::setStyleInternal):
5412         (WebCore::RenderObject::arenaDelete):
5413         (WebCore::RenderObject::firstLineStyle):
5414         (WebCore::RenderObject::getPseudoStyle):
5415         * rendering/RenderObject.h:
5416         (WebCore::RenderObject::style):
5417         * rendering/RenderSVGBlock.cpp:
5418         (WebCore::RenderSVGBlock::setStyle):
5419         * rendering/RenderSVGBlock.h:
5420         * rendering/RenderScrollbar.cpp:
5421         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
5422         (WebCore::RenderScrollbar::updateScrollbarPart):
5423         * rendering/RenderScrollbar.h:
5424         * rendering/RenderSlider.cpp:
5425         (WebCore::RenderSlider::styleDidChange):
5426         (WebCore::RenderSlider::createThumbStyle):
5427         (WebCore::RenderSlider::updateFromElement):
5428         * rendering/RenderSlider.h:
5429         * rendering/RenderTable.cpp:
5430         (WebCore::RenderTable::addChild):
5431         * rendering/RenderTableRow.cpp:
5432         (WebCore::RenderTableRow::addChild):
5433         * rendering/RenderTableSection.cpp:
5434         (WebCore::RenderTableSection::addChild):
5435         * rendering/RenderTextControl.cpp:
5436         (WebCore::RenderTextControl::styleDidChange):
5437         (WebCore::RenderTextControl::createInnerBlockStyle):
5438         (WebCore::RenderTextControl::createInnerTextStyle):
5439         (WebCore::RenderTextControl::createResultsButtonStyle):
5440         (WebCore::RenderTextControl::createCancelButtonStyle):
5441         (WebCore::RenderTextControl::createSubtreeIfNeeded):
5442         (WebCore::RenderTextControl::updatePlaceholderVisibility):
5443         * rendering/RenderTextControl.h:
5444         * rendering/TextControlInnerElements.cpp:
5445         (WebCore::TextControlInnerElement::attachInnerElement):
5446         * rendering/TextControlInnerElements.h:
5447         * rendering/style/KeyframeList.cpp:
5448         (WebCore::KeyframeList::clear):
5449         (WebCore::KeyframeList::operator==):
5450         (WebCore::KeyframeList::insert):
5451         * rendering/style/KeyframeList.h:
5452         (WebCore::KeyframeValue::KeyframeValue):
5453         (WebCore::KeyframeValue::~KeyframeValue):
5454         (WebCore::KeyframeValue::key):
5455         (WebCore::KeyframeValue::style):
5456         * rendering/style/RenderStyle.cpp:
5457         (WebCore::defaultStyle):
5458         (WebCore::RenderStyle::create):
5459         (WebCore::RenderStyle::createDefaultStyle):
5460         (WebCore::RenderStyle::clone):
5461         (WebCore::RenderStyle::RenderStyle):
5462         (WebCore::RenderStyle::getCachedPseudoStyle):
5463         (WebCore::RenderStyle::addCachedPseudoStyle):
5464         * rendering/style/RenderStyle.h:
5465         (WebCore::):
5466         (WebCore::InheritedFlags::operator!=):
5467         * svg/SVGClipPathElement.cpp:
5468         (WebCore::SVGClipPathElement::canvasResource):
5469         * svg/SVGGradientElement.cpp:
5470         (WebCore::SVGGradientElement::buildStops):
5471         * svg/SVGStyledElement.cpp:
5472         (WebCore::SVGStyledElement::resolveStyle):
5473         * svg/SVGStyledElement.h:
5474         * svg/SVGUseElement.cpp:
5475         (WebCore::SVGUseElement::recalcStyle):
5476         (WebCore::SVGUseElement::attachShadowTree):
5478 2008-10-16  Kenneth Russell  <kenneth.russell@sun.com>
5480         Reviewed and landed by Anders Carlsson.
5482         https://bugs.webkit.org/show_bug.cgi?id=21587
5483         NPN_PluginThreadAsyncCall does not work properly
5484         
5485         * plugins/PluginMainThreadScheduler.cpp:
5486         (WebCore::PluginMainThreadScheduler::dispatchCalls):
5487         Make sure to set m_callPending to false once the queue has been cleared.
5489 2008-10-15  Alexey Proskuryakov  <ap@webkit.org>
5491         Reviewed by Darin Adler.
5493         https://bugs.webkit.org/show_bug.cgi?id=21609
5494         Make MessagePorts protect their peers across heaps
5496         * dom/MessagePort.cpp:
5497         (WebCore::MessagePort::MessagePort):
5498         * dom/MessagePort.h:
5499         (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
5500         (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
5501         Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
5502         means that the implementation object knows about JS bindings - but it is not possible to
5503         access JS wrappers from another heap/thread.
5505         * bindings/js/JSDOMBinding.cpp:
5506         (WebCore::markCrossHeapDependentObjectsForDocument):
5507         * bindings/js/JSDOMBinding.h:
5508         * bindings/js/JSDOMWindowBase.cpp:
5509         (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
5510         * bindings/js/JSDOMWindowBase.h:
5511         Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
5512         hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
5513         as long as its entangled port is accessible itself.
5515 2008-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
5517         Remove unneeded check of whether a Page defers loading before running it
5518         in a modal dialog.
5520         No test possible.
5522         Reviewed by Tim Hatcher.
5524         * page/Chrome.cpp:
5526 2008-10-15  Geoffrey Garen  <ggaren@apple.com>
5528         Reviewed by Cameron Zwarich.
5530         Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
5531         Start the debugger without reloading the inspected page
5533         * WebCore.base.exp: New symbols.
5535         * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
5536         * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
5537         * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
5539         * inspector/InspectorController.cpp:
5540         (WebCore::InspectorController::setWindowVisible):
5541         (WebCore::InspectorController::windowScriptObjectAvailable):
5542         (WebCore::InspectorController::startDebugging):
5543         * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
5544         to startDebugging, and changed its behavior to match.
5546         * inspector/JavaScriptDebugListener.h:
5547         * inspector/JavaScriptDebugServer.cpp:
5548         (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
5549         (WebCore::JavaScriptDebugServer::addListener):
5550         (WebCore::JavaScriptDebugServer::removeListener):
5551         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
5552         (WebCore::JavaScriptDebugServer::willAddFirstListener):
5553         (WebCore::JavaScriptDebugServer::didRemoveLastListener):
5554         * inspector/JavaScriptDebugServer.h: Refactored the
5555         JavaScriptDebugServer to centralize handling of adding the first listener
5556         and removing the last. Then, added a feature to recompile all JS functions
5557         in these cases. This allows us to dynamically add and remove hooks like
5558         the debugger hooks without reloading the page.
5560         * inspector/front-end/ScriptsPanel.js:
5561         * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
5562         startDebugging rename. Removed all UI that claimed that starting the
5563         debugger would reload the page.
5565 2008-10-15  Adele Peterson  <adele@apple.com>
5567         Attempt to fix the Tiger build.
5569         * platform/network/mac/ResourceHandleMac.mm:
5571 2008-10-15  Holger Hans Peter Freyther  <zecke@selfish.org>
5573         Build fix attempt.
5575         Try to fix static/non-static declaration of g_string_append_uri_escape
5576         by renaming that string. Another look needs to be taken.
5578         * platform/gtk/guriescape.c:
5579         (_webcore_g_string_append_uri_escaped):
5580         (_webcore_g_uri_escape_string):
5582 2008-10-15  Holger Hans Peter Freyther  <zecke@selfish.org>
5584         Build fix.
5586         m_animatingImageType is gone.
5588         * platform/graphics/cairo/ImageCairo.cpp:
5589         (WebCore::BitmapImage::BitmapImage):
5591 2008-10-15  Jeff Cook <cookiecaper@gmail.com>
5593         Reviewed by Holger Freyther.
5595         Stop SIGSEGV when leaving a page with a Flash object by reordering
5596         window destruction and plugin stop.
5598         See https://bugs.webkit.org/show_bug.cgi?id=20779
5600         * plugins/gtk/PluginViewGtk.cpp:
5601         (WebCore::PluginView::stop):
5603 2008-10-15  Adele Peterson  <adele@apple.com>
5605         Reviewed by Sam Weinig.
5607         Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist. 
5609         * platform/network/ResourceHandle.h:
5610         * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
5611         * platform/network/mac/ResourceHandleMac.mm:
5612         (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
5613         (WebCore::ResourceHandle::start):
5614         (WebCore::ResourceHandle::cancel):
5615         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
5616         (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
5617         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
5618         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
5620 2008-10-15  Peter Kasting  <pkasting@google.com>
5622         Reviewed by David Hyatt.
5624         Qt build bustage fix.
5626         * platform/graphics/qt/StillImageQt.h:
5627         (WebCore::StillImage::destroyDecodedData):
5629 2008-10-15  David Hyatt  <hyatt@apple.com>
5631         Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
5633         Reviewed by Mark Rowe
5635         * rendering/RenderScrollbar.cpp:
5636         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
5637         (WebCore::RenderScrollbar::updateScrollbarPart):
5639 2008-10-15  Peter Kasting  <pkasting@google.com>
5641         Reviewed by David Hyatt.
5643         https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
5644         Account for paint and timer lag when animating images.  Also pretend
5645         that images whose animations were paused (by becoming invisible)
5646         continued to animate, by "catching up" to the correct frame when they're
5647         shown again.
5649         * platform/graphics/BitmapImage.cpp:
5650         (WebCore::BitmapImage::BitmapImage):
5651         (WebCore::BitmapImage::destroyDecodedData):
5652         (WebCore::BitmapImage::cacheFrame):
5653         (WebCore::BitmapImage::frameIsCompleteAtIndex):
5654         (WebCore::BitmapImage::frameDurationAtIndex):
5655         (WebCore::BitmapImage::frameHasAlphaAtIndex):
5656         (WebCore::BitmapImage::repetitionCount):
5657         (WebCore::BitmapImage::shouldAnimate):
5658         (WebCore::BitmapImage::startAnimation):
5659         (WebCore::BitmapImage::resetAnimation):
5660         (WebCore::BitmapImage::advanceAnimation):
5661         (WebCore::BitmapImage::internalAdvanceAnimation):
5662         (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
5663         * platform/graphics/BitmapImage.h:
5664         (WebCore::FrameData::FrameData):
5665         (WebCore::BitmapImage::):
5666         * platform/graphics/GeneratedImage.h:
5667         (WebCore::GeneratedImage::destroyDecodedData):
5668         * platform/graphics/Image.h:
5669         * platform/graphics/cairo/ImageCairo.cpp:
5670         (WebCore::FrameData::clear):
5671         (WebCore::BitmapImage::BitmapImage):
5672         (WebCore::BitmapImage::draw):
5673         * platform/graphics/cg/ImageCG.cpp:
5674         (WebCore::FrameData::clear):
5675         (WebCore::BitmapImage::BitmapImage):
5676         (WebCore::BitmapImage::draw):
5677         * platform/graphics/cg/PDFDocumentImage.h:
5678         (WebCore::PDFDocumentImage::destroyDecodedData):
5679         * platform/graphics/qt/ImageQt.cpp:
5680         (WebCore::FrameData::clear):
5681         (WebCore::BitmapImage::draw):
5682         * platform/graphics/wx/ImageWx.cpp:
5683         (WebCore::FrameData::clear):
5684         (WebCore::BitmapImage::draw):
5685         * svg/graphics/SVGImage.h:
5686         (WebCore::SVGImage::destroyDecodedData):
5688 2008-10-14  Maxime Britto  <britto@apple.com>
5690         Reviewed by Darin Adler, tweaked and landed by Beth.
5692         * WebCore.base.exp: Exposes two functions to be able to create a 
5693         selection from a point on the screen. Also exposes the new 
5694         TextIterator::currentNode function.
5695         * WebCore/editing/TextIterator.cpp:
5696         (TextIterator::currentNode) : New function that returns the current 
5697         text node or NULL if there is no text node.
5699 2008-10-15  Marco Barisione  <marco.barisione@collabora.co.uk>
5701         Reviewed by Holger Freyther.
5703         http://bugs.webkit.org/show_bug.cgi?id=21211
5704         [CURL] Upload doesn't work because cancel is called
5706         FormDataStream::read returns 0 when retrieving data from the form
5707         fails, but also when there is no more data to send. This means that
5708         ResourceHandleManager::cancel is always called even when the data was
5709         successfully sent.
5711         Check if there are more elements in the form before calling
5712         FormDataStream::read.
5714         * platform/network/curl/FormDataStreamCurl.cpp:
5715         (WebCore::FormDataStream::hasMoreElements):
5716         * platform/network/curl/FormDataStreamCurl.h:
5717         * platform/network/curl/ResourceHandleManager.cpp:
5718         (WebCore::readCallback):
5720 2008-10-15  Marco Barisione  <marco.barisione@collabora.co.uk>
5722         Reviewed by Holger Freyther.
5724         http://bugs.webkit.org/show_bug.cgi?id=20664
5725         [GTK] File names are not always encodable in UTF-8
5727         On Linux file names are just raw data and cannot always be directly
5728         encoded in UTF-8 or in any other encodings, so we escape them before
5729         storing the file name in a String and unescape them before passing
5730         them to native functions handling files.
5732         * GNUmakefile.am:
5733         * platform/FileSystem.h:
5734         * platform/gtk/FileChooserGtk.cpp:
5735         (WebCore::stringByAdoptingFileSystemRepresentation):
5736         (WebCore::FileChooser::basenameForWidth):
5737         * platform/gtk/FileSystemGtk.cpp:
5738         (WebCore::filenameToString):
5739         (WebCore::filenameFromString):
5740         (WebCore::filenameForDisplay):
5741         (WebCore::fileExists):
5742         (WebCore::deleteFile):
5743         (WebCore::deleteEmptyDirectory):
5744         (WebCore::getFileSize):
5745         (WebCore::getFileModificationTime):
5746         (WebCore::makeAllDirectories):
5747         (WebCore::homeDirectoryPath):
5748         (WebCore::pathGetFileName):
5749         (WebCore::listDirectory):
5750         * platform/gtk/KURLGtk.cpp:
5751         (WebCore::KURL::fileSystemPath):
5752         * platform/gtk/SharedBufferGtk.cpp:
5753         (WebCore::SharedBuffer::createWithContentsOfFile):
5754         * platform/gtk/guriescape.c: Added.
5755         (is_valid):
5756         (gunichar_ok):
5757         (g_string_append_uri_escaped):
5758         (_webcore_g_uri_escape_string):
5759         * platform/gtk/guriescape.h: Added.
5761 2008-10-15  Dirk Schulze  <vbs85@gmx.de>
5763         Reviewed by Eric Seidel.
5765         - part of https://bugs.webkit.org/show_bug.cgi?id=20543
5766           Moved gradient spread method out of SVG into the GraphicsContext.
5768         * platform/graphics/GraphicsContext.cpp:
5769         (WebCore::GraphicsContext::spreadMethod):
5770         (WebCore::GraphicsContext::setSpreadMethod):
5771         * platform/graphics/GraphicsContext.h:
5772         (WebCore::):
5773         * platform/graphics/GraphicsContextPrivate.h:
5774         * platform/graphics/cairo/GraphicsContextCairo.cpp:
5775         (WebCore::applySpreadMethod):
5776         (WebCore::GraphicsContext::fillPath):
5777         (WebCore::GraphicsContext::strokePath):
5778         * platform/graphics/qt/GraphicsContextQt.cpp:
5779         (WebCore::applySpreadMethod):
5780         (WebCore::GraphicsContext::fillPath):
5781         (WebCore::GraphicsContext::strokePath):
5782         * svg/GradientAttributes.h:
5783         (WebCore::GradientAttributes::GradientAttributes):
5784         (WebCore::GradientAttributes::spreadMethod):
5785         (WebCore::GradientAttributes::setSpreadMethod):
5786         * svg/SVGGradientElement.cpp:
5787         (WebCore::SVGGradientElement::parseMappedAttribute):
5788         * svg/SVGGradientElement.h:
5789         * svg/SVGLinearGradientElement.cpp:
5790         (WebCore::SVGLinearGradientElement::collectGradientProperties):
5791         * svg/SVGRadialGradientElement.cpp:
5792         (WebCore::SVGRadialGradientElement::collectGradientProperties):
5793         * svg/graphics/SVGPaintServerGradient.cpp:
5794         (WebCore::operator<<):
5795         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
5796         (WebCore::SVGPaintServerGradient::spreadMethod):
5797         (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
5798         (WebCore::SVGPaintServerGradient::externalRepresentation):
5799         * svg/graphics/SVGPaintServerGradient.h:
5800         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
5801         (WebCore::SVGPaintServerGradient::setup):
5802         * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
5803         (WebCore::SVGPaintServerGradient::setup):
5805 2008-10-09  Darin Fisher  <darin@chromium.org>
5807         Reviewed by Sam Weinig.
5809         Make pan scrolling a platform configurable option
5810         https://bugs.webkit.org/show_bug.cgi?id=21515
5812         * page/EventHandler.cpp:
5813         (WebCore::EventHandler::handleAutoscroll):
5814         (WebCore::EventHandler::autoscrollTimerFired):
5815         (WebCore::EventHandler::stopAutoscrollTimer):
5816         (WebCore::EventHandler::handleMousePressEvent):
5817         (WebCore::EventHandler::keyEvent):
5819 2008-10-10  Darin Fisher  <darin@chromium.org>
5821         Reviewed by Darin Adler.
5823         Add some PLATFORM(CHROMIUM) ifdefs to WebCore
5824         https://bugs.webkit.org/show_bug.cgi?id=21511
5826         * loader/FTPDirectoryDocument.cpp:
5827         * loader/FTPDirectoryParser.cpp:
5828         * loader/FrameLoader.cpp:
5829         (WebCore::FrameLoader::finishedLoadingDocument):
5830         * platform/ContextMenuItem.h:
5831         * platform/Cursor.h:
5832         * platform/DragData.h:
5833         * platform/DragImage.h:
5834         * platform/Pasteboard.h:
5835         * platform/PlatformKeyboardEvent.h:
5836         (WebCore::PlatformKeyboardEvent::isSystemKey):
5837         * platform/PlatformMenuDescription.h:
5838         * platform/PlatformMouseEvent.h:
5839         * platform/PlatformWheelEvent.h:
5840         * platform/PopupMenu.h:
5841         * platform/ScrollView.h:
5842         * platform/Widget.h:
5843         * platform/network/NetworkStateNotifier.h:
5845 2008-10-14  Chris Marrin  <cmarrin@apple.com>
5847         Reviewed by Darin Adler.
5849         Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
5850         Optimize keyframe style sheet changes by avoiding styleSheetChanged()
5852         Test: css3/change-keyframes.html
5854         * css/WebKitCSSKeyframesRule.cpp:
5855         (WebCore::WebKitCSSKeyframesRule::append):
5856         (WebCore::WebKitCSSKeyframesRule::deleteRule):
5858 2008-10-14  David Hyatt  <hyatt@apple.com>
5860         https://bugs.webkit.org/show_bug.cgi?id=21595
5862         Clean up background and overflow propagation from the body to the viewport.  Make it match the
5863         latest CSS2.1 spec thinking.
5865         Reviewed by Adam Roben
5867         Added many tests at fast/body-propagation/.  These are Simon Pieters' tests of propagation handling
5868         (available at http://simon.html5.org/test/css/magic-body/).
5870         * dom/Document.cpp:
5871         (WebCore::Document::body):
5872         * page/FrameView.cpp:
5873         (WebCore::FrameView::layout):
5874         * rendering/RenderBox.cpp:
5875         (WebCore::RenderBox::styleDidChange):
5876         (WebCore::RenderBox::paintRootBoxDecorations):
5877         (WebCore::RenderBox::paintBoxDecorations):
5878         (WebCore::RenderBox::repaintLayerRectsForImage):
5880 2008-10-14  Dimitri Glazkov  <dglazkov@chromium.org>
5882         Reviewed and landed by Sam Weinig.
5884         Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
5885         remove NSResolver code, leaving only checking for selectors that need
5886         NS resolution and throwing a coresponding error.
5888         * WebCore.pro:
5889         * WebCore.vcproj/WebCore.vcproj:
5890         * WebCore.xcodeproj/project.pbxproj:
5891         * WebCoreSources.bkl:
5892         * bindings/js/JSDocumentCustom.cpp:
5893         * bindings/js/JSDocumentFragmentCustom.cpp:
5894         * bindings/js/JSElementCustom.cpp:
5895         * bindings/js/JSNSResolver.cpp: Removed.
5896         * bindings/js/JSNSResolver.h: Removed.
5897         * dom/Document.idl:
5898         * dom/DocumentFragment.idl:
5899         * dom/Element.idl:
5900         * dom/NSResolver.h: Removed.
5901         * dom/NSResolver.idl: Removed.
5902         * dom/Node.h:
5903         * dom/Node.cpp:
5904         (WebCore::forEachTagSelector):
5905         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
5906         (WebCore::selectorNeedsNamespaceResolution):
5907         (WebCore::Node::querySelector):
5908         (WebCore::Node::querySelectorAll):
5910 2008-10-14  Darin Adler  <darin@apple.com>
5912         Reviewed by Sam Weinig (all but the FormDataListItem rename).
5914         - https://bugs.webkit.org/show_bug.cgi?id=21593
5915           Bug 21593: add multiple-file support to HTMLFormElement
5917         * html/FormDataList.cpp: Removed appendFile since it's now inline.
5918         Also took incorrect old copyrights off of this file that are left
5919         over from when it was split.
5920         * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
5921         made it a member of FormDataList. Changed it to hold a File object
5922         instead of a path. And made its data members private. Changed
5923         FormDataList::appendFile accordingly.
5925         * html/HTMLFormElement.cpp:
5926         (WebCore::HTMLFormElement::formData): Updated for above changes.
5927         Removed the code that special-cases HTMLInputElement, because now
5928         the FormDataListItem has everything we need. And if there are
5929         multiple files, we'll get multiple list items for them.
5931         * html/HTMLInputElement.cpp:
5932         (WebCore::HTMLInputElement::appendFormData): Changed the code for
5933         <input type=file> to use File objects instead of path strings and
5934         also to append multiple files if the file list has them.
5936 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
5938         Reviewed by Simon.
5939         
5940         Fix QtWebKit scrollbar painting errors
5942         * platform/qt/ScrollbarThemeQt.cpp:
5943         (WebCore::ScrollbarThemeQt::paint):
5944         (WebCore::ScrollbarThemeQt::paintScrollCorner):
5946 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
5948         Reviewed by Simon.
5950         Fix scrollbar arrows for horizontal scrollbars
5952         * platform/qt/ScrollbarThemeQt.cpp:
5953         (WebCore::styleOptionSlider):
5955 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
5957         Reviewed by Simon.
5959         Use style-painter to draw scrollbars in ScrollbarThemeQt
5960         
5961         This has the benefit of setting up the painter properly without
5962         antialiasing and saving and restoring the brush. It also ensures
5963         that we use the style of the QWebView over the QApplication style
5964         if possible.
5966         * platform/qt/RenderThemeQt.cpp:
5967         (WebCore::StylePainter::StylePainter):
5968         (WebCore::StylePainter::init):
5969         * platform/qt/RenderThemeQt.h:
5970         * platform/qt/ScrollbarThemeQt.cpp:
5971         (WebCore::ScrollbarThemeQt::paint):
5973 2008-10-13  David Hyatt  <hyatt@apple.com>
5975         Add support for CSS transitions on some SVG properties.  This patch is intended to be a guideline
5976         for how to add support for the rest.
5978         Reviewed by Oliver Hunt
5980         * page/animation/AnimationBase.cpp:
5981         (WebCore::ensurePropertyMap):
5982         * rendering/style/RenderStyle.h:
5983         (WebCore::RenderStyle::fillOpacity):
5984         (WebCore::RenderStyle::setFillOpacity):
5985         (WebCore::RenderStyle::strokeOpacity):
5986         (WebCore::RenderStyle::setStrokeOpacity):
5987         (WebCore::RenderStyle::floodOpacity):
5988         (WebCore::RenderStyle::setFloodOpacity):
5990 2008-10-13  David Hyatt  <hyatt@apple.com>
5992         <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
5994         Fix for disabled scrollbars not painting in Windows Safari.  Make sure that the Windows theme
5995         implements paintTrackBackground so that when the thumb is not present the track still paints.
5997         Reviewed by Oliver Hunt
5999         * platform/ScrollbarThemeComposite.cpp:
6000         (WebCore::ScrollbarThemeComposite::paint):
6001         * platform/win/ScrollbarThemeWin.cpp:
6002         (WebCore::ScrollbarThemeWin::paintTrackBackground):
6003         * platform/win/ScrollbarThemeWin.h:
6005 2008-10-13  David Hyatt  <hyatt@apple.com>
6007         Fix over-invalidation of native scrollbars.
6009         Reviewed by Oliver Hunt
6011         * platform/Scrollbar.h:
6012         (WebCore::Scrollbar::styleChanged):
6013         * platform/mac/ScrollbarThemeMac.mm:
6014         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
6015         * rendering/RenderScrollbar.cpp:
6016         (WebCore::RenderScrollbar::styleChanged):
6018 2008-10-13  Alp Toker  <alp@nuanti.com>
6020         Fix autotools dist build target by listing recently added header
6021         files only. Not reviewed.
6023         * GNUmakefile.am:
6025 2008-10-13  Mark Rowe  <mrowe@apple.com>
6027         Reviewed by Brady Eidson.
6029         Don't run a SQLite query on every iteration of the sync thread when the query
6030         will touch a large portion of the icon database while performing no useful work.
6032         * loader/icon/IconDatabase.cpp:
6033         (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
6034         we modified the database.
6035         (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
6036         unless we've been asked to prune any dangling pageURLs that we find.
6038 2008-10-13  Maciej Stachowiak  <mjs@apple.com>
6040         Rubber stamped by Mark Rowe.
6041         
6042         - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
6044         * Configurations/DebugRelease.xcconfig:
6046 2008-10-13  David Hyatt  <hyatt@apple.com>
6048         Make dropdown lists on Windows work with CSS custom scrollbars.
6050         Reviewed by Adele
6052         * platform/PopupMenu.h:
6053         (WebCore::PopupMenu::scrollbarCornerPresent):
6054         * platform/PopupMenuClient.h:
6055         * platform/win/PopupMenuWin.cpp:
6056         (WebCore::PopupMenu::show):
6057         * rendering/RenderMenuList.cpp:
6058         (WebCore::RenderMenuList::createScrollbar):
6059         * rendering/RenderMenuList.h:
6060         * rendering/RenderTextControl.cpp:
6061         (WebCore::RenderTextControl::createScrollbar):
6062         * rendering/RenderTextControl.h:
6064 2008-10-13  Chris Fleizach  <cfleizach@apple.com>
6066         Reviewed by Beth Dakin.
6068         <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
6070         Links from image maps were not being included in the web area's AXLinkUIElements attribute.
6071         The position of image map links was being reported incorrectly and the parent-chain
6072         hierarchy for image map links was incorrect because image map links did not have a reference
6073         to their parent image. 
6075         Test: accessibility/document-links.html
6077         * page/AccessibilityImageMapLink.cpp:
6078         (WebCore::AccessibilityImageMapLink::parentObject):
6079         (WebCore::AccessibilityImageMapLink::actionElement):
6080         (WebCore::AccessibilityImageMapLink::elementRect):
6081         * page/AccessibilityImageMapLink.h:
6082         (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
6083         (WebCore::AccessibilityImageMapLink::setParent):
6084         * page/AccessibilityObject.cpp:
6085         * page/AccessibilityObject.h:
6086         * page/AccessibilityRenderObject.cpp:
6087         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
6088         (WebCore::AccessibilityRenderObject::getDocumentLinks):
6089         (WebCore::AccessibilityRenderObject::addChildren):
6090         * page/AccessibilityRenderObject.h:
6091         * page/mac/AccessibilityObjectWrapper.mm:
6092         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
6094 2008-10-13  David Hyatt  <hyatt@apple.com>
6096         Make RenderListBox work with CSS scrollbars.  Refactoring this code to support creation/destruction in
6097         the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
6098         idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
6100         Reviewed by Tim Hatcher
6102         Added scrollbars/listbox-scrollbar-combinations.html
6104         * rendering/RenderListBox.cpp:
6105         (WebCore::RenderListBox::~RenderListBox):
6106         (WebCore::RenderListBox::updateFromElement):
6107         (WebCore::RenderListBox::createScrollbar):
6108         (WebCore::RenderListBox::destroyScrollbar):
6109         (WebCore::RenderListBox::setHasVerticalScrollbar):
6110         * rendering/RenderListBox.h:
6112 2008-10-13  David Hyatt  <hyatt@apple.com>
6114         In order to always match the :corner-present pseudo-class properly, delay initial updating of
6115         scrollbar styles until the layer has the scrollbars in its member variables.
6117         Reviewed by Tim Hatcher
6119         * rendering/RenderLayer.cpp:
6120         (WebCore::RenderLayer::setHasHorizontalScrollbar):
6121         (WebCore::RenderLayer::setHasVerticalScrollbar):
6122         * rendering/RenderScrollbar.cpp:
6123         (WebCore::RenderScrollbar::RenderScrollbar):
6125 2008-10-13  Sam Weinig  <sam@webkit.org>
6127         Reviewed by Dan Bernstein.
6129         Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
6130         5 false positive StructureID leaks
6132         In WebCore, we intentionally leak the common JSGlobalData which in turn
6133         leaks 5 StructureIDs.  Use the new JSGlobalData::createLeaked in order to
6134         ignore the StructureIDs leaked within.
6136         * bindings/js/JSDOMWindowBase.cpp:
6137         (WebCore::JSDOMWindowBase::commonJSGlobalData):
6139 2008-10-13  David Hyatt  <hyatt@apple.com>
6141         Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
6142         artwork based on whether there is a scrollbar corner present.
6144         Reviewed by Tim Hatcher
6146         * css/CSSSelector.cpp:
6147         (WebCore::CSSSelector::extractPseudoType):
6148         * css/CSSSelector.h:
6149         (WebCore::CSSSelector::):
6150         * css/CSSStyleSelector.cpp:
6151         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6152         * platform/ScrollView.cpp:
6153         (WebCore::ScrollView::scrollbarCornerPresent):
6154         * platform/ScrollView.h:
6155         * platform/ScrollbarClient.h:
6156         * rendering/RenderLayer.cpp:
6157         (WebCore::cornerRect):
6158         (WebCore::scrollCornerRect):
6159         (WebCore::resizerCornerRect):
6160         (WebCore::RenderLayer::scrollbarCornerPresent):
6161         (WebCore::RenderLayer::setHasHorizontalScrollbar):
6162         (WebCore::RenderLayer::setHasVerticalScrollbar):
6163         * rendering/RenderLayer.h:
6164         (WebCore::RenderLayer::horizontalScrollbar):
6165         (WebCore::RenderLayer::verticalScrollbar):
6166         * rendering/RenderListBox.h:
6167         (WebCore::RenderListBox::scrollbarCornerPresent):
6169 2008-10-13  David Hyatt  <hyatt@apple.com>
6171         Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
6172         test case for all this can land).
6174         Reviewed by Tim Hatcher
6176         * css/CSSStyleSelector.cpp:
6177         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
6178         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
6179         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6180         * rendering/RenderLayer.cpp:
6181         (WebCore::RenderLayer::paintOverflowControls):
6182         (WebCore::RenderLayer::paintScrollCorner):
6183         (WebCore::RenderLayer::paintResizer):
6184         (WebCore::RenderLayer::styleChanged):
6185         (WebCore::RenderLayer::updateScrollCornerStyle):
6186         (WebCore::RenderLayer::updateResizerStyle):
6187         * rendering/RenderLayer.h:
6188         * rendering/RenderScrollbar.cpp:
6189         (WebCore::RenderScrollbar::paint):
6190         * rendering/RenderScrollbarPart.cpp:
6191         (WebCore::RenderScrollbarPart::paintIntoRect):
6193 2008-10-13  David Hyatt  <hyatt@apple.com>
6195         Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
6196         and invalidate properly as images load, etc.
6198         Reviewed by Tim Hatcher
6200         * rendering/RenderLayer.cpp:
6201         (WebCore::cornerRect):
6202         (WebCore::scrollCornerRect):
6203         (WebCore::resizerCornerRect):
6204         (WebCore::RenderLayer::positionOverflowControls):
6205         (WebCore::RenderLayer::paintOverflowControls):
6206         (WebCore::RenderLayer::paintScrollCorner):
6207         (WebCore::RenderLayer::paintResizer):
6208         (WebCore::RenderLayer::isPointInResizeControl):
6209         (WebCore::RenderLayer::hitTestOverflowControls):
6210         (WebCore::RenderLayer::styleChanged):
6211         * rendering/RenderLayer.h:
6212         * rendering/RenderObject.h:
6213         (WebCore::RenderObject::setRect):
6214         * rendering/RenderScrollbarPart.cpp:
6215         (WebCore::RenderScrollbarPart::styleDidChange):
6216         (WebCore::RenderScrollbarPart::imageChanged):
6218 2008-10-13  Marco Barisione  <marco.barisione@collabora.co.uk>
6220         Reviewed by Darin Adler. Landed by Jan Alonzo.
6222         WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
6223         http://bugs.webkit.org/show_bug.cgi?id=20483
6225         Start the conversion to use GOwnPtr and fix a memory leak.
6227         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
6228         (WebCore::mediaPlayerPrivateErrorCallback):
6230 2008-10-12  Jon Honeycutt  <jhoneycutt@apple.com>
6232         Windows build fix.
6234         * loader/TextResourceDecoder.cpp:
6236 2008-10-12  Darin Fisher  <darin@chromium.org>
6238         Reviewed by Darin Adler.
6240         - fix https://bugs.webkit.org/show_bug.cgi?id=21229
6241           Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
6243         * platform/network/NetworkStateNotifier.h: Add the #include.
6245 2008-10-12  Darin Adler  <darin@apple.com>
6247         Based on work by Holger Freyther.
6249         - part of https://bugs.webkit.org/show_bug.cgi?id=20953
6250           Split WidthIterator into its own source file.
6252         * GNUmakefile.am: Added new source files.
6253         * WebCore.vcproj/WebCore.vcproj: Ditto.
6254         * WebCore.xcodeproj/project.pbxproj: Ditto.
6255         * WebCoreSources.bkl: Ditto.
6257         * platform/graphics/Font.cpp: Use WidthIterator from its new place.
6258         * platform/graphics/WidthIterator.cpp: Added.
6259         * platform/graphics/WidthIterator.h: Added.
6261 2008-10-12  Tony Chang  <tony@chromium.org>
6263         Reviewed by Sam Weinig.
6265         - https://bugs.webkit.org/show_bug.cgi?id=21480
6266           Remove duplicate definitions of MimeClassInfo and PluginInfo.
6268         * plugins/PluginInfoStore.cpp: Added an include.
6269         * plugins/PluginInfoStore.h: Removed struct declarations.
6271 2008-10-12  Darin Adler  <darin@apple.com>
6273         Reviewed by Dan Bernstein.
6275         - https://bugs.webkit.org/show_bug.cgi?id=21563
6276           Bug 21563: platform Gradient class should not use the CSS parser
6278         * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
6279         that accepts a CSS color string. That's handled in the DOM now, not here.
6280         (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
6281         copy of it here.
6282         * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
6284 2008-10-12  Glenn Wilson  <gwilson@google.com>
6286         Reviewed by Darin Adler.
6288         - https://bugs.webkit.org/show_bug.cgi?id=20461
6290         Added feature to allow multi-line inputs into text fields.
6291         HTMLInputElement would cut the set text at the first 'system' character,
6292         so it would truncate at the first carriage return or newline.
6293         This fix modifies that behavior to truncate at any non-space system character
6294         but changes \r, \n, and \r\n to a single space.
6296         Tests: editing/pasteboard/paste-multiline-text-input.html
6297                
6298         * html/HTMLInputElement.cpp:
6299         (WebCore::HTMLInputElement::constrainValue):
6301 2008-10-12  Dirk Schulze  <vbs85@gmx.de>
6303         Reviewed by Eric Seidel.
6305         - https://bugs.webkit.org/show_bug.cgi?id=20435
6307         Added exception codes to canvas gradients to match current specification.
6309         Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
6310                fast/canvas/linearGradient-infinite-values.html
6311                fast/canvas/radialGradient-infinite-values.html
6313         * html/CanvasGradient.cpp:
6314         (WebCore::CanvasGradient::addColorStop):
6315         * html/CanvasGradient.h:
6316         * html/CanvasGradient.idl:
6317         * html/CanvasRenderingContext2D.cpp:
6318         (WebCore::CanvasRenderingContext2D::createLinearGradient):
6319         (WebCore::CanvasRenderingContext2D::createRadialGradient):
6320         * html/CanvasRenderingContext2D.h:
6321         * html/CanvasRenderingContext2D.idl:
6323 2008-10-12  Eric Roman  <eroman@chromium.org>
6325         - https://bugs.webkit.org/show_bug.cgi?id=20246
6326           Implement RenderThemeWin::systemColor() to match Windows colors.
6328         Reviewed by David Hyatt.
6330         * rendering/RenderThemeWin.cpp:
6331         (WebCore::cssValueIdToSysColorIndex):
6332         (WebCore::RenderThemeWin::systemColor):
6333         * rendering/RenderThemeWin.h:
6335 2008-10-12  Aaron Bockover  <abockover@novell.com>
6337         Reviewed by Alp Toker.
6339         Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy 
6340         plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window 
6341         handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
6343         * plugins/gtk/PluginPackageGtk.cpp:
6345 2008-10-12  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
6347         Reviewed by Oliver Hunt.
6349         - https://bugs.webkit.org/show_bug.cgi?id=19331
6350           <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
6352         * page/DragController.cpp:
6353         (WebCore::DragController::startDrag): When a link is dragged without any
6354         text selected (note: for this to work, the EditableLinkBehavior setting must be
6355         set to 'live' or 'default') and then dropped into an editable html document it
6356         will eventually violate an ASSERT in MoveSelectionCommand that requires that there
6357         is a selection.  To prevent this, expand the selection to the enclosing anchor tag
6358         when the drag begins.
6360 2008-10-12  Darin Adler  <darin@apple.com>
6362         Reviewed by Mark Rowe.
6364         - fix https://bugs.webkit.org/show_bug.cgi?id=21557
6365           Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
6367         * rendering/RenderObject.cpp:
6368         (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
6369         until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
6370         as RenderObject::isText(), and this guarantees that the node can be cast to
6371         Element*, which is done just below. The reason this is hit is that RenderLayer
6372         can call getPseudoStyle on a RenderView, which has the document as its
6373         element() -- and a document is neither a Text node nor an Element. A loose
6374         end is that this seems to mean you can't style the scrollbar corner or the
6375         resizer on a RenderView. Hyatt may want to look into that later.
6377 2008-10-12  Darin Adler  <darin@apple.com>
6379         Reviewed by Sam Weinig.
6381         - https://bugs.webkit.org/show_bug.cgi?id=21556
6382           Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
6384         Tests: fast/dom/HTMLFontElement/size-attribute.html
6385                fast/dom/HTMLInputElement/size-attribute.html
6386                fast/dom/HTMLTableElement/cellpadding-attribute.html
6388         * html/HTMLFontElement.cpp:
6389         (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
6390         Unicode::isDigit, since non-ASCII digits are not valid here.
6391         * html/HTMLFontElement.h: Tweaked formatting a bit and removed
6392         the unneeded destructor declaration.
6393         * platform/text/String.cpp:
6394         (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
6395         of Unicode::isDigit, since non-ASCII digits are not valid.
6397 2008-10-12  Jungshik Shin  <jshin@chromium.org>
6399         Reviewed by Darin Adler.
6401         Treat x-user-defined as windows-1252 for html files with meta charset
6402         declaration to be compatible with Indian web sites.
6403         ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
6405         Test: fast/encoding/charset-xuser-defined.html
6407         * loader/TextResourceDecoder.cpp:
6408         (WebCore::TextResourceDecoder::setEncoding):
6410 2008-10-12  Sam Weinig  <sam@webkit.org>
6412         Reviewed by Dan Bernstein.
6414         Remove unneeded forward declaration.
6416         * platform/graphics/ImageBuffer.h:
6418 2008-10-12  Sam Weinig  <sam@webkit.org>
6420         Reviewed by Darin Adler.
6422         Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
6423         Layering violation: String should not be responsible for creating Lengths
6425         It was a layering violation for String to know haw to parse
6426         into Lengths, LengthArrays, and CoordsArrays.
6428         * GNUmakefile.am:
6429         * WebCore.pro:
6430         * WebCore.vcproj/WebCore.vcproj:
6431         * WebCore.xcodeproj/project.pbxproj:
6432         * WebCoreSources.bkl:
6433         * html/HTMLAreaElement.cpp:
6434         (WebCore::HTMLAreaElement::parseMappedAttribute):
6435         * html/HTMLFrameSetElement.cpp:
6436         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
6437         * platform/text/AtomicString.h:
6438         (WebCore::AtomicString::percentage):
6439         * platform/text/PlatformString.h:
6440         * platform/text/String.cpp:
6441         * platform/text/StringImpl.cpp:
6442         * platform/text/StringImpl.h:
6443         * rendering/Length.cpp: Added.
6444         (WebCore::parseLength):
6445         (WebCore::countCharacter):
6446         (WebCore::newCoordsArray):
6447         (WebCore::newLengthArray):
6448         * rendering/Length.h:
6449         (WebCore::LengthSize::LengthSize):
6451 2008-10-12  Brad Garcia  <bgarcia@google.com>
6453         Reviewed by Darin Adler.
6455         Interpret fractional percentage values for %MultiLength values.
6456         Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
6457         Test: fast/frames/frame-length-fractional-percentage.html
6459         * platform/text/StringImpl.cpp:
6460         (WebCore::parseLength):
6462 2008-10-12  Timothy Hatcher  <timothy@apple.com>
6464         Remember the expanded state of the rules in the Styles pane. So
6465         collapsing a rule will persist across all the elements that have
6466         that same rule. The same applies to Computed Style, so the Computed
6467         Style rule is now collapsed by default. This should help lessen the
6468         confusion on why Computed Style can't be edited (a common confusion.)
6470         https://bugs.webkit.org/show_bug.cgi?id=21553
6472         Reviewed by Darin Adler.
6474         * inspector/front-end/PropertiesSection.js:
6475         (WebInspector.PropertiesSection): Set the _expanded property directly,
6476         instead of using the setter. Expanded is the default, so no work is needed.
6477         This prevents calling StylesSidebarPane.collapse before object initialization
6478         is complete.
6479         * inspector/front-end/StylesSidebarPane.js:
6480         (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
6481         for the expanded state of the StylePropertiesSection. Collapse computed style
6482         by default and expand everything else.
6483         (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
6484         when remembering expanded state.
6485         (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
6486         to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
6487         the state if the dontRememberState property is true.
6488         (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
6489         to false for this identifier in Preferences.styleRulesExpandedState.
6490         * inspector/front-end/inspector.js:
6491         (Preferences.styleRulesExpandedState): Initialize to an empty object.
6493 2008-10-12  Jan Michael Alonzo  <jmalonzo@webkit.org>
6495         Reviewed by Alp Toker.
6497         [Gtk] Remove libWebCoreJS.la when doing make clean
6498         https://bugs.webkit.org/show_bug.cgi?id=21544
6500         Remove libWebCoreJS.la when doing a clean target
6502         * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
6504 2008-10-11  Alp Toker  <alp@nuanti.com>
6506         Reviewed by Darin Adler.
6508         https://bugs.webkit.org/show_bug.cgi?id=20592
6509         The focus ring is not shown while navigating on some pages
6511         Fix drawFocusRing() so it doesn't depend on the current graphics
6512         state, thus matching other platforms which already work this way.
6514         This patch provides two code paths: one using straight Cairo and
6515         one specialised for the GTK+ port with a more conventional appearance.
6517         Also change focusRingColor() to return a null color, allowing the
6518         focus ring to pick up the style's current color if it isn't overridden
6519         with CSS.
6521         * platform/graphics/cairo/GraphicsContextCairo.cpp:
6522         (WebCore::GraphicsContext::drawFocusRing):
6523         * platform/gtk/TemporaryLinkStubs.cpp:
6524         (WebCore::focusRingColor):
6526 2008-10-11  Dan Bernstein  <mitz@apple.com>
6528         Rubber-stamped by Sam Weinig.
6530         - change all internal callers to use Cache::evict() instead of remove()
6532         * loader/Cache.cpp:
6533         (WebCore::Cache::revalidateResource):
6534         (WebCore::Cache::revalidationSucceeded):
6535         (WebCore::Cache::pruneDeadResources):
6536         (WebCore::Cache::setDisabled):
6538 2008-10-11  David Hyatt  <hyatt@apple.com>
6540         Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
6542         Reviewed by Tim Hatcher
6544         * platform/ScrollbarThemeComposite.cpp:
6545         (WebCore::ScrollbarThemeComposite::invalidatePart):
6547 2008-10-11  David Hyatt  <hyatt@apple.com>
6549         https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
6551         Also fixed resizer positioning problems.
6553         Reviewed by Tim Hatcher
6555         * platform/ScrollbarThemeComposite.cpp:
6556         (WebCore::ScrollbarThemeComposite::splitTrack):
6557         (WebCore::ScrollbarThemeComposite::trackPosition):
6558         (WebCore::ScrollbarThemeComposite::trackLength):
6559         * platform/ScrollbarThemeComposite.h:
6560         (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
6561         * rendering/RenderLayer.cpp:
6562         (WebCore::scrollCornerRect):
6563         (WebCore::RenderLayer::positionOverflowControls):
6564         (WebCore::RenderLayer::paintOverflowControls):
6565         (WebCore::RenderLayer::isPointInResizeControl):
6566         (WebCore::RenderLayer::hitTestOverflowControls):
6567         * rendering/RenderScrollbarTheme.cpp:
6568         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
6569         * rendering/RenderScrollbarTheme.h:
6571 2008-10-11  Alp Toker  <alp@nuanti.com>
6573         Reviewed by David Hyatt.
6575         Implement release/retain for Widget GTK+.
6577         * platform/Widget.cpp:
6578         * platform/gtk/WidgetGtk.cpp:
6579         (WebCore::Widget::~Widget):
6580         (WebCore::Widget::releasePlatformWidget):
6581         (WebCore::Widget::retainPlatformWidget):
6583 2008-10-11  Dan Bernstein  <mitz@apple.com>
6585         Reviewed by Sam Weinig.
6587         - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
6588           and add a corresponding getter; add the same functions on Windows
6590         * WebCore.base.exp:
6591         * platform/graphics/Font.cpp:
6592         (WebCore::Font::setCodePath):
6593         (WebCore::codePath):
6594         (WebCore::Font::canUseGlyphCache):
6595         * platform/graphics/Font.h:
6596         * platform/mac/WebCoreTextRenderer.h:
6597         * platform/mac/WebCoreTextRenderer.mm:
6598         (WebCoreSetAlwaysUsesComplexTextCodePath):
6599         (WebCoreAlwaysUsesComplexTextCodePath):
6600         * platform/win/WebCoreTextRenderer.cpp:
6601         (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
6602         (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
6603         * platform/win/WebCoreTextRenderer.h:
6605 2008-10-11  Sam Weinig  <sam@webkit.org>
6607         Reviewed by Cameron Zwarich.
6609         Stop leaking the event parameter names.  The protected strings were showing up
6610         in the caches window after one use.  No measurable performance loss.
6612         * bindings/js/JSEventListener.cpp:
6613         (WebCore::eventParameterName):
6615 2008-10-11  Sam Weinig  <sam@webkit.org>
6617         Reviewed by Cameron Zwarich.
6619         Remove unused function getNodeEventListener.
6621         * bindings/js/JSEventListener.cpp:
6622         * bindings/js/JSEventListener.h:
6624 2008-10-11  David Hyatt  <hyatt@apple.com>
6626         Add support for both positive and negative margins to tracks and track pieces.
6628         Reviewed by Tim Hatcher
6630         * platform/ScrollbarThemeComposite.cpp:
6631         (WebCore::ScrollbarThemeComposite::paint):
6632         (WebCore::ScrollbarThemeComposite::hitTest):
6633         (WebCore::ScrollbarThemeComposite::splitTrack):
6634         (WebCore::ScrollbarThemeComposite::trackPieceRects):
6635         (WebCore::ScrollbarThemeComposite::trackPosition):
6636         (WebCore::ScrollbarThemeComposite::trackLength):
6637         * platform/ScrollbarThemeComposite.h:
6638         (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
6639         * rendering/RenderScrollbar.cpp:
6640         (WebCore::RenderScrollbar::trackRect):
6641         (WebCore::RenderScrollbar::trackPieceRectWithMargins):
6642         * rendering/RenderScrollbar.h:
6643         * rendering/RenderScrollbarPart.cpp:
6644         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
6645         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
6646         * rendering/RenderScrollbarTheme.cpp:
6647         (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
6648         * rendering/RenderScrollbarTheme.h:
6650 2008-10-10  David Hyatt  <hyatt@apple.com>
6652         Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
6653         the scrollbar pseudo-elements anyway.
6655         Reviewed by Tim Hatcher
6657         * css/CSSSelector.cpp:
6658         (WebCore::CSSSelector::extractPseudoType):
6659         * css/CSSSelector.h:
6660         (WebCore::CSSSelector::):
6661         * css/CSSStyleSelector.cpp:
6662         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6664 2008-10-10  Dan Bernstein  <mitz@apple.com>
6666         Reviewed by Sam Weinig.
6668         - separate Cache::remove() into a private method and a public interface,
6669           then make Cache::pruneDeadResources() use the private method.
6671         * loader/Cache.cpp:
6672         (WebCore::Cache::pruneDeadResources):
6673         (WebCore::Cache::evict):
6674         * loader/Cache.h:
6675         (WebCore::Cache::remove):
6677 2008-10-10  David Hyatt  <hyatt@apple.com>
6679         Fix a math error when splitting a vertical track.  Clean up more of ScrollbarThemeComposite
6680         now that the track pieces meet under the thumb.
6682         Reviewed by Tim Hatcher
6684         * platform/ScrollbarThemeComposite.cpp:
6685         (WebCore::ScrollbarThemeComposite::paint):
6686         (WebCore::ScrollbarThemeComposite::splitTrack):
6688 2008-10-10  David Hyatt  <hyatt@apple.com>
6690         Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
6692         Reviewed by Tim Hatcher
6694         * platform/ScrollbarThemeComposite.cpp:
6695         (WebCore::ScrollbarThemeComposite::hitTest):
6696         (WebCore::ScrollbarThemeComposite::splitTrack):
6698 2008-10-10  David Hyatt  <hyatt@apple.com>
6700         Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
6702         Reviewed by Tim Hatcher
6704         * rendering/RenderLayer.cpp:
6705         (WebCore::RenderLayer::createScrollbar):
6706         * rendering/RenderScrollbar.cpp:
6707         (WebCore::RenderScrollbar::createCustomScrollbar):
6708         (WebCore::RenderScrollbar::RenderScrollbar):
6709         (WebCore::RenderScrollbar::setParent):
6710         (WebCore::RenderScrollbar::updateScrollbarParts):
6711         (WebCore::RenderScrollbar::updateScrollbarPart):
6712         * rendering/RenderScrollbar.h:
6713         * rendering/style/RenderStyle.h:
6714         (WebCore::RenderStyle::):
6716 2008-10-10  David Hyatt  <hyatt@apple.com>
6718         Make sure scrollbar background images cause proper part invalidation to occur.
6720         Reviewed by Tim Hatcher
6722         * rendering/RenderScrollbar.cpp:
6723         (WebCore::RenderScrollbar::setHoveredPart):
6724         (WebCore::RenderScrollbar::setPressedPart):
6725         * rendering/RenderScrollbarPart.cpp:
6726         (WebCore::RenderScrollbarPart::styleDidChange):
6727         (WebCore::RenderScrollbarPart::imageChanged):
6728         * rendering/RenderScrollbarPart.h:
6730 2008-10-10  Simon Fraser  <simon.fraser@apple.com>
6732         Reviewed by Darin Adler
6734         https://bugs.webkit.org/show_bug.cgi?id=21538
6735         
6736         The blendFunc() for TransformOperations should never mess with the
6737         operation lists by replacing some ops with identity, otherwise the lists
6738         no longer match and transitions break.
6740         Test: transitions/matched-transform-functions.html
6742         * page/animation/AnimationBase.cpp:
6743         (WebCore::blendFunc):
6745 2008-10-10  Simon Fraser  <simon.fraser@apple.com>
6747         Reviewed by Darin Adler
6749         https://bugs.webkit.org/show_bug.cgi?id=21537
6751         Fix re-targetting a running transition; if the target property
6752         changes, we do need to make a new ImplicitAnimation.
6753         
6754         Test: transitions/retargetted-transition.html
6756         * page/animation/CompositeAnimation.cpp:
6757         (WebCore::CompositeAnimationPrivate::updateTransitions):
6759 2008-10-10  Oliver Hunt  <oliver@apple.com>
6761         Reviewed by Cameron Zwarich.
6763         Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
6765         When JS is terminated by the user choosing to stop a slow script
6766         the exception toString method throws, yet the console logger does
6767         not perform exception checks after logging.  This leaves an
6768         exception on the Machine, which in turn results in an assertion
6769         failure next time we attempt to enter JS.  The solution is just to
6770         clear the exception state after attempting to record the exception.
6772         * page/Console.cpp:
6773         (WebCore::Console::reportException):
6775 2008-10-10  David Hyatt  <hyatt@apple.com>
6777         Make textareas work with custom CSS scrollbars and resizers.  Need to access the correct renderer
6778         when looking for pseudo styles.
6780         Reviewed by Tim Hatcher
6782         * rendering/RenderLayer.cpp:
6783         (WebCore::RenderLayer::createScrollbar):
6784         (WebCore::RenderLayer::styleChanged):
6786 2008-10-10  David Hyatt  <hyatt@apple.com>
6788         Add the ability to style the scroll corner and the resizer from CSS.
6790         Reviewed by Tim Hatcher
6792         * css/CSSSelector.cpp:
6793         (WebCore::CSSSelector::extractPseudoType):
6794         * css/CSSSelector.h:
6795         (WebCore::CSSSelector::):
6796         * css/CSSStyleSelector.cpp:
6797         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
6798         * rendering/RenderLayer.cpp:
6799         (WebCore::RenderLayer::RenderLayer):
6800         (WebCore::RenderLayer::~RenderLayer):
6801         (WebCore::RenderLayer::paintOverflowControls):
6802         (WebCore::RenderLayer::paintScrollCorner):
6803         (WebCore::RenderLayer::paintResizer):
6804         (WebCore::RenderLayer::styleChanged):
6805         * rendering/RenderLayer.h:
6806         * rendering/RenderScrollbar.cpp:
6807         (WebCore::RenderScrollbar::updateScrollbarPart):
6808         (WebCore::RenderScrollbar::paintPart):
6809         * rendering/RenderScrollbarPart.cpp:
6810         (WebCore::RenderScrollbarPart::RenderScrollbarPart):
6811         (WebCore::RenderScrollbarPart::paintIntoRect):
6812         * rendering/RenderScrollbarPart.h:
6813         * rendering/style/RenderStyle.h:
6814         (WebCore::RenderStyle::):
6816 2008-10-10  David Hyatt  <hyatt@apple.com>
6818         Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
6820         Reviewed by Sam Weinig
6822         No test case possible, since the OS setting can vary.
6824         * css/CSSSelector.cpp:
6825         (WebCore::CSSSelector::extractPseudoType):
6826         * css/CSSSelector.h:
6827         (WebCore::CSSSelector::):
6828         * css/CSSStyleSelector.cpp:
6829         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6830         * platform/Scrollbar.h:
6831         (WebCore::Scrollbar::styleChanged):
6832         * platform/mac/ScrollbarThemeMac.mm:
6833         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
6834         (WebCore::ScrollbarThemeMac::preferencesChanged):
6835         * rendering/RenderLayer.cpp:
6836         (WebCore::RenderLayer::invalidateScrollbarRect):
6837         * rendering/RenderScrollbar.cpp:
6838         (WebCore::RenderScrollbar::styleChanged):
6839         (WebCore::RenderScrollbar::updateScrollbarPart):
6840         * rendering/RenderScrollbar.h:
6841         * rendering/RenderScrollbarTheme.h:
6842         (WebCore::RenderScrollbarTheme::buttonsPlacement):
6844 2008-10-10  Timothy Hatcher  <timothy@apple.com>
6846         Fixes a regression with input search fields, where the placeholder text
6847         would not be updated when the value of the placeholder attribute changed.
6849         https://bugs.webkit.org/show_bug.cgi?id=21521
6851         Reviewed by Adele Peterson.
6853         Test: fast/forms/search-placeholder-value-changed.html
6855         * html/HTMLInputElement.cpp:
6856         (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
6857         placeholderValueChanged parameter of updatePlaceholderVisibility.
6858         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
6859         for placeholderValueChanged that informs the method that the value changed.
6860         * html/HTMLInputElement.h: Add the placeholderValueChanged to the
6861         updatePlaceholderVisibility method. Made it default to false.
6863 2008-10-10  David Hyatt  <hyatt@apple.com>
6865         Allow the track part to have negative margins so that it can slightly overlap buttons.  This
6866         is necessary to emulate the Aqua look in CSS.
6868         Reviewed by Sam Weinig
6870         * platform/ScrollbarThemeComposite.cpp:
6871         (WebCore::ScrollbarThemeComposite::paint):
6872         (WebCore::ScrollbarThemeComposite::hitTest):
6873         * rendering/RenderScrollbar.cpp:
6874         (WebCore::RenderScrollbar::setHoveredPart):
6875         (WebCore::RenderScrollbar::trackRect):
6876         * rendering/RenderScrollbar.h:
6877         * rendering/RenderScrollbarPart.cpp:
6878         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
6879         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
6880         * rendering/RenderScrollbarTheme.cpp:
6881         (WebCore::RenderScrollbarTheme::backButtonRect):
6882         (WebCore::RenderScrollbarTheme::forwardButtonRect):
6883         (WebCore::RenderScrollbarTheme::trackRect):
6885 2008-10-10  David Hyatt  <hyatt@apple.com>
6887         https://bugs.webkit.org/show_bug.cgi?id=21527
6889         Make CSS scrollbars support :not, :hover and :active.
6891         Reviewed by Adam Roben
6893         Added WebCore/manual-tests/scrollbar-hover-active.html
6895         * css/CSSStyleSelector.cpp:
6896         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
6897         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6898         * platform/Scrollbar.cpp:
6899         (WebCore::Scrollbar::autoscrollPressedPart):
6900         (WebCore::Scrollbar::startTimerIfNeeded):
6901         (WebCore::Scrollbar::setHoveredPart):
6902         (WebCore::Scrollbar::setPressedPart):
6903         (WebCore::Scrollbar::mouseMoved):
6904         (WebCore::Scrollbar::mouseExited):
6905         (WebCore::Scrollbar::mouseUp):
6906         (WebCore::Scrollbar::mouseDown):
6907         * platform/Scrollbar.h:
6908         * rendering/RenderScrollbar.cpp:
6909         (WebCore::RenderScrollbar::setHoveredPart):
6910         (WebCore::RenderScrollbar::setPressedPart):
6911         (WebCore::RenderScrollbar::updateScrollbarParts):
6912         (WebCore::pseudoForScrollbarPart):
6913         (WebCore::RenderScrollbar::updateScrollbarPart):
6914         * rendering/RenderScrollbar.h:
6916 2008-10-10  Chris Marrin  <cmarrin@apple.com>
6918         Reviewed by Dan Bernstein.
6920         Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
6921         CSS transition with duration=0 and delay=0 doesn't override ongoing transition
6923         Test: transitions/interrupt-zero-duration.html
6925         * page/animation/CompositeAnimation.cpp:
6926         (WebCore::CompositeAnimation::updateTransitions):
6928 2008-10-10  Kevin Ollivier  <kevino@theolliviers.com>
6930         wx build fix. Add new scrollbar-related sources.
6932         * WebCoreSources.bkl:
6934 2008-10-10  David Hyatt  <hyatt@apple.com>
6936         https://bugs.webkit.org/show_bug.cgi?id=21522
6938         Support increment/decrement/start/end on scrollbars.  Allows a fully functional scrollbar to be
6939         created.  (Just :hover/:active left to finish it up.)
6941         Reviewed by Adam Roben
6943         Added scrollbars/scrollbar-buttons.html
6945         * css/CSSStyleSelector.cpp:
6946         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6948 2008-10-10  David Hyatt  <hyatt@apple.com>
6950         Rename some pseudoclasses.  Removing "-scrollbar-" from a bunch of the pseudoclasses.  Renaming
6951         back/forward to decrement/increment.  Adding start/end pseudoclasses.
6953         Reviewed by Eric Seidel
6955         * css/CSSSelector.cpp:
6956         (WebCore::CSSSelector::extractPseudoType):
6957         * css/CSSSelector.h:
6958         (WebCore::CSSSelector::):
6959         * css/CSSStyleSelector.cpp:
6960         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6962 2008-10-10  David Hyatt  <hyatt@apple.com>
6964         Switch window-active to window-inactive, since that will work better as far as degrading in other
6965         browsers.
6967         Reviewed by Tim Hatcher
6969         * css/CSSSelector.cpp:
6970         (WebCore::CSSSelector::extractPseudoType):
6971         * css/CSSSelector.h:
6972         (WebCore::CSSSelector::):
6973         * css/CSSStyleSelector.cpp:
6974         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6976 2008-10-09  Chris Marrin  <cmarrin@apple.com>
6978         Reviewed by Dan Bernstein.
6980         https://bugs.webkit.org/show_bug.cgi?id=21310
6982         Redesigned how animation events are sent in order to get rid of
6983         AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
6984         are now ref counted. While calling the event handler, I keep a 
6985         reference to this class to avoid it getting destroyed out from under me.
6987         I also moved most of the functionality of CompositeAnimation to
6988         and internal class (CompositeAnimationPrivate) to reduce the exposure
6989         of the internals of the various animation classes.
6991         We have several transition and animation LayoutTests which verify that
6992         this fix works as expected and continues to avoid crashes.
6994         * page/animation/AnimationBase.cpp:
6995         (WebCore::AnimationBase::AnimationBase):
6996         * page/animation/AnimationBase.h:
6997         (WebCore::AnimationBase::cancelTimers):
6998         (WebCore::AnimationBase::waitingForStyleAvailable):
6999         * page/animation/CompositeAnimation.cpp:
7000         (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
7001         (WebCore::CompositeAnimationPrivate::suspended):
7002         (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
7003         (WebCore::CompositeAnimationPrivate::updateTransitions):
7004         (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
7005         (WebCore::CompositeAnimationPrivate::animate):
7006         (WebCore::CompositeAnimationPrivate::setAnimating):
7007         (WebCore::CompositeAnimationPrivate::animating):
7008         (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
7009         (WebCore::CompositeAnimationPrivate::resetTransitions):
7010         (WebCore::CompositeAnimationPrivate::resetAnimations):
7011         (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
7012         (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
7013         (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
7014         (WebCore::CompositeAnimationPrivate::suspendAnimations):
7015         (WebCore::CompositeAnimationPrivate::resumeAnimations):
7016         (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
7017         (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
7018         (WebCore::compareAnimationIndices):
7019         (WebCore::CompositeAnimationPrivate::styleAvailable):
7020         (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
7021         (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
7022         (WebCore::CompositeAnimation::CompositeAnimation):
7023         (WebCore::CompositeAnimation::~CompositeAnimation):
7024         (WebCore::CompositeAnimation::animate):
7025         (WebCore::CompositeAnimation::animating):
7026         (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
7027         (WebCore::CompositeAnimation::resetTransitions):
7028         (WebCore::CompositeAnimation::suspendAnimations):
7029         (WebCore::CompositeAnimation::resumeAnimations):
7030         (WebCore::CompositeAnimation::suspended):
7031         (WebCore::CompositeAnimation::styleAvailable):
7032         (WebCore::CompositeAnimation::setAnimating):
7033         (WebCore::CompositeAnimation::isAnimatingProperty):
7034         (WebCore::CompositeAnimation::setAnimationStartTime):
7035         (WebCore::CompositeAnimation::setTransitionStartTime):
7036         (WebCore::CompositeAnimation::overrideImplicitAnimations):
7037         (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
7038         * page/animation/CompositeAnimation.h:
7039         * page/animation/ImplicitAnimation.cpp:
7040         (WebCore::ImplicitAnimation::sendTransitionEvent):
7041         * page/animation/ImplicitAnimation.h:
7042         (WebCore::ImplicitAnimation::create):
7043         * page/animation/KeyframeAnimation.cpp:
7044         (WebCore::KeyframeAnimation::sendAnimationEvent):
7045         * page/animation/KeyframeAnimation.h:
7046         (WebCore::KeyframeAnimation::create):
7048 2008-10-09  David Hyatt  <hyatt@apple.com>
7050         Add support for scrollbar orientation as a pseudoclass.  Add support for whether or not the scrollbar
7051         is active as well.
7053         Reviewed by Tim Hatcher
7055         Added scrollbars/scrollbar-orientation.html
7057         * css/CSSSelector.cpp:
7058         (WebCore::CSSSelector::extractPseudoType):
7059         * css/CSSSelector.h:
7060         (WebCore::CSSSelector::):
7061         * css/CSSStyleSelector.cpp:
7062         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
7063         * platform/Scrollbar.cpp:
7064         (WebCore::Scrollbar::isWindowActive):
7065         * platform/Scrollbar.h:
7066         * rendering/RenderScrollbar.cpp:
7067         (WebCore::RenderScrollbar::paint):
7068         (WebCore::RenderScrollbar::partForStyleResolve):
7069         * rendering/RenderScrollbar.h:
7071 2008-10-09  David Hyatt  <hyatt@apple.com>
7073         Add support for pseudo classes on scrollbar pseudo elements.  As an initial proof of concept only
7074         :enabled/:disabled are supported.  More pseudo classes will follow quickly now that this works.
7076         Reviewed by Tim Hatcher
7078         Added scrollbars/disabled-scrollbar.html
7080         * css/CSSStyleSelector.cpp:
7081         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
7082         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
7083         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
7084         * css/CSSStyleSelector.h:
7085         * rendering/RenderObject.cpp:
7086         (WebCore::RenderObject::getPseudoStyle):
7087         * rendering/RenderObject.h:
7088         * rendering/RenderScrollbar.cpp:
7089         (WebCore::RenderScrollbar::setEnabled):
7090         (WebCore::RenderScrollbar::scrollbarForStyleResolve):
7091         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
7092         (WebCore::RenderScrollbar::paintPart):
7093         * rendering/RenderScrollbar.h:
7095 2008-10-09  Eric Carlson  <eric.carlson@apple.com>
7097         Media controls should not show when element is not visible
7099         https://bugs.webkit.org/show_bug.cgi?id=21155
7100         
7101         Reviewed by Adele Peterson.
7103         * html/HTMLMediaElement.cpp:
7104         (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
7105         in sync with visibility changes
7106         * html/HTMLMediaElement.h:
7107         * rendering/RenderMedia.cpp:
7108         (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
7109         (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
7110         if element is visible or not. Don't animate controller visibility when change triggered by
7111         showing or hiding media element.
7112         * rendering/RenderMedia.h: declare m_previousVisible
7114 2008-10-09  Timothy Hatcher  <timothy@apple.com>
7116         Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
7117         availability macros and version macros.
7119         https://bugs.webkit.org/show_bug.cgi?id=21496
7120         rdar://problem/6259225
7122         Reviewed by Sam Weinig.
7124         * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
7125         * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
7126         and add an #if around the enum.
7127         * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
7128         comment to match the other headers.
7129         * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
7130         * bindings/objc/DOMObject.h: Add a version #if around class interface.
7131         * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
7132         and add a version #if around the enum.
7133         * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
7134         * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
7135         * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
7136         when they where added to WebKit. Also annotate individual methods that are
7137         deprecated or where added after the class was added to WebKit.
7138         * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
7139         since this header is included by most DOM headers. Annotate the JSObject method.
7141         * bindings/scripts/CodeGeneratorObjC.pm:
7142         (ReadPublicInterfaces): Parse out the availability macro for each function/property.
7143         And parse out the availability version for the class/protocol. Default to
7144         WEBKIT_VERSION_LATEST if the class is new.
7145         (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
7146         interface availability version check if the class has a required version. Create
7147         a public interface key (used to lookup in $publicInterfaces) and make a declaration
7148         suffix that includes the availability macro (if needed). Use the "available in 1.3
7149         and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
7150         the default availability macro for old style methods. Tweak line breaks in the generated
7151         headers to look good and not have too many extra lines.
7153 2008-10-09  Simon Fraser  <simon.fraser@apple.com>
7155         Reviewed by Dave Hyatt
7157         https://bugs.webkit.org/show_bug.cgi?id=20947
7159         Refactor setStyle() methods into styleWillChange()
7160         and styleDidChange(), so most of the setStyle() overrides can
7161         be removed.
7163         * rendering/RenderBR.cpp:
7164         (WebCore::RenderBR::styleDidChange):
7165         * rendering/RenderBR.h:
7166         * rendering/RenderBlock.cpp:
7167         (WebCore::RenderBlock::styleWillChange):
7168         (WebCore::RenderBlock::styleDidChange):
7169         * rendering/RenderBlock.h:
7170         * rendering/RenderBox.cpp:
7171         (WebCore::RenderBox::~RenderBox):
7172         (WebCore::RenderBox::destroy):
7173         (WebCore::RenderBox::styleWillChange):
7174         (WebCore::RenderBox::styleDidChange):
7175         * rendering/RenderBox.h:
7176         * rendering/RenderButton.cpp:
7177         (WebCore::RenderButton::styleWillChange):
7178         (WebCore::RenderButton::styleDidChange):
7179         * rendering/RenderButton.h:
7180         * rendering/RenderFieldset.cpp:
7181         (WebCore::RenderFieldset::styleDidChange):
7182         * rendering/RenderFieldset.h:
7183         * rendering/RenderFileUploadControl.cpp:
7184         (WebCore::RenderFileUploadControl::styleDidChange):
7185         * rendering/RenderFileUploadControl.h:
7186         * rendering/RenderInline.cpp:
7187         (WebCore::RenderInline::styleDidChange):
7188         * rendering/RenderInline.h:
7189         * rendering/RenderLayer.cpp:
7190         (WebCore::RenderLayer::styleChanged):
7191         * rendering/RenderLayer.h:
7192         * rendering/RenderListBox.cpp:
7193         (WebCore::RenderListBox::styleDidChange):
7194         * rendering/RenderListBox.h:
7195         * rendering/RenderListItem.cpp:
7196         (WebCore::RenderListItem::styleDidChange):
7197         * rendering/RenderListItem.h:
7198         * rendering/RenderListMarker.cpp:
7199         (WebCore::RenderListMarker::styleWillChange):
7200         (WebCore::RenderListMarker::styleDidChange):
7201         * rendering/RenderListMarker.h:
7202         * rendering/RenderMenuList.cpp:
7203         (WebCore::RenderMenuList::styleDidChange):
7204         * rendering/RenderMenuList.h:
7205         * rendering/RenderObject.cpp:
7206         (WebCore::RenderObject::setStyle):
7207         (WebCore::RenderObject::setStyleInternal):
7208         (WebCore::RenderObject::styleWillChange):
7209         (WebCore::RenderObject::styleDidChange):
7210         * rendering/RenderObject.h:
7211         * rendering/RenderReplaced.cpp:
7212         (WebCore::RenderReplaced::styleDidChange):
7213         * rendering/RenderReplaced.h:
7214         * rendering/RenderSVGGradientStop.cpp:
7215         (WebCore::RenderSVGGradientStop::styleDidChange):
7216         * rendering/RenderSVGGradientStop.h:
7217         * rendering/RenderScrollbarPart.cpp:
7218         (WebCore::RenderScrollbarPart::styleDidChange):
7219         * rendering/RenderScrollbarPart.h:
7220         * rendering/RenderSlider.cpp:
7221         (WebCore::RenderSlider::styleDidChange):
7222         * rendering/RenderSlider.h:
7223         * rendering/RenderTable.cpp:
7224         (WebCore::RenderTable::styleDidChange):
7225         * rendering/RenderTable.h:
7226         * rendering/RenderTableCell.cpp:
7227         (WebCore::RenderTableCell::styleWillChange):
7228         (WebCore::RenderTableCell::styleDidChange):
7229         * rendering/RenderTableCell.h:
7230         * rendering/RenderTableRow.cpp:
7231         (WebCore::RenderTableRow::styleWillChange):
7232         * rendering/RenderTableRow.h:
7233         * rendering/RenderText.cpp:
7234         (WebCore::RenderText::styleDidChange):
7235         * rendering/RenderText.h:
7236         * rendering/RenderTextControl.cpp:
7237         (WebCore::RenderTextControl::styleDidChange):
7238         * rendering/RenderTextControl.h:
7239         * rendering/RenderWidget.cpp:
7240         (WebCore::RenderWidget::styleDidChange):
7241         * rendering/RenderWidget.h:
7243 2008-10-09  David Hyatt  <hyatt@apple.com>
7245         Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away.  When our widget
7246         parent is nulled out is a good time.
7248         Reviewed by Oliver Hunt
7250         * rendering/RenderScrollbar.cpp:
7251         (WebCore::RenderScrollbar::~RenderScrollbar):
7252         (WebCore::RenderScrollbar::setParent):
7253         (WebCore::RenderScrollbar::updateScrollbarPart):
7254         * rendering/RenderScrollbar.h:
7256 2008-10-09  David Hyatt  <hyatt@apple.com>
7258         https://bugs.webkit.org/show_bug.cgi?id=21446
7260         This patch gets CSS scrollbars up and limping.  There's no way to distinguish between states or between
7261         orientation and back vs. forward on the buttons, but it's a start.
7263         Reviewed by Oliver Hunt
7265         Added scrollbars/basic-scrollbar.html
7267         * WebCore.xcodeproj/project.pbxproj:
7268         * css/CSSSelector.cpp:
7269         (WebCore::CSSSelector::extractPseudoType):
7270         * css/CSSSelector.h:
7271         (WebCore::CSSSelector::):
7272         * css/CSSStyleSelector.cpp:
7273         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
7274         * platform/ScrollTypes.h:
7275         (WebCore::):
7276         * platform/Scrollbar.h:
7277         (WebCore::Scrollbar::styleChanged):
7278         * platform/ScrollbarThemeComposite.cpp:
7279         (WebCore::ScrollbarThemeComposite::paint):
7280         (WebCore::ScrollbarThemeComposite::splitTrack):
7281         * platform/ScrollbarThemeComposite.h:
7282         (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
7283         (WebCore::ScrollbarThemeComposite::paintTrackBackground):
7284         (WebCore::ScrollbarThemeComposite::paintTrackPiece):
7285         * platform/win/ScrollbarThemeSafari.cpp:
7286         (WebCore::ScrollbarThemeSafari::paintTrackBackground):
7287         * platform/win/ScrollbarThemeSafari.h:
7288         * platform/win/ScrollbarThemeWin.cpp:
7289         (WebCore::ScrollbarThemeWin::paintTrack):
7290         * platform/win/ScrollbarThemeWin.h:
7291         * rendering/RenderLayer.cpp:
7292         (WebCore::RenderLayer::createScrollbar):
7293         (WebCore::RenderLayer::styleChanged):
7294         * rendering/RenderScrollbar.cpp: Added.
7295         (WebCore::RenderScrollbar::createCustomScrollbar):
7296         (WebCore::RenderScrollbar::RenderScrollbar):
7297         (WebCore::RenderScrollbar::~RenderScrollbar):
7298         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
7299         (WebCore::RenderScrollbar::updateScrollbarParts):
7300         (WebCore::RenderScrollbar::updateScrollbarPart):
7301         (WebCore::RenderScrollbar::paintPart):
7302         (WebCore::RenderScrollbar::buttonRect):
7303         (WebCore::RenderScrollbar::minimumThumbLength):
7304         * rendering/RenderScrollbar.h: Added.
7305         (WebCore::RenderScrollbar::styleChanged):
7306         (WebCore::RenderScrollbar::owningRenderer):
7307         * rendering/RenderScrollbarPart.cpp: Added.
7308         (WebCore::RenderScrollbarPart::RenderScrollbarPart):
7309         (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
7310         (WebCore::RenderScrollbarPart::layout):
7311         (WebCore::RenderScrollbarPart::layoutHorizontalPart):
7312         (WebCore::RenderScrollbarPart::layoutVerticalPart):
7313         (WebCore::calcScrollbarThicknessUsing):
7314         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
7315         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
7316         (WebCore::RenderScrollbarPart::calcPrefWidths):
7317         (WebCore::RenderScrollbarPart::setStyle):
7318         * rendering/RenderScrollbarPart.h: Added.
7319         (WebCore::RenderScrollbarPart::renderName):
7320         (WebCore::RenderScrollbarPart::requiresLayer):
7321         * rendering/RenderScrollbarTheme.cpp: Added.
7322         (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
7323         (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
7324         (WebCore::RenderScrollbarTheme::hasButtons):
7325         (WebCore::RenderScrollbarTheme::hasThumb):
7326         (WebCore::RenderScrollbarTheme::minimumThumbLength):
7327         (WebCore::RenderScrollbarTheme::backButtonRect):
7328         (WebCore::RenderScrollbarTheme::forwardButtonRect):
7329         (WebCore::RenderScrollbarTheme::trackRect):
7330         (WebCore::RenderScrollbarTheme::paintScrollCorner):
7331         (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
7332         (WebCore::RenderScrollbarTheme::paintTrackBackground):
7333         (WebCore::RenderScrollbarTheme::paintTrackPiece):
7334         (WebCore::RenderScrollbarTheme::paintButton):
7335         (WebCore::RenderScrollbarTheme::paintThumb):
7336         * rendering/RenderScrollbarTheme.h: Added.
7337         (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
7338         (WebCore::RenderScrollbarTheme::scrollbarThickness):
7339         (WebCore::RenderScrollbarTheme::buttonsPlacement):
7340         (WebCore::RenderScrollbarTheme::supportsControlTints):
7341         (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
7342         (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
7343         (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
7344         (WebCore::RenderScrollbarTheme::registerScrollbar):
7345         (WebCore::RenderScrollbarTheme::unregisterScrollbar):
7346         * rendering/style/RenderStyle.h:
7347         (WebCore::RenderStyle::):
7349 2008-10-09  Eric Seidel  <eric@webkit.org>
7351         Reviewed by Oliver Hunt.
7353         Fix Canvex DOOM Game
7354         Gradient clips were not getting cleared after filling the
7355         gradient, this was causing nothing to draw in Canvex
7356         https://bugs.webkit.org/show_bug.cgi?id=21498
7357         
7358         Tests forthcoming.
7360         * WebCore.xcodeproj/project.pbxproj:
7361         * platform/graphics/cg/GraphicsContextCG.cpp:
7362         (WebCore::GraphicsContext::fillPath):
7363         (WebCore::GraphicsContext::strokePath):
7364         (WebCore::GraphicsContext::fillRect):
7366 2008-10-09  Eric Seidel  <eric@webkit.org>
7368         Reviewed by Oliver Hunt.
7369         
7370         Fix transformed patterns
7371         https://bugs.webkit.org/show_bug.cgi?id=21498
7372         
7373         Test: fast/canvas/patternfill-repeat.html
7375         * WebCore.xcodeproj/project.pbxproj:
7376         * platform/graphics/GraphicsContext.cpp:
7377         (WebCore::GraphicsContext::setStrokePattern):
7378         (WebCore::GraphicsContext::setFillPattern):
7379         (WebCore::GraphicsContext::setStrokeGradient):
7380         (WebCore::GraphicsContext::setFillGradient):
7381         * platform/graphics/GraphicsContext.h:
7382         * platform/graphics/cairo/GraphicsContextCairo.cpp:
7383         * platform/graphics/cg/GraphicsContextCG.cpp:
7384         (WebCore::applyStrokePattern):
7385         (WebCore::applyFillPattern):
7386         (WebCore::GraphicsContext::drawPath):
7387         (WebCore::GraphicsContext::fillPath):
7388         (WebCore::GraphicsContext::strokePath):
7389         (WebCore::GraphicsContext::fillRect):
7390         * platform/graphics/qt/GraphicsContextQt.cpp:
7391         * platform/graphics/wx/GraphicsContextWx.cpp:
7393 2008-10-09  Kevin Ollivier  <kevino@theolliviers.com>
7395         wx build fixes.
7397         * platform/wx/WidgetWx.cpp:
7398         * plugins/wx/PluginViewWx.cpp:
7399         (WebCore::PluginView::invalidateRect):
7400         * webcore-base.bkl:
7402 2008-10-09  Chris Marrin  <cmarrin@apple.com>
7404         Reviewed by Darin Adler.
7406         Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
7407         Animations assert when navigating from page
7409         Changed assertions to test the right flag for the paused state
7411         * page/animation/AnimationBase.cpp:
7412         (WebCore::AnimationBase::updateStateMachine):
7414 2008-10-09  Chris Marrin  <cmarrin@apple.com>
7416         Reviewed by Dan Bernstein.
7418         Fixed > 180 degree rotation bug
7419         Ensure that validateTransformFunctionList() is called after updating keyframe styles
7421         https://bugs.webkit.org/show_bug.cgi?id=21420
7423         Test: animations/big-rotation.html
7425         * page/animation/KeyframeAnimation.cpp:
7426         (WebCore::KeyframeAnimation::KeyframeAnimation):
7428 2008-10-09  Brady Eidson  <beidson@apple.com>
7430         Reviewed by Anders
7432         <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
7434         The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
7436         * loader/FrameLoader.cpp:
7437         (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
7438         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
7439           so perform a second null check on the page.  Bail if it has been cleared.
7441 2008-10-09  Alp Toker  <alp@nuanti.com>
7443         Build fix for recent DOM generation Makefile changes when custom
7444         CFLAGS/CXXFLAGS are passed in.
7446         * GNUmakefile.am:
7448 2008-10-09  Jan Michael Alonzo  <jmalonzo@webkit.org>
7450         Reviewed by Alp Toker.
7452         https://bugs.webkit.org/show_bug.cgi?id=21390
7453         [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
7455         * platform/gtk/ScrollViewGtk.cpp:
7456         (WebCore::ScrollView::platformRemoveChild):
7458 2008-10-09  Darin Adler  <darin@apple.com>
7460        - try to fix Qt build
7462         * bridge/qt/qt_runtime.cpp:
7463         (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
7465 2008-10-08  Nikolas Zimmermann  <zimmermann@kde.org>
7467         Reviewed by Oliver Hunt & Sam Weinig.
7469         Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
7470         Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
7471         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
7473         Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
7474         Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
7475         use tree is rebuild.
7477         Make SVGElementInstance a real EventTarget, as the SVG specification demands.
7478         When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
7479         is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
7480         share an event listener list. Every event listener change on the SVGElementInstance object is forwared
7481         to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
7482         Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
7483         to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
7484         Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
7486         Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
7487         see resources/use-instanceRoot-event-bubbling.js for details.
7489         Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
7490                svg/custom/use-elementInstance-methods.svg (reenabled)
7491                svg/custom/use-setAttribute-crash.svg (covers bug 20550)
7492                svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
7493                svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
7494                svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
7496         * DerivedSources.make:
7497         * GNUmakefile.am:
7498         * WebCore.pro:
7499         * WebCore.vcproj/WebCore.vcproj:
7500         * WebCore.xcodeproj/project.pbxproj:
7501         * bindings/js/JSEventListener.h:
7502         (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
7503         * bindings/js/JSEventTarget.cpp:
7504         * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
7505         * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
7506         * bindings/js/JSSVGElementInstanceCustom.cpp:
7507         (WebCore::JSSVGElementInstance::addEventListener):
7508         (WebCore::JSSVGElementInstance::removeEventListener):
7509         (WebCore::JSSVGElementInstance::pushEventHandlerScope):
7510         * bindings/scripts/CodeGeneratorJS.pm:
7511         * bindings/scripts/CodeGeneratorObjC.pm:
7512         * dom/EventListener.h:
7513         (WebCore::EventListener::wasCreatedFromMarkup):
7514         * dom/EventTargetNode.cpp:
7515         (WebCore::updateSVGElementInstancesAfterEventListenerChange):
7516         (WebCore::EventTargetNode::addEventListener):
7517         (WebCore::EventTargetNode::removeEventListener):
7518         (WebCore::eventTargetAsSVGElementInstance):
7519         (WebCore::eventTargetRespectingSVGTargetRules):
7520         (WebCore::EventTargetNode::dispatchEvent):
7521         (WebCore::EventTargetNode::dispatchGenericEvent):
7522         (WebCore::EventTargetNode::removeEventListenerForType):
7523         * page/EventHandler.cpp:
7524         (WebCore::EventHandler::clear):
7525         (WebCore::instanceAssociatedWithShadowTreeElement):
7526         (WebCore::EventHandler::updateMouseEventTargetNode):
7527         * page/EventHandler.h:
7528         * svg/EventTargetSVGElementInstance.cpp: Removed.
7529         * svg/EventTargetSVGElementInstance.h: Removed.
7530         * svg/SVGElementInstance.cpp:
7531         (WebCore::SVGElementInstance::SVGElementInstance):
7532         (WebCore::SVGElementInstance::~SVGElementInstance):
7533         (WebCore::SVGElementInstance::childNodes):
7534         (WebCore::SVGElementInstance::setShadowTreeElement):
7535         (WebCore::SVGElementInstance::forgetWrapper):
7536         (WebCore::SVGElementInstance::appendChild):
7537         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
7538         (WebCore::SVGElementInstance::setNeedsUpdate):
7539         (WebCore::SVGElementInstance::associatedFrame):
7540         (WebCore::SVGElementInstance::addEventListener):
7541         (WebCore::SVGElementInstance::removeEventListener):
7542         (WebCore::SVGElementInstance::dispatchEvent):
7543         (WebCore::SVGElementInstance::onabort):
7544         (WebCore::SVGElementInstance::setOnabort):
7545         (WebCore::SVGElementInstance::onblur):
7546         (WebCore::SVGElementInstance::setOnblur):
7547         (WebCore::SVGElementInstance::onchange):
7548         (WebCore::SVGElementInstance::setOnchange):
7549         (WebCore::SVGElementInstance::onclick):
7550         (WebCore::SVGElementInstance::setOnclick):
7551         (WebCore::SVGElementInstance::oncontextmenu):
7552         (WebCore::SVGElementInstance::setOncontextmenu):
7553         (WebCore::SVGElementInstance::ondblclick):
7554         (WebCore::SVGElementInstance::setOndblclick):
7555         (WebCore::SVGElementInstance::onerror):
7556         (WebCore::SVGElementInstance::setOnerror):
7557         (WebCore::SVGElementInstance::onfocus):
7558         (WebCore::SVGElementInstance::setOnfocus):
7559         (WebCore::SVGElementInstance::oninput):
7560         (WebCore::SVGElementInstance::setOninput):
7561         (WebCore::SVGElementInstance::onkeydown):
7562         (WebCore::SVGElementInstance::setOnkeydown):
7563         (WebCore::SVGElementInstance::onkeypress):
7564         (WebCore::SVGElementInstance::setOnkeypress):
7565         (WebCore::SVGElementInstance::onkeyup):
7566         (WebCore::SVGElementInstance::setOnkeyup):
7567         (WebCore::SVGElementInstance::onload):
7568         (WebCore::SVGElementInstance::setOnload):
7569         (WebCore::SVGElementInstance::onmousedown):
7570         (WebCore::SVGElementInstance::setOnmousedown):
7571         (WebCore::SVGElementInstance::onmousemove):
7572         (WebCore::SVGElementInstance::setOnmousemove):
7573         (WebCore::SVGElementInstance::onmouseout):
7574         (WebCore::SVGElementInstance::setOnmouseout):
7575         (WebCore::SVGElementInstance::onmouseover):
7576         (WebCore::SVGElementInstance::setOnmouseover):
7577         (WebCore::SVGElementInstance::onmouseup):
7578         (WebCore::SVGElementInstance::setOnmouseup):
7579         (WebCore::SVGElementInstance::onmousewheel):
7580         (WebCore::SVGElementInstance::setOnmousewheel):
7581         (WebCore::SVGElementInstance::onbeforecut):
7582         (WebCore::SVGElementInstance::setOnbeforecut):
7583         (WebCore::SVGElementInstance::oncut):
7584         (WebCore::SVGElementInstance::setOncut):
7585         (WebCore::SVGElementInstance::onbeforecopy):
7586         (WebCore::SVGElementInstance::setOnbeforecopy):
7587         (WebCore::SVGElementInstance::oncopy):
7588         (WebCore::SVGElementInstance::setOncopy):
7589         (WebCore::SVGElementInstance::onbeforepaste):
7590         (WebCore::SVGElementInstance::setOnbeforepaste):
7591         (WebCore::SVGElementInstance::onpaste):
7592         (WebCore::SVGElementInstance::setOnpaste):
7593         (WebCore::SVGElementInstance::ondragenter):
7594         (WebCore::SVGElementInstance::setOndragenter):
7595         (WebCore::SVGElementInstance::ondragover):
7596         (WebCore::SVGElementInstance::setOndragover):
7597         (WebCore::SVGElementInstance::ondragleave):
7598         (WebCore::SVGElementInstance::setOndragleave):
7599         (WebCore::SVGElementInstance::ondrop):
7600         (WebCore::SVGElementInstance::setOndrop):
7601         (WebCore::SVGElementInstance::ondragstart):
7602         (WebCore::SVGElementInstance::setOndragstart):
7603         (WebCore::SVGElementInstance::ondrag):
7604         (WebCore::SVGElementInstance::setOndrag):
7605         (WebCore::SVGElementInstance::ondragend):
7606         (WebCore::SVGElementInstance::setOndragend):
7607         (WebCore::SVGElementInstance::onreset):
7608         (WebCore::SVGElementInstance::setOnreset):
7609         (WebCore::SVGElementInstance::onresize):
7610         (WebCore::SVGElementInstance::setOnresize):
7611         (WebCore::SVGElementInstance::onscroll):
7612         (WebCore::SVGElementInstance::setOnscroll):
7613         (WebCore::SVGElementInstance::onsearch):
7614         (WebCore::SVGElementInstance::setOnsearch):
7615         (WebCore::SVGElementInstance::onselect):
7616         (WebCore::SVGElementInstance::setOnselect):
7617         (WebCore::SVGElementInstance::onselectstart):
7618         (WebCore::SVGElementInstance::setOnselectstart):
7619         (WebCore::SVGElementInstance::onsubmit):
7620         (WebCore::SVGElementInstance::setOnsubmit):
7621         (WebCore::SVGElementInstance::onunload):
7622         (WebCore::SVGElementInstance::setOnunload):
7623         * svg/SVGElementInstance.h:
7624         (WebCore::SVGElementInstance::needsUpdate):
7625         (WebCore::SVGElementInstance::toNode):
7626         (WebCore::SVGElementInstance::toSVGElementInstance):
7627         (WebCore::SVGElementInstance::correspondingElement):
7628         (WebCore::SVGElementInstance::correspondingUseElement):
7629         (WebCore::SVGElementInstance::shadowTreeElement):
7630         (WebCore::SVGElementInstance::parentNode):
7631         (WebCore::SVGElementInstance::previousSibling):
7632         (WebCore::SVGElementInstance::nextSibling):
7633         (WebCore::SVGElementInstance::firstChild):
7634         (WebCore::SVGElementInstance::lastChild):
7635         (WebCore::SVGElementInstance::ownerDocument):
7636         (WebCore::SVGElementInstance::hasChildNodes):
7637         (WebCore::SVGElementInstance::setFirstChild):
7638         (WebCore::SVGElementInstance::setLastChild):
7639         (WebCore::SVGElementInstance::setNextSibling):
7640         (WebCore::SVGElementInstance::setPreviousSibling):
7641         (WebCore::SVGElementInstance::refEventTarget):
7642         (WebCore::SVGElementInstance::derefEventTarget):
7643         * svg/SVGElementInstance.idl:
7644         * svg/SVGStyledElement.cpp:
7645         (WebCore::SVGStyledElement::svgAttributeChanged):
7646         (WebCore::SVGStyledElement::childrenChanged):
7647         * svg/SVGUseElement.cpp:
7648         (WebCore::SVGUseElement::svgAttributeChanged):
7649         (WebCore::shadowTreeContainsChangedNodes):
7650         (WebCore::SVGUseElement::recalcStyle):
7651         (WebCore::dumpInstanceTree):
7652         (WebCore::SVGUseElement::buildPendingResource):
7653         (WebCore::SVGUseElement::buildInstanceTree):
7654         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
7655         * svg/SVGUseElement.h:
7657 2008-10-08  Sam Weinig  <sam@webkit.org>
7659         Reviewed by Cameron Zwarich.
7661         Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
7662         REGRESSION (r36977): getRGBColorValue().red returning incorrect value
7664         Update JSRGBColor to use the new static function per getter approach.
7666         Test: fast/dom/css-RGBValue.html
7668         * bindings/js/JSRGBColor.cpp:
7669         (WebCore::):
7670         (jsRGBColorRed):
7671         (jsRGBColorGreen):
7672         (jsRGBColorBlue):
7673         * bindings/js/JSRGBColor.h:
7675 2008-10-08  Eric Seidel  <eric@webkit.org>
7677         Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
7679         svgElement.className.baseValue = "foo" does not work
7680         https://bugs.webkit.org/show_bug.cgi?id=20651
7682         * dom/StyledElement.cpp:
7683         (WebCore::StyledElement::classAttributeChanged):
7684         (WebCore::StyledElement::parseMappedAttribute):
7685         * dom/StyledElement.h:
7686         * svg/SVGStyledElement.cpp:
7687         (WebCore::SVGStyledElement::svgAttributeChanged):
7689 2008-10-08  Anthony Ricaud  <rik24d@gmail.com>
7691         Make the toolbar label text-shadow not disappear when clicking on the
7692         search result count or around the search field.
7694         Reviewed by Timothy Hatcher.
7696         * inspector/front-end/inspector.css:
7697         (.toolbar-item:active .toolbar-label): Make this rule also require the
7698         toggleable class with the toolbar-item class.
7700 2008-10-08  Tor Arne Vestbø  <tavestbo@trolltech.com>
7702         Reviewed by Simon.
7704         Updated the qrc file for the Web Inspector to contain the current set
7705         of images.
7707         * inspector/front-end/WebKit.qrc:
7709 2008-10-08  Prasanth Ullattil  <pullatti@trolltech.com>
7711         Reviewed by Simon.
7713         Fix the linking of applications against WebKit on Qt/Windows.
7715         The prl files that qmake creates are buggy on Unix, but we they're
7716         fine on Windows and we have to have them there in order to get the
7717         dependencies correct.
7719         * WebCore.pro:
7721 2008-10-08  Ariya Hidayat  <ariya.hidayat@trolltech.com>
7723         Reviewed by Simon.
7725         Speed up rectangle filling by not re-creating a QBrush all the time.
7727         This triggers faster path in QPainter where the brush is reused.
7729         * platform/graphics/qt/GraphicsContextQt.cpp:
7730         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
7731         (WebCore::GraphicsContext::fillRect):
7733 2008-10-08  Thiago Macieira  <thiago.macieira@nokia.com>
7735         Reviewed by Simon.
7737         Fixes: Encoding of Qt URLs
7739         This encoding was added by Simon and I because QUrl's
7740         tolerant parser wasn't tolerant enough. Now it is, so we don't need
7741         this anymore.
7743         * platform/qt/KURLQt.cpp:
7744         (WebCore::KURL::operator QUrl):
7746 2008-10-08  Marius Storm-Olsen  <marius@trolltech.com>
7748         Reviewed by Simon.
7750         Fixes dependencies in qmake generated visual studio projects.
7752         Only add debug lib name if we're in the debug build_pass, else the release version.
7753         The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
7755         * WebCore.pro:
7757 2008-10-08  Prasanth Ullattil  <pullatti@trolltech.com>
7759         Reviewed by Simon.
7761         Fix compilation errors on VS2008 64Bit
7763         * platform/text/TextStream.cpp:
7764         (WebCore::TextStream::operator<<):
7765         * platform/text/TextStream.h:
7766         * plugins/win/PluginViewWin.cpp:
7767         (WebCore::PluginView::init):
7769 2008-10-07  Alp Toker  <alp@nuanti.com>
7771         GTK+ build fix for older automake versions (1.7). Discussed in bug
7772         #21392.
7774         * GNUmakefile.am:
7776 2008-10-07  Anders Carlsson  <andersca@apple.com>
7778         Reviewed by Antti Koivisto.
7780         <rdar://problem/6273887> Crash in ApplicationCacheGroup
7781         
7782         Make sure to stop loading even before a cache update is in progress so that the
7783         manifest load will be stopped.
7785         * loader/appcache/ApplicationCacheGroup.cpp:
7786         (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
7787         (WebCore::ApplicationCacheGroup::stopLoading):
7788         (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
7790 2008-10-07  Timothy Hatcher  <timothy@apple.com>
7792         Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
7794         https://bugs.webkit.org/show_bug.cgi?id=21433
7796         Reviewed by Sam Weinig.
7798         * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
7799         * bindings/objc/DOM.mm: Remove previous category implementations
7800         on DOMDocument for createNodeIterator: and createTreeWalker:. Also
7801         moves ObjCNodeFilterCondition to its own file.
7802         * bindings/objc/DOMTraversal.h: Remove the category methods that added
7803         createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
7804         to do since DOmDocument.h is included still, and has these methods.
7805         * bindings/objc/DOMUtility.mm:
7806         (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
7807         JSTreeWalker now that the ObjC binding conforms to the standard wrap.
7808         * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
7809         (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
7810         (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
7811         * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
7812         (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
7813         * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
7814         createTreeWalker: methods to DOMDocument.
7815         * bindings/scripts/CodeGeneratorObjC.pm:
7816         (GetObjCTypeGetter): Add a case for NodeFilter.
7817         (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
7818         (GenerateImplementation): Remove existing NodeFilter special case that
7819         used the m_filter member variable. Add a new special getter for protocol
7820         types that aren't EventTarget, so the right class is used for NodeFilter.
7821         Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
7822         * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
7823         OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
7824         Rename the entityReferenceExpansion parameter to expandEntityReferences to
7825         match the previous ObjC API.
7826         * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
7827         m_filter member variable was never used in practice, it was always nil!
7828         We can remove it and not pad the object because this can't be subclassed.
7829         * dom/TreeWalker.idl: Ditto.
7831 2008-10-07  Timothy Hatcher  <timothy@apple.com>
7833         Auto-generate the DOMEventTarget protocol implementation for
7834         DOMNode and DOMSVGElementInstance.
7836         https://bugs.webkit.org/show_bug.cgi?id=21432
7838         Reviewed by Darin Adler.
7840         * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
7841         * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
7842         ObjCEventListener to it's own file. Remove the manual impelmentations
7843         of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
7844         * bindings/objc/DOMEvents.h: Remove the categories that defined
7845         DOMEventTarget for DOMNode and DOMSVGElementInstance.
7846         * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
7847         * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
7848         (WebCore::ObjCEventListener::find): Moved from DOM.mm.
7849         (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
7850         callers from doing a manual deref.
7851         (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
7852         (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
7853         * bindings/scripts/CodeGeneratorObjC.pm:
7854         (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
7855         (AddIncludesForType): Include ObjCEventListener.h for EventListener.
7856         And include EventTargetSVGElementInstance.h for SVGElementInstance.
7857         (GenerateHeader): Remove the check for multiple parents.
7858         (GenerateImplementation): Remove the check for multiple parents. Remove
7859         the @deprecatedFunctions array since deprecated methods get generated
7860         into the main @interface now to work with protocols. Add support
7861         for the EventTargetNodeCast extended attribute. Add support for
7862         EventListener parameters.
7863         * dom/Node.idl: Define superclasses for ObjC so the implementation
7864         and interface implement the DOMEventTarget protocol. Explicitly
7865         specify Object as a superclass to use DOMEventTarget. Object will turn
7866         into DOMObject. This is needed to take the code generator down the right
7867         path of multiple super-classes as protocols. It is ObjC only for legacy
7868         reasons. The event target methods are normally on NodeEventTarget, a
7869         subclass of Node. But the ObjC API has never has this subclass and
7870         they are on DOMNode.
7871         * svg/SVGElementInstance.idl: Ditto.
7873 2008-10-07  David Hyatt  <hyatt@apple.com>
7875         Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
7877         The new pseudo-elements are:
7878             scrollbar
7879             scrollbar-button
7880             scrollbar-corner
7881             scrollbar-thumb
7882             scrollbar-track
7883         
7884         These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
7885         the following new pseudo-classes:
7886             scrollbar-active
7887             scrollbar-back
7888             scrollbar-forward
7889             scrollbar-horizontal
7890             scrollbar-vertical
7891         
7892         Reviewed by Adele
7894         * css/CSSSelector.cpp:
7895         (WebCore::CSSSelector::extractPseudoType):
7896         * css/CSSSelector.h:
7897         (WebCore::CSSSelector::):
7899 2008-10-06  Timothy Hatcher  <timothy@apple.com>
7901         Add support to the Resources panel for queries like "#123", "foo #123",
7902         "line: 123" and "foo line: 123". These will match the query limiting
7903         the search only to the line specified. If only a line is specified,
7904         the whole line is matched.
7906         https://bugs.webkit.org/show_bug.cgi?id=21422
7908         Reviewed by Darin Adler.
7910         * inspector/front-end/SourceFrame.js:
7911         (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
7912         row if the index is greater than the rows collection. Let it return
7913         undefined by indexing out-of-bounds.
7914         * inspector/front-end/SourceView.js:
7915         (WebInspector.SourceView.prototype.performSearch): Add support for
7916         queries like "#123", "foo #123", "line: 123" and "foo line: 123".
7917         Also match the whole query to the whole document in case there are
7918         colors like "#333".
7920 2008-10-07  Alp Toker  <alp@nuanti.com>
7922         Reviewed by Mark Rowe.
7924         https://bugs.webkit.org/show_bug.cgi?id=21392
7925         [GTK] Auto-generate JS DOM binding sources list
7927         Remove the huge lists of generated DOM binding sources and headers in
7928         the build system. These are difficult to maintain and can be derived
7929         automatically.
7931         The new strategy is to re-use the existing lists of IDL sources (which
7932         are needed for dist support anyway). This will also ease the addition
7933         of new language bindings.
7935         * GNUmakefile.am:
7937 2008-10-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
7939         Reviewed by Simon.
7941         Don't attempt to paint when updating control tints
7943         We don't have a valid PlatformGraphicsContext so schedule
7944         the dirty scrollbar/scrollview area for repaint instead.
7946         * platform/qt/ScrollbarThemeQt.cpp:
7947         (WebCore::ScrollbarThemeQt::paint):
7948         (WebCore::ScrollbarThemeQt::paintScrollCorner):
7950 2008-10-07  Holger Hans Peter Freyther  <zecke@selfish.org>
7952         [qt] Build fix after Scrollbar.h and Widget.h changes.
7954         * plugins/qt/PluginViewQt.cpp:
7955         (WebCore::PluginView::getValue):
7956         (WebCore::PluginView::init):
7958 2008-10-06  David Hyatt  <hyatt@apple.com>
7960         Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
7962         Reviewed by Sam Weinig
7964         * WebCore.base.exp:
7965         * WebCore.xcodeproj/project.pbxproj:
7966         * loader/EmptyClients.h:
7967         (WebCore::EmptyFrameLoaderClient::hasWebView):
7968         * loader/FrameLoader.cpp:
7969         (WebCore::FrameLoader::loadWithDocumentLoader):
7970         (WebCore::FrameLoader::transitionToCommitted):
7971         * loader/FrameLoaderClient.h:
7972         * page/FocusController.cpp:
7973         (WebCore::FocusController::setActive):
7974         * page/FrameView.cpp:
7975         (WebCore::FrameView::FrameView):
7976         (WebCore::FrameView::init):
7977         (WebCore::FrameView::layoutIfNeededRecursive):
7978         * page/FrameView.h:
7980 2008-10-06  Dan Bernstein  <mitz@apple.com>
7982         - build fix
7984         * bindings/objc/DOMEvents.h:
7986 2008-10-06  Mark Mentovai  <mark@moxienet.com>
7988         Reviewed by Tim Hatcher.
7990         Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
7991         Platform.h is not available, in preference to #ifdef ENABLE_feature.
7992         #ifdef is wrong now that features are disabled by #defining
7993         ENABLE_feature to 0.
7995         https://bugs.webkit.org/show_bug.cgi?id=21338
7997         * bindings/objc/DOMEvents.h:
7998         * bindings/objc/PublicDOMInterfaces.h:
7999         * dom/Document.idl:
8000         * page/DOMWindow.idl:
8001         * svg/svgtags.in:
8003 2008-10-06  Mark Mentovai  <mark@moxienet.com>
8005         Reviewed by Sam Weinig.
8007         * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
8008         to get the declaration for isMainThread().
8010 2008-10-06  Jeremy Moskovich  <jeremy@chromium.org>
8012         Reviewed by Tim Hatcher.
8014         WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
8015         to reflect that.
8017         * WebCore.xcodeproj/project.pbxproj:
8018         * platform/mac/WebCoreObjCExtras.c: Removed.
8019         * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
8021 2008-10-06  Jeremy Moskovich  <jeremy@chromium.org>
8023         Reviewed by Dan Bernstein.
8024         
8025         Added C++ forward declaration for the NSURLAuthenticationChallenge class
8026         so that the m_currentMacChallenge variable doesn't cause a
8027         compilation error when ResourceHandleInternal.h is included from a C++ file.
8028         Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
8030         * platform/network/ResourceHandleInternal.h:
8032 2008-10-06  Steve Falkenburg  <sfalken@apple.com>
8034         Windows build fix.
8036         * WebCore.vcproj/WebCore.vcproj:
8038 2008-10-06  Steve Falkenburg  <sfalken@apple.com>
8040         https://bugs.webkit.org/show_bug.cgi?id=21416
8041         Add missing null checks identified by Application Verifier.
8042         
8043         Reviewed by Darin Adler.
8045         * platform/win/SharedTimerWin.cpp:
8046         (WebCore::clearTimer):
8048 2008-10-06  Kevin McCullough  <kmccullough@apple.com>
8050         Reviewed by Tim Hatcher.
8052         Removed accidentally left in debugging statement.
8054         * inspector/front-end/inspector.js:
8056 2008-10-06  Kevin McCullough  <kmccullough@apple.com>
8058         Reviewed by Tim Hatcher and Oliver Hunt.
8060         https://bugs.webkit.org/show_bug.cgi?id=21412
8061         Bug 21412: Refactor user initiated profile count to be more stable
8063         * inspector/InspectorController.cpp: Keep track of the user-initiated
8064         profiles here now.
8065         (WebCore::InspectorController::InspectorController):
8066         (WebCore::InspectorController::startUserInitiatedProfiling):
8067         (WebCore::InspectorController::stopUserInitiatedProfiling):
8068         * inspector/InspectorController.h:
8069         The front end will now need to check for the existence of the user-
8070         initiated profile title and use its count instead of keeping its own.
8071         * inspector/front-end/ProfilesPanel.js:
8073 2008-10-06  Dan Bernstein  <mitz@apple.com>
8075         Reviewed by Sam Weinig.
8077         - separate GDI text drawing into its own function
8079         * platform/graphics/win/FontCGWin.cpp:
8080         (WebCore::drawGDIGlyphs):
8081         (WebCore::Font::drawGlyphs):
8083 2008-10-03  Steve Falkenburg  <sfalken@apple.com>
8085         <rdar://problem/6249833> Fix default button appearance
8086         
8087         Reviewed by Adele Peterson.
8089         * rendering/RenderThemeWin.cpp:
8090         (WebCore::RenderThemeWin::supportsFocus):
8091         (WebCore::RenderThemeWin::determineClassicState):
8092         (WebCore::RenderThemeWin::determineButtonState):
8093         (WebCore::RenderThemeWin::getClassicThemeData):
8094         (WebCore::RenderThemeWin::getThemeData):
8095         (WebCore::drawControl):
8096         * rendering/RenderThemeWin.h:
8098 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
8100         Reviewed by Simon.
8102         Add native virtual keycode to PlatformKeyboardEvent
8104         * platform/PlatformKeyboardEvent.h:
8105         * platform/gtk/KeyEventGtk.cpp:
8106         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8107         * platform/mac/KeyEventMac.mm:
8108         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8109         * platform/qt/PlatformKeyboardEventQt.cpp:
8110         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8111         * platform/win/KeyEventWin.cpp:
8112         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8113         * platform/wx/KeyboardEventWx.cpp:
8114         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8116 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
8118         Reviewed by Simon.
8120         Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
8122         * platform/text/PlatformString.h:
8123         * platform/text/StringImpl.h:
8124         * platform/text/cf/StringCF.cpp:
8125         * platform/text/cf/StringImplCF.cpp:
8127 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
8129         Reviewed by Simon.
8131         Use bundles on QtWebKit/Mac for platform modules
8133         * platform/FileSystem.h:
8134         * platform/qt/FileSystemQt.cpp:
8135         (WebCore::unloadModule):
8137 2008-10-06  Ariya Hidayat  <ariya.hidayat@trolltech.com>
8139         Reviewed by Simon.
8141         Build fix for MinGW.
8143         * platform/win/SystemTimeWin.cpp:
8144         * plugins/win/PluginViewWin.cpp:
8145         (WebCore::PluginView::invalidateRect):
8147 2008-10-06  Adam Roben  <aroben@apple.com>
8149         Mimic the inspector/ directory structure in WebCore.vcproj
8151         * WebCore.vcproj/WebCore.vcproj:
8153 2008-10-06  Adam Roben  <aroben@apple.com>
8155         Windows build fix
8157         * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
8158         configurations to include WebCore/inspector.
8160 2008-10-04  Eric Seidel  <eric@webkit.org>
8162         Reviewed by Darin Adler.
8164         SVG should support ascent and descent properties <font-face> instead of <font>!
8165         https://bugs.webkit.org/show_bug.cgi?id=21365
8166         
8167         Tested by many many existing SVG tests.
8169         * svg/SVGFontFaceElement.cpp:
8170         (WebCore::SVGFontFaceElement::ascent):
8171         (WebCore::SVGFontFaceElement::descent):
8173 2008-10-05  Darin Fisher  <darin@chromium.org>
8175         Reviewed by Eric Seidel.
8177         REGRESSION: crash in ScriptElement::notifyFinished
8178         Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
8180         * dom/ScriptElement.cpp:
8181         (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
8182         ensure that the ScriptElementData object is not destroyed prematurely.
8184 2008-10-05  Chris Lord  <chris@openedhand.com>
8186         Reviewed by Alp Toker. Landed by Jan Alonzo.
8188         https://bugs.webkit.org/show_bug.cgi?id=20624
8189         WebKit-gtk uses deprecated GtkType/GtkObject
8191         * plugins/gtk/gtk2xtbin.c:
8192         (gtk_xtbin_get_type):
8193         * plugins/gtk/gtk2xtbin.h:
8195 2008-10-05  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
8197         Reviewed by David Hyatt.
8199         GTK_WINDOW_HWND not GTK_WINDOWING_HWND
8200         https://bugs.webkit.org/show_bug.cgi?id=20725
8202         Updated to ToT by Jan Alonzo.
8204         * plugins/gtk/PluginViewGtk.cpp:
8205         (WebCore::PluginView::getValue):
8207 2008-10-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
8209         Reviewed by Darin Adler.
8211         Invalid cast from GdkWindow to GtkWidget
8212         https://bugs.webkit.org/show_bug.cgi?id=21391
8214         Fix a misplaced closing parenthesis to actually cast the widget, not the window
8216         * platform/gtk/PlatformScreenGtk.cpp:
8217         (WebCore::screenDepth):
8219 2008-10-05  Adam Barth  <abarth@webkit.org>
8221         Reviewed by Darin Alder.
8223         Attach the Origin header to POST requests to help defend against
8224         cross-site request forgery.
8226         https://bugs.webkit.org/show_bug.cgi?id=20792
8228         Collin Jackson <collinj@webkit.org> also contributed to this patch.
8230         Tests: http/tests/security/originHeader/origin-header-for-data.html
8231                http/tests/security/originHeader/origin-header-for-empty.html
8232                http/tests/security/originHeader/origin-header-for-get.html
8233                http/tests/security/originHeader/origin-header-for-https.html
8234                http/tests/security/originHeader/origin-header-for-post.html
8236         * bindings/js/JSDOMWindowBase.cpp:
8237         (WebCore::createWindow):
8238         * loader/FrameLoader.cpp:
8239         (WebCore::FrameLoader::createWindow):
8240         (WebCore::FrameLoader::urlSelected):
8241         (WebCore::FrameLoader::submitForm):
8242         (WebCore::FrameLoader::outgoingOrigin):
8243         (WebCore::FrameLoader::loadURL):
8244         (WebCore::FrameLoader::addExtraFieldsToRequest):
8245         (WebCore::FrameLoader::loadPostRequest):
8246         (WebCore::FrameLoader::loadResourceSynchronously):
8247         (WebCore::FrameLoader::loadItem):
8248         * loader/FrameLoader.h:
8249         * loader/SubresourceLoader.cpp:
8250         (WebCore::SubresourceLoader::create):
8251         * loader/loader.cpp:
8252         (WebCore::Loader::Host::servePendingRequests):
8253         * platform/SecurityOrigin.cpp:
8254         (WebCore::SecurityOrigin::toHTTPOrigin):
8255         * platform/SecurityOrigin.h:
8256         * platform/network/ResourceRequestBase.h:
8257         (WebCore::ResourceRequestBase::httpOrigin):
8258         (WebCore::ResourceRequestBase::setHTTPOrigin):
8259         (WebCore::ResourceRequestBase::clearHTTPOrigin):
8260         * xml/XMLHttpRequest.cpp:
8261         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
8262         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
8263         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
8264         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
8266 2008-10-04  Oliver Hunt  <oliver@apple.com>
8268         Reviewed by Tim Hatcher.
8270         Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
8271         <https://bugs.webkit.org/show_bug.cgi?id=21381>
8273         If we hit a parsing boundary (end of a packet, etc) in the middle of a
8274         <script> element when we are doing an incremental parse, we exit the
8275         parser, and reenter later when more data is available.  During this
8276         reentry we incorrectly reset the scriptStartLineno to the current line
8277         in the parser, which is now part way through the script element.
8279         The solution is to track whether we are entering or reentering the parsing
8280         of a script element.  We do this simply by 0 checking scriptStartLineno,
8281         and resetting it after we complete parsing of each script element. 
8283         Test: http/tests/incremental/pause-in-script-element.pl
8285         * ChangeLog:
8286         * html/HTMLTokenizer.cpp:
8287         (WebCore::HTMLTokenizer::parseSpecial):
8288         (WebCore::HTMLTokenizer::scriptHandler):
8290 2008-10-04  Alp Toker  <alp@nuanti.com>
8292         Reviewed by David Hyatt. Landed by Jan Alonzo.
8294         https://bugs.webkit.org/show_bug.cgi?id=20924
8295         [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
8297         https://bugs.webkit.org/show_bug.cgi?id=19578
8298         [CURL] problem in parseDataUrl
8300         De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
8301         This patch also fixes encoding support in escaped (non-Base64) data
8302         URLs. All manual data URL tests now pass in both GLib and non-GLib
8303         code paths.
8305         * platform/network/curl/ResourceHandleManager.cpp:
8306         (WebCore::parseDataUrl):
8308 2008-10-04  Timothy Hatcher  <timothy@apple.com>
8310         Makes breakpoints and debugging code during page load work in the
8311         Web Inspector's debugger. Specifically, this makes the source
8312         code for loading resources show up in the Scripts panel.
8314         https://bugs.webkit.org/show_bug.cgi?id=19053
8315         rdar://problem/5933408
8317         Reviewed by Mark Rowe.
8319         * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
8320         not using tabs and a tab width of 8.
8321         * inspector/InspectorController.cpp:
8322         (WebCore::addResourceSourceToFrame): Return a bool to report if the
8323         source was added successfully or not.
8324         (WebCore::addSourceToFrame): Ditto.
8325         * inspector/front-end/ScriptView.js:
8326         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
8327         Return early if the InspectorController.addSourceToFrame fails.
8328         Moved the delete of the _frameNeedsSetup property after that call so
8329         if the source wasn't added it will be attempted again.
8330         * inspector/front-end/SourceView.js:
8331         (WebInspector.SourceView.prototype.detach): Move a comment.
8332         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
8333         Don't check if the resource is finished or failed, just attempt
8334         to add the source to the frame. WebCore has the source, but the
8335         finished property hasn't been set yet. Return early if the
8336         InspectorController.addSourceToFrame fails. Moved the delete
8337         of the _frameNeedsSetup property after that call so if the source
8338         wasn't added it will be attempted again.
8339         (WebInspector.SourceView.prototype._resourceLoadingFinished):
8340         Clear the _frameNeedsSetup and _sourceFrameSetup properties so
8341         the source frame will we populated again now that the resource
8342         load has finished.
8343         * manual-tests/inspector/debugger-pause-during-load.html: Added.
8345 2008-10-04  Mark Rowe  <mrowe@apple.com>
8347         Reviewed by Tim Hatcher.
8349         Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
8351         * WebCore.xcodeproj/project.pbxproj:
8353 2008-10-04  David Hyatt  <hyatt@apple.com>
8355         https://bugs.webkit.org/show_bug.cgi?id=21373
8357         Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
8358         is still present.
8360         Reviewed by Mark Rowe
8362         * page/FrameView.cpp:
8363         (WebCore::FrameView::~FrameView):
8365 2008-10-04  Sam Weinig  <sam@webkit.org>
8367         Reviewed by Dan Bernstein.
8369         Avoid copying a Vector when using getSupportedKeySizes.
8371         * html/HTMLKeygenElement.cpp:
8372         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
8373         * platform/SSLKeyGenerator.h:
8374         * platform/gtk/TemporaryLinkStubs.cpp:
8375         (WebCore::getSupportedKeySizes):
8376         * platform/mac/SSLKeyGeneratorMac.mm:
8377         (WebCore::getSupportedKeySizes):
8378         * platform/qt/TemporaryLinkStubs.cpp:
8379         (WebCore::getSupportedKeySizes):
8380         * platform/win/TemporaryLinkStubs.cpp:
8381         (WebCore::getSupportedKeySizes):
8382         * platform/wx/TemporaryLinkStubs.cpp:
8383         (WebCore::getSupportedKeySizes):
8385 2008-10-04  Darin Adler  <darin@apple.com>
8387         Reviewed by Cameron Zwarich.
8389         - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
8390           Bug 21295: Replace ExecState with a call frame Register pointer
8392         * bindings/js/JSQuarantinedObjectWrapper.cpp:
8393         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
8394         Remove bogus "const".
8395         * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
8397 2008-10-04  David Hyatt  <hyatt@apple.com>
8399         Make PopupMenuClient obey the platform abstraction.  Remove any connection to Document and RenderStyle.
8401         Reviewed by Darin Adler
8403         * WebCore.xcodeproj/project.pbxproj:
8404         * platform/PopupMenuClient.h:
8405         * platform/gtk/PopupMenuGtk.cpp:
8406         (WebCore::PopupMenu::show):
8407         * platform/mac/PopupMenuMac.mm:
8408         (WebCore::PopupMenu::populate):
8409         (WebCore::PopupMenu::show):
8410         * platform/qt/PopupMenuQt.cpp:
8411         (WebCore::PopupMenu::populate):
8412         * platform/win/PopupMenuWin.cpp:
8413         (WebCore::PopupMenu::calculatePositionAndSize):
8414         (WebCore::PopupMenu::paint):
8415         (WebCore::PopupWndProc):
8416         * rendering/RenderMenuList.cpp:
8417         (WebCore::RenderMenuList::itemStyle):
8418         (WebCore::RenderMenuList::menuStyle):
8419         (WebCore::RenderMenuList::hostWindow):
8420         * rendering/RenderMenuList.h:
8421         * rendering/RenderTextControl.cpp:
8422         (WebCore::RenderTextControl::itemStyle):
8423         (WebCore::RenderTextControl::menuStyle):
8424         (WebCore::RenderTextControl::hostWindow):
8425         * rendering/RenderTextControl.h:
8427 2008-10-04  Matt Lilek  <webkit@mattlilek.com>
8429         Build fix - restore Private role to headers that had it before the move.
8431         * WebCore.xcodeproj/project.pbxproj:
8433 2008-10-04  Darin Adler  <darin@apple.com>
8435         - try to fix build
8437         * DerivedSources.make: Add new inspector directory to VPATH.
8438         * GNUmakefile.am: Add new inspector directory to includes.
8439         Re-sort the IDL_BINDINGS list. Add new inspector directory
8440         to VPATH.
8442 2008-10-04  Matt Lilek  <webkit@mattlilek.com>
8444         Not reviewed, attempt to fix Gtk build.
8446         * GNUmakefile.am:
8448 2008-10-03  Timothy Hatcher  <timothy@apple.com>
8450         Move the Web Inspector files into a top-level "inspector" folder.
8452         https://bugs.webkit.org/show_bug.cgi?id=21359
8454         Reviewed by Dave Hyatt.
8456         * GNUmakefile.am:
8457         * WebCore.pro:
8458         * WebCore.vcproj/WebCore.vcproj:
8459         * WebCore.xcodeproj/project.pbxproj:
8460         * WebCoreSources.bkl:
8461         * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
8462         * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
8463         * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
8464         * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
8465         * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
8466         * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
8467         * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
8468         * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
8469         * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
8470         * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
8471         * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
8472         * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
8473         * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
8474         * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
8475         * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
8476         * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
8477         * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
8478         * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
8479         * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
8480         * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
8481         * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
8482         * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
8483         * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
8484         * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
8485         * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
8486         * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
8487         * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
8488         * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
8489         * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
8490         * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
8491         * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
8492         * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
8493         * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
8494         * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
8495         * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
8496         * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
8497         * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
8498         * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
8499         * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
8500         * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
8501         * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
8502         * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
8503         * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
8504         * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
8505         * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
8506         * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
8507         * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
8508         * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
8509         * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
8510         * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
8511         * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
8512         * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
8513         * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
8514         * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
8515         * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
8516         * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
8517         * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
8518         * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
8519         * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
8520         * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
8521         * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
8522         * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
8523         * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
8524         * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
8525         * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
8526         * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
8527         * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
8528         * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
8529         * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
8530         * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
8531         * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
8532         * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
8533         * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
8534         * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
8535         * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
8536         * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
8537         * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
8538         * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
8539         * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
8540         * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
8541         * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
8542         * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
8543         * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
8544         * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
8545         * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
8546         * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
8547         * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
8548         * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
8549         * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
8550         * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
8551         * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
8552         * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
8553         * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
8554         * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
8555         * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
8556         * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
8557         * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
8558         * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
8559         * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
8560         * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
8561         * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
8562         * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
8563         * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
8564         * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
8565         * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
8566         * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
8567         * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
8568         * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
8569         * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
8570         * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
8571         * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
8572         * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
8573         * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
8574         * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
8575         * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
8576         * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
8577         * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
8578         * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
8579         * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
8580         * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
8581         * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
8582         * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
8583         * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
8584         * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
8585         * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
8586         * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
8587         * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
8588         * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
8589         * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
8590         * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
8591         * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
8592         * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
8593         * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
8594         * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
8595         * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
8596         * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
8597         * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
8598         * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
8599         * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
8600         * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
8601         * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
8602         * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
8603         * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
8604         * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
8605         * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
8606         * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
8607         * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
8608         * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
8609         * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
8610         * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
8611         * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
8612         * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
8613         * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
8614         * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
8615         * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
8616         * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
8618 2008-10-03  Timothy Hatcher  <timothy@apple.com>
8620         Adds support to the Web Inspector's Elements panel for fast tag name,
8621         class name, id and attribute name searching. The panel first tries
8622         using getElementById, getElementsByClassName and getElementsByTagName
8623         with the search query. Then does a slower search using XPath for partial
8624         matches, text and comment matches.
8626         Adds support for search queries like "<div>", "<h" and "frame>".
8627         These forms limit the search to tag names, text and comment matches.
8629         https://bugs.webkit.org/show_bug.cgi?id=21353
8631         Reviewed by Maciej Stachowiak.
8633         * page/inspector/ElementsPanel.js:
8634         (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
8635         support. Add new search functions that try exact matches first.
8637 2008-10-03  Timothy Hatcher  <timothy@apple.com>
8639         Changes how searching works in the Web Inspector's Elements
8640         panel. The search tasks are divided into chunks that are small
8641         units of work that are performed at a time interval. This
8642         change also prevents queries that will select all elements,
8643         since that isn't useful.
8645         https://bugs.webkit.org/show_bug.cgi?id=21285
8647         Reviewed by Oliver Hunt.
8649         * page/inspector/ElementsPanel.js:
8650         (WebInspector.ElementsPanel.prototype.searchCancled):
8651         Remove the searchResultsProperty form results since there might
8652         be an unfinished search.
8653         (WebInspector.ElementsPanel.prototype.performSearch): Divide the
8654         documents and search functions into chunks that are performed on
8655         a interval of 25ms. Prevent searches for "//*" and "*".
8657 2008-10-03  Maciej Stachowiak  <mjs@apple.com>
8659         Reviewed by Cameron Zwarich.
8661         - "this" object in methods called on primitives should be wrapper object
8662         https://bugs.webkit.org/show_bug.cgi?id=21362
8664         Updated so toThis conversion for the split window is handled properly.
8666         * bindings/scripts/CodeGeneratorJS.pm:
8668 2008-10-03  Sam Weinig  <sam@webkit.org>
8670         Reviewed by David "The Motivator" Hyatt.
8672         Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
8673         Move SecurityOrigin out of platform/ to page/.
8675         It was a layering violation for SecurityOrigin to be in platform
8676         as it depended on FrameLoader.
8678         * GNUmakefile.am:
8679         * WebCore.pro:
8680         * WebCore.vcproj/WebCore.vcproj:
8681         * WebCore.xcodeproj/project.pbxproj:
8682         * WebCoreSources.bkl:
8683         * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
8684         * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
8685         * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
8686         * platform/SecurityOrigin.cpp: Removed.
8687         * platform/SecurityOrigin.h: Removed.
8688         * platform/SecurityOriginHash.h: Removed.
8690 2008-10-03  Marco Barisione  <marco.barisione@collabora.co.uk>
8692         Reviewed by Alp Toker.
8694         http://bugs.webkit.org/show_bug.cgi?id=18832
8695         [curl] file upload does not work
8697         The curl_off_t integer type has a different size depending if large
8698         file support is enabled or not. There is no different public API for
8699         the two cases, so the same function accepts a different type based on
8700         a compilation option the could be different in WebKit and libcurl.
8701         To fix the bug we query libcurl at runtime for large file support and
8702         pass the right type based on that.
8704         * platform/network/curl/ResourceHandleManager.cpp:
8705         (WebCore::ResourceHandleManager::setupPOST):
8707 2008-10-03  Jan Michael Alonzo  <jmalonzo@webkit.org>
8709         Reviewed by David Hyatt.
8711         Gtk build fixes.
8713         * platform/gtk/FileChooserGtk.cpp:
8714         (WebCore::FileChooser::openFileChooser):
8715         * platform/gtk/PlatformScreenGtk.cpp:
8716         (WebCore::screenDepth):
8717         (WebCore::screenDepthPerComponent):
8718         (WebCore::screenAvailableRect):
8719         * platform/gtk/PopupMenuGtk.cpp:
8720         (WebCore::PopupMenu::show):
8721         * platform/gtk/ScrollViewGtk.cpp:
8722         (WebCore::ScrollView::platformAddChild):
8723         (WebCore::ScrollView::platformRemoveChild):
8724         * platform/gtk/WidgetGtk.cpp:
8725         (WebCore::Widget::setCursor):
8726         * plugins/gtk/PluginViewGtk.cpp:
8727         (WebCore::PluginView::getValue):
8728         (WebCore::PluginView::forceRedraw):
8729         (WebCore::PluginView::init):
8731 2008-10-03  David Hyatt  <hyatt@apple.com>
8733         Fix Qt bustage from missing include.
8735         * platform/qt/PlatformScreenQt.cpp:
8737 2008-10-03  David Hyatt  <hyatt@apple.com>
8739         Fix Windows scrollbar bustage in popup menus.
8741         * platform/win/PopupMenuWin.cpp:
8742         (WebCore::PopupWndProc):
8744 2008-10-03  David Hyatt  <hyatt@apple.com>
8746         Fix Windows bustage.
8748         * platform/win/FileChooserWin.cpp:
8749         (WebCore::FileChooser::openFileChooser):
8750         * platform/win/PlatformScreenWin.cpp:
8751         (WebCore::monitorInfoForWidget):
8752         * platform/win/WidgetWin.cpp:
8753         * plugins/win/PluginViewWin.cpp:
8754         (WebCore::PluginView::getValue):
8755         (WebCore::PluginView::forceRedraw):
8756         (WebCore::PluginView::init):
8758 2008-10-03  Darin Adler  <darin@apple.com>
8760         * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
8761         seen on some machines but not others by adding an include.
8763 2008-10-03  Darin Adler  <darin@apple.com>
8765         - Qt build fix
8767         * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
8768         execute functions. Declarations for these relied on the CodeType
8769         enumeration, which used to be in ExecState.h; but the functions
8770         aren't needed at all.
8771         * bridge/qt/qt_runtime.h: Ditto.
8773 2008-10-03  Darin Adler  <darin@apple.com>
8775         Reviewed by Geoff Garen.
8777         - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
8778           Turn ExecState into a call frame pointer.
8780         Remove m_globalObject and m_globalData from ExecState.
8782         * bindings/js/JSDOMWindowBase.cpp:
8783         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
8784         Removed an argument now that JSGlobalObject doesn't need it any more.
8785         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
8786         the JSDOMWindowBaseData constructor, and added the this argument to the
8787         JSGlobalObject constructor. This is because a couple key bits of
8788         initialization moved from the data constructor to the JSGlobalObject
8789         constructor.
8790         * bindings/js/JSDOMWindowBase.h: Ditto.
8792         * bridge/qt/qt_runtime.cpp:
8793         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
8794         * bridge/runtime_method.cpp:
8795         (JSC::RuntimeMethod::RuntimeMethod):
8796         Pass JSGlobalData* instead of ExecState* to the InternalFunction
8797         constructor.
8799 2008-10-03  David Hyatt  <hyatt@apple.com>
8801         Fix Windows/Qt build bustage.
8803         Reviewed by ggaren
8805         * loader/EmptyClients.h:
8806         (WebCore::EmptyChromeClient::platformWindow):
8807         * page/Chrome.cpp:
8808         (WebCore::Chrome::platformWindow):
8809         * page/Chrome.h:
8810         * page/ChromeClient.h:
8811         * platform/HostWindow.h:
8812         * platform/qt/PlatformScreenQt.cpp:
8813         (WebCore::screenDepth):
8814         (WebCore::screenDepthPerComponent):
8815         (WebCore::screenIsMonochrome):
8816         (WebCore::screenRect):
8817         (WebCore::screenAvailableRect):
8818         * platform/qt/PopupMenuQt.cpp:
8819         (WebCore::PopupMenu::show):
8820         * platform/win/PopupMenuWin.cpp:
8821         (WebCore::PopupMenu::show):
8822         (WebCore::PopupMenu::calculatePositionAndSize):
8823         (WebCore::PopupWndProc):
8825 2008-10-03  Simon Fraser  <simon.fraser@apple.com>
8827         Reviewed by Dave Hyatt
8829         Make setStyle() take a const RenderStyle, to ensure that an
8830         earlier RenderStyle::diff() remains valid.
8832         * rendering/RenderBR.cpp:
8833         * rendering/RenderBR.h:
8834         * rendering/RenderBlock.cpp:
8835         * rendering/RenderBlock.h:
8836         * rendering/RenderBox.cpp:
8837         * rendering/RenderBox.h:
8838         * rendering/RenderButton.cpp:
8839         * rendering/RenderButton.h:
8840         * rendering/RenderFieldset.cpp:
8841         * rendering/RenderFieldset.h:
8842         * rendering/RenderFileUploadControl.cpp:
8843         * rendering/RenderFileUploadControl.h:
8844         * rendering/RenderInline.cpp:
8845         * rendering/RenderInline.h:
8846         * rendering/RenderListBox.cpp:
8847         * rendering/RenderListBox.h:
8848         * rendering/RenderListItem.cpp:
8849         * rendering/RenderListItem.h:
8850         * rendering/RenderListMarker.cpp:
8851         * rendering/RenderListMarker.h:
8852         * rendering/RenderMenuList.cpp:
8853         * rendering/RenderMenuList.h:
8854         * rendering/RenderObject.cpp:
8855         (WebCore::RenderObject::setStyle):
8856         * rendering/RenderObject.h:
8857         * rendering/RenderReplaced.cpp:
8858         * rendering/RenderReplaced.h:
8859         * rendering/RenderSVGBlock.cpp:
8860         (WebCore::RenderSVGBlock::setStyle):
8861         * rendering/RenderSVGBlock.h:
8862         * rendering/RenderSVGGradientStop.cpp:
8863         * rendering/RenderSVGGradientStop.h:
8864         * rendering/RenderSlider.cpp:
8865         * rendering/RenderSlider.h:
8866         * rendering/RenderTable.cpp:
8867         * rendering/RenderTable.h:
8868         * rendering/RenderTableCell.cpp:
8869         * rendering/RenderTableCell.h:
8870         * rendering/RenderTableRow.cpp:
8871         * rendering/RenderTableRow.h:
8872         * rendering/RenderText.cpp:
8873         * rendering/RenderText.h:
8874         * rendering/RenderTextControl.cpp:
8875         * rendering/RenderTextControl.h:
8876         * rendering/RenderWidget.cpp:
8877         * rendering/RenderWidget.h:
8878         * rendering/style/RenderStyle.h:
8879         (WebCore::RenderStyle::isDisplayReplacedType):
8880         (WebCore::RenderStyle::isDisplayInlineType):
8882 2008-10-03  David Hyatt  <hyatt@apple.com>
8884         Preparation for enabling scrollbars to hit test properly inside transforms.  Clean up the scrollbar
8885         event handlers to no longer be virtual.  Don't pass a mouse event where none is needed.  Add a new
8886         method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
8887         that will work properly for hit testing.  This patch just stubs out that method to return the same
8888         event untransformed.
8890         Reviewed by Darin Adler
8892         * page/EventHandler.cpp:
8893         (WebCore::EventHandler::handleMouseDoubleClickEvent):
8894         (WebCore::EventHandler::handleMouseMoveEvent):
8895         (WebCore::EventHandler::handleMouseReleaseEvent):
8896         (WebCore::EventHandler::passMousePressEventToScrollbar):
8897         * page/gtk/EventHandlerGtk.cpp:
8898         * page/mac/EventHandlerMac.mm:
8899         * page/qt/EventHandlerQt.cpp:
8900         * page/win/EventHandlerWin.cpp:
8901         * page/wx/EventHandlerWx.cpp:
8902         * platform/Scrollbar.cpp:
8903         (WebCore::Scrollbar::mouseMoved):
8904         (WebCore::Scrollbar::mouseExited):
8905         (WebCore::Scrollbar::mouseUp):
8906         (WebCore::Scrollbar::mouseDown):
8907         (WebCore::Scrollbar::transformEvent):
8908         * platform/Scrollbar.h:
8910 2008-10-03  David Hyatt  <hyatt@apple.com>
8912         https://bugs.webkit.org/show_bug.cgi?id=21340
8913         
8914         Remove "containingWindow()/setContainingWindow()" from Widget.  HostWindow covers this now.
8915     
8916         Reviewed by Dan Bernstein & Darin Adler
8917         
8918         * platform/ScrollView.cpp:
8919         (WebCore::ScrollView::addChild):
8920         * platform/Widget.cpp:
8921         (WebCore::Widget::init):
8922         * platform/Widget.h:
8923         * platform/mac/WidgetMac.mm:
8924         * platform/win/PopupMenuWin.cpp:
8925         (WebCore::PopupMenu::show):
8927 2008-10-03  Adele Peterson  <adele@apple.com>
8929         Reviewed by Sam Weinig.
8931         * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
8932         Return early if settings is nil.
8934 2008-10-03  Rob Buis  <buis@kde.org>
8936         Reviewed by Darin.
8938         https://bugs.webkit.org/show_bug.cgi?id=20134
8939         REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
8941         Make sure the input element gets the right default value when no value is set.
8943         Test: fast/forms/range-default-value.html
8945         * rendering/RenderSlider.cpp:
8946         (WebCore::RenderSlider::setPositionFromValue):
8948 2008-10-03  David Hyatt  <hyatt@apple.com>
8950         Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
8951         destructor that calls them, switch to having a cross-platform constructor/destructor that calls
8952         platform-specific init/destroy methods.
8954         With this change, ScrollViewWin.cpp can be removed from the build (yay!).
8956         Reviewed by Darin Adler
8958         * WebCore.vcproj/WebCore.vcproj:
8959         * platform/ScrollView.cpp:
8960         (WebCore::ScrollView::ScrollView):
8961         (WebCore::ScrollView::~ScrollView):
8962         (WebCore::ScrollView::platformInit):
8963         (WebCore::ScrollView::platformDestroy):
8964         (WebCore::ScrollView::platformAddChild):
8965         (WebCore::ScrollView::platformRemoveChild):
8966         * platform/ScrollView.h:
8967         * platform/gtk/ScrollViewGtk.cpp:
8968         (WebCore::ScrollView::platformInit):
8969         (WebCore::ScrollView::platformDestroy):
8970         * platform/mac/ScrollViewMac.mm:
8971         * platform/qt/ScrollViewQt.cpp:
8972         (WebCore::ScrollView::platformInit):
8973         (WebCore::ScrollView::platformDestroy):
8974         * platform/win/ScrollViewWin.cpp: Removed.
8975         * platform/wx/ScrollViewWx.cpp:
8976         (WebCore::ScrollView::platformInit):
8977         (WebCore::ScrollView::platformDestroy):
8978         (WebCore::ScrollView::setPlatformWidget):
8980 2008-10-03  Adele Peterson  <adele@apple.com>
8982         Reviewed by Dan Bernstein.
8984         Fix for <rdar://problem/6012018> 
8985         https://bugs.webkit.org/show_bug.cgi?id=21335
8986         CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
8988         * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
8990 2008-10-03  Ariya Hidayat  <ariya.hidayat@trolltech.com>
8992         Build fix.
8994         * platform/qt/WidgetQt.cpp:
8995         (WebCore::Widget::invalidateRect):
8997 2008-10-03  Alp Toker  <alp@nuanti.com>
8999         Remove some left-over GTK+ includes. No change in functionality.
9001         * platform/Cursor.h:
9002         * platform/graphics/Icon.h:
9003         * platform/gtk/RenderThemeGtk.h:
9005 2008-10-03  Alp Toker  <alp@nuanti.com>
9007         Build fix for trailing comment after #endif
9009         * dom/ElementRareData.h:
9011 2008-10-03  David Hyatt  <hyatt@apple.com>
9013         Remove addToDirtyRegion.
9014         
9015         Reviewed by Oliver Hunt
9017         * page/Chrome.cpp:
9018         * page/Chrome.h:
9019         * page/ChromeClient.h:
9020         * platform/ScrollView.h:
9021         * platform/gtk/ScrollViewGtk.cpp:
9022         * platform/qt/ScrollViewQt.cpp:
9023         * platform/win/ScrollViewWin.cpp:
9025 2008-10-03  Dan Bernstein  <mitz@apple.com>
9027         Reviewed by Maciej Stachowiak.
9029         - fix a CachedResource leak introduced in r37176 
9031         Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
9032         afterwards bail out of the outer pruneDeadResources().
9034         * loader/Cache.cpp:
9035         (WebCore::Cache::Cache):
9036         (WebCore::Cache::pruneDeadResources):
9037         (WebCore::Cache::remove):
9038         * loader/Cache.h:
9040 2008-10-03  David Hyatt  <hyatt@apple.com>
9042         https://bugs.webkit.org/show_bug.cgi?id=21330
9044         Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
9045         scrollbars.
9046         
9047         Reviewed by Oliver Hunt
9049         * platform/ScrollView.cpp:
9050         (WebCore::ScrollView::setHasHorizontalScrollbar):
9051         (WebCore::ScrollView::setHasVerticalScrollbar):
9052         (WebCore::ScrollView::platformHasHorizontalAdjustment):
9053         (WebCore::ScrollView::platformHasVerticalAdjustment):
9054         * platform/ScrollView.h:
9055         * platform/gtk/ScrollViewGtk.cpp:
9056         (WebCore::ScrollView::adjustmentChanged):
9057         (WebCore::ScrollView::ScrollView):
9058         (WebCore::ScrollView::~ScrollView):
9059         (WebCore::ScrollView::setGtkAdjustments):
9060         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
9061         (WebCore::ScrollView::platformHandleVerticalAdjustment):
9063 2008-10-03  Julien Chaffraix  <jchaffraix@webkit.org>
9065         Reviewed by Maciej Stachowiak.
9067         Bug 21106: .in format discussed changes
9068         https://bugs.webkit.org/show_bug.cgi?id=21106
9070         Change "upperCase" to "interfaceName" per-tag parameter as
9071         discussed on the mailing list. Removed the per-attribute version
9072         as it was not used.
9074         Also add the "Element" suffix to all interfaceName parameter to match
9075         the class name (and thus remove it from make_names.pl).
9077         * dom/make_names.pl:
9078         * html/HTMLTagNames.in:
9079         * svg/svgtags.in:
9081 2008-10-03  David Hyatt  <hyatt@apple.com>
9083         Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
9084         Hopefully this is a temporary hack that could eventually be removed.
9086         Reviewed by Sam Weinig
9088         * platform/ScrollView.cpp:
9089         (WebCore::ScrollView::scrollContents):
9090         * platform/ScrollView.h:
9091         (WebCore::ScrollView::rootPreventsBlitting):
9092         * platform/qt/ScrollViewQt.cpp:
9093         (WebCore::ScrollView::ScrollView):
9094         (WebCore::ScrollView::~ScrollView):
9095         (WebCore::ScrollView::platformAddChild):
9096         (WebCore::ScrollView::platformRemoveChild):
9098 2008-10-02  David Hyatt  <hyatt@apple.com>
9100         https://bugs.webkit.org/show_bug.cgi?id=21328
9101         
9102         Make widget invalidation more cross-platform.
9103         
9104         (1) Make invalidateRect a pure virtual function on Widget.  All leaf widgets must now implement this function.
9105         
9106         (2) Scrollbars now send invalidations through the ScrollbarClient.  windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
9107         This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
9108         
9109         (3) Plugins now have the native window invalidation code for windowed plugins.  Windowless plugins do a repaintRectangle on the plugin's renderer.
9110         
9111         (4) FrameViews now do a repaintRectangle on their owner element's renderer.
9113         Reviewed by Sam Weinig
9115         * WebCore.base.exp:
9116         * page/FrameView.cpp:
9117         (WebCore::FrameView::invalidateRect):
9118         (WebCore::FrameView::invalidateScrollbarRect):
9119         * page/FrameView.h:
9120         * platform/PopupMenu.h:
9121         * platform/ScrollView.cpp:
9122         (WebCore::ScrollView::scrollContents):
9123         * platform/ScrollView.h:
9124         * platform/Scrollbar.cpp:
9125         (WebCore::Scrollbar::setEnabled):
9126         (WebCore::Scrollbar::invalidateRect):
9127         * platform/Scrollbar.h:
9128         * platform/ScrollbarClient.h:
9129         * platform/Widget.h:
9130         * platform/gtk/WidgetGtk.cpp:
9131         * platform/mac/WidgetMac.mm:
9132         * platform/win/PopupMenuWin.cpp:
9133         (WebCore::PopupMenu::invalidateScrollbarRect):
9134         * platform/win/WidgetWin.cpp:
9135         * plugins/PluginView.cpp:
9136         (WebCore::PluginView::invalidateTimerFired):
9137         (WebCore::PluginView::invalidateWindowlessPluginRect):
9138         * plugins/PluginView.h:
9139         * plugins/gtk/PluginViewGtk.cpp:
9140         (WebCore::PluginView::invalidateRect):
9141         * plugins/qt/PluginViewQt.cpp:
9142         (WebCore::PluginView::invalidateRect):
9143         * plugins/win/PluginViewWin.cpp:
9144         (WebCore::PluginView::invalidateRect):
9145         (WebCore::PluginView::invalidateRegion):
9146         * rendering/RenderLayer.cpp:
9147         (WebCore::RenderLayer::invalidateScrollbarRect):
9148         * rendering/RenderLayer.h:
9149         * rendering/RenderListBox.cpp:
9150         (WebCore::RenderListBox::paintObject):
9151         (WebCore::RenderListBox::paintScrollbar):
9152         (WebCore::RenderListBox::invalidateScrollbarRect):
9153         * rendering/RenderListBox.h:
9155 2008-10-02  Dan Bernstein  <mitz@apple.com>
9157         Reviewed by Geoffrey Garen and Sam Weinig.
9159         - fix SVGFontFaceElement leaks seen in Acid3
9160         - make font-face elements take effect only when they are in the document tree
9162         Test: svg/custom/font-face-not-in-document.svg
9164         * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
9165         RefPtr to a plain pointer to break a ref cycle.
9166         (WebCore::SVGFontData::svgFontFaceElement):
9168         * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
9169         @font-face rule from the document's mapped element sheet when the
9170         element is inserted and removed from the document, and to update it
9171         only when the element is in the document.
9172         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
9173         (WebCore::SVGFontFaceElement::parseMappedAttribute):
9174         (WebCore::SVGFontFaceElement::rebuildFontFace):
9175         (WebCore::SVGFontFaceElement::insertedIntoDocument):
9176         (WebCore::SVGFontFaceElement::removedFromDocument):
9177         (WebCore::SVGFontFaceElement::childrenChanged):
9178         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
9179         * svg/SVGFontFaceElement.h:
9181 2008-10-01  Simon Fraser  <simon.fraser@apple.com>
9183         Reviewed by Dave Hyatt
9185         Fix RenderFileUploadControl::setStyle() and 
9186         RenderMenuList::setStyle() to not touch the style; replace
9187         with html4.css and CSSStyleSelector changes.
9189         https://bugs.webkit.org/show_bug.cgi?id=21287
9191         * css/CSSStyleSelector.cpp:
9192         (WebCore::CSSStyleSelector::adjustRenderStyle):
9193         * css/html4.css:
9194         * rendering/RenderBlock.cpp:
9195         (WebCore::RenderBlock::setStyle):
9196         * rendering/RenderFileUploadControl.cpp:
9197         * rendering/RenderMenuList.cpp:
9198         (WebCore::RenderMenuList::setStyle):
9200 2008-10-01  Simon Fraser  <simon.fraser@apple.com>
9202         Reviewed by Dave Hyatt
9204         Clean up code that changes the RenderStyle passed in to
9205         table renderer setStyle() methods.
9206         
9207         https://bugs.webkit.org/show_bug.cgi?id=21287
9208         
9209         Tests: fast/table/floating-th.html
9210                fast/table/table-display-types-strict.html
9211                fast/table/table-display-types.html
9213         * css/CSSStyleSelector.cpp:
9214         (WebCore::CSSStyleSelector::adjustRenderStyle):
9215         * rendering/RenderTableCell.cpp:
9216         (WebCore::RenderTableCell::setStyle):
9217         * rendering/RenderTableRow.cpp:
9218         (WebCore::RenderTableRow::setStyle):
9219         * rendering/RenderTableSection.cpp:
9220         (WebCore::RenderTableSection::setStyle):
9222 2008-10-02  Darin Adler  <darin@apple.com>
9224         - fix build
9226         * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
9227         Not just locally in my generated file!
9229 2008-10-02  Adele Peterson  <adele@apple.com>
9231         Reviewed by Dan Bernstein.
9233         Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
9234         REGRESSION: <input> color specified in inline style applies to placeholder
9236         I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes.  A pseudo-element
9237         is more appropriate.  This change adds "-webkit-input-placeholder".
9239         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
9240         Added definition for "-webkit-input-placeholder" pseudo element.
9241         * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
9242         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
9243         Added case for PseudoInputPlaceholder.
9244         * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
9245         * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
9247         * html/HTMLInputElement.cpp:
9248         (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
9249         (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
9250         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
9251         setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
9252         * rendering/RenderTextControl.cpp:
9253         (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
9254         (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
9255         the text will be updated correctly.
9256         * rendering/RenderTextControl.h:
9258 2008-10-02  Chris Fleizach  <cfleizach@apple.com>
9260         Reviewed by Darin Adler.
9262         https://bugs.webkit.org/show_bug.cgi?id=21280
9263         <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
9265         Updated AXTable detection to be more robust to false-positives. Specifically, added checks
9266         to ensure that there is more than one valid table cell, and that at least half of the cells
9267         have borders or have specific background colors. Modified the table detection layout test
9268         to test for the tables mentioned in the bug
9270         * page/AccessibilityTable.cpp:
9271         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
9273 2008-10-02  Darin Adler  <darin@apple.com>
9275         Reviewed by Geoff Garen.
9277         - https://bugs.webkit.org/show_bug.cgi?id=21321
9278           Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
9280         * bindings/js/GCController.cpp:
9281         (WebCore::collect): Use heap. instead of heap-> to work with the heap.
9282         (WebCore::GCController::gcTimerFired): Ditto.
9283         (WebCore::GCController::garbageCollectNow): Ditto.
9284         * bindings/js/JSDOMWindowShell.cpp:
9285         (WebCore::JSDOMWindowShell::operator new): Ditto.
9286         * storage/Database.cpp:
9287         (WebCore::Database::Database): Ditto.
9289 2008-10-02  Dan Bernstein  <mitz@apple.com>
9291         Reviewed by Alexey Proskuryakov.
9293         - fix a Database leak that resulted in Document leaks
9295         * storage/Database.cpp:
9296         (WebCore::Database::openDatabase): Account for the fact that RefCounted 
9297         objects start out with a ref count of 1.
9299 2008-10-02  Sam Weinig  <sam@webkit.org>
9301         Reviewed by Mr. Geoffrey Garen.
9303         Always mark your parent before marking members.
9305         * bindings/js/JSDOMWindowCustom.cpp:
9306         (WebCore::JSDOMWindow::mark):
9308 2008-10-02  David Hyatt  <hyatt@apple.com>
9310         https://bugs.webkit.org/show_bug.cgi?id=21314
9311         
9312         Make scrollBackingStore cross-platform.
9314         Reviewed by Sam Weinig
9316         * loader/EmptyClients.h:
9317         (WebCore::EmptyChromeClient::repaint):
9318         (WebCore::EmptyChromeClient::scroll):
9319         * page/Chrome.cpp:
9320         (WebCore::Chrome::repaint):
9321         (WebCore::Chrome::scroll):
9322         * page/Chrome.h:
9323         * page/ChromeClient.h:
9324         * page/EventHandler.cpp:
9325         (WebCore::EventHandler::handleAutoscroll):
9326         * platform/HostWindow.h:
9327         * platform/ScrollView.cpp:
9328         (WebCore::ScrollView::scrollContents):
9329         (WebCore::ScrollView::addPanScrollIcon):
9330         (WebCore::ScrollView::removePanScrollIcon):
9331         * platform/ScrollView.h:
9332         * platform/gtk/ScrollViewGtk.cpp:
9333         * platform/qt/ScrollViewQt.cpp:
9334         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
9335         (WebCore::ScrollView::~ScrollView):
9336         * platform/win/ScrollViewWin.cpp:
9337         (WebCore::ScrollView::ScrollView):
9338         (WebCore::ScrollView::~ScrollView):
9340 2008-10-02  Kevin Ollivier  <kevino@theolliviers.com>
9342         wx build fixes after Frame/ScrollView changes.
9344         * WebCoreSources.bkl:
9345         * platform/wx/ScrollViewWx.cpp:
9346         (WebCore::ScrollView::platformContentsToScreen):
9347         (WebCore::ScrollView::platformScreenToContents):
9348         (WebCore::ScrollView::platformIsOffscreen):
9350 2008-10-02  Brett Wilson  <brettw@chromium.org>
9352         Reviewed by Sam Weinig
9354         https://bugs.webkit.org/show_bug.cgi?id=21292
9356         Revert the changes to enclosingIntRect made in r12530 since the new code
9357         doesn't round correctly.
9359         * ChangeLog:
9360         * platform/graphics/FloatRect.cpp:
9361         (WebCore::enclosingIntRect):
9363 2008-10-02  Dan Bernstein  <mitz@apple.com>
9365         Reviewed by Anders Carlsson and Eric Seidel.
9367         - fix HTMLCanvaseElement leak from -webkit-canvas() values
9369         Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
9370         pointer, as the document owns the canvas elements. Added code to release
9371         those elements in Document::removedLastRef() because they reference
9372         the document.
9374         * css/CSSCanvasValue.cpp:
9375         (WebCore::CSSCanvasValue::element):
9376         * css/CSSCanvasValue.h:
9377         (WebCore::CSSCanvasValue::CSSCanvasValue):
9378         * dom/Document.cpp:
9379         (WebCore::Document::removedLastRef):
9381 2008-10-02  Alexey Proskuryakov  <ap@webkit.org>
9383         Reviewed by Maciej Stachowiak.
9385         Build fix for platforms that don't implement WTF::ThreadSpecific.
9387         * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
9388         Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
9389         code is only needed for JS bindings in worker threads.
9391 2008-10-01  David Hyatt  <hyatt@apple.com>
9393         https://bugs.webkit.org/show_bug.cgi?id=21298
9394         
9395         Make updateScrollbars cross-platform.  For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store.  Next patch
9396         will make that cross-platform.  
9397         
9398         The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
9399         multiple inheritance.  For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
9400         windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
9401         
9402         Reviewed by Sam Weinig
9404         * page/FrameView.cpp:
9405         (WebCore::FrameView::windowClipRect):
9406         (WebCore::FrameView::isActive):
9407         * page/FrameView.h:
9408         (WebCore::FrameView::visibleContentsResized):
9409         * platform/PopupMenu.h:
9410         * platform/ScrollView.cpp:
9411         (WebCore::ScrollView::init):
9412         (WebCore::ScrollView::destroy):
9413         (WebCore::ScrollView::setHasHorizontalScrollbar):
9414         (WebCore::ScrollView::setHasVerticalScrollbar):
9415         (WebCore::ScrollView::valueChanged):
9416         (WebCore::ScrollView::updateScrollbars):
9417         (WebCore::ScrollView::scrollContents):
9418         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
9419         (WebCore::ScrollView::platformHandleVerticalAdjustment):
9420         * platform/ScrollView.h:
9421         * platform/Scrollbar.cpp:
9422         (WebCore::Scrollbar::windowClipRect):
9423         * platform/ScrollbarClient.h:
9424         * platform/gtk/ScrollViewGtk.cpp:
9425         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
9426         (WebCore::ScrollView::platformHandleVerticalAdjustment):
9427         * platform/qt/ScrollViewQt.cpp:
9428         (WebCore::ScrollView::scrollContents):
9429         * platform/win/PopupMenuWin.cpp:
9430         (WebCore::PopupMenu::windowClipRect):
9431         * platform/win/ScrollViewWin.cpp:
9432         (WebCore::ScrollView::scrollContents):
9433         * rendering/RenderLayer.cpp:
9434         (WebCore::RenderLayer::windowClipRect):
9435         * rendering/RenderLayer.h:
9436         * rendering/RenderListBox.cpp:
9437         (WebCore::RenderListBox::panScroll):
9438         (WebCore::RenderListBox::windowClipRect):
9439         * rendering/RenderListBox.h:
9441 2008-10-02  Alexey Proskuryakov  <ap@webkit.org>
9443         Reviewed by Darin Adler.
9445         https://bugs.webkit.org/show_bug.cgi?id=21304
9446         Stop using a static wrapper map for WebCore JS bindings
9448         The static domObjects map was not thread safe.
9450         * dom/Document.h:
9451         (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
9452         ports.
9453         (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
9455         * dom/Document.cpp:
9456         (WebCore::Document::createdXMLHttpRequest):
9457         (WebCore::Document::destroyedXMLHttpRequest):
9458         Moved XMLHttpRequest tracking from a global map to Document.
9460         * GNUmakefile.am:
9461         * WebCore.pro:
9462         * WebCore.vcproj/WebCore.vcproj:
9463         * WebCore.xcodeproj/project.pbxproj:
9464         * WebCoreSources.bkl:
9465         * webcore-base.bkl:
9466         * bindings/DOMProtect.cpp: Removed.
9467         * bindings/DOMProtect.h: Removed.
9468         Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
9469         so they can no longer protect bindings objects.
9471         * dom/MessagePort.cpp:
9472         (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
9473         (WebCore::CloseMessagePortTimer::fired):
9474         (WebCore::MessagePort::MessagePort):
9475         (WebCore::MessagePort::queueCloseEvent):
9476         (WebCore::MessagePort::setPendingActivity):
9477         (WebCore::MessagePort::unsetPendingActivity):
9478         * dom/MessagePort.h:
9479         (WebCore::MessagePort::hasPendingActivity):
9480         MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
9481         to protect it.
9483         * xml/XMLHttpRequest.h:
9484         (WebCore::XMLHttpRequest::hasPendingActivity):
9485         * xml/XMLHttpRequest.cpp:
9486         (WebCore::XMLHttpRequest::XMLHttpRequest):
9487         (WebCore::XMLHttpRequest::~XMLHttpRequest):
9488         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
9489         (WebCore::XMLHttpRequest::dropProtection):
9490         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
9491         (WebCore::XMLHttpRequest::cancelRequests):
9492         (WebCore::XMLHttpRequest::detachRequests):
9493         (WebCore::XMLHttpRequest::setPendingActivity):
9494         (WebCore::XMLHttpRequest::unsetPendingActivity):
9495         Moved XMLHttpRequest tracking from a global map to Document. 
9497         * bindings/js/JSDOMBinding.cpp:
9498         (WebCore::wrapperSet):
9499         (WebCore::DOMObjectWrapperMap::mapFor):
9500         (WebCore::DOMObjectWrapperMap::get):
9501         (WebCore::DOMObjectWrapperMap::set):
9502         (WebCore::DOMObjectWrapperMap::remove):
9503         (WebCore::getCachedDOMObjectWrapper):
9504         (WebCore::cacheDOMObjectWrapper):
9505         (WebCore::forgetDOMObject):
9506         (WebCore::getCachedDOMNodeWrapper):
9507         (WebCore::forgetDOMNode):
9508         (WebCore::cacheDOMNodeWrapper):
9509         (WebCore::markActiveObjectsForDocument):
9510         * bindings/js/JSDOMBinding.h:
9511         (WebCore::createDOMObjectWrapper):
9512         (WebCore::getDOMObjectWrapper):
9513         Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
9514         to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
9515         WebCore objects can never migrate between threads.
9517         * bindings/js/JSDocumentCustom.cpp:
9518         (WebCore::JSDocument::mark):
9519         Call markActiveObjectsForDocument() from JSDOMBinding.
9521         * bindings/js/JSCSSRuleCustom.cpp:
9522         (WebCore::toJS):
9523         * bindings/js/JSCSSValueCustom.cpp:
9524         (WebCore::toJS):
9525         * bindings/js/JSDOMWindowCustom.cpp:
9526         (WebCore::markDOMObjectWrapper):
9527         (WebCore::JSDOMWindow::mark):
9528         * bindings/js/JSEventCustom.cpp:
9529         (WebCore::toJS):
9530         * bindings/js/JSEventTarget.cpp:
9531         (WebCore::toJS):
9532         * bindings/js/JSHTMLCollectionCustom.cpp:
9533         (WebCore::toJS):
9534         * bindings/js/JSImageDataCustom.cpp:
9535         (WebCore::toJS):
9536         * bindings/js/JSMessageChannelCustom.cpp:
9537         (WebCore::JSMessageChannel::mark):
9538         * bindings/js/JSMessagePortCustom.cpp:
9539         (WebCore::JSMessagePort::mark):
9540         * bindings/js/JSNodeCustom.cpp:
9541         (WebCore::JSNode::mark):
9542         * bindings/js/JSSVGPathSegCustom.cpp:
9543         (WebCore::toJS):
9544         * bindings/js/JSStyleSheetCustom.cpp:
9545         (WebCore::toJS):
9546         * bindings/js/JSXMLHttpRequestCustom.cpp:
9547         (WebCore::JSXMLHttpRequest::mark):
9548         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
9549         (WebCore::JSXMLHttpRequestUpload::mark):
9550         * bindings/js/ScriptController.cpp:
9551         (WebCore::ScriptController::finishedWithEvent):
9552         * bindings/scripts/CodeGeneratorJS.pm:
9553         Pass a JSGlobalData reference to functions that track JS wrapper objects.
9555 2008-10-02  Dan Bernstein  <mitz@apple.com>
9557         - build fix
9559         * page/JavaScriptCallFrame.idl:
9561 2008-10-02  Oliver Hunt  <oliver@apple.com>
9563         Reviewed by NOBODY (Build fix).
9565         Add new file to project files
9567         * GNUmakefile.am:
9568         * WebCore.pro:
9569         * WebCore.vcproj/WebCore.vcproj:
9571 2008-10-02  Geoffrey Garen  <ggaren@apple.com>
9573         Not reviewed.
9575         Try to fix some more builds.
9577         * GNUmakefile.am:
9578         * WebCore.pro:
9580 2008-10-02  Geoffrey Garen  <ggaren@apple.com>
9582         Not reviewed.
9583         
9584         Try to fix Windows build.
9586         * WebCore.vcproj/WebCore.vcproj:
9588 2008-10-01  Geoffrey Garen  <ggaren@apple.com>
9590         Reviewed by Darin Adler and Cameron Zwarich.
9592         Updated for JavaScriptCore API changes: use a SourceCode instead of
9593         broken out parameters; treat sourceId as intptr_t.
9595         * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
9596         * bindings/js/JSXMLHttpRequestCustom.cpp:
9597         (WebCore::JSXMLHttpRequest::send):
9598         * bindings/js/ScriptController.cpp:
9599         (WebCore::ScriptController::evaluate):
9600         * bindings/js/StringSourceProvider.h:
9601         (WebCore::StringSourceProvider::create):
9602         (WebCore::StringSourceProvider::StringSourceProvider):
9604         (WebCore::makeSource): Added a makeSource function for convenience.
9606         * bindings/objc/WebScriptObject.mm:
9607         (-[WebScriptObject evaluateWebScript:]):
9608         * bridge/NP_jsobject.cpp:
9609         (_NPN_Evaluate):
9610         * bridge/jni/jni_jsobject.mm:
9611         (JavaJSObject::call):
9612         (JavaJSObject::eval):
9613         (JavaJSObject::getMember):
9614         (JavaJSObject::setMember):
9615         (JavaJSObject::removeMember):
9617         * bridge/jni/jni_runtime.h:
9618         (JSC::Bindings::JavaString::operator UString): Replaced the explicit
9619         ustring() function with an implicit operator because this class already
9620         holds a UString::rep.
9622         * page/Console.cpp:
9623         (WebCore::retrieveLastCaller):
9624         (WebCore::Console::trace):
9625         * page/InspectorController.cpp:
9626         (WebCore::jsStringRef):
9627         (WebCore::InspectorController::addBreakpoint):
9628         (WebCore::InspectorController::removeBreakpoint):
9629         (WebCore::InspectorController::didParseSource):
9630         (WebCore::InspectorController::failedToParseSource):
9631         * page/InspectorController.h:
9632         * page/JavaScriptCallFrame.cpp:
9633         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
9634         * page/JavaScriptCallFrame.h:
9635         (WebCore::JavaScriptCallFrame::create):
9636         (WebCore::JavaScriptCallFrame::sourceIdentifier):
9637         (WebCore::JavaScriptCallFrame::update):
9638         * page/JavaScriptDebugListener.h:
9639         * page/JavaScriptDebugServer.cpp:
9640         (WebCore::JavaScriptDebugServer::addBreakpoint):
9641         (WebCore::JavaScriptDebugServer::removeBreakpoint):
9642         (WebCore::JavaScriptDebugServer::hasBreakpoint):
9643         (WebCore::dispatchDidParseSource):
9644         (WebCore::dispatchFailedToParseSource):
9645         (WebCore::JavaScriptDebugServer::sourceParsed):
9646         (WebCore::JavaScriptDebugServer::callEvent):
9647         (WebCore::JavaScriptDebugServer::atStatement):
9648         (WebCore::JavaScriptDebugServer::returnEvent):
9649         (WebCore::JavaScriptDebugServer::exception):
9650         (WebCore::JavaScriptDebugServer::willExecuteProgram):
9651         (WebCore::JavaScriptDebugServer::didExecuteProgram):
9652         (WebCore::JavaScriptDebugServer::didReachBreakpoint):
9653         * page/JavaScriptDebugServer.h:
9654         * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and 
9655         sourceIdentifier to sourceID.
9657 2008-10-01  Dan Bernstein  <mitz@apple.com>
9659         Reviewed by Geoffrey Garen.
9661         - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
9663         Broke a ref cycle by changing the m_svgFontFaceElement members of
9664         CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
9665         pointers. Also made sure that the @font-face rule added by
9666         SVGFontFaceElement to the document's mapped element sheet is removed
9667         when the font-face element is deleted or moved to another document.
9669         * css/CSSFontFaceSource.cpp:
9670         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
9671         (WebCore::CSSFontFaceSource::getFontData):
9672         * css/CSSFontFaceSource.h:
9673         (WebCore::CSSFontFaceSource::svgFontFaceElement):
9674         * css/CSSFontFaceSrcValue.h:
9675         (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
9676         (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
9677         * svg/SVGFontFaceElement.cpp:
9678         (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
9679         (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
9680         (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
9681         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
9682         * svg/SVGFontFaceElement.h:
9684 2008-10-01  Oliver Hunt  <oliver@apple.com>
9686         Reviewed by Maciej Stachowiak.
9688         Bug 20315: Memory leak with Canvas getImageData
9689         <https://bugs.webkit.org/show_bug.cgi?id=20315>
9691         This wasn't a leak, the issue was that we were reporting the cost
9692         of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
9693         and we should have been reporting the cost when we create the
9694         JSImageData wrapper.
9696         * WebCore.xcodeproj/project.pbxproj:
9697         * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
9698           This was only needed to report the extra memory cost
9699           of the CPA.
9700         * bindings/js/JSImageDataCustom.cpp:
9701         (WebCore::toJS):
9702           We need a custom toJS function now so that we can report
9703           the extra memory cost.
9704         * bindings/scripts/CodeGeneratorJS.pm:
9705           Need to replace the reference to CanvasPixelArray with ImageData
9706           to be able to create the custom toJS implementation.
9707         * html/CanvasPixelArray.idl:
9708         * html/ImageData.idl:
9710 2008-10-01  Dan Bernstein  <mitz@apple.com>
9712         Reviewed by Mark Rowe.
9714         - https://bugs.webkit.org/show_bug.cgi?id=21293
9715           REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
9717         * svg/SVGMarkerElement.cpp:
9718         (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
9719         that renderer destruction happens before the SVGMarkerElement is
9720         destroyed.
9721         * svg/SVGSVGElement.cpp:
9722         (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
9724 2008-10-01  Evan Martin  <evan@chromium.org>
9726         Reviewed by Eric Seidel.
9727         
9728         https://bugs.webkit.org/show_bug.cgi?id=20669
9730         * css/makeprop.pl:
9731         Die if gperf fails.
9733 2008-10-01  Evan Martin  <evan@chromium.org>
9735         Reviewed by Eric Seidel.
9737         * loader/icon/IconDatabase.h:
9738         IconDatabase uses HashMap, so it needs to #include the header.
9740 2008-10-01  Dan Bernstein  <mitz@apple.com>
9742         Reviewed by Mark Rowe.
9744         - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
9746         * loader/Cache.cpp:
9747         (WebCore::Cache::remove): Disable pruning temporarily during 
9748         CachedResource deletion.
9750 2008-10-01  Dan Bernstein  <mitz@apple.com>
9752         Reviewed by Mark Rowe.
9754         - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
9756         * svg/SVGFontFaceElement.cpp:
9757         (WebCore::SVGFontFaceElement::rebuildFontFace):
9758         * svg/SVGFontFaceElement.h:
9759         (WebCore::SVGFontFaceElement::associatedFontElement):
9761 2008-10-01  Brett Wilson  <brettw@chromium.org>
9763         Reviewed by Maciej Stachowiak.
9765         Document the rounding behavior of the mapRect(IntRect) function in
9766         AffineTransform.h.
9768         * platform/graphics/AffineTransform.h:
9770 2008-10-01  David Hyatt  <hyatt@apple.com>
9772         Move prohibitsScrolling from the Frame to the ScrollView.
9774         Reviewed by Sam Weinig
9776         * WebCore.base.exp:
9777         * page/Frame.cpp:
9778         (WebCore::FramePrivate::FramePrivate):
9779         * page/Frame.h:
9780         * page/FramePrivate.h:
9781         * page/FrameView.cpp:
9782         (WebCore::FrameView::scrollRectIntoViewRecursively):
9783         (WebCore::FrameView::setScrollPosition):
9784         * platform/ScrollView.cpp:
9785         (WebCore::ScrollView::init):
9786         (WebCore::ScrollView::scrollRectIntoViewRecursively):
9787         (WebCore::ScrollView::setScrollPosition):
9788         * platform/ScrollView.h:
9789         (WebCore::ScrollView::setProhibitsScrolling):
9790         (WebCore::ScrollView::prohibitsScrolling):
9791         * platform/gtk/ScrollViewGtk.cpp:
9792         (WebCore::ScrollView::updateScrollbars):
9793         * platform/qt/ScrollViewQt.cpp:
9794         (WebCore::ScrollView::updateScrollbars):
9795         * platform/win/ScrollViewWin.cpp:
9796         (WebCore::ScrollView::updateScrollbars):
9798 2008-10-01  Mark Rowe  <mrowe@apple.com>
9800         Reviewed by Geoff Garen.
9802         Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
9804         * xml/XMLHttpRequest.cpp:
9805         (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
9806         that we do during the loadRequestAsynchronously of the preflight request with a deref and
9807         GC unprotect.
9809 2008-10-01  David Hyatt  <hyatt@apple.com>
9811         Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
9812         clear that the boolean doesn't actually stop all scrolling.  It just gets rid of scrollbars.
9814         Reviewed by Tim Hatcher
9816         * WebCore.base.exp:
9817         * page/FrameView.cpp:
9818         (WebCore::FrameView::setCanHaveScrollbars):
9819         * page/FrameView.h:
9820         * platform/ScrollView.cpp:
9821         (WebCore::ScrollView::setCanHaveScrollbars):
9822         (WebCore::ScrollView::wheelEvent):
9823         * platform/ScrollView.h:
9824         (WebCore::ScrollView::canHaveScrollbars):
9826 2008-10-01  Dan Bernstein  <mitz@apple.com>
9828         Reviewed by Mark Rowe.
9830         - fix some CachedResource leaks seen on buildbot
9832         The issue here was that emptying the cache was a no-op when it only
9833         contained resources with no data. Changed to go after those
9834         resources when the desired cache capacity is zero.
9836         * loader/Cache.cpp:
9837         (WebCore::Cache::pruneLiveResources):
9838         (WebCore::Cache::pruneDeadResources):
9839         * loader/Cache.h:
9840         (WebCore::Cache::prune):
9842 2008-10-01  David Hyatt  <hyatt@apple.com>
9844         Make isOffscreen cross-platform.  Only Mac implements this method, so hold off on adding API to the
9845         HostWindow object until other platforms decide they want this method.  (We need it for Win though at some point.)
9847         Reviewed by Adam Roben
9849         * platform/ScrollView.cpp:
9850         (WebCore::ScrollView::isOffscreen):
9851         (WebCore::ScrollView::platformIsOffscreen):
9852         * platform/ScrollView.h:
9853         * platform/gtk/ScrollViewGtk.cpp:
9854         * platform/mac/ScrollViewMac.mm:
9855         (WebCore::ScrollView::platformIsOffscreen):
9856         * platform/qt/ScrollViewQt.cpp:
9857         * platform/wx/ScrollViewWx.cpp:
9859 2008-10-01  David Hyatt  <hyatt@apple.com>
9861         Make show/hide/setParentVisible cross-platform on ScrollView.
9863         Reviewed by Adam Roben
9865         * platform/ScrollView.cpp:
9866         (WebCore::ScrollView::setParentVisible):
9867         (WebCore::ScrollView::show):
9868         (WebCore::ScrollView::hide):
9869         * platform/ScrollView.h:
9870         * platform/win/ScrollViewWin.cpp:
9872 2008-10-01  Kevin McCullough  <kmccullough@apple.com>
9874         Reviewed by Dan Bernstein.
9876         https://bugs.webkit.org/show_bug.cgi?id=21284
9877         Bug 21284: Max height affects max width
9878         - Looks like a cut and paste bug
9879         - Added layout test fast/css/max-height-and-max-width.html
9881         * css/CSSComputedStyleDeclaration.cpp:
9882         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
9884 2008-10-01  David Hyatt  <hyatt@apple.com>
9886         https://bugs.webkit.org/show_bug.cgi?id=21282
9887         
9888         Make contentsToScreen/screenToContents cross-platform.  Only implemented by Mac/Win right now.
9889         
9890         Reviewed by Adam Roben
9892         * loader/EmptyClients.h:
9893         (WebCore::EmptyChromeClient::screenToWindow):
9894         (WebCore::EmptyChromeClient::windowToScreen):
9895         * page/Chrome.cpp:
9896         (WebCore::Chrome::screenToWindow):
9897         (WebCore::Chrome::windowToScreen):
9898         * page/Chrome.h:
9899         * page/ChromeClient.h:
9900         * platform/HostWindow.h:
9901         * platform/ScrollView.cpp:
9902         (WebCore::ScrollView::contentsToScreen):
9903         (WebCore::ScrollView::screenToContents):
9904         (WebCore::ScrollView::platformContentsToScreen):
9905         (WebCore::ScrollView::platformScreenToContents):
9906         * platform/ScrollView.h:
9907         * platform/mac/ScrollViewMac.mm:
9908         (WebCore::ScrollView::platformContentsToScreen):
9909         (WebCore::ScrollView::platformScreenToContents):
9910         * platform/win/ScrollViewWin.cpp:
9912 2008-10-01  Dan Bernstein  <mitz@apple.com>
9914         Reviewed by Darin Adler.
9916         - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
9918         Test: fast/parser/residual-style-close-across-removed-block.html
9920         * html/HTMLParser.cpp:
9921         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
9922         an assertion that turned out to be wrong in this case, and changed to
9923         terminate the algorithm at the first empty block.
9925 2008-10-01  David Hyatt  <hyatt@apple.com>
9927         Make setFrameRect on ScrollView cross-platform.
9929         Reviewed by Sam Weinig
9931         * page/FrameView.h:
9932         (WebCore::FrameView::contentsResized):
9933         * platform/ScrollView.cpp:
9934         (WebCore::ScrollView::setFrameRect):
9935         * platform/ScrollView.h:
9936         * platform/gtk/ScrollViewGtk.cpp:
9937         * platform/qt/ScrollViewQt.cpp:
9938         * platform/win/ScrollViewWin.cpp:
9940 2008-10-01  Sam Weinig  <sam@webkit.org>
9942         Reviewed by Adele Peterson.
9944         Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
9945         to JSDOMWindow from JSDOMWindowBase.
9947         * WebCore.xcodeproj/project.pbxproj:
9948         * bindings/js/JSDOMWindowBase.cpp:
9949         (WebCore::JSDOMWindowBase::removeTimeout):
9950         * bindings/js/JSDOMWindowBase.h:
9951         * bindings/js/JSDOMWindowCustom.cpp:
9952         (WebCore::setTimeoutOrInterval):
9953         (WebCore::JSDOMWindow::setTimeout):
9954         (WebCore::JSDOMWindow::clearTimeout):
9955         (WebCore::JSDOMWindow::setInterval):
9956         (WebCore::JSDOMWindow::clearInterval):
9957         (WebCore::JSDOMWindow::atob):
9958         (WebCore::JSDOMWindow::btoa):
9959         * page/DOMWindow.idl:
9961 2008-10-01  Dan Bernstein  <mitz@apple.com>
9963         - Mac build fix
9965         * WebCore.base.exp:
9967 2008-10-01  Timothy Hatcher  <timothy@apple.com>
9969         Prevent stealing focus from the search field when focusing a DOM node.
9971         https://bugs.webkit.org/show_bug.cgi?id=21275
9973         Reviewed by Kevin McCullough.
9975         * page/inspector/ElementsPanel.js:
9976         (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
9977         Don't steal focus if the current focus element is the search field.
9979 2008-09-30  Sam Weinig  <sam@webkit.org>
9981         Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
9983         Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
9984         Autogenerate JS event listeners
9986         - Generate getting/setting of EventListeners.
9988         - Adding a new named EventListener now has the same process as adding any other DOM
9989           attribute. (Add a method with the same name in the c++ file).
9991         (The EventListeners for MessagePort have been intentionally left custom so that we
9992         can continue to experiment with making those EventListeners work in a frame-less world.)
9994         * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
9995         * bindings/js/JSDOMWindowCustom.cpp: ditto.
9996         * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
9997         * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
9998         * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
9999         * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
10000         getter/setters
10001         * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
10002         * dom/EventTargetNode.h: ditto.
10003         * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
10004         will use JSEventListerner instead of JSUnprotectedEventListener.
10005         * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
10006         * page/DOMWindow.cpp: Add getter/setters for named EventListener
10007         * page/DOMWindow.h: ditto.
10008         * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
10009         will use JSEventListerner instead of JSUnprotectedEventListener.
10010         * xml/XMLHttpRequest.idl: Remove custom attributes.
10011         * xml/XMLHttpRequestUpload.idl: ditto.
10013 2008-09-30  Mark Rowe  <mrowe@apple.com>
10015         Reviewed by Dan Bernstein.
10017         Add a leak counter for CachedResources since we've had two recent leaks involving them.
10019         * loader/CachedResource.cpp:
10020         (WebCore::CachedResource::CachedResource):
10021         (WebCore::CachedResource::~CachedResource):
10023 2008-09-30  Dan Bernstein  <mitz@apple.com>
10025         Reviewed by Dave Hyatt.
10027         - fix https://bugs.webkit.org/show_bug.cgi?id=21127
10028           <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
10030         If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
10031         the font name in memory.
10033         * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
10034         OpenTypeUtilities.*.
10036         * platform/graphics/win/FontCustomPlatformData.cpp:
10037         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
10038         to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
10039         used.
10040         (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
10041         for fonts loaded using AddFontMemResourceEx.
10042         (WebCore::createFontCustomPlatformData): Added a call to
10043         renameAndActivateFont() if TTLoadEmbeddedFont fails. If
10044         TTLoadEmbeddedFont succeeds, set the font name to the null string, as
10045         fontPlatformData() will retrieve the name from the font reference.
10047         * platform/graphics/win/FontCustomPlatformData.h:
10048         (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
10049         font name member.
10051         * platform/graphics/win/GetEOTHeader.cpp: Renamed.
10052         * platform/graphics/win/GetEOTHeader.h: Renamed.
10054         * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
10055         (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
10056         (WebCore::BigEndianULong::BigEndianULong): Ditto.
10057         (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
10058         the font data and modifies it to have the given name, then activates
10059         it using AddFontMemResourceEx.
10061         * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
10063 2008-09-30  Mark Rowe  <mrowe@apple.com>
10065         Reviewed by Dan Bernstein.
10067         Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
10069         * rendering/RenderObject.cpp:
10070         (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
10071         with calls to removeClient when we're being destroyed.
10073 2008-09-30  Eric Carlson  <eric.carlson@apple.com>
10075         Reviewed by Antti Koivisto.
10077         https://bugs.webkit.org/show_bug.cgi?id=21243
10079         Fix loopstart and loopend default values.
10081         Tests: media/loopend-limits.html
10082                media/loopstart-limits.html
10084         * html/HTMLMediaElement.cpp:
10085         (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
10086         (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
10088 2008-09-30  Kevin Ollivier  <kevino@theolliviers.com>
10090         wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
10092         * WebCoreSources.bkl:
10093         * platform/wx/ScrollViewWx.cpp:
10094         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
10096 2008-09-30  Dan Bernstein  <mitz@apple.com>
10098         Reviewed by Sam Weinig.
10100         - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
10101           was fixed in r17249 and re-introduced in r31435. 
10103         * html/HTMLViewSourceDocument.cpp:
10104         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
10105         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
10106         (WebCore::HTMLViewSourceDocument::addLine):
10107         (WebCore::HTMLViewSourceDocument::addLink):
10108         * html/HTMLViewSourceDocument.h:
10110 2008-09-30  Sam Weinig  <sam@webkit.org>
10112         Reviewed by Eric Seidel.
10114         More for https://bugs.webkit.org/show_bug.cgi?id=21122
10115         Autogenerate JS event listeners
10117         - Make EventListener getter/setters names in c++ files match those in 
10118           JS (ie. onLoadListener -> onload).
10119         - Add standard way to access the frame associated with the EventTarget
10120           for EventListener lookup.
10121         - Autogenerate dispatchEvent, it wasn't doing anything custom.
10123         * bindings/js/JSDOMApplicationCacheCustom.cpp:
10124         (WebCore::JSDOMApplicationCache::mark):
10125         (WebCore::JSDOMApplicationCache::addEventListener):
10126         (WebCore::JSDOMApplicationCache::removeEventListener):
10127         (WebCore::JSDOMApplicationCache::setOnchecking):
10128         (WebCore::JSDOMApplicationCache::onchecking):
10129         (WebCore::JSDOMApplicationCache::setOnerror):
10130         (WebCore::JSDOMApplicationCache::onerror):
10131         (WebCore::JSDOMApplicationCache::setOnnoupdate):
10132         (WebCore::JSDOMApplicationCache::onnoupdate):
10133         (WebCore::JSDOMApplicationCache::setOndownloading):
10134         (WebCore::JSDOMApplicationCache::ondownloading):
10135         (WebCore::JSDOMApplicationCache::setOnprogress):
10136         (WebCore::JSDOMApplicationCache::onprogress):
10137         (WebCore::JSDOMApplicationCache::setOnupdateready):
10138         (WebCore::JSDOMApplicationCache::onupdateready):
10139         (WebCore::JSDOMApplicationCache::setOncached):
10140         (WebCore::JSDOMApplicationCache::oncached):
10141         * bindings/js/JSEventTargetNodeCustom.cpp:
10142         (WebCore::JSEventTargetNode::addEventListener):
10143         (WebCore::JSEventTargetNode::removeEventListener):
10144         (WebCore::JSEventTargetNode::getListener):
10145         (WebCore::JSEventTargetNode::setListener):
10146         * bindings/js/JSMessagePortCustom.cpp:
10147         (WebCore::JSMessagePort::mark):
10148         (WebCore::JSMessagePort::addEventListener):
10149         (WebCore::JSMessagePort::removeEventListener):
10150         (WebCore::JSMessagePort::setOnmessage):
10151         (WebCore::JSMessagePort::onmessage):
10152         (WebCore::JSMessagePort::setOnclose):
10153         (WebCore::JSMessagePort::onclose):
10154         * bindings/js/JSXMLHttpRequestCustom.cpp:
10155         (WebCore::JSXMLHttpRequest::mark):
10156         (WebCore::JSXMLHttpRequest::onreadystatechange):
10157         (WebCore::JSXMLHttpRequest::setOnreadystatechange):
10158         (WebCore::JSXMLHttpRequest::onabort):
10159         (WebCore::JSXMLHttpRequest::setOnabort):
10160         (WebCore::JSXMLHttpRequest::onerror):
10161         (WebCore::JSXMLHttpRequest::setOnerror):
10162         (WebCore::JSXMLHttpRequest::onload):
10163         (WebCore::JSXMLHttpRequest::setOnload):
10164         (WebCore::JSXMLHttpRequest::onloadstart):
10165         (WebCore::JSXMLHttpRequest::setOnloadstart):
10166         (WebCore::JSXMLHttpRequest::onprogress):
10167         (WebCore::JSXMLHttpRequest::setOnprogress):
10168         (WebCore::JSXMLHttpRequest::addEventListener):
10169         (WebCore::JSXMLHttpRequest::removeEventListener):
10170         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
10171         (WebCore::JSXMLHttpRequestUpload::mark):
10172         (WebCore::JSXMLHttpRequestUpload::onabort):
10173         (WebCore::JSXMLHttpRequestUpload::setOnabort):
10174         (WebCore::JSXMLHttpRequestUpload::onerror):
10175         (WebCore::JSXMLHttpRequestUpload::setOnerror):
10176         (WebCore::JSXMLHttpRequestUpload::onload):
10177         (WebCore::JSXMLHttpRequestUpload::setOnload):
10178         (WebCore::JSXMLHttpRequestUpload::onloadstart):
10179         (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
10180         (WebCore::JSXMLHttpRequestUpload::onprogress):
10181         (WebCore::JSXMLHttpRequestUpload::setOnprogress):
10182         (WebCore::JSXMLHttpRequestUpload::addEventListener):
10183         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
10184         * bindings/scripts/CodeGeneratorJS.pm:
10185         * dom/EventTarget.h:
10186         * dom/EventTargetNode.cpp:
10187         (WebCore::EventTargetNode::associatedFrame):
10188         * dom/EventTargetNode.h:
10189         * dom/EventTargetNode.idl:
10190         * dom/MessagePort.cpp:
10191         (WebCore::MessagePort::associatedFrame):
10192         * dom/MessagePort.h:
10193         (WebCore::MessagePort::setOnmessage):
10194         (WebCore::MessagePort::onmessage):
10195         (WebCore::MessagePort::setOnclose):
10196         (WebCore::MessagePort::onclose):
10197         * dom/MessagePort.idl:
10198         * loader/appcache/DOMApplicationCache.h:
10199         (WebCore::DOMApplicationCache::setOnchecking):
10200         (WebCore::DOMApplicationCache::onchecking):
10201         (WebCore::DOMApplicationCache::setOnerror):
10202         (WebCore::DOMApplicationCache::onerror):
10203         (WebCore::DOMApplicationCache::setOnnoupdate):
10204         (WebCore::DOMApplicationCache::onnoupdate):
10205         (WebCore::DOMApplicationCache::setOndownloading):
10206         (WebCore::DOMApplicationCache::ondownloading):
10207         (WebCore::DOMApplicationCache::setOnprogress):
10208         (WebCore::DOMApplicationCache::onprogress):
10209         (WebCore::DOMApplicationCache::setOnupdateready):
10210         (WebCore::DOMApplicationCache::onupdateready):
10211         (WebCore::DOMApplicationCache::setOncached):
10212         (WebCore::DOMApplicationCache::oncached):
10213         (WebCore::DOMApplicationCache::associatedFrame):
10214         * loader/appcache/DOMApplicationCache.idl:
10215         * svg/EventTargetSVGElementInstance.cpp:
10216         (WebCore::EventTargetSVGElementInstance::associatedFrame):
10217         (WebCore::EventTargetSVGElementInstance::addEventListener):
10218         (WebCore::EventTargetSVGElementInstance::removeEventListener):
10219         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
10220         * svg/EventTargetSVGElementInstance.h:
10221         * xml/XMLHttpRequest.cpp:
10222         (WebCore::XMLHttpRequest::associatedFrame):
10223         * xml/XMLHttpRequest.h:
10224         (WebCore::XMLHttpRequest::setOnreadystatechange):
10225         (WebCore::XMLHttpRequest::onreadystatechange):
10226         (WebCore::XMLHttpRequest::setOnabort):
10227         (WebCore::XMLHttpRequest::onabort):
10228         (WebCore::XMLHttpRequest::setOnerror):
10229         (WebCore::XMLHttpRequest::onerror):
10230         (WebCore::XMLHttpRequest::setOnload):
10231         (WebCore::XMLHttpRequest::onload):
10232         (WebCore::XMLHttpRequest::setOnloadstart):
10233         (WebCore::XMLHttpRequest::onloadstart):
10234         (WebCore::XMLHttpRequest::setOnprogress):
10235         (WebCore::XMLHttpRequest::onprogress):
10236         * xml/XMLHttpRequest.idl:
10237         * xml/XMLHttpRequestUpload.cpp:
10238         (WebCore::XMLHttpRequestUpload::associatedFrame):
10239         * xml/XMLHttpRequestUpload.h:
10240         (WebCore::XMLHttpRequestUpload::setOnabort):
10241         (WebCore::XMLHttpRequestUpload::onabort):
10242         (WebCore::XMLHttpRequestUpload::setOnerror):
10243         (WebCore::XMLHttpRequestUpload::onerror):
10244         (WebCore::XMLHttpRequestUpload::setOnload):
10245         (WebCore::XMLHttpRequestUpload::onload):
10246         (WebCore::XMLHttpRequestUpload::setOnloadstart):
10247         (WebCore::XMLHttpRequestUpload::onloadstart):
10248         (WebCore::XMLHttpRequestUpload::setOnprogress):
10249         (WebCore::XMLHttpRequestUpload::onprogress):
10250         * xml/XMLHttpRequestUpload.idl:
10252 2008-09-30  Darin Adler  <darin@apple.com>
10254         - roll out assertion breaking regression tests
10256         * platform/ScrollView.cpp:
10257         (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
10258         that fires in regression tests. Hyatt can add it back later. The assertion
10259         fires in the regression test because of layout that triggers repaint occuring
10260         during the process of removing a frame.
10262 2008-09-30  Adele Peterson  <adele@apple.com>
10264         Reviewed by Darin Adler.
10266         Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
10267         <rdar://problem/6222134> add a way to set color for input placeholder text
10269         Test: fast/forms/placeholder-pseudo-style.html
10271         This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
10272         input elements when they are displaying the placeholder text.
10274         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
10275         * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
10276         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
10277         Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
10278         * css/html4.css: Add rule to make placeholder text default to darkGray.
10280         * html/HTMLInputElement.cpp:
10281         (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
10282         (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
10283         (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
10284         (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
10285         (WebCore::HTMLInputElement::setValue): ditto.
10286         (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
10287         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
10288          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
10289          renderer will just ask the node if it should draw the placeholder.
10290         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
10292         * rendering/RenderTextControl.cpp:
10293         (WebCore::disabledTextColor): Moved to the top of the file.  If there's not very much contrast between the disabled color and the background color,
10294         just leave the text color alone.  We don't want to change a good contrast color scheme so that it has really bad contrast.
10295         If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
10296         (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
10297         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
10298         is called directly from updateFromElement.  updateFromElement will immediately update the text displayed.
10299         (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
10300         (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state.  This is now done in HTMLInputElement.
10301         * rendering/RenderTextControl.h:
10303 2008-09-30  Beth Dakin  <bdakin@apple.com>
10305         Reviewed by Darin Adler.
10307         Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused 
10308         by failed allocation due to invalid counter/attr
10309         and corresponding: <rdar://problem/6152371>
10311         * css/CSSParser.cpp:
10312         (WebCore::CSSParser::parseCounterContent): The spec indicates that 
10313         only identifiers should be accepted here.
10315 2008-09-30  Kevin McCullough  <kmccullough@apple.com>
10317         Reviewed by Oliver Hunt.
10319         Bug 21255: console.profileEnd() without a console.profile() crashes the
10320         web inspector
10322         * page/Console.cpp:
10323         (WebCore::Console::profileEnd):
10325 2008-09-30  Kevin McCullough  <kmccullough@apple.com>
10327         Reviewed by Tim Hatcher.
10329         Bug 21252: calling console.profile() with a title that is 2 chars or
10330         shorter does not linkify it
10332         - Previously we tried to not linkify very short URLs but since profile
10333         titles can be any length this is not always true.
10335         * page/inspector/inspector.js:
10337 2008-09-30  Dave Hyatt  <hyatt@apple.com>
10339         Remove the update() method on ScrollView.  This method was only called in one place, and its purpose
10340         was to cause a display/flush to happen.  Here is a breakdown of the method use on each platform:
10341         (1) Not used on Mac
10342         (2) Used on Windows
10343         (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
10344         (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
10345         (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
10346         
10347         There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
10348         cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
10349         With the changes to this method, the new behavior is as follows:
10350         (1) Not used on Mac
10351         (2) Used on Windows
10352         (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
10353         (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
10354         (5) Not used on wx
10355         
10356         This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
10357         platforms.  At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
10358         
10359         Reviewed by Sam Weinig
10361         * ChangeLog:
10362         * dom/Document.cpp:
10363         (WebCore::Document::implicitClose):
10364         * platform/HostWindow.h:
10365         (WebCore::HostWindow::paint):
10366         * platform/ScrollView.h:
10367         * platform/gtk/ScrollViewGtk.cpp:
10368         * platform/mac/ScrollViewMac.mm:
10369         * platform/qt/ScrollViewQt.cpp:
10370         * platform/win/ScrollViewWin.cpp:
10371         * platform/wx/ScrollViewWx.cpp:
10373 2008-09-30  Timothy Hatcher  <timothy@apple.com>
10375         Focus the DOM tree in the Web Inspector when a node is inspected.
10376         So when the search field has focus, the focus moves to the tree,
10377         allowing the arrow keys work. This can happen when using the new
10378         find in page feature.
10380         https://bugs.webkit.org/show_bug.cgi?id=21251
10382         Reviewed by Geoff Garen.
10384         * page/inspector/ElementsPanel.js:
10385         (WebInspector.ElementsPanel): Set currentFocusElement to
10386         the main-panels element if the panel is visible.
10387         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
10388         Remove a set of currentFocusElement since this moved.
10389         * page/inspector/inspector.js:
10390         (WebInspector.set currentFocusElement): Always focus the element.
10391         This ensures that when focus changes in the page and we don't
10392         catch it, we will still focus the elements even if we think it
10393         was already focused.
10395 2008-09-30  Timothy Hatcher  <timothy@apple.com>
10397         Make the Web Inspector's toolbar icons darker when the mouse is
10398         pressed on them. This matches the standard NSToolbar look.
10400         https://bugs.webkit.org/show_bug.cgi?id=21249
10401         rdar://problem/6033752
10403         Reviewed by Adam Roben.
10405         * page/inspector/Images/databasesIcon.png:
10406         * page/inspector/Images/elementsIcon.png:
10407         * page/inspector/Images/profilesIcon.png:
10408         * page/inspector/Images/resourcesIcon.png:
10409         * page/inspector/Images/scriptsIcon.png:
10410         * page/inspector/Panel.js:
10411         * page/inspector/inspector.css:
10413 2008-09-30  Kevin McCullough  <kmccullough@apple.com>
10415         Reviewed by Tim Hatcher.
10417         Bug 21139: Profiler log message is wrong
10418         - Correctly fix =(
10419         Don't call _format twice.
10421         * page/Page.h:
10422         * page/inspector/Console.js:
10423         * page/inspector/ProfilesPanel.js:
10424         * page/inspector/inspector.js:
10426 2008-09-30  Dave Hyatt  <hyatt@apple.com>
10428         http://bugs.webkit.org/show_bug.cgi?id=21250
10429         
10430         Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
10431         repaints up through the ChromeClient.
10433         Reviewed by Darin Adler
10435         * loader/EmptyClients.h:
10436         (WebCore::EmptyChromeClient::repaint):
10437         * page/Chrome.cpp:
10438         (WebCore::Chrome::repaint):
10439         * page/Chrome.h:
10440         * page/ChromeClient.h:
10441         * page/FrameView.cpp:
10442         (WebCore::FrameView::hostWindow):
10443         (WebCore::FrameView::repaintContentRectangle):
10444         * page/FrameView.h:
10445         * platform/HostWindow.h:
10446         * platform/ScrollView.cpp:
10447         (WebCore::ScrollView::repaintContentRectangle):
10448         (WebCore::ScrollView::platformRepaintContentRectangle):
10449         * platform/ScrollView.h:
10450         * platform/gtk/ScrollViewGtk.cpp:
10451         * platform/mac/ScrollViewMac.mm:
10452         (WebCore::ScrollView::platformRepaintContentRectangle):
10453         * platform/qt/ScrollViewQt.cpp:
10454         * platform/win/ScrollViewWin.cpp:
10455         * platform/wx/ScrollViewWx.cpp:
10456         (WebCore::ScrollView::platformRepaintContentRectangle):
10458 2008-09-30  Alexey Proskuryakov  <ap@webkit.org>
10460         Non-Mac build fixes.
10462         * GNUmakefile.am:
10463         * WebCore.pro:
10464         * WebCore.vcproj/WebCore.vcproj:
10465         * WebCoreSources.bkl:
10466         * webcore-base.bkl:
10467         Added DOMProtect.{cpp,h}.
10469 2008-09-39  Kevin Decker  <kdecker@apple.com>
10471         Reviewed by John Sullivan.
10473         * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
10474         for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
10476 2008-09-29  Julien Chaffraix  <jchaffraix@webkit.org>
10478         Reviewed by Maciej Stachowiak.
10480         Bug 21106: .in format discussed changes
10481         https://bugs.webkit.org/show_bug.cgi?id=21106
10483         - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
10484         is the only namespace used.
10486         - Removed "generateFactory" and "generateWrapperFactory" parameters and
10487         re-introduced the command line options.
10489         - Cleaned up the output of make_names.pl (removed unneeded new line).
10491         * DerivedSources.make: Added factories command line options.
10492         * GNUmakefile.am: Ditto.
10493         * WebCore.pro: Ditto and removed some arguments that were migrated to
10494         the .in files.
10496         * dom/make_names.pl: Clean up (see above).
10498         * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
10499         and "generateWrapperFactory" occurences.
10500         * html/HTMLTagNames.in: Ditto.
10501         * svg/svgattrs.in: Ditto.
10502         * svg/svgtags.in: Ditto.
10503         * svg/xlinkattrs.in: Ditto.
10504         * xml/xmlattrs.in: Ditto.
10506 2008-09-29  Chris Fleizach  <cfleizach@apple.com>
10508         Reviewed by John Sullivan.
10510         <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
10511         Make sure that certain types of elements do not return children and, moreover, do not waste their
10512         energy trying to return children
10514         Test: accessibility/nochildren-elements.html
10516         * page/AccessibilityObject.h:
10517         (WebCore::AccessibilityObject::canHaveChildren):
10518         * page/AccessibilityRenderObject.cpp:
10519         (WebCore::AccessibilityRenderObject::canHaveChildren):
10520         (WebCore::AccessibilityRenderObject::addChildren):
10521         * page/AccessibilityRenderObject.h:
10523 2008-09-30  Alexey Proskuryakov  <ap@webkit.org>
10525         Reviewed by Sam Weinig.
10527         https://bugs.webkit.org/show_bug.cgi?id=21213
10528         MessagePort crash when GC collects an object with a pending close event
10530         Test: fast/events/message-channel-gc-2.html
10531               fast/events/message-channel-listener-circular-ownership.html
10533         * bindings/DOMProtect.cpp: Added.
10534         (WebCore::gcProtectDOMObject):
10535         (WebCore::gcUnprotectDOMObject):
10536         * bindings/DOMProtect.h: Added.
10537         Added an abstraction for GC protection to avoid the need to call JS bindings code from
10538         DOM objects directly.
10540         * dom/MessagePort.cpp:
10541         (WebCore::CloseMessagePortTimer::fired):
10542         (WebCore::MessagePort::queueCloseEvent):
10543         GC protect MessagePort wrapper while there is a pending close event.
10544         This may be necessary for message events, too, but that case is not a crasher, and actually
10545         behaves to the letter of the current HTML5 text, so I'll consider it later.
10547         * xml/XMLHttpRequest.cpp:
10548         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
10549         (WebCore::XMLHttpRequest::dropProtection):
10550         Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
10552         * bindings/js/JSMessagePortCustom.cpp:
10553         (WebCore::JSMessagePort::addEventListener):
10554         (WebCore::JSMessagePort::removeEventListener):
10555         (WebCore::JSMessagePort::setOnmessage):
10556         (WebCore::JSMessagePort::setOnclose):
10557         Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
10558         know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
10560         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
10561         (WebCore::JSXMLHttpRequestUpload::mark):
10562         While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
10563         from XMLHttpRequest.
10565 2008-09-30  Adam Roben  <aroben@apple.com>
10567         Windows build fix
10569         * DerivedSources.cpp: Add JSEventTargetNode.cpp.
10571 2008-09-29  Sam Weinig  <sam@webkit.org>
10573         Reviewed by Tim Hatcher.
10575         Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
10576         Autogenerate JS event listeners
10578         - Generate EventTargetNode.
10580         * DerivedSources.make:
10581         * GNUmakefile.am:
10582         * WebCore.pro:
10583         * WebCore.vcproj/WebCore.vcproj:
10584         * WebCore.xcodeproj/project.pbxproj:
10585         * WebCoreSources.bkl:
10586         * bindings/js/JSEventListener.cpp:
10587         * bindings/js/JSEventTarget.cpp: Added.
10588         (WebCore::toJS):
10589         * bindings/js/JSEventTarget.h: Added.
10590         * bindings/js/JSEventTargetBase.cpp: Removed.
10591         * bindings/js/JSEventTargetBase.h:
10592         * bindings/js/JSEventTargetNode.cpp: Removed.
10593         * bindings/js/JSEventTargetNode.h: Removed.
10594         * bindings/js/JSEventTargetNodeCustom.cpp: Added.
10595         (WebCore::JSEventTargetNode::addEventListener):
10596         (WebCore::JSEventTargetNode::removeEventListener):
10597         (WebCore::JSEventTargetNode::dispatchEvent):
10598         (WebCore::JSEventTargetNode::getListener):
10599         (WebCore::JSEventTargetNode::setListener):
10600         (WebCore::JSEventTargetNode::pushEventHandlerScope):
10601         * bindings/js/JSEventTargetSVGElementInstance.cpp:
10602         (WebCore::):
10603         (WebCore::JSEventTargetSVGElementInstancePrototype::self):
10604         (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
10605         (jsEventTargetAddEventListener):
10606         (jsEventTargetRemoveEventListener):
10607         (jsEventTargetDispatchEvent):
10608         * bindings/js/JSEventTargetSVGElementInstance.h:
10609         (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
10610         (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
10611         * bindings/scripts/CodeGeneratorJS.pm:
10612         * dom/EventTargetNode.idl: Added.
10614 2008-09-29  Darin Adler  <darin@apple.com>
10616         Reviewed by Sam Weinig.
10618         - https://bugs.webkit.org/show_bug.cgi?id=21214
10619           work on getting rid of ExecState
10621         * bindings/js/JSDOMWindowBase.cpp:
10622         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
10623         for base class constructor.
10625 2008-09-29  David Hyatt  <hyatt@apple.com>
10627         Add the new HostWindow base class.  A HostWindow hosts a hierarchy of Widgets.  The Chrome object on Page
10628         now subclasses from HostWindow.  The new class will allow objects in platform/ like Widgets, Scrollbars
10629         and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
10630         (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
10632         Reviewed by Sam Weinig
10634         * WebCore.xcodeproj/project.pbxproj:
10635         * page/Chrome.h:
10636         * platform/HostWindow.h: Added.
10637         (WebCore::HostWindow::HostWindow):
10638         (WebCore::HostWindow::~HostWindow):
10640 2008-09-29  Kevin Decker  <kdecker@apple.com>
10642         Reviewed by Anders Carlsson.
10644         * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool,  NPNVsupportsCarbonBool are now in the 3000 range instead of 
10645         2000. 
10647 2008-09-29  Dan Bernstein  <mitz@apple.com>
10649         Reviewed by Adam Roben.
10651         - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
10653         * rendering/RenderThemeWin.cpp:
10654         (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
10655         (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
10656         unloaded, to avoid calling uxtheme.dll functions after that library has
10657         been unloaded.
10658         * rendering/RenderThemeWin.h:
10660 2008-09-29  Chris Fleizach  <cfleizach@apple.com>
10662         Reviewed by John Sullivan
10664         <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
10666         Sends AXLoadComplete only when the top level web area is finished loading
10668         * dom/Document.cpp:
10669         (WebCore::Document::implicitClose):
10671 2008-09-29  Timothy Hatcher  <timothy@apple.com>
10673         Makes the node highlight always show up when hovering a node in
10674         the Web Inspector now that the highlight does not scroll to reveal
10675         the node. Also adds a hover effect in the inspector when hovering
10676         causes a highlight in the page. This ties the user hovering action
10677         to the highlight so it is clear what causes the highlight to appear.
10679         Also the highlight now temporarily shows up for 2 seconds after
10680         selecting a node in the DOM tree. So arrowing around in the tree
10681         will show the node on the page, providing feedback to the user.
10683         Plus fixes an issue where quickly moving away from hovering
10684         a node would keep showing the page highlight. This was happening
10685         in breadcrumbs and the DOM tree.
10687         https://bugs.webkit.org/show_bug.cgi?id=21220
10689         Reviewed by Kevin McCullough.
10691         * page/inspector/Console.js:
10692         (WebInspector.Console.prototype._mouseOverNode): Added. Used for
10693         hovering DOM nodes in the console.
10694         (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
10695         (WebInspector.Console.prototype._formatnode): Use the new event
10696         listeners and add a class name to the anchor element.
10697         * page/inspector/ElementsPanel.js:
10698         (WebInspector.ElementsPanel): Add new event listeners to the
10699         crumbs element to do the node hovering highlight.
10700         (WebInspector.ElementsPanel.prototype.hide):
10701         (WebInspector.ElementsPanel.prototype.reset):
10702         (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
10703         (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
10704         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
10705         * page/inspector/ElementsTreeOutline.js:
10706         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
10707         Show the node hishlight for 2 seconds then restore the highlight
10708         to the current hovered node.
10709         (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
10710         hovered node and set the hovered state on the tree element.
10711         (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
10712         hovered node to null and removed the hovered state from the previous
10713         hovered tree element.
10714         (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
10715         the hovered class to the list item.
10716         (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
10717         * page/inspector/inspector.css:
10718         * page/inspector/inspector.js:
10719         (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
10720         based on the showingDOMNodeHighlight property of 50ms or 500ms. This
10721         causes the highlight to change sooner if there is one already showing
10722         and appear later if there isn't one showing. This is like tooltips,
10723         hovering a node for 500ms will cause highlight then mousing between nodes
10724         will keep the highlight and change to the new node.
10725         (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
10726         always reset the timeout so continuous mousing does not keep flasshing
10727         the highlight on the screen.
10728         (WebInspector._updateHoverHighlight): Removed the alt key check and added
10729         the showingDOMNodeHighlight property.
10730         (WebInspector.documentKeyDown): Removed the alt key check.
10731         (WebInspector.documentKeyUp): Ditto.
10732         (WebInspector.reset): Clear the hoveredDOMNode.
10734 2008-09-29  Simon Fraser  <simon.fraser@apple.com>
10736         Reviewed by Anders Carlsson
10738         Fix RenderStyle leak in animation code, and assert that 
10739         keyframe resolution in CSSStyleSelector is not going to clobber
10740         m_style.
10742         * css/CSSStyleSelector.cpp:
10743         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
10744         * page/animation/KeyframeAnimation.cpp:
10745         (WebCore::KeyframeAnimation::~KeyframeAnimation):
10747 2008-09-29  Chris Marrin  <cmarrin@apple.com>
10749         Reviewed by Dave Hyatt
10751         Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
10752         Rewrite keyframe resolution to be like styleForElement()
10753         
10754         Test: animations/lineheight-animation.html
10756         * css/CSSStyleSelector.cpp:
10757         (WebCore::CSSStyleSelector::addKeyframeStyle):
10758         (WebCore::CSSStyleSelector::~CSSStyleSelector):
10759         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
10760         (WebCore::CSSRuleSet::addRulesFromSheet):
10761         (WebCore::CSSStyleSelector::mapAnimationName):
10762         * css/CSSStyleSelector.h:
10763         * page/animation/CompositeAnimation.cpp:
10764         (WebCore::CompositeAnimation::updateKeyframeAnimations):
10765         * page/animation/KeyframeAnimation.cpp:
10766         (WebCore::KeyframeAnimation::KeyframeAnimation):
10767         (WebCore::KeyframeAnimation::animate):
10768         (WebCore::KeyframeAnimation::hasAnimationForProperty):
10769         (WebCore::KeyframeAnimation::sendAnimationEvent):
10770         (WebCore::KeyframeAnimation::overrideAnimations):
10771         (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
10772         (WebCore::KeyframeAnimation::affectsProperty):
10773         (WebCore::KeyframeAnimation::validateTransformFunctionList):
10774         * page/animation/KeyframeAnimation.h:
10775         * rendering/style/Animation.cpp:
10776         (WebCore::Animation::animationsMatch):
10777         * rendering/style/Animation.h:
10778         * rendering/style/KeyframeList.cpp:
10779         (WebCore::KeyframeList::~KeyframeList):
10780         (WebCore::KeyframeList::clear):
10781         (WebCore::KeyframeList::insert):
10782         * rendering/style/KeyframeList.h:
10783         (WebCore::KeyframeValue::KeyframeValue):
10784         (WebCore::KeyframeList::KeyframeList):
10785         (WebCore::KeyframeList::operator!=):
10786         (WebCore::KeyframeList::animationName):
10787         (WebCore::KeyframeList::addProperty):
10788         (WebCore::KeyframeList::containsProperty):
10789         (WebCore::KeyframeList::beginProperties):
10790         (WebCore::KeyframeList::endProperties):
10791         (WebCore::KeyframeList::isEmpty):
10792         (WebCore::KeyframeList::size):
10793         (WebCore::KeyframeList::beginKeyframes):
10794         (WebCore::KeyframeList::endKeyframes):
10795         * rendering/style/RenderStyle.h:
10796         * rendering/style/StyleRareNonInheritedData.cpp:
10797         * rendering/style/StyleRareNonInheritedData.h:
10799 2008-09-29  Chris Marrin  <cmarrin@apple.com>
10801         Reviewed by Eric Seidel
10803         Clean up fix in PropertyWrapperGetter::equals
10804         https://bugs.webkit.org/show_bug.cgi?id=21011
10805         
10806         Test: transitions/override-transition-crash.html
10808         * page/animation/AnimationBase.cpp:
10809         (WebCore::PropertyWrapperGetter::equals):
10810         * page/animation/CompositeAnimation.cpp:
10811         (WebCore::CompositeAnimation::updateTransitions):
10813 2008-09-29  Chris Marrin  <cmarrin@apple.com>
10815         Reviewed by Eric Seidel
10817         https://bugs.webkit.org/show_bug.cgi?id=21001
10818         Starting transition after animation, when animation
10819         is finished, transition is wrong.
10821         Test: animations/transition-and-animation-2.html
10823         * page/animation/AnimationBase.h:
10824         * page/animation/CompositeAnimation.cpp:
10825         (WebCore::CompositeAnimation::updateTransitions):
10826         (WebCore::CompositeAnimation::updateKeyframeAnimations):
10827         (WebCore::CompositeAnimation::resetTransitions):
10828         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
10829         * page/animation/ImplicitAnimation.cpp:
10830         (WebCore::ImplicitAnimation::ImplicitAnimation):
10831         (WebCore::ImplicitAnimation::~ImplicitAnimation):
10832         (WebCore::ImplicitAnimation::animate):
10833         (WebCore::ImplicitAnimation::reset):
10834         * page/animation/ImplicitAnimation.h:
10836 2008-09-29  Chris Marrin  <cmarrin@apple.com>
10838         Reviewed by Sam Weinig
10840         https://bugs.webkit.org/show_bug.cgi?id=20921
10841         -webkit-animation-timing-function: inside of keyframes is ignored
10843         Test: animations/keyframe-timing-functions.html
10845         * page/animation/AnimationBase.cpp:
10846         (WebCore::AnimationBase::progress):
10847         * page/animation/AnimationBase.h:
10848         * page/animation/ImplicitAnimation.cpp:
10849         (WebCore::ImplicitAnimation::animate):
10850         * page/animation/KeyframeAnimation.cpp:
10851         (WebCore::KeyframeAnimation::animate):
10853 2008-09-29  Dan Bernstein  <mitz@apple.com>
10855         - Windows build fix
10857         * platform/ScrollView.cpp:
10858         (WebCore::ScrollView::platformScroll):
10860 2008-09-29  Dan Bernstein  <mitz@apple.com>
10862         - another attempt at a Windows build fix
10864         * platform/ScrollView.cpp:
10865         (WebCore::platformScroll):
10867 2008-09-29  Dan Bernstein  <mitz@apple.com>
10869         - Windows build fix
10871         * platform/ScrollView.cpp:
10872         (WebCore::ScrollView::platformSetScrollPosition):
10874 2008-09-29  David Hyatt  <hyatt@apple.com>
10876         https://bugs.webkit.org/show_bug.cgi?id=21218
10878         Accidentally removed a check to see if the scrollbar modes were equal.  This caused a crash on Windows.
10879         It's silly that the code was this fragile, but for now just put the check back in.
10881         Reviewed by Dan Bernstein
10883         * platform/ScrollView.cpp:
10884         (WebCore::ScrollView::setScrollbarModes):
10886 2008-09-29  David Hyatt  <hyatt@apple.com>
10888         https://bugs.webkit.org/show_bug.cgi?id=21216
10890         Make setScrollPosition and scroll() cross-platform.
10892         Reviewed by Anders
10894         * platform/ScrollView.cpp:
10895         (WebCore::ScrollView::setScrollPosition):
10896         (WebCore::ScrollView::scroll):
10897         * platform/ScrollView.h:
10898         * platform/gtk/ScrollViewGtk.cpp:
10899         * platform/mac/ScrollViewMac.mm:
10900         (WebCore::ScrollView::platformSetScrollPosition):
10901         (WebCore::ScrollView::platformScroll):
10902         * platform/qt/ScrollViewQt.cpp:
10903         * platform/win/ScrollViewWin.cpp:
10904         * platform/wx/ScrollViewWx.cpp:
10905         (WebCore::ScrollView::platformSetScrollPosition):
10906         (WebCore::ScrollView::platformScroll):
10908 2008-09-29  Kevin McCullough  <kmccullough@apple.com>
10910         Reviewed by Oliver.
10912         Bug 21139: Profiler log message is wrong
10913         - Because _format was called twice the number in the log was incremented
10914         too many times, but we were passing it around in the link the whole time
10916         * page/inspector/ProfilesPanel.js:
10917         * page/inspector/inspector.js:
10919 2008-09-29  Sam Weinig  <sam@webkit.org>
10921         Reviewed by Cameron Zwarich.
10923         Autogenerate EventListeners, addEventListener and removeEventListener
10924         for JSDOMWindow.
10926         * bindings/js/JSDOMWindowBase.cpp:
10927         * bindings/js/JSDOMWindowBase.h:
10928         * bindings/js/JSDOMWindowCustom.cpp:
10929         (WebCore::JSDOMWindow::onwebkitanimationstart):
10930         (WebCore::JSDOMWindow::setOnwebkitanimationstart):
10931         (WebCore::JSDOMWindow::onwebkitanimationiteration):
10932         (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
10933         (WebCore::JSDOMWindow::onwebkitanimationend):
10934         (WebCore::JSDOMWindow::setOnwebkitanimationend):
10935         (WebCore::JSDOMWindow::onwebkittransitionend):
10936         (WebCore::JSDOMWindow::setOnwebkittransitionend):
10937         (WebCore::JSDOMWindow::addEventListener):
10938         (WebCore::JSDOMWindow::removeEventListener):
10939         (WebCore::JSDOMWindow::setListener):
10940         (WebCore::JSDOMWindow::getListener):
10941         * bindings/scripts/CodeGeneratorJS.pm:
10942         * page/DOMWindow.idl:
10944 2008-09-29  Thiago Macieira  <thiago.macieira@nokia.com>
10946         Reviewed by Simon.
10948         Changed copyright from Trolltech ASA to Nokia.
10950         Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
10952         * bindings/js/JSMimeTypeArrayCustom.cpp:
10953         * bindings/js/JSNavigatorCustom.cpp:
10954         * bindings/js/JSPluginArrayCustom.cpp:
10955         * bindings/js/JSPluginCustom.cpp:
10956         * bindings/js/ScriptControllerMac.mm:
10957         * bindings/js/ScriptControllerQt.cpp:
10958         * bridge/qt/qt_class.cpp:
10959         * bridge/qt/qt_class.h:
10960         * bridge/qt/qt_instance.cpp:
10961         * bridge/qt/qt_instance.h:
10962         * bridge/qt/qt_runtime.cpp:
10963         * bridge/qt/qt_runtime.h:
10964         * bridge/testqtbindings.cpp:
10965         * css/makegrammar.pl:
10966         * css/makeprop.pl:
10967         * css/makevalues.pl:
10968         * dom/Node.cpp:
10969         * dom/TagNodeList.cpp:
10970         * dom/TagNodeList.h:
10971         * dom/XMLTokenizer.cpp:
10972         * dom/XMLTokenizer.h:
10973         * dom/XMLTokenizerLibxml2.cpp:
10974         * dom/XMLTokenizerQt.cpp:
10975         * editing/Editor.cpp:
10976         * editing/EditorCommand.cpp:
10977         * html/CanvasRenderingContext2D.cpp:
10978         * html/CanvasStyle.cpp:
10979         * html/HTMLAppletElement.cpp:
10980         * html/HTMLEmbedElement.cpp:
10981         * html/HTMLObjectElement.cpp:
10982         * loader/FrameLoader.cpp:
10983         * page/Chrome.cpp:
10984         * page/EditorClient.h:
10985         * page/Frame.cpp:
10986         * page/Frame.h:
10987         * page/FramePrivate.h:
10988         * page/Navigator.cpp:
10989         * page/Navigator.h:
10990         * page/Navigator.idl:
10991         * page/mac/FrameMac.mm:
10992         * page/qt/EventHandlerQt.cpp:
10993         * platform/graphics/qt/FontCacheQt.cpp:
10994         * platform/graphics/qt/FontCustomPlatformData.cpp:
10995         * platform/graphics/qt/FontCustomPlatformData.h:
10996         * platform/graphics/qt/FontPlatformData.h:
10997         * platform/graphics/qt/FontQt.cpp:
10998         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
10999         * platform/graphics/qt/GraphicsContextQt.cpp:
11000         * platform/graphics/qt/ImageDecoderQt.cpp:
11001         * platform/graphics/qt/ImageDecoderQt.h:
11002         * platform/graphics/qt/ImageSourceQt.cpp:
11003         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
11004         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
11005         * platform/graphics/qt/SimpleFontDataQt.cpp:
11006         * platform/gtk/MIMETypeRegistryGtk.cpp:
11007         * platform/mac/MIMETypeRegistryMac.mm:
11008         * platform/network/qt/QNetworkReplyHandler.cpp:
11009         * platform/network/qt/QNetworkReplyHandler.h:
11010         * platform/network/qt/ResourceHandleQt.cpp:
11011         * platform/network/qt/ResourceRequestQt.cpp:
11012         * platform/qt/ClipboardQt.cpp:
11013         * platform/qt/EventLoopQt.cpp:
11014         * platform/qt/KURLQt.cpp:
11015         * platform/qt/LoggingQt.cpp:
11016         * platform/qt/MIMETypeRegistryQt.cpp:
11017         * platform/qt/PasteboardQt.cpp:
11018         * platform/qt/PlatformScreenQt.cpp:
11019         * platform/qt/PopupMenuQt.cpp:
11020         * platform/qt/QWebPopup.cpp:
11021         * platform/qt/QWebPopup.h:
11022         * platform/qt/RenderThemeQt.cpp:
11023         * platform/qt/ScrollbarQt.cpp:
11024         * platform/qt/ScrollbarThemeQt.cpp:
11025         * platform/qt/WheelEventQt.cpp:
11026         * platform/qt/html4-adjustments-qt.css:
11027         * platform/wx/MimeTypeRegistryWx.cpp:
11028         * plugins/MimeType.cpp:
11029         * plugins/MimeType.h:
11030         * plugins/MimeType.idl:
11031         * plugins/MimeTypeArray.cpp:
11032         * plugins/MimeTypeArray.h:
11033         * plugins/MimeTypeArray.idl:
11034         * plugins/Plugin.cpp:
11035         * plugins/Plugin.h:
11036         * plugins/Plugin.idl:
11037         * plugins/PluginArray.cpp:
11038         * plugins/PluginArray.h:
11039         * plugins/PluginArray.idl:
11040         * plugins/PluginData.cpp:
11041         * plugins/PluginData.h:
11042         * plugins/gtk/PluginDataGtk.cpp:
11043         * plugins/mac/PluginDataMac.mm:
11044         * plugins/qt/PluginDataQt.cpp:
11045         * plugins/win/PluginDataWin.cpp:
11046         * rendering/RenderTableCol.cpp:
11047         * rendering/RenderTableCol.h:
11049 2008-09-29  Thiago Macieira  <thiago.macieira@trolltech.com>
11051         Reviewed by Simon
11053         Fix compilation with gcc 4.3
11055          gcc 4.3 is stricter and ctype.h isn't getting included
11056         automatically here by dependencies. So do it directly.
11058         * platform/qt/PlatformKeyboardEventQt.cpp:
11060 2008-09-29  Morten Sørvig  <msorvig@trolltech.com>
11062         Reviewed by Simon.
11064         Fix compilation with Qt/Mac without plugins.
11066         * platform/qt/TemporaryLinkStubs.cpp:
11068 2008-09-29  Mark Rowe  <mrowe@apple.com>
11070         Reviewed by Sam Weinig.
11072         Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
11073         In the few places that we call .upper() in WebCore the strings represent things like
11074         tag and attribute names, which are nearly always going to be ASCII.
11076         * platform/text/StringImpl.cpp:
11077         (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
11078         in to Unicode::toLower the second time.
11079         (WebCore::StringImpl::upper):
11081 2008-09-28  Mark Rowe  <mrowe@apple.com>
11083         Reviewed by Sam Weinig.
11085         Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
11086         rather than String::operator+=.
11088         * css/CSSPrimitiveValue.cpp:
11089         (WebCore::CSSPrimitiveValue::cssText):
11091 2008-09-28  Mark Rowe  <mrowe@apple.com>
11093         Reviewed by Oliver Hunt.
11095         Speed up computedStyle.getPropertyValue('color') by 4.5x.
11097         Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
11098         as it avoids many memory reallocations.
11100         This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
11101         by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
11102         unrelated properties on an element.
11104         * css/CSSPrimitiveValue.cpp:
11105         (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
11106         and use appendNumber rather than the String::number in order to cut down on memory allocations.
11107         * platform/text/PlatformString.h:
11108         (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
11109         into a Vector<UChar>.
11111 2008-09-28  Sam Weinig  <sam@webkit.org>
11113         Reviewed by Anders Carlsson.
11115         Remove spurious call to lower().
11117         * css/MediaQueryEvaluator.cpp:
11118         (WebCore::MediaQueryEvaluator):
11120 2008-09-28  Sam Weinig  <sam@webkit.org>
11122         Reviewed by Dan Bernstein.
11124         Use a CaseFoldingHash instead of calling lower on family strings.
11126         * css/CSSFontSelector.cpp:
11127         (WebCore::CSSFontSelector::addFontFaceRule):
11128         (WebCore::CSSFontSelector::getFontData):
11129         * css/CSSFontSelector.h:
11131 2008-09-28  Timothy Hatcher  <timothy@apple.com>
11133         Remove the scrollIntoViewIfNeeded() call when drawing the
11134         Inspector node highlight.
11136         <rdar://problem/6115804> Don't scroll when highlighting (21000)
11137         https://bugs.webkit.org/show_bug.cgi?id=21000
11139         Reviewed by Dan Bernstein.
11141         * page/InspectorController.cpp:
11142         (WebCore::InspectorController::drawNodeHighlight):
11144 2008-09-28  David Hyatt  <hyatt@apple.com>
11146         Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
11147         changed.
11149         Reviewed by Dan Bernstein
11151         * platform/mac/ScrollbarThemeMac.mm:
11152         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
11154 2008-09-28  Timothy Hatcher  <timothy@apple.com>
11156         Clear the current search results in the Inspector when
11157         the search query is less than 3 characters long. Incremental
11158         searches only occur for 3 characters or longer, but deleting
11159         under this limit would not clear the results unless the whole
11160         query was deleted.
11162         https://bugs.webkit.org/show_bug.cgi?id=21196
11164         Reviewed by Dan Bernstein.
11166         * page/inspector/inspector.js:
11167         (WebInspector.performSearch): Check for short queries in the
11168         if statement that triggers the clear.
11170 2008-09-28  Dan Bernstein  <mitz@apple.com>
11172         Reviewed by Dave Hyatt.
11174         - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
11176         * platform/graphics/win/FontCustomPlatformData.cpp:
11177         (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
11178         overlayLength parameters.
11179         (WebCore::EOTStream::read): Added code to overlay the
11180         m_overlayLength bytes starting at m_overlayDst with the same number of
11181         bytes from m_overlaySrc.
11182         (WebCore::createFontCustomPlatformData): Changed to get overlay
11183         parameters from getEOTHeader.
11184         * platform/graphics/win/GetEOTHeader.cpp:
11185         (WebCore::getEOTHeader): Added code to specify overlaying of the
11186         family name with the prefix of the full name if they differ, because
11187         that such a difference causes TTLoadEmbeddedFont to fail.
11188         * platform/graphics/win/GetEOTHeader.h:
11190 2008-09-28  Alexey Proskuryakov  <ap@webkit.org>
11192         Reviewed by Eric Seidel.
11194         https://bugs.webkit.org/show_bug.cgi?id=20366
11195         Reproducible test failure for editing/undo/undo-iframe-location-change.html
11197         * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
11199 2008-09-28  Darin Adler  <darin@apple.com>
11201         Reviewed by Sam Weinig (except for a few comment and header tweaks).
11203         - https://bugs.webkit.org/show_bug.cgi?id=21158
11204           reduce use of virtual functions in Node for speed
11206         Speeds up Dromaeo a bit less than 1%.
11208         * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
11209         Node.h now that some inlines are in there.
11211         * dom/Attr.h: Override both the virtual and non-virtual name functions.
11213         * dom/ChildNodeList.cpp:
11214         (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
11215         * dom/ChildNodeList.h: Ditto.
11216         * dom/ClassNodeList.cpp:
11217         (WebCore::ClassNodeList::nodeMatches): Ditto.
11218         * dom/ClassNodeList.h: Ditto.
11220         * dom/Document.h: Put the Node::isDocumentNode() function's inline
11221         definition here where it can see the Document class definition.
11223         * dom/DynamicNodeList.cpp:
11224         (WebCore::DynamicNodeList::length): Changed to pass an Element.
11225         (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
11226         (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
11227         (WebCore::DynamicNodeList::itemWithName): Ditto.
11228         * dom/DynamicNodeList.h: Ditto.
11230         * dom/Element.cpp: Removed virtualHasTagName.
11231         * dom/Element.h: Made localName, prefix, namespaceURI, and
11232         styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
11233         virtualNamespaceURI, and removed virtualHasTagName. Put the
11234         Node::hasTagName, Node::hasAttributes, and Node::attributes
11235         functions' inline definitions here where they can see the Element
11236         class definition.
11238         * dom/NameNodeList.cpp:
11239         (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
11240         * dom/NameNodeList.h: Ditto.
11242         * dom/Node.cpp:
11243         (WebCore::Node::virtualPrefix): Renamed from prefix.
11244         (WebCore::Node::virtualLocalName): Renamed from localName.
11245         (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
11246         (WebCore::Node::styleForRenderer): Handle the Element case here.
11248         * dom/Node.h: Removed definition of hasTagName that calls virtual,
11249         since we now have a non-virtual version. Made hasAttributes,
11250         attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
11251         and styleForRenderer non-virtual. Added virtualPrefix,
11252         virtualLocalName, and virtualNamespaceURI. Removed isMalformed
11253         and setMalformed, which are used only on HTMLFormElement objects.
11255         * dom/TagNodeList.cpp:
11256         (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
11257         * dom/TagNodeList.h: Ditto.
11259         * html/HTMLAnchorElement.cpp: Added a comment.
11260         * html/HTMLFormControlElement.cpp: Ditto.
11262         * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
11263         function. Marked tabIndex function virtual explicitly for clarity.
11265         * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
11266         function. Marked isFocusable function virtual explicitly for clarity.
11268         * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
11269         clarity.
11270         * html/HTMLFormControlElement.h: Ditto.
11272         * html/HTMLFormElement.h: Made isMalformed non-virtual.
11274         * html/HTMLParser.cpp:
11275         (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
11276         pointer to call localName since that one does not need to call a virtual
11277         function.
11279         * rendering/RenderBlock.cpp:
11280         (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
11281         calling isMalformed. We already did a tag name check so we know it's
11282         an HTMLFormELement.
11284         * xml/XPathUtil.cpp:
11285         (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
11286         to nodeType(), since it's a virtual function.
11288 2008-09-28  David Hyatt  <hyatt@apple.com>
11290         Make frameRectsChanged() cross-platform on ScrollView.
11292         Reviewed by Oliver Hunt
11294         * platform/ScrollView.cpp:
11295         (WebCore::ScrollView::frameRectsChanged):
11296         * platform/ScrollView.h:
11297         * platform/gtk/ScrollViewGtk.cpp:
11298         * platform/qt/ScrollViewQt.cpp:
11299         * platform/win/ScrollViewWin.cpp:
11300         * platform/wx/ScrollViewWx.cpp:
11302 2008-09-28  Oliver Hunt  <oliver@apple.com>
11304         Reviewed by Maciej Stachowiak.
11306         Bug 21141: REGRESSION: Exception messages for user entered commands are poor
11307         <https://bugs.webkit.org/show_bug.cgi?id=21141>
11309         The bug repsonsible for this was the the JSInspectedObjectWrapper instances
11310         were not initialising their StructureID's to indicate that the wrapper
11311         overrides hasInstance, etc.  The solution is simply to use the createStructureID
11312         helper on JSQuarantinedObjectWrapper to create a correct StructureID.
11314         * bindings/js/JSInspectedObjectWrapper.cpp:
11315         (WebCore::JSInspectedObjectWrapper::wrap):
11317 2008-09-28  David Hyatt  <hyatt@apple.com>
11319         Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
11320         terms of lines.
11322         Reviewed by Oliver Hunt
11324         * dom/EventTargetNode.cpp:
11325         (WebCore::EventTargetNode::dispatchWheelEvent):
11327 2008-09-28  David Hyatt  <hyatt@apple.com>
11329         https://bugs.webkit.org/show_bug.cgi?id=21191
11331         Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
11332         on ScrollView to be cross-platform.
11334         Give the wheel event a concept of granularity (pixel, line or page).  What used to be called continuous
11335         events are now pixel wheel events.
11337         Page scrolling as implemented in bug 17589 was completely broken.  It had the following problems:
11338         (1) Page scrolling has been corrected to be properly detected (on Windows
11339         page wheeling is only done in the vertical direction and it is keyed off a special return value of -1).  The
11340         old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
11341         you could page scroll horizontally.
11342         (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
11343         This caused the scroll amount for page scrolling to be way too large on layers.
11345         Bug 17589 got the default horizontal scrolling value wrong.  It assumed 1, when the Vista default is 3.
11347         Incorporate WebCore's line multiplier right into the deltas of the event.  This eliminates the need
11348         for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
11350         Reviewed by Oliver Hunt
11352         * editing/EditorCommand.cpp:
11353         (WebCore::verticalScrollDistance):
11354         * page/EventHandler.cpp:
11355         (WebCore::scrollAndAcceptEvent):
11356         (WebCore::EventHandler::handleWheelEvent):
11357         * platform/PlatformWheelEvent.h:
11358         (WebCore::):
11359         (WebCore::PlatformWheelEvent::pos):
11360         (WebCore::PlatformWheelEvent::globalPos):
11361         (WebCore::PlatformWheelEvent::deltaX):
11362         (WebCore::PlatformWheelEvent::deltaY):
11363         (WebCore::PlatformWheelEvent::granularity):
11364         (WebCore::PlatformWheelEvent::x):
11365         (WebCore::PlatformWheelEvent::globalX):
11366         (WebCore::PlatformWheelEvent::ignore):
11367         (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
11368         (WebCore::PlatformWheelEvent::verticalLineMultiplier):
11369         * platform/ScrollView.cpp:
11370         (WebCore::ScrollView::wheelEvent):
11371         * platform/Scrollbar.h:
11372         * platform/gtk/ScrollViewGtk.cpp:
11373         (WebCore::ScrollView::updateScrollbars):
11374         * platform/gtk/WheelEventGtk.cpp:
11375         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
11376         * platform/mac/ScrollViewMac.mm:
11377         * platform/mac/WheelEventMac.mm:
11378         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
11379         * platform/qt/ScrollViewQt.cpp:
11380         (WebCore::ScrollView::updateScrollbars):
11381         * platform/qt/WheelEventQt.cpp:
11382         * platform/win/ScrollViewWin.cpp:
11383         (WebCore::ScrollView::updateScrollbars):
11384         * platform/win/WheelEventWin.cpp:
11385         (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
11386         (WebCore::PlatformWheelEvent::verticalLineMultiplier):
11387         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
11388         * platform/wx/ScrollViewWx.cpp:
11389         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
11390         (WebCore::ScrollView::wheelEvent):
11391         * rendering/RenderLayer.cpp:
11392         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
11394 2008-09-27  Eric Carlson  <eric.carlson@apple.com>
11396         Reviewed by Sam Weinig.
11398         fix https://bugs.webkit.org/show_bug.cgi?id=20994
11399         <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
11400         
11401         HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
11402         all unsigned media attributes from string with toUInt() instead of toInt().
11403         
11404         * html/HTMLMediaElement.cpp:
11405         (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
11407         * html/HTMLVideoElement.cpp:
11408         (WebCore::HTMLVideoElement::videoWidth):
11409         (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
11410         (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
11411           unsigned value.
11412         (WebCore::HTMLVideoElement::height): Ditto.
11413         (WebCore::HTMLVideoElement::setWidth): take unsigned value.
11414         (WebCore::HTMLVideoElement::setHeight): Ditto.
11416         * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
11418         * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
11420 2008-09-27  Timothy Hatcher  <timothy@apple.com>
11422         Fixes an exception when typing a command in the Console.
11424         Reviewed by Oliver Hunt.
11426         * page/inspector/Console.js:
11427         (WebInspector.Console.prototype.addMessage): Null check
11428         this.previosMessage.
11430 2008-09-27  Timothy Hatcher  <timothy@apple.com>
11432         Fixes a bug where the Profiles panel sidebar would be empty
11433         after closing and reopening the Web Inspector.
11435         https://bugs.webkit.org/show_bug.cgi?id=21179
11437         Reviewed by Sam Weinig.
11439         * page/inspector/ProfilesPanel.js:
11440         (WebInspector.ProfilesPanel.prototype.reset): Don't call
11441         populateInterface, it is called automatically.
11442         (WebInspector.ProfilesPanel.prototype._populateProfiles):
11443         Return early if the sidebar is already populated.
11445 2008-09-27  Dave Hyatt  <hyatt@apple.com>
11447         Bug 21190.  The line scroll amount on Windows is way too small.  A patch for bug 17589 for wheel sensitivity
11448         incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling.  Line scrolling with the
11449         scrollbar has nothing to do with mouse wheeling.  This patch reverts the scrollbars to use the same line
11450         step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
11452         There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
11453         (which should never have landed in the first place).
11454        
11455         Reviewed by Tim Hatcher, Sam Weinig
11457         * platform/win/ScrollViewWin.cpp:
11458         (WebCore::adjustDeltaForPageScrollMode):
11459         (WebCore::ScrollView::updateScrollbars):
11460         (WebCore::ScrollView::wheelEvent):
11462 2008-09-27  David Hyatt  <hyatt@apple.com>
11464         Make the scrollbarUnderMouse method cross-platform.
11466         Reviewed by Sam Weinig
11468         * platform/ScrollView.cpp:
11469         (WebCore::ScrollView::scrollbarUnderMouse):
11470         * platform/gtk/ScrollViewGtk.cpp:
11471         * platform/mac/ScrollViewMac.mm:
11472         * platform/qt/ScrollViewQt.cpp:
11473         * platform/win/ScrollViewWin.cpp:
11474         * platform/wx/ScrollViewWx.cpp:
11476 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
11478         Gtk+ build fix.
11480         * platform/gtk/ScrollViewGtk.cpp:
11481         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
11483 2008-09-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
11485         Reviewed by Holger Freyther.
11487         https://bugs.webkit.org/show_bug.cgi?id=20287
11488         [Gtk] disable plugins for gtk/directfb target
11490         Introduce WTF_PLATFORM_X11 for X11 builds.
11491         Also use target-specific packages when building the port
11493         * platform/gtk/PlatformScreenGtk.cpp:
11494         * plugins/gtk/PluginViewGtk.cpp:
11495         (WebCore::PluginView::updatePluginWidget):
11496         (WebCore::PluginView::getValueStatic):
11497         (WebCore::PluginView::getValue):
11498         (WebCore::PluginView::init):
11500 2008-09-27  David Hyatt  <hyatt@apple.com>
11502         https://bugs.webkit.org/show_bug.cgi?id=21188
11504         Make scrollbar suppression and resizer avoidance cross-platform.
11506         Reviewed by Anders
11508         * loader/FrameLoader.cpp:
11509         (WebCore::FrameLoader::transitionToCommitted):
11510         * page/FrameView.cpp:
11511         (WebCore::FrameView::resetScrollbars):
11512         (WebCore::FrameView::clear):
11513         (WebCore::FrameView::layout):
11514         (WebCore::FrameView::restoreScrollbar):
11515         (WebCore::FrameView::windowResizerRect):
11516         * page/FrameView.h:
11517         * platform/ScrollView.cpp:
11518         (WebCore::ScrollView::init):
11519         (WebCore::ScrollView::resizerOverlapsContent):
11520         (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
11521         (WebCore::ScrollView::setParent):
11522         (WebCore::ScrollView::setScrollbarsSuppressed):
11523         (WebCore::ScrollView::platformSetScrollbarsSuppressed):
11524         * platform/ScrollView.h:
11525         (WebCore::ScrollView::scrollbarsSuppressed):
11526         (WebCore::ScrollView::windowResizerRect):
11527         * platform/Scrollbar.cpp:
11528         (WebCore::Scrollbar::setFrameRect):
11529         (WebCore::Scrollbar::setParent):
11530         * platform/gtk/ScrollViewGtk.cpp:
11531         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11532         (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
11533         (WebCore::ScrollView::updateScrollbars):
11534         (WebCore::ScrollView::paint):
11535         * platform/mac/ScrollViewMac.mm:
11536         (WebCore::ScrollView::ScrollView):
11537         (WebCore::ScrollView::~ScrollView):
11538         (WebCore::ScrollView::platformSetScrollbarsSuppressed):
11539         (WebCore::ScrollView::setScrollPosition):
11540         * platform/qt/ScrollViewQt.cpp:
11541         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11542         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
11543         (WebCore::ScrollView::frameRectsChanged):
11544         (WebCore::ScrollView::updateScrollbars):
11545         (WebCore::ScrollView::paint):
11546         * platform/win/ScrollViewWin.cpp:
11547         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11548         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
11549         (WebCore::ScrollView::updateScrollbars):
11550         (WebCore::ScrollView::paint):
11551         * platform/wx/ScrollViewWx.cpp:
11552         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11554 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
11556         Rubber-stamped by Anders Carlsson.
11558         Compile fix.
11560         * plugins/PluginView.cpp:
11561         (WebCore::PluginView::load):
11563 2008-09-27  Mark Rowe  <mrowe@apple.com>
11565         Rubber-stamped by Sam Weinig.
11567         Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
11568         Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
11570         Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
11572         * loader/CachedResource.cpp:
11573         (WebCore::CachedResource::~CachedResource):
11575 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
11577         Reviewed by Simon Hausmann.
11579         [qt] Use QImageReader to figure out which image formats are supported
11580         - Qt can have many different plugins for different image formats. Instead
11581         of checking only for a few in WebCore use Qt to determine if this data
11582         can be treated as an image.
11584         * platform/graphics/qt/ImageSourceQt.cpp:
11585         (WebCore::canHandleImage):
11586         (WebCore::createDecoder):
11588 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
11591         [qt] Clean the pattern code
11592         - Use save/restore on the painter after manipulating the
11593         pen/brush
11594         - Make the context and object null checking consistent. CG is using
11595         the object unconditionally so the Qt webkit platform can do the
11596         same.
11597         - Move code below the early exit. Only use the m_ownerElement before
11598         the early exit as the CG code is doing it.
11600         * svg/graphics/SVGPaintServerPattern.h:
11601         * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
11602         (WebCore::SVGPaintServerPattern::setup):
11603         (WebCore::SVGPaintServerPattern::teardown):
11605 2008-09-27  Keishi Hattori  <casey.hattori@gmail.com>
11607         Added support for console.trace.
11609         https://bugs.webkit.org/show_bug.cgi?id=19157
11611         Reviewed by Kevin McCullough and Tim Hatcher.
11613         * bindings/js/JSConsoleCustom.cpp:
11614         (WebCore::JSConsole::trace):
11615         * page/Console.cpp:
11616         (WebCore::Console::trace): Calls Machine::retrieveCaller to
11617         get a stack trace.
11618         * page/Console.h:
11619         (WebCore::): Added TraceMessageLevel.
11620         * page/Console.idl: Added console.trace.
11621         * page/inspector/Console.js:
11622         (ConsoleMessage): Added case for TraceMessageLevel.
11624 2008-09-27  Anders Carlsson  <andersca@apple.com>
11626         Reviewed by Sam Weinig.
11628         https://bugs.webkit.org/show_bug.cgi?id=21178
11629         <rdar://problem/6248651>
11631         Check if the plug-in is allowed to load the resource. This matches Firefox.
11633         Test: http/tests/plugins/local-geturl-from-remote.html
11635         * plugins/PluginView.cpp:
11636         (WebCore::PluginView::load):
11638 2008-09-22  Dirk Schulze  <vbs85@gmx.de>
11640         Reviewed by Eric Seidel.
11642         Added SVG pattern support to Qt.
11644         [Qt] SVG patterns are missing
11645         https://bugs.webkit.org/show_bug.cgi?id=20973
11647         * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
11648         (WebCore::SVGPaintServerPattern::setup):
11650 2008-09-27  Keishi Hattori  <casey.hattori@gmail.com>
11652         Fixed a bug in the JS syntax highlighter with multiple line tokens.
11654         https://bugs.webkit.org/show_bug.cgi?id=21171
11656         Reviewed by Tim Hatcher.
11658         * page/inspector/SourceFrame.js:
11659         (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
11661 2008-09-27  Timothy Hatcher  <timothy@apple.com>
11663         Change searching in the Profiles panel to not match the
11664         Self and Total columns when there are no units. The only
11665         column that is matched for unitless number searches is
11666         now the Calls column.
11668         https://bugs.webkit.org/show_bug.cgi?id=21169
11670         Reviewed by Sam Weinig.
11672         * page/inspector/ProfileView.js:
11673         (WebInspector.ProfileView.prototype.performSearch):
11675 2008-09-27  David Hyatt  <hyatt@apple.com>
11677         Rename boundsGeometry -> boundsRect.  Rename geometryChanged -> frameRectsChanged.
11679         Reviewed by Sam Weinig
11681         * platform/ScrollView.h:
11682         * platform/Widget.h:
11683         (WebCore::Widget::boundsRect):
11684         (WebCore::Widget::invalidate):
11685         (WebCore::Widget::frameRectsChanged):
11686         * platform/gtk/ScrollViewGtk.cpp:
11687         (WebCore::ScrollViewScrollbar::frameRectsChanged):
11688         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
11689         (WebCore::ScrollView::setFrameRect):
11690         (WebCore::ScrollView::updateScrollbars):
11691         (WebCore::ScrollView::frameRectsChanged):
11692         * platform/gtk/ScrollbarGtk.cpp:
11693         (ScrollbarGtk::setFrameRect):
11694         (ScrollbarGtk::frameRectsChanged):
11695         * platform/gtk/ScrollbarGtk.h:
11696         * platform/gtk/WidgetGtk.cpp:
11697         * platform/qt/ScrollViewQt.cpp:
11698         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
11699         (WebCore::ScrollView::setFrameRect):
11700         (WebCore::ScrollView::frameRectsChanged):
11701         (WebCore::ScrollView::updateScrollbars):
11702         * platform/win/ScrollViewWin.cpp:
11703         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
11704         (WebCore::ScrollView::setFrameRect):
11705         (WebCore::ScrollView::updateScrollbars):
11706         (WebCore::ScrollView::frameRectsChanged):
11707         * plugins/PluginView.cpp:
11708         (WebCore::PluginView::frameRectsChanged):
11709         * plugins/PluginView.h:
11711 2008-09-27  Simon Hausmann  <hausmann@webkit.org>
11713         Refix the previous build fix to compile on non-Qt platforms, too.
11715         * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
11716         WebCore to generate the PrototypeTable in the WebCore namespace
11717         * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
11718         table remains in the Webcore namespace
11719         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
11721 2008-09-27  Simon Hausmann  <hausmann@webkit.org>
11723         Fix compilation with gcc 4.3 (probably > 4.0)
11725         * bindings/js/JSDOMWindowBase.cpp: Don't define static property
11726         get/put functions inside the WebCore namespace.
11727         * bindings/js/JSEventTargetBase.cpp: Ditto.
11728         * bindings/js/JSEventTargetNode.cpp: Ditto.
11729         * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
11730         * bindings/js/JSEventTargetBase.h: Forward declare
11731         JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
11732         defines it in the JSC namespace.
11733         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
11734         prefix for PrototypeTable symbol.
11736 2008-09-27  David Hyatt  <hyatt@apple.com>
11738         Rename frameGeometry to frameRect.  Rename setFrameGeometry to setFrameRect.
11740         Reviewed by Dan Bernstein
11742         * WebCore.base.exp:
11743         * page/FrameView.cpp:
11744         (WebCore::FrameView::FrameView):
11745         (WebCore::FrameView::updateControlTints):
11746         * platform/ScrollView.h:
11747         * platform/Scrollbar.cpp:
11748         (WebCore::Scrollbar::Scrollbar):
11749         (WebCore::Scrollbar::paint):
11750         (WebCore::Scrollbar::setFrameRect):
11751         * platform/Scrollbar.h:
11752         * platform/ScrollbarThemeComposite.cpp:
11753         (WebCore::ScrollbarThemeComposite::paint):
11754         * platform/Widget.h:
11755         (WebCore::Widget::x):
11756         (WebCore::Widget::y):
11757         (WebCore::Widget::width):
11758         (WebCore::Widget::height):
11759         (WebCore::Widget::size):
11760         (WebCore::Widget::pos):
11761         (WebCore::Widget::resize):
11762         (WebCore::Widget::move):
11763         * platform/gtk/ScrollViewGtk.cpp:
11764         (WebCore::ScrollViewScrollbar::geometryChanged):
11765         (WebCore::ScrollView::update):
11766         (WebCore::ScrollView::setFrameRect):
11767         (WebCore::ScrollView::updateScrollbars):
11768         (WebCore::ScrollView::scrollbarUnderMouse):
11769         (WebCore::ScrollView::paint):
11770         * platform/gtk/ScrollbarGtk.cpp:
11771         (ScrollbarGtk::setFrameRect):
11772         (ScrollbarGtk::geometryChanged):
11773         * platform/gtk/ScrollbarGtk.h:
11774         * platform/gtk/WidgetGtk.cpp:
11775         (WebCore::Widget::frameRect):
11776         (WebCore::Widget::setFrameRect):
11777         * platform/mac/ScrollbarThemeMac.mm:
11778         (WebCore::ScrollbarThemeMac::trackRect):
11779         (WebCore::ScrollbarThemeMac::paint):
11780         * platform/mac/WidgetMac.mm:
11781         (WebCore::Widget::frameRect):
11782         (WebCore::Widget::setFrameRect):
11783         * platform/qt/ScrollViewQt.cpp:
11784         (WebCore::ScrollView::setFrameRect):
11785         (WebCore::ScrollView::updateScrollbars):
11786         (WebCore::ScrollView::scrollbarUnderMouse):
11787         (WebCore::ScrollView::paint):
11788         * platform/qt/ScrollbarThemeQt.cpp:
11789         (WebCore::styleOptionSlider):
11790         * platform/qt/WidgetQt.cpp:
11791         (WebCore::Widget::frameRect):
11792         (WebCore::Widget::setFrameRect):
11793         * platform/win/PopupMenuWin.cpp:
11794         (WebCore::PopupMenu::invalidateItem):
11795         (WebCore::PopupMenu::valueChanged):
11796         (WebCore::PopupWndProc):
11797         * platform/win/ScrollViewWin.cpp:
11798         (WebCore::ScrollView::setFrameRect):
11799         (WebCore::ScrollView::updateScrollbars):
11800         (WebCore::ScrollView::scrollbarUnderMouse):
11801         (WebCore::ScrollView::paint):
11802         * platform/win/ScrollbarThemeSafari.cpp:
11803         (WebCore::ScrollbarThemeSafari::trackRect):
11804         * platform/win/WidgetWin.cpp:
11805         (WebCore::Widget::frameRect):
11806         (WebCore::Widget::setFrameRect):
11807         * platform/wx/WidgetWx.cpp:
11808         (WebCore::Widget::frameRect):
11809         (WebCore::Widget::setFrameRect):
11810         * plugins/PluginView.cpp:
11811         (WebCore::PluginView::setFrameRect):
11812         * plugins/PluginView.h:
11813         * plugins/gtk/PluginViewGtk.cpp:
11814         (WebCore::PluginView::updatePluginWidget):
11815         (WebCore::PluginView::paint):
11816         (WebCore::PluginView::init):
11817         * plugins/qt/PluginViewQt.cpp:
11818         (WebCore::PluginView::updatePluginWidget):
11819         (WebCore::PluginView::init):
11820         * plugins/win/PluginViewWin.cpp:
11821         (WebCore::PluginView::updatePluginWidget):
11822         (WebCore::PluginView::paintMissingPluginIcon):
11823         (WebCore::PluginView::paint):
11824         (WebCore::PluginView::init):
11825         * rendering/RenderLayer.cpp:
11826         (WebCore::RenderLayer::positionOverflowControls):
11827         * rendering/RenderListBox.cpp:
11828         (WebCore::RenderListBox::paintScrollbar):
11829         * rendering/RenderPart.cpp:
11830         (WebCore::RenderPart::updateWidgetPosition):
11831         * rendering/RenderWidget.cpp:
11832         (WebCore::RenderWidget::setWidgetGeometry):
11833         (WebCore::RenderWidget::updateWidgetPosition):
11835 2008-09-27  David Hyatt  <hyatt@apple.com>
11837         <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
11839         This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
11840         access an actual member variable.
11842         Reviewed by Dan Bernstein
11844         * page/FocusController.cpp:
11845         (WebCore::FocusController::setFocusedFrame):
11847 2008-09-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
11849         Attempt to fix QT Build. Not reviewed.
11851         * WebCore.pro: add -n WebCore parameter to create_hash_table
11853 2008-09-26  Gwenole Beauchesne  <gbeauchesne@splitted-desktop.org>
11855         Reviewed by Eric Seidel.
11857         http://bugs.webkit.org/show_bug.cgi?id=18905
11858         [GTK] Fix build with older pango (1.14.8)
11860         * platform/graphics/gtk/FontGtk.cpp:
11861         * platform/gtk/Language.cpp:
11862         (_pango_get_lc_ctype):
11863         (pango_language_get_default):
11865 2008-09-26  David Hyatt  <hyatt@apple.com>
11867         https://bugs.webkit.org/show_bug.cgi?id=21168
11869         Make contentsToWindow/windowToContents cross-platform.
11871         Reviewed by Oliver Hunt
11873         * platform/ScrollView.cpp:
11874         (WebCore::ScrollView::windowToContents):
11875         (WebCore::ScrollView::contentsToWindow):
11876         * platform/ScrollView.h:
11877         * platform/gtk/ScrollViewGtk.cpp:
11878         * platform/mac/ScrollViewMac.mm:
11879         * platform/qt/ScrollViewQt.cpp:
11880         * platform/win/ScrollViewWin.cpp:
11881         * platform/wx/ScrollViewWx.cpp:
11883 2008-09-26  Sam Weinig  <sam@webkit.org>
11885         GTK build fix.
11887         * GNUmakefile.am:
11889 2008-09-26  David Hyatt  <hyatt@apple.com>
11891         Eliminate shouldUpdateWhileOffscreen from ScrollView.  Make the concept of not invalidating while
11892         offscreen cross-platform.  Rename the inWindow method to isOffscreen (which flips the boolean), since that
11893         more clearly conveys the intent of the method.  Make isOffscreen also check NSWindow visibility on Mac.
11895         Reviewed by Oliver Hunt
11897         * page/FrameView.cpp:
11898         (WebCore::FrameView::repaintContentRectangle):
11899         * page/FrameView.h:
11900         * platform/ScrollView.h:
11901         * platform/gtk/ScrollViewGtk.cpp:
11902         (WebCore::ScrollView::isOffscreen):
11903         * platform/mac/ScrollViewMac.mm:
11904         (WebCore::ScrollView::updateContents):
11905         (WebCore::ScrollView::isOffscreen):
11906         * platform/qt/ScrollViewQt.cpp:
11907         (WebCore::ScrollView::isOffscreen):
11908         * platform/win/ScrollViewWin.cpp:
11909         (WebCore::ScrollView::isOffscreen):
11910         * platform/wx/ScrollViewWx.cpp:
11911         (WebCore::ScrollView::isOffscreen):
11912         * rendering/RenderObject.cpp:
11913         (WebCore::RenderObject::willRenderImage):
11915 2008-09-26  David Hyatt  <hyatt@apple.com>
11917         https://bugs.webkit.org/show_bug.cgi?id=21164
11919         Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
11921         Reviewed by Sam Weinig
11923         * WebCore.base.exp:
11924         * page/FrameView.cpp:
11925         (WebCore::FrameView::setAllowsScrolling):
11926         * page/FrameView.h:
11927         * platform/ScrollView.cpp:
11928         (WebCore::ScrollView::setAllowsScrolling):
11929         * platform/ScrollView.h:
11930         (WebCore::ScrollView::allowsScrolling):
11931         * platform/win/ScrollViewWin.cpp:
11932         (WebCore::ScrollView::wheelEvent):
11934 2008-09-26  Kevin Ollivier  <kevino@theolliviers.com>
11936         wx build fixes after Widget/ScrollView changes.
11938         * platform/wx/PopupMenuWx.cpp:
11939         (WebCore::PopupMenu::show):
11940         * platform/wx/ScrollViewWx.cpp:
11941         (WebCore::ScrollView::platformSetContentsSize):
11942         (WebCore::ScrollView::platformSetScrollbarModes):
11943         (WebCore::ScrollView::wheelEvent):
11944         * platform/wx/TemporaryLinkStubs.cpp:
11945         * platform/wx/WidgetWx.cpp:
11946         (WebCore::Widget::containingWindow):
11948 2008-09-26  Timothy Hatcher  <timothy@apple.com>
11950         Allow searching for paths by always performing the
11951         three search methods in the Elements panel and not
11952         assume a search with a "/" is a XPath query.
11954         https://bugs.webkit.org/show_bug.cgi?id=21159
11956         Reviewed by Geoff Garen.
11958         * page/inspector/ElementsPanel.js:
11959         (WebInspector.ElementsPanel.prototype.performSearch):
11961 2008-09-26  Sam Weinig  <sam@webkit.org>
11963         Reviewed by Darin Adler.
11965         Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
11966         Speedup static property get/put
11968         * DerivedSources.make:
11969         * GNUmakefile.am:
11970         * WebCore.pro:
11971         * WebCore.vcproj/WebCore.vcproj:
11972         * WebCore.xcodeproj/project.pbxproj:
11973         * bindings/js/JSDOMBinding.cpp:
11974         * bindings/js/JSDOMBinding.h:
11975         * bindings/js/JSDOMWindowBase.cpp:
11976         (WebCore::getDOMConstructor):
11977         (WebCore::jsDOMWindowBaseCrypto):
11978         (WebCore::jsDOMWindowBaseEvent):
11979         (WebCore::jsDOMWindowBaseImage):
11980         (WebCore::jsDOMWindowBaseMessageChannel):
11981         (WebCore::jsDOMWindowBaseOption):
11982         (WebCore::jsDOMWindowBaseXMLHttpRequest):
11983         (WebCore::jsDOMWindowBaseAudio):
11984         (WebCore::jsDOMWindowBaseXSLTProcessor):
11985         (WebCore::jsDOMWindowBaseOnabort):
11986         (WebCore::jsDOMWindowBaseOnblur):
11987         (WebCore::jsDOMWindowBaseOnchange):
11988         (WebCore::jsDOMWindowBaseOnclick):
11989         (WebCore::jsDOMWindowBaseOndblclick):
11990         (WebCore::jsDOMWindowBaseOnerror):
11991         (WebCore::jsDOMWindowBaseOnfocus):
11992         (WebCore::jsDOMWindowBaseOnkeydown):
11993         (WebCore::jsDOMWindowBaseOnkeypress):
11994         (WebCore::jsDOMWindowBaseOnkeyup):
11995         (WebCore::jsDOMWindowBaseOnload):
11996         (WebCore::jsDOMWindowBaseOnmousedown):
11997         (WebCore::jsDOMWindowBaseOnmousemove):
11998         (WebCore::jsDOMWindowBaseOnmouseout):
11999         (WebCore::jsDOMWindowBaseOnmouseover):
12000         (WebCore::jsDOMWindowBaseOnmouseup):
12001         (WebCore::jsDOMWindowBaseOnMouseWheel):
12002         (WebCore::jsDOMWindowBaseOnreset):
12003         (WebCore::jsDOMWindowBaseOnresize):
12004         (WebCore::jsDOMWindowBaseOnscroll):
12005         (WebCore::jsDOMWindowBaseOnsearch):
12006         (WebCore::jsDOMWindowBaseOnselect):
12007         (WebCore::jsDOMWindowBaseOnsubmit):
12008         (WebCore::jsDOMWindowBaseOnbeforeunload):
12009         (WebCore::jsDOMWindowBaseOnunload):
12010         (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
12011         (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
12012         (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
12013         (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
12014         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
12015         (WebCore::JSDOMWindowBase::put):
12016         (WebCore::setJSDOMWindowBaseOnabort):
12017         (WebCore::setJSDOMWindowBaseOnblur):
12018         (WebCore::setJSDOMWindowBaseOnchange):
12019         (WebCore::setJSDOMWindowBaseOnclick):
12020         (WebCore::setJSDOMWindowBaseOndblclick):
12021         (WebCore::setJSDOMWindowBaseOnerror):
12022         (WebCore::setJSDOMWindowBaseOnfocus):
12023         (WebCore::setJSDOMWindowBaseOnkeydown):
12024         (WebCore::setJSDOMWindowBaseOnkeypress):
12025         (WebCore::setJSDOMWindowBaseOnkeyup):
12026         (WebCore::setJSDOMWindowBaseOnload):
12027         (WebCore::setJSDOMWindowBaseOnmousedown):
12028         (WebCore::setJSDOMWindowBaseOnmousemove):
12029         (WebCore::setJSDOMWindowBaseOnmouseout):
12030         (WebCore::setJSDOMWindowBaseOnmouseover):
12031         (WebCore::setJSDOMWindowBaseOnmouseup):
12032         (WebCore::setJSDOMWindowBaseOnMouseWheel):
12033         (WebCore::setJSDOMWindowBaseOnreset):
12034         (WebCore::setJSDOMWindowBaseOnresize):
12035         (WebCore::setJSDOMWindowBaseOnscroll):
12036         (WebCore::setJSDOMWindowBaseOnsearch):
12037         (WebCore::setJSDOMWindowBaseOnselect):
12038         (WebCore::setJSDOMWindowBaseOnsubmit):
12039         (WebCore::setJSDOMWindowBaseOnbeforeunload):
12040         (WebCore::setJSDOMWindowBaseOnunload):
12041         (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
12042         (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
12043         (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
12044         (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
12045         (WebCore::setJSDOMWindowBaseEvent):
12046         (WebCore::setJSDOMWindowBaseAudio):
12047         (WebCore::setJSDOMWindowBaseImage):
12048         (WebCore::setJSDOMWindowBaseMessageChannel):
12049         (WebCore::setJSDOMWindowBaseOption):
12050         (WebCore::setJSDOMWindowBaseXMLHttpRequest):
12051         (WebCore::setJSDOMWindowBaseXSLTProcessor):
12052         * bindings/js/JSDOMWindowBase.h:
12053         * bindings/js/JSDOMWindowCustom.cpp:
12054         (WebCore::nonCachingStaticCloseFunctionGetter):
12055         (WebCore::nonCachingStaticBlurFunctionGetter):
12056         (WebCore::nonCachingStaticFocusFunctionGetter):
12057         (WebCore::nonCachingStaticPostMessageFunctionGetter):
12058         * bindings/js/JSDOMWindowCustom.h:
12059         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
12060         * bindings/js/JSEventTargetBase.cpp:
12061         * bindings/js/JSEventTargetBase.h:
12062         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
12063         (WebCore::JSEventTargetBasePrototype::classInfo):
12064         * bindings/js/JSEventTargetNode.cpp:
12065         (WebCore::):
12066         (WebCore::JSEventTargetNode::getOwnPropertySlot):
12067         (WebCore::JSEventTargetNode::put):
12068         * bindings/js/JSEventTargetNode.h:
12069         (WebCore::JSEventTargetNode::classInfo):
12070         (WebCore::JSEventTargetNode::prototypeClassName):
12071         * bindings/js/JSEventTargetSVGElementInstance.cpp:
12072         (WebCore::):
12073         (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
12074         (WebCore::JSEventTargetSVGElementInstance::put):
12075         * bindings/js/JSEventTargetSVGElementInstance.h:
12076         (WebCore::JSEventTargetSVGElementInstance::classInfo):
12077         (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
12078         * bindings/js/JSHTMLInputElementCustom.cpp:
12079         (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
12080         * bindings/js/JSHistoryCustom.cpp:
12081         (WebCore::nonCachingStaticBackFunctionGetter):
12082         (WebCore::nonCachingStaticForwardFunctionGetter):
12083         (WebCore::nonCachingStaticGoFunctionGetter):
12084         (WebCore::JSHistory::customGetOwnPropertySlot):
12085         * bindings/js/JSLocationCustom.cpp:
12086         (WebCore::nonCachingStaticReplaceFunctionGetter):
12087         (WebCore::nonCachingStaticReloadFunctionGetter):
12088         (WebCore::nonCachingStaticAssignFunctionGetter):
12089         (WebCore::JSLocation::customGetOwnPropertySlot):
12090         (WebCore::JSLocation::customPut):
12091         * bindings/scripts/CodeGeneratorJS.pm:
12093 2008-09-26  David Hyatt  <hyatt@apple.com>
12095         https://bugs.webkit.org/show_bug.cgi?id=21149
12097         Make the concept of scroll modes cross-platform.  Move the scrollbars up into ScrollView as well.
12098         Eliminate the unused isScrollable() method.
12100         Reviewed by Sam Weinig
12102         * WebCore.base.exp:
12103         * page/FrameView.cpp:
12104         (WebCore::FrameView::resetScrollbars):
12105         (WebCore::FrameView::initScrollbars):
12106         (WebCore::FrameView::layout):
12107         * page/FrameView.h:
12108         * page/mac/WebCoreFrameView.h:
12109         * platform/ScrollView.cpp:
12110         (WebCore::ScrollView::init):
12111         (WebCore::ScrollView::setScrollbarModes):
12112         (WebCore::ScrollView::scrollbarModes):
12113         (WebCore::ScrollView::platformSetScrollbarModes):
12114         (WebCore::ScrollView::platformScrollbarModes):
12115         * platform/ScrollView.h:
12116         (WebCore::ScrollView::horizontalScrollbar):
12117         (WebCore::ScrollView::verticalScrollbar):
12118         (WebCore::ScrollView::isScrollViewScrollbar):
12119         (WebCore::ScrollView::setHorizontalScrollbarMode):
12120         (WebCore::ScrollView::setVerticalScrollbarMode):
12121         (WebCore::ScrollView::horizontalScrollbarMode):
12122         (WebCore::ScrollView::verticalScrollbarMode):
12123         (WebCore::ScrollView::convertSelfToChild):
12124         * platform/gtk/ScrollViewGtk.cpp:
12125         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12126         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12127         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12128         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12129         (WebCore::ScrollView::updateScrollbars):
12130         (WebCore::ScrollView::scrollbarUnderMouse):
12131         (WebCore::ScrollView::isScrollViewScrollbar):
12132         (WebCore::ScrollView::paint):
12133         (WebCore::ScrollView::scroll):
12134         * platform/mac/ScrollViewMac.mm:
12135         (WebCore::ScrollView::platformSetScrollbarModes):
12136         (WebCore::ScrollView::platformScrollbarModes):
12137         * platform/qt/ScrollViewQt.cpp:
12138         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12139         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12140         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12141         (WebCore::ScrollView::horizontalScrollbar):
12142         (WebCore::ScrollView::verticalScrollbar):
12143         (WebCore::ScrollView::invalidateScrollbars):
12144         (WebCore::ScrollView::updateScrollbars):
12145         (WebCore::ScrollView::scrollbarUnderMouse):
12146         (WebCore::ScrollView::paint):
12147         (WebCore::ScrollView::scroll):
12148         * platform/win/ScrollViewWin.cpp:
12149         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12150         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12151         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12152         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12153         (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
12154         (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
12155         (WebCore::ScrollView::suppressScrollbars):
12156         (WebCore::ScrollView::updateScrollbars):
12157         (WebCore::ScrollView::scrollbarUnderMouse):
12158         (WebCore::ScrollView::paint):
12159         (WebCore::ScrollView::scroll):
12160         * platform/wx/ScrollViewWx.cpp:
12161         (WebCore::ScrollView::platformSetScrollbarModes):
12162         (WebCore::ScrollView::platformScrollbarModes):
12164 2008-09-26  David Kilzer  <ddkilzer@apple.com>
12166         Fix Mac build with XPATH and XSLT disabled
12168         Reviewed by Alexey.
12170         * bindings/objc/DOMUtility.mm:
12171         (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
12172         * dom/XMLTokenizerLibxml2.cpp:
12173         (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
12174         prevent an unused code warning.
12176 2008-09-26  Kevin McCullough  <kmccullough@apple.com>
12178         Rubber stamped by Tim Hatcher.
12180         Bug 21098: Crashing under Console::log
12181         - Speculative ASSERT to help find the problem.
12183         * page/InspectorController.cpp:
12184         (WebCore::ConsoleMessage::isEqual):
12186 2008-09-26  Holger Hans Peter Freyther  <zecke@selfish.org>
12188         [gtk+] Build fix for the latest ScrollView changes
12190         * platform/gtk/ScrollViewGtk.cpp:
12191         (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
12192         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12194 2008-09-26  Timothy Hatcher  <timothy@apple.com>
12196         Fixes a bug where the console message repeat count would be wrong
12197         when typing commands in between repeated messages.
12199         https://bugs.webkit.org/show_bug.cgi?id=21145
12201         Reviewed by Kevin McCullough.
12203         * page/InspectorController.cpp:
12204         (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
12205         (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
12206         * page/inspector/Console.js:
12207         (WebInspector.Console.prototype.addMessage): Remember the original repeat count
12208         for each message as totalRepeatCount, since we now modify repeatCount to mean
12209         repeats since previous console command. If repeatCountBeforeCommand is a number,
12210         subtract that value from the repeatCount.
12211         (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
12212         and commandSincePreviousMessage properties.
12214 2008-09-26  Eric Carlson  <eric.carlson@apple.com>
12216         Reviewed by Antti
12218         https://bugs.webkit.org/show_bug.cgi?id=21116
12219         <rdar://problem/5726325> Audio from <video> can still be heard after navigating 
12220         back to page with <video>, then closing tab
12222         Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
12223         documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
12224         deletion.
12226         * dom/Document.cpp:
12227         (WebCore::Document::documentWillBecomeInactive):
12228         (WebCore::Document::documentDidBecomeActive):
12229         (WebCore::Document::registerForDocumentActivationCallbacks):
12230         (WebCore::Document::unregisterForDocumentActivationCallbacks):
12231         * dom/Document.h:
12232         * dom/Element.h:
12233         (WebCore::Element::documentWillBecomeInactive):
12234         (WebCore::Element::documentDidBecomeActive):
12235         * history/CachedPage.cpp:
12236         (WebCore::CachedPage::CachedPage):
12237         * html/HTMLFormElement.cpp:
12238         (WebCore::HTMLFormElement::~HTMLFormElement):
12239         (WebCore::HTMLFormElement::parseMappedAttribute):
12240         (WebCore::HTMLFormElement::documentDidBecomeActive):
12241         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
12242         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
12243         * html/HTMLFormElement.h:
12244         * html/HTMLInputElement.cpp:
12245         (WebCore::HTMLInputElement::~HTMLInputElement):
12246         (WebCore::HTMLInputElement::setInputType):
12247         (WebCore::HTMLInputElement::parseMappedAttribute):
12248         (WebCore::HTMLInputElement::needsActivationCallback):
12249         (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
12250         (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
12251         (WebCore::HTMLInputElement::documentDidBecomeActive):
12252         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
12253         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
12254         * html/HTMLInputElement.h:
12255         * html/HTMLMediaElement.cpp:
12256         (WebCore::HTMLMediaElement::HTMLMediaElement):
12257         (WebCore::HTMLMediaElement::~HTMLMediaElement):
12258         (WebCore::HTMLMediaElement::documentWillBecomeInactive):
12259         (WebCore::HTMLMediaElement::documentDidBecomeActive):
12260         * html/HTMLMediaElement.h:
12261         (WebCore::HTMLMediaElement::inActiveDocument):
12262         * loader/FrameLoader.cpp:
12263         (WebCore::FrameLoader::opened):
12264         * page/Page.cpp:
12265         (WebCore::Page::~Page):
12266         * rendering/RenderMedia.cpp:
12267         (WebCore::RenderMedia::updateControls):
12268         * rendering/RenderVideo.cpp:
12269         (WebCore::RenderVideo::updatePlayer):
12270         * svg/SVGSVGElement.cpp:
12271         (WebCore::SVGSVGElement::SVGSVGElement):
12272         (WebCore::SVGSVGElement::~SVGSVGElement):
12273         (WebCore::SVGSVGElement::documentWillBecomeInactive):
12274         (WebCore::SVGSVGElement::documentDidBecomeActive):
12275         * svg/SVGSVGElement.h:
12277 2008-09-26  Ariya Hidayat  <ariya.hidayat@trolltech.com>
12279         Reviewed by Simon
12281         Fix the build inside Qt, don't create faulty prl files for now.
12283         * WebCore.pro:
12285 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
12287         Fix compilation on Qt/Windows
12289         * Add WebCore/ to the include path so that config.h is found that enables JSC
12290         * Link against winmm for the multimedia timer functions
12291         * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
12292         subdirectory
12293         * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
12294         but set m_window directly as setPlatformWidget takes a QWidget*.
12296         * WebCore.pro:
12297         * platform/win/SystemTimeWin.cpp:
12298         * plugins/win/PluginViewWin.cpp:
12299         (WebCore::PluginView::init):
12301 2008-09-26  Oliver Hunt  <oliver@apple.com>
12303         Reviewed by Maciej Stachowiak.
12305         Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
12306         <https://bugs.webkit.org/show_bug.cgi?id=21054>
12308         This performance regression is actually just a symptom of a correctness
12309         bug.  The constructor objects for a number of properties that have security
12310         checks on access were returning new objects each time.  The most obvious
12311         symptom of this bug is that window.Image != window.Image, etc.
12313         The solution to this is to make sure we cache these constructors
12314         in the same way as all the other DOM constructors.  To achieve this
12315         without causing any refcount cycles it is necessary to replace the
12316         refcounted document pointer in the Image, MessageChannel, Option, 
12317         XMLHttpRequest, and Audio constructor objects with a reference to 
12318         the document's JS wrapper.
12320         Tests: fast/dom/constructors-cached-navigate.html
12321                fast/dom/constructors-cached.html
12323         * WebCore.xcodeproj/project.pbxproj:
12324         * bindings/js/JSAudioConstructor.cpp:
12325         (WebCore::JSAudioConstructor::mark):
12326         * bindings/js/JSAudioConstructor.h:
12327         (WebCore::JSAudioConstructor::document):
12328         * bindings/js/JSDOMWindowBase.cpp:
12329         (WebCore::getDOMConstructor):
12330         (WebCore::JSDOMWindowBase::getValueProperty):
12331         * bindings/js/JSDOMWindowBase.h:
12332         * bindings/js/JSHTMLOptionElementConstructor.cpp:
12333         (WebCore::JSHTMLOptionElementConstructor::mark):
12334         * bindings/js/JSHTMLOptionElementConstructor.h:
12335         (WebCore::JSHTMLOptionElementConstructor::document):
12336         * bindings/js/JSImageConstructor.cpp:
12337         (WebCore::JSImageConstructor::mark):
12338         * bindings/js/JSImageConstructor.h:
12339         (WebCore::JSImageConstructor::document):
12340         * bindings/js/JSXMLHttpRequestConstructor.cpp:
12341         (WebCore::JSXMLHttpRequestConstructor::mark):
12342         * bindings/js/JSXMLHttpRequestConstructor.h:
12343         (WebCore::JSXMLHttpRequestConstructor::document):
12345 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
12347         Unreviewed one-liner build fix for the Qt/Windows build.
12349         The build requires NPAPI support to be enabled, fix the condition in
12350         the .pro file for that.
12352         * WebCore.pro:
12354 2008-09-26  Trenton Schulz <twschulz@trolltech.com>
12356         Reviewed by Simon.
12358         Fix compilation with the Qt/Cocoa port.
12360         * platform/qt/ScrollViewQt.cpp:
12361         (WebCore::ScrollView::updateScrollbars):
12363 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
12365         Reviewed by Holger.
12367         Fix compilation with VC9SP1, work around bug in TR1 library by
12368         disabling it.
12370         * WebCore.pro:
12372 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
12374         Reviewed by Holger.
12376         Fix an lupdate() warning.
12378         Don't use tr() in a class that is not a QObject, use
12379         QCoreApplication::translate() directly.
12381         * platform/qt/ScrollbarQt.cpp:
12382         (WebCore::Scrollbar::handleContextMenuEvent):
12384 2008-09-25  David Hyatt  <hyatt@apple.com>
12386         Remove the scrollTo() method from FrameView, since it is not used by anyone.
12388         Reviewed by Oliver Hunt
12390         * page/FrameView.cpp:
12391         * page/FrameView.h:
12393 2008-09-25  David Hyatt  <hyatt@apple.com>
12395         Make scrollRectIntoViewRecursively cross-platform.
12397         Reviewed by Oliver Hunt
12399         * platform/ScrollView.cpp:
12400         (WebCore::ScrollView::scrollRectIntoViewRecursively):
12401         * platform/gtk/ScrollViewGtk.cpp:
12402         * platform/mac/ScrollViewMac.mm:
12403         * platform/qt/ScrollViewQt.cpp:
12404         * platform/win/ScrollViewWin.cpp:
12405         * platform/wx/ScrollViewWx.cpp:
12407 2008-09-25  David Hyatt  <hyatt@apple.com>
12409         https://bugs.webkit.org/show_bug.cgi?id=21133
12410         
12411         Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()).  Make it
12412         cross-platform.
12414         Reviewed by Oliver Hunt
12416         * loader/FrameLoader.cpp:
12417         (WebCore::FrameLoader::begin):
12418         * page/FrameView.cpp:
12419         (WebCore::FrameView::adjustViewSize):
12420         * platform/ScrollView.cpp:
12421         (WebCore::ScrollView::setContentsSize):
12422         * platform/ScrollView.h:
12423         (WebCore::ScrollView::updateScrollbars):
12424         * platform/gtk/ScrollViewGtk.cpp:
12425         * platform/mac/ScrollViewMac.mm:
12426         (WebCore::ScrollView::platformSetContentsSize):
12427         * platform/qt/ScrollViewQt.cpp:
12428         * platform/win/ScrollViewWin.cpp:
12429         * platform/wx/ScrollViewWx.cpp:
12430         (WebCore::ScrollView::platformSetContentsSize):
12432 2008-09-25  David Hyatt  <hyatt@apple.com>
12434         https://bugs.webkit.org/show_bug.cgi?id=21132
12436         Clean up the methods that actually do the scrolling in ScrollView.
12438         Reviewed by Oliver Hunt
12440         * html/HTMLBodyElement.cpp:
12441         (WebCore::HTMLBodyElement::setScrollLeft):
12442         (WebCore::HTMLBodyElement::setScrollTop):
12443         * loader/FrameLoader.cpp:
12444         (WebCore::FrameLoader::restoreScrollPositionAndViewState):
12445         * loader/ImageDocument.cpp:
12446         (WebCore::ImageDocument::imageClicked):
12447         * page/DOMWindow.cpp:
12448         (WebCore::DOMWindow::scrollBy):
12449         (WebCore::DOMWindow::scrollTo):
12450         * page/FrameView.cpp:
12451         (WebCore::FrameView::scrollTo):
12452         (WebCore::FrameView::setScrollPosition):
12453         * page/FrameView.h:
12454         * platform/ScrollView.cpp:
12455         (WebCore::ScrollView::maximumScrollPosition):
12456         * platform/ScrollView.h:
12457         (WebCore::ScrollView::contentsWidth):
12458         (WebCore::ScrollView::contentsHeight):
12459         (WebCore::ScrollView::scrollBy):
12460         * platform/gtk/ScrollViewGtk.cpp:
12461         (WebCore::ScrollView::setScrollPosition):
12462         * platform/mac/ScrollViewMac.mm:
12463         (WebCore::ScrollView::setScrollPosition):
12464         * platform/qt/ScrollViewQt.cpp:
12465         (WebCore::ScrollView::setScrollPosition):
12466         (WebCore::ScrollView::scrollRectIntoViewRecursively):
12467         * platform/win/ScrollViewWin.cpp:
12468         (WebCore::ScrollView::setScrollPosition):
12469         (WebCore::ScrollView::scrollRectIntoViewRecursively):
12470         * platform/wx/ScrollViewWx.cpp:
12471         (WebCore::ScrollView::setScrollPosition):
12472         * rendering/RenderLayer.cpp:
12473         (WebCore::RenderLayer::scrollByRecursively):
12474         (WebCore::RenderLayer::scrollRectToVisible):
12476 2008-09-25  Dan Bernstein  <mitz@apple.com>
12478         - attempted Windows build fix
12480         * platform/win/ScrollViewWin.cpp:
12481         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12482         (WebCore::ScrollView::setContentsPos):
12483         (WebCore::ScrollView::paint):
12485 2008-09-25  Timothy Hatcher  <timothy@apple.com>
12487         Revert the padding changes done in r36905 to prevent the
12488         scrollbar from overlapping the URLs in the Console.
12490         https://bugs.webkit.org/show_bug.cgi?id=21126
12492         * page/inspector/inspector.css:
12494 2008-09-25  David Hyatt  <hyatt@apple.com>
12496         https://bugs.webkit.org/show_bug.cgi?id=21129
12498         Refactor contents size and scroll offset to be cross-platform.  Reduce further the number
12499         of platform-specific methods required of ScrollView implementations.
12501         Reviewed by Tim Hatcher
12503         * dom/MouseRelatedEvent.cpp:
12504         (WebCore::contentsX):
12505         (WebCore::contentsY):
12506         * html/HTMLBodyElement.cpp:
12507         (WebCore::HTMLBodyElement::scrollLeft):
12508         (WebCore::HTMLBodyElement::setScrollLeft):
12509         (WebCore::HTMLBodyElement::scrollTop):
12510         (WebCore::HTMLBodyElement::setScrollTop):
12511         * loader/FrameLoader.cpp:
12512         (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
12513         * page/DOMWindow.cpp:
12514         (WebCore::DOMWindow::scrollX):
12515         (WebCore::DOMWindow::scrollY):
12516         * page/EventHandler.cpp:
12517         (WebCore::EventHandler::hitTestResultAtPoint):
12518         * page/FrameView.cpp:
12519         (WebCore::FrameView::scrollTo):
12520         (WebCore::FrameView::windowClipRect):
12521         * platform/ScrollView.cpp:
12522         (WebCore::ScrollView::visibleContentRect):
12523         (WebCore::ScrollView::contentsSize):
12524         (WebCore::ScrollView::platformContentsSize):
12525         * platform/ScrollView.h:
12526         (WebCore::ScrollView::scrollPosition):
12527         (WebCore::ScrollView::scrollOffset):
12528         (WebCore::ScrollView::scrollX):
12529         (WebCore::ScrollView::scrollY):
12530         (WebCore::ScrollView::contentsWidth):
12531         (WebCore::ScrollView::contentsHeight):
12532         * platform/gtk/ScrollViewGtk.cpp:
12533         (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
12534         (WebCore::ScrollView::setGtkAdjustments):
12535         (WebCore::ScrollView::resizeContents):
12536         (WebCore::ScrollView::contentsWidth):
12537         (WebCore::ScrollView::contentsHeight):
12538         (WebCore::ScrollView::scrollOffset):
12539         (WebCore::ScrollView::maximumScroll):
12540         (WebCore::ScrollView::scrollBy):
12541         (WebCore::ScrollView::suppressScrollbars):
12542         (WebCore::ScrollView::setHScrollbarMode):
12543         (WebCore::ScrollView::setVScrollbarMode):
12544         (WebCore::ScrollView::setScrollbarsMode):
12545         (WebCore::ScrollView::setFrameGeometry):
12546         (WebCore::ScrollView::updateScrollbars):
12547         * platform/mac/ScrollViewMac.mm:
12548         (WebCore::ScrollView::platformContentsSize):
12549         (WebCore::ScrollView::scrollBy):
12550         * platform/mac/WidgetMac.mm:
12551         (WebCore::Widget::convertFromContainingWindow):
12552         (WebCore::Widget::convertToContainingWindow):
12553         * platform/qt/ScrollViewQt.cpp:
12554         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12555         (WebCore::ScrollView::resizeContents):
12556         (WebCore::ScrollView::setFrameGeometry):
12557         (WebCore::ScrollView::scrollOffset):
12558         (WebCore::ScrollView::maximumScroll):
12559         (WebCore::ScrollView::scrollBy):
12560         (WebCore::ScrollView::setHScrollbarMode):
12561         (WebCore::ScrollView::setVScrollbarMode):
12562         (WebCore::ScrollView::setScrollbarsMode):
12563         (WebCore::ScrollView::updateScrollbars):
12564         * platform/win/ScrollViewWin.cpp:
12565         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12566         (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
12567         (WebCore::ScrollView::resizeContents):
12568         (WebCore::ScrollView::setFrameGeometry):
12569         (WebCore::ScrollView::scrollOffset):
12570         (WebCore::ScrollView::maximumScroll):
12571         (WebCore::ScrollView::scrollBy):
12572         (WebCore::ScrollView::setHScrollbarMode):
12573         (WebCore::ScrollView::setVScrollbarMode):
12574         (WebCore::ScrollView::setScrollbarsMode):
12575         (WebCore::ScrollView::updateScrollbars):
12576         * platform/wx/ScrollViewWx.cpp:
12577         (WebCore::ScrollView::platformVisibleContentRect):
12578         (WebCore::ScrollView::platformContentsSize):
12579         * rendering/RenderBlock.cpp:
12580         (WebCore::RenderBlock::nodeAtPoint):
12581         * rendering/RenderLayer.cpp:
12582         (WebCore::RenderLayer::scrollRectToVisible):
12583         (WebCore::RenderLayer::calculateClipRects):
12584         (WebCore::RenderLayer::calculateRects):
12585         * rendering/RenderView.cpp:
12586         (WebCore::RenderView::absolutePosition):
12587         (WebCore::RenderView::computeAbsoluteRepaintRect):
12589 2008-09-25  David Smith  <catfish.man@gmail.com>
12591         Reviewed by Dave Hyatt.
12593         Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
12595         * dom/Element.cpp:
12596         (WebCore::Element::rareData):
12597         * dom/Element.h:
12598         * dom/Node.cpp:
12599         (WebCore::Node::rareData):
12600         * dom/Node.h:
12602 2008-09-25  David Smith  <catfish.man@gmail.com>
12604         Reviewed by Darin Adler.
12605         
12606         https://bugs.webkit.org/show_bug.cgi?id=20980
12607         Split off uncommonly used data from Node similar to ElementRareData
12608         
12609         Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
12610         which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
12611         for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
12613         * WebCore.base.exp: 
12614         * WebCore.xcodeproj/project.pbxproj:
12615         * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
12616         * dom/ContainerNode.cpp: Set isContainer to true
12617         (WebCore::ContainerNode::ContainerNode):
12618         * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
12619         (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
12620         (WebCore::Node::containerChildNode): ditto
12621         (WebCore::Node::containerFirstChild): ditto
12622         (WebCore::Node::containerLastChild): ditto
12623         * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
12624         (WebCore::Element::Element): 
12625         (WebCore::Element::~Element):
12626         (WebCore::Element::rareData):
12627         (WebCore::Element::ensureRareData): Renamed from createRareData
12628         (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
12629         (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
12630         (WebCore::Element::detach): ditto
12631         (WebCore::Element::recalcStyle): ditto
12632         (WebCore::Element::focus):
12633         (WebCore::Element::minimumSizeForResizing): ditto
12634         (WebCore::Element::setMinimumSizeForResizing): ditto
12635         (WebCore::Element::computedStyle):
12636         (WebCore::Element::cancelFocusAppearanceUpdate): ditto
12637         * dom/Element.h:
12638         * dom/ElementRareData.h: Added; everything copied from Element.cpp
12639         (WebCore::defaultMinimumSizeForResizing):
12640         (WebCore::ElementRareData::ElementRareData):
12641         (WebCore::ElementRareData::resetComputedStyle):
12642         * dom/EventTargetNode.cpp:
12643         (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
12644         * dom/EventTargetNode.h:
12645         * dom/Node.cpp:
12646         (WebCore::Node::Node):
12647         (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
12648         (WebCore::Node::rareData):
12649         (WebCore::Node::ensureRareData):
12650         (WebCore::Node::createRareData):
12651         (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
12652         (WebCore::Node::setTabIndexExplicitly):
12653         (WebCore::Node::childNodes): NodeLists are now in rareData
12654         (WebCore::Node::setFocus):
12655         (WebCore::Node::rareDataFocused):
12656         (WebCore::Node::isFocusable):
12657         (WebCore::Node::isKeyboardFocusable):
12658         (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
12659         (WebCore::Node::unregisterDynamicNodeList): ditto
12660         (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
12661         (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
12662         (WebCore::Node::getElementsByName): ditto
12663         (WebCore::Node::getElementsByClassName): ditto
12664         * dom/Node.h:
12665         (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
12666         (WebCore::Node::lastChild): ditto
12667         (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
12668         (WebCore::Node::focused): focus is in rareData if set
12669         (WebCore::Node::childTypeAllowed):
12670         (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
12671         (WebCore::Node::childNode): ditto
12672         (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
12673         * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
12674         (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
12675         (WebCore::NodeRareData::NodeRareData):
12676         (WebCore::NodeRareData::rareDataMap):
12677         (WebCore::NodeRareData::rareDataFromMap):
12678         (WebCore::NodeRareData::clearNodeLists):
12679         (WebCore::NodeRareData::setNodeLists):
12680         (WebCore::NodeRareData::nodeLists):
12681         (WebCore::NodeRareData::tabIndex):
12682         (WebCore::NodeRareData::setTabIndex):
12683         (WebCore::NodeRareData::tabIndexSetExplicitly):
12684         * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
12685         * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
12687 2008-09-25  Holger Hans Peter Freyther  <zecke@selfish.org>
12689         Reviewed by Simon Hausmann.
12691         [qt] ImageBuffer::toDataURL implementation
12693         There needs to be a Qt specific test result for the above mentioned
12694         implementation.
12696         * platform/graphics/qt/ImageBufferQt.cpp:
12697         (WebCore::ImageBuffer::toDataURL):
12699 2008-09-25  Holger Hans Peter Freyther  <zecke@selfish.org>
12701         Reviewed by Simon Hausmann.
12703         [qt] Implement SharedBuffer for Qt.
12705         * WebCore.pro:
12706         * platform/qt/SharedBufferQt.cpp: Added.
12707         (WebCore::SharedBuffer::createWithContentsOfFile):
12708         * platform/qt/TemporaryLinkStubs.cpp:
12710 2008-09-25  Feng Qian <feng@chromium.org>
12712         Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
12713         <rdar://problem/6243032>
12715         Reviewed by Dave Hyatt.
12717         Test: fast/dom/attribute-downcast-right.html
12719         Add isMappedAttribute function to Attribute for checking if an object
12720         is an instance of MappedAttribute. Removed attributeItem,
12721         getAttributeItem functions from NamedMappedAttrMap, and callers
12722         expecting MappedAttribute have to check isMappedAttribute before
12723         downcasting the return value to MappedAttribute.
12725         * css/CSSStyleSelector.cpp:
12726         (WebCore::CSSStyleSelector::styleForElement):
12727         * dom/Attribute.h:
12728         (WebCore::Attribute::isMappedAttribute):
12729         * dom/MappedAttribute.h:
12730         (WebCore::MappedAttribute::isMappedAttribute):
12731         * dom/NamedMappedAttrMap.cpp:
12732         (WebCore::NamedMappedAttrMap::declCount):
12733         (WebCore::NamedMappedAttrMap::mapsEquivalent):
12734         * dom/NamedMappedAttrMap.h:
12735         * dom/StyledElement.cpp:
12736         (WebCore::StyledElement::attributeChanged):
12737         * html/HTMLInputElement.cpp:
12738         (WebCore::HTMLInputElement::setInputType):
12739         * svg/SVGForeignObjectElement.cpp:
12740         (WebCore::addCSSPropertyAndNotifyAttributeMap):
12741         * svg/SVGStyledElement.cpp:
12742         (WebCore::SVGStyledElement::getPresentationAttribute):
12744 2008-09-25  David Hyatt  <hyatt@apple.com>
12746         https://bugs.webkit.org/show_bug.cgi?id=21120
12748         Make visibleContentRect cross-platform.  Note this does add new horizontal/verticalScrollbar accessors
12749         to a bunch of platforms.  This is a temporary evil until the scrollbars get made cross-platform (and I
12750         didn't want to mix that change in with this patch).
12752         Reviewed by Sam Weinig
12754         * page/Frame.cpp:
12755         (WebCore::Frame::markAllMatchesForText):
12756         * page/FrameView.cpp:
12757         (WebCore::FrameView::repaintContentRectangle):
12758         (WebCore::FrameView::windowClipRect):
12759         (WebCore::FrameView::updateControlTints):
12760         * platform/ScrollView.cpp:
12761         (WebCore::ScrollView::visibleContentRect):
12762         (WebCore::ScrollView::platformVisibleContentRect):
12763         * platform/ScrollView.h:
12764         (WebCore::ScrollView::visibleWidth):
12765         (WebCore::ScrollView::visibleHeight):
12766         * platform/gtk/ScrollViewGtk.cpp:
12767         (WebCore::ScrollView::horizontalScrollbar):
12768         (WebCore::ScrollView::verticalScrollbar):
12769         * platform/mac/ScrollViewMac.mm:
12770         (WebCore::ScrollView::horizontalScrollbar):
12771         (WebCore::ScrollView::verticalScrollbar):
12772         (WebCore::ScrollView::platformVisibleContentRect):
12773         * platform/qt/ScrollViewQt.cpp:
12774         (WebCore::ScrollView::horizontalScrollbar):
12775         (WebCore::ScrollView::verticalScrollbar):
12776         * platform/win/ScrollViewWin.cpp:
12777         (WebCore::ScrollView::horizontalScrollbar):
12778         (WebCore::ScrollView::verticalScrollbar):
12779         * platform/wx/ScrollViewWx.cpp:
12780         (WebCore::ScrollView::platformVisibleContentRect):
12781         (WebCore::ScrollView::horizontalScrollbar):
12782         (WebCore::ScrollView::verticalScrollbar):
12783         * rendering/RenderLayer.cpp:
12784         (WebCore::RenderLayer::scrollRectToVisible):
12785         (WebCore::frameVisibleRect):
12786         * rendering/RenderView.cpp:
12787         (WebCore::RenderView::viewRect):
12789 2008-09-25  David Smith  <catfish.man@gmail.com>
12791         Reviewed by Timothy Hatcher
12793         https://bugs.webkit.org/show_bug.cgi?id=21052
12794         Generalize id selector special case for querySelectorAll
12795         
12796         By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
12797         Changes results on http://native.khan.mozilla.org 
12798         from
12799             #title: 2ms
12800             h1#title: 55ms
12801             div #title: 55ms
12803         to:
12804             #title: 1ms
12805             h1#title: 2ms
12806             div #title: 5ms
12807         
12808         * dom/Node.cpp:
12809         (WebCore::Node::querySelector):
12810         * dom/SelectorNodeList.cpp:
12811         (WebCore::createSelectorNodeList):
12813 2008-09-25  David Hyatt  <hyatt@apple.com>
12815         https://bugs.webkit.org/show_bug.cgi?id=21118
12817         Make the concept of whether you can blit on scroll cross-platform on ScrollView.
12819         Reviewed by Sam Weinig
12821         * page/FrameView.cpp:
12822         (WebCore::FrameView::clear):
12823         (WebCore::FrameView::layout):
12824         (WebCore::FrameView::setUseSlowRepaints):
12825         (WebCore::FrameView::addSlowRepaintObject):
12826         (WebCore::FrameView::removeSlowRepaintObject):
12827         * platform/ScrollView.cpp:
12828         (WebCore::ScrollView::init):
12829         (WebCore::ScrollView::addChild):
12830         (WebCore::ScrollView::removeChild):
12831         (WebCore::ScrollView::setCanBlitOnScroll):
12832         * platform/ScrollView.h:
12833         (WebCore::ScrollView::canBlitOnScroll):
12834         * platform/gtk/ScrollViewGtk.cpp:
12835         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12836         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
12837         (WebCore::ScrollView::ScrollView):
12838         * platform/mac/ScrollViewMac.mm:
12839         (WebCore::ScrollView::ScrollView):
12840         (WebCore::ScrollView::platformAddChild):
12841         (WebCore::ScrollView::platformRemoveChild):
12842         (WebCore::ScrollView::platformSetCanBlitOnScroll):
12843         * platform/qt/ScrollViewQt.cpp:
12844         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12845         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
12846         (WebCore::ScrollView::ScrollView):
12847         * platform/win/ScrollViewWin.cpp:
12848         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12849         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
12850         (WebCore::ScrollView::ScrollView):
12851         * platform/wx/ScrollViewWx.cpp:
12852         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12853         (WebCore::ScrollView::ScrollView):
12854         (WebCore::ScrollView::scrollBy):
12856 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
12858         Reviewed by Tim Hatcher.
12860         Bug 21109: Console should right-align urls
12862         * page/inspector/Console.js: Re-order the message elements so that when
12863         it overflows it doesn't get mixed in with the next message.
12864         * page/inspector/inspector.css:
12866 2008-09-25  David Hyatt  <hyatt@apple.com>
12868         https://bugs.webkit.org/show_bug.cgi?id=21113
12870         Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
12872         Reviewed by Darin Adler
12874         * css/CSSImportRule.cpp:
12875         (WebCore::CSSImportRule::insertedIntoParent):
12876         * css/CSSRule.cpp:
12877         (WebCore::CSSRule::parentStyleSheet):
12878         (WebCore::CSSRule::parentRule):
12879         * css/CSSStyleSheet.cpp:
12880         (WebCore::CSSStyleSheet::CSSStyleSheet):
12881         * css/CSSStyleSheet.h:
12883 2008-09-25  Darin Adler  <darin@apple.com>
12885         Reviewed by Adele Peterson.
12887         - fix https://bugs.webkit.org/show_bug.cgi?id=21115
12888           <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
12889           bundled documents
12891         * html/HTMLFormElement.cpp:
12892         (WebCore::HTMLFormElement::formData): Use files() instead of value()
12893         to get the path, since value() now returns just the basename.
12895 2008-09-25  Brady Eidson  <beidson@apple.com>
12897         Rubberstamped by Mark Rowe
12899         Roll out 36771 as it caused <rdar://problem/6246554>
12900         "nytimes.com doesn't display after returning to it with back/forward"
12902         * css/CSSImportRule.cpp:
12903         (WebCore::CSSImportRule::insertedIntoParent):
12904         * css/CSSRule.cpp:
12905         (WebCore::CSSRule::parentStyleSheet):
12906         (WebCore::CSSRule::parentRule):
12907         * css/CSSStyleSheet.cpp:
12908         (WebCore::CSSStyleSheet::CSSStyleSheet):
12909         (WebCore::CSSStyleSheet::docLoader):
12910         * css/CSSStyleSheet.h:
12911         (WebCore::CSSStyleSheet::doc):
12913 2008-09-25  Adam Roben  <aroben@apple.com>
12915         Windows build fix
12917         * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
12919 2008-09-25  Dan Bernstein  <mitz@apple.com>
12921         - Windows build fix
12923         * platform/win/ScrollViewWin.cpp:
12924         (WebCore::ScrollView::addChildPlatformWidget):
12925         (WebCore::ScrollView::removeChildPlatformWidget):
12927 2008-09-25  Timothy Hatcher  <timothy@apple.com>
12929         Fixes a leak of ConsoleMessage seen when repeated console
12930         messages occur.
12932         Reviewed by Mark Rowe.
12934         * page/InspectorController.cpp:
12935         (WebCore::InspectorController::addConsoleMessage): Delete the repeat
12936         since we don't add it to m_consoleMessages.
12938 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
12940         Reviewed by Dan Bernstein.
12942         Bug 21105: XHRs logged in the console may show the wrong URL for the
12943         source
12944         - Get the url at the time of the send() and pass it on to the XHR.
12946         * bindings/js/JSXMLHttpRequestCustom.cpp:
12947         (WebCore::JSXMLHttpRequest::send):
12948         * xml/XMLHttpRequest.cpp:
12949         (WebCore::XMLHttpRequest::didFinishLoading):
12950         * xml/XMLHttpRequest.h:
12951         (WebCore::XMLHttpRequest::setLastSendURL):
12953 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
12955         Reviewed by Geoff and Tim.
12957         Bug 20322: XHRs logged in the console do not have line numbers
12958         - Get the line number at the time of the send and pass it on to the XHR.
12960         * bindings/js/JSXMLHttpRequestCustom.cpp:
12961         (WebCore::JSXMLHttpRequest::send):
12962         * xml/XMLHttpRequest.cpp:
12963         (WebCore::XMLHttpRequest::XMLHttpRequest):
12964         (WebCore::XMLHttpRequest::didFinishLoading):
12965         * xml/XMLHttpRequest.h:
12966         (WebCore::XMLHttpRequest::setLastSendLineNumber):
12968 2008-09-25  Eric Carlson  <eric.carlson@apple.com>
12970         Reviewed by Eric Seidel.
12971         
12972         <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
12973         https://bugs.webkit.org/show_bug.cgi?id=21003
12975         * dom/EventNames.h: remove "begin" event
12976         * html/HTMLMediaElement.cpp:
12977         (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
12979 2008-09-25  Alexey Proskuryakov  <ap@webkit.org>
12981         Reviewed by Eric Seidel.
12983         https://bugs.webkit.org/show_bug.cgi?id=21097
12984         Calling a MessageChannel constructor from a destroyed document results in a crash
12986         Test: fast/events/message-port-constructor-for-deleted-document.html
12988         * bindings/js/JSMessageChannelConstructor.cpp:
12989         (WebCore::JSMessageChannelConstructor::construct):
12990         * bindings/js/JSMessageChannelConstructor.h:
12991         Made m_document a RefPtr.
12993 2008-09-24  Alexey Proskuryakov  <ap@webkit.org>
12995         Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
12997         https://bugs.webkit.org/show_bug.cgi?id=20879
12998         Implement HTML5 channel messaging
13000         Tests: fast/events/message-channel-gc.html
13001                fast/events/message-port-deleted-document.html
13002                fast/events/message-port-deleted-frame.html
13003                fast/events/message-port-inactive-document.html
13004                fast/events/message-port.html
13005                http/tests/security/MessagePort/event-listener-context.html
13007         * Configurations/WebCore.xcconfig:
13008         Removed unused  ENABLE_CROSS_DOCUMENT_MESSAGING macro.
13010         * DerivedSources.make:
13011         Added MessageChannel and MessagePort.
13013         * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
13014         turmed off anyway. Added new files.
13016         * GNUmakefile.am:
13017         * WebCore.pro:
13018         * WebCore.vcproj/WebCore.vcproj:
13019         * WebCore.xcodeproj/project.pbxproj:
13020         * WebCoreSources.bkl:
13021         Added new files.
13023         * bindings/js/JSDOMWindowBase.h:
13024         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
13025         Added suport for window.MessageChannel constructor.
13027         * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
13028         * page/DOMWindow.cpp:
13029         (WebCore::DOMWindow::postMessage):
13030         * page/DOMWindow.h:
13031         * page/DOMWindow.idl:
13032         Added support for three-argument postMessage (that posts a MessagePort).
13034         * dom/EventTarget.cpp:
13035         (WebCore::EventTarget::toMessagePort):
13036         * dom/EventTarget.h:
13037         * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
13038         EventTarget variant.
13040         * bindings/js/JSMessageChannelConstructor.h:
13041         * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
13042         take a browsing context (document) parameter.
13044         * bindings/js/JSMessageChannelCustom.cpp: Added.
13045         (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
13046         port1 and port2 that it owns.
13048         * bindings/js/JSMessagePortCustom.cpp: Added.
13049         (WebCore::JSMessagePort::startConversation):
13050         (WebCore::JSMessagePort::addEventListener):
13051         (WebCore::JSMessagePort::removeEventListener):
13052         (WebCore::JSMessagePort::dispatchEvent):
13053         (WebCore::JSMessagePort::setOnmessage):
13054         (WebCore::JSMessagePort::onmessage):
13055         (WebCore::JSMessagePort::setOnclose):
13056         (WebCore::JSMessagePort::onclose):
13057         (WebCore::JSMessagePort::mark):
13058         * dom/MessagePort.cpp: Added.
13059         * dom/MessagePort.h: Added.
13060         * dom/MessagePort.idl: Added.
13061         Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
13062         with Documents as contexts, but in the future, it will be used for communication with worker
13063         threads.
13065         * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
13066         really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
13067         needed for MessageEvent.
13069         * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
13071         * dom/Document.cpp:
13072         (WebCore::MessagePortTimer::MessagePortTimer):
13073         (WebCore::MessagePortTimer::fired):
13074         (WebCore::Document::processMessagePortMessagesSoon):
13075         (WebCore::Document::~Document):
13076         (WebCore::Document::dispatchMessagePortEvents):
13077         (WebCore::Document::createdMessagePort):
13078         (WebCore::Document::destroyedMessagePort):
13079         * dom/Document.h:
13080         Document keeps track of all MessagePort objects that were created when it was fully active
13081         in its context.
13083         * dom/EventNames.h: Added closeEvent.
13085         * dom/MessageChannel.cpp: Added.
13086         (WebCore::MessageChannel::MessageChannel):
13087         (WebCore::MessageChannel::~MessageChannel):
13088         * dom/MessageChannel.h: Added.
13089         (WebCore::MessageChannel::create):
13090         (WebCore::MessageChannel::port1):
13091         (WebCore::MessageChannel::port2):
13092         * dom/MessageChannel.idl: Added.
13093         Addded JSMessageChannel implementation.
13095         * dom/MessageEvent.cpp:
13096         (WebCore::MessageEvent::MessageEvent):
13097         (WebCore::MessageEvent::initMessageEvent):
13098         * dom/MessageEvent.h:
13099         (WebCore::MessageEvent::create):
13100         (WebCore::MessageEvent::messagePort):
13101         * dom/MessageEvent.idl:
13102         MessageEvent has a MessagePort member now, making it possible to pass ports across
13103         documents.
13105 2008-09-25  David Smith  <catfish.man@gmail.com>
13107         Reviewed by Eric Seidel
13108         
13109         fix https://bugs.webkit.org/show_bug.cgi?id=21091
13110         Regression: querySelector matches tag names case sensitively
13111         
13112         Tests: fast/dom/SelectorAPI/caseTag.html
13113                fast/dom/SelectorAPI/caseTagX.xhtml
13115         * css/CSSParser.cpp:
13116         (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
13117         * css/CSSParser.h:
13118         * dom/Node.cpp:
13119         (WebCore::Node::querySelector):
13120         (WebCore::Node::querySelectorAll):
13122 2008-09-24  David Hyatt  <hyatt@apple.com>
13124         https://bugs.webkit.org/show_bug.cgi?id=21084
13126         Make the m_children member of ScrollView cross-platform.  Consolidate children add/remove
13127         functionality.  Add platform stubs for connecting/disconnecting the platform widgets.
13129         Reviewed by Sam Weinig
13131         * GNUmakefile.am:
13132         * WebCore.pro:
13133         * WebCore.vcproj/WebCore.vcproj:
13134         * WebCore.xcodeproj/project.pbxproj:
13135         * WebCoreSources.bkl:
13136         * platform/ScrollView.h:
13137         (WebCore::ScrollView::children):
13138         * platform/Widget.h:
13139         * platform/gtk/ScrollViewGtk.cpp:
13140         (WebCore::ScrollView::addChildPlatformWidget):
13141         (WebCore::ScrollView::removeChildPlatformWidget):
13142         (WebCore::ScrollView::geometryChanged):
13143         * platform/mac/ScrollViewMac.mm:
13144         (WebCore::ScrollView::addChildPlatformWidget):
13145         (WebCore::ScrollView::removeChildPlatformWidget):
13146         * platform/qt/ScrollViewQt.cpp:
13147         (WebCore::ScrollView::geometryChanged):
13148         (WebCore::ScrollView::addChildPlatformWidget):
13149         (WebCore::ScrollView::removeChildPlatformWidget):
13150         * platform/win/ScrollViewWin.cpp:
13151         (WebCore::ScrollView::geometryChanged):
13152         (WebCore::ScrollView::setParentVisible):
13153         (WebCore::ScrollView::show):
13154         (WebCore::ScrollView::hide):
13155         * platform/wx/ScrollViewWx.cpp:
13156         (WebCore::ScrollView::addChildPlatformWidget):
13157         (WebCore::ScrollView::removeChildPlatformWidget):
13159 2008-09-25  Dan Bernstein  <mitz@apple.com>
13161         Reviewed by Dave Hyatt.
13163         - fix https://bugs.webkit.org/show_bug.cgi?id=21024
13164           <rdar://problem/6240821> Scrollbar not painted until hovered
13166         * rendering/RenderWidget.cpp:
13167         (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
13168         this method, which sets both the location and the size.
13169         (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
13170         with a call to the new method setWidgetGeometry. Positioning the
13171         widget correctly ensures that the scroll bars invalidate correctly when
13172         they are created and resized.
13173         * rendering/RenderWidget.h:
13175 2008-09-24  Dan Bernstein  <mitz@apple.com>
13177         Rubber-stamped by Sam Weinig.
13179         - create a "style" subfolder under "rendering" and move style files to that folder
13181         * WebCore.vcproj/WebCore.vcproj:
13183 2008-09-24  Sam Weinig  <sam@webkit.org>
13185         Reviewed by Maciej Stachowiak.
13187         Remove staticFunctionGetter.  There is only one remaining user of
13188         staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
13190         * bindings/js/JSDOMWindowBase.cpp:
13191         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
13193 2008-09-24  Jeremy Moskovich  <jeremy@chromium.org>
13195         Reviewed by Dan Bernstein.
13197         Test: editing/spelling/inline_spelling_markers.html
13198         
13199         - https://bugs.webkit.org/show_bug.cgi?id=20092
13200         Spelling markers positioned incorrectly in RTL text
13202         Measure spelling markers with selectionRectForText() to fix RTL.
13204         This patch also fixes hit-testing for spelling marker tool tips,
13205         which used to work only on the first line.
13207         * rendering/InlineTextBox.cpp:
13208         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
13210 2008-09-24  David Hyatt  <hyatt@apple.com>
13212         https://bugs.webkit.org/show_bug.cgi?id=21074
13214         Make sure the viewless scrollbar knows how to paint properly when transformed.
13216         Reviewed by Sam Weinig
13218         * platform/mac/ScrollbarThemeMac.mm:
13219         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
13220         (WebCore::ScrollbarThemeMac::paint):
13222 2008-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
13224         Not reviewed. Try to fix win build.
13226         * bindings/js/JSSVGElementInstanceCustom.cpp:
13227         (WebCore::toJS):
13228         * dom/ContainerNodeAlgorithms.h:
13229         (WebCore::removeAllChildrenInContainer):
13230         (WebCore::appendChildToContainer):
13231         (WebCore::Private::addChildNodesToDeletionQueue):
13233 2008-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
13235         Reviewed by Oliver.
13237         Add ContainerNodeAlgorithms.h, as central place to share algorithms
13238         operating on TreeShared-derived classes with a Node-style interface.
13240         This allows SVGElementInstance & ContainerNode to share code.
13242         * dom/ContainerNode.cpp:
13243         (WebCore::ContainerNode::removeAllChildren):
13244         (WebCore::ContainerNode::addChild):
13245         * dom/ContainerNode.h:
13246         * dom/ContainerNodeAlgorithms.h: Added.
13247         (WebCore::removeAllChildrenInContainer):
13248         (WebCore::appendChildToContainer):
13249         (WebCore::Private::NodeRemovalDispatcher::dispatch):
13250         (WebCore::Private::addChildNodesToDeletionQueue):
13252 2008-09-24  Simon Fraser  <simon.fraser@apple.com>
13254         Reviewed by Dave Hyatt
13256         Wrap up dirtying the z-order list of the stacking context
13257         RenderLayer into a method.
13258         https://bugs.webkit.org/show_bug.cgi?id=21072
13260         * rendering/RenderLayer.cpp:
13261         (WebCore::RenderLayer::setHasVisibleContent):
13262         (WebCore::RenderLayer::addChild):
13263         (WebCore::RenderLayer::removeChild):
13264         (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
13265         (WebCore::RenderLayer::styleChanged):
13266         * rendering/RenderLayer.h:
13267         * rendering/RenderObject.cpp:
13268         (WebCore::RenderObject::setStyle):
13270 2008-09-24  Kevin McCullough  <kmccullough@apple.com>
13272         Reviewed by Tim.
13274         Bug 21070: REGRESSION Repeated messages with arguments are not repeated
13275         or displayed multiple times
13276         - The Insepctor Controller was comparing JSValue pointers so thought the
13277         message was not a repeat, but the JS of the inspector compared the
13278         strings and so knew it was the same message and so overwrote the old
13279         message.
13281         * page/InspectorController.cpp:
13282         (WebCore::ConsoleMessage::isEqual):
13283         (WebCore::InspectorController::addMessageToConsole):
13284         (WebCore::InspectorController::addConsoleMessage):
13285         (WebCore::InspectorController::startGroup):
13286         (WebCore::InspectorController::endGroup):
13287         * page/InspectorController.h:
13289 2008-09-24  David Hyatt  <hyatt@apple.com>
13291         Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
13292         arrow placement preference and the thumb jump preference).
13294         Reviewed by Adam Roben
13296         * platform/Scrollbar.cpp:
13297         (WebCore::Scrollbar::Scrollbar):
13298         (WebCore::Scrollbar::~Scrollbar):
13299         * platform/ScrollbarTheme.h:
13300         (WebCore::ScrollbarTheme::registerScrollbar):
13301         (WebCore::ScrollbarTheme::unregisterScrollbar):
13302         * platform/mac/ScrollbarThemeMac.h:
13303         * platform/mac/ScrollbarThemeMac.mm:
13304         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
13305         (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
13306         (+[ScrollbarPrefsObserver registerAsObserver]):
13307         (WebCore::ScrollbarThemeMac::registerScrollbar):
13308         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
13309         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
13310         (WebCore::ScrollbarThemeMac::preferencesChanged):
13312 2008-09-24  Rob Buis  <buis@kde.org>
13314         Reviewed by Darin.
13316         https://bugs.webkit.org/show_bug.cgi?id=20557
13317         getScreenCTM() returns wrong values
13319         Use the absolute position of the svg root when
13320         determining the screen ctm.
13322         Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
13324         * svg/SVGSVGElement.cpp:
13325         (WebCore::SVGSVGElement::getScreenCTM):
13327 2008-09-24  David Hyatt  <hyatt@apple.com>
13329         Turn off support for CSS variables.
13331         * ChangeLog:
13332         * css/CSSParser.cpp:
13333         (WebCore::CSSParser::createVariablesRule):
13334         (WebCore::CSSParser::addVariable):
13335         (WebCore::CSSParser::addVariableDeclarationBlock):
13337 2008-09-24  David Hyatt  <hyatt@apple.com>
13339         Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
13341         * css/CSSGrammar.y:
13342         * css/CSSParserValues.cpp:
13343         (WebCore::CSSParserValue::isVariable):
13344         * css/CSSPrimitiveValue.cpp:
13345         (WebCore::CSSPrimitiveValue::cleanup):
13346         (WebCore::CSSPrimitiveValue::getStringValue):
13347         (WebCore::CSSPrimitiveValue::cssText):
13348         (WebCore::CSSPrimitiveValue::parserValue):
13349         * css/CSSPrimitiveValue.h:
13350         (WebCore::CSSPrimitiveValue::):
13351         (WebCore::CSSPrimitiveValue::isVariable):
13353 2008-09-24  Timothy Hatcher  <timothy@apple.com>
13355         Fixes a regression where the "incorrect MIME-type" warning would not
13356         show up correctly in the Console or the resources sidebar.
13358         Reviewed by Kevin McCullough.
13360         * page/inspector/Resource.js:
13361         (WebInspector.Resource.prototype._addTip): Add the repeat count argument
13362         to the WebInspector.ConsoleMessage constructor call.
13363         (WebInspector.Resource.prototype._checkWarning): Ditto.
13365 2008-09-23  Tor Arne Vestbø  <tavestbo@trolltech.com>
13367         Reviewed by Simon.
13369         Remove deprecated JS Qt bindings object call/construct code and fix autotests
13371         * bridge/qt/qt_instance.cpp:
13372         (JSC::Bindings::QtInstance::QtInstance):
13373         * bridge/qt/qt_instance.h:
13375 2008-09-23  Julien Chaffraix  <jchaffraix@pleyo.com>
13377         Reviewed by Alp Toker. Landed by Jan Alonzo.
13379         Bug 20883: [CURL] Add deferred loading
13380         https://bugs.webkit.org/show_bug.cgi?id=20883
13382         Implement deferred loading for the libcURL backend using curl_easy_pause.
13383         As the method was introduced in version 7.18.0, all the code checks for libcURL
13384         version.
13386         * platform/network/curl/ResourceHandleCurl.cpp:
13387         (WebCore::ResourceHandle::setDefersLoading):
13388         * platform/network/curl/ResourceHandleManager.cpp:
13389         (WebCore::writeCallback): Add an assertion that deferred loading is not
13390         activated.
13391         (WebCore::headerCallback): Ditto.
13392         (WebCore::readCallback): Ditto.
13393         (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
13394         defersLoading to be false in order to avoid triggering an assertion.
13395         (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
13396         activated, pause the easy handle.
13398 2008-09-23  Matt Lilek  <webkit@mattlilek.com>
13400         Reviewed by Tim Hatcher.
13402         Inspector search field style tweaks.
13404         * page/inspector/inspector.css:
13406 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
13408         Reviewed by Eric.
13410         Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
13412         Fix missing negation in EventTargetNode::insertedIntoDocument.
13413         Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
13414         Remove code, that wasn't supposed to go in in dispatchGenericEvent().
13416         * dom/EventTargetNode.cpp:
13417         (WebCore::EventTargetNode::insertedIntoDocument):
13418         (WebCore::EventTargetNode::dispatchGenericEvent):
13419         * dom/EventTargetNode.h:
13421 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13423         Adds search support to the Profiles panel.
13425         The Profiles panel supports a few types of queries:
13426          * Standard string matching for function names and file URLs.
13427          * Greater than and less than search for numeric columns.
13428            So a query of ">24" will match all rows that have calls
13429            greater than 24. Or "<=42" will match all 42 or less.
13430          * Percent and time units. Adding a unit of "s", "ms" or "%"
13431            is supported and will match only the Self and Total columns.
13432            So a query of ">1.25s" will match all rows that took longer
13433            than 1.25 seconds.
13435         Reviewed by Oliver Hunt.
13437         * page/inspector/ProfileView.js:
13438         (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
13439         it will start at the first result.
13440         (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
13441         (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
13442         data grid nodes.
13443         (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
13444         (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
13445         (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
13446         (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
13447         (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
13448         (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
13449         (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
13450         (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
13451         Expand all the ancestors first so the profile node will have a DataGridNode.
13452         (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
13453         (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
13454         have search matches.
13455         * page/inspector/ProfilesPanel.js:
13456         (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
13457         (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
13458         (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
13459         (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
13460         (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView  to visibleView.
13461         (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
13462         (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
13463         (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
13464         (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
13465         * page/inspector/inspector.css: New style rules for the cell highlight color.
13467 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13469         Adds search support to the Resources and Scripts panels.
13471         https://bugs.webkit.org/show_bug.cgi?id=21005
13473         Reviewed by Oliver Hunt.
13475         * page/inspector/Images/searchSmallBlue.png: Added.
13476         * page/inspector/Images/searchSmallBrightBlue.png: Added.
13477         * page/inspector/Images/searchSmallGray.png: Added.
13478         * page/inspector/Images/searchSmallWhite.png: Added.
13479         * page/inspector/ResourceView.js:
13480         (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
13481         or "script-resource-views" since one might not be created yet.
13482         * page/inspector/ResourcesPanel.js:
13483         (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
13484         are not this panel's current visible view. This can happen when a ResourceView is
13485         visible in the Scripts panel then switched to the this panel.
13486         (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
13487         visibleView first.
13488         (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
13489         that uses the current graph search function. So cycling through results will be in the order
13490         things appear in the sidebar.
13491         (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
13492         resource's sidebar tree element.
13493         (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
13494         in the sidebar. Calls the Panel prototype's searchCanceled.
13495         (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
13496         in the sidebar. Calls the Panel prototype's performSearch.
13497         (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
13498         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
13499         if there is a current search query.
13500         (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
13501         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
13502         (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
13503         (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
13504         (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
13505         (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
13506         * page/inspector/ScriptView.js:
13507         (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
13508         (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
13509         it will start at the first result.
13510         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
13511         highlighting complete".
13512         (WebInspector.ScriptView.prototype): Share many methods with SourceView.
13513         * page/inspector/ScriptsPanel.js:
13514         (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
13515         This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
13516         (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
13517         (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
13518         (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
13519         (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
13520         * page/inspector/SourceFrame.js:
13521         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
13522         * page/inspector/SourceView.js:
13523         (WebInspector.SourceView.prototype.hide):
13524         (WebInspector.SourceView.prototype.detach):
13525         (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
13526         (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
13527         (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
13528         (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
13529         store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
13530         (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
13531         (WebInspector.SourceView.prototype.jumpToLastSearchResult):
13532         (WebInspector.SourceView.prototype.jumpToNextSearchResult):
13533         (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
13534         (WebInspector.SourceView.prototype.showingFirstSearchResult):
13535         (WebInspector.SourceView.prototype.showingLastSearchResult):
13536         (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
13537         (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
13538         (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
13539         * page/inspector/inspector.css:
13541 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13543         Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
13544         so future code can be shared.
13546         https://bugs.webkit.org/show_bug.cgi?id=21005
13548         Reviewed by Oliver Hunt.
13550         * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
13551         And visibleResourceView to visibleView.
13552         * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
13554 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13556         Highlight all matched search results in the Elements panel DOM tree.
13558         https://bugs.webkit.org/show_bug.cgi?id=21005
13560         Reviewed by Oliver Hunt.
13562         * page/inspector/ElementsPanel.js:
13563         (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
13564         on all previous search results.
13565         (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
13566         on all new search results.
13567         * page/inspector/ElementsTreeOutline.js:
13568         (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
13569         (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
13570         the highlighted class on the listItemElement.
13571         (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
13572         if needed. Calls _updateTitle.
13573         (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
13574         class so it can be styled when the highlighted class is present.
13575         * page/inspector/inspector.css: New style rules for the hihglight.
13577 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13579         Add search support to the Elements panel.
13581         https://bugs.webkit.org/show_bug.cgi?id=21005
13583         Reviewed by Oliver Hunt.
13585         * page/inspector/ElementsPanel.js:
13586         (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
13587         with a 0 match count to rest. Reset the other search properties.
13588         (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
13589         query and a CSS selector on all the Documents in the page. Remembers the found nodes
13590         and avoids duplicates. Focuses the first result.
13591         (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
13592         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
13594 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13596         Add support to Panel that allows easy searching of sub-views.
13598         https://bugs.webkit.org/show_bug.cgi?id=21005
13600         Reviewed by Oliver Hunt.
13602         * page/inspector/Panel.js:
13603         (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
13604         views in the search results and delete the currentQuery property. Call
13605         WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
13606         other search properties.
13607         (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
13608         reset everything we need before doing a new search. Get an array of searchableViews
13609         from the panel, implemented by sub-classes. Iterate over the views one-by-one
13610         with an interval to prevent blocking the UI for large lists of searchableViews.
13611         This keeps the interface really responsive. Pass a finishedCallback function to
13612         the performSearch on each view so it can notify the panel of results.
13613         (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
13614         searchResults of the visibleView, so we know where in the results we are.
13615         This is done every time incase the user manually navigates to a new view.
13616         If the view is showing the last result, jump to the next view and show it's
13617         first result. Otherwise jump to the next result in the current view.
13618         (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
13620 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13622         Add support for asking the current panel to perform a search, find next/previous and clear.
13623         A search is performed on the new new current panel when switching between panels. The search
13624         label/placeholder in the toolbar now includes the panel name to make it clear that panel will
13625         be searched. The search field contents are selected when Command/Control-F or Enter/Return
13626         is pressed, so the user can easily type an entirely new query. The search match count shows
13627         up in the toolbar next to the search field.
13629         Also changed:
13630          * Rename lastQuery to currentQuery since it better matches the truth.
13631          * Set the search field "results" attribute to zero since results arn't saved for
13632            how we use the search field.
13633          * Make repeated presses of the Return key jump to the next search result instead
13634            of doing nothing.
13635          * Increased the search field width.
13637         https://bugs.webkit.org/show_bug.cgi?id=21005
13639         Reviewed by Oliver Hunt.
13641         * English.lproj/localizedStrings.js: New strings.
13642         * page/inspector/inspector.css: New styles.
13643         * page/inspector/inspector.html: Add the search-results-matches element. Add the
13644         incremental attribute to the search field and set the results attribute to zero.
13645         * page/inspector/inspector.js:
13646         (WebInspector.set currentPanel): perform the search on the new panel.
13647         (WebInspector.loaded): Change the event listeners and remove code that changes
13648         the search label text.
13649         (WebInspector.documentKeyDown): Add support for Command/Control-G and
13650         Command/Control-Shift-G. To jump to the next and previous search results.
13651         (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
13652         This does different things depending on the attached state.
13653         (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
13654         This prevents a "search" event from firing for key down. We handle the Enter key
13655         on key up in searchKeyUp. This stops performSearch from being called twice in a row.
13656         (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
13657         (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
13658         on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
13659         Call updateSearchMatchesCount to reset the matches count in the toolbar.
13660         (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
13662 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13664         Remove the previous Inspector search code to make room for the new stuff.
13666         https://bugs.webkit.org/show_bug.cgi?id=21005
13668         Reviewed by Oliver Hunt.
13670         * page/inspector/inspector.css:
13671         * page/inspector/inspector.html:
13672         * page/inspector/inspector.js:
13673         (WebInspector.get/set showingSearchResults): Removed.
13674         (WebInspector.searchResultsKeyDown): Removed.
13675         (WebInspector.searchResultsResizerDragStart): Removed.
13676         (WebInspector.searchResultsResizerDragEnd): Removed.
13677         (WebInspector.searchResultsResizerDrag): Removed.
13678         (WebInspector.performSearch): Removed searching parts.
13680 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13682         Use the Array.remove helper function in more places.
13684         https://bugs.webkit.org/show_bug.cgi?id=21037
13686         Reviewed by Kevin McCullough.
13688         * page/inspector/ResourceCategory.js:
13689         (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
13690         * page/inspector/ResourcesPanel.js:
13691         (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
13692         * page/inspector/inspector.js:
13693         (WebInspector.removeResource): Ditto.
13695 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13697         Fixes a bug where inspecting a node after reloading the page
13698         would not reveal the node in the DOM tree. The TreeOutline
13699         was not being told to forget decendants of a removed child.
13700         So old TreeElements would be found that are not in the tree.
13702         https://bugs.webkit.org/show_bug.cgi?id=21036
13704         Reviewed by Kevin McCullough.
13706         * page/inspector/treeoutline.js:
13707         (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
13708         in addition to _forgetTreeElement.
13709         (TreeOutline._removeChildren): Call _forgetChildrenRecursive
13710         in addition to _forgetTreeElement.
13711         (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
13712         search for known elements.
13713         (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
13714         (TreeOutline._forgetChildrenRecursive): Recursively traverse the
13715         descendants and call _forgetTreeElement.
13716         * page/inspector/utilities.js:
13717         (Array.prototype.remove): Speed up this function by using Array.indexOf
13718         when onlyFirst is true.
13720 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13722         Fixes a bug where inspecting some short text nodes does
13723         not reveal them in the Elements panel DOM tree.
13725         https://bugs.webkit.org/show_bug.cgi?id=21035
13727         Reviewed by Oliver Hunt.
13729         * page/inspector/ElementsTreeOutline.js:
13730         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
13731         The revealAndSelectNode() method might find a different element
13732         if there is inlined text, and the select() call would change the
13733         focusedDOMNode and reenter this setter. So to avoid calling
13734         focusedNodeChanged() twice, first check if _focusedDOMNode is
13735         the same node as the one passed in.
13736         (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
13737         this.treeOutline, since this is the TreeOutline.
13738         (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
13739         Provides default functions for isAncestor, getParet and equal.
13740         Calls the base protoype's findTreeElement. If that returns null
13741         and the node is a text node, try finding it's parent.
13742         (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
13743         Renamed to revealAndSelectNode.
13744         (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
13745         Selects and reveals the node passed in. Use the simple findTreeElement.
13746         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
13747         Remove use of this.treeOutline, since this is the TreeOutline.
13749 2008-09-23  Timothy Hatcher  <timothy@apple.com>
13751         Fixes an exception that happened when removing a Resource
13752         from the ResourcesPanel.
13754         https://bugs.webkit.org/show_bug.cgi?id=21034
13756         Reviewed by Kevin McCullough.
13758         * page/inspector/ResourcesPanel.js:
13759         (WebInspctor.ResourcesPanel.prototype.removeResource):
13760         Remove the graphElement.
13762 2008-09-23  Kevin McCullough  <kmccullough@apple.com>
13764         Fixed "Time" to "Tim"
13766         * ChangeLog:
13768 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
13770         Reviewed by Oliver.
13772         Move mapInstanceToElement/removeInstanceMapping/instancesForElement
13773         from SVGDocumentExtensions to SVGElement. It's more useful to store
13774         the list of SVGElementInstances per SVGElement, instead of using
13775         a document-wide hash for this purpose.
13777         * svg/SVGAnimateMotionElement.cpp:
13778         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
13779         * svg/SVGAnimateTransformElement.cpp:
13780         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
13781         * svg/SVGAnimationElement.cpp:
13782         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
13783         * svg/SVGDocumentExtensions.cpp:
13784         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
13785         * svg/SVGDocumentExtensions.h:
13786         * svg/SVGElement.cpp:
13787         (WebCore::SVGElement::mapInstanceToElement):
13788         (WebCore::SVGElement::removeInstanceMapping):
13789         (WebCore::SVGElement::instancesForElement):
13790         * svg/SVGElement.h:
13791         * svg/SVGElementInstance.cpp:
13792         (WebCore::SVGElementInstance::SVGElementInstance):
13793         (WebCore::SVGElementInstance::~SVGElementInstance):
13794         (WebCore::SVGElementInstance::updateAllInstancesOfElement):
13795         * svg/SVGElementInstance.h:
13796         * svg/SVGStyledElement.cpp:
13797         (WebCore::SVGStyledElement::svgAttributeChanged):
13798         (WebCore::SVGStyledElement::childrenChanged):
13799         * svg/SVGStyledElement.h:
13801 2008-09-23  Kevin Ollivier  <kevino@theolliviers.com>
13803         wx build fix.
13805         * WebCoreSources.bkl:
13807 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
13809         Rubber stamped by Sam.
13811         Move code from EventTarget to EventTargetNode.
13813         I refactored most parts to live in EventTarget, a year ago,
13814         though the implementation of EventTargetSVGElementInstance is
13815         done in another way, that obsoletes this.
13817         * dom/Document.cpp:
13818         (WebCore::Document::addListenerTypeIfNeeded):
13819         * dom/Document.h:
13820         * dom/EventTarget.cpp:
13821         * dom/EventTarget.h:
13822         (WebCore::allowEventDispatch):
13823         * dom/EventTargetNode.cpp:
13824         (WebCore::EventTargetNode::insertedIntoDocument):
13825         (WebCore::EventTargetNode::removedFromDocument):
13826         (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
13827         (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
13828         (WebCore::EventTargetNode::addEventListener):
13829         (WebCore::EventTargetNode::removeEventListener):
13830         (WebCore::EventTargetNode::removeAllEventListeners):
13831         (WebCore::EventTargetNode::handleLocalEvents):
13832         (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
13833         (WebCore::EventTargetNode::dispatchEvent):
13834         (WebCore::EventTargetNode::dispatchGenericEvent):
13835         (WebCore::EventTargetNode::dispatchWindowEvent):
13836         (WebCore::EventTargetNode::removeEventListenerForType):
13837         * dom/EventTargetNode.h:
13838         * svg/EventTargetSVGElementInstance.cpp:
13839         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
13840         * svg/SVGElement.cpp:
13841         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
13842         * svg/SVGElement.h:
13843         (WebCore::SVGElement::supplementalTransform):
13845 2008-09-23  Dave Hyatt  <hyatt@apple.com>
13847         Fix for bug 21012.  The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme.  Make
13848         sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
13849         
13850         Reviewed by Sam Weinig
13852         * platform/mac/ScrollbarThemeMac.mm:
13853         (WebCore::ScrollbarThemeMac::trackRect):
13854         * platform/win/ScrollbarThemeSafari.cpp:
13855         (WebCore::ScrollbarTheme::nativeTheme):
13856         (WebCore::ScrollbarThemeSafari::trackRect):
13858 2008-09-23  Beth Dakin  <bdakin@apple.com>
13860         Reviewed by Sam Weinig.
13862         Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact" 
13863         link at gmail does not support AXPress action
13864         and corresponding: <rdar://problem/6216178>
13866         I fixed this bug by making AccessibilityObject::anchorElement 
13867         support ARIA links.
13869         * page/AccessibilityImageMapLink.cpp:
13870         (WebCore::AccessibilityImageMapLink::anchorElement):
13871         * page/AccessibilityImageMapLink.h:
13872         * page/AccessibilityObject.cpp:
13873         (WebCore::AccessibilityObject::anchorElement):
13874         * page/AccessibilityObject.h:
13875         (WebCore::AccessibilityObject::isNativeAnchor):
13876         * page/AccessibilityRenderObject.cpp:
13877         (WebCore::AccessibilityRenderObject::isNativeAnchor):
13878         (WebCore::AccessibilityRenderObject::anchorElement):
13879         (WebCore::AccessibilityRenderObject::internalLinkElement):
13880         (WebCore::AccessibilityRenderObject::url):
13881         * page/AccessibilityRenderObject.h:
13882         * page/mac/AccessibilityObjectWrapper.mm:
13883         (AXLinkElementForNode):
13885 2008-09-23  Kevin McCullough  <kmccullough@apple.com>
13887         Reviewed by Tim and Oliver.
13889         Bug 20949: Catch repeated messages in Inspector Controller to limit
13890         memory usage
13891         - Store the repeat count in the Console Message object, in the 
13892         Inspector Controller and JS ConsoleMessage object.
13894         * page/InspectorController.cpp:
13895         (WebCore::ConsoleMessage::ConsoleMessage):
13896         (WebCore::ConsoleMessage::operator==):
13897         (WebCore::InspectorController::InspectorController):
13898         (WebCore::InspectorController::addConsoleMessage):
13899         (WebCore::InspectorController::addScriptConsoleMessage):
13900         * page/InspectorController.h:
13901         * page/inspector/Console.js:
13902         * page/inspector/Resource.js:
13903         * page/inspector/ResourcesPanel.js:
13904         * page/inspector/SourceFrame.js:
13906 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
13908         Reviewed by Eric.
13910         Working on proper EventTarget support for SVGElementInstance.
13912         Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
13913         Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
13915         Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
13916         implementation. Let it use TreeShared directly.
13918         It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
13919         The transition to EventTargetSVGElementInstance will be done in a few individual patches.
13921         * GNUmakefile.am:
13922         * WebCore.pro:
13923         * WebCore.vcproj/WebCore.vcproj:
13924         * WebCore.xcodeproj/project.pbxproj:
13925         * bindings/js/JSEventTargetBase.cpp:
13926         (WebCore::retrieveEventTargetAndCorrespondingNode):
13927         (WebCore::toJS):
13928         * bindings/js/JSEventTargetBase.h:
13929         * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
13930         (WebCore::):
13931         (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
13932         (WebCore::JSEventTargetSVGElementInstance::createPrototype):
13933         (WebCore::JSEventTargetSVGElementInstance::setListener):
13934         (WebCore::JSEventTargetSVGElementInstance::getListener):
13935         (WebCore::toEventTargetSVGElementInstance):
13936         * bindings/js/JSEventTargetSVGElementInstance.h: Added.
13937         (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
13938         (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
13939         (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
13940         (WebCore::JSEventTargetSVGElementInstance::put):
13941         (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
13942         * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
13943         (WebCore::toJS):
13944         * bindings/objc/DOM.mm:
13945         (+[DOMNode _wrapEventTarget:WebCore::]):
13946         (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
13947         (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
13948         (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
13949         (-[DOMSVGElementInstance WebCore::]):
13950         (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
13951         (-[DOMSVGElementInstance addEventListener:::]):
13952         (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
13953         (-[DOMSVGElementInstance removeEventListener:::]):
13954         (-[DOMSVGElementInstance dispatchEvent:]):
13955         * bindings/objc/DOMEvents.h:
13956         * bindings/scripts/CodeGeneratorJS.pm:
13957         * bindings/scripts/CodeGeneratorObjC.pm:
13958         * svg/EventTargetSVGElementInstance.cpp: Added.
13959         (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
13960         (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
13961         (WebCore::EventTargetSVGElementInstance::addEventListener):
13962         (WebCore::EventTargetSVGElementInstance::removeEventListener):
13963         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
13964         * svg/EventTargetSVGElementInstance.h: Added.
13965         (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
13966         (WebCore::EventTargetSVGElementInstance::toNode):
13967         (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
13968         (WebCore::EventTargetSVGElementInstance::refEventTarget):
13969         (WebCore::EventTargetSVGElementInstance::derefEventTarget):
13970         (WebCore::EventTargetSVGElementInstanceCast):
13971         * svg/SVGElement.cpp:
13972         (WebCore::SVGElement::dispatchEvent):
13973         * svg/SVGElementInstance.cpp:
13974         (WebCore::SVGElementInstance::SVGElementInstance):
13975         (WebCore::SVGElementInstance::~SVGElementInstance):
13976         * svg/SVGElementInstance.h:
13977         (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
13978         * svg/SVGElementInstance.idl:
13980 2008-09-23  Dan Bernstein  <mitz@apple.com>
13982         Reviewed by Dave Hyatt.
13984         - https://bugs.webkit.org/show_bug.cgi?id=21040
13985           Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
13987         * platform/graphics/mac/SimpleFontDataMac.mm:
13988         (WebCore::SimpleFontData::getCTFont):
13990 2008-09-23  David Hyatt  <hyatt@apple.com>
13992         https://bugs.webkit.org/show_bug.cgi?id=21039
13994         Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
13996         Reviewed by Sam Weinig
13998         * platform/ScrollView.h:
13999         * platform/Scrollbar.cpp:
14000         (WebCore::Scrollbar::setFrameGeometry):
14001         * platform/Scrollbar.h:
14002         * platform/Widget.cpp:
14003         (WebCore::Widget::convertFromContainingWindow):
14004         * platform/Widget.h:
14005         * platform/mac/ScrollViewMac.mm:
14006         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14007         (WebCore::ScrollView::ScrollView):
14008         (WebCore::ScrollView::~ScrollView):
14009         (WebCore::ScrollView::windowResizerRect):
14010         (WebCore::ScrollView::resizerOverlapsContent):
14011         (WebCore::ScrollView::adjustOverlappingScrollbarCount):
14012         (WebCore::ScrollView::setParent):
14013         * platform/mac/WidgetMac.mm:
14014         (WebCore::Widget::convertFromContainingWindow):
14016 2008-09-23  Dirk Schulze  <vbs85@gmx.de>
14018         Reviewed by Darin Adler. Landed by Jan Alonzo.
14020         Added support for getImageData() and putImageData()
14021         to Cairo.
14023         [CAIRO] needs getImageData and putImageData support
14024         https://bugs.webkit.org/show_bug.cgi?id=20838
14026         * platform/graphics/cairo/ImageBufferCairo.cpp:
14027         (WebCore::ImageBuffer::ImageBuffer):
14028         (WebCore::ImageBuffer::getImageData):
14029         (WebCore::ImageBuffer::putImageData):
14031 2008-09-23  Marco Barisione  <marco.barisione@collabora.co.uk>
14033         Reviewed by Holger Freyther.
14035         http://bugs.webkit.org/show_bug.cgi?id=18987
14036         [GTK] Implement SharedBuffer::createWithContentsOfFile and
14037         KURL::fileSystemPath
14039         * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
14040         * platform/gtk/KURLGtk.cpp: Added.
14041         (WebCore::KURL::fileSystemPath): Implemented.
14042         * platform/gtk/SharedBufferGtk.cpp: Added.
14043         (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
14044         * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
14046 2008-09-23  Alexey Proskuryakov  <ap@webkit.org>
14048         Reviewed by Oliver Hunt, okayed by Darin Adler.
14050         <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
14052         * rendering/InlineTextBox.cpp:
14053         (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
14055 2008-09-23  Alexey Proskuryakov  <ap@webkit.org>
14057         Reviewed by Darin Adler.
14059         https://bugs.webkit.org/show_bug.cgi?id=21023
14060         Don't use TEC for encodings supported by ICU
14062         * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
14063         x-mac-greek, and x-mac-turkish.
14065         * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
14066         Register aliases for these encodings that are not registered automatically; updated comments.
14068 2008-09-23  Maciej Stachowiak  <mjs@apple.com>
14070         Reviewed by Darin.
14072         - speed up instanceof some more
14073         https://bugs.webkit.org/show_bug.cgi?id=20818
14075         ~2% speedup on EarleyBoyer
14077         (WebCore updates.)
14078         
14079         * bindings/js/JSQuarantinedObjectWrapper.h:
14080         (WebCore::JSQuarantinedObjectWrapper::createStructureID):
14082 2008-09-22  Darin Adler  <darin@apple.com>
14084         Reviewed by Oliver Hunt.
14086         - fix https://bugs.webkit.org/show_bug.cgi?id=21008
14087           getting pixels by index from CanvasPixelArray is unnecessarily slow
14089         * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
14090         * WebCore.vcproj/WebCore.vcproj: Ditto.
14091         * WebCore.xcodeproj/project.pbxproj: Ditto.
14093         * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
14094           indexSetter. These are now both inlined, so in the header.
14095         * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
14096           function is what's used for HasCustomIndexGetter. Also moved the
14097           indexSetter function here.
14099         * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
14100           to use a getByIndex member function rather than an indexGetter static
14101           member function in a property slot. This lets us avoid the property
14102           slot mechanism's rule where it turns numeric property names into
14103           strings in the identifier table, which is good because that's slow.
14104           Also added a new property CustomHeader that allows IDL files to
14105           introduce headers to be included -- useful when we have functions
14106           that we want to inline into the binding.
14108         * html/CanvasPixelArray.idl: Added CustomHeader attribute.
14110 2008-09-23  Eric Seidel  <eric@webkit.org>
14112         No review, build fix only.
14114         Another blind stab in the dark.
14116         * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
14118 2008-09-23  Eric Seidel  <eric@webkit.org>
14120         No review, build fix only.
14121         
14122         Third time's the charm, eh?  My local build is sadly still not done...
14124         * platform/graphics/AffineTransform.cpp: remove extra &
14125         * platform/graphics/AffineTransform.h: remove extra &
14127 2008-09-22  Eric Seidel  <eric@webkit.org>
14129         No review, build fix only.
14131         * platform/graphics/AffineTransform.cpp: remove extra ;
14133 2008-09-22  Eric Seidel  <eric@webkit.org>
14135         No review, build fix only.
14137         Speculative fix for the build while I wait for my compile to finish.
14139         * platform/graphics/AffineTransform.cpp:
14141 2008-09-22  Dirk Schulze  <vbs85@gmx.de>
14143         Reviewed by eseidel.  Landed by eseidel.
14145         Moved makeMapBetweenRects from SVG/CG to AffineTransform
14146         Make SVGResourceClipper::applyClip more cross-platform
14148         * platform/graphics/AffineTransform.cpp:
14149         * platform/graphics/AffineTransform.h:
14150         * svg/graphics/cg/CgSupport.cpp:
14151         * svg/graphics/cg/CgSupport.h:
14152         * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
14153         (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
14154         * svg/graphics/cg/SVGResourceClipperCg.cpp:
14155         (WebCore::SVGResourceClipper::applyClip):
14157 2008-09-22  Alp Toker  <alp@nuanti.com>
14159         Reviewed by David Hyatt.
14161         https://bugs.webkit.org/show_bug.cgi?id=16331
14162         [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
14164         Obey GTK+ focusing conventions for controls and anchor elements.
14166         It could be interesting to push these decisions up to Settings or
14167         ChromeClient some day but this gets things working.
14169         Right and middle click events still need some work to match GTK+
14170         conventions.
14172         * html/HTMLAnchorElement.cpp:
14173         (WebCore::HTMLAnchorElement::isMouseFocusable):
14174         * html/HTMLFormControlElement.cpp:
14175         (WebCore::HTMLFormControlElement::isMouseFocusable):
14176         * page/EventHandler.cpp:
14177         (WebCore::EventHandler::sendContextMenuEvent):
14179 2008-09-22  Darin Adler  <darin@apple.com>
14181         * page/mac/FrameMac.mm:
14182         (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
14184 2008-09-22  Sam Weinig  <sam@webkit.org>
14186         Reviewed by Dan Bernstein.
14188         Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
14189         Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
14190         and setSelectionRange.  This also allows us to remove the legacy JSHTMLInputElementBase
14191         class!
14193         - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
14194           non-selectable input types, but return undefined when accessed.
14196         * DerivedSources.make:
14197         * GNUmakefile.am:
14198         * WebCore.pro:
14199         * WebCore.vcproj/WebCore.vcproj:
14200         * WebCore.xcodeproj/project.pbxproj:
14201         * WebCoreSources.bkl:
14202         * bindings/js/JSHTMLInputElementBase.cpp: Removed.
14203         * bindings/js/JSHTMLInputElementBase.h: Removed.
14204         * bindings/js/JSHTMLInputElementCustom.cpp: Added.
14205         (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
14206         (WebCore::JSHTMLInputElement::selectionStart):
14207         (WebCore::JSHTMLInputElement::selectionEnd):
14208         * bindings/js/JSHTMLInputElementCustom.h: Added.
14209         * html/HTMLInputElement.idl:
14211 2008-09-22  Dan Bernstein  <mitz@apple.com>
14213         Reviewed by Sam Weinig.
14215         - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
14217         Not testable in DumpRenderTree or in Safari
14219         * page/mac/FrameMac.mm:
14220         (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
14221         case that the selection start node is a block.
14223 2008-09-22  David Hyatt  <hyatt@apple.com>
14225         https://bugs.webkit.org/show_bug.cgi?id=21007
14227         Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
14229         Reviewed by Sam Weinig
14231         * page/EventHandler.cpp:
14232         (WebCore::EventHandler::handleMouseDoubleClickEvent):
14234 2008-09-22  Eric Seidel  <eric@webkit.org>
14236         No review, rollback only.
14238         Roll out Peter's change (per his request)
14239         http://trac.webkit.org/changeset/36069
14240         https://bugs.webkit.org/show_bug.cgi?id=19663
14241         This change has been the source of numerous regressions
14242         (several of which were latent bugs revealed by this change,
14243         others were bugs in this change)
14245         * platform/graphics/BitmapImage.cpp:
14246         (WebCore::BitmapImage::BitmapImage):
14247         (WebCore::BitmapImage::startAnimation):
14248         (WebCore::BitmapImage::advanceAnimation):
14249         * platform/graphics/BitmapImage.h:
14250         * platform/graphics/cairo/ImageCairo.cpp:
14251         (WebCore::BitmapImage::draw):
14252         * platform/graphics/cg/ImageCG.cpp:
14253         (WebCore::BitmapImage::draw):
14254         * platform/graphics/qt/ImageQt.cpp:
14255         (WebCore::BitmapImage::draw):
14256         * platform/graphics/wx/ImageWx.cpp:
14257         (WebCore::BitmapImage::draw):
14259 2008-09-22  Dan Bernstein  <mitz@apple.com>
14261         Reviewed by Sam Weinig.
14263         - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
14265         Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
14266                platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
14268         * config.h: Use Core Text if not building for Leopard or Tiger.
14270 2008-09-22  David Hyatt  <hyatt@apple.com>
14272         https://bugs.webkit.org/show_bug.cgi?id=21006
14274         Add code that paints an NSView-less scroller using HIThemeDrawTrack.  This scrollbar is still not
14275         switched on.  There are still a few more refinements to make to the rendering and behavior.
14277         Reviewed by Darin Adler
14279         * platform/ScrollbarThemeComposite.cpp:
14280         (WebCore::ScrollbarThemeComposite::paint):
14281         * platform/ScrollbarThemeComposite.h:
14282         (WebCore::ScrollbarThemeComposite::paintTrack):
14283         (WebCore::ScrollbarThemeComposite::paintButton):
14284         (WebCore::ScrollbarThemeComposite::paintThumb):
14285         * platform/mac/ScrollbarThemeMac.h:
14286         * platform/mac/ScrollbarThemeMac.mm:
14287         (WebCore::ScrollbarThemeMac::backButtonRect):
14288         (WebCore::ScrollbarThemeMac::forwardButtonRect):
14289         (WebCore::scrollbarPartToHIPressedState):
14290         (WebCore::ScrollbarThemeMac::paint):
14291         * platform/mac/WidgetMac.mm:
14292         (WebCore::Widget::invalidateRect):
14294 2008-09-22  Chris Marrin  <cmarrin@apple.com>
14296         Reviewed by Sam Weinig
14298         transition end event when -webkit-transition-property: all puts wrong
14299         propertyName in event
14300         https://bugs.webkit.org/show_bug.cgi?id=20903
14301         
14302         * page/animation/ImplicitAnimation.cpp:
14303         (WebCore::ImplicitAnimation::sendTransitionEvent):
14305 2008-09-22  Chris Fleizach  <cfleizach@apple.com>
14307         Reviewed by Darin Adler.
14309         <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
14311         Test: accessibility/table-one-cell.html
14313         * page/AccessibilityTable.cpp:
14314         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
14316 2008-09-22  Chris Fleizach  <cfleizach@apple.com>
14318         Reviewed by Darin Adler.
14320         <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
14322         Test: accessibility/textarea-selected-text-range.html
14324         * page/AccessibilityRenderObject.cpp:
14325         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
14327 2008-09-22  David Hyatt  <hyatt@apple.com>
14329         Clean up some parent relationships in the back end stylesheet code.  Make sure parentStyleSheet
14330         properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
14331         parent.  Also fix the doc() method so that it is properly set when the parent of the sheet is an import
14332         rule.
14334         Reviewed by Sam Weinig
14336         Added fast/css/nested-rule-parent-sheet.html
14338          * css/CSSImportRule.cpp:
14339         (WebCore::CSSImportRule::insertedIntoParent):
14340         * css/CSSRule.cpp:
14341         (WebCore::CSSRule::parentStyleSheet):
14342         (WebCore::CSSRule::parentRule):
14343         * css/CSSStyleSheet.cpp:
14344         (WebCore::CSSStyleSheet::CSSStyleSheet):
14345         * css/CSSStyleSheet.h:
14347 2008-09-22  Dan Bernstein  <mitz@apple.com>
14349         Reviewed by Sam Weinig.
14351         - fix https://bugs.webkit.org/show_bug.cgi?id=21002
14352           Make the ATSUI code path respect spacingDisabled()
14354         Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
14356         * platform/graphics/mac/FontMacATSUI.mm:
14357         (WebCore::overrideLayoutOperation):
14359 2008-09-22  Maciej Stachowiak  <mjs@apple.com>
14361         Reviewed by Cameron Zwarich.
14363         - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
14365         Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
14366         
14367         2.2% speedup on EarleyBoyer benchmark.
14369         * bindings/js/JSQuarantinedObjectWrapper.cpp:
14370         * bindings/js/JSQuarantinedObjectWrapper.h:
14371         (WebCore::JSQuarantinedObjectWrapper::createStructureID):
14372         * bindings/scripts/CodeGeneratorJS.pm:
14374 2008-09-22  Adam Roben  <aroben@apple.com>
14376         Windows build fix
14378         * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
14380 2008-09-22  Maciej Stachowiak  <mjs@apple.com>
14382         Reviewed by Dave Hyatt.
14384         Based on initial work by Darin Adler.
14385         
14386         - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
14387         - use this to JIT inline code for eq_null and neq_null
14388         https://bugs.webkit.org/show_bug.cgi?id=20823
14389         
14390         * WebCore.xcodeproj/project.pbxproj:
14391         * WebCore.vcproj/WebCore.vcproj:
14392         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14393         (WebCore::JSCSSStyleDeclaration::nameGetter):
14394         * bindings/js/JSHTMLAllCollection.cpp: Added.
14395         (WebCore::):
14396         * bindings/js/JSHTMLAllCollection.h:
14397         (WebCore::JSHTMLAllCollection::createStructureID):
14398         (WebCore::JSHTMLAllCollection::toBoolean):
14400 2008-09-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
14402         Reviewed by Simon.
14404         Fix the QtWebKit build
14406         * bridge/qt/qt_instance.cpp:
14407         (JSC::Bindings::QtRuntimeObjectImp::construct):
14408         * bridge/qt/qt_runtime.cpp:
14410 2008-09-22  Alp Toker  <alp@nuanti.com>
14412         Suggested by David Hyatt.
14414         Build fix: ScrollView::update() is still used by Document.cpp on !MAC
14415         so make it public.
14417         * platform/ScrollView.h:
14419 2008-09-22  David Hyatt  <hyatt@apple.com>
14421         Fix a regression in Windows scrollbar painting.  (Also fix the same
14422         bug in my new viewless Mac scrollbar painting code).  The track rect
14423         was being improperly inflated when painting resulting in the scrollbar
14424         being too tall and painting in the border of overflow sections.
14426         Reviewed by Oliver Hunt
14428         * platform/mac/ScrollbarThemeMac.mm:
14429         (WebCore::ScrollbarThemeMac::trackRect):
14430         * platform/win/ScrollbarThemeSafari.cpp:
14431         (WebCore::ScrollbarThemeSafari::trackRect):
14433 2008-09-22  David Hyatt  <hyatt@apple.com>
14435         Fix a hit testing bug where events are mistakenly passed to subframes
14436         if the mouse is over the border or padding area of the frame.  Add
14437         a boolean flag, isOverWidget(), to hit test results so that EventHandler
14438         can check it to tell if the mouse is really over the content box of a
14439         RenderWidget and not just in the border/padding area.
14441         This is not testable, since the old code properly recovered when it detected
14442         that the mouse was outside the bounds of the view, but this prevents
14443         the extra passdown from even occurring (and is basically a nice cleanup).
14445         Reviewed by Oliver Hunt
14447         * page/EventHandler.cpp:
14448         (WebCore::EventHandler::handleMousePressEvent):
14449         (WebCore::EventHandler::hitTestResultAtPoint):
14450         (WebCore::subframeForHitTestResult):
14451         (WebCore::EventHandler::handleMouseDoubleClickEvent):
14452         (WebCore::EventHandler::handleMouseMoveEvent):
14453         (WebCore::EventHandler::handleMouseReleaseEvent):
14454         (WebCore::EventHandler::handleWheelEvent):
14455         * page/MouseEventWithHitTestResults.h:
14456         (WebCore::MouseEventWithHitTestResults::isOverWidget):
14457         * rendering/HitTestResult.cpp:
14458         (WebCore::HitTestResult::HitTestResult):
14459         (WebCore::HitTestResult::operator=):
14460         * rendering/HitTestResult.h:
14461         (WebCore::HitTestResult::isOverWidget):
14462         (WebCore::HitTestResult::setIsOverWidget):
14463         * rendering/RenderWidget.cpp:
14464         (WebCore::RenderWidget::nodeAtPoint):
14465         * rendering/RenderWidget.h:
14467 2008-09-21  David Hyatt  <hyatt@apple.com>
14469         Rename FrameView's repaintRectangle method to repaintContentRectangle.  Make
14470         both it and ScrollView's updateContents method be off-limits to everyone in
14471         WebCore except for RenderView.
14473         Make repaintViewRectangle the only possible method for WebCore code to do
14474         an invalidation.  This ensures that all invalidates triggered by WebCore
14475         cross-platform code that cross ownerElement() boundaries are transform-aware.
14477         Make sure that iframes/frames contained inside objects that have transforms
14478         or reflections are not allowed to blit (this was already true for transparency).
14480         It is not possible to make a test for any of this, since iframe scrolling
14481         still doesn't work on Mac (since the invalidates are not being done
14482         through WebCore's cross-platform invalidation code but are instead going
14483         through NSScrollView's setNeedsDisplay still).
14485         Reviewed by Oliver Hunt
14487         * editing/SelectionController.cpp:
14488         (WebCore::SelectionController::recomputeCaretRect):
14489         (WebCore::SelectionController::invalidateCaretRect):
14490         (WebCore::SelectionController::focusedOrActiveStateChanged):
14491         * page/FrameView.cpp:
14492         (WebCore::FrameView::repaintContentRectangle):
14493         (WebCore::FrameView::endDeferredRepaints):
14494         * page/FrameView.h:
14495         * platform/ScrollView.h:
14496         * rendering/RenderBox.cpp:
14497         (WebCore::RenderBox::paintFillLayerExtended):
14498         * rendering/RenderLayer.cpp:
14499         (WebCore::RenderLayer::enclosingPositionedAncestor):
14500         (WebCore::RenderLayer::requiresSlowRepaints):
14501         * rendering/RenderLayer.h:
14502         (WebCore::RenderLayer::hasTransform):
14503         * rendering/RenderView.cpp:
14504         (WebCore::RenderView::paintBoxDecorations):
14505         (WebCore::RenderView::repaintViewRectangle):
14506         (WebCore::RenderView::setSelection):
14508 2008-09-21  Maciej Stachowiak  <mjs@apple.com>
14510         Reviewed by Darin.
14512         - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
14513         https://bugs.webkit.org/show_bug.cgi?id=20981
14514         
14515         * bindings/js/JSAudioConstructor.cpp:
14516         (WebCore::JSAudioConstructor::JSAudioConstructor):
14517         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14518         (WebCore::JSCSSStyleDeclaration::nameGetter):
14519         * bindings/js/JSDOMBinding.cpp:
14520         (WebCore::createDOMStructure):
14521         * bindings/js/JSDOMBinding.h:
14522         (WebCore::getDOMStructure):
14523         * bindings/js/JSDOMWindowShell.cpp:
14524         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
14525         (WebCore::JSDOMWindowShell::setWindow):
14526         * bindings/js/JSEventTargetNode.cpp:
14527         (WebCore::JSEventTargetNode::createPrototype):
14528         * bindings/js/JSHTMLOptionElementConstructor.cpp:
14529         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
14530         * bindings/js/JSImageConstructor.cpp:
14531         (WebCore::JSImageConstructor::JSImageConstructor):
14532         * bindings/js/JSXMLHttpRequestConstructor.cpp:
14533         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
14534         * bindings/js/JSXSLTProcessorConstructor.cpp:
14535         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
14536         * bindings/scripts/CodeGeneratorJS.pm:
14538 2008-09-21  Darin Adler  <darin@apple.com>
14540         Reviewed by Maciej Stachowiak.
14542         - fix problem Maciej noticed where every JSNamedNodesCollection
14543           gets its own StructureID
14545         * bindings/js/JSNamedNodesCollection.cpp:
14546         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
14547         getDOMStructure to get the structure.
14548         * bindings/js/JSNamedNodesCollection.h:
14549         (WebCore::JSNamedNodesCollection::createPrototype): Return the
14550         object prototype.
14552 2008-09-20  David Hyatt  <hyatt@apple.com>
14554         Make sure transformed scrollbars in overflow sections position
14555         properly.  This patch mimics the same behavior that works for
14556         iframes, namely making sure that the same code that dynamically
14557         adjusts iframe widget positions at paint time for fixed positioning
14558         and transforms also applies to scrollbars.  (This is as simple as passing
14559         in the current translation factor at paint time rather than crawling
14560         up the layer tree to compute a "false" absolute position.)
14562         An existing transform test covers this (although only a pixel result
14563         reveals the correct rendering).
14565         Reviewed by Darin Adler
14567         * rendering/RenderLayer.cpp:
14568         (WebCore::RenderLayer::updateLayerPositions):
14569         (WebCore::RenderLayer::positionOverflowControls):
14570         (WebCore::RenderLayer::paintOverflowControls):
14571         (WebCore::RenderLayer::paintLayer):
14572         * rendering/RenderLayer.h:
14574 2008-09-21  Steve Falkenburg  <sfalken@apple.com>
14576         Removed unnecessary nested timer check.
14577         
14578         Rubber-stamped by Dan Bernstein.
14580         * platform/win/SharedTimerWin.cpp:
14581         (WebCore::TimerWindowWndProc):
14583 2008-09-21  Steve Falkenburg  <sfalken@apple.com>
14585         Improve timer resolution on WinXP.
14586         https://bugs.webkit.org/show_bug.cgi?id=20979
14587         
14588         Removed last-chance timer. It should not be necessary.
14589         Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
14590         Remove Vista checks. We now run the same code on both XP and Vista.
14591         
14592         Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
14593         The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
14594         
14595         Reviewed by Maciej Stachowiak.
14597         * platform/win/SharedTimerWin.cpp:
14598         (WebCore::):
14599         (WebCore::TimerWindowWndProc):
14600         (WebCore::setSharedTimerFireTime):
14601         * platform/win/SystemTimeWin.cpp:
14602         (WebCore::currentTime):
14604 2008-09-21  Dirk Schulze  <vbs85@gmx.de>
14606         Reviewed by eseidel.  Landed by eseidel.
14608         All platforms use the DashArray in the GraphicsContext.
14610         * svg/graphics/SVGPaintServer.h:
14611         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
14612         (WebCore::SVGPaintServerGradient::setup):
14613         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
14614         (WebCore::SVGPaintServerPattern::setup):
14615         * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
14616         (WebCore::SVGPaintServerSolid::setup):
14617         * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
14618         (WebCore::SVGPaintServerGradient::setup):
14619         * svg/graphics/qt/SVGPaintServerQt.cpp:
14620         * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
14621         (WebCore::SVGPaintServerSolid::setup):
14623 2008-09-21  Dirk Schulze  <vbs85@gmx.de>
14625         Reviewed by eseidel.  Landed by eseidel.
14627         Moved DashArray to GraphicsContext.
14629         * GNUmakefile.am:
14630         * WebCore.vcproj/WebCore.vcproj:
14631         * WebCore.xcodeproj/project.pbxproj:
14632         * platform/graphics/DashArray.h: Added.
14633         * platform/graphics/GraphicsContext.h:
14634         * platform/graphics/cairo/GraphicsContextCairo.cpp:
14635         (WebCore::GraphicsContext::setLineDash):
14636         * platform/graphics/cg/GraphicsContextCG.cpp:
14637         (WebCore::GraphicsContext::setLineDash):
14638         * platform/graphics/qt/GraphicsContextQt.cpp:
14639         (WebCore::GraphicsContext::setLineDash):
14640         * svg/graphics/SVGPaintServer.cpp:
14641         (WebCore::applyStrokeStyleToContext):
14642         * svg/graphics/SVGPaintServer.h:
14643         * svg/graphics/cg/CgSupport.cpp:
14644         * svg/graphics/cg/CgSupport.h:
14646 2008-09-21  Dan Bernstein  <mitz@apple.com>
14648         Reviewed by Mark Rowe.
14650         - fix linker warnings
14652         * WebCore.base.exp:
14654 2008-09-20  Darin Adler  <darin@apple.com>
14656         - another try at fixing Qt
14658         * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
14660 2008-09-20  Darin Adler  <darin@apple.com>
14662         - blind attempt to fix Qt build
14664         * bridge/qt/qt_runtime.cpp:
14665         (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
14666         of regExpPrototype to make a RegExpObject. There should really be
14667         some sort of public helper function for this. Same thing for
14668         DateInstance and dateStructure. For JSObject, use constructEmptyObject.
14669         (JSC::Bindings::):
14670         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
14671         It is not correct to do this inside the constructor because it could
14672         cause a garbage collect while the QtRuntimeMethod object is half-
14673         allocated, which could lead to a crash; note that RuntimeMethod,
14674         QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
14675         * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
14677 2008-09-20  Collin Jackson  <collinj@webkit.org>
14679         Prefetch DNS for hyperlinks that the user mouses over.
14681         https://bugs.webkit.org/show_bug.cgi?id=20931
14683         Reviewed by Sam Weinig.
14685         * page/Chrome.cpp:
14686         (WebCore::Chrome::mouseDidMoveOverElement):
14688 2008-09-20  Darin Adler  <darin@apple.com>
14690         Reviewed by Maciej Stachowiak.
14692         - finish https://bugs.webkit.org/show_bug.cgi?id=20858
14693           make each distinct C++ class get a distinct JSC::Structure
14695         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14696         (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
14697         ID. Note that this makes a new structure every time -- we could
14698         optimize this slightly be caching and reusing a single one.
14700         * bridge/runtime_method.cpp:
14701         (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
14702         getDOMStructure.
14703         * bridge/runtime_method.h:
14704         (JSC::RuntimeMethod::createPrototype): Added createPrototype so
14705         getDOMStructure will work.
14707         * bindings/js/JSDOMWindowShell.cpp:
14708         (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
14709         0; needed in case garbage collection happens while creating the
14710         JSDOMWindow.
14712 2008-09-20  Dan Bernstein  <mitz@apple.com>
14714         Reviewed by Eric Seidel.
14716         - fix https://bugs.webkit.org/show_bug.cgi?id=20950
14717           <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
14719         * svg/SVGTextContentElement.cpp:
14720         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
14721         not include the first character in the extraCharsAvailable count.
14723 2008-09-20  Kevin Ollivier  <kevino@theolliviers.com>
14725         Reviewed by Dan Bernstein.
14727         Fix memory leak.
14728         
14729         https://bugs.webkit.org/show_bug.cgi?id=20505
14731         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
14732         (GetTextExtent):
14734 2008-09-20  Kevin Ollivier  <kevino@theolliviers.com>
14736         wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
14738         * WebCoreSources.bkl:
14739         * platform/ScrollView.h:
14740         * platform/wx/PopupMenuWx.cpp:
14741         (WebCore::PopupMenu::show):
14742         * platform/wx/RenderThemeWx.cpp:
14743         (WebCore::RenderThemeWx::paintButton):
14744         (WebCore::RenderThemeWx::paintTextField):
14745         (WebCore::RenderThemeWx::paintMenuList):
14746         (WebCore::RenderThemeWx::paintMenuListButton):
14747         * platform/wx/ScrollViewWx.cpp:
14748         (WebCore::ScrollView::setPlatformWidget):
14749         (WebCore::ScrollView::updateContents):
14750         (WebCore::ScrollView::update):
14751         (WebCore::ScrollView::visibleWidth):
14752         (WebCore::ScrollView::visibleHeight):
14753         (WebCore::ScrollView::scrollBy):
14754         (WebCore::ScrollView::resizeContents):
14755         (WebCore::ScrollView::contentsWidth):
14756         (WebCore::ScrollView::contentsHeight):
14757         (WebCore::ScrollView::isScrollViewScrollbar):
14758         (WebCore::ScrollView::adjustScrollbars):
14759         (WebCore::ScrollView::inWindow):
14760         (WebCore::ScrollView::removeChild):
14761         * platform/wx/WidgetWx.cpp:
14762         * plugins/wx/PluginViewWx.cpp:
14763         (WebCore::PluginView::setParentVisible):
14764         (WebCore::PluginView::updatePluginWidget):
14766 2008-09-20  Timothy Hatcher  <timothy@apple.com>
14768         Fix the new Node Search button image to not be blurry.
14770         * page/inspector/Images/nodeSearchButtons.png:
14772 2008-09-20  Matt Lilek  <webkit@mattlilek.com>
14774         Reviewed by Tim Hatcher.
14776         Cut down some of the inspector javascript -> InspectorController glue code
14777         with two new macros. Also rearrange the exposed function list to be grouped
14778         by implementation and to all explicitly use the WebCore namespace.
14780         * page/InspectorController.cpp:
14781         (WebCore::InspectorController::windowScriptObjectAvailable):
14783 2008-09-20  Matt Lilek  <webkit@mattlilek.com>
14785         Reviewed by Tim Hatcher.
14787         Fix regression from my previous patch where the breadcrumbs bar was not displayed.
14789         * page/inspector/inspector.css:
14791 2008-09-20  Nikolas Zimmermann  <zimmermann@kde.org>
14793         Reviewed by Eric.
14795         Refactor HTMLImageLoader/SVGImageLoader code.
14796         Move html/HTMLImageLoader.* to loader/ImageLoader.*
14798         Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
14799         SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
14801         * GNUmakefile.am:
14802         * WebCore.pro:
14803         * WebCore.vcproj/WebCore.vcproj:
14804         * WebCore.xcodeproj/project.pbxproj:
14805         * WebCoreSources.bkl:
14806         * dom/Document.cpp:
14807         (WebCore::Document::dispatchImageLoadEventSoon):
14808         (WebCore::Document::removeImage):
14809         (WebCore::Document::dispatchImageLoadEventsNow):
14810         * dom/Document.h:
14811         * html/HTMLImageLoader.cpp:
14812         (WebCore::HTMLImageLoader::HTMLImageLoader):
14813         (WebCore::HTMLImageLoader::~HTMLImageLoader):
14814         (WebCore::HTMLImageLoader::sourceURI):
14815         (WebCore::HTMLImageLoader::notifyFinished):
14816         * html/HTMLImageLoader.h:
14817         * loader/DocLoader.h:
14818         * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
14819         (WebCore::ImageLoader::ImageLoader):
14820         (WebCore::ImageLoader::~ImageLoader):
14821         (WebCore::ImageLoader::setImage):
14822         (WebCore::ImageLoader::setLoadingImage):
14823         (WebCore::ImageLoader::updateFromElement):
14824         (WebCore::ImageLoader::notifyFinished):
14825         * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
14826         * svg/SVGImageElement.cpp:
14827         (WebCore::SVGImageElement::attach):
14828         (WebCore::SVGImageElement::insertedIntoDocument):
14829         (WebCore::SVGImageElement::imageSourceAttributeName):
14830         * svg/SVGImageElement.h:
14831         * svg/SVGImageLoader.cpp:
14832         (WebCore::SVGImageLoader::SVGImageLoader):
14833         (WebCore::SVGImageLoader::dispatchLoadEvent):
14834         (WebCore::SVGImageLoader::sourceURI):
14835         * svg/SVGImageLoader.h:
14837 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
14839         Build fix.
14841         [qtwebkit] ScrollBar build fix after r36684.
14842         BackButtonPart was split into Start and End Part
14843         ForwardButtonPart was split into Start and End Part
14845         * platform/qt/ScrollbarThemeQt.cpp:
14846         (WebCore::scPart):
14847         (WebCore::scrollbarPart):
14848         (WebCore::styleOptionSlider):
14850 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
14852         Build fix.
14854         [qtwebkit] Make qt_instance.cpp compile.
14855         Revision of 36675 introduced getDOMStructure to give unique
14856         structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
14857         the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
14859         * bridge/qt/qt_instance.cpp:
14860         (JSC::Bindings::QtInstance::getRuntimeObject):
14862 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
14864         Reviewed by Nikolas Zimmermann.
14866         [svg] Change SVGLocatable to deal with a plain SVGElement
14867         There is no requirement in the code that we have to have a
14868         SVGStyledElement. Remove that artificial limitation and compile
14869         with SVGElement.
14871         * svg/SVGLocatable.cpp:
14872         * svg/SVGLocatable.h:
14874 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
14876         Reviewed by Nikolas Zimmermann.
14878         [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
14879         management.
14881         * dom/Document.cpp:
14882         (WebCore::Document::~Document):
14883         (WebCore::Document::svgExtensions):
14884         (WebCore::Document::accessSVGExtensions):
14885         * dom/Document.h:
14887 2008-09-19  David Hyatt  <hyatt@apple.com>
14889         Fix for crash in updateTransitions.  Make sure to test for a style
14890         being null when comparing two RenderStyles.
14892         Reviewed by Oliver Hunt
14894         * page/animation/AnimationBase.cpp:
14895         (WebCore::PropertyWrapperGetter::equals):
14897 2008-09-19  David Hyatt  <hyatt@apple.com>
14899         https://bugs.webkit.org/show_bug.cgi?id=20954
14901         Roll out r36628 since it has caused horrible regressions with
14902         animated GIF CPU usage.
14904         * platform/graphics/BitmapImage.cpp:
14905         (WebCore::BitmapImage::cacheFrame):
14906         (WebCore::BitmapImage::startAnimation):
14907         * platform/graphics/BitmapImage.h:
14908         (WebCore::FrameData::FrameData):
14909         * platform/graphics/cairo/ImageCairo.cpp:
14910         (WebCore::FrameData::clear):
14911         * platform/graphics/cg/ImageCG.cpp:
14912         (WebCore::FrameData::clear):
14913         * platform/graphics/qt/ImageQt.cpp:
14914         (WebCore::FrameData::clear):
14915         * platform/graphics/wx/ImageWx.cpp:
14916         (WebCore::FrameData::clear):
14918 2008-09-20  Alp Toker  <alp@nuanti.com>
14920         Reviewed by Timothy Hatcher.
14922         https://bugs.webkit.org/show_bug.cgi?id=20913
14923         Avoid redudant includes
14925         Document.h is included excessively such that a modification to Document.h (or
14926         any of the header it includes itself) triggers a rebuild of many files
14927         including the whole of SVG and a lot of the JS bindings.
14929         Some of these includes can be avoided by only including Document.h where
14930         necessary.
14932         * bindings/js/JSAttrCustom.cpp:
14933         * bindings/js/JSElementCustom.cpp:
14934         * bindings/js/JSEventTargetBase.cpp:
14935         * bindings/js/JSEventTargetBase.h:
14936         * bindings/js/JSEventTargetNode.cpp:
14937         * bindings/js/JSHTMLFrameElementCustom.cpp:
14938         * bindings/js/JSHTMLIFrameElementCustom.cpp:
14939         * bindings/scripts/CodeGeneratorJS.pm:
14940         * css/CSSCursorImageValue.cpp:
14941         * css/SVGCSSStyleSelector.cpp:
14942         * dom/make_names.pl:
14943         * svg/SVGAnimateElement.h:
14944         * svg/SVGAnimatedProperty.h:
14945         (WebCore::::baseValue):
14946         (WebCore::::setBaseValue):
14947         (WebCore::::startAnimation):
14948         (WebCore::::stopAnimation):
14949         * svg/SVGElement.cpp:
14950         (WebCore::SVGElement::accessDocumentSVGExtensions):
14951         * svg/SVGElement.h:
14952         * svg/SVGElementInstance.cpp:
14953         * svg/SVGFitToViewBox.cpp:
14954         * svg/SVGFontElement.cpp:
14955         * svg/SVGFontFaceElement.cpp:
14956         * svg/SVGLinearGradientElement.cpp:
14957         * svg/SVGMPathElement.cpp:
14958         * svg/SVGViewSpec.cpp:
14960 2008-09-19  Nikolas Zimmermann  <zimmermann@kde.org>
14962         Reviewed by Antti & Eric.
14964         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
14966         Finish HTMLScriptElement / SVGScriptElement unification.
14967         SVG <script> support is complete now, full SVGLoad event
14968         respecting the influence of the externalResourcesRequired attribute
14969         as well as SVGError event support. All other features shared with HTML.
14971         Tests: fast/dom/HTMLScriptElement/script-reexecution.html
14972                svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
14973                svg/dom/SVGScriptElement/script-load-and-error-events.svg
14974                svg/dom/SVGScriptElement/script-reexecution.svg
14975                svg/dom/SVGScriptElement/script-set-href.svg
14977         * dom/ScriptElement.cpp:
14978         (WebCore::ScriptElementData::ScriptElementData):
14979         (WebCore::ScriptElementData::requestScript):
14980         * dom/ScriptElement.h:
14981         (WebCore::ScriptElementData::haveFiredLoadEvent):
14982         (WebCore::ScriptElementData::setHaveFiredLoadEvent):
14983         * dom/XMLTokenizer.cpp:
14984         (WebCore::XMLTokenizer::notifyFinished):
14985         * html/HTMLScriptElement.cpp:
14986         (WebCore::HTMLScriptElement::dispatchLoadEvent):
14987         * svg/SVGScriptElement.cpp:
14988         (WebCore::SVGScriptElement::setCreatedByParser):
14989         (WebCore::SVGScriptElement::parseMappedAttribute):
14990         (WebCore::SVGScriptElement::svgAttributeChanged):
14991         (WebCore::SVGScriptElement::insertedIntoDocument):
14992         (WebCore::SVGScriptElement::removedFromDocument):
14993         (WebCore::SVGScriptElement::childrenChanged):
14994         (WebCore::SVGScriptElement::isURLAttribute):
14995         (WebCore::SVGScriptElement::finishParsingChildren):
14996         (WebCore::SVGScriptElement::type):
14997         (WebCore::SVGScriptElement::setType):
14998         (WebCore::SVGScriptElement::haveLoadedRequiredResources):
14999         (WebCore::SVGScriptElement::dispatchLoadEvent):
15000         (WebCore::SVGScriptElement::dispatchErrorEvent):
15001         * svg/SVGScriptElement.h:
15003 2008-09-19  Dan Bernstein  <mitz@apple.com>
15005         Reviewed by John Sullivan.
15007         - fix https://bugs.webkit.org/show_bug.cgi?id=20951
15008           Typo in Position::getInlineBoxAndOffset()
15009           and add an assertion
15011         Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
15013         * dom/Position.cpp:
15014         (WebCore::Position::getInlineBoxAndOffset):
15015         * rendering/InlineTextBox.cpp:
15016         (WebCore::InlineTextBox::positionForOffset):
15018 2008-09-19  David Hyatt  <hyatt@apple.com>
15020         Add support for hit testing of all five possible scrollbar button placements. 
15022         Reviewed by Sam Weinig
15024         * platform/ScrollbarThemeComposite.cpp:
15025         (WebCore::ScrollbarThemeComposite::paint):
15026         * platform/mac/ScrollbarThemeMac.mm:
15027         (WebCore::):
15028         (WebCore::ScrollbarThemeMac::backButtonRect):
15029         (WebCore::ScrollbarThemeMac::forwardButtonRect):
15030         (WebCore::ScrollbarThemeMac::trackRect):
15031         (WebCore::ScrollbarThemeMac::paintButton):
15033 2008-09-19  Darin Adler  <darin@apple.com>
15035         - try to fix Qt build
15037         * bridge/qt/qt_instance.cpp:
15038         (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
15039         (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
15040         * bridge/runtime_object.cpp:
15041         (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
15042         * bridge/runtime_object.h: Ditto.
15044 2008-09-19  Chris Marrin  <cmarrin@apple.com>
15046         Reviewed by Dave Hyatt.
15048         Transition starts running when it shouldn't
15049         https://bugs.webkit.org/show_bug.cgi?id=20892
15051         When there is a transition and an animation on the
15052         same element, make sure the animation wins.
15054         The fix is to save the unanimated style when an animation is started.
15055         Then, when starting a transition, check to see if there is a current
15056         animation on the same prop. If so, use the unanimated style as the
15057         fromStyle rather than the current style.
15059         Test: animations/transition-and-animation-1.html
15061         * page/animation/CompositeAnimation.cpp:
15062         (WebCore::CompositeAnimation::updateTransitions):
15063         (WebCore::CompositeAnimation::updateKeyframeAnimations):
15064         (WebCore::CompositeAnimation::animate):
15065         (WebCore::CompositeAnimation::getAnimationForProperty):
15066         * page/animation/CompositeAnimation.h:
15067         * page/animation/ImplicitAnimation.cpp:
15068         (WebCore::ImplicitAnimation::reset):
15069         * page/animation/ImplicitAnimation.h:
15070         * page/animation/KeyframeAnimation.cpp:
15071         (WebCore::KeyframeAnimation::hasAnimationForProperty):
15072         * page/animation/KeyframeAnimation.h:
15073         (WebCore::KeyframeAnimation::KeyframeAnimation):
15074         (WebCore::KeyframeAnimation::unanimatedStyle):
15076 2008-09-19  David Hyatt  <hyatt@apple.com>
15078         Add support for painting/hit testing of four possible scrollbar buttons.
15079         The Windows themes simply ignore the two parts that they will never
15080         show.  The Mac theme also ignores the other two buttons for now.
15082         The cross-platform base for all three themes, ScrollbarThemeComposite,
15083         has all the proper support though.
15085         Reviewed by Sam Weinig
15087         * platform/ScrollbarThemeComposite.cpp:
15088         (WebCore::ScrollbarThemeComposite::hitTest):
15089         (WebCore::ScrollbarThemeComposite::invalidatePart):
15090         * platform/ScrollbarThemeComposite.h:
15091         * platform/mac/ScrollbarThemeMac.h:
15092         * platform/mac/ScrollbarThemeMac.mm:
15093         (WebCore::ScrollbarThemeMac::backButtonRect):
15094         (WebCore::ScrollbarThemeMac::forwardButtonRect):
15095         (WebCore::ScrollbarThemeMac::paintButton):
15096         * platform/win/ScrollbarThemeSafari.cpp:
15097         (WebCore::ScrollbarThemeSafari::backButtonRect):
15098         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
15099         (WebCore::ScrollbarThemeSafari::paintButton):
15100         * platform/win/ScrollbarThemeSafari.h:
15101         * platform/win/ScrollbarThemeWin.cpp:
15102         (WebCore::ScrollbarThemeWin::backButtonRect):
15103         (WebCore::ScrollbarThemeWin::forwardButtonRect):
15104         (WebCore::ScrollbarThemeWin::paintButton):
15105         * platform/win/ScrollbarThemeWin.h:
15107 2008-09-19  Matt Lilek  <webkit@mattlilek.com>
15109         Reviewed by Tim Hatcher.
15111         Bug 17772: Inspector should support point-and-click to select a node to inspect
15112         https://bugs.webkit.org/show_bug.cgi?id=17772
15113         <rdar://problem/5792395>
15115         * English.lproj/localizedStrings.js:
15116         * page/Chrome.cpp:
15117         (WebCore::Chrome::mouseDidMoveOverElement):
15118         * page/EventHandler.cpp:
15119         (WebCore::EventHandler::handleMousePressEvent):
15120         * page/InspectorController.cpp:
15121         (WebCore::toggleNodeSearch):
15122         (WebCore::searchingForNode):
15123         (WebCore::InspectorController::InspectorController):
15124         (WebCore::InspectorController::toggleSearchForNodeInPage):
15125         (WebCore::InspectorController::mouseDidMoveOverElement):
15126         (WebCore::InspectorController::handleMousePressOnNode):
15127         (WebCore::InspectorController::windowScriptObjectAvailable):
15128         * page/InspectorController.h:
15129         (WebCore::InspectorController::searchingForNodeInPage):
15130         * page/inspector/ElementsPanel.js:
15131         * page/inspector/Images/nodeSearchButtons.png: Added.
15132         * page/inspector/inspector.css:
15134 2008-09-19  David Hyatt  <hyatt@apple.com>
15136         Add new scrollbar parts to be able to represent back and forward buttons
15137         at either end of the scrollbar.  The current scrollbar still just draws
15138         a single button at either end, but the parts now exist.
15140         Reviewed by Sam Weinig
15142         * platform/ScrollTypes.h:
15143         (WebCore::):
15144         * platform/Scrollbar.cpp:
15145         (WebCore::Scrollbar::autoscrollTimerFired):
15146         (WebCore::Scrollbar::pressedPartScrollDirection):
15147         (WebCore::Scrollbar::pressedPartScrollGranularity):
15148         (WebCore::Scrollbar::handleMouseMoveEvent):
15149         * platform/ScrollbarTheme.h:
15150         (WebCore::ScrollbarTheme::buttonsPlacement):
15151         (WebCore::ScrollbarTheme::invalidateParts):
15152         * platform/ScrollbarThemeComposite.cpp:
15153         (WebCore::ScrollbarThemeComposite::paint):
15154         (WebCore::ScrollbarThemeComposite::hitTest):
15155         (WebCore::ScrollbarThemeComposite::invalidatePart):
15156         * platform/ScrollbarThemeComposite.h:
15158 2008-09-19  Beth Dakin  <bdakin@apple.com>
15160         Reviewed by Dave Hyatt.
15162         Fix for <rdar://problem/6231308> crash in AutoTableLayout
15164         The code assumes later on that a TableSection's grid's row vector 
15165         will never be empty. So make 1 the minimum number of columns.
15167         * rendering/RenderTableSection.cpp:
15168         (WebCore::RenderTableSection::ensureRows):
15170 2008-09-19  David Hyatt  <hyatt@apple.com>
15172         Add a new ScrollbarButtonsPlacement type for specifying where
15173         the button arrows are in a scrollbar.
15175         Read in the placement settings for Mac.  Nothing is done with the
15176         setting yet.
15178         Add a new buttonsPlacement() method to ScrollbarTheme composite
15179         so that the arrow settings can be obtained.
15181         Reviewed by Sam Weinig
15183         * platform/ScrollTypes.h:
15184         (WebCore::):
15185         * platform/ScrollbarThemeComposite.h:
15186         (WebCore::ScrollbarThemeComposite::buttonsPlacement):
15187         * platform/mac/ScrollbarThemeMac.mm:
15188         (WebCore::updateArrowPlacement):
15189         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
15191 2008-09-19  Steve Falkenburg  <sfalken@apple.com>
15193         Roll out r36626. It is causing variance in SunSpider numbers on XP.
15194         
15195         Rubber stamped by Mark Rowe.
15197         * platform/win/SharedTimerWin.cpp:
15198         (WebCore::isRunningOnVistaOrLater):
15199         (WebCore::setSharedTimerFireTime):
15201 2008-09-19  Kevin McCullough  <kmccullough@apple.com>
15203         Reviewed by Tim.
15205         https://bugs.webkit.org/show_bug.cgi?id=20942
15206         Bug 20942: Repeated messages in resources don't collapse
15207         - Now repeated messages in a resource's view are collapsed and a message
15208         says how many were repeated.
15210         * English.lproj/localizedStrings.js:
15211         * manual-tests/inspector/multiple-console-messages.html:
15212         * page/inspector/Console.js: Send all the messages to the resource's
15213         view before possibly returning early if the message is a repeat.
15214         * page/inspector/SourceFrame.js: Add the text about the message being
15215         repeated, if it is, and increment it when necessary.
15217 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
15219         Removed unnecessary #if
15221         * page/mac/AccessibilityObjectWrapper.mm:
15223 2008-09-19  David Hyatt  <hyatt@apple.com>
15225         Read in prefs for the scroll delay repeat values for buttons.  Also
15226         honor the option-click pref for jumping to the thumb when clicking in
15227         the track.
15229         Reviewed by Sam Weinig
15231         * platform/mac/ScrollbarThemeMac.h:
15232         * platform/mac/ScrollbarThemeMac.mm:
15233         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
15234         (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
15235         (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
15236         (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
15238 2008-09-19  David Hyatt  <hyatt@apple.com>
15240         Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
15241         Set the initial button repeat delay to 0.5 for Mac.
15243         Reviewed by Sam Weinig
15245         * WebCore.xcodeproj/project.pbxproj:
15246         * platform/mac/ScrollbarThemeMac.cpp: Removed.
15247         * platform/mac/ScrollbarThemeMac.h:
15248         (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
15249         * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
15251 2008-09-19  Darin Adler  <darin@apple.com>
15253         Reviewed by Sam Weinig.
15255         - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
15256           make each distinct C++ class get a distinct JSC::Structure
15258           + Fixed all cases where we were using a shared structure for multiple
15259             C++ classes in WebCore. This still has to be done in JavaScriptCore.
15261           + Got rid of cacheGlobalObject.
15263           + Improved use of PassRefPtr in bindings code.
15265           + Removed a couple cases where we were potentially allocating prototypes
15266             inside a JSObject's construction process -- this can lead to trouble if
15267             we do a garbage collection while an object is only partly constructed.
15269         * bindings/js/JSAudioConstructor.cpp:
15270         (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
15271         so we don't implicitly share the structure with other objects that use the object
15272         prototype.
15274         * bindings/js/JSDOMBinding.cpp:
15275         (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
15276         don't need cacheGlobalObject any more.
15277         (WebCore::cacheDOMConstructor): Ditto.
15279         * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
15280         Added functions and a function template for getting cached DOM constructors.
15281         Removed cacheGlobalObject function template.
15283         * bindings/js/JSDOMWindowBase.cpp:
15284         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
15285         we're taking ownership.
15286         * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
15287         we're taking ownership. Added constructor map.
15288         * bindings/js/JSDOMWindowCustom.cpp:
15289         (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
15291         * bindings/js/JSDOMWindowShell.cpp:
15292         (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
15293         we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
15294         this is now done in only that one place.
15295         (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
15296         the passed-in DOMWindow. Code was moved here and changed to allocate unique
15297         structures for both the window prototype and the window.
15298         * bindings/js/JSDOMWindowShell.h: Ditto.
15300         * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
15301         have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
15302         private/friend in JSEventTargetBase. Removed comments referring to defunct
15303         macros. Changed JSEventTargetBasePrototype to get the prototype with the new
15304         rather than its own copy of cacheGlobalObject (I missed this during pass 1).
15305         Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
15307         * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
15308         for caching structures and prototypes.
15309         (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
15310         (WebCore::JSEventTargetNode::createPrototype): Added.
15311         * bindings/js/JSEventTargetNode.h: Updated for above changes.
15313         * bindings/js/JSHTMLAllCollection.h:
15314         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
15315         * bindings/js/JSHTMLCollectionCustom.cpp:
15316         (WebCore::getNamedItems): Pass ExecState instead of prototype.
15317         * bindings/js/JSHTMLFormElementCustom.cpp:
15318         (WebCore::JSHTMLFormElement::nameGetter): Ditto.
15319         * bindings/js/JSHTMLInputElementBase.cpp:
15320         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
15321         * bindings/js/JSHTMLInputElementBase.h: Ditto.
15322         * bindings/js/JSHTMLOptionElementConstructor.cpp:
15323         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
15324         Create a unique structure instead of sharing.
15325         * bindings/js/JSImageConstructor.cpp:
15326         (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
15328         * bindings/js/JSInspectedObjectWrapper.cpp:
15329         (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
15330         a prototype rather than a structure. Made the use of inheritorID() here
15331         explicit.
15332         * bindings/js/JSInspectedObjectWrapper.h: Ditto.
15333         * bindings/js/JSInspectorCallbackWrapper.cpp:
15334         (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
15335         * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
15337         * bindings/js/JSNamedNodesCollection.cpp:
15338         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
15339         take an ExecState argument instead of a prototype. Create a unique
15340         StructureID instead of sharing.
15341         * bindings/js/JSNamedNodesCollection.h: Ditto.
15343         * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
15344         constructor that takes a prototype instead of a structure.
15345         * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
15347         * bindings/js/JSRGBColor.cpp:
15348         (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
15349         prototype; create a unique structure.
15350         (WebCore::getJSRGBColor): Ditto.
15351         * bindings/js/JSRGBColor.h: Ditto.
15353         * bindings/js/JSSQLResultSetRowListCustom.cpp:
15354         (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
15355         of explicit coding the idiom for making a new object.
15357         * bindings/js/JSXMLHttpRequestConstructor.cpp:
15358         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
15359         Create a unique structure instead of the shared one.
15360         * bindings/js/JSXSLTProcessorConstructor.cpp:
15361         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
15362         Ditto.
15364         * bindings/js/ScriptController.cpp:
15365         (WebCore::ScriptController::clearWindowShell): Let the window shell's
15366         setWindow function create the JSDOMWindow instead of doing it here.
15368         * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
15369         the structure and the wrapped object when creating wrappers.
15370         Simplified some of the special cases for DOMWindow so they are
15371         different only in ways the need to be. Eliminated the
15372         JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
15373         functions. Moved responsibility for creating the structure and
15374         parent prototype out of the prototype constructor into the
15375         createPrototype function. Removed the unused "DoNotCache" flag for
15376         objects other than DOMWindow. Use getDOMConstructor instead of
15377         cacheGlobalObject for constructors. Make each constructor have
15378         a unique structure ID.
15380         * bridge/objc/objc_runtime.h: Added createPrototype and changed the
15381         name of the info member to s_info so we can use the standard DOM
15382         binding macros to handl the prototype.
15383         * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
15384         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
15385         Create a unique structure using getDOMStructure.
15387         * bridge/runtime_array.cpp: Fixed namespacing a bit.
15388         (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
15389         getDOMStructure.
15390         * bridge/runtime_array.h: Added createPrototype so getDOMStructure
15391         will work.
15393         * bridge/runtime_object.cpp:
15394         (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
15395         getDOMStructure.
15396         * bridge/runtime_object.h: Added createPrototype so getDOMStructure
15397         will work.
15399         * history/CachedPage.cpp:
15400         (WebCore::CachedPage::restore): Let the window shell's
15401         setWindow function create the JSDOMWindow instead of doing it here.
15403         * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
15405 2008-09-19  Dan Bernstein  <mitz@apple.com>
15407         Reviewed by Dave Hyatt.
15409         This optimization was suggested by Daniel Fenwick
15411         - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
15413         Specifying LTR paragraph directionality when measuring runs of RTL text
15414         resulted in typically two CTRuns being generated for every run instead
15415         of one, due to the leading space being reordered to the left.
15417         * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
15418         getCFStringAttributes() and changed m_CFStringAttributes from an array
15419         to a single value.
15420         * platform/graphics/mac/CoreTextController.cpp:
15421         (WebCore::CoreTextController::CoreTextController): Added a
15422         mayUseNaturalWritingDirection parameter.
15423         (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
15424         to force the bidi embedding level whenever 
15425         m_mayUseNaturalWritingDirectrion is false. Since this is now a common
15426         case, made the typesetter options dictionaries static.
15427         * platform/graphics/mac/CoreTextController.h:
15428         * platform/graphics/mac/FontMacCoreText.cpp:
15429         (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
15430         (WebCore::Font::floatWidthForComplexText): Changed to allow the
15431         CoreTextController to not set the writing direction.
15432         * platform/graphics/mac/SimpleFontDataMac.mm:
15433         (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
15434         parameter and the paragraph style attribute.
15436 2008-09-19  David Hyatt  <hyatt@apple.com>
15438         Reviewed by Sam Weinig
15440         https://bugs.webkit.org/show_bug.cgi?id=20941
15442         Incorrect height calculation for replaced element inside nested
15443         positioned elements (where the inner has a percentage height and
15444         the outer implicitly has a fixed height because of explicit top/bottom
15445         values).
15447         Added fast/block/positioning/replaced-inside-top-bottom.html
15449         * rendering/RenderBox.cpp:
15450         (WebCore::RenderBox::availableHeightUsing):
15452 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
15454         Fix Tiger bustage
15456         * page/mac/AccessibilityObjectWrapper.mm:
15458 2008-09-18  Chris Fleizach  <cfleizach@apple.com>
15460         Reviewed by Darin Adler.
15462         <rdar://problem/6211041> Expose legend tag in accessibility
15464         Exposes the legend tag as the titleUIElement of a fieldset
15466         Test: accessibility/legend.html
15468         * page/AccessibilityObject.h:
15469         (WebCore::AccessibilityObject::isFieldset):
15470         * page/AccessibilityRenderObject.cpp:
15471         (WebCore::AccessibilityRenderObject::isFieldset):
15472         (WebCore::AccessibilityRenderObject::titleUIElement):
15473         * page/AccessibilityRenderObject.h:
15474         * rendering/RenderFieldset.h:
15476 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
15478         Reviewed by Darin Adler.
15480         <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
15482         Implement a few AX API methods that will be called by AppKit, which will 
15483         speed up access to accessibility objects
15485         * page/mac/AccessibilityObjectWrapper.mm:
15486         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
15487         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
15488         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
15490 2008-09-19  Holger Hans Peter Freyther  <zecke@selfish.org>
15492         Reviewed by Simon Hausmann.
15494         [qtwebkit] Set the m_should* flags to their proper value on entry
15495         With plugins it was possible that we finished a job twice. This was
15496         some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
15497         setting the flag to (m_loadMode == LoadDeferred) they will always have
15498         the right value and we will not send responses twice.
15500         * platform/network/qt/QNetworkReplyHandler.cpp:
15502 2008-09-19  Holger Hans Peter Freyther  <zecke@selfish.org>
15504         Reviewed by Simon Hausmann.
15506         [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
15507         Handle text decoding errors before instructing the parser to parse. We
15508         have converted the text to QString and all encoding errors are gone and
15509         the parser will not be able to detect them. So handle them before parsing.
15511         * dom/XMLTokenizerQt.cpp:
15512         (WebCore::XMLTokenizer::doWrite):
15514 2008-09-18  Darin Adler  <darin@apple.com>
15516         Reviewed by Maciej Stachowiak.
15518         - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
15519           make each distinct C++ class get a distinct JSC::Structure
15521         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
15522         (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
15523         instead of DOMExceptionTranslator.
15525         * bindings/js/JSDOMBinding.cpp:
15526         (WebCore::getCachedDOMObjectWrapper): Updated function name.
15527         (WebCore::cacheDOMObjectWrapper): Ditto.
15528         (WebCore::forgetDOMObject): Ditto.
15529         (WebCore::getCachedDOMNodeWrapper): Ditto.
15530         (WebCore::forgetDOMNode): Ditto.
15531         (WebCore::cacheDOMNodeWrapper): Ditto.
15532         (WebCore::forgetAllDOMNodesForDocument): Ditto.
15533         (WebCore::markDOMNodesForDocument): Ditto.
15534         (WebCore::updateDOMNodeDocument): Ditto.
15535         (WebCore::getCachedDOMStructure): Added.
15536         (WebCore::createDOMStructure): Ditto.
15538         * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
15539         class and replace the static member functions with non-member
15540         functions. Added many other functions for getting at structures,
15541         prototypes, wrappers, and creating them. Also moved the
15542         cacheGlobalObject function here from JavaScriptCore; eventually
15543         I'll remove that once I get rid of the remaining callers. Also
15544         removed the DOMExceptionTranslator class.
15546         * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
15547         and put one of those maps in each window.
15549         * bindings/js/JSDOMWindowCustom.cpp:
15550         (WebCore::markDOMObjectWrapper): Updated for function name change.
15551         (WebCore::JSDOMWindow::mark): Added code to mark all the structures
15552         in the structure map.
15554         * bindings/js/JSEventTargetNode.cpp:
15555         (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
15556         a structure instead of a prototype.
15557         * bindings/js/JSEventTargetNode.h: Ditto.
15558         * bindings/js/JSHTMLAllCollection.h:
15559         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
15561         * bindings/js/JSHTMLInputElementBase.cpp:
15562         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
15563         use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
15564         structure instead of a prototype.
15565         * bindings/js/JSHTMLInputElementBase.h: Removed use of the
15566         JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
15567         to take a structure instead of a prototype. Created a dummy prototype
15568         class that causes the HTMLInputElement prototype to have the
15569         HTMLElement prototype.
15571         * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
15572         structures instead of prototypes. Changed the prototype self function
15573         to use the getDOMPrototype function -- later we can eliminate it and
15574         have callers invoke getDOMPrototype directly instead. Updated other
15575         functions that have name changes. Added code to generate the
15576         createPrototype member function. Changed use of cacheGlobalObject to
15577         get it from the WebCore namespace instead of the JSC namespace.
15578         Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
15580         * dom/Document.cpp:
15581         (WebCore::Document::~Document): Updated for name change and also
15582         removed unnecessary JSLock use -- there's no need to lock around this.
15583         * dom/Node.cpp:
15584         (WebCore::Node::setDocument): Ditto.
15586         * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
15587         instead of calling new directly.
15589         * bindings/js/JSCSSRuleCustom.cpp:
15590         (WebCore::toJS): Updated for function name changes and used the
15591         CREATE_DOM_OBJECT_WRAPPER macro.
15592         * bindings/js/JSCSSValueCustom.cpp:
15593         (WebCore::toJS): Ditto.
15594         * bindings/js/JSCanvasPixelArrayCustom.cpp:
15595         (WebCore::toJS): Ditto.
15596         * bindings/js/JSDocumentCustom.cpp:
15597         (WebCore::JSDocument::mark): Ditto.
15598         (WebCore::toJS): Ditto.
15599         * bindings/js/JSElementCustom.cpp:
15600         (WebCore::toJSNewlyCreated): Ditto.
15601         * bindings/js/JSEventCustom.cpp:
15602         (WebCore::toJS): Ditto.
15603         * bindings/js/JSEventTargetBase.cpp:
15604         (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
15605         of DOMExceptionTranslator.
15606         (WebCore::toJS): Updated for function name changes and used the
15607         CREATE_DOM_OBJECT_WRAPPER macro.
15608         * bindings/js/JSHTMLCollectionCustom.cpp:
15609         (WebCore::toJS): Ditto.
15610         * bindings/js/JSNodeCustom.cpp:
15611         (WebCore::JSNode::mark): Ditto.
15612         (WebCore::createWrapper): Ditto.
15613         (WebCore::toJS): Ditto.
15614         * bindings/js/JSSVGPathSegCustom.cpp:
15615         (WebCore::toJS): Ditto.
15616         * bindings/js/JSStyleSheetCustom.cpp:
15617         (WebCore::toJS): Ditto.
15618         (WebCore::JSStyleSheet::mark): Ditto.
15619         * bindings/js/JSTextCustom.cpp:
15620         (WebCore::toJSNewlyCreated): Ditto.
15621         * bindings/js/JSXMLHttpRequestConstructor.cpp:
15622         (WebCore::constructXMLHttpRequest): Ditto.
15623         * bindings/js/JSXMLHttpRequestCustom.cpp:
15624         (WebCore::JSXMLHttpRequest::mark): Ditto.
15625         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
15626         (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
15627         * bindings/js/JSXSLTProcessorConstructor.cpp:
15628         (WebCore::constructXSLTProcessor): Ditto.
15629         * bindings/js/ScriptController.cpp:
15630         (WebCore::ScriptController::finishedWithEvent): Ditto.
15631         * xml/XMLHttpRequest.cpp:
15632         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
15633         (WebCore::XMLHttpRequest::dropProtection): Ditto.
15635 2008-09-18  David Hyatt  <hyatt@apple.com>
15637         This patch gets a viewless scrollbar working on Mac. It is turned off
15638         by default.  Hit testing works.  For now the scrollbar just paints ugly
15639         debug rects in the place of the buttons, track and thumb.  It does match
15640         Aqua metrics though.
15642         Reviewed by Sam Weinig
15644         * WebCore.xcodeproj/project.pbxproj:
15645         * page/mac/EventHandlerMac.mm:
15646         (WebCore::EventHandler::passMousePressEventToScrollbar):
15647         * platform/ScrollbarThemeComposite.cpp:
15648         (WebCore::ScrollbarThemeComposite::paint):
15649         (WebCore::ScrollbarThemeComposite::trackPosition):
15650         * platform/ScrollbarThemeComposite.h:
15651         * platform/mac/ScrollViewMac.mm:
15652         (WebCore::ScrollView::addChild):
15653         * platform/mac/ScrollbarThemeMac.cpp:
15654         (WebCore::):
15655         (WebCore::ScrollbarThemeMac::hasButtons):
15656         (WebCore::ScrollbarThemeMac::hasThumb):
15657         (WebCore::buttonRepaintRect):
15658         (WebCore::ScrollbarThemeMac::backButtonRect):
15659         (WebCore::ScrollbarThemeMac::forwardButtonRect):
15660         (WebCore::trackRepaintRect):
15661         (WebCore::ScrollbarThemeMac::trackRect):
15662         (WebCore::ScrollbarThemeMac::minimumThumbLength):
15663         (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
15664         (WebCore::ScrollbarThemeMac::paintTrack):
15665         (WebCore::ScrollbarThemeMac::paintButton):
15666         (WebCore::ScrollbarThemeMac::paintThumb):
15667         * platform/mac/ScrollbarThemeMac.h:
15668         (WebCore::ScrollbarThemeMac::supportsControlTints):
15669         * platform/qt/ScrollbarThemeQt.cpp:
15670         (WebCore::ScrollbarThemeQt::trackPosition):
15672 2008-09-18  Collin Jackson  <collinj@webkit.org>
15674         Build fix; added missing header file to GNUmakefile.am
15676         * GNUmakefile.am:
15678 2008-09-18  Sam Weinig  <sam@webkit.org>
15680         Reviewed by David "the Hair" Hyatt.
15682         Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
15684         * GNUmakefile.am:
15685         * WebCore.pro:
15686         * WebCore.vcproj/WebCore.vcproj:
15687         * WebCore.xcodeproj/project.pbxproj:
15688         * rendering/DataRef.h: Removed.
15689         * rendering/SVGRenderStyle.cpp: Removed.
15690         * rendering/SVGRenderStyle.h: Removed.
15691         * rendering/SVGRenderStyleDefs.cpp: Removed.
15692         * rendering/SVGRenderStyleDefs.h: Removed.
15693         * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
15694         * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
15695         * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
15696         * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
15697         * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
15699 2008-09-18  Mark Rowe  <mrowe@apple.com>
15701         Reviewed by Dan Bernstein.
15703         Add a means of clearing a FrameTree's name.
15705         * WebCore.base.exp:
15706         * page/FrameTree.cpp:
15707         (WebCore::FrameTree::clearName):
15708         * page/FrameTree.h:
15710 2008-09-18  David Hyatt  <hyatt@apple.com>
15712         Eliminate addToSuperview from Widget, since it was only called
15713         by ScrollViewMac's addChild method.  Just shift the original body
15714         of addToSuperView into addChild.
15716         Reviewed by Sam Weinig
15718         * platform/Widget.h:
15719         * platform/mac/ScrollViewMac.mm:
15720         (WebCore::ScrollView::addChild):
15721         * platform/mac/WidgetMac.mm:
15723 2008-09-18  Collin Jackson  <collinj@webkit.org>
15725         Reviewed by Antti Koivisto and Mark Rowe.
15727         Test: http/tests/misc/dns-prefetch-control.html
15729         https://bugs.webkit.org/show_bug.cgi?id=20690
15731         Invoke WebCore::prefetchDNS() on host names that appear in
15732         in the href of hyperlinks and <link rel="dns-prefetch">. This 
15733         can be used to implement DNS prefetching.
15735         * WebCore.vcproj/WebCore.vcproj:
15736         * WebCore.xcodeproj/project.pbxproj:
15737         * dom/Document.cpp:
15738         (WebCore::Document::Document):
15739         (WebCore::Document::processHttpEquiv):
15740         (WebCore::Document::setSecurityOrigin):
15741         (WebCore::Document::initDNSPrefetch):
15742         (WebCore::Document::parseDNSPrefetchControlHeader):
15743         * dom/Document.h:
15744         (WebCore::Document::isDNSPrefetchEnabled):
15745         * html/HTMLAnchorElement.cpp:
15746         (WebCore::HTMLAnchorElement::parseMappedAttribute):
15747         * html/HTMLLinkElement.cpp:
15748         (WebCore::HTMLLinkElement::HTMLLinkElement):
15749         (WebCore::HTMLLinkElement::parseMappedAttribute):
15750         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
15751         (WebCore::HTMLLinkElement::process):
15752         * html/HTMLLinkElement.h:
15753         * html/PreloadScanner.cpp:
15754         (WebCore::PreloadScanner::processAttribute):
15755         * loader/FrameLoader.cpp:
15756         (WebCore::FrameLoader::begin):
15757         * platform/gtk/TemporaryLinkStubs.cpp:
15758         (WebCore::prefetchDNS):
15759         * platform/network/DNS.h: Added.
15760         * platform/network/cf/DNSCFNet.cpp: Added.
15761         (WebCore::prefetchDNS):
15762         * platform/qt/TemporaryLinkStubs.cpp:
15763         (WebCore::prefetchDNS):
15764         * platform/wx/TemporaryLinkStubs.cpp:
15765         (WebCore::prefetchDNS):
15767 2008-09-18  David Hyatt  <hyatt@apple.com>
15769         Eliminate the convertToScreenCoordinate method on Widget, since
15770         ScrollView has redundant methods that already do the same thing.
15772         Reviewed by Sam Weinig
15774         * editing/mac/SelectionControllerMac.mm:
15775         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
15776         * platform/Widget.h:
15777         * platform/mac/WidgetMac.mm:
15778         (WebCore::Widget::containingWindow):
15780 2008-09-18  David Hyatt  <hyatt@apple.com>
15782         Move to only one constructor for Widgets.  Rename data to m_data and make
15783         it have an #ifdef only for platforms that have platform-specific data (Mac
15784         and Gtk).
15786         Reviewed by Sam Weinig
15788         * WebCore.base.exp:
15789         * platform/Widget.cpp:
15790         (WebCore::Widget::init):
15791         * platform/Widget.h:
15792         * platform/gtk/WidgetGtk.cpp:
15793         (WebCore::Widget::Widget):
15794         (WebCore::Widget::~Widget):
15795         (WebCore::Widget::cursor):
15796         (WebCore::Widget::setCursor):
15797         * platform/mac/WidgetMac.mm:
15798         (WebCore::Widget::Widget):
15799         (WebCore::Widget::~Widget):
15800         (WebCore::Widget::addToSuperview):
15801         (WebCore::Widget::removeFromSuperview):
15802         (WebCore::Widget::beforeMouseDown):
15803         (WebCore::Widget::afterMouseDown):
15804         * platform/qt/WidgetQt.cpp:
15805         (WebCore::Widget::Widget):
15806         * platform/win/WidgetWin.cpp:
15807         (WebCore::Widget::Widget):
15808         * platform/wx/WidgetWx.cpp:
15809         (WebCore::Widget::Widget):
15811 2008-09-18  David Hyatt  <hyatt@apple.com>
15813         Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
15814         was no reason for it to be on Widget.  This change eliminates Qt ifdefs
15815         from Widget.
15817         Reviewed by Sam Weinig
15819         * bindings/js/ScriptControllerQt.cpp:
15820         (WebCore::ScriptController::createScriptInstanceForWidget):
15821         * platform/qt/WidgetQt.cpp:
15822         (WebCore::WidgetPrivate::WidgetPrivate):
15823         (WebCore::WidgetPrivate::~WidgetPrivate):
15824         (WebCore::Widget::Widget):
15825         (WebCore::Widget::~Widget):
15826         * plugins/PluginView.cpp:
15827         (WebCore::PluginView::PluginView):
15828         * plugins/PluginView.h:
15829         (WebCore::PluginView::isNPAPIPlugin):
15830         (WebCore::PluginView::setIsNPAPIPlugin):
15832 2008-09-18  David Hyatt  <hyatt@apple.com>
15834         Make geometryChanged() cross-platform on Widget.  GTK and WIN platform
15835         ifdefs are now gone from Widget!
15837         Reviewed by Sam Weinig
15839         * platform/Widget.h:
15840         (WebCore::Widget::geometryChanged):
15841         * platform/gtk/WidgetGtk.cpp:
15842         * platform/qt/WidgetQt.cpp:
15844 2008-09-18  David Hyatt  <hyatt@apple.com>
15846         Consolidate convertTo/FromContainingWindow methods so that all platforms
15847         but Mac share the same code.
15849         Move convertSelfToChild and convertChildToSelf to ScrollView, since
15850         Widget should know nothing about children.  Make the methods cross-platform
15851         on ScrollView.
15853         Reviewed by Sam Weinig
15855         * platform/ScrollView.h:
15856         (WebCore::ScrollView::convertChildToSelf):
15857         (WebCore::ScrollView::convertSelfToChild):
15858         * platform/Widget.cpp:
15859         (WebCore::Widget::convertToContainingWindow):
15860         (WebCore::Widget::convertFromContainingWindow):
15861         * platform/Widget.h:
15862         (WebCore::Widget::geometryChanged):
15863         * platform/gtk/ScrollViewGtk.cpp:
15864         (WebCore::ScrollView::isScrollViewScrollbar):
15865         * platform/gtk/WidgetGtk.cpp:
15866         * platform/mac/ScrollViewMac.mm:
15867         (WebCore::ScrollView::isScrollViewScrollbar):
15868         * platform/mac/WidgetMac.mm:
15869         * platform/qt/ScrollViewQt.cpp:
15870         (WebCore::ScrollView::isScrollViewScrollbar):
15871         * platform/qt/WidgetQt.cpp:
15872         * platform/win/ScrollViewWin.cpp:
15873         (WebCore::ScrollView::isScrollViewScrollbar):
15874         * platform/win/WidgetWin.cpp:
15876 2008-09-18  David Hyatt  <hyatt@apple.com>
15878         Make the conversion methods that go to and from some containingWindow
15879         cross-platform.  Implement them on Mac.
15881         Reviewed by Sam Weinig
15883         * platform/Widget.h:
15884         (WebCore::Widget::setContainingWindow):
15885         * platform/mac/WidgetMac.mm:
15886         (WebCore::Widget::convertFromContainingWindow):
15887         (WebCore::Widget::convertToContainingWindow):
15889 2008-09-18  Sam Weinig  <sam@webkit.org>
15891         Rubber-stamped by David "Yeah-yeah" Hyatt.
15893         Cleanup RenderStyle.
15895         * WebCore.xcodeproj/project.pbxproj:
15896         * rendering/style/CounterContent.h:
15897         * rendering/style/RenderStyle.cpp:
15898         * rendering/style/RenderStyle.h:
15900 2008-09-18  Chris Marrin  <cmarrin@apple.com>
15902         Reviewed by Sam Weinig
15904         Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
15905         Now TransformOperations and AnimationList no longer
15906         inherit from Vector<> but rather have API to access.
15908         * css/CSSComputedStyleDeclaration.cpp:
15909         (WebCore::computedTransform):
15910         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
15911         * css/CSSStyleSelector.cpp:
15912         (WebCore::CSSStyleSelector::createTransformOperations):
15913         * page/animation/AnimationBase.cpp:
15914         (WebCore::blendFunc):
15915         * page/animation/CompositeAnimation.cpp:
15916         (WebCore::CompositeAnimation::updateTransitions):
15917         (WebCore::CompositeAnimation::updateKeyframeAnimations):
15918         (WebCore::CompositeAnimation::animate):
15919         * page/animation/ImplicitAnimation.cpp:
15920         (WebCore::ImplicitAnimation::validateTransformFunctionList):
15921         * page/animation/KeyframeAnimation.cpp:
15922         (WebCore::KeyframeAnimation::validateTransformFunctionList):
15923         * rendering/RenderLayer.cpp:
15924         (WebCore::RenderLayer::updateReflectionStyle):
15925         * rendering/style/AnimationList.cpp:
15926         (WebCore::AnimationList::operator==):
15927         * rendering/style/AnimationList.h:
15928         (WebCore::AnimationList::operator!=):
15929         (WebCore::AnimationList::size):
15930         (WebCore::AnimationList::isEmpty):
15931         (WebCore::AnimationList::resize):
15932         (WebCore::AnimationList::remove):
15933         (WebCore::AnimationList::append):
15934         (WebCore::AnimationList::animation):
15935         * rendering/style/RenderStyle.cpp:
15936         (WebCore::StyleRareNonInheritedData::updateKeyframes):
15937         (WebCore::RenderStyle::applyTransform):
15938         (WebCore::RenderStyle::adjustAnimations):
15939         (WebCore::RenderStyle::adjustTransitions):
15940         (WebCore::RenderStyle::transitionForProperty):
15941         * rendering/style/RenderStyle.h:
15942         (WebCore::RenderStyle::hasTransform):
15943         * rendering/style/TransformOperations.cpp:
15944         (WebCore::TransformOperations::TransformOperations):
15945         (WebCore::TransformOperations::operator==):
15946         * rendering/style/TransformOperations.h:
15947         (WebCore::TransformOperations::apply):
15948         (WebCore::TransformOperations::operations):
15950 2008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
15952         Build fix.
15954         [qt] Build fixes after the Widget/ScrollView cleanup
15955         topLevel() is now root()
15958         * platform/qt/ScrollViewQt.cpp:
15959         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
15960         (WebCore::ScrollView::addChild):
15961         (WebCore::ScrollView::removeChild):
15963 2008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
15965         Reviewed by Mark Rowe.
15967         https://bugs.webkit.org/show_bug.cgi?id=20437
15969         XMLTokenizer.cpp used to contain two different implementations. One was using
15970         libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
15971         separating the two implementations from each other.
15972         Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
15973         was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
15974         XMLTokenizerLibxml2.cpp. There should be no functional changes.
15976         Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
15977         to work.
15979         * GNUmakefile.am:
15980         * WebCore.pro:
15981         * WebCore.vcproj/WebCore.vcproj:
15982         * WebCore.xcodeproj/project.pbxproj:
15983         * WebCoreSources.bkl:
15984         * dom/XMLTokenizer.cpp:
15985         (WebCore::isScriptElement):
15986         (WebCore::castToScriptElement):
15987         (WebCore::XMLTokenizer::setCurrentNode):
15988         (WebCore::XMLTokenizer::write):
15989         (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
15990         (WebCore::XMLTokenizer::enterText):
15991         (WebCore::toString):
15992         (WebCore::XMLTokenizer::exitText):
15993         (WebCore::XMLTokenizer::end):
15994         (WebCore::XMLTokenizer::insertErrorMessageBlock):
15995         * dom/XMLTokenizer.h:
15996         (WebCore::XMLTokenizer::wellFormed):
15997         * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
15998         (WebCore::createMemoryParser):
15999         (WebCore::XMLTokenizer::XMLTokenizer):
16000         (WebCore::XMLTokenizer::~XMLTokenizer):
16001         (WebCore::XMLTokenizer::doWrite):
16002         (WebCore::ignorableWhitespaceHandler):
16003         (WebCore::XMLTokenizer::initializeParserContext):
16004         (WebCore::XMLTokenizer::doEnd):
16005         (WebCore::XMLTokenizer::lineNumber):
16006         (WebCore::XMLTokenizer::columnNumber):
16007         (WebCore::XMLTokenizer::stopParsing):
16008         (WebCore::XMLTokenizer::resumeParsing):
16009         (WebCore::parseXMLDocumentFragment):
16010         (WebCore::attributesStartElementNsHandler):
16011         (WebCore::parseAttributes):
16012         * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
16013         (WebCore::EntityResolver::resolveUndeclaredEntity):
16014         (WebCore::XMLTokenizer::XMLTokenizer):
16015         (WebCore::XMLTokenizer::~XMLTokenizer):
16016         (WebCore::XMLTokenizer::doWrite):
16017         (WebCore::XMLTokenizer::initializeParserContext):
16018         (WebCore::XMLTokenizer::doEnd):
16019         (WebCore::XMLTokenizer::lineNumber):
16020         (WebCore::XMLTokenizer::columnNumber):
16021         (WebCore::XMLTokenizer::stopParsing):
16022         (WebCore::XMLTokenizer::resumeParsing):
16023         (WebCore::parseXMLDocumentFragment):
16024         (WebCore::attributesStartElementNsHandler):
16025         (WebCore::parseAttributes):
16026         (WebCore::):
16028 2008-09-18  Beth Dakin  <bdakin@apple.com>
16030         Reviewed by Geoff Garen.
16032         Build fix for non-Mac builds.
16034         * css/CSSPrimitiveValue.cpp:
16035         (WebCore::CSSPrimitiveValue::cssText):
16037 2008-09-18  Peter Kasting  <pkasting@google.com>
16039         Reviewed by hyatt.  Landed by eseidel.
16041         https://bugs.webkit.org/show_bug.cgi?id=20745
16042         Animated GIFs do not animate properly with (at least) CG.
16044         * WebCore\platform\graphics\BitmapImage.cpp:
16045         * WebCore\platform\graphics\BitmapImage.h:
16046         * WebCore\platform\graphics\cairo\ImageCairo.cpp:
16047         * WebCore\platform\graphics\cg\ImageCG.cpp:
16048         * WebCore\platform\graphics\qt\ImageQt.cpp:
16049         * WebCore\platform\graphics\wx\ImageWx.cpp:
16051 2008-09-18  Chris Fleizach  <cfleizach@apple.com>
16053         Reviewed by Beth Dakin
16055         <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA 
16056         role specifies otherwise
16058         If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
16060         Test: accessibility/table-with-aria-role.html
16062         * page/AccessibilityTable.cpp:
16063         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
16064         (WebCore::AccessibilityTable::addChildren):
16065         (WebCore::AccessibilityTable::roleValue):
16066         (WebCore::AccessibilityTable::accessibilityIsIgnored):
16067         (WebCore::AccessibilityTable::title):
16068         * page/AccessibilityTableCell.cpp:
16069         (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
16070         (WebCore::AccessibilityTableCell::isTableCell):
16071         (WebCore::AccessibilityTableCell::roleValue):
16072         * page/AccessibilityTableCell.h:
16073         * page/AccessibilityTableRow.cpp:
16074         (WebCore::AccessibilityTableRow::roleValue):
16075         (WebCore::AccessibilityTableRow::isTableRow):
16076         (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
16077         * page/AccessibilityTableRow.h:
16079 2008-09-18  Steve Falkenburg  <sfalken@apple.com>
16081         Use higher-resolution timers on all variants of Windows.
16082         
16083         Reviewed by Darin Adler.
16085         * platform/win/SharedTimerWin.cpp:
16086         (WebCore::setSharedTimerFireTime):
16089 2008-09-18  David Hyatt  <hyatt@apple.com>
16091         Make containingWindow() and setContainingWindow() cross-platform.
16092         Add a root() function cross-platform so Qt doesn't have to
16093         define its own.
16095         Reviewed by Darin Adler
16097         * platform/Widget.cpp:
16098         (WebCore::Widget::root):
16099         * platform/Widget.h:
16100         (WebCore::Widget::setContainingWindow):
16101         * platform/gtk/WidgetGtk.cpp:
16102         (WebCore::Widget::Widget):
16103         (WebCore::Widget::containingWindow):
16104         * platform/mac/ScrollViewMac.mm:
16105         (WebCore::ScrollView::addChild):
16106         (WebCore::ScrollView::removeChild):
16107         * platform/mac/WidgetMac.mm:
16108         (WebCore::Widget::containingWindow):
16109         * platform/qt/WidgetQt.cpp:
16110         (WebCore::Widget::invalidateRect):
16111         (WebCore::Widget::containingWindow):
16112         * platform/win/WidgetWin.cpp:
16113         (WebCore::Widget::Widget):
16114         (WebCore::Widget::~Widget):
16115         (WebCore::Widget::containingWindow):
16117 2008-09-18  Beth Dakin  <bdakin@apple.com>
16119         Reviewed by Dave Hyatt.
16121         Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon 
16122         parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
16123         dashboard-region=
16124         and corresponding: <rdar://problem/6174100>
16126         This patch makes CSSParserValue::createCSSValue handle unknown 
16127         identifiers.
16129         * css/CSSParserValues.cpp:
16130         (WebCore::CSSParserValue::createCSSValue): If we have an identifier 
16131         with no id (an unknown identifier) create a CSSPrimitiveValue of 
16132         type CSS_PARSER_IDENTIFIER
16133         * css/CSSPrimitiveValue.cpp:
16134         (WebCore::CSSPrimitiveValue::cssText):
16135         (WebCore::CSSPrimitiveValue::parserValue):
16136         * css/CSSPrimitiveValue.h:
16137         (WebCore::CSSPrimitiveValue::):
16139 2008-09-18  Sam Weinig  <sam@webkit.org>
16141         Rubber-stamped by David "I'd prefer not" Hyatt.
16143         More the remaining class out of RenderStyle.h/cpp
16145         * GNUmakefile.am:
16146         * WebCore.pro:
16147         * WebCore.vcproj/WebCore.vcproj:
16148         * WebCore.xcodeproj/project.pbxproj:
16149         * WebCoreSources.bkl:
16150         * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
16151         (WebCore::CursorData::CursorData):
16152         (WebCore::CursorData::operator==):
16153         (WebCore::CursorData::operator!=):
16154         * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
16155         (WebCore::CursorList::operator[]):
16156         (WebCore::CursorList::CursorList):
16157         * rendering/style/RenderStyle.cpp:
16158         * rendering/style/RenderStyle.h:
16159         (WebCore::RenderStyle::deref):
16160         (WebCore::RenderStyle::hasOneRef):
16161         (WebCore::RenderStyle::InheritedFlags::operator!=):
16162         (WebCore::RenderStyle::NonInheritedFlags::operator!=):
16163         (WebCore::RenderStyle::hasBackground):
16164         (WebCore::RenderStyle::outlineWidth):
16165         (WebCore::RenderStyle::autoWrap):
16166         (WebCore::RenderStyle::preserveNewline):
16167         (WebCore::RenderStyle::collapseWhiteSpace):
16168         (WebCore::RenderStyle::isCollapsibleWhiteSpace):
16169         (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
16170         (WebCore::RenderStyle::breakWords):
16171         (WebCore::RenderStyle::outlineOffset):
16172         (WebCore::RenderStyle::setLeft):
16173         (WebCore::RenderStyle::setRight):
16174         (WebCore::RenderStyle::setTop):
16175         (WebCore::RenderStyle::setBottom):
16176         (WebCore::RenderStyle::setDashboardRegion):
16177         (WebCore::RenderStyle::setBackgroundColor):
16178         (WebCore::RenderStyle::setBorderImage):
16179         (WebCore::RenderStyle::setBorderRadius):
16180         (WebCore::RenderStyle::setFontDescription):
16181         (WebCore::RenderStyle::adjustBackgroundLayers):
16182         (WebCore::RenderStyle::adjustMaskLayers):
16183         (WebCore::RenderStyle::deleteBindingURIs):
16184         (WebCore::RenderStyle::inheritBindingURIs):
16185         (WebCore::RenderStyle::isDisplayReplacedType):
16186         (WebCore::RenderStyle::isDisplayInlineType):
16187         (WebCore::RenderStyle::isOriginalDisplayInlineType):
16188         * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
16189         * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
16190         (WebCore::StyleInheritedData::operator!=):
16191         * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
16192         * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
16193         (WebCore::StyleRareInheritedData::operator!=):
16194         * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
16195         * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
16196         * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
16198 2008-09-18  David Hyatt  <hyatt@apple.com>
16200         Move the concept of suppression invalidation on Widgets to Scrollbar
16201         instead.  Since this is only used by Scrollbars, there is no need for
16202         it to be on Widget.
16204         Reviewed by Sam Weinig
16206         * platform/Scrollbar.cpp:
16207         (WebCore::Scrollbar::Scrollbar):
16208         (WebCore::Scrollbar::invalidateRect):
16209         * platform/Scrollbar.h:
16210         (WebCore::Scrollbar::suppressInvalidation):
16211         (WebCore::Scrollbar::setSuppressInvalidation):
16212         * platform/Widget.h:
16213         * platform/gtk/WidgetGtk.cpp:
16214         (WebCore::Widget::Widget):
16215         (WebCore::Widget::invalidateRect):
16216         * platform/qt/WidgetQt.cpp:
16217         (WebCore::WidgetPrivate::WidgetPrivate):
16218         (WebCore::Widget::invalidateRect):
16219         * platform/win/WidgetWin.cpp:
16220         (WebCore::Widget::Widget):
16221         (WebCore::Widget::invalidateRect):
16223 2008-09-18  David Hyatt  <hyatt@apple.com>
16225         Make invalidate() on Widget non-virtual and make it just call
16226         invalidateRect() on the boundsGeometry() of the Widget.
16228         Reviewed by Dan Bernstein
16230         * platform/Widget.h:
16231         (WebCore::Widget::boundsGeometry):
16232         (WebCore::Widget::invalidate):
16233         * platform/gtk/WidgetGtk.cpp:
16234         * platform/mac/WidgetMac.mm:
16235         * platform/qt/WidgetQt.cpp:
16236         * platform/win/WidgetWin.cpp:
16237         * platform/wx/WidgetWx.cpp:
16239 2008-09-18  Sam Weinig  <sam@webkit.org>
16241         Rubber-stamped in exile by David Hyatt.
16243         Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
16244         KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
16245         RenderStyle.h/cpp
16247         * GNUmakefile.am:
16248         * WebCore.pro:
16249         * WebCore.vcproj/WebCore.vcproj:
16250         * WebCore.xcodeproj/project.pbxproj:
16251         * WebCoreSources.bkl:
16252         * css/CSSStyleSelector.cpp:
16253         * css/CSSStyleSelector.h:
16254         * page/animation/CompositeAnimation.cpp:
16255         * page/animation/KeyframeAnimation.cpp:
16256         * page/animation/KeyframeAnimation.h:
16257         * rendering/RenderCounter.h:
16258         * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
16259         (WebCore::Animation::~Animation):
16260         (WebCore::Animation::animationsMatch):
16261         (WebCore::Animation::keyframeList):
16262         (WebCore::Animation::setAnimationKeyframe):
16263         * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
16264         * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
16265         * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
16266         * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
16267         * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
16268         (WebCore::BindingURI::operator!=):
16269         * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
16270         * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
16271         (WebCore::ContentData::ContentData):
16272         (WebCore::ContentData::~ContentData):
16273         * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
16274         (WebCore::CounterContent::CounterContent):
16275         * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
16276         * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
16277         (WebCore::CounterDirectives::CounterDirectives):
16278         * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
16279         (WebCore::KeyframeList::insert):
16280         * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
16281         (WebCore::KeyframeValue::KeyframeValue):
16282         (WebCore::KeyframeList::create):
16283         (WebCore::KeyframeList::KeyframeList):
16284         * rendering/style/RenderStyle.cpp:
16285         * rendering/style/RenderStyle.h:
16286         * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
16287         * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
16288         (WebCore::ShadowData::ShadowData):
16289         (WebCore::ShadowData::~ShadowData):
16290         (WebCore::ShadowData::operator!=):
16291         * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
16292         * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
16293         (WebCore::StyleFlexibleBoxData::operator!=):
16294         * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
16295         (WebCore::TimingFunction::TimingFunction):
16296         (WebCore::TimingFunction::operator==):
16298 2008-09-18  Adele Peterson  <adele@apple.com>
16300         Reviewed by Dan Bernstein.
16302         Fix RenderStyle leaks.
16304         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
16306 2008-09-18  Kevin McCullough  <kmccullough@apple.com>
16308         Accidentally checked in code.
16310         * html/HTMLElementFactory.cpp:
16311         (WebCore::frameConstructor):
16312         (WebCore::iframeConstructor):
16314 2008-09-18  Kevin McCullough  <kmccullough@apple.com>
16316         Reviewed by Tim.
16318         <rdar://problem/5722310> gracefully handle too many console messages
16319         (20904)
16320         - Keep track of the most previous message and then compare it to the 
16321         subsequent messages as they come in.  If there are multiple of the same
16322         message create a count that indicates the current number.
16324         * manual-tests/inspector/multiple-console-messages.html: Added.
16325         * page/inspector/Console.js:
16326         * page/inspector/inspector.css:
16328 2008-09-18  Jonathon Jongsma  <jonathon@quotidian.org>
16330         Reviewed by Alp Toker
16332         https://bugs.webkit.org/show_bug.cgi?id=20830
16333         [GTK] Don't use deprecated pango API
16335         Replace deprecated pango functions with non-deprecated ones for newer
16336         versions of pango
16338         * platform/graphics/gtk/FontGtk.cpp:
16339         (WebCore::getDefaultPangoLayout):
16340         * platform/graphics/gtk/FontPlatformDataPango.cpp:
16341         (WebCore::FontPlatformData::FontPlatformData):
16343 2008-09-18  Alp Toker  <alp@nuanti.com>
16345         Build fix for r36587. Add new sources (and sort the lists).
16347         * GNUmakefile.am:
16349 2008-09-17  Sam Weinig  <sam@webkit.org>
16351         Fix Windows build.
16353         * WebCore.vcproj/WebCore.vcproj:
16355 2008-09-17  David Hyatt  <hyatt@apple.com>
16357         Switch back to having frameGeometry be virtual in order to keep Mac
16358         the way it used to be.
16360         Reviewed by Sam Weinig
16362         * WebCore.base.exp:
16363         * platform/Widget.cpp:
16364         (WebCore::Widget::setParent):
16365         * platform/Widget.h:
16366         * platform/gtk/WidgetGtk.cpp:
16367         (WebCore::Widget::frameGeometry):
16368         (WebCore::Widget::setFrameGeometry):
16369         * platform/mac/WidgetMac.mm:
16370         (WebCore::Widget::frameGeometry):
16371         (WebCore::Widget::setFrameGeometry):
16372         * platform/qt/WidgetQt.cpp:
16373         (WebCore::Widget::frameGeometry):
16374         (WebCore::Widget::setFrameGeometry):
16375         * platform/win/WidgetWin.cpp:
16376         (WebCore::Widget::frameGeometry):
16377         (WebCore::Widget::setFrameGeometry):
16378         * platform/wx/WidgetWx.cpp:
16379         (WebCore::Widget::frameGeometry):
16380         (WebCore::Widget::setFrameGeometry):
16381         * plugins/PluginView.cpp:
16382         (WebCore::PluginView::setFrameGeometry):
16383         (WebCore::PluginView::geometryChanged):
16384         * plugins/PluginView.h:
16385         * plugins/gtk/PluginViewGtk.cpp:
16386         (WebCore::PluginView::updatePluginWidget):
16387         * plugins/qt/PluginViewQt.cpp:
16388         (WebCore::PluginView::updatePluginWidget):
16389         * plugins/win/PluginViewWin.cpp:
16390         (WebCore::PluginView::updatePluginWidget):
16392 2008-09-17  Sam Weinig  <sam@webkit.org>
16394         Reviewed by Mark Rowe.
16396         Fix assertion in DOMWindow::adjustWindowRect where we were passing
16397         in garbage values and were getting lucky that they were a not Nan.
16399         * bindings/js/JSDOMWindowBase.cpp:
16400         (WebCore::windowProtoFuncOpen):
16402 2008-09-17  Sam Weinig  <sam@webkit.org>
16404         Fix gtk build.
16406         * rendering/style/MatrixTransformOperation.cpp:
16408 2008-09-17  Sam Weinig  <sam@webkit.org>
16410         Rubber-stamped with love by David Hyatt.
16412         Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation, 
16413         ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
16414         TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
16416         * GNUmakefile.am:
16417         * WebCore.pro:
16418         * WebCore.vcproj/WebCore.vcproj:
16419         * WebCore.xcodeproj/project.pbxproj:
16420         * WebCoreSources.bkl:
16421         * css/CSSStyleSelector.cpp:
16422         * page/animation/AnimationBase.cpp:
16423         (WebCore::solveEpsilon):
16424         * rendering/RenderLayer.cpp:
16425         * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16426         * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16427         * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16428         (WebCore::MatrixTransformOperation::MatrixTransformOperation):
16429         * rendering/style/RenderStyle.cpp:
16430         * rendering/style/RenderStyle.h:
16431         * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16432         * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16433         (WebCore::RotateTransformOperation::RotateTransformOperation):
16434         * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16435         * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16436         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
16437         * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16438         * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16439         (WebCore::SkewTransformOperation::SkewTransformOperation):
16440         * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
16441         * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
16442         (WebCore::StyleTransformData::operator!=):
16443         * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
16444         (WebCore::TransformOperation::):
16445         * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
16446         (WebCore::TransformOperations::TransformOperations):
16447         * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
16448         (WebCore::TransformOperations::operator!=):
16449         * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16450         * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16451         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
16453 2008-09-17  Mark Rowe  <mrowe@apple.com>
16455         Build fix.
16457         * rendering/style/StyleDashboardRegion.h:  PlatformString.h rather than String.h.
16459 2008-09-17  David Hyatt  <hyatt@apple.com>
16461         (1) Inline a bunch of methods for accessing frame geometry.
16462         (2) Make sure frameGeometry() works even when you have no underlying
16463         native widget.
16464         (3) Cache a frame geometry rect cross-platform (even for widgets that
16465         have underlying native widgets.
16466         (4) PluginView's updateWindow call is now a virtual function on Widget.
16468         Reviewed by Sam Weinig
16470         * ChangeLog:
16471         * WebCore.base.exp:
16472         * platform/Widget.cpp:
16473         (WebCore::Widget::setFrameGeometry):
16474         * platform/Widget.h:
16475         (WebCore::Widget::x):
16476         (WebCore::Widget::y):
16477         (WebCore::Widget::width):
16478         (WebCore::Widget::height):
16479         (WebCore::Widget::size):
16480         (WebCore::Widget::pos):
16481         (WebCore::Widget::frameGeometry):
16482         (WebCore::Widget::resize):
16483         (WebCore::Widget::move):
16484         (WebCore::Widget::isFrameView):
16485         (WebCore::Widget::windowClipRect):
16486         * platform/mac/WidgetMac.mm:
16487         (WebCore::Widget::~Widget):
16488         (WebCore::Widget::updatePlatformWidgetFrameGeometry):
16489         * platform/win/WidgetWin.cpp:
16490         (WebCore::Widget::updatePlatformWidgetFrameGeometry):
16491         * plugins/PluginView.cpp:
16492         (WebCore::PluginView::setFrameGeometry):
16493         (WebCore::PluginView::geometryChanged):
16494         * plugins/PluginView.h:
16495         * plugins/gtk/PluginViewGtk.cpp:
16496         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
16497         * plugins/qt/PluginViewQt.cpp:
16498         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
16499         * plugins/win/PluginViewWin.cpp:
16500         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
16501         * plugins/wx/PluginViewWx.cpp:
16503 2008-09-17  Sam Weinig  <sam@webkit.org>
16505         Reviewed by David "Waterman" Hyatt.
16507         Fix a leak of NSViews in WidgetMac.mm.
16509         * platform/mac/WidgetMac.mm:
16510         (WebCore::Widget::~Widget):
16512 2008-09-17  Sam Weinig  <sam@webkit.org>
16514         Rubber-stamped by David Waterman Hyatt.
16516         Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
16517         StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
16519         * GNUmakefile.am:
16520         * WebCore.pro:
16521         * WebCore.vcproj/WebCore.vcproj:
16522         * WebCore.xcodeproj/project.pbxproj:
16523         * WebCoreSources.bkl:
16524         * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
16525         * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
16526         (WebCore::FillLayer::operator!=):
16527         (WebCore::FillLayer::hasImage):
16528         (WebCore::FillLayer::hasFixedImage):
16529         * rendering/style/RenderStyle.cpp:
16530         * rendering/style/RenderStyle.h:
16531         * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
16532         (WebCore::StyleBackgroundData::StyleBackgroundData):
16533         * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
16534         (WebCore::StyleBackgroundData::~StyleBackgroundData):
16535         (WebCore::StyleBackgroundData::operator!=):
16536         * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
16537         * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
16538         (WebCore::StyleBoxData::operator!=):
16539         * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
16540         (WebCore::StyleDashboardRegion::operator!=):
16541         * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
16542         * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
16543         (WebCore::StyleMarqueeData::operator!=):
16544         * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
16545         * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
16546         (WebCore::StyleMultiColData::operator!=):
16547         (WebCore::StyleMultiColData::ruleWidth):
16548         * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
16549         * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
16550         (WebCore::StyleVisualData::operator==):
16552 2008-09-17  David Hyatt  <hyatt@apple.com>
16554         Remove WidgetClient from Widget.
16556         Reviewed by Sam Weinig
16558         * WebCore.xcodeproj/project.pbxproj:
16559         * platform/Widget.h:
16560         (WebCore::Widget::setClient):
16561         (WebCore::Widget::client):
16562         * platform/WidgetClient.h: Removed.
16563         * platform/gtk/WidgetGtk.cpp:
16564         * platform/mac/WidgetMac.mm:
16565         (WebCore::Widget::Widget):
16566         (WebCore::Widget::show):
16567         (WebCore::Widget::hide):
16568         * platform/qt/WidgetQt.cpp:
16569         (WebCore::WidgetPrivate::WidgetPrivate):
16570         * platform/win/WidgetWin.cpp:
16571         (WebCore::Widget::Widget):
16572         * platform/wx/WidgetWx.cpp:
16573         (WebCore::Widget::Widget):
16575 2008-09-17  David Hyatt  <hyatt@apple.com>
16577         Remove isEnabled/setEnabled from Widget.  The concept of being enabled now
16578         only applies to Scrollbars so the method has been moved there and made
16579         cross-platform.  Scrollbar subclasses that have a corresponding native
16580         widget can subclass setEnabled to change the enabled state of the native
16581         widget.
16583         Reviewed by Sam Weinig & Darin Adler
16585         * WebCore.base.exp:
16586         * platform/Scrollbar.cpp:
16587         (WebCore::Scrollbar::Scrollbar):
16588         * platform/Scrollbar.h:
16589         (WebCore::Scrollbar::enabled):
16590         (WebCore::Scrollbar::setEnabled):
16591         * platform/Widget.h:
16592         * platform/gtk/ScrollbarGtk.cpp:
16593         (ScrollbarGtk::setEnabled):
16594         * platform/gtk/ScrollbarGtk.h:
16595         * platform/gtk/WidgetGtk.cpp:
16596         * platform/mac/ScrollbarMac.h:
16597         * platform/mac/ScrollbarMac.mm:
16598         (WebCore::ScrollbarMac::scrollbarHit):
16599         (WebCore::ScrollbarMac::setEnabled):
16600         * platform/mac/WidgetMac.mm:
16601         * platform/qt/WidgetQt.cpp:
16602         (WebCore::WidgetPrivate::WidgetPrivate):
16603         * platform/win/WidgetWin.cpp:
16604         (WebCore::Widget::Widget):
16605         * platform/wx/WidgetWx.cpp:
16607 2008-09-17  Sam Weinig  <sam@webkit.org>
16609         Rubber-stamped by David Hyatt.
16611         Split all RenderStyle enums into their own file.
16613         * GNUmakefile.am:
16614         * WebCore.vcproj/WebCore.vcproj:
16615         * WebCore.xcodeproj/project.pbxproj:
16616         * rendering/style/BorderValue.h:
16617         * rendering/style/CollapsedBorderValue.h:
16618         * rendering/style/RenderStyle.h:
16619         * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
16620         (WebCore::):
16621         * rendering/style/StyleCachedImage.h:
16622         * rendering/style/StyleGeneratedImage.h:
16623         * rendering/style/StyleImage.h:
16625 2008-09-17  Steve Falkenburg  <sfalken@apple.com>
16627         Add back isFrameView check to fix failed assertion during scroll bar teardown.
16628         
16629         Reviewed by Dave Hyatt.
16631         * platform/Scrollbar.cpp:
16632         (WebCore::Scrollbar::setParent):
16634 2008-09-17  Brady Eidson  <beidson@apple.com>
16636         Reviewed by Mac build fix
16638         * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
16640 2008-09-17  Steve Falkenburg  <sfalken@apple.com>
16642         Fix build.
16644         * platform/win/ScrollViewWin.cpp:
16645         (WebCore::ScrollView::setParentVisible):
16646         * plugins/win/PluginViewWin.cpp:
16647         (WebCore::PluginView::init):
16649 2008-09-17  Holger Hans Peter Freyther  <zecke@selfish.org>
16651         Reviewed by Simon.
16653         [QtWebKit] Implement error handling in TextCodecQt::decode
16654         Use the QTextCodec parsing state to set the sawError out variable. This
16655         is needed to pass Test 70 of acid3. The test case for this bug is
16656         fast/encoding/invalid-xml.html that is now partially passed. To pass
16657         it completely the Qt text codecs need to be adjusted to have proper
16658         error handling.
16660         * platform/text/qt/TextCodecQt.cpp:
16661         (WebCore::TextCodecQt::decode):
16663 2008-09-17  Sam Weinig  <sam@webkit.org>
16665         Rubber-stamped by Dave Hyatt.
16667         Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
16668         out of RenderStyle.h/cpp
16670         * GNUmakefile.am:
16671         * WebCore.pro:
16672         * WebCore.vcproj/WebCore.vcproj:
16673         * WebCore.xcodeproj/project.pbxproj:
16674         * WebCoreSources.bkl:
16675         * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
16676         (WebCore::BorderData::hasBorderRadius):
16677         (WebCore::BorderData::borderLeftWidth):
16678         (WebCore::BorderData::borderRightWidth):
16679         (WebCore::BorderData::borderTopWidth):
16680         (WebCore::BorderData::borderBottomWidth):
16681         (WebCore::BorderData::operator!=):
16682         * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
16683         (WebCore::):
16684         (WebCore::BorderValue::BorderValue):
16685         (WebCore::BorderValue::nonZero):
16686         (WebCore::BorderValue::isTransparent):
16687         (WebCore::BorderValue::isVisible):
16688         * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
16689         (WebCore::):
16690         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
16691         (WebCore::CollapsedBorderValue::operator==):
16692         * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
16693         (WebCore::OutlineValue::OutlineValue):
16694         * rendering/style/RenderStyle.cpp:
16695         * rendering/style/RenderStyle.h:
16696         * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
16697         * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
16698         (WebCore::StyleSurroundData::operator!=):
16700 2008-09-17  Beth Dakin  <bdakin@apple.com>
16702         Reviewed by Darin Adler.
16704         This is a better fix for: Invalid CSS code crashes Safari
16705         https://bugs.webkit.org/show_bug.cgi?id=20512
16707         The spec indicates that the only valid input for a counter is a 
16708         number or an identifier. So that is exactly what we allow.
16710         * css/CSSParser.cpp:
16711         (WebCore::CSSParser::parseCounterContent):
16713 2008-09-17  Alp Toker  <alp@nuanti.com>
16715         GTK+ build fix. Adapt to use PlatformWidget functions.
16717         * platform/gtk/ScrollViewGtk.cpp:
16718         (WebCore::ScrollViewScrollbar::geometryChanged):
16719         (WebCore::ScrollView::addChild):
16720         (WebCore::ScrollView::removeChild):
16721         * platform/gtk/ScrollbarGtk.cpp:
16722         (ScrollbarGtk::ScrollbarGtk):
16723         (ScrollbarGtk::~ScrollbarGtk):
16724         (ScrollbarGtk::geometryChanged):
16726 2008-09-17  Sam Weinig  <sam@webkit.org>
16728         Reviewed by Adele Peterson.
16730         Patch for <rdar://problem/6133884> 
16731         Calling window.resizeTo() on a subframe shouldn't change the window size
16733         Test: fast/dom/Window/window-resize-and-move-sub-frame.html
16735         * page/DOMWindow.cpp:
16736         (WebCore::DOMWindow::moveBy):
16737         (WebCore::DOMWindow::moveTo):
16738         (WebCore::DOMWindow::resizeBy):
16739         (WebCore::DOMWindow::resizeTo):
16741 2008-09-17  Beth Dakin  <bdakin@apple.com>
16743         Reviewed by Adam Roben.
16745         Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS 
16746         code crashes Safari 
16747         and corresponding: <rdar://problem/6173832>
16749         Reading through the spec, it seems like a function is not valid 
16750         input for a counter. So this patch checks for that and bails in the 
16751         case of invalid input. 
16753         * css/CSSParser.cpp:
16754         (WebCore::CSSParser::parseCounterContent):
16756 2008-09-17  Greg Bolsinga  <bolsinga@apple.com>
16758         Reviewed by Antti Koivisto.
16760         Fix <rdar://problem/6227089> 
16761         Crash in WebCore::Frame::setNeedsReapplyStyles()
16762         
16763         View is null checked elsewhere too.
16765         * page/Frame.cpp:
16766         (WebCore::Frame::setNeedsReapplyStyles):
16768 2008-09-17  David Hyatt  <hyatt@apple.com>
16770         Make the notion of having a native widget backing a Widget cross-platform.
16771         The PlatformWidget abstraction (which already existed) is used for this.
16772              Windows = HWND
16773              Qt = QWidget
16774              Mac = NSView
16775              wx = wxWindow
16776              Gtk = GtkWidget
16778         There are new cross-platform methods that replace all of the unique
16779         platform-specific methods.
16780              platformWidget()
16781              setPlatformWidget()
16783         For plugins, on every platform except Qt on Windows, the plugin's native
16784         widget is now stored in the Widget base class.  Since Qt on Windows uses
16785         HWNDs for plugins instead of QWidget, it is the only platform to keep the
16786         m_window variable in PluginView.
16788         Reviewed by Sam Weinig
16790         * WebCore.base.exp:
16791         * bindings/js/ScriptControllerMac.mm:
16792         (WebCore::ScriptController::createScriptInstanceForWidget):
16793         * page/mac/AccessibilityObjectWrapper.mm:
16794         (-[AccessibilityObjectWrapper attachmentView]):
16795         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
16796         * page/mac/EventHandlerMac.mm:
16797         (WebCore::EventHandler::passMouseDownEventToWidget):
16798         (WebCore::EventHandler::mouseDownViewIfStillGood):
16799         (WebCore::EventHandler::passWheelEventToWidget):
16800         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
16801         * platform/Widget.cpp:
16802         (WebCore::Widget::init):
16803         (WebCore::Widget::setParent):
16804         (WebCore::Widget::releasePlatformWidget):
16805         (WebCore::Widget::retainPlatformWidget):
16806         * platform/Widget.h:
16807         (WebCore::Widget::platformWidget):
16808         (WebCore::Widget::setPlatformWidget):
16809         * platform/gtk/WidgetGtk.cpp:
16810         (WebCore::Widget::Widget):
16811         (WebCore::Widget::setFocus):
16812         (WebCore::gdkDrawable):
16813         (WebCore::Widget::setCursor):
16814         (WebCore::Widget::show):
16815         (WebCore::Widget::hide):
16816         (WebCore::Widget::setEnabled):
16817         (WebCore::Widget::isEnabled):
16818         (WebCore::Widget::paint):
16819         * platform/mac/PlatformScreenMac.mm:
16820         (WebCore::screenRect):
16821         (WebCore::screenAvailableRect):
16822         * platform/mac/ScrollViewMac.mm:
16823         (WebCore::ScrollView::scrollView):
16824         (WebCore::ScrollView::update):
16825         (WebCore::ScrollView::inWindow):
16826         * platform/mac/ScrollbarMac.mm:
16827         (WebCore::ScrollbarMac::ScrollbarMac):
16828         (WebCore::ScrollbarMac::~ScrollbarMac):
16829         (WebCore::ScrollbarMac::updateThumbPosition):
16830         (WebCore::ScrollbarMac::updateThumbProportion):
16831         (WebCore::ScrollbarMac::scrollbarHit):
16832         * platform/mac/WidgetMac.mm:
16833         (WebCore::Widget::Widget):
16834         (WebCore::Widget::setEnabled):
16835         (WebCore::Widget::isEnabled):
16836         (WebCore::Widget::setFocus):
16837         (WebCore::Widget::getOuterView):
16838         (WebCore::Widget::paint):
16839         (WebCore::Widget::invalidate):
16840         (WebCore::Widget::invalidateRect):
16841         (WebCore::Widget::setIsSelected):
16842         (WebCore::Widget::releasePlatformWidget):
16843         (WebCore::Widget::retainPlatformWidget):
16844         * platform/qt/WidgetQt.cpp:
16845         (WebCore::WidgetPrivate::WidgetPrivate):
16846         (WebCore::Widget::Widget):
16847         (WebCore::Widget::setFrameGeometry):
16848         (WebCore::Widget::show):
16849         (WebCore::Widget::hide):
16850         (WebCore::Widget::isEnabled):
16851         (WebCore::Widget::setEnabled):
16852         (WebCore::Widget::invalidateRect):
16853         (WebCore::Widget::containingWindow):
16854         * platform/win/WidgetWin.cpp:
16855         (WebCore::Widget::Widget):
16856         * platform/wx/WidgetWx.cpp:
16857         (WebCore::Widget::Widget):
16858         (WebCore::Widget::frameGeometry):
16859         (WebCore::Widget::setFocus):
16860         (WebCore::Widget::setCursor):
16861         (WebCore::Widget::show):
16862         (WebCore::Widget::hide):
16863         (WebCore::Widget::setFrameGeometry):
16864         (WebCore::Widget::setEnabled):
16865         (WebCore::Widget::isEnabled):
16866         (WebCore::Widget::invalidate):
16867         (WebCore::Widget::invalidateRect):
16868         (WebCore::Widget::paint):
16869         * plugins/PluginView.cpp:
16870         (WebCore::PluginView::PluginView):
16871         * plugins/PluginView.h:
16872         (WebCore::PluginView::platformPluginWidget):
16873         * plugins/gtk/PluginViewGtk.cpp:
16874         (WebCore::PluginView::updateWindow):
16875         (WebCore::PluginView::setFocus):
16876         (WebCore::PluginView::show):
16877         (WebCore::PluginView::hide):
16878         (WebCore::PluginView::setParent):
16879         (WebCore::PluginView::setNPWindowRect):
16880         (WebCore::PluginView::setParentVisible):
16881         (WebCore::PluginView::getValue):
16882         (WebCore::PluginView::forceRedraw):
16883         (WebCore::PluginView::init):
16884         * plugins/qt/PluginViewQt.cpp:
16885         (WebCore::PluginView::updateWindow):
16886         (WebCore::PluginView::setFocus):
16887         (WebCore::PluginView::show):
16888         (WebCore::PluginView::hide):
16889         (WebCore::PluginView::setParent):
16890         (WebCore::PluginView::setNPWindowRect):
16891         (WebCore::PluginView::setParentVisible):
16892         (WebCore::PluginView::getValue):
16893         (WebCore::PluginView::~PluginView):
16894         (WebCore::PluginView::init):
16895         * plugins/win/PluginViewWin.cpp:
16896         (WebCore::PluginView::updateWindow):
16897         (WebCore::PluginView::setFocus):
16898         (WebCore::PluginView::show):
16899         (WebCore::PluginView::hide):
16900         (WebCore::PluginView::paint):
16901         (WebCore::PluginView::setParent):
16902         (WebCore::PluginView::setParentVisible):
16903         (WebCore::PluginView::setNPWindowRect):
16904         (WebCore::PluginView::stop):
16905         (WebCore::PluginView::invalidateRect):
16906         (WebCore::PluginView::forceRedraw):
16907         (WebCore::PluginView::~PluginView):
16908         (WebCore::PluginView::init):
16910 2008-09-17  Sam Weinig  <sam@webkit.org>
16912         Fix assert.
16914         * platform/Widget.cpp:
16915         (WebCore::Widget::setParent):
16917 2008-09-17  David Hyatt  <hyatt@apple.com>
16919         Beginnings of Widget refactoring (in order to make the mixing of
16920         widgets with and without corresponding native widgets more cross-platform).
16922         This first patch makes the concept of a parent ScrollView cross-platform.
16924         Note the similarity of the show/hide methods on the three PluginViews.  This
16925         will be refactored better in a later patch so that they can all share
16926         a base class Widget show/hide method.  For now the changes were made
16927         simply to be able to bring WidgetWin's setParent method up into Widget.
16929         Reviewed by Sam Weinig
16931         * WebCore.base.exp:
16932         * platform/ScrollView.h:
16933         * platform/Widget.cpp:
16934         (WebCore::Widget::init):
16935         (WebCore::Widget::setParent):
16936         * platform/Widget.h:
16937         (WebCore::Widget::isSelfVisible):
16938         (WebCore::Widget::isParentVisible):
16939         (WebCore::Widget::isVisible):
16940         (WebCore::Widget::setParentVisible):
16941         (WebCore::Widget::isPluginView):
16942         (WebCore::Widget::parent):
16943         (WebCore::Widget::handleEvent):
16944         (WebCore::Widget::geometryChanged):
16945         * platform/gtk/WidgetGtk.cpp:
16946         (WebCore::Widget::Widget):
16947         * platform/mac/ScrollViewMac.mm:
16948         (WebCore::ScrollView::addChild):
16949         (WebCore::ScrollView::removeChild):
16950         * platform/mac/ScrollbarMac.mm:
16951         (WebCore::ScrollbarMac::~ScrollbarMac):
16952         * platform/mac/WidgetMac.mm:
16953         (WebCore::Widget::Widget):
16954         (WebCore::Widget::~Widget):
16955         * platform/qt/WidgetQt.cpp:
16956         (WebCore::WidgetPrivate::WidgetPrivate):
16957         (WebCore::Widget::Widget):
16958         (WebCore::Widget::topLevel):
16959         * platform/win/ScrollViewWin.cpp:
16960         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
16961         (WebCore::ScrollView::setAncestorVisible):
16962         (WebCore::ScrollView::show):
16963         (WebCore::ScrollView::hide):
16964         * platform/win/WidgetWin.cpp:
16965         (WebCore::Widget::Widget):
16966         (WebCore::Widget::setParent):
16967         * platform/wx/WidgetWx.cpp:
16968         (WebCore::Widget::Widget):
16969         * plugins/PluginView.cpp:
16970         (WebCore::PluginView::PluginView):
16971         * plugins/PluginView.h:
16972         * plugins/gtk/PluginViewGtk.cpp:
16973         (WebCore::PluginView::show):
16974         (WebCore::PluginView::hide):
16975         (WebCore::PluginView::setParentVisible):
16976         * plugins/qt/PluginViewQt.cpp:
16977         (WebCore::PluginView::show):
16978         (WebCore::PluginView::hide):
16979         (WebCore::PluginView::setParentVisible):
16980         * plugins/win/PluginViewWin.cpp:
16981         (WebCore::PluginView::show):
16982         (WebCore::PluginView::hide):
16983         (WebCore::PluginView::setParentVisible):
16985 2008-09-17  Alexey Proskuryakov  <ap@webkit.org>
16987         Reviewed by Adam Roben.
16989         <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
16991         * platform/text/TextCodecICU.cpp:
16992         (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
16994 2008-09-17  Tor Arne Vestbø  <tavestbo@trolltech.com>
16996         Fix the QtWebKit/Mac build
16998         * platform/qt/ScrollViewQt.cpp: add include
17000 2008-09-17  David Hyatt  <hyatt@apple.com>
17002         Add a #define to control whether or not to use an NSScroller on Mac.
17003         This ifdef will allow the new NSView-less NSScroller on Mac to be
17004         developed side by side with the current one.
17006         The new scroller paints a debug red if turned on (although due to
17007         Widget issues you won't see anything paint yet).
17009         Reviewed by olliej
17011         * platform/Scrollbar.cpp:
17012         * platform/Scrollbar.h:
17013         * platform/mac/ScrollbarMac.h:
17014         * platform/mac/ScrollbarMac.mm:
17015         * platform/mac/ScrollbarThemeMac.cpp:
17016         (WebCore::ScrollbarThemeMac::paint):
17017         * platform/mac/ScrollbarThemeMac.h:
17019 2008-09-16  Marco Barisione  <marco.barisione@collabora.co.uk>
17021         Reviewed by Alp Toker.
17023         http://bugs.webkit.org/show_bug.cgi?id=20854
17024         [GTK] Windows can be not realized in ScrollView::update
17026         Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
17028         * platform/gtk/ScrollViewGtk.cpp:
17029         (WebCore::ScrollView::update):
17031 2008-09-16  Alp Toker  <alp@nuanti.com>
17033         Suggested by Dave Hyatt.
17035         Build fix and cleanup. Rename ScrollBar to Scrollbar.
17037         * GNUmakefile.am:
17038         * WebCore.pro:
17039         * WebCore.vcproj/WebCore.vcproj:
17040         * WebCore.xcodeproj/project.pbxproj:
17041         * WebCoreSources.bkl:
17042         * editing/EditorCommand.cpp:
17043         * page/EventHandler.cpp:
17044         * page/gtk/EventHandlerGtk.cpp:
17045         * page/mac/EventHandlerMac.mm:
17046         * page/mac/FrameMac.mm:
17047         * page/qt/EventHandlerQt.cpp:
17048         * page/wx/EventHandlerWx.cpp:
17049         * platform/PopupMenu.h:
17050         * platform/ScrollBar.cpp: Removed.
17051         * platform/ScrollBar.h: Removed.
17052         * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
17053         * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
17054         * platform/gtk/ScrollbarGtk.cpp:
17055         (ScrollbarGtk::ScrollbarGtk):
17056         * platform/gtk/ScrollbarGtk.h:
17057         * platform/mac/ScrollbarMac.h:
17058         * platform/qt/ScrollViewQt.cpp:
17059         * platform/qt/ScrollbarQt.cpp:
17060         * platform/qt/ScrollbarThemeQt.cpp:
17061         * platform/win/PlatformScrollBar.h:
17062         * platform/win/PopupMenuWin.cpp:
17063         * platform/win/ScrollViewWin.cpp:
17064         * platform/win/ScrollbarThemeWin.cpp:
17065         * platform/wx/ScrollViewWx.cpp:
17066         * platform/wx/TemporaryLinkStubs.cpp:
17067         * rendering/HitTestResult.cpp:
17068         * rendering/RenderLayer.cpp:
17069         * rendering/RenderTextControl.cpp:
17071 2008-09-16  David Hyatt  <hyatt@apple.com>
17073         Fix Qt build bustage by making moveThumb a member of Scrollbar so that
17074         it can be called from ScrollbarQt.
17076         * platform/ScrollBar.cpp:
17077         (WebCore::Scrollbar::moveThumb):
17078         (WebCore::Scrollbar::handleMouseMoveEvent):
17079         (WebCore::Scrollbar::handleMousePressEvent):
17080         * platform/ScrollBar.h:
17081         * platform/qt/ScrollViewQt.cpp:
17082         * platform/qt/ScrollbarQt.cpp:
17083         (WebCore::Scrollbar::handleContextMenuEvent):
17085 2008-09-16  David Hyatt  <hyatt@apple.com>
17087         Eliminate PlatformScrollbar.  Mac and Gtk now have subclasses for their
17088         native-widget scrollbars (ScrollbarMac and ScrollbarGtk).  Other platforms
17089         now just use Scrollbar.
17091         Reviewed by Sam Weinig
17093         * GNUmakefile.am:
17094         * WebCore.pro:
17095         * WebCore.vcproj/WebCore.vcproj:
17096         * WebCore.xcodeproj/project.pbxproj:
17097         * page/mac/FrameMac.mm:
17098         * platform/PopupMenu.h:
17099         (WebCore::PopupMenu::scrollbar):
17100         * platform/ScrollBar.cpp:
17101         (WebCore::createNativeScrollbar):
17102         * platform/ScrollBar.h:
17103         * platform/gtk/PlatformScrollBar.h: Removed.
17104         * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
17105         * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
17106         (gtkScrollEventCallback):
17107         (ScrollbarGtk::ScrollbarGtk):
17108         (ScrollbarGtk::~ScrollbarGtk):
17109         (ScrollbarGtk::updateThumbPosition):
17110         (ScrollbarGtk::updateThumbProportion):
17111         (ScrollbarGtk::setFrameGeometry):
17112         (ScrollbarGtk::geometryChanged):
17113         (ScrollbarGtk::gtkValueChanged):
17114         * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
17115         * platform/mac/PlatformScrollBar.h: Removed.
17116         * platform/mac/PlatformScrollBarMac.mm: Removed.
17117         * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
17118         * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
17119         (-[WebCoreScrollBar initWithScrollbarMac:]):
17120         (-[WebCoreScrollBar detachScrollbarMac]):
17121         (WebCore::Scrollbar::createNativeScrollbar):
17122         (WebCore::ScrollbarMac::ScrollbarMac):
17123         (WebCore::ScrollbarMac::~ScrollbarMac):
17124         (WebCore::ScrollbarMac::updateThumbPosition):
17125         (WebCore::ScrollbarMac::updateThumbProportion):
17126         (WebCore::ScrollbarMac::scrollbarHit):
17127         * platform/qt/PlatformScrollBar.h: Removed.
17128         * platform/qt/PlatformScrollBarQt.cpp: Removed.
17129         * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
17130         (WebCore::Scrollbar::handleContextMenuEvent):
17131         * rendering/HitTestResult.cpp:
17132         * rendering/RenderLayer.cpp:
17133         (WebCore::RenderLayer::createScrollbar):
17134         (WebCore::RenderLayer::destroyScrollbar):
17135         * rendering/RenderLayer.h:
17136         * rendering/RenderListBox.cpp:
17137         (WebCore::RenderListBox::~RenderListBox):
17138         (WebCore::RenderListBox::updateFromElement):
17139         (WebCore::RenderListBox::isPointInOverflowControl):
17140         * rendering/RenderObject.h:
17141         * rendering/RenderTextControl.cpp:
17143 2008-09-16  David Hyatt  <hyatt@apple.com>
17145         Make the scrollbar resizer-dodging logic cross-platform in the
17146         Scrollbar class.
17148         Reviewed by Sam Weinig
17150         * platform/ScrollBar.cpp:
17151         (WebCore::Scrollbar::setFrameGeometry):
17152         (WebCore::Scrollbar::setParent):
17153         (WebCore::Scrollbar::windowClipRect):
17154         * platform/ScrollBar.h:
17155         * platform/ScrollView.h:
17156         (WebCore::ScrollView::windowResizerRect):
17157         (WebCore::ScrollView::resizerOverlapsContent):
17158         (WebCore::ScrollView::adjustOverlappingScrollbarCount):
17159         * platform/Widget.h:
17160         (WebCore::Widget::setParent):
17161         * platform/mac/WidgetMac.mm:
17162         (WebCore::Widget::convertToContainingWindow):
17163         * platform/win/PlatformScrollBar.h:
17164         * platform/win/PlatformScrollBarWin.cpp:
17166 2008-09-16  Dan Bernstein  <mitz@apple.com>
17168         Reviewed by Darin Adler.
17170         - fix https://bugs.webkit.org/show_bug.cgi?id=15129
17171           <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
17173         Covered by fast/repaint/4776765.html
17175         * rendering/RenderBlock.cpp:
17176         (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
17177         did not have layout in the beginning.
17178         (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
17179         layout in the beginning, repaint it in its new position, to compensate
17180         for the above (regardless of whether it "moved").
17181         * rendering/RenderObject.cpp:
17182         (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
17183         about generalizing this fix in the future.
17185 2008-09-16  Dan Bernstein  <mitz@apple.com>
17187         Reviewed by Dave Hyatt.
17189         - fix https://bugs.webkit.org/show_bug.cgi?id=15384
17190           Div does not notice when grandparent changes height
17192         Test: fast/block/basic/quirk-percent-height-grandchild.html
17194         - fix https://bugs.webkit.org/show_bug.cgi?id=20714
17195           Resizing Gmail inbox vertically results in whitespace at the bottom of the window
17197         Test: fast/replaced/percent-height-in-anonymous-block.html
17199         Added a two-way mapping between boxes with percentage heights and
17200         their non-parent ancestors up to the one the height is computed relative
17201         to. In quirks mode (the first bug), this can be any number of containing
17202         block with auto height. In strict mode (the second bug) this can be
17203         the containing block of an anonymous block containing a replaced
17204         element.
17206         * rendering/RenderBlock.cpp:
17207         (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
17208         mapping to/from this block to percentage-height descendants.
17209         (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
17210         percentage-height descendants (and their containing block ancestry chain
17211         up to this block) for layout. This ensures that those descendants whose
17212         height depends on the height of this block (or an ancestor) are updated.
17213         (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
17214         a two-way mapping between this block and the given box.
17215         (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
17216         all the mapping to/from this box.
17217         * rendering/RenderBlock.h:
17218         * rendering/RenderBox.cpp:
17219         (WebCore::RenderBox::setStyle): Added calls to
17220         removePercentHeightDescendant() when style changes and the box
17221         previously had a percentage height. An exception is when the style
17222         change does not require layout, in which case the box still has
17223         a percentage height and the mappings are valid. In all other cases,
17224         any required mappings will be (re-)established during layout.
17225         (WebCore::RenderBox::destroy): Added a call to
17226         removePercentHeightDescendant.
17227         (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
17228         mode, if a higher-than-parent containing block is affecting the box's
17229         height, creates a mapping between the box and that block.
17230         (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
17231         anonymous containing blocks, if any, and when that happens, use
17232         addPercentHeightDescendant() to ensure that the non-anonymous block
17233         is aware of the dependent percent-height box.
17235 2008-09-16  Dirk Schulze  <vbs85@gmx.de>
17237         Reviewed by Oliver Hunt and Alp Toker.
17239         Implemented toDataURL in Cairo. Only PNG support
17240         at the moment.
17242         Qt, Cairo and wx require toDataURL implementations
17243         https://bugs.webkit.org/show_bug.cgi?id=17719
17245         * platform/MIMETypeRegistry.cpp:
17246         (WebCore::initializeSupportedImageMIMETypesForEncoding):
17247         * platform/graphics/cairo/ImageBufferCairo.cpp:
17248         (WebCore::ImageBuffer::ImageBuffer):
17249         (WebCore::writeFunction):
17250         (WebCore::ImageBuffer::toDataURL):
17252 2008-09-16  Tor Arne Vestbø  <tavestbo@trolltech.com>
17254         Reviewed by Simon.
17256         Hide unused media element controls in the QtWebKit port
17258         * platform/qt/html4-adjustments-qt.css
17260 2008-09-16  Ariya Hidayat  <ariya.hidayat@trolltech.com>
17262         Reviewed by Simon.
17264         Fix compilation of the Qt scrollbar code.
17266         * platform/qt/PlatformScrollBarQt.cpp:
17267         (WebCore::scPart):
17268         (WebCore::styleOptionSlider):
17269         (WebCore::thumbLength):
17270         (WebCore::pixelPosToRangeValue):
17271         (WebCore::PlatformScrollbar::handleContextMenuEvent):
17273 2008-09-16  Adam Treat  <treat@kde.org>
17275         Reviewed by Anders Carlsson.
17277         Prevent accesses off of the end of the buffer introduced in r36450
17278         and when checking for descriptions of mime. Also, coding style fix.
17280         * plugins/qt/PluginPackageQt.cpp:
17281         (WebCore::PluginPackage::fetchInfo):
17283 2008-09-15  Rob Buis  <buis@kde.org>
17285         Reviewed by Eric.
17287         https://bugs.webkit.org/show_bug.cgi?id=20634
17288         SVG transform attribute is ignored by <use> in <clipPath>
17290         Transform the paths with the local transform when part
17291         of a clip path.
17293         Test: svg/custom/use-clipped-transform.svg
17295         * svg/SVGClipPathElement.cpp:
17296         (WebCore::SVGClipPathElement::canvasResource):
17297         * svg/SVGStyledTransformableElement.cpp:
17298         (WebCore::SVGStyledTransformableElement::toClipPath):
17299         * svg/SVGStyledTransformableElement.h:
17301 2008-09-15  Dave Hyatt  <hyatt@apple.com>
17303         Convert Qt over to its ScrollbarTheme.  Add cross-platform support for jumping the thumb location directly
17304         to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
17305       
17306         Reviewed by Sam Weinig
17308         * platform/ScrollBar.cpp:
17309         (WebCore::thumbUnderMouse):
17310         (WebCore::Scrollbar::autoscrollPressedPart):
17311         (WebCore::Scrollbar::startTimerIfNeeded):
17312         (WebCore::moveThumb):
17313         (WebCore::Scrollbar::handleMouseMoveEvent):
17314         (WebCore::Scrollbar::handleMousePressEvent):
17315         * platform/ScrollBar.h:
17316         (WebCore::Scrollbar::pressedPos):
17317         (WebCore::Scrollbar::pixelStep):
17318         (WebCore::Scrollbar::setPressedPos):
17319         * platform/ScrollbarTheme.h:
17320         (WebCore::ScrollbarTheme::thumbPosition):
17321         (WebCore::ScrollbarTheme::thumbLength):
17322         (WebCore::ScrollbarTheme::trackPosition):
17323         (WebCore::ScrollbarTheme::trackLength):
17324         * platform/ScrollbarThemeComposite.cpp:
17325         (WebCore::ScrollbarThemeComposite::trackPosition):
17326         * platform/ScrollbarThemeComposite.h:
17327         * platform/qt/PlatformScrollBarQt.cpp:
17328         (WebCore::PlatformScrollbar::PlatformScrollbar):
17329         (WebCore::):
17330         * platform/qt/ScrollbarThemeQt.cpp:
17331         (WebCore::styleOptionSlider):
17332         (WebCore::ScrollbarThemeQt::hitTest):
17333         (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
17334         (WebCore::ScrollbarThemeQt::invalidatePart):
17335         (WebCore::ScrollbarThemeQt::thumbPosition):
17336         (WebCore::):
17337         * platform/qt/ScrollbarThemeQt.h:
17338         * platform/win/ScrollbarThemeSafari.cpp:
17339         (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
17340         * platform/win/ScrollbarThemeSafari.h:
17341         * platform/win/ScrollbarThemeWin.cpp:
17342         (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
17343         * platform/win/ScrollbarThemeWin.h:
17345 2008-09-15  David Smith  <catfish.man@gmail.com>
17347         Reviewed by Sam Weinig.
17348         
17349         https://bugs.webkit.org/show_bug.cgi?id=20180
17350         
17351         Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
17353         * GNUmakefile.am: Add CSSNthSelector
17354         * WebCore.pro: Add CSSNthSelector
17355         * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
17356         * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
17357         * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
17358         * css/CSSNthSelector.cpp: Added.
17359         (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
17360         (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
17361         * css/CSSNthSelector.h: Added.
17362         (WebCore::CSSNthSelector::CSSNthSelector):
17363         (WebCore::CSSNthSelector::~CSSNthSelector):
17364         * css/CSSParser.cpp:
17365         (WebCore::CSSParser::createFloatingNthSelector):
17366         * css/CSSParser.h:
17367         * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
17368         (WebCore::CSSSelector::CSSSelector):
17369         * css/CSSStyleSelector.cpp:
17370         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
17372 2008-09-15  Matt Lilek  <webkit@mattlilek.com>
17374         Reviewed by Tim Hatcher.
17376         Clean up some inspector JS callbacks to remove an extra return.
17378         * page/InspectorController.cpp:
17379         (WebCore::hideDOMNodeHighlight):
17380         (WebCore::loaded):
17381         (WebCore::unloading):
17382         (WebCore::attach):
17383         (WebCore::detach):
17384         (WebCore::startDebuggingAndReloadInspectedPage):
17385         (WebCore::stopDebugging):
17386         (WebCore::debuggerAttached):
17387         (WebCore::pauseOnExceptions):
17388         (WebCore::pauseInDebugger):
17389         (WebCore::resumeDebugger):
17390         (WebCore::stepOverStatementInDebugger):
17391         (WebCore::stepIntoStatementInDebugger):
17392         (WebCore::stepOutOfFunctionInDebugger):
17393         (WebCore::isWindowVisible):
17394         (WebCore::closeWindow):
17396 2008-09-15  Dave Hyatt  <hyatt@apple.com>
17398         Completely switch Windows scrollbars over to ScrollbarTheme.  The Aqua windows scrollbar and native scrollbar
17399         now share most of their code.
17400        
17401         Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
17402         also is never used in our code anyway.
17403        
17404         Reviewed by Sam Weinig
17406         * WebCore.vcproj/WebCore.vcproj:
17407         * platform/ScrollTypes.h:
17408         (WebCore::):
17409         * platform/ScrollbarThemeComposite.cpp:
17410         (WebCore::ScrollbarThemeComposite::splitTrack):
17411         (WebCore::ScrollbarThemeComposite::thumbLength):
17412         (WebCore::ScrollbarThemeComposite::minimumThumbLength):
17413         * platform/ScrollbarThemeComposite.h:
17414         * platform/mac/PlatformScrollBarMac.mm:
17415         (NSControlSizeForScrollBarControlSize):
17416         * platform/win/PlatformScrollBar.h:
17417         * platform/win/PlatformScrollBarSafari.cpp: Removed.
17418         * platform/win/PlatformScrollBarWin.cpp:
17419         (WebCore::PlatformScrollbar::PlatformScrollbar):
17420         * platform/win/ScrollbarThemeSafari.cpp:
17421         (WebCore::ScrollbarTheme::nativeTheme):
17422         (WebCore::):
17423         (WebCore::scrollbarControlStateFromThemeState):
17424         (WebCore::ScrollbarThemeSafari::hasButtons):
17425         (WebCore::ScrollbarThemeSafari::hasThumb):
17426         (WebCore::buttonRepaintRect):
17427         (WebCore::ScrollbarThemeSafari::backButtonRect):
17428         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
17429         (WebCore::trackRepaintRect):
17430         (WebCore::ScrollbarThemeSafari::trackRect):
17431         (WebCore::ScrollbarThemeSafari::minimumThumbLength):
17432         (WebCore::ScrollbarThemeSafari::paintTrack):
17433         (WebCore::ScrollbarThemeSafari::paintButton):
17434         (WebCore::ScrollbarThemeSafari::paintThumb):
17435         * platform/win/ScrollbarThemeSafari.h:
17436         * platform/win/ScrollbarThemeWin.cpp:
17437         * platform/win/ScrollbarThemeWin.h:
17439 2008-09-15  Chris Fleizach  <cfleizach@apple.com>
17441         Reviewed by Darin Adler, Beth Dakin
17443         <rdar://problem/4003789> Expose lists as AXList
17444         <rdar://problem/5707399> VO: Definition lists not announced in Safari
17446         Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
17447         AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
17448         Inside the definition list, each <dt> "term" has an accessibility description ("term"), 
17449         as does each <dd> tag ("definition")
17451         Test: accessibility/lists.html
17453         * GNUmakefile.am:
17454         * WebCore.pro:
17455         * WebCore.vcproj/WebCore.vcproj:
17456         * WebCore.xcodeproj/project.pbxproj:
17457         * WebCoreSources.bkl:
17458         * page/AXObjectCache.cpp:
17459         * page/AccessibilityList.cpp: Added.
17460         * page/AccessibilityList.h: Added.
17461         * page/AccessibilityObject.h:
17462         * page/AccessibilityRenderObject.cpp:
17463         * page/AccessibilityTable.cpp:
17464         * page/mac/AccessibilityObjectWrapper.mm:
17465         * page/mac/WebCoreViewFactory.h:
17466         * platform/LocalizedStrings.h:
17467         * platform/mac/LocalizedStringsMac.mm:
17468         * platform/qt/Localizations.cpp:
17470 2008-09-15  Nikolas Zimmermann  <zimmermann@kde.org>
17472         Reviewed by Eric.
17474         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
17475         Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
17477         Several renames:
17478         dispatchHTMLEvent -> dispatchEventForType
17479         setHTMLEventListener -> setEventListenerForType
17480         getHTMLEventListener -> eventListenerForType
17481         removeHTMLEventListener -> removeEventListenerForType
17482         isHTMLEventListener -> isAttachedToEventTargetNode
17483         ...
17485         Similar renames for the dispatch/get/set/*Window*Event functions.
17486         Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
17488         Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
17489         as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
17491         setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
17492         SVG is able to use the code as well now. This affects most files in html/.
17494         No functional changes.
17496         * GNUmakefile.am:
17497         * WebCore.pro:
17498         * WebCore.vcproj/WebCore.vcproj:
17499         * WebCore.xcodeproj/project.pbxproj:
17500         * bindings/js/JSDOMWindowBase.cpp:
17501         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
17502         (WebCore::JSDOMWindowBase::setListener):
17503         (WebCore::JSDOMWindowBase::getListener):
17504         (WebCore::JSDOMWindowBase::findJSEventListener):
17505         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
17506         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
17507         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
17508         (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
17509         (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
17510         * bindings/js/JSDOMWindowBase.h:
17511         * bindings/js/JSEventListener.cpp:
17512         (WebCore::JSAbstractEventListener::handleEvent):
17513         (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
17514         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
17515         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
17516         (WebCore::JSEventListener::JSEventListener):
17517         (WebCore::JSEventListener::~JSEventListener):
17518         (WebCore::JSLazyEventListener::JSLazyEventListener):
17519         (WebCore::eventParameterName):
17520         (WebCore::JSLazyEventListener::parseCode):
17521         (WebCore::getNodeEventListener):
17522         * bindings/js/JSEventListener.h:
17523         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
17524         (WebCore::JSUnprotectedEventListener::create):
17525         (WebCore::JSEventListener::create):
17526         (WebCore::JSLazyEventListener::):
17527         (WebCore::JSLazyEventListener::create):
17528         * bindings/js/JSEventTargetNode.cpp:
17529         (WebCore::JSEventTargetNode::setListener):
17530         (WebCore::JSEventTargetNode::getListener):
17531         * bindings/js/JSSVGLazyEventListener.cpp: Removed.
17532         * bindings/js/JSSVGLazyEventListener.h: Removed.
17533         * bindings/js/ScriptController.cpp:
17534         (WebCore::ScriptController::createHTMLEventHandler):
17535         (WebCore::ScriptController::createSVGEventHandler):
17536         * dom/Document.cpp:
17537         (WebCore::Document::setFocusedNode):
17538         (WebCore::Document::handleWindowEvent):
17539         (WebCore::Document::setWindowEventListenerForType):
17540         (WebCore::Document::windowEventListenerForType):
17541         (WebCore::Document::removeWindowEventListenerForType):
17542         (WebCore::Document::addWindowEventListener):
17543         (WebCore::Document::hasWindowEventListener):
17544         (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
17545         (WebCore::Document::createEventListener):
17546         (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
17547         * dom/Document.h:
17548         * dom/EventListener.h:
17549         (WebCore::EventListener::isAttachedToEventTargetNode):
17550         * dom/EventTargetNode.cpp:
17551         (WebCore::EventTargetNode::dispatchFocusEvent):
17552         (WebCore::EventTargetNode::dispatchBlurEvent):
17553         (WebCore::EventTargetNode::dispatchEventForType):
17554         (WebCore::EventTargetNode::removeEventListenerForType):
17555         (WebCore::EventTargetNode::setEventListenerForType):
17556         (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
17557         (WebCore::EventTargetNode::eventListenerForType):
17558         * dom/EventTargetNode.h:
17559         * dom/XMLTokenizer.cpp:
17560         (WebCore::XMLTokenizer::notifyFinished):
17561         * editing/ReplaceSelectionCommand.cpp:
17562         (WebCore::ReplacementFragment::ReplacementFragment):
17563         * html/HTMLBodyElement.cpp:
17564         (WebCore::HTMLBodyElement::parseMappedAttribute):
17565         * html/HTMLButtonElement.cpp:
17566         (WebCore::HTMLButtonElement::parseMappedAttribute):
17567         * html/HTMLElement.cpp:
17568         (WebCore::HTMLElement::parseMappedAttribute):
17569         (WebCore::HTMLElement::checkDTD):
17570         * html/HTMLElement.h:
17571         * html/HTMLFormControlElement.cpp:
17572         (WebCore::HTMLFormControlElement::onChange):
17573         * html/HTMLFormElement.cpp:
17574         (WebCore::HTMLFormElement::prepareSubmit):
17575         (WebCore::HTMLFormElement::reset):
17576         (WebCore::HTMLFormElement::parseMappedAttribute):
17577         * html/HTMLFrameElementBase.cpp:
17578         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
17579         * html/HTMLFrameSetElement.cpp:
17580         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
17581         * html/HTMLImageElement.cpp:
17582         (WebCore::HTMLImageElement::parseMappedAttribute):
17583         * html/HTMLImageLoader.cpp:
17584         (WebCore::HTMLImageLoader::dispatchLoadEvent):
17585         * html/HTMLInputElement.cpp:
17586         (WebCore::HTMLInputElement::parseMappedAttribute):
17587         (WebCore::HTMLInputElement::setValueFromRenderer):
17588         (WebCore::HTMLInputElement::onSearch):
17589         * html/HTMLMediaElement.cpp:
17590         (WebCore::HTMLMediaElement::asyncEventTimerFired):
17591         (WebCore::HTMLMediaElement::load):
17592         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
17593         (WebCore::HTMLMediaElement::setReadyState):
17594         (WebCore::HTMLMediaElement::seek):
17595         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
17596         (WebCore::HTMLMediaElement::willSaveToCache):
17597         * html/HTMLObjectElement.cpp:
17598         (WebCore::HTMLObjectElement::parseMappedAttribute):
17599         * html/HTMLScriptElement.cpp:
17600         (WebCore::HTMLScriptElement::parseMappedAttribute):
17601         (WebCore::HTMLScriptElement::dispatchLoadEvent):
17602         (WebCore::HTMLScriptElement::dispatchErrorEvent):
17603         * html/HTMLSelectElement.cpp:
17604         (WebCore::HTMLSelectElement::parseMappedAttribute):
17605         * html/HTMLTextAreaElement.cpp:
17606         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
17607         * html/HTMLTokenizer.cpp:
17608         (WebCore::HTMLTokenizer::notifyFinished):
17609         * page/AccessibilityRenderObject.cpp:
17610         (WebCore::AccessibilityRenderObject::mouseButtonListener):
17611         * page/EventHandler.cpp:
17612         (WebCore::EventHandler::canMouseDownStartSelect):
17613         (WebCore::EventHandler::canMouseDragExtendSelect):
17614         * page/Frame.cpp:
17615         (WebCore::Frame::sendScrollEvent):
17616         * page/Page.cpp:
17617         (WebCore::networkStateChanged):
17618         * rendering/RenderListBox.cpp:
17619         (WebCore::RenderListBox::valueChanged):
17620         * rendering/RenderTextControl.cpp:
17621         (WebCore::RenderTextControl::selectionChanged):
17622         * svg/SVGDocumentExtensions.cpp:
17623         * svg/SVGDocumentExtensions.h:
17624         * svg/SVGElement.cpp:
17625         (WebCore::SVGElement::parseMappedAttribute):
17626         (WebCore::SVGElement::finishParsingChildren):
17627         * svg/SVGElement.h:
17628         * svg/SVGSVGElement.cpp:
17629         (WebCore::SVGSVGElement::parseMappedAttribute):
17630         * svg/SVGSVGElement.h:
17632 2008-09-15  Dave Hyatt  <hyatt@apple.com>
17634         Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing.  PlatformScrollbarQt/Gtk still
17635         need to be converted.
17636         
17637         Reviewed by Sam Weinig
17639         * platform/ScrollBar.cpp:
17640         (WebCore::Scrollbar::Scrollbar):
17641         (WebCore::Scrollbar::updateThumbPosition):
17642         (WebCore::Scrollbar::updateThumbProportion):
17643         (WebCore::Scrollbar::autoscrollPressedPart):
17644         (WebCore::Scrollbar::startTimerIfNeeded):
17645         * platform/ScrollBar.h:
17646         * platform/ScrollbarTheme.h:
17647         (WebCore::ScrollbarTheme::invalidateParts):
17648         * platform/ScrollbarThemeComposite.cpp:
17649         (WebCore::ScrollbarThemeComposite::hitTest):
17650         (WebCore::ScrollbarThemeComposite::invalidatePart):
17651         (WebCore::ScrollbarThemeComposite::thumbPosition):
17652         (WebCore::ScrollbarThemeComposite::thumbLength):
17653         (WebCore::ScrollbarThemeComposite::trackLength):
17654         * platform/ScrollbarThemeComposite.h:
17655         * platform/win/PlatformScrollBarSafari.cpp:
17656         (WebCore::PlatformScrollbar::PlatformScrollbar):
17657         * platform/win/PlatformScrollBarWin.cpp:
17658         (WebCore::PlatformScrollbar::PlatformScrollbar):
17660 2008-09-15  David Smith  <catfish.man@gmail.com>
17662         "Just do it"'d by Mark Rowe
17664         https://bugs.webkit.org/show_bug.cgi?id=20856
17665         Add missing license header
17667         * dom/NodeRenderStyle.h:
17669 2008-09-15  Dean Jackson  <dino@apple.com>
17671         Reviewed by Tim Hatcher.
17673         Add default constructor for ShadowData
17674         https://bugs.webkit.org/show_bug.cgi?id=20757
17676         Test: transitions/shadow.html
17678         * rendering/style/RenderStyle.h:
17680 2008-09-15  Dean Jackson  <dino@apple.com>
17682         Reviewed by Tim Hatcher.
17684         RenderStyle should update keyframes.
17685         http://bugs.webkit.org/show_bug.cgi?id=20756
17687         * rendering/style/RenderStyle.cpp:
17688         (WebCore::StyleRareNonInheritedData::updateKeyframes):
17690 2008-09-15  Dean Jackson  <dino@apple.com>
17692         Reviewed by Tim Hatcher.
17694         Unnecessary ASSERT in ImplicitAnimation destructor.
17695         https://bugs.webkit.org/show_bug.cgi?id=20817
17697         * page/animation/ImplicitAnimation.cpp:
17698         (WebCore::ImplicitAnimation::~ImplicitAnimation):
17700 2008-09-15  Adam Treat  <treat@kde.org>
17702         Reviewed by Simon.
17704         Fix plugin extension info. It was returning the mimetype where the
17705         extension was given.
17707         * plugins/qt/PluginPackageQt.cpp:
17708         (WebCore::PluginPackage::fetchInfo):
17710 2008-09-15  Dean Jackson  <dino@apple.com>
17712         Reviewed by Tim Hatcher
17714         Coding style violation!!!! Cleanup AnimationBase.cpp
17716         * page/animation/AnimationBase.cpp:
17717         (WebCore::blendFunc):
17719 2008-09-15  David Hyatt  <hyatt@apple.com>
17721         Move all hit testing code for scrollbars into the base class.  Refactor
17722         it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
17723         functions.
17725         No platform is using this code yet.  Although it has been moved and compiles
17726         (even on Mac), it is not being used on any platform.
17728         Reviewed by Sam Weinig
17730         * platform/ScrollBar.cpp:
17731         (WebCore::Scrollbar::autoscrollPressedPart):
17732         (WebCore::Scrollbar::startTimerIfNeeded):
17733         (WebCore::Scrollbar::handleMouseMoveEvent):
17734         (WebCore::Scrollbar::handleMouseOutEvent):
17735         (WebCore::Scrollbar::handleMouseReleaseEvent):
17736         (WebCore::Scrollbar::handleMousePressEvent):
17737         * platform/ScrollBar.h:
17738         (WebCore::Scrollbar::handleContextMenuEvent):
17739         * platform/ScrollbarTheme.h:
17740         (WebCore::ScrollbarTheme::hitTest):
17741         (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
17742         (WebCore::ScrollbarTheme::invalidatePart):
17743         (WebCore::ScrollbarTheme::shouldCenterOnThumb):
17744         (WebCore::ScrollbarTheme::centerOnThumb):
17745         (WebCore::ScrollbarTheme::thumbPosition):
17746         (WebCore::ScrollbarTheme::thumbLength):
17747         (WebCore::ScrollbarTheme::trackLength):
17748         (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
17749         (WebCore::ScrollbarTheme::autoscrollTimerDelay):
17750         * platform/Widget.h:
17751         (WebCore::Widget::parent):
17752         * platform/mac/PlatformScrollBar.h:
17753         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
17754         (WebCore::PlatformScrollbar::handleMouseOutEvent):
17755         (WebCore::PlatformScrollbar::handleMousePressEvent):
17756         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
17757         * platform/mac/WidgetMac.mm:
17758         (WebCore::Widget::convertFromContainingWindow):
17759         * platform/win/ScrollbarThemeWin.cpp:
17760         (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
17761         * platform/win/ScrollbarThemeWin.h:
17763 2008-09-15  Dan Bernstein  <mitz@apple.com>
17765         Reviewed by Sam Weinig.
17767         - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
17769         Cache the next breakable position for text nodes in InlineIterator.
17771         * rendering/bidi.cpp:
17772         (WebCore::InlineIterator::InlineIterator):
17773         (WebCore::InlineIterator::increment):
17774         (WebCore::RenderBlock::findNextLineBreak):
17776 2008-09-15  Simon Fraser  <simon.fraser@apple.com>
17778         Reviewed by Dan Bernstein
17780         Fix assertion and integral pixel issue when creating subimages.
17781         https://bugs.webkit.org/show_bug.cgi?id=20786
17783         * platform/graphics/cg/ImageCG.cpp:
17784         (WebCore::BitmapImage::draw):
17786 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
17788         Reviewed by Simon.
17790         Implment seek() and clean up and improve debugging output
17792         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
17793         (debugMediaObject):
17794         (WebCore::MediaPlayerPrivate::seek):
17795         (WebCore::MediaPlayerPrivate::setVolume):
17796         (WebCore::MediaPlayerPrivate::setMuted):
17797         (WebCore::MediaPlayerPrivate::updateStates):
17798         (WebCore::MediaPlayerPrivate::naturalSize):
17799         (WebCore::MediaPlayerPrivate::paint):
17800         (WebCore::MediaPlayerPrivate::stateChanged):
17801         (WebCore::MediaPlayerPrivate::tick):
17803 2008-09-15  Holger Hans Peter Freyther  <zecke@selfish.org>
17805         Reviewed by Simon.
17807         Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
17809         m_mediaObject, m_audioOutput, m_videoWidget get created in the
17810         c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
17811         only check if we use the MediaPlayerPrivate after it has been deleted.
17813         Acked-by: Tor Arne Vestbø  <tavestbo@trolltech.com>
17815         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
17816         (WebCore::MediaPlayerPrivate::play):
17817         (WebCore::MediaPlayerPrivate::setVolume):
17818         (WebCore::MediaPlayerPrivate::updateStates):
17820 2008-09-15  Anders Carlsson  <andersca@apple.com>
17822         Reviewed by Maciej.
17824         <rdar://problem/6163988> 
17825         https://bugs.webkit.org/show_bug.cgi?id=20457
17826         Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
17827         
17828         Check the width and height and throw an exception if any of them are 0.
17829         
17830         * html/CanvasRenderingContext2D.cpp:
17831         (WebCore::CanvasRenderingContext2D::createPattern):
17833 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
17835         Reviewed by Simon.
17837         Render media element controls with antialiasing enabled
17839         * platform/qt/RenderThemeQt.cpp:
17840         (WebCore::RenderThemeQt::paintMediaMuteButton):
17841         (WebCore::RenderThemeQt::paintMediaPlayButton):
17842         (WebCore::RenderThemeQt::paintMediaSliderTrack):
17843         (WebCore::RenderThemeQt::paintMediaSliderThumb):
17845 2008-09-15  Ariya Hidayat  <ariya.hidayat@trolltech.com>
17847         Reviewed by Simon.
17849         Upon non fatal error, switch to the pause state (so that playback can continue)
17851         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
17852         (WebCore::MediaPlayerPrivate::updateStates):
17854 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
17856         Reviewed by Simon.
17858         Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
17860         * WebCore.pro:
17862 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
17864         Reviewed by Simon.
17866         Make QtInstance::create() private and fix caching
17868         * bindings/js/ScriptControllerQt.cpp:
17869         (WebCore::ScriptController::createScriptInstanceForWidget):
17870         * bridge/qt/qt_instance.cpp:
17871         (JSC::Bindings::QtInstance::getQtInstance):
17872         (JSC::Bindings::QtInstance::getRuntimeObject):
17873         * bridge/qt/qt_instance.h:
17874         (JSC::Bindings::QtInstance::create):
17875         * bridge/qt/qt_runtime.cpp:
17876         (JSC::Bindings::convertQVariantToValue):
17877         (JSC::Bindings::QtConnectionObject::execute):
17879 2008-09-15  David Smith  <catfish.man@gmail.com>
17881         Reviewed by Dave Hyatt.
17883         https://bugs.webkit.org/show_bug.cgi?id=20180
17884         
17885         >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
17886         With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
17887         querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
17888         
17889         * css/CSSStyleSelector.cpp:
17890         (WebCore::CSSStyleSelector::CSSStyleSelector):
17891         (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
17892         * css/CSSStyleSelector.h:
17894 2008-09-14  Dave Hyatt  <hyatt@apple.com>
17896         Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin.  PlatformScrollbarSafari
17897         is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
17898        
17899         Reviewed by Sam Weinig
17901         * platform/ScrollBar.h:
17902         (WebCore::Scrollbar::client):
17903         (WebCore::Scrollbar::currentPos):
17904         (WebCore::Scrollbar::totalSize):
17905         * platform/ScrollbarTheme.h:
17906         * platform/ScrollbarThemeComposite.cpp:
17907         (WebCore::pageForScrollView):
17908         (WebCore::ScrollbarThemeComposite::paint):
17909         * platform/ScrollbarThemeComposite.h:
17910         (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
17911         * platform/win/PlatformScrollBar.h:
17912         * platform/win/PlatformScrollBarSafari.cpp:
17913         * platform/win/PlatformScrollBarWin.cpp:
17914         * platform/win/ScrollbarThemeSafari.h:
17915         (WebCore::ScrollbarThemeSafari::hasButtons):
17916         (WebCore::ScrollbarThemeSafari::hasThumb):
17917         (WebCore::ScrollbarThemeSafari::backButtonRect):
17918         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
17919         (WebCore::ScrollbarThemeSafari::trackRect):
17920         (WebCore::ScrollbarThemeSafari::splitTrack):
17921         (WebCore::ScrollbarThemeSafari::paintTrack):
17922         (WebCore::ScrollbarThemeSafari::paintButton):
17923         (WebCore::ScrollbarThemeSafari::paintThumb):
17924         * platform/win/ScrollbarThemeWin.cpp:
17925         (WebCore::isRunningOnVistaOrLater):
17926         (WebCore::checkAndInitScrollbarTheme):
17927         (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
17928         (WebCore::ScrollbarThemeWin::themeChanged):
17929         (WebCore::ScrollbarThemeWin::hasThumb):
17930         (WebCore::ScrollbarThemeWin::backButtonRect):
17931         (WebCore::ScrollbarThemeWin::forwardButtonRect):
17932         (WebCore::ScrollbarThemeWin::trackRect):
17933         (WebCore::ScrollbarThemeWin::splitTrack):
17934         (WebCore::ScrollbarThemeWin::paintTrack):
17935         (WebCore::ScrollbarThemeWin::paintButton):
17936         (WebCore::gripperRect):
17937         (WebCore::paintGripper):
17938         (WebCore::ScrollbarThemeWin::paintThumb):
17939         (WebCore::ScrollbarThemeWin::thumbPosition):
17940         (WebCore::ScrollbarThemeWin::thumbLength):
17941         (WebCore::ScrollbarThemeWin::trackLength):
17942         * platform/win/ScrollbarThemeWin.h:
17943         (WebCore::ScrollbarThemeWin::hasButtons):
17944         (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
17946 2008-09-14  Anthony Ricaud  <rik24d@gmail.com>
17948         Moving all resource graphs under the same container for future scalable feature.
17949         This is a speedup on resize but maybe a loss on changing the sorting function.
17951         https://bugs.webkit.org/show_bug.cgi?id=20555
17953         Reviewed by Timothy Hatcher.
17955         * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
17956         Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
17957         * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
17959 2008-09-14  Alexey Proskuryakov  <ap@webkit.org>
17961         Reviewed by Maciej Stachowiak.
17963         https://bugs.webkit.org/show_bug.cgi?id=20738
17964         compareBoundaryPoints gives incorrect results
17966         Test: fast/dom/Range/compareBoundaryPoints-2.html
17968         * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
17969         and END_TO_START.
17970         * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
17972 2008-09-14  Maciej Stachowiak  <mjs@apple.com>
17974         Unreviewed build fix.
17976         Trying again.
17978         * bindings/js/JSQuarantinedObjectWrapper.cpp:
17979         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
17981 2008-09-14  Maciej Stachowiak  <mjs@apple.com>
17983         Unreviewed build fix.
17985         Blind attempt to fix build. Correct parameters for hasInstance.
17987         * bindings/js/JSQuarantinedObjectWrapper.cpp:
17988         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
17989         * bindings/js/JSQuarantinedObjectWrapper.h:
17991 2008-09-14  Dan Bernstein  <mitz@apple.com>
17993         Rubber-stamped by Sam Weinig.
17995         - revert <http://trac.webkit.org/changeset/36382> because it exposed
17996           <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
17997           on Tiger.
17999         * platform/graphics/mac/FontCacheMac.mm:
18000         (WebCore::FontCache::getFontDataForCharacters):
18001         (WebCore::FontCache::getLastResortFallbackFont):
18003 2008-09-14  Dave Hyatt  <hyatt@apple.com>
18005         Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
18006         ScrollbarThemeWin.  Any scrollbar that wants to render by ScrollbarPart can subclass from this
18007         theme.
18008         
18009         Reviewed by Sam Weinig
18011         * WebCore.vcproj/WebCore.vcproj:
18012         * platform/win/ScrollbarThemeSafari.h:
18013         * platform/win/ScrollbarThemeWin.h:
18015 2008-09-14  Alp Toker  <alp@nuanti.com>
18017         https://bugs.webkit.org/show_bug.cgi?id=20320
18018         [GTK] A white rectangle is visible behind widgets with rounded corners
18020         Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
18021         style exempt).
18023         Requested by Michael Monreal.
18025         * platform/gtk/RenderThemeGtk.cpp:
18026         (WebCore::RenderThemeGtk::RenderThemeGtk):
18027         * platform/gtk/gtk2drawing.c:
18028         (moz_gtk_set_widget_name):
18029         (ensure_window_widget):
18030         (setup_widget_prototype):
18031         (ensure_button_arrow_widget):
18032         (moz_gtk_get_combo_box_inner_button):
18033         (moz_gtk_get_combo_box_button_inner_widgets):
18034         (ensure_combo_box_widgets):
18035         (moz_gtk_get_combo_box_entry_inner_widgets):
18036         (moz_gtk_get_combo_box_entry_arrow):
18037         (ensure_combo_box_entry_widgets):
18038         (ensure_toolbar_widget):
18039         (ensure_tooltip_widget):
18040         (ensure_menu_bar_widget):
18041         (ensure_menu_bar_item_widget):
18042         (ensure_menu_popup_widget):
18043         (ensure_menu_item_widget):
18044         (ensure_image_menu_item_widget):
18045         (ensure_menu_separator_widget):
18046         (ensure_check_menu_item_widget):
18047         (ensure_tree_header_cell_widget):
18048         (ensure_scrolled_window_widget):
18049         (moz_gtk_button_paint):
18050         (moz_gtk_init):
18051         (moz_gtk_button_get_inner_border):
18052         (moz_gtk_toggle_paint):
18053         (calculate_button_inner_rect):
18054         (calculate_arrow_rect):
18055         (moz_gtk_scrollbar_button_paint):
18056         (moz_gtk_scrollbar_thumb_paint):
18057         (moz_gtk_caret_paint):
18058         (moz_gtk_entry_paint):
18059         (moz_gtk_treeview_paint):
18060         (moz_gtk_tree_header_cell_paint):
18061         (moz_gtk_combo_box_paint):
18062         (moz_gtk_downarrow_paint):
18063         (moz_gtk_combo_box_entry_button_paint):
18064         (moz_gtk_toolbar_paint):
18065         (moz_gtk_tab_scroll_arrow_paint):
18066         (moz_gtk_menu_bar_paint):
18067         (moz_gtk_menu_item_paint):
18068         (moz_gtk_get_widget_border):
18069         (moz_gtk_get_combo_box_entry_button_size):
18070         (moz_gtk_get_tab_scroll_arrow_size):
18071         (moz_gtk_get_downarrow_size):
18072         (moz_gtk_images_in_menus):
18073         (moz_gtk_widget_paint):
18074         (moz_gtk_shutdown):
18075         * platform/gtk/gtkdrawing.h:
18077 2008-09-14  David Hyatt  <hyatt@apple.com>
18079         Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
18080         painting.  Mac and Gtk themes don't do anything and just let the
18081         underlying widget paint.  Qt now uses the theme to paint.  wx doesn't
18082         do anything yet.
18084         Reviewed by Sam Weinig
18086         * platform/ScrollBar.cpp:
18087         (WebCore::Scrollbar::paint):
18088         * platform/ScrollBar.h:
18089         (WebCore::Scrollbar::value):
18090         (WebCore::Scrollbar::visibleSize):
18091         (WebCore::Scrollbar::maximum):
18092         (WebCore::Scrollbar::lineStep):
18093         (WebCore::Scrollbar::pageStep):
18094         (WebCore::Scrollbar::pixelStep):
18095         (WebCore::Scrollbar::pressedPart):
18096         (WebCore::Scrollbar::hoveredPart):
18097         (WebCore::Scrollbar::theme):
18098         * platform/ScrollbarTheme.h:
18099         (WebCore::ScrollbarTheme::paint):
18100         (WebCore::ScrollbarTheme::scrollbarThickness):
18101         (WebCore::ScrollbarTheme::supportsControlTints):
18102         (WebCore::ScrollbarTheme::themeChanged):
18103         * platform/gtk/PlatformScrollBar.h:
18104         * platform/gtk/PlatformScrollBarGtk.cpp:
18105         * platform/mac/PlatformScrollBar.h:
18106         * platform/mac/PlatformScrollBarMac.mm:
18107         * platform/qt/PlatformScrollBar.h:
18108         * platform/qt/PlatformScrollBarQt.cpp:
18109         * platform/qt/ScrollbarThemeQt.cpp:
18110         (WebCore::styleOptionSlider):
18111         * platform/qt/ScrollbarThemeQt.h:
18112         (WebCore::ScrollbarThemeQt::paint):
18113         * platform/win/PlatformScrollBarSafari.cpp:
18114         (WebCore::PlatformScrollbar::paint):
18115         * platform/win/ScrollbarThemeSafari.h:
18116         (WebCore::ScrollbarThemeSafari::supportsControlTints):
18117         * platform/wx/PlatformScrollBar.h:
18118         * platform/wx/TemporaryLinkStubs.cpp:
18119         (PlatformScrollbar::~PlatformScrollbar):
18121 2008-09-14  Sam Weinig  <sam@webkit.org>
18123         Qt build fix.
18125         * platform/qt/PlatformScrollBarQt.cpp:
18127 2008-09-14  Sam Weinig  <sam@webkit.org>
18129         Reviewed by Mark Rowe.
18131         Remove extraneous semicolons.
18133         * bindings/scripts/CodeGeneratorObjC.pm:
18134         * html/HTMLLinkElement.cpp:
18135         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
18136         * html/HTMLScriptElement.cpp:
18137         (WebCore::HTMLScriptElement::charsetAttributeValue):
18138         (WebCore::HTMLScriptElement::typeAttributeValue):
18139         * platform/graphics/qt/GradientQt.cpp:
18140         (WebCore::Gradient::platformGradient):
18141         * platform/qt/ScrollViewQt.cpp:
18142         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
18143         * platform/win/ScrollViewWin.cpp:
18144         (WebCore::ScrollView::updateScrollbars):
18145         * rendering/RenderBlock.cpp:
18146         (WebCore::RenderBlock::paintEllipsisBoxes):
18147         * svg/SVGPathSegList.cpp:
18148         (WebCore::SVGPathSegList::toPathData):
18150 2008-09-14  Sam Weinig  <sam@webkit.org>
18152         Qt build fix.
18154         * platform/qt/ScrollViewQt.cpp:
18155         (WebCore::ScrollView::updateScrollbars):
18157 2008-09-14  Sam Weinig  <sam@webkit.org>
18159         Qt build fix.
18161         * platform/qt/PlatformScrollBarQt.cpp:
18162         (WebCore::PlatformScrollbar::PlatformScrollbar):
18163         (WebCore::PlatformScrollbar::paint):
18165 2008-09-13  Jan Michael Alonzo  <jmalonzo@webkit.org>
18167         Gtk build fix, not reviewed.
18169         * platform/gtk/PlatformScrollBarGtk.cpp:
18170         (PlatformScrollbar::PlatformScrollbar):
18171         * platform/gtk/ScrollViewGtk.cpp:
18172         (WebCore::ScrollView::updateScrollbars):
18174 2008-09-13  Dave Hyatt  <hyatt@apple.com>
18176         Remove scrollbar's setRect method.  Clients can now just call setFrameGeometry (the corresponding Widget) method
18177         to set the dimensions of a scrollbar.
18178         
18179         Reviewed by Sam Weinig
18181         * platform/ScrollBar.h:
18182         * platform/gtk/PlatformScrollBar.h:
18183         * platform/gtk/PlatformScrollBarGtk.cpp:
18184         (PlatformScrollbar::setFrameGeometry):
18185         * platform/gtk/ScrollViewGtk.cpp:
18186         (WebCore::ScrollView::updateScrollbars):
18187         * platform/mac/PlatformScrollBarMac.mm:
18188         * platform/qt/PlatformScrollBarQt.cpp:
18189         * platform/qt/ScrollViewQt.cpp:
18190         (WebCore::ScrollView::updateScrollbars):
18191         * platform/win/PlatformScrollBar.h:
18192         * platform/win/PlatformScrollBarSafari.cpp:
18193         (WebCore::PlatformScrollbar::PlatformScrollbar):
18194         (WebCore::PlatformScrollbar::setFrameGeometry):
18195         * platform/win/PlatformScrollBarWin.cpp:
18196         (WebCore::PlatformScrollbar::PlatformScrollbar):
18197         (WebCore::PlatformScrollbar::setFrameGeometry):
18198         * platform/win/PopupMenuWin.cpp:
18199         (WebCore::PopupWndProc):
18200         * platform/win/ScrollViewWin.cpp:
18201         (WebCore::ScrollView::updateScrollbars):
18202         * platform/wx/PlatformScrollBar.h:
18203         * platform/wx/TemporaryLinkStubs.cpp:
18204         (PlatformScrollbar::updateThumbProportion):
18205         * rendering/RenderLayer.cpp:
18206         (WebCore::RenderLayer::positionOverflowControls):
18207         * rendering/RenderListBox.cpp:
18208         (WebCore::RenderListBox::paintScrollbar):
18210 2008-09-13  Dave Hyatt  <hyatt@apple.com>
18212         Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
18213        
18214         Reviewed by Sam Weinig
18216         * platform/ScrollBar.h:
18217         * platform/gtk/PlatformScrollBar.h:
18218         * platform/gtk/PlatformScrollBarGtk.cpp:
18219         * platform/mac/PlatformScrollBar.h:
18220         * platform/mac/PlatformScrollBarMac.mm:
18221         * platform/win/PlatformScrollBar.h:
18222         * platform/win/PlatformScrollBarSafari.cpp:
18223         * platform/win/PlatformScrollBarWin.cpp:
18224         * platform/wx/PlatformScrollBar.h:
18225         * platform/wx/TemporaryLinkStubs.cpp:
18226         (PlatformScrollbar::~PlatformScrollbar):
18228 2008-09-13  Dave Hyatt  <hyatt@apple.com>
18230         Remove width()/height() from Scrollbar now that it derives from Widget.  Remove width()/height() from
18231         all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
18233         Reviewed by Sam Weinig
18235         * platform/ScrollBar.h:
18236         * platform/gtk/PlatformScrollBar.h:
18237         * platform/gtk/PlatformScrollBarGtk.cpp:
18238         * platform/mac/PlatformScrollBar.h:
18239         * platform/mac/PlatformScrollBarMac.mm:
18240         * platform/win/PlatformScrollBarSafari.cpp:
18241         * platform/win/PlatformScrollBarWin.cpp:
18242         * platform/wx/PlatformScrollBar.h:
18243         * platform/wx/TemporaryLinkStubs.cpp:
18244         (PlatformScrollbar::~PlatformScrollbar):
18246 2008-09-13  Dave Hyatt  <hyatt@apple.com>
18248         Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
18250         Reviewed by Sam Weinig
18252         * platform/ScrollBar.cpp:
18253         (WebCore::Scrollbar::~Scrollbar):
18254         * platform/ScrollBar.h:
18255         * platform/qt/PlatformScrollBarQt.cpp:
18256         (WebCore::PlatformScrollbar::~PlatformScrollbar):
18257         * platform/win/PlatformScrollBarSafari.cpp:
18258         (WebCore::PlatformScrollbar::~PlatformScrollbar):
18259         * platform/win/PlatformScrollBarWin.cpp:
18260         (WebCore::PlatformScrollbar::~PlatformScrollbar):
18262 2008-09-13  David Hyatt  <hyatt@apple.com>
18264         Move maximum() from Qt's PlatformScrollbar to be a cross-platform
18265         function on Scrollbar.  Fixes Qt build bustage.
18267         Reviewed by Sam Weinig
18269         * platform/ScrollBar.h:
18270         (WebCore::Scrollbar::orientation):
18271         (WebCore::Scrollbar::value):
18272         (WebCore::Scrollbar::maximum):
18273         * platform/qt/PlatformScrollBar.h:
18275 2008-09-13  Dan Bernstein  <mitz@apple.com>
18277         Reviewed by Sam Weinig.
18279         - use the LastResort font for missing glyphs instead of showing the
18280           primary font's missing glyph
18282         Test: platform/mac/fast/text/last-resort-font.html
18284         * platform/graphics/mac/FontCacheMac.mm:
18285         (WebCore::FontCache::getFontDataForCharacters): Changed to return the
18286         last resort font if a substitute font cannot be found.
18287         (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
18288         comment (the user's preferred standard font is included in the search
18289         thanks to code in FontCache::getFontData()) and changed to return the
18290         LastResort font.  
18292 2008-09-13  Dave Hyatt  <hyatt@apple.com>
18294         This patch adds ScrollbarTheme to the build.  ScrollbarTheme is similar to RenderTheme (but for
18295         scrollbars only).  For now ScrollbarTheme just handles returning the size of scrollbars.  Subsequent
18296         patches will move rendering and hit testing functionality into this class.
18297         
18298         Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt).  The wxWidgets port does not
18299         implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
18300        
18301         Reviewed by Sam Weinig
18303         * GNUmakefile.am:
18304         * WebCore.pro:
18305         * WebCore.vcproj/WebCore.vcproj:
18306         * platform/ScrollBar.cpp:
18307         (WebCore::Scrollbar::Scrollbar):
18308         * platform/ScrollBar.h:
18309         * platform/ScrollbarTheme.h: Added.
18310         (WebCore::ScrollbarTheme::~ScrollbarTheme):
18311         (WebCore::ScrollbarTheme::scrollbarThickness):
18312         (WebCore::ScrollbarTheme::themeChanged):
18313         * platform/gtk/ScrollbarThemeGtk.cpp: Added.
18314         (WebCore::ScrollbarTheme::nativeTheme):
18315         (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
18316         (WebCore::ScrollbarThemeGtk::scrollbarThickness):
18317         * platform/gtk/ScrollbarThemeGtk.h: Added.
18318         * platform/mac/PlatformScrollBar.h:
18319         * platform/mac/ScrollbarThemeMac.cpp: Added.
18320         (WebCore::ScrollbarTheme::nativeTheme):
18321         (WebCore::):
18322         (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
18323         (WebCore::ScrollbarThemeMac::scrollbarThickness):
18324         * platform/mac/ScrollbarThemeMac.h: Added.
18325         * platform/qt/PlatformScrollBarQt.cpp:
18326         * platform/qt/ScrollbarThemeQt.cpp: Added.
18327         (WebCore::ScrollbarTheme::nativeTheme):
18328         (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
18329         (WebCore::ScrollbarThemeQt::scrollbarThickness):
18330         * platform/qt/ScrollbarThemeQt.h: Added.
18331         * platform/win/PlatformScrollBar.h:
18332         * platform/win/PlatformScrollBarSafari.cpp:
18333         * platform/win/PlatformScrollBarWin.cpp:
18334         * platform/win/PopupMenuWin.cpp:
18335         (WebCore::PopupMenu::calculatePositionAndSize):
18336         * platform/win/ScrollViewWin.cpp:
18337         (WebCore::ScrollView::updateScrollbars):
18338         (WebCore::ScrollView::themeChanged):
18339         * platform/win/ScrollbarThemeSafari.cpp: Added.
18340         (WebCore::ScrollbarTheme::nativeTheme):
18341         (WebCore::):
18342         (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
18343         (WebCore::ScrollbarThemeSafari::scrollbarThickness):
18344         * platform/win/ScrollbarThemeSafari.h: Added.
18345         * platform/win/ScrollbarThemeWin.cpp: Added.
18346         (WebCore::ScrollbarTheme::nativeTheme):
18347         (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
18348         (WebCore::ScrollbarThemeWin::scrollbarThickness):
18349         (WebCore::ScrollbarThemeWin::themeChanged):
18350         * platform/win/ScrollbarThemeWin.h: Added.
18351         * platform/wx/TemporaryLinkStubs.cpp:
18352         (ScrollbarTheme::nativeTheme):
18353         * rendering/RenderLayer.cpp:
18354         (WebCore::scrollCornerRect):
18355         * rendering/RenderTextControl.cpp:
18356         (WebCore::RenderTextControl::calcHeight):
18357         (WebCore::RenderTextControl::calcPrefWidths):
18359 2008-09-13  Chris Fleizach  <cfleizach@apple.com>
18361         Reviewed by Timothy Hatcher.
18363         <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
18365         * page/mac/AccessibilityObjectWrapper.mm:
18366         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
18368 2008-09-13  Dan Bernstein  <mitz@apple.com>
18370         Reviewed by Timothy Hatcher.
18372         - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
18374         No regression test because the back/forward cache is disabled in DumpRenderTree
18376         * rendering/RenderContainer.cpp:
18377         (WebCore::RenderContainer::invalidateCounters): Bail out if the document
18378         is being destroyed.
18380 2008-09-13  Kevin Ollivier  <kevino@theolliviers.com>
18382         wx build fixes for new methods recently introduced.
18384         * platform/graphics/wx/AffineTransformWx.cpp:
18385         (WebCore::AffineTransform::AffineTransform):
18386         (WebCore::AffineTransform::setMatrix):
18387         (WebCore::AffineTransform::setA):
18388         (WebCore::AffineTransform::setB):
18389         (WebCore::AffineTransform::setC):
18390         (WebCore::AffineTransform::setD):
18391         (WebCore::AffineTransform::setE):
18392         (WebCore::AffineTransform::setF):
18393         * platform/wx/LocalizedStringsWx.cpp:
18394         (WebCore::AXDefinitionListTermText):
18395         (WebCore::AXDefinitionListDefinitionText):
18397 2008-09-12  Dave Hyatt  <hyatt@apple.com>
18399         Move the member variables of PlatformScrollbar up into Scrollbar.  Move autoscroll timer handling
18400         up into scrollbar.  Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
18401         "PlatformScrollbar."
18402         
18403         Reviewed by Sam Weinig
18405         * WebCore.vcproj/WebCore.vcproj:
18406         * editing/EditorCommand.cpp:
18407         * page/EventHandler.cpp:
18408         (WebCore::EventHandler::selectCursor):
18409         (WebCore::EventHandler::handleMousePressEvent):
18410         (WebCore::EventHandler::handleMouseMoveEvent):
18411         * page/EventHandler.h:
18412         * page/MouseEventWithHitTestResults.cpp:
18413         (WebCore::MouseEventWithHitTestResults::scrollbar):
18414         * page/MouseEventWithHitTestResults.h:
18415         * page/gtk/EventHandlerGtk.cpp:
18416         (WebCore::EventHandler::passMousePressEventToScrollbar):
18417         * page/mac/EventHandlerMac.mm:
18418         (WebCore::EventHandler::passMousePressEventToScrollbar):
18419         * page/qt/EventHandlerQt.cpp:
18420         (WebCore::EventHandler::passMousePressEventToScrollbar):
18421         * page/win/EventHandlerWin.cpp:
18422         (WebCore::EventHandler::passMousePressEventToScrollbar):
18423         * page/wx/EventHandlerWx.cpp:
18424         (WebCore::EventHandler::passMousePressEventToScrollbar):
18425         * platform/PopupMenu.h:
18426         * platform/ScrollBar.cpp:
18427         (WebCore::Scrollbar::Scrollbar):
18428         (WebCore::Scrollbar::autoscrollTimerFired):
18429         (WebCore::Scrollbar::autoscrollPressedPart):
18430         (WebCore::Scrollbar::startTimerIfNeeded):
18431         (WebCore::Scrollbar::stopTimerIfNeeded):
18432         (WebCore::Scrollbar::pressedPartScrollDirection):
18433         (WebCore::Scrollbar::pressedPartScrollGranularity):
18434         * platform/ScrollBar.h:
18435         (WebCore::Scrollbar::handleMousePressEvent):
18436         (WebCore::Scrollbar::invalidatePart):
18437         (WebCore::Scrollbar::thumbUnderMouse):
18438         * platform/ScrollView.h:
18439         * platform/ScrollbarClient.h: Added.
18440         (WebCore::ScrollbarClient::~ScrollbarClient):
18441         * platform/gtk/ScrollViewGtk.cpp:
18442         (WebCore::ScrollView::scrollbarUnderMouse):
18443         * platform/qt/PlatformScrollBar.h:
18444         * platform/qt/PlatformScrollBarQt.cpp:
18445         (WebCore::PlatformScrollbar::PlatformScrollbar):
18446         (WebCore::scrollbarPart):
18447         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
18448         (WebCore::PlatformScrollbar::handleMouseOutEvent):
18449         (WebCore::PlatformScrollbar::handleMousePressEvent):
18450         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
18451         * platform/qt/ScrollViewQt.cpp:
18452         (WebCore::ScrollView::scrollbarUnderMouse):
18453         (WebCore::ScrollView::wheelEvent):
18454         * platform/win/PlatformScrollBar.h:
18455         * platform/win/PlatformScrollBarSafari.cpp:
18456         (WebCore::PlatformScrollbar::PlatformScrollbar):
18457         * platform/win/PlatformScrollBarWin.cpp:
18458         (WebCore::PlatformScrollbar::PlatformScrollbar):
18459         * platform/win/ScrollViewWin.cpp:
18460         (WebCore::ScrollView::scrollbarUnderMouse):
18461         * rendering/HitTestResult.cpp:
18462         (WebCore::HitTestResult::setScrollbar):
18463         * rendering/HitTestResult.h:
18464         (WebCore::HitTestResult::scrollbar):
18465         * rendering/RenderLayer.cpp:
18466         (WebCore::RenderLayer::hitTestOverflowControls):
18467         * rendering/RenderLayer.h:
18468         * rendering/RenderListBox.h:
18470 2008-09-12  Steve Falkenburg  <sfalken@apple.com>
18472         Fix Mac build.
18474         * css/CSSStyleSelector.cpp:
18475         (WebCore::getTransformOperationType):
18477 2008-09-12  Chris Marrin  <cmarrin@apple.com>
18479         Reviewed by Dave Hyatt.
18481         Make transform animation behavior match spec
18482         https://bugs.webkit.org/show_bug.cgi?id=20770
18484         Tests: transitions/transform-op-list-match.html
18485                transitions/transform-op-list-no-match.html
18487         * css/CSSStyleSelector.cpp:
18488         * css/CSSStyleSelector.h:
18489         * page/animation/AnimationBase.cpp:
18490         * page/animation/AnimationBase.h:
18491         * page/animation/ImplicitAnimation.cpp:
18492         * page/animation/ImplicitAnimation.h:
18493         * page/animation/KeyframeAnimation.cpp:
18494         * page/animation/KeyframeAnimation.h:
18495         * rendering/RenderLayer.cpp:
18496         * rendering/style/RenderStyle.cpp:
18497         * rendering/style/RenderStyle.h:
18499 2008-09-12  Ojan Vafai  <ojan@chromium.org>
18501         Properly escape contents of links added to the inspector.
18502         For now, just build the link with the DOM and get the
18503         outerHTML. Eventually, we probably just want to do
18504         this entirely with the DOM.
18506         Reviewed by Timothy Hatcher.
18508         https://bugs.webkit.org/show_bug.cgi?id=20684
18510         * manual-tests/inspector/escape-links.html: Added.
18511         * page/inspector/StylesSidebarPane.js:
18512         * page/inspector/inspector.js:
18513         * page/inspector/utilities.js:
18515 2008-09-12  Adele Peterson  <adele@apple.com>
18517         Reviewed by John Sullivan and Kevin McCullough.
18519         Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
18521         * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
18522         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
18523         cause infinite recursion.  This change checks that we're not already on the main frame before hit testing again. 
18525 2008-09-12  Kevin McCullough  <kmccullough@apple.com>
18527         RS by Tim .
18529         Re-introducing the code since it was not the cause of the crash.
18530         See r36343.
18532         * rendering/RenderObject.cpp:
18533         (WebCore::RenderObject::canBeProgramaticallyScrolled):
18534         * rendering/RenderObject.h:
18536 2008-09-12  Chris Marrin  <cmarrin@apple.com>
18538         Reviewed by Dave Hyatt.
18540         When changing one animation in a list, don't reset other animations
18541         https://bugs.webkit.org/show_bug.cgi?id=20675
18543         Test: animations/change-one-anim.html
18545         * page/animation/AnimationBase.cpp:
18546         (WebCore::AnimationBase::getNumProperties):
18547         * page/animation/AnimationBase.h:
18548         * page/animation/AnimationController.cpp:
18549         * page/animation/CompositeAnimation.cpp:
18550         (WebCore::CompositeAnimation::updateKeyframeAnimations):
18551         * page/animation/CompositeAnimation.h:
18552         * page/animation/ImplicitAnimation.cpp:
18553         * page/animation/KeyframeAnimation.cpp:
18554         * page/animation/KeyframeAnimation.h:
18555         (WebCore::KeyframeAnimation::setIndex):
18557 2008-09-12  Brady Eidson  <beidson@apple.com>
18559         Reviewed by Mitz Pettel
18561         Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
18563         * loader/DocumentLoader.cpp:
18564         (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
18565           Subresources can never be created from nil data, but there is always a MainResource, whether
18566           or not there's any data.  So in the case where the main resource has no data, fake it for the
18567           sake of creating the ArchiveResource.
18569 2008-09-12  Dave Hyatt  <hyatt@apple.com>
18571         Preparation for major scrollbar rearchitecture.  Eliminate the concept of non-widget based
18572         scrollbars (which we never supported anyway).  Make Scrollbar derive from Widget directly.
18573         Remove all the isWidget and hasPlatformScrollbars guards.
18574         
18575         Reviewed by Tim Hatcher
18577         * platform/ScrollBar.h:
18578         * platform/gtk/PlatformScrollBar.h:
18579         * platform/mac/PlatformScrollBar.h:
18580         * platform/qt/PlatformScrollBar.h:
18581         * platform/win/PlatformScrollBar.h:
18582         * platform/win/ScrollViewWin.cpp:
18583         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
18584         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
18585         * platform/wx/PlatformScrollBar.h:
18586         * rendering/RenderLayer.cpp:
18587         (WebCore::RenderLayer::horizontalScrollbarWidget):
18588         (WebCore::RenderLayer::verticalScrollbarWidget):
18589         (WebCore::RenderLayer::createScrollbar):
18590         (WebCore::RenderLayer::destroyScrollbar):
18591         * rendering/RenderListBox.cpp:
18592         (WebCore::RenderListBox::~RenderListBox):
18593         (WebCore::RenderListBox::updateFromElement):
18594         (WebCore::RenderListBox::isPointInOverflowControl):
18596 2008-09-12  Dan Bernstein  <mitz@apple.com>
18598         Reviewed by Sam Weinig.
18600         - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
18602         * page/animation/AnimationController.cpp:
18603         * page/animation/AnimationController.h:
18604         * page/animation/CompositeAnimation.cpp:
18605         * page/animation/CompositeAnimation.h:
18606         * page/animation/ImplicitAnimation.cpp:
18607         * page/animation/ImplicitAnimation.h:
18608         * page/animation/KeyframeAnimation.cpp:
18609         * page/animation/KeyframeAnimation.h:
18611 2008-09-11  Timothy Hatcher  <timothy@apple.com>
18613         Add a renderedImage method to DOMNode to get an image
18614         of the rendering for the node and it's descendants.
18616         <rdar://problem/5849349> Would like API to create
18617         an image for a DOM node
18619         Reviewed by Oliver Hunt.
18621         * bindings/objc/DOM.mm:
18622         (-[DOMNode renderedImage]): Call Frame::nodeImage.
18623         * bindings/objc/DOMPrivate.h:
18624         * page/Frame.h:
18625         * page/mac/FrameMac.mm:
18626         (WebCore::Frame::nodeImage):
18628 2008-09-08  Chris Marrin  <cmarrin@apple.com>
18630         Reviewed by Dave Hyatt
18632         Need to support comma separated list of key times in keyframes selectors
18633         https://bugs.webkit.org/show_bug.cgi?id=20680
18635         Test: animations/keyframes-comma-separated.html
18637         * css/CSSGrammar.y:
18638         * css/CSSParser.cpp:
18639         (WebCore::CSSParser::createKeyframeRule):
18640         * css/CSSParser.h:
18641         * css/CSSStyleSelector.cpp:
18642         (WebCore::CSSStyleSelector::addKeyframeStyle):
18643         * css/WebKitCSSKeyframeRule.cpp:
18644         (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
18645         (WebCore::WebKitCSSKeyframeRule::cssText):
18646         (WebCore::WebKitCSSKeyframeRule::parseKeyString):
18647         * css/WebKitCSSKeyframeRule.h:
18648         (WebCore::WebKitCSSKeyframeRule::keyText):
18649         (WebCore::WebKitCSSKeyframeRule::setKeyText):
18650         (WebCore::WebKitCSSKeyframeRule::getKeys):
18651         * css/WebKitCSSKeyframesRule.cpp:
18652         (WebCore::WebKitCSSKeyframesRule::append):
18653         (WebCore::WebKitCSSKeyframesRule::insertRule):
18654         (WebCore::WebKitCSSKeyframesRule::deleteRule):
18655         (WebCore::WebKitCSSKeyframesRule::findRule):
18656         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
18657         * css/WebKitCSSKeyframesRule.h:
18658         * page/animation/AnimationBase.cpp:
18659         (WebCore::AnimationBase::blendProperties):
18661 2008-09-11  Kevin McCullough  <kmccullough@apple.com>
18663         RS by Tim.
18665         Reverting because this caused a crash.
18667         * rendering/RenderObject.cpp:
18668         (WebCore::RenderObject::canBeProgramaticallyScrolled):
18669         (WebCore::RenderObject::hasScrollableView):
18670         * rendering/RenderObject.h:
18672 2008-09-11  Dean Jackson  <dino@apple.com>
18674         Reviewed by Dan Bernstein.
18676         Fix assertion on transition property "none"
18677         https://bugs.webkit.org/show_bug.cgi?id=20751
18679         Test: transitions/transition-end-event-set-none.html
18681         * page/animation/CompositeAnimation.cpp:
18682         (WebCore::CompositeAnimation::updateTransitions):
18684 2008-09-11  David Smith  <catfish.man@gmail.com>
18686         Rubber-stamped by mitzpettel.
18688         Remove an accidentally added extra file.
18690         * WebCore: Removed.
18692 2008-09-11  David Smith  <catfish.man@gmail.com>
18694         Reviewed by Darin
18696         https://bugs.webkit.org/show_bug.cgi?id=20180
18697         
18698         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.
18700         * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
18701         * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
18702         * dom/Element.cpp: include NodeRenderStyle.h
18703         * dom/Node.cpp: Remove the definition of renderStyle()
18704         (WebCore::Node::nonRendererRenderStyle):
18705         * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
18706         * dom/NodeRenderStyle.h: Added.
18707         (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
18708         * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
18709         * html/HTMLOptGroupElement.h:
18710         (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
18711         * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
18712         * html/HTMLOptionElement.h:
18713         (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
18714         * rendering/RenderListBox.cpp: include NodeRenderStyle.h
18715         * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
18716         * svg/SVGUseElement.cpp: include NodeRenderStyle.h
18718 2008-09-11  Kevin McCullough  <kmccullough@apple.com>
18720         Reviewed by Adele and Tim.
18722         <rdar://problem/6100597> REGRESSION: clicking on search results in Web
18723         Inspector does not scroll to the line of the results (20167)
18724         - This was put in by Max to fix auto scrolling but is not correct for
18725         the whole web: rdar://problem/6213098
18727         * rendering/RenderObject.cpp:
18728         (WebCore::RenderObject::canBeProgramaticallyScrolled):
18729         * rendering/RenderObject.h:
18731 2008-09-11  Chris Fleizach  <cfleizach@apple.com>
18733         Reviewed by Beth Dakin
18735         <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
18737         Test: accessibility/frame-with-title.html
18739         * page/AccessibilityRenderObject.cpp:
18740         (WebCore::AccessibilityRenderObject::accessibilityDescription):
18742 2008-09-11  Dirk Schulze  <vbs85@gmx.de>
18744         Reviewed by Simon.
18746         Fixed stroke() and strokeRect() to support gradients
18747         and patterns on Qt.
18749         [Qt] Canvas stroke don't work for gradients and patterns
18750         [https://bugs.webkit.org/show_bug.cgi?id=20749]
18752         * platform/graphics/qt/GraphicsContextQt.cpp:
18753         (WebCore::GraphicsContext::strokePath):
18754         (WebCore::GraphicsContext::strokeRect):
18756 2008-09-11  Dirk Schulze  <vbs85@gmx.de>
18758         Reviewed by Simon.
18760         https://bugs.webkit.org/show_bug.cgi?id=20729
18762         Fixed canvas gradients for Qt
18764         [Qt] Canvas gradients don't work as expected
18765         [https://bugs.webkit.org/show_bug.cgi?id=20729]
18767         * platform/graphics/qt/GradientQt.cpp:
18768         (WebCore::Gradient::platformGradient):
18770 2008-09-11  Dirk Schulze  <vbs85@gmx.de>
18772         Reviewed by Simon.
18774         https://bugs.webkit.org/show_bug.cgi?id=20568
18776         Add support for patterns to Qt.
18778         * platform/graphics/qt/PatternQt.cpp:
18779         (WebCore::Pattern::createPlatformPattern):
18781 2008-09-10  Dan Bernstein  <mitz@apple.com>
18783         Reviewed by Sam Weinig.
18785         - clean up AnimationBase
18787         * page/animation/AnimationBase.cpp:
18788         * page/animation/AnimationBase.h:
18789         * page/animation/CompositeAnimation.cpp:
18790         * page/animation/ImplicitAnimation.cpp:
18791         * page/animation/ImplicitAnimation.h:
18792         * page/animation/KeyframeAnimation.cpp:
18793         * page/animation/KeyframeAnimation.h:
18795 2008-09-10  Alexey Proskuryakov  <ap@webkit.org>
18797         Reviewed by Darin Adler.
18799         https://bugs.webkit.org/show_bug.cgi?id=20741
18800         REGRESSION: ISO-8859-8-I encoding is registered incorrectly
18802         Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
18803         check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
18804         tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
18806         I also found and fixed a potential crasher for non-Mac ports.
18808         Tests: fast/encoding/hebrew/8859-8-e.html
18809                fast/encoding/hebrew/8859-8-i.html
18810                fast/encoding/hebrew/8859-8.html
18811                fast/encoding/hebrew/csISO88598I.html
18812                fast/encoding/hebrew/hebrew.html
18813                fast/encoding/hebrew/iso-ir-138.html
18814                fast/encoding/hebrew/logical.html
18816         * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
18817         (case-insensitively, because different versions of ICU report this MIME name in different
18818         case).
18820         * platform/text/TextCodecICU.cpp:
18821         (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
18822         (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
18823         There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
18824         with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
18825         we also support these via TEC (which we should stop doing), but on Windows, this would
18826         likely crash.
18828 2008-09-09  Dave Hyatt  <hyatt@apple.com
18830         Resurrect PlatformScrollbarWin.
18831         
18832         Reviewed by Adam Roben
18834         * WebCore.vcproj/WebCore.vcproj:
18835         * platform/win/PlatformScrollBarWin.cpp:
18836         (WebCore::isRunningOnVistaOrLater):
18837         (WebCore::checkAndInitScrollbarTheme):
18838         (WebCore::PlatformScrollbar::PlatformScrollbar):
18839         (WebCore::PlatformScrollbar::invalidateTrack):
18840         (WebCore::PlatformScrollbar::invalidatePart):
18841         (WebCore::PlatformScrollbar::paint):
18842         (WebCore::PlatformScrollbar::hasButtons):
18843         (WebCore::PlatformScrollbar::hasThumb):
18844         (WebCore::PlatformScrollbar::backButtonRect):
18845         (WebCore::PlatformScrollbar::forwardButtonRect):
18846         (WebCore::PlatformScrollbar::trackRect):
18847         (WebCore::PlatformScrollbar::gripperRect):
18848         (WebCore::PlatformScrollbar::thumbLength):
18849         (WebCore::PlatformScrollbar::paintButton):
18850         (WebCore::PlatformScrollbar::paintTrack):
18851         (WebCore::PlatformScrollbar::paintThumb):
18852         (WebCore::PlatformScrollbar::paintGripper):
18853         (WebCore::PlatformScrollbar::hitTest):
18854         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
18855         (WebCore::PlatformScrollbar::handleMouseOutEvent):
18856         (WebCore::PlatformScrollbar::themeChanged):
18858 2008-09-09  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
18860         Reviewed by Maciej Stachowiak.
18862         Bug 20759: Remove MacroAssembler
18863         <https://bugs.webkit.org/show_bug.cgi?id=20759>
18865         Make the necessary changes to ForwardingHeaders to remove
18866         MacroAssembler.
18868         * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
18869         * ForwardingHeaders/masm/MacroAssembler.h: Removed.
18870         * ForwardingHeaders/masm/X86Assembler.h: Added.
18872 2008-09-09  Alp Toker  <alp@nuanti.com>
18874         Reviewed by Dave Hyatt.
18876         https://bugs.webkit.org/show_bug.cgi?id=16792
18877         [GTK] Fails to render Japanese/Chinese text with simple path
18879         https://bugs.webkit.org/show_bug.cgi?id=16942
18880         [GTK] Oddities in font selection and fall back
18882         https://bugs.webkit.org/show_bug.cgi?id=16862
18883         [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
18885         GTK+ font fixes and enhancements.
18887         Implement font fallback for the simple FontConfig-based text path and
18888         improve the Pango-based complex text path to make use of requested
18889         font properties and available font selection.
18891         Add text shadow support to the complex path.
18893         * platform/graphics/gtk/FontCacheGtk.cpp:
18894         (WebCore::FontCache::getFontDataForCharacters):
18895         (WebCore::FontCache::getSimilarFontPlatformData):
18896         * platform/graphics/gtk/FontGtk.cpp:
18897         (WebCore::setPangoAttributes):
18898         (WebCore::Font::drawComplexText):
18899         (WebCore::getDefaultPangoLayout):
18900         (WebCore::Font::floatWidthForComplexText):
18901         (WebCore::Font::offsetForPositionForComplexText):
18902         (WebCore::Font::selectionRectForComplexText):
18903         * platform/graphics/gtk/FontPlatformData.h:
18904         (WebCore::FontPlatformData::FontPlatformData):
18905         (WebCore::FontPlatformData::hash):
18906         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
18907         (WebCore::FontPlatformData::FontPlatformData):
18908         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
18909         (WebCore::SimpleFontData::platformDestroy):
18911 2008-09-09  Dave Hyatt  <hyatt@apple.com>
18913         Make the Windows classic case work again.  Overlap in slider constants and other constants broke
18914         the push state for buttons and checkboxes.  Make sure to check the RenderObject's appearance
18915         value to make sure it's really a slider thumb to resolve this conflict.
18916        
18917         Reviewed by Adam Roben
18919         * rendering/RenderThemeWin.cpp:
18920         (WebCore::drawControl):
18922 2008-09-05  Chris Marrin  <cmarrin@apple.com>
18924         Reviewed by Sam Weinig.
18926         Need to handle the case when 0% or 100% keyframe is omitted
18927         https://bugs.webkit.org/show_bug.cgi?id=20679
18929         Tests: animations/keyframes-from-missing.html
18930                animations/keyframes-to-missing.html
18932         * css/CSSStyleSelector.cpp:
18933         (WebCore::CSSStyleSelector::addKeyframeStyle):
18935 2008-09-09  Dave Hyatt  <hyatt@apple.com>
18937         Resurrect Safari's original RenderThemeWin and bring it up to date with ToT.  Having a current
18938         RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
18939         merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
18940         what changes have been made as compared with the old RenderThemeWin).
18941         
18942         Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
18943         text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
18944         vs. printer advancement rounding).
18945     
18946         Reviewed by Adam/Sam
18948         * css/CSSStyleSelector.cpp:
18949         (WebCore::CSSStyleSelector::applyProperty):
18950         * platform/graphics/Icon.h:
18951         (WebCore::Icon::create):
18952         * rendering/RenderThemeWin.cpp:
18953         (WebCore::RenderThemeWin::RenderThemeWin):
18954         (WebCore::RenderThemeWin::~RenderThemeWin):
18955         (WebCore::RenderThemeWin::buttonTheme):
18956         (WebCore::RenderThemeWin::textFieldTheme):
18957         (WebCore::RenderThemeWin::menuListTheme):
18958         (WebCore::RenderThemeWin::sliderTheme):
18959         (WebCore::RenderThemeWin::close):
18960         (WebCore::RenderThemeWin::themeChanged):
18961         (WebCore::RenderThemeWin::supportsHover):
18962         (WebCore::fillFontDescription):
18963         (WebCore::RenderThemeWin::systemFont):
18964         (WebCore::RenderThemeWin::supportsFocus):
18965         (WebCore::RenderThemeWin::determineClassicState):
18966         (WebCore::RenderThemeWin::determineState):
18967         (WebCore::RenderThemeWin::determineSliderThumbState):
18968         (WebCore::RenderThemeWin::getClassicThemeData):
18969         (WebCore::RenderThemeWin::getThemeData):
18970         (WebCore::drawControl):
18971         (WebCore::RenderThemeWin::paintButton):
18972         (WebCore::RenderThemeWin::paintTextField):
18973         (WebCore::RenderThemeWin::paintMenuList):
18974         (WebCore::RenderThemeWin::adjustMenuListStyle):
18975         (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
18976         (WebCore::RenderThemeWin::paintMenuListButton):
18977         (WebCore::RenderThemeWin::paintSliderTrack):
18978         (WebCore::RenderThemeWin::paintSliderThumb):
18979         (WebCore::RenderThemeWin::adjustSliderThumbSize):
18980         (WebCore::RenderThemeWin::paintSearchField):
18981         (WebCore::RenderThemeWin::adjustSearchFieldStyle):
18982         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
18983         (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
18984         (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
18985         (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
18986         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
18987         (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
18988         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
18989         * rendering/RenderThemeWin.h:
18990         (WebCore::ThemeData::ThemeData):
18991         (WebCore::RenderThemeWin::paintSearchFieldDecoration):
18992         (WebCore::RenderThemeWin::adjustButtonStyle):
18993         (WebCore::RenderThemeWin::adjustTextFieldStyle):
18994         (WebCore::RenderThemeWin::adjustTextAreaStyle):
18996 2008-09-09  Dean Jackson  <dino@apple.com>
18998         Reviewed by Sam Weinig.
19000         Document::createEvent missing cases for animation and
19001         transition events.
19002         https://bugs.webkit.org/show_bug.cgi?id=20734
19004         Test: transitions/transition-end-event-create.html
19005         Test: animations/animation-events-create.html
19007         * dom/Document.cpp:
19008         (WebCore::Document::createEvent):
19009             - add the two cases
19011 2008-09-09  Dan Bernstein  <mitz@apple.com>
19013         - Tiger build fix
19015         * WebCore.Tiger.exp:
19016         * WebCore.base.exp:
19017         * platform/mac/WebCoreSystemInterface.h:
19018         * platform/mac/WebCoreSystemInterface.mm:
19020 2008-09-09  Dan Bernstein  <mitz@apple.com>
19022         Reviewed by Darin Adler.
19024         - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
19026         * WebCore.Tiger.exp:
19027         * WebCore.base.exp:
19028         * platform/graphics/SimpleFontData.h:
19029         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
19030         (WebCore::GlyphPage::fill):
19031         * platform/graphics/mac/SimpleFontDataMac.mm:
19032         (WebCore::initFontData):
19033         (WebCore::SimpleFontData::platformInit):
19034         (WebCore::SimpleFontData::platformDestroy):
19035         * platform/mac/WebCoreSystemInterface.h:
19036         * platform/mac/WebCoreSystemInterface.mm:
19038 2008-09-09  Kevin McCullough  <kmccullough@apple.com>
19040         Reviewed by Tim.
19042         <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
19043         breakpoints inside eval.
19045         * page/inspector/inspector.js:
19047 2008-09-09  Joerg Bornemann  <joerg.bornemann@trolltech.com>
19049         Reviewed by Simon.
19051         Fix compilation of the Qt port with disabled plugins on Windows
19053         * WebCore.pro:
19054         * plugins/PluginView.cpp:
19055         (WebCore::PluginView::PluginView):
19056         * plugins/PluginView.h:
19058 2008-09-09  Jungshik Shin  <jungshik.shin@gmail.com>
19060         Reviewed by Alexey Proskuryakov.
19062         Try MIME charset names before trying IANA names 
19063         ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
19065         With this change, shorter and more widely used names (preferred MIME
19066         names) are returned by document.charset, document.characterSet,
19067         document.inputEncoding rather than IANA names. This  helps
19068         fixing bug 18085 in addition to web developers who are more familiar
19069         with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
19070         returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese, 
19071         ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx. 
19072         Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
19073         used, the former is still recognized as aliases to the latter so that
19074         there's very little, if any, to worry about.
19076         * platform/text/TextCodecICU.cpp:
19077         (WebCore::TextCodecICU::registerExtendedEncodingNames):
19079 2008-09-08  Sam Weinig  <sam@webkit.org>
19081         Reviewed by Maciej Stachowiak and Oliver Hunt.
19083         Add forwarding headers.
19085         * ForwardingHeaders/wtf/HashFunctions.h: Added.
19087 2008-09-05  Dean Jackson  <dino@apple.com>
19089         Reviewed by Dan Bernstein.
19091         Update grammar so that we can add a keyframe rule via the DOM.
19092         https://bugs.webkit.org/show_bug.cgi?id=20613
19094         * css/CSSGrammar.y:
19095         * css/tokenizer.flex:
19097 2008-09-08  Antti Koivisto  <antti@apple.com>
19099         Reviewed by Dan Bernstein.
19101         Allow <br> for simple UA stylesheet. Editing code generates them. It does not
19102         actually show up in any of the default stylesheets.
19104         * css/CSSStyleSelector.cpp:
19105         (WebCore::elementCanUseSimpleDefaultStyle):
19107 2008-09-08  Dimitri Glazkov  <dglazkov@google.com>
19109         Reviewed by Dan Bernstein.
19111         - fix https://bugs.webkit.org/show_bug.cgi?id=20237
19112           Zero width and space characters are displayed incorrectly if not contained in a fallback font
19114         Adds an extra check for Object Replacement Character (U+FFFC) to address
19115         the issue with fast/text/zero-width-characters.html test when run
19116         with Windows system default fonts.
19118         * platform/graphics/Font.h:
19119         (WebCore::Font::treatAsZeroWidthSpace):
19121 2008-09-08  Dean Jackson  <dino@apple.com>
19123         Reviewed by Sam Weinig.
19125         Code style issue I forgot to fix from previous commit.
19127         * platform/graphics/AffineTransform.cpp:
19128         (WebCore::AffineTransform::blend):
19130 2008-09-08  Chris Marrin  <cmarrin@apple.com>
19132         Reviewed by Sam Weinig
19134         - Animation of -webkit-transform matrix() function should not do linear interpolation
19135           https://bugs.webkit.org/show_bug.cgi?id=20667
19137         Test: animations/matrix-anim.html
19139         * ChangeLog:
19140         * platform/graphics/AffineTransform.cpp:
19141         (WebCore::affineTransformDecompose):
19142         (WebCore::affineTransformCompose):
19143         (WebCore::AffineTransform::blend):
19144         * platform/graphics/AffineTransform.h:
19145         * rendering/style/RenderStyle.cpp:
19146         (WebCore::MatrixTransformOperation::blend):
19148 2008-09-08  Alexey Proskuryakov  <ap@webkit.org>
19150         Reviewed by Darin Adler.
19152         https://bugs.webkit.org/show_bug.cgi?id=20668
19153         multipart/form-data does not always include Content-type for submitted files
19155         Cannot be tested with DRT or manual tests.
19157         * platform/MIMETypeRegistry.cpp:
19158         (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
19159         (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
19160         unknown extensions, not just missing ones.
19162 2008-09-08  Simon Hausmann  <hausmann@webkit.org>
19164         Build fix for the Qt/Windows build, define USE_JSC to
19165         enable the WebCore::String -> JSC::UString operator that
19166         MSVC insists on seeing
19168         * WebCore.pro:
19170 2008-09-08  Anders Carlsson  <andersca@apple.com>
19172         Reviewed by Maciej.
19174         <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
19175         
19176         In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
19177         page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
19178         
19179         Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
19180         
19181         * bindings/js/JSDOMWindowBase.h:
19182         * loader/FrameLoader.cpp:
19183         (WebCore::FrameLoader::commitProvisionalLoad):
19185 2008-09-07  Antti Koivisto  <antti@apple.com>
19187         Reviewed by Dave Hyatt.
19189         Don't leak the simple stylesheet.
19190         Also call RenderTheme::adjustDefaultStyleSheet() in right place.
19192         * css/CSSStyleSelector.cpp:
19193         (WebCore::loadFullDefaultStyle):
19194         (WebCore::loadSimpleDefaultStyle):
19195         (WebCore::CSSStyleSelector::styleForElement):
19197 2008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
19199         Reviewed by Oliver Hunt.
19201         Bug 20711: Change KJS prefix on preprocessor macros to JSC
19202         <https://bugs.webkit.org/show_bug.cgi?id=20711>
19204         * bindings/js/JSEventTargetBase.h:
19205         * bindings/js/JSHTMLInputElementBase.cpp:
19206         * bindings/js/JSHTMLInputElementBase.h:
19207         * bindings/scripts/CodeGeneratorJS.pm:
19209 2008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
19211         Reviewed by Maciej Stachowiak.
19213         Bug 20704: Replace the KJS namespace
19214         <https://bugs.webkit.org/show_bug.cgi?id=20704>
19216         Rename the KJS namespace to JSC. There are still some uses of KJS in the
19217         names of JNI functions, and I will check if these are safe to change
19218         as well.
19220         * WebCore.base.exp:
19221         * bindings/js/GCController.cpp:
19222         * bindings/js/JSAttrCustom.cpp:
19223         * bindings/js/JSAudioConstructor.cpp:
19224         * bindings/js/JSAudioConstructor.h:
19225         (WebCore::JSAudioConstructor::classInfo):
19226         * bindings/js/JSCSSRuleCustom.cpp:
19227         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
19228         * bindings/js/JSCSSValueCustom.cpp:
19229         * bindings/js/JSCanvasPixelArrayCustom.cpp:
19230         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
19231         * bindings/js/JSClipboardCustom.cpp:
19232         * bindings/js/JSConsoleCustom.cpp:
19233         * bindings/js/JSCustomSQLStatementCallback.cpp:
19234         (WebCore::JSCustomSQLStatementCallback::handleEvent):
19235         * bindings/js/JSCustomSQLStatementCallback.h:
19236         (WebCore::JSCustomSQLStatementCallback::create):
19237         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
19238         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
19239         * bindings/js/JSCustomSQLStatementErrorCallback.h:
19240         (WebCore::JSCustomSQLStatementErrorCallback::create):
19241         * bindings/js/JSCustomSQLTransactionCallback.cpp:
19242         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
19243         * bindings/js/JSCustomSQLTransactionCallback.h:
19244         (WebCore::JSCustomSQLTransactionCallback::create):
19245         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
19246         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
19247         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
19248         (WebCore::JSCustomSQLTransactionErrorCallback::create):
19249         * bindings/js/JSCustomVoidCallback.cpp:
19250         (WebCore::JSCustomVoidCallback::handleEvent):
19251         * bindings/js/JSCustomVoidCallback.h:
19252         (WebCore::JSCustomVoidCallback::create):
19253         * bindings/js/JSCustomXPathNSResolver.cpp:
19254         (WebCore::JSCustomXPathNSResolver::create):
19255         * bindings/js/JSCustomXPathNSResolver.h:
19256         * bindings/js/JSDOMApplicationCacheCustom.cpp:
19257         (WebCore::JSDOMApplicationCache::dispatchEvent):
19258         * bindings/js/JSDOMBinding.cpp:
19259         (WebCore::jsOwnedStringOrNull):
19260         * bindings/js/JSDOMBinding.h:
19261         (WebCore::DOMObject::DOMObject):
19262         (WebCore::cacheDOMObject):
19263         (WebCore::cacheSVGDOMObject):
19264         (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
19265         (WebCore::toJS):
19266         * bindings/js/JSDOMWindowBase.cpp:
19267         * bindings/js/JSDOMWindowBase.h:
19268         (WebCore::JSDOMWindowBase::classInfo):
19269         (WebCore::JSDOMWindowBase::d):
19270         * bindings/js/JSDOMWindowCustom.cpp:
19271         (WebCore::JSDOMWindow::getPropertyAttributes):
19272         * bindings/js/JSDOMWindowCustom.h:
19273         (WebCore::asJSDOMWindow):
19274         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
19275         (WebCore::JSDOMWindow::customPut):
19276         (WebCore::JSDOMWindowBase::allowsAccessFrom):
19277         (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
19278         * bindings/js/JSDOMWindowShell.cpp:
19279         (WebCore::JSDOMWindowShell::getPropertyAttributes):
19280         * bindings/js/JSDOMWindowShell.h:
19281         (WebCore::JSDOMWindowShell::classInfo):
19282         * bindings/js/JSDatabaseCustom.cpp:
19283         * bindings/js/JSDocumentCustom.cpp:
19284         * bindings/js/JSDocumentFragmentCustom.cpp:
19285         * bindings/js/JSElementCustom.cpp:
19286         * bindings/js/JSEventCustom.cpp:
19287         * bindings/js/JSEventListener.cpp:
19288         * bindings/js/JSEventListener.h:
19289         (WebCore::JSUnprotectedEventListener::create):
19290         (WebCore::JSEventListener::create):
19291         * bindings/js/JSEventTargetBase.cpp:
19292         * bindings/js/JSEventTargetBase.h:
19293         (WebCore::JSEventTargetBase::getValueProperty):
19294         (WebCore::JSEventTargetBase::putValueProperty):
19295         (WebCore::JSEventTargetBase::getOwnPropertySlot):
19296         (WebCore::JSEventTargetBase::put):
19297         (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
19298         (WebCore::JSEventTargetPrototype::self):
19299         (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
19300         (WebCore::JSEventTargetPrototype::classInfo):
19301         * bindings/js/JSEventTargetNode.cpp:
19302         * bindings/js/JSEventTargetNode.h:
19303         (WebCore::JSEventTargetNode::getOwnPropertySlot):
19304         (WebCore::JSEventTargetNode::getValueProperty):
19305         (WebCore::JSEventTargetNode::put):
19306         (WebCore::JSEventTargetNode::putValueProperty):
19307         * bindings/js/JSHTMLAllCollection.h:
19308         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
19309         (WebCore::JSHTMLAllCollection::toBoolean):
19310         * bindings/js/JSHTMLAppletElementCustom.cpp:
19311         * bindings/js/JSHTMLCollectionCustom.cpp:
19312         * bindings/js/JSHTMLDocumentCustom.cpp:
19313         * bindings/js/JSHTMLElementCustom.cpp:
19314         * bindings/js/JSHTMLEmbedElementCustom.cpp:
19315         * bindings/js/JSHTMLFormElementCustom.cpp:
19316         * bindings/js/JSHTMLFrameElementCustom.cpp:
19317         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
19318         * bindings/js/JSHTMLIFrameElementCustom.cpp:
19319         * bindings/js/JSHTMLInputElementBase.cpp:
19320         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
19321         (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
19322         * bindings/js/JSHTMLInputElementBase.h:
19323         (WebCore::JSHTMLInputElementBase::classInfo):
19324         * bindings/js/JSHTMLObjectElementCustom.cpp:
19325         * bindings/js/JSHTMLOptionElementConstructor.cpp:
19326         * bindings/js/JSHTMLOptionElementConstructor.h:
19327         (WebCore::JSHTMLOptionElementConstructor::classInfo):
19328         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
19329         * bindings/js/JSHTMLSelectElementCustom.cpp:
19330         (WebCore::selectIndexSetter):
19331         (WebCore::JSHTMLSelectElement::indexSetter):
19332         * bindings/js/JSHTMLSelectElementCustom.h:
19333         * bindings/js/JSHistoryCustom.cpp:
19334         * bindings/js/JSImageConstructor.cpp:
19335         * bindings/js/JSImageConstructor.h:
19336         (WebCore::JSImageConstructor::classInfo):
19337         * bindings/js/JSInspectedObjectWrapper.cpp:
19338         * bindings/js/JSInspectedObjectWrapper.h:
19339         (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
19340         (WebCore::JSInspectedObjectWrapper::classInfo):
19341         * bindings/js/JSInspectorCallbackWrapper.cpp:
19342         * bindings/js/JSInspectorCallbackWrapper.h:
19343         (WebCore::JSInspectorCallbackWrapper::classInfo):
19344         (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
19345         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
19346         * bindings/js/JSLocationCustom.cpp:
19347         * bindings/js/JSMimeTypeArrayCustom.cpp:
19348         * bindings/js/JSNSResolver.cpp:
19349         * bindings/js/JSNSResolver.h:
19350         (WebCore::JSNSResolver::create):
19351         * bindings/js/JSNamedNodeMapCustom.cpp:
19352         * bindings/js/JSNamedNodesCollection.cpp:
19353         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
19354         * bindings/js/JSNamedNodesCollection.h:
19355         (WebCore::JSNamedNodesCollection::classInfo):
19356         * bindings/js/JSNavigatorCustom.cpp:
19357         * bindings/js/JSNodeCustom.cpp:
19358         * bindings/js/JSNodeFilterCondition.cpp:
19359         (WebCore::JSNodeFilterCondition::acceptNode):
19360         * bindings/js/JSNodeFilterCondition.h:
19361         (WebCore::JSNodeFilterCondition::create):
19362         * bindings/js/JSNodeFilterCustom.cpp:
19363         * bindings/js/JSNodeIteratorCustom.cpp:
19364         * bindings/js/JSNodeListCustom.cpp:
19365         * bindings/js/JSPluginArrayCustom.cpp:
19366         * bindings/js/JSPluginCustom.cpp:
19367         * bindings/js/JSPluginElementFunctions.cpp:
19368         (WebCore::getRuntimeObject):
19369         * bindings/js/JSPluginElementFunctions.h:
19370         * bindings/js/JSQuarantinedObjectWrapper.cpp:
19371         (WebCore::JSQuarantinedObjectWrapper::construct):
19372         (WebCore::JSQuarantinedObjectWrapper::call):
19373         * bindings/js/JSQuarantinedObjectWrapper.h:
19374         (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
19375         (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
19376         (WebCore::JSQuarantinedObjectWrapper::className):
19377         * bindings/js/JSRGBColor.cpp:
19378         * bindings/js/JSRGBColor.h:
19379         (WebCore::JSRGBColor::classInfo):
19380         * bindings/js/JSSQLResultSetRowListCustom.cpp:
19381         * bindings/js/JSSQLTransactionCustom.cpp:
19382         * bindings/js/JSSVGLazyEventListener.cpp:
19383         * bindings/js/JSSVGLazyEventListener.h:
19384         * bindings/js/JSSVGLengthCustom.cpp:
19385         * bindings/js/JSSVGMatrixCustom.cpp:
19386         (WebCore::JSSVGMatrix::inverse):
19387         (WebCore::JSSVGMatrix::rotateFromVector):
19388         * bindings/js/JSSVGPathSegCustom.cpp:
19389         * bindings/js/JSSVGPathSegListCustom.cpp:
19390         (WebCore::JSSVGPathSegList::initialize):
19391         (WebCore::JSSVGPathSegList::getItem):
19392         (WebCore::JSSVGPathSegList::insertItemBefore):
19393         (WebCore::JSSVGPathSegList::replaceItem):
19394         (WebCore::JSSVGPathSegList::removeItem):
19395         (WebCore::JSSVGPathSegList::appendItem):
19396         * bindings/js/JSSVGPointListCustom.cpp:
19397         * bindings/js/JSSVGTransformListCustom.cpp:
19398         * bindings/js/JSStorageCustom.cpp:
19399         * bindings/js/JSStyleSheetCustom.cpp:
19400         * bindings/js/JSStyleSheetListCustom.cpp:
19401         * bindings/js/JSTextCustom.cpp:
19402         * bindings/js/JSTreeWalkerCustom.cpp:
19403         * bindings/js/JSXMLHttpRequestConstructor.cpp:
19404         * bindings/js/JSXMLHttpRequestConstructor.h:
19405         (WebCore::JSXMLHttpRequestConstructor::classInfo):
19406         * bindings/js/JSXMLHttpRequestCustom.cpp:
19407         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
19408         * bindings/js/JSXSLTProcessorConstructor.cpp:
19409         * bindings/js/JSXSLTProcessorConstructor.h:
19410         (WebCore::JSXSLTProcessorConstructor::classInfo):
19411         * bindings/js/JSXSLTProcessorCustom.cpp:
19412         * bindings/js/ScheduledAction.cpp:
19413         * bindings/js/ScheduledAction.h:
19414         * bindings/js/ScriptController.cpp:
19415         (WebCore::ScriptController::attachDebugger):
19416         (WebCore::ScriptController::windowScriptNPObject):
19417         * bindings/js/ScriptController.h:
19418         * bindings/js/ScriptControllerGtk.cpp:
19419         (WebCore::ScriptController::createScriptInstanceForWidget):
19420         * bindings/js/ScriptControllerMac.mm:
19421         (WebCore::ScriptController::createScriptInstanceForWidget):
19422         (WebCore::ScriptController::windowScriptObject):
19423         (WebCore::ScriptController::clearPlatformScriptObjects):
19424         (WebCore::updateRenderingForBindings):
19425         (WebCore::ScriptController::initJavaJSBindings):
19426         * bindings/js/ScriptControllerQt.cpp:
19427         (WebCore::ScriptController::createScriptInstanceForWidget):
19428         * bindings/js/ScriptControllerWin.cpp:
19429         (WebCore::ScriptController::createScriptInstanceForWidget):
19430         * bindings/js/ScriptControllerWx.cpp:
19431         (WebCore::ScriptController::createScriptInstanceForWidget):
19432         * bindings/js/StringSourceProvider.h:
19433         (WebCore::StringSourceProvider::getRange):
19434         * bindings/objc/DOM.mm:
19435         (-[DOMNode JSC::Bindings::]):
19436         * bindings/objc/DOMInternal.h:
19437         * bindings/objc/DOMInternal.mm:
19438         (-[WebScriptObject _initializeScriptDOMNodeImp]):
19439         * bindings/objc/DOMUtility.mm:
19440         (JSC::createDOMWrapper):
19441         (WebCore::createDOMWrapper):
19442         * bindings/objc/WebScriptObject.mm:
19443         (WebCore::createJSWrapper):
19444         (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
19445         * bindings/objc/WebScriptObjectPrivate.h:
19446         * bindings/scripts/CodeGeneratorJS.pm:
19447         * bridge/NP_jsobject.cpp:
19448         * bridge/NP_jsobject.h:
19449         * bridge/c/c_class.cpp:
19450         * bridge/c/c_class.h:
19451         * bridge/c/c_instance.cpp:
19452         * bridge/c/c_instance.h:
19453         * bridge/c/c_runtime.cpp:
19454         * bridge/c/c_runtime.h:
19455         * bridge/c/c_utility.cpp:
19456         * bridge/c/c_utility.h:
19457         * bridge/jni/jni_class.cpp:
19458         * bridge/jni/jni_class.h:
19459         * bridge/jni/jni_instance.cpp:
19460         * bridge/jni/jni_instance.h:
19461         * bridge/jni/jni_jsobject.h:
19462         * bridge/jni/jni_jsobject.mm:
19463         (JavaJSObject::call):
19464         (JavaJSObject::convertJObjectToValue):
19465         * bridge/jni/jni_objc.mm:
19466         (JSC::Bindings::dispatchJNICall):
19467         * bridge/jni/jni_runtime.cpp:
19468         * bridge/jni/jni_runtime.h:
19469         * bridge/jni/jni_utility.cpp:
19470         * bridge/jni/jni_utility.h:
19471         * bridge/npruntime.cpp:
19472         (_NPN_GetStringIdentifier):
19473         * bridge/objc/WebScriptObject.h:
19474         * bridge/objc/objc_class.h:
19475         * bridge/objc/objc_class.mm:
19476         * bridge/objc/objc_instance.h:
19477         * bridge/objc/objc_instance.mm:
19478         * bridge/objc/objc_runtime.h:
19479         * bridge/objc/objc_runtime.mm:
19480         * bridge/objc/objc_utility.h:
19481         * bridge/objc/objc_utility.mm:
19482         * bridge/qt/qt_class.cpp:
19483         * bridge/qt/qt_class.h:
19484         * bridge/qt/qt_instance.cpp:
19485         * bridge/qt/qt_instance.h:
19486         * bridge/qt/qt_runtime.cpp:
19487         (JSC::Bindings::convertQVariantToValue):
19488         (JSC::Bindings::):
19489         * bridge/qt/qt_runtime.h:
19490         * bridge/runtime.cpp:
19491         * bridge/runtime.h:
19492         * bridge/runtime_array.cpp:
19493         * bridge/runtime_array.h:
19494         * bridge/runtime_method.cpp:
19495         * bridge/runtime_method.h:
19496         * bridge/runtime_object.cpp:
19497         * bridge/runtime_object.h:
19498         * bridge/runtime_root.cpp:
19499         (JSC::Bindings::RootObject::invalidate):
19500         (JSC::Bindings::RootObject::gcProtect):
19501         (JSC::Bindings::RootObject::gcUnprotect):
19502         * bridge/runtime_root.h:
19503         * bridge/testbindings.cpp:
19504         * bridge/testbindings.mm:
19505         * bridge/testqtbindings.cpp:
19506         * dom/Document.cpp:
19507         (WebCore::Document::~Document):
19508         * dom/NSResolver.h:
19509         * dom/Node.cpp:
19510         (WebCore::Node::setDocument):
19511         (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
19512         (WebCore::resolveNamespacesForSelector):
19513         (WebCore::Node::querySelector):
19514         (WebCore::Node::querySelectorAll):
19515         * dom/Node.h:
19516         * dom/NodeFilter.cpp:
19517         * dom/NodeFilter.h:
19518         * dom/NodeFilterCondition.cpp:
19519         * dom/NodeFilterCondition.h:
19520         * dom/NodeIterator.cpp:
19521         * dom/NodeIterator.h:
19522         * dom/Traversal.cpp:
19523         * dom/Traversal.h:
19524         * dom/TreeWalker.cpp:
19525         * dom/TreeWalker.h:
19526         * dom/make_names.pl:
19527         * history/CachedPage.cpp:
19528         * history/CachedPage.h:
19529         * html/HTMLPlugInElement.cpp:
19530         (WebCore::HTMLPlugInElement::getInstance):
19531         * html/HTMLPlugInElement.h:
19532         * loader/FrameLoader.cpp:
19533         * loader/FrameLoader.h:
19534         * loader/icon/IconDatabase.cpp:
19535         (WebCore::iconDatabase):
19536         * page/Console.cpp:
19537         * page/Console.h:
19538         * page/InspectorController.cpp:
19539         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
19540         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
19541         (WebCore::InspectorResource::setXMLHttpRequestProperties):
19542         (WebCore::InspectorResource::sourceString):
19543         (WebCore::getResourceDocumentNode):
19544         (WebCore::search):
19545         (WebCore::InspectorController::focusNode):
19546         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
19547         (WebCore::InspectorController::addDatabaseScriptResource):
19548         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
19549         * page/InspectorController.h:
19550         (WebCore::InspectorController::profiles):
19551         * page/JavaScriptCallFrame.cpp:
19552         (WebCore::JavaScriptCallFrame::scopeChain):
19553         * page/JavaScriptCallFrame.h:
19554         (WebCore::JavaScriptCallFrame::create):
19555         (WebCore::JavaScriptCallFrame::update):
19556         * page/JavaScriptDebugListener.h:
19557         * page/JavaScriptDebugServer.cpp:
19558         (WebCore::dispatchDidParseSource):
19559         * page/JavaScriptDebugServer.h:
19560         * page/JavaScriptProfile.cpp:
19561         * page/JavaScriptProfile.h:
19562         * page/JavaScriptProfileNode.cpp:
19563         (WebCore::getTotalTime):
19564         (WebCore::getSelfTime):
19565         (WebCore::getTotalPercent):
19566         (WebCore::getSelfPercent):
19567         (WebCore::getNumberOfCalls):
19568         (WebCore::getChildren):
19569         (WebCore::getVisible):
19570         * page/JavaScriptProfileNode.h:
19571         * page/Page.cpp:
19572         (WebCore::Page::setDebuggerForAllPages):
19573         (WebCore::Page::setDebugger):
19574         * page/Page.h:
19575         (WebCore::Page::debugger):
19576         * page/mac/FrameMac.mm:
19577         * platform/KURL.h:
19578         (WebCore::KURL::operator JSC::UString):
19579         * platform/text/AtomicString.cpp:
19580         (WebCore::AtomicString::add):
19581         (WebCore::AtomicString::find):
19582         * platform/text/AtomicString.h:
19583         (WebCore::AtomicString::AtomicString):
19584         * platform/text/PlatformString.h:
19585         * platform/text/String.cpp:
19586         (WebCore::charactersToDouble):
19587         * platform/win/BString.cpp:
19588         * platform/win/BString.h:
19589         * plugins/MimeTypeArray.h:
19590         * plugins/Plugin.h:
19591         * plugins/PluginArray.h:
19592         * plugins/PluginView.cpp:
19593         (WebCore::PluginView::start):
19594         (WebCore::PluginView::performRequest):
19595         (WebCore::PluginView::bindingInstance):
19596         * plugins/PluginView.h:
19597         * plugins/gtk/PluginViewGtk.cpp:
19598         (WebCore::PluginView::paint):
19599         (WebCore::PluginView::handleKeyboardEvent):
19600         (WebCore::PluginView::handleMouseEvent):
19601         (WebCore::PluginView::setNPWindowRect):
19602         (WebCore::PluginView::stop):
19603         (WebCore::PluginView::init):
19604         * plugins/qt/PluginViewQt.cpp:
19605         (WebCore::PluginView::setNPWindowRect):
19606         (WebCore::PluginView::stop):
19607         (WebCore::PluginView::init):
19608         * plugins/win/PluginViewWin.cpp:
19609         (WebCore::PluginView::dispatchNPEvent):
19610         (WebCore::PluginView::handleKeyboardEvent):
19611         (WebCore::PluginView::handleMouseEvent):
19612         (WebCore::PluginView::setNPWindowRect):
19613         (WebCore::PluginView::stop):
19614         * storage/Database.cpp:
19615         (WebCore::Database::Database):
19616         * xml/XMLHttpRequest.cpp:
19617         (WebCore::XMLHttpRequest::responseText):
19618         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
19619         (WebCore::XMLHttpRequest::clearResponse):
19620         (WebCore::XMLHttpRequest::dropProtection):
19621         (WebCore::XMLHttpRequest::didFinishLoading):
19622         (WebCore::XMLHttpRequest::didReceiveData):
19623         * xml/XMLHttpRequest.h:
19625 2008-09-07  Adam Barth  <abarth@webkit.org>
19627         Reviewed by Sam Weinig.
19629         Adopt opener restriction on frame navigation.
19630           https://bugs.webkit.org/show_bug.cgi?id=20642
19632         This restriction helps prevent an attacker from navigating top-level
19633         windows that were created by another web site.
19635         Tests: http/tests/security/frameNavigation/not-opener.html
19636                http/tests/security/frameNavigation/opener.html
19638         * loader/FrameLoader.cpp:
19639         (WebCore::canAccessAncestor):
19640         (WebCore::FrameLoader::shouldAllowNavigation):
19642 2008-09-07  Dan Bernstein  <mitz@apple.com>
19644         Reviewed by Maciej Stachowiak.
19646         - use the correct sign for vertical offsets of combining marks
19648         * platform/graphics/win/UniscribeController.cpp:
19649         (WebCore::UniscribeController::shapeAndPlaceItem):
19651 2008-09-07  Dan Bernstein  <mitz@apple.com>
19653         Reviewed by Dave Hyatt.
19655         - add the combining mark offsets in two places where I forgot them
19657         * platform/graphics/win/FontCGWin.cpp:
19658         (WebCore::Font::drawGlyphs):
19660 2008-09-07  Dan Bernstein  <mitz@apple.com>
19662         Reviewed by Dave Hyatt.
19664         - correct glyph advances in complex text using web fonts rendered with
19665           Core Graphics
19667         * platform/graphics/win/FontCustomPlatformData.cpp:
19668         (WebCore::FontCustomPlatformData::fontPlatformData):
19670 2008-09-07  Keishi Hattori  <casey.hattori@gmail.com>
19672         Adds console.dirxml support to the Web Inspector.
19674         https://bugs.webkit.org/show_bug.cgi?id=19156
19676         Reviewed by Timothy Hatcher.
19678         * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
19679         * bindings/js/JSConsoleCustom.cpp:
19680         (WebCore::JSConsole::dirxml):
19681         * page/Console.cpp:
19682         (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
19683         * page/Console.h:
19684         (WebCore::): Added NodeMessageLevel.
19685         * page/Console.idl: Added console.dirxml.
19686         * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
19687         * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline 
19688         in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
19689         * page/inspector/ElementsTreeOutline.js: Added.
19690         (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
19691         (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
19692         * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
19693         * page/inspector/inspector.css:
19694         * page/inspector/inspector.html: Added ElementsTreeOutline.js.
19695         * page/inspector/inspector.js: Moved hover related methods to WebInspector.
19696         (WebInspector.altKeyDown):
19697         (WebInspector.forceHoverHighlight):
19698         (WebInspector.hoveredDOMNode):
19699         (WebInspector._updateHoverHighlightSoon):
19700         (WebInspector._updateHoverHighlight):
19701         (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
19702         (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
19703         * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
19704         isAncestorIncludingParentFrames.
19706 2008-09-06  Mark Rowe  <mrowe@apple.com>
19708         Qt build fix.
19710         * bridge/qt/qt_runtime.cpp:
19711         (KJS::Bindings::convertQVariantToValue):
19713 === End merge of squirrelfish-extreme ===
19715 2008-09-05  Oliver Hunt  <oliver@apple.com>
19717         Start bringing up SFX on windows.
19719         Reviewed by Mark Rowe and Sam Weinig
19721         Start doing the work to bring up SFX on windows.  Initially
19722         just working on WREC, as it does not make any calls so reduces
19723         the amount of code that needs to be corrected.
19725         Add forwarding headers
19727         * ChangeLog:
19728         * ForwardingHeaders/masm/MacroAssembler.h: Added.
19729         * WebCore.vcproj/WebCore.vcproj:
19731 2008-08-27  Mark Rowe  <mrowe@apple.com>
19733         Reviewed by Oliver Hunt.
19735         Fix the build of the full WebKit stack.
19737         Add forwarding headers.
19739         * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
19740         * ForwardingHeaders/wrec/WREC.h: Added.
19742 === Start merge of squirrelfish-extreme ===
19744 2008-09-06  Antti Koivisto  <antti@apple.com>
19746         Reviewed by Dave Hyatt.
19748         <rdar://problem/6187043> 
19749         Don't parse full HTML user agent style sheet unless it is actually needed
19750         <rdar://problem/6131889> 
19751         WebView is significantly more expensive to create recently
19752         
19753         Parsing the html4.css takes significant amount of time and memory (~50kb) on application
19754         startup. Some clients may never use most of the rules.
19755         
19756         With this patch we use simplified UA stylesheet until we hit something it can't handle. 
19757         This avoids full stylesheet parsing on application startup (due to empty document construction)
19758         and also makes it possible for clients with very simple demands (divs and spans only) never to load 
19759         the full style.
19760         
19761         It also delays view source style parsing until it is used.
19763         * css/CSSStyleSelector.cpp:
19764         (WebCore::elementCanUseSimpleDefaultStyle):
19765         (WebCore::CSSStyleSelector::CSSStyleSelector):
19766         (WebCore::loadFullDefaultStyle):
19767         (WebCore::loadSimpleDefaultStyle):
19768         (WebCore::loadViewSourceStyle):
19769         (WebCore::CSSStyleSelector::matchUARules):
19770         (WebCore::CSSStyleSelector::styleForElement):
19772 2008-09-06  Kevin Ollivier  <kevino@theolliviers.com>
19774         wx build fix.
19776         * WebCoreSources.bkl:
19778 2008-09-06  Antti Koivisto  <antti@apple.com>
19780         Reverting r35953 which was causing problems on Windows which relies on
19781         WebCore timers in nested event loops. r36132 did alternative fix.
19783         * page/Chrome.cpp:
19784         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
19785         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
19787 2008-09-06  Antti Koivisto  <antti@apple.com>
19789         Reviewed by Dan Bernstein.
19791         Fix <rdar://problem/6201644>
19792         https://bugs.webkit.org/show_bug.cgi?id=20493
19793         Crash after OK in dialog box and reloading page in secure mode
19794         
19795         Limited loader only fix since the general timer fix is causing problems on Windows.
19797         * loader/loader.cpp:
19798         (WebCore::Loader::servePendingRequests):
19799         (WebCore::Loader::Host::Host):
19800         (WebCore::Loader::Host::didFinishLoading):
19801         (WebCore::Loader::Host::didFail):
19802         (WebCore::Loader::Host::didReceiveData):
19803         * loader/loader.h:
19804         (WebCore::Loader::Host::processingResource):
19806 2008-09-06  Dan Bernstein  <mitz@apple.com>
19808         Reviewed by Dave Hyatt.
19810         The initial Core Text adoption prototype was made by Daniel Fenwick.
19812         - <rdar://problem/5158514> Add a Core Text-based complex text code path
19814         Currently the Core Text code path is not used in any configuration.
19816         * WebCore.xcodeproj/project.pbxproj: Added files.
19817         * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
19818         * platform/graphics/Font.cpp:
19819         (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
19820         of the loop.
19821         * platform/graphics/GlyphBuffer.h:
19822         (WebCore::GlyphBuffer::add): Added this version that takes an advance.
19823         * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
19824         Added getCTFont() and getCFStringAttributes() and corresponding data
19825         members for Core Text.
19826         * platform/graphics/mac/CoreTextController.cpp: Added.
19827         (WebCore::roundCGFloat): Helper function.
19828         (WebCore::ceilCGFloat): Helper function.
19829         (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
19830         (WebCore::CoreTextController::CoreTextController):
19831         (WebCore::CoreTextController::offsetForPosition):
19832         (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
19833         run into subruns as necessary such that each subrun can be rendered with
19834         a single font. Also separates out soft hyphens and replaces them with
19835         real hyphens, because Core Text does not emit a glyph for soft hyphens.
19836         Then calls collectCoreTextRunsForCharacters() on each subrun.
19837         (WebCore::CoreTextController::advance):
19838         (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
19839         a CTLine from the given subrun and collects its CoreTextRuns.
19840         (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
19841         rounding hacks, letter- and word-spacing and glyph substitutions and
19842         stores the resulting adjusted glyphs and advances.
19843         * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
19844         (WebCore::CoreTextController::totalWidth):
19845         (WebCore::CoreTextController::finalRoundingWidth):
19846         (WebCore::CoreTextController::CoreTextRun::ctRun):
19847         (WebCore::CoreTextController::CoreTextRun::glyphCount):
19848         (WebCore::CoreTextController::CoreTextRun::fontData):
19849         (WebCore::CoreTextController::CoreTextRun::characters):
19850         (WebCore::CoreTextController::CoreTextRun::stringLocation):
19851         (WebCore::CoreTextController::CoreTextRun::stringLength):
19852         (WebCore::CoreTextController::CoreTextRun::indexAt):
19853         * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
19854         FontMacATSUI.mm.
19855         * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
19856         (WebCore::disableLigatures): Changed to call
19857         FontPlatformData::allowsLigatures().
19858         (WebCore::overrideLayoutOperation): Changed to call
19859         FontPlatformData::roundsGlyphAdvances().
19860         * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
19861         (WebCore::Font::selectionRectForComplexText): Changed to use
19862         totalWidth() instead of advancing to the end and using runWidthSoFar().
19863         (WebCore::Font::drawComplexText):
19864         (WebCore::Font::floatWidthForComplexText): Ditto.
19865         (WebCore::Font::offsetForPositionForComplexText):
19866         * platform/graphics/mac/FontPlatformData.h:
19867         * platform/graphics/mac/FontPlatformDataMac.mm:
19868         (WebCore::FontPlatformData::setFont):
19869         (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
19870         AppKit rendering mode.
19871         (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
19872         heuristic that allows ligatures in fonts that do not have a glyph for
19873         'a', based on the assumption that such fonts are only used in complex
19874         text.
19875         * platform/graphics/mac/SimpleFontDataMac.mm:
19876         (WebCore::SimpleFontData::platformInit):
19877         (WebCore::SimpleFontData::platformDestroy):
19878         (WebCore::SimpleFontData::getCTFont): Added.
19879         (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
19880         returns an attributes dictionary.
19881         * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
19882         * platform/text/mac/ShapeArabic.h: Ditto.
19884 2008-09-06  Dan Bernstein  <mitz@apple.com>
19886         Reviewed by Dave Hyatt.
19888         - make combining mark offsets work in CG text on Windows
19890         * platform/graphics/win/FontCGWin.cpp:
19891         (WebCore::Font::drawGlyphs): The old code tried to translate the text
19892         matrix, but failed for two reasons: it did not actually change the
19893         matrix, and even if it did, CGContextSetTextPosition overwrites the
19894         translation values in the text matrix. Instead, just added the
19895         translation to the anchor point.
19897 2008-09-05  Gustavo Noronha Silva  <gns@gnome.org>
19899         Reviewed by Alp Toker.
19901         https://bugs.webkit.org/show_bug.cgi?id=18346
19902         [GTK] Remove build warnings
19904         Applied some casts, and removed an unused typedef to make the
19905         compiler happy, printing less warnings when building.
19907         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
19908         * platform/graphics/gtk/SimpleFontDataPango.cpp:
19909         (WebCore::SimpleFontData::containsCharacters):
19910         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
19911         (webkit_video_sink_set_caps):
19912         * platform/network/soup/ResourceHandleSoup.cpp:
19914 2008-09-05  Eric Seidel  <eric@webkit.org>
19916         Reviewed by Adam Roben.
19918         Build fix for WebKitWin and Chromium
19920         * platform/FileSystem.h:
19922 2008-09-05  Eric Seidel  <eric@webkit.org>
19924         Reviewed by Darin Adler.
19926         Try to make Chromium compile with ToT:
19927         - Wrap a few places which depend on KJS:: in #if USE(JSC)
19928         - Include some windows forward declarations
19930         * dom/Node.h:
19931         * page/Console.h:
19932         * page/animation/CompositeAnimation.h:
19933         * platform/FileSystem.h:
19934         * platform/graphics/Image.h:
19935         * platform/text/AtomicString.h:
19936         * platform/text/String.cpp:
19937         * rendering/style/RenderStyle.h:
19939 2008-09-05  Dave Hyatt  <hyatt@apple.com>
19941         Add support for runtime switchability of the Aqua look and the native look on Windows.
19942         Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
19944         Reviewed by Adam Roben
19946         * WebCore.vcproj/WebCore.vcproj:
19947         * page/Settings.cpp:
19948         (WebCore::Settings::setShouldPaintNativeControls):
19949         * page/Settings.h:
19950         (WebCore::Settings::shouldPaintNativeControls):
19951         * rendering/RenderThemeSafari.cpp:
19952         (WebCore::theme):
19953         * rendering/RenderThemeWin.cpp:
19955 2008-09-05  Antti Koivisto  <antti@apple.com>
19957         Qt build fix.
19959         * svg/SVGFEImageElement.cpp:
19960         (WebCore::SVGFEImageElement::build):
19962 2008-09-05  Dirk Schulze  <vbs85@gmx.de>
19964         Gtk build fix
19966         * GNUmakefile.am:
19968 2008-09-05  Antti Koivisto  <antti@apple.com>
19970         Another build fix.
19972         * svg/SVGFEImageElement.cpp:
19973         (WebCore::SVGFEImageElement::notifyFinished):
19975 2008-09-05  Antti Koivisto  <antti@apple.com>
19977         Build fixes.
19978         
19979         * WebCore.xcodeproj/project.pbxproj:
19980         * svg/graphics/filters/SVGFEImage.cpp:
19981         (WebCore::FEImage::cachedImage):
19983 2008-09-05  Antti Koivisto  <antti@apple.com>
19985         Reviewed by Darin Adler.
19987         Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
19988         When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
19990         Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
19991         not yet enable it for the biggest use case, reloading. However it is good for general browsing as
19992         well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
19993         we avoid re-decoding resources, especially images. 
19994         
19995         To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
19996         CacheControl: max-age=0 header. That would be added in reload case.
19997         
19998         The approach for revalidation is to kick the original resource out from the memory cache
19999         and create a new CachedResource that represents the revalidation request. In case
20000         we get 304 back for the request we put the original resource back to the cache, update 
20001         its expiration date and switch the clients registered to revalidation resource to be
20002         clients of the original resource.
20003         
20004         All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
20005         This allows updating the handles to point to the original resource when the revalidation succeeds. It
20006         also acts as refcounting smart pointer.
20008         * WebCore.pro:
20009         * WebCore.vcproj/WebCore.vcproj:
20010         * WebCore.xcodeproj/project.pbxproj:
20011         * css/CSSFontFaceSource.h:
20012         * css/CSSImportRule.h:
20013         * dom/Clipboard.h:
20014         (WebCore::Clipboard::dragImage):
20015         * dom/ProcessingInstruction.h:
20016         * dom/ScriptElement.h:
20017         * dom/XMLTokenizer.cpp:
20018         (WebCore::XMLTokenizer::isWaitingForScripts):
20019         * dom/XMLTokenizer.h:
20020         * html/HTMLImageLoader.cpp:
20021         (WebCore::HTMLImageLoader::setImage):
20022         (WebCore::HTMLImageLoader::updateFromElement):
20023         (WebCore::HTMLImageLoader::notifyFinished):
20024         * html/HTMLImageLoader.h:
20025         (WebCore::HTMLImageLoader::image):
20026         * html/HTMLLinkElement.h:
20027         * html/HTMLTokenizer.cpp:
20028         (WebCore::HTMLTokenizer::reset):
20029         (WebCore::HTMLTokenizer::scriptHandler):
20030         (WebCore::HTMLTokenizer::notifyFinished):
20031         * html/HTMLTokenizer.h:
20032         * loader/Cache.cpp:
20033         (WebCore::Cache::revalidateResource):
20034         (WebCore::Cache::revalidationSucceeded):
20035         (WebCore::Cache::revalidationFailed):
20036         * loader/Cache.h:
20037         * loader/CachedResource.cpp:
20038         (WebCore::CachedResource::CachedResource):
20039         (WebCore::CachedResource::~CachedResource):
20040         (WebCore::CachedResource::isExpired):
20041         (WebCore::CachedResource::setResponse):
20042         (WebCore::CachedResource::deleteIfPossible):
20043         (WebCore::CachedResource::setResourceToRevalidate):
20044         (WebCore::CachedResource::clearResourceToRevalidate):
20045         (WebCore::CachedResource::switchClientsToRevalidatedResource):
20046         (WebCore::CachedResource::canUseCacheValidator):
20047         (WebCore::CachedResource::mustRevalidate):
20048         * loader/CachedResource.h:
20049         (WebCore::CachedResource::canDelete):
20050         (WebCore::CachedResource::registerHandle):
20051         (WebCore::CachedResource::unregisterHandle):
20052         (WebCore::CachedResource::isCacheValidator):
20053         (WebCore::CachedResource::resourceToRevalidate):
20054         (WebCore::CachedResource::setExpirationDate):
20055         * loader/CachedResourceHandle.cpp: Added.
20056         (WebCore::CachedResourceHandleBase::setResource):
20057         * loader/CachedResourceHandle.h: Added.
20058         (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
20059         (WebCore::CachedResourceHandleBase::get):
20060         (WebCore::CachedResourceHandleBase::operator!):
20061         (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
20062         (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
20063         (WebCore::CachedResourceHandleBase::operator=):
20064         (WebCore::CachedResourceHandle::CachedResourceHandle):
20065         (WebCore::CachedResourceHandle::get):
20066         (WebCore::CachedResourceHandle::operator->):
20067         (WebCore::CachedResourceHandle::operator=):
20068         (WebCore::CachedResourceHandle::operator==):
20069         (WebCore::CachedResourceHandle::operator!=):
20070         (WebCore::operator==):
20071         (WebCore::operator!=):
20072         * loader/DocLoader.cpp:
20073         (WebCore::DocLoader::checkForReload):
20074         * loader/UserStyleSheetLoader.h:
20075         * loader/loader.cpp:
20076         (WebCore::Loader::Host::servePendingRequests):
20077         (WebCore::Loader::Host::didFinishLoading):
20078         (WebCore::Loader::Host::didFail):
20079         (WebCore::Loader::Host::didReceiveResponse):
20080         (WebCore::Loader::Host::didReceiveData):
20081         * page/EventHandler.cpp:
20082         (WebCore::EventHandler::selectCursor):
20083         * rendering/RenderImage.cpp:
20084         (WebCore::RenderImage::setCachedImage):
20085         (WebCore::RenderImage::imageChanged):
20086         * rendering/RenderImage.h:
20087         (WebCore::RenderImage::cachedImage):
20088         (WebCore::RenderImage::imagePtr):
20089         * rendering/style/RenderStyle.h:
20090         * rendering/style/StyleCachedImage.h:
20091         (WebCore::StyleCachedImage::data):
20092         (WebCore::StyleCachedImage::cachedImage):
20093         * svg/SVGFEImageElement.h:
20094         * svg/graphics/filters/SVGFEImage.h:
20095         * xml/XSLImportRule.h:
20097 2008-09-04  Brady Eidson  <beidson@apple.com>
20099         Reviewed by Mitz
20101         <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
20103         A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt 
20104         to model default NSURLRequest behavior in a cross-platform manner.  
20106         Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit 
20107         client that wished to enforce a much larger default timeout using NSURLRequest API.
20109         Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
20110         behavior on the web and this restores previous Safari/WebKit behavior.
20112         It would be easy to write a layout test for this, but to be effective it would have
20113         to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
20115         * manual-tests/timeout-test.html: Added.
20116         * manual-tests/timeout-test.php: Added.
20118         * platform/network/ResourceRequestBase.h:
20119         (WebCore::ResourceRequestBase::ResourceRequestBase):  Rename the constant to "unspecifiedTimeoutInterval"
20120           and make it UINT_MAX so platforms that do set it have an effective "no timeout."  (Windows, for example)
20121         * platform/network/mac/ResourceRequestMac.mm:
20122         (WebCore::ResourceRequest::doUpdatePlatformRequest):  If the timeout for this request is 
20123           "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
20124           WebKit applications to enforce their own default timeout.
20126 2008-09-04  Dan Bernstein  <mitz@apple.com>
20128         Reviewed by Beth Dakin.
20130         - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
20132         Test: fast/repaint/button-spurious-layout-hint.html
20134         * rendering/RenderButton.cpp:
20135         (WebCore::RenderButton::setStyle): Reset the inner block's style box
20136         flex to 0 to avoid getting a spurious layout hint. 
20138 2008-09-04  Kevin Ollivier  <kevino@theolliviers.com>
20140         wx build fixes.
20142         * WebCoreSources.bkl:
20143         * bindings/js/ScriptControllerWx.cpp: Added.
20144         (WebCore::ScriptController::createScriptInstanceForWidget):
20145         * page/wx/AccessibilityObjectWx.cpp: Added.
20146         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
20147         * platform/graphics/wx/GraphicsContextWx.cpp:
20148         * webcore-base.bkl:
20149         * webcore-wx.bkl:
20151 2008-09-04  Dan Bernstein  <mitz@apple.com>
20153         Reviewed by Mark Rowe.
20155         - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
20156           and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
20157           require a different approach
20159         * css/CSSGrammar.y:
20161 2008-09-04  Mark Rowe  <mrowe@apple.com>
20163         Reviewed by Eric Seidel.
20165         Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
20166         Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
20168         * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
20169         * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
20170         for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
20172 2008-09-04  Mark Rowe  <mrowe@apple.com>
20174         Mac build fix.
20176         * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
20178 2008-09-04  Eric Seidel  <eric@webkit.org>
20180         Build fix only, no review.
20182         * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
20184 2008-09-04  Marco Barisione  <marco.barisione@collabora.co.uk>
20186         Reviewed by Eric Seidel.
20188         http://bugs.webkit.org/show_bug.cgi?id=20380
20189         [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
20191         * config.h: Include the configuration header generated by autotools if
20192         available.
20194 2008-09-04  Dan Bernstein  <mitz@apple.com>
20196         Rubber-stamped by Dave Hyatt.
20198         - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
20200         * loader/CachedFont.cpp:
20201         (WebCore::CachedFont::allClientsRemoved):
20202         * loader/CachedFont.h:
20203         * loader/CachedImage.cpp:
20204         (WebCore::CachedImage::allClientsRemoved):
20205         * loader/CachedImage.h:
20206         * loader/CachedResource.cpp:
20207         (WebCore::CachedResource::removeClient):
20208         * loader/CachedResource.h:
20209         (WebCore::CachedResource::allClientsRemoved):
20211 2008-09-04  Adam Roben  <aroben@apple.com>
20213         Windows build fix after r36071
20215         We were getting these errors:
20217         error C2356: initialization segment must not change during translation
20218         unit
20220         This was happening because multiple files #included by
20221         DerivedSources.cpp were themselves #including StaticConstructors.h. I
20222         fixed the error by adding header guards to StaticConstructors.h so its
20223         contents will only be included once.
20225         But it's also not a good idea for StaticConstructors.h to end up in
20226         DerivedSources.cpp, since it ends up "polluting" all the source files
20227         we have in there. So I removed all the files that include
20228         StaticConstructors.h and added some preprocessor directives to
20229         DerivedSources.cpp to catch this error in the future.
20231         * DerivedSources.cpp: Removed the *Names.cpp files, which include
20232         StaticConstructors.h, and added some preprocessor directives to make
20233         sure we don't end up accidentally including StaticConstructors.h in
20234         the future.
20235         * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
20236         * platform/StaticConstructors.h: Added header guards.
20238 2008-09-04  Adam Roben  <aroben@apple.com>
20240         Windows build fix
20242         * platform/graphics/win/FontPlatformData.h: Added a missing #include
20243         of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
20244         * platform/text/PlatformString.h: Added a missing #include of
20245         PassRefPtr.h.
20247 2008-09-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
20249         Reviewed by Simon.
20251         Fix the QtWebKit build to match changes in r36016
20253         * WebCore.pro:
20254         * bridge/qt/qt_instance.cpp:
20255         (KJS::Bindings::QtInstance::getRuntimeObject):
20256         * bridge/qt/qt_runtime.cpp:
20257         (KJS::Bindings::convertQVariantToValue):
20258         (KJS::Bindings::QtConnectionObject::execute):
20260 2008-09-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
20262         Reviewed by Simon.
20264         Re-enable support for user stylesheets in QtWebKit
20265         
20266         QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
20267         code path, which allows us to keep API support for
20268         loading user style sheets from remote URLs.
20269         
20270         As part of the change UserStyleSheetLoader.cpp/h was
20271         moved from WebCore/loader/mac to WebCore/loader.
20273         * WebCore.pro:
20274         * WebCore.xcodeproj/project.pbxproj:
20275         * dom/Document.h:
20276         * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
20277         (UserStyleSheetLoader::UserStyleSheetLoader):
20278         (UserStyleSheetLoader::~UserStyleSheetLoader):
20279         * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
20280         * page/qt/FrameQt.cpp:
20281         (WebCore::Frame::setUserStyleSheetLocation):
20282         (WebCore::Frame::setUserStyleSheet):
20284 2008-09-04  Alp Toker  <alp@nuanti.com>
20286         Reviewed by Eric.
20288         Remove left-over QT and CAIRO platform checks.
20290         * html/CanvasRenderingContext2D.cpp:
20292 2008-09-04  Eric Seidel  <eric@webkit.org>
20294         Reviewed by Mark Rowe.
20296         Fix leak of TextMetrics due to over-ref as see on buildbot.
20298         * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
20300 2008-09-04  Dan Bernstein  <mitz@apple.com>
20302         Reviewed by Dave Hyatt.
20304         - fix https://bugs.webkit.org/show_bug.cgi?id=19717
20305           <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
20307         * rendering/RenderBlock.cpp:
20308         (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
20309         positioned movement only case, call
20310         tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
20311         layout if that fails.
20312         (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
20313         * rendering/RenderBox.h:
20314         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
20315         layoutDoingPositionedMovementOnly to this, and made this function
20316         check if the width changed. If it did, return, leaving the object
20317         dirty. The caller can then call layout(). The width can change even
20318         in the "positioned movement only" case if the object is shrink-to-fit
20319         and the available width constraint is met. (This was the case in the
20320         bug).
20321         * rendering/RenderObject.h:
20322         (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
20323         Renamed layoutDoingPositionedMovementOnly() to this.
20325 2008-09-03  Eric Seidel  <eric@webkit.org>
20327         No review, build fix only.
20329         Attempt to fix the Qt build.
20331         * WebCore.pro: add page/animation to include path
20333 2008-09-03  Mark Rowe  <mrowe@apple.com>
20335         Mac build fix.  Correctly detect whether dashboard support is enabled.
20337         * DerivedSources.make:
20339 2008-09-03  Eric Seidel  <eric@webkit.org>
20341         Reviewed by Sam.
20343         Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
20345         * Configurations/WebCore.xcconfig: add missing ENABLE_*
20346         * config.h: add rules for V8_BINDINGS
20348 2008-09-03  Eric Seidel  <eric@webkit.org>
20350         Reviewed by Sam.
20352         https://bugs.webkit.org/show_bug.cgi?id=20620
20354         Add #if USE(JSC) around KJS dependencies
20355         Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
20356         1. Most platforms have it on anyway
20357         2. V8 is going to want to share some of that code
20358         3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
20360         * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
20361         * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
20362         * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20363         * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20364         * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20365         * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20366         * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20367         * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20368         * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
20369         * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
20370         * platform/text/AtomicString.cpp: add USE(JSC)
20371         * platform/text/AtomicString.h: add USE(JSC)
20372         * platform/text/PlatformString.h: add USE(JSC)
20373         * platform/text/String.cpp: add USE(JSC)
20374         * platform/text/StringImpl.cpp: add USE(JSC)
20375         * platform/text/StringImpl.h: add USE(JSC)
20377 2008-09-03  Dean McNamee  <deanm@chromium.org>
20379         Reviewed by Darin Adler.
20381         Fix https://bugs.webkit.org/show_bug.cgi?id=20511
20382         Bug 20511: Remove static initializers on Windows
20384         Avoid static initializers on Windows by forcing Visual C++ to put
20385         all static initializers in a code segment that is never executed.
20387         * config.h:
20388         * css/MediaFeatureNames.cpp:
20389         * dom/EventNames.cpp:
20390         * dom/QualifiedName.cpp:
20391         * dom/make_names.pl:
20392         * platform/StaticConstructors.h:
20393         * platform/text/AtomicString.cpp:
20395 2008-09-03  Dirk Schulze  <vbs85@gmx.de>
20397         Reviewed by Dave Hyatt.
20399         Make FontCairo draw TextStroke and TextFill separately.
20401         [CAIRO] draw TextFill and TextStroke separately.
20402         [https://bugs.webkit.org/show_bug.cgi?id=20631]
20404         * platform/graphics/cairo/FontCairo.cpp:
20405         (WebCore::Font::drawGlyphs):
20407 2008-09-03  Peter Kasting  <pkasting@google.com>
20409         Reviewed by Dave Hyatt.
20411         https://bugs.webkit.org/show_bug.cgi?id=19663
20412         Account for paint and timer lag when animating images.  Also pretend
20413         that images whose animations were paused (by becoming invisible)
20414         continued to animate, by "catching up" to the correct frame when they're
20415         shown again.
20417         * platform/graphics/BitmapImage.cpp:
20418         (WebCore::BitmapImage::BitmapImage):
20419         (WebCore::BitmapImage::startAnimation):
20420         (WebCore::BitmapImage::advanceAnimation):
20421         (WebCore::BitmapImage::internalAdvanceAnimation):
20422         (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
20423         * platform/graphics/BitmapImage.h:
20424         * platform/graphics/cairo/ImageCairo.cpp:
20425         (WebCore::BitmapImage::draw):
20426         * platform/graphics/cg/ImageCG.cpp:
20427         (WebCore::BitmapImage::draw):
20428         * platform/graphics/qt/ImageQt.cpp:
20429         (WebCore::BitmapImage::draw):
20430         * platform/graphics/wx/ImageWx.cpp:
20431         (WebCore::BitmapImage::draw):
20433 2008-09-03  Kevin McCullough  <kmccullough@apple.com>
20435         Reviewed by Tim.
20437         Remove the rest of the "zombie" code from the profiler.
20438         - There is no longer a need for the ProfilerClient callback mechanism.
20440         * page/Console.cpp: 
20441         (WebCore::Console::Console):
20442         (WebCore::Console::profile):
20443         (WebCore::Console::profileEnd): Move the variables from the header to
20444         here since we don't have to wait for a callback to use them.
20445         * page/Console.h:
20446         * page/InspectorController.cpp:
20447         (WebCore::InspectorController::startUserInitiatedProfiling):
20448         (WebCore::InspectorController::stopUserInitiatedProfiling):
20449         * page/InspectorController.h:
20451 2008-09-03  Ada Chan  <adachan@apple.com>
20453         Windows build fix.
20455         * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
20457 2008-09-01  Dean Jackson  <dino@apple.com>
20459         Reviewed by Dave Hyatt.
20461         https://bugs.webkit.org/show_bug.cgi?id=20594
20462         Add DOM interfaces for WebKitCSSKeyframeRule
20463         and WebKitCSSKeyframesRule.
20465         TEST: LayoutTests/css3/keyframes-rule.html
20467         * css/WebKitCSSKeyframeRule.idl: Added
20468         * css/WebKitCSSKeyframesRule.idl: Added
20470         * bindings/js/JSCSSRuleCustom.cpp:
20471         (WebCore::toJS):
20472             Add return of new JS Keyframe rules
20473         * bindings/objc/DOMInternal.h:
20474             Include new internal header
20476         * DerivedSources.make:
20477         * GNUmakefile.am:
20478         * WebCore.pro:
20479         * WebCore.vcproj/WebCore.vcproj:
20480         * WebCore.xcodeproj/project.pbxproj:
20481         * WebCoreSources.bkl:
20482             Build configs for new files
20484 2008-09-03  Adam Roben  <aroben@apple.com>
20486         Windows build fix
20488         * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
20489         * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
20490         convenience/consistency.
20492 2008-09-03  Adele Peterson  <adele@apple.com>
20494         Build fix.
20496         * WebCore.vcproj/WebCore.vcproj:
20498 2008-09-03  David Hyatt  <hyatt@apple.com>
20500         Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
20502         Reviewed by Darin (ages ago)
20504         Added fast/block/float/clamped-right-float.html
20506         * rendering/RenderBlock.cpp:
20507         (WebCore::RenderBlock::positionNewFloats):
20509 2008-09-02  David Hyatt  <hyatt@apple.com>
20511         Add support for canvas text drawing APIs.
20513         Reviewed by olliej
20515         Tests added as fast/canvas/canvas-text-*.html
20517         * DerivedSources.make:
20518         * WebCore.xcodeproj/project.pbxproj:
20519         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
20520         (WebCore::JSCanvasRenderingContext2D::fillText):
20521         (WebCore::JSCanvasRenderingContext2D::strokeText):
20522         * css/CSSStyleSelector.cpp:
20523         (WebCore::CSSStyleSelector::initForStyleResolve):
20524         (WebCore::CSSStyleSelector::applyPropertyToStyle):
20525         * css/CSSStyleSelector.h:
20526         * html/CanvasRenderingContext2D.cpp:
20527         (WebCore::CanvasRenderingContext2D::State::State):
20528         (WebCore::CanvasRenderingContext2D::font):
20529         (WebCore::CanvasRenderingContext2D::setFont):
20530         (WebCore::CanvasRenderingContext2D::textAlign):
20531         (WebCore::CanvasRenderingContext2D::setTextAlign):
20532         (WebCore::CanvasRenderingContext2D::textBaseline):
20533         (WebCore::CanvasRenderingContext2D::setTextBaseline):
20534         (WebCore::CanvasRenderingContext2D::fillText):
20535         (WebCore::CanvasRenderingContext2D::strokeText):
20536         (WebCore::CanvasRenderingContext2D::measureText):
20537         (WebCore::CanvasRenderingContext2D::drawTextInternal):
20538         (WebCore::CanvasRenderingContext2D::accessFont):
20539         * html/CanvasRenderingContext2D.h:
20540         * html/CanvasRenderingContext2D.idl:
20541         * html/TextMetrics.h: Added.
20542         (WebCore::TextMetrics::create):
20543         (WebCore::TextMetrics::width):
20544         (WebCore::TextMetrics::setWidth):
20545         (WebCore::TextMetrics::TextMetrics):
20546         * html/TextMetrics.idl: Added.
20547         * platform/graphics/Font.cpp:
20548         (WebCore::Font::lineGap):
20549         * platform/graphics/Font.h:
20550         * platform/graphics/GraphicsContext.cpp:
20551         (WebCore::GraphicsContext::drawBidiText):
20552         * platform/graphics/GraphicsContext.h:
20553         * platform/graphics/GraphicsTypes.cpp:
20554         (WebCore::textAlignName):
20555         (WebCore::parseTextAlign):
20556         (WebCore::textBaselineName):
20557         (WebCore::parseTextBaseline):
20558         * platform/graphics/GraphicsTypes.h:
20559         (WebCore::):
20561 2008-09-03  John Sullivan  <sullivan@apple.com>
20563         Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
20565         Fixed by Darin, reviewed by me
20567         * page/animation/AnimationBase.cpp:
20568         (WebCore::AnimationBase::propertiesEqual):
20569         added ensurePropertyMap() to this static function
20570         (WebCore::AnimationBase::getPropertyAtIndex):
20571         ditto
20572         (WebCore::AnimationBase::getNumProperties):
20573         ditto
20575 2008-09-03  Kevin McCullough  <kmccullough@apple.com>
20577         Reviewed by Darin and Tim.
20579         Remove most of the "zombie" mode from the profiler.  Next we will need
20580         to remove the client callback mechanism in profiles.
20581         - These changes are a result of changes to JSCore.
20583         * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
20584         * page/Console.cpp:
20585         (WebCore::retrieveLastCaller):
20586         (WebCore::Console::profileEnd):
20587         * page/InspectorController.cpp:
20588         (WebCore::InspectorController::stopUserInitiatedProfiling):
20590 2008-09-03  Adele Peterson  <adele@apple.com>
20592         Reviewed by Darin Adler.
20594         Test: fast/forms/search-display-none-cancel-button.html
20596         Allow display:none to work on a search field's cancel button.  Prepare for adding more style-ability for the results button too.
20598         * css/html4.css: Set display:inline-block for these buttons.  Now they can be overridden by a web author.
20600         * rendering/RenderTextControl.cpp:
20601         (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
20602         (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly.  This is now done in html4.css.
20603         (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
20604         (WebCore::RenderTextControl::createSubtreeIfNeeded):
20605         Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
20606         (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
20607         (WebCore::RenderTextControl::subtreeHasChanged): ditto.
20608         (WebCore::RenderTextControl::calcHeight): ditto.
20609         (WebCore::RenderTextControl::nodeAtPoint): ditto.
20610         (WebCore::RenderTextControl::layout): ditto.
20611         (WebCore::RenderTextControl::calcPrefWidths): ditto.
20612         (WebCore::RenderTextControl::clientPaddingLeft): ditto.
20613         (WebCore::RenderTextControl::clientPaddingRight): ditto.
20615         * rendering/TextControlInnerElements.cpp:
20616         (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
20617         (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
20618         (WebCore::TextControlInnerElement::attachInnerElement): Added.
20619          This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
20620         (WebCore::TextControlInnerTextElement::createRenderer): Added.  Creates a RenderTextControlInnerBlock.
20621         * rendering/TextControlInnerElements.h:
20623 2008-08-28  Alexey Proskuryakov  <ap@webkit.org>
20625         Reviewed by Maciej.
20627         Elminate SQLiteAuthorizer class.
20629         * WebCore.xcodeproj/project.pbxproj:
20630         * WebCore.vcproj/WebCore.vcproj:
20631         * GNUmakefile.am
20632         Removed SQLiteAuthorizer.h.
20634         * platform/sql/SQLiteAuthorizer.cpp:
20635         * platform/sql/SQLiteAuthorizer.h: Removed.
20636         * platform/sql/SQLiteDatabase.cpp:
20637         (WebCore::SQLiteDatabase::authorizerFunction):
20638         (WebCore::SQLiteDatabase::setAuthorizer):
20639         * platform/sql/SQLiteDatabase.h:
20640         * storage/DatabaseAuthorizer.h:
20641         (WebCore::DatabaseAuthorizer::create):
20642         (WebCore::DatabaseAuthorizer::createView):
20643         (WebCore::DatabaseAuthorizer::createTempView):
20644         (WebCore::DatabaseAuthorizer::dropView):
20645         (WebCore::DatabaseAuthorizer::dropTempView):
20646         (WebCore::DatabaseAuthorizer::allowSelect):
20647         (WebCore::DatabaseAuthorizer::allowReindex):
20648         Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
20650 2008-09-03  Dirk Schulze  <vbs85@gmx.de>
20652         Reviewed by Mark Rowe.
20654         WebKitGtk build fix.
20656         * GNUmakefile.am:
20657         * page/animation/AnimationController.h:
20659 2008-09-02  Robert Blaut  <webkit@blaut.biz>
20661         Reviewed by Geoff Garen.
20663         Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
20664         Misplaced elements should not close DL lists.
20666         Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
20668         * html/HTMLParser.cpp:
20669         (WebCore::HTMLParser::handleError):
20671 2008-09-02  Glenn Wilson  <wilsong@gmail.com>
20673         Reviewed by Darin Adler.
20675         Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
20676         Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
20678         We would inappropriately interpret and apply an invalid CSS "color" property
20679         when the value is a predefined color preceded by a '#' symbol.  For example,
20680         style="color:#gray;" would apply the color gray when it should not.
20682         In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
20683         This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be 
20684         interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
20685         an ignorable token.
20687         To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
20688         '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
20689         CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
20691         Test: css1/color_and_background/invalid_color.html
20693         * css/CSSGrammar.y:
20695 2008-09-02  Mihnea Ovidenie  <mihnea@adobe.com>
20697         Reviewed by Darin Adler.
20699         Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
20700         Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
20702         Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
20704         Test: css3/khtml-background-size-0x0-bmp.html
20706         * rendering/RenderBox.cpp:
20707         (WebCore::RenderBox::repaintLayerRectsForImage):
20709 2008-09-02  Glenn Wilson  <wilsong@gmail.com>
20711         Reviewed by Eric Seidel.
20713         Fix https://bugs.webkit.org/show_bug.cgi?id=20397
20714         Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
20716         The function checkForOrphanedUnits() would change the length of a list whose size was
20717         was already determined before the call to checkForOrphanedUnits was made.  Later in
20718         the caller, the old size was being used for boundary management.
20720         This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
20721         calling function, before the size of the list is determined.
20723         Test: fast/css/orphaned_units_crash.html
20725         * css/CSSParser.cpp:
20726         (WebCore::CSSParser::parseValue):  Moved call to checkForOrphanedUnits() earlier in the function.
20728 2008-09-02  Dirk Schulze  <vbs85@gmx.de>
20730         Reviewed by Darin Adler.
20732         Fallback on invalid fill or stroke styles in Canvas was
20733         transparent black. Changed it to last valid style.
20735         Canvas fillStyle() and strokeStyle() needs fallback
20736         https://bugs.webkit.org/show_bug.cgi?id=20474
20738         Tests: fast/canvas/canvas-invalid-fillstyle.html
20739                fast/canvas/canvas-invalid-strokestyle.html
20741         * html/CanvasStyle.cpp:
20742         (WebCore::CanvasStyle::applyStrokeColor):
20743         (WebCore::CanvasStyle::applyFillColor):
20745 2008-09-02  Dirk Schulze  <vbs85@gmx.de>
20747         Reviewed by Darin Adler.
20749         Fix https://bugs.webkit.org/show_bug.cgi?id=20468
20750         Updated drawImage() in canvas to match the current specification.
20752         Test: fast/canvas/drawImage-with-negative-source-destination.html
20754         * html/CanvasRenderingContext2D.cpp:
20755         (WebCore::normalizeRect):
20756         (WebCore::CanvasRenderingContext2D::drawImage):
20758 2008-08-26  Mark Rowe  <mrowe@apple.com>
20760         Reviewed by Darin Adler.
20762         <rdar://problem/5768210> Switch back to the system version of SQLite
20764         Use the system version of SQLite when it is new enough to provide the functionality
20765         that WebCore requires.
20767         * Configurations/Base.xcconfig:
20768         * Configurations/DebugRelease.xcconfig:
20769         * Configurations/WebCore.xcconfig:
20771 2008-09-02  Dan Bernstein  <mitz@apple.com>
20773         - build fix
20775         * page/animation/AnimationBase.h:
20777 2008-09-02  Chris Marrin  <cmarrin@apple.com>
20779         Reviewed by Dave Hyatt.
20781         AnimationController.cpp should be split into separate files
20782         https://bugs.webkit.org/show_bug.cgi?id=20604
20783         
20784         Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
20785         recommendation of Dave Hyatt.
20787         * GNUmakefile.am:
20788         * WebCore.pro:
20789         * WebCore.vcproj/WebCore.vcproj:
20790         * WebCore.xcodeproj/project.pbxproj:
20791         * WebCoreSources.bkl:
20792             Build files.
20793         
20794         * page/AnimationController.cpp: Removed.
20795         * page/AnimationController.h: Removed.
20796         * page/animation: Added.
20797         * page/animation/AnimationBase.cpp: Added.
20798         * page/animation/AnimationBase.h: Added.
20799         * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
20800         * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
20801         * page/animation/CompositeAnimation.cpp: Added.
20802         * page/animation/CompositeAnimation.h: Added.
20803         * page/animation/ImplicitAnimation.cpp: Added.
20804         * page/animation/ImplicitAnimation.h: Added.
20805         * page/animation/KeyframeAnimation.cpp: Added.
20806         * page/animation/KeyframeAnimation.h: Added.
20808 2008-09-02  Dan Bernstein  <mitz@apple.com>
20810         - release build fix
20812         * platform/graphics/cg/GraphicsContextCG.cpp:
20813         (WebCore::calculateDrawingMode):
20815 2008-09-02  Timothy Hatcher  <timothy@apple.com>
20817         Make console functions log the correct resource URL and
20818         line number for where the call originated.
20820         https://bugs.webkit.org/show_bug.cgi?id=17234
20821         <rdar://problem/5732837>
20823         Reviewed by Kevin McCullough.
20825         Test: manual-tests/inspector/console-call-line-numbers.html
20827         * bindings/js/JSConsoleCustom.cpp:
20828         (WebCore::JSConsole::count): Call the impl.
20829         (WebCore::JSConsole::timeEnd): Ditto.
20830         * manual-tests/inspector/console-call-line-numbers.html: Added.
20831         * manual-tests/inspector/resources/script-console-calls.js: Added.
20832         * page/Console.cpp:
20833         (WebCore::retrieveLastCaller): Helper to get the URL and line.
20834         (WebCore::Console::error): Call retrieveLastCaller to get the URL and
20835         line number to pass to addMessageToConsole.
20836         (WebCore::Console::info): Ditto.
20837         (WebCore::Console::log): Ditto.
20838         (WebCore::Console::assertCondition): Ditto.
20839         (WebCore::Console::count): Ditto.
20840         (WebCore::Console::timeEnd): Ditto.
20841         (WebCore::Console::warn): Ditto.
20842         * page/Console.h:
20843         * page/Console.idl: Make count and timeEnd custom.
20845 2008-09-02  Timothy Hatcher  <timothy@apple.com>
20847         Removed IDL files from WebCore's framework resources.
20849         * WebCore.xcodeproj/project.pbxproj:
20851 2008-09-02  Dan Bernstein  <mitz@apple.com>
20853         Reviewed by Dave Hyatt.
20855         - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
20857         * html/HTMLParser.cpp:
20858         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
20859         cap on the number of consecutive identical residual style tags to
20860         reopen.
20861         (WebCore::HTMLParser::popBlock): Ditto.
20863 2008-09-02  Alexey Proskuryakov  <ap@webkit.org>
20865         Reviewed by Adam Roben.
20867         A little database quota management cleanup.
20869         * storage/OriginQuotaManager.cpp:
20870         (WebCore::OriginQuotaManager::OriginQuotaManager):
20871         (WebCore::OriginQuotaManager::lock):
20872         (WebCore::OriginQuotaManager::unlock):
20873         (WebCore::OriginQuotaManager::trackOrigin):
20874         (WebCore::OriginQuotaManager::tracksOrigin):
20875         (WebCore::OriginQuotaManager::addDatabase):
20876         (WebCore::OriginQuotaManager::removeDatabase):
20877         (WebCore::OriginQuotaManager::removeOrigin):
20878         (WebCore::OriginQuotaManager::markDatabase):
20879         (WebCore::OriginQuotaManager::diskUsage):
20880         * storage/OriginQuotaManager.h:
20881         Changed to assert that a lock is taken more directly and reliably. Removed comments about
20882         main/background threads, as this is likely to stop being true with synchronous Database calls
20883         being made on worker threads.
20885         * storage/OriginUsageRecord.cpp:
20886         (WebCore::OriginUsageRecord::OriginUsageRecord):
20887         (WebCore::OriginUsageRecord::addDatabase):
20888         (WebCore::OriginUsageRecord::removeDatabase):
20889         (WebCore::OriginUsageRecord::markDatabase):
20890         (WebCore::OriginUsageRecord::diskUsage):
20891         * storage/OriginUsageRecord.h:
20892         (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
20893         Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
20894         can be replaced with a single boolean for OriginUsageRecord.
20895         Added assertions for string parameters being unshared.
20898 2008-09-01  Adam Barth  <abarth@webkit.org>
20900         Reviewed by Sam Weinig.
20902         https://bugs.webkit.org/show_bug.cgi?id=19760
20904         Make granting LoadLocalResources conditional on a policy.
20906         * WebCore.base.exp:
20907         * dom/Document.cpp:
20908         (WebCore::Document::initSecurityContext):
20909         * loader/FrameLoader.cpp:
20910         (WebCore::FrameLoader::setLocalLoadPolicy):
20911         (WebCore::FrameLoader::restrictAccessToLocal):
20912         * loader/FrameLoader.h:
20913         (WebCore::FrameLoader::):
20914         * platform/SecurityOrigin.cpp:
20915         (WebCore::SecurityOrigin::grantLoadLocalResources):
20916         * platform/SecurityOrigin.h:
20918 2008-09-01  Dean Jackson  <dino@apple.com>
20920         Reviewed by Sam Weinig.
20922         https://bugs.webkit.org/show_bug.cgi?id=20571
20923         Make sure Window object can assign Animation/Transition event
20924         listeners via attributes.
20926         Also added a bunch of transition event tests, although
20927         only transition-end-event-window is directly relevant to this patch.
20929         (WebCore::JSDOMWindowBase::put):
20931         Tests: transitions/transition-end-event-all-properties.html
20932                transitions/transition-end-event-attributes.html
20933                transitions/transition-end-event-container.html
20934                transitions/transition-end-event-left.html
20935                transitions/transition-end-event-multiple-01.html
20936                transitions/transition-end-event-multiple-02.html
20937                transitions/transition-end-event-multiple-03.html
20938                transitions/transition-end-event-multiple-04.html
20939                transitions/transition-end-event-nested.html
20940                transitions/transition-end-event-transform.html
20941                transitions/transition-end-event-window.html
20943 2008-09-01  Dean Jackson  <dino@apple.com>
20945         Reviewed by Sam Weinig
20947         Code styling cleanup.
20949         * bindings/js/JSDOMWindowBase.cpp:
20950         (WebCore::JSDOMWindowBase::getValueProperty):
20951         (WebCore::JSDOMWindowBase::put):
20953 2008-09-01  Geoffrey Garen  <ggaren@apple.com>
20955         Reviewed by Darin Adler.
20957         First cut at inline caching for access to vanilla JavaScript properties.
20959         Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
20960         to WebCore classes, and PutPropertySlot& arguments to put functions.
20962         (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
20963         inline caching for global properties, so global assignment can be optimized.
20965         * ForwardingHeaders/kjs/StructureID.h: Added.
20966         * bindings/js/JSDOMBinding.h:
20967         (WebCore::DOMObject::DOMObject):
20968         * bindings/js/JSDOMWindowBase.cpp:
20969         (WebCore::JSDOMWindowBase::put):
20970         * bindings/js/JSDOMWindowBase.h:
20971         * bindings/js/JSDOMWindowCustom.h:
20972         (WebCore::JSDOMWindow::customPut):
20973         * bindings/js/JSDOMWindowShell.cpp:
20974         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
20975         (WebCore::JSDOMWindowShell::put):
20976         * bindings/js/JSDOMWindowShell.h:
20977         * bindings/js/JSEventTargetBase.h:
20978         (WebCore::JSEventTargetBase::put):
20979         * bindings/js/JSEventTargetNode.h:
20980         (WebCore::JSEventTargetNode::put):
20981         * bindings/js/JSHTMLAppletElementCustom.cpp:
20982         (WebCore::JSHTMLAppletElement::customPut):
20983         * bindings/js/JSHTMLEmbedElementCustom.cpp:
20984         (WebCore::JSHTMLEmbedElement::customPut):
20985         * bindings/js/JSHTMLInputElementBase.cpp:
20986         (WebCore::JSHTMLInputElementBase::put):
20987         * bindings/js/JSHTMLInputElementBase.h:
20988         * bindings/js/JSHTMLObjectElementCustom.cpp:
20989         (WebCore::JSHTMLObjectElement::customPut):
20990         * bindings/js/JSHistoryCustom.cpp:
20991         (WebCore::JSHistory::customPut):
20992         * bindings/js/JSInspectedObjectWrapper.cpp:
20993         (WebCore::JSInspectedObjectWrapper::wrap):
20994         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
20995         * bindings/js/JSInspectedObjectWrapper.h:
20996         * bindings/js/JSInspectorCallbackWrapper.cpp:
20997         (WebCore::JSInspectorCallbackWrapper::wrap):
20998         (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
20999         * bindings/js/JSInspectorCallbackWrapper.h:
21000         * bindings/js/JSLocationCustom.cpp:
21001         (WebCore::JSLocation::customPut):
21002         * bindings/js/JSPluginElementFunctions.cpp:
21003         (WebCore::runtimeObjectCustomPut):
21004         * bindings/js/JSPluginElementFunctions.h:
21005         * bindings/js/JSQuarantinedObjectWrapper.cpp:
21006         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
21007         (WebCore::JSQuarantinedObjectWrapper::put):
21008         * bindings/js/JSQuarantinedObjectWrapper.h:
21009         * bindings/js/JSStorageCustom.cpp:
21010         (WebCore::JSStorage::customPut):
21011         * bindings/objc/WebScriptObject.mm:
21012         (-[WebScriptObject setValue:forKey:]):
21013         * bindings/scripts/CodeGeneratorJS.pm:
21014         * bridge/NP_jsobject.cpp:
21015         (_NPN_SetProperty):
21016         * bridge/jni/jni_jsobject.mm:
21017         (JavaJSObject::setMember):
21018         * bridge/objc/objc_class.mm:
21019         (KJS::Bindings::ObjcClass::fallbackObject):
21020         * bridge/objc/objc_runtime.h:
21021         * bridge/objc/objc_runtime.mm:
21022         (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
21023         (ObjcFallbackObjectImp::put):
21024         * bridge/runtime.cpp:
21025         (KJS::Bindings::Instance::createRuntimeObject):
21026         * bridge/runtime_array.cpp:
21027         (RuntimeArray::put):
21028         * bridge/runtime_array.h:
21029         * bridge/runtime_object.cpp:
21030         (RuntimeObjectImp::RuntimeObjectImp):
21031         (RuntimeObjectImp::put):
21032         * bridge/runtime_object.h:
21034 2008-09-01  Dirk Schulze  <vbs85@gmx.de>
21036         Reviewed by Eric Seidel.
21038         Fixed border-radius for Cairo.
21040         * platform/graphics/cairo/GraphicsContextCairo.cpp:
21041         (WebCore::GraphicsContext::strokeArc):
21043 2008-09-01  Dirk Schulze  <vbs85@gmx.de>
21045         Reviewed by Eric Seidel.
21047         Added canvas's globalAlpha to cairo.
21049         * platform/graphics/GraphicsContext.h:
21050         * platform/graphics/cairo/GraphicsContextCairo.cpp:
21051         (WebCore::GraphicsContext::fillPath):
21052         (WebCore::GraphicsContext::strokePath):
21053         (WebCore::GraphicsContext::setAlpha):
21054         (WebCore::GraphicsContext::getAlpha):
21055         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
21056         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
21057         * platform/graphics/cairo/ImageCairo.cpp:
21058         (WebCore::BitmapImage::draw):
21060 2008-08-31  Simon Hausmann  <hausmann@webkit.org>
21062         Unreviewed Qt build fix.
21064         * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
21065         the .h file
21067 2008-08-30  Darin Adler  <darin@apple.com>
21069         Reviewed by Maciej.
21071         - adopt some new JavaScriptCore functions where appropriate
21073         * bindings/js/JSDOMWindowBase.cpp:
21074         (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
21075         (WebCore::windowProtoFuncBToA): Ditto.
21076         * bindings/js/JSEventListener.cpp:
21077         (WebCore::JSLazyEventListener::eventParameterName): Adopted
21078         jsNontrivialString.
21079         * bindings/js/JSSVGLazyEventListener.cpp:
21080         (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
21082 2008-08-29  Brady Eidson  <beidson@apple.com>
21084         Reviewed by Anders' rubberstamp
21086         Style cleanup to match MediaTokenizer::writeRawData()
21088         * loader/PluginDocument.cpp:
21089         (WebCore::PluginTokenizer::writeRawData):
21091 2008-08-29  Brady Eidson  <beidson@apple.com>
21093         Reviewed by Anders
21095         https://bugs.webkit.org/show_bug.cgi?id=20556
21096         <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
21098         Fix regression I introducted in 35946
21099         Already covered by media/video-click-dlbclick-standalone.html
21101         * loader/MediaDocument.cpp:
21102         (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
21103         (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called.  Also add
21104           an ASSERT signifying that this method should only be called once, to more closely follow the
21105           PluginDocument case.
21107 2008-08-29  Beth Dakin  <bdakin@apple.com>
21109         Reviewed by Sam Weinig.
21111         Fix for <rdar://problem/6181588>
21113         This patch makes hit testing take into account the new concept of a 
21114         disconnected frame, in which some of the content may not be 
21115         visible. The current hit testing mechanism starts at a target frame 
21116         and drills down for a HitTestResult. In some cases, drilling down 
21117         will find a non-visible result. When this happens, we need to try 
21118         again, starting at a higher level -- namely, starting at the main 
21119         frame.
21121         * editing/Editor.cpp:
21122         (WebCore::Editor::insideVisibleArea): New function that tests if a 
21123         point is inside the visible area for a disconnected frame.
21124         * editing/Editor.h:
21125         * page/EventHandler.cpp:
21126         (WebCore::EventHandler::hitTestResultAtPoint):
21128 2008-08-29  Adele Peterson  <adele@apple.com>
21130         Reviewed by Adam Roben. 
21132         Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
21134         * GNUmakefile.am:
21135         * WebCore.pro:
21136         * WebCore.vcproj/WebCore.vcproj:
21137         * WebCore.xcodeproj/project.pbxproj:
21138         * WebCoreSources.bkl:
21139         * html/HTMLTextFieldInnerElement.cpp: Removed.
21140         * html/HTMLTextFieldInnerElement.h: Removed.
21141         * rendering/RenderTextControl.cpp:
21142         (WebCore::RenderTextControl::createSubtreeIfNeeded):
21143         * rendering/RenderTextControl.h:
21144         * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
21145         (WebCore::TextControlInnerElement::TextControlInnerElement):
21146         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
21147         (WebCore::TextControlInnerTextElement::defaultEventHandler):
21148         (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
21149         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
21150         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
21151         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
21152         * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
21154 2008-08-29  Eric Seidel  <eric@webkit.org>
21156         Rubber-stamped by aroben.
21158         Add GraphicsContext.h include to GraphcisContextPrivate.h
21160         GraphicsContextPrivate uses StrokeStyle which is defined
21161         in GraphicsContext.h but it doesn't include that header.
21162         CoreGraphics build doesn't fail here due to the order
21163         it happens to include files.
21165         * platform/graphics/GraphicsContextPrivate.h:
21167 2008-08-29  Eric Seidel  <eric@webkit.org>
21169         Reviewed by hyatt.
21171         Fix GeneratedImage to respect Image's refcounting
21172         Fixing potential crashers (future if not current)
21173         https://bugs.webkit.org/show_bug.cgi?id=20567
21174         
21175         I don't know if it's possible to make the current code
21176         crash, thus I've not made a test.
21178         * css/CSSGradientValue.cpp:
21179         (WebCore::CSSGradientValue::image):
21180         * css/CSSImageGeneratorValue.cpp:
21181         (WebCore::CSSImageGeneratorValue::removeClient):
21182         (WebCore::CSSImageGeneratorValue::getImage):
21183         * css/CSSImageGeneratorValue.h:
21184         * platform/graphics/GeneratedImage.h:
21185         (WebCore::GeneratedImage::GeneratedImage):
21186         * rendering/style/RenderStyle.cpp:
21187         (WebCore::RenderStyle::setContent):
21188         * rendering/style/RenderStyle.h:
21190 2008-08-29  Eric Carlson  <eric.carlson@apple.com>
21192         Reviewed by Adele.
21194         Fix for <rdar://problem/6093767>
21195         https://bugs.webkit.org/show_bug.cgi?id=20526
21197         Don't allow video to render until unsupported track types have been disabled.
21199         * platform/graphics/win/QTMovieWin.cpp:
21200         (QTMovieWinPrivate::task):
21201         (QTMovieWinPrivate::drawingComplete):
21202         (QTMovieWinPrivate::clearGWorld):
21204 2008-08-29  Eric Carlson  <eric.carlson@apple.com>
21206         Reviewed by Adele.
21208         Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
21209         <rdar://problem/6169301>
21210         
21211         Return the size of the movie data instead of 1000.
21212         
21213         Test: media/progress-event-total.html
21215         * platform/graphics/win/QTMovieWin.cpp:
21216         (QTMovieWin::dataSize):
21218 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
21220         Reviewed by Eric Seidel.
21222         [janitor/qt] Start replacing port specific getters with the generic native getter
21223         To get the native presentation of an image we currently have platform
21224         specific #ifdef's and a generic getter using NativeImagePtr. This patch
21225         extends this to the ImageBuffer and updates the Qt platform to get rid
21226         of the special #ifdefs.
21228         https://bugs.webkit.org/attachment.cgi?id=22861
21230         * platform/graphics/BitmapImage.h:
21231         * platform/graphics/Image.h:
21232         * platform/graphics/qt/ImageQt.cpp:
21233         * platform/graphics/qt/StillImageQt.cpp:
21234         * platform/graphics/qt/StillImageQt.h:
21235         * platform/qt/ClipboardQt.cpp:
21236         (WebCore::ClipboardQt::createDragImage):
21237         (WebCore::ClipboardQt::declareAndWriteDragImage):
21238         * platform/qt/CursorQt.cpp:
21239         * platform/qt/PasteboardQt.cpp:
21240         (WebCore::Pasteboard::writeImage):
21242 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
21244         Reviewed by Simon.
21246         [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
21248         * svg/graphics/qt/SVGPaintServerQt.cpp:
21249         (WebCore::SVGPaintServer::renderPath):
21250         * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
21251         (WebCore::SVGPaintServerSolid::setup):
21253 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
21255         Reviewed by Simon.
21257         [network/qt] Implement defering of loading ResourceHandle's
21258         This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
21259         implementation is simply not forwarding anything to the
21260         ResourceHandleClient until we are allowed to. This might lead to a deadlock
21261         in Qt as we do not empty the QNetworkReply input buffer and wait until we
21262         are allowed to read. If that happens we are forced to buffer the data
21263         within QNetworkReplyHandler, for now this is not done.
21265         Manual test:
21266         - Open http://acid3.acidtests.org
21267         - Wait for the test to complete
21268         - Click on the Reference Rendering link
21269         - Be fast and see the results of acid3
21270         => assert
21272         * platform/network/qt/QNetworkReplyHandler.cpp:
21273         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
21274         (WebCore::QNetworkReplyHandler::setLoadMode):
21275         (WebCore::QNetworkReplyHandler::finish):
21276         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
21277         (WebCore::QNetworkReplyHandler::forwardData):
21278         (WebCore::QNetworkReplyHandler::start):
21279         (WebCore::QNetworkReplyHandler::resetState):
21280         (WebCore::QNetworkReplyHandler::sendQueuedItems):
21281         * platform/network/qt/QNetworkReplyHandler.h:
21282         (WebCore::QNetworkReplyHandler::):
21283         * platform/network/qt/ResourceHandleQt.cpp:
21284         (WebCore::ResourceHandle::start):
21285         (WebCore::ResourceHandle::loadResourceSynchronously):
21286         (WebCore::ResourceHandle::setDefersLoading):
21288 2008-08-29  Simon Hausmann  <hausmann@webkit.org>
21290         Reviewed by Holger.
21292         Don't crash when drawing patterns with the HTML canvas. Patterns
21293         remain unimplemented but at least they don't crash anymore. This is
21294         done by changing the PlatformPatternPtr to be a brush for the Qt
21295         platform.
21297         * platform/graphics/Pattern.h:
21298         * platform/graphics/qt/GraphicsContextQt.cpp:
21299         (WebCore::GraphicsContext::fillPath):
21300         (WebCore::GraphicsContext::strokePath):
21301         (WebCore::GraphicsContext::fillRect):
21302         * platform/graphics/qt/PatternQt.cpp:
21303         (WebCore::Pattern::createPlatformPattern):
21305 2008-08-29  Simon Hausmann  <hausmann@webkit.org>
21307         Fix the Qt build, fontSelector() is not used by the Qt port yet
21308         and we just return 0 in Font::fontSelector().
21310         * platform/graphics/Font.h:
21312 2008-08-28  Alp Toker  <alp@nuanti.com>
21314         GTK+ dist/build fix. List newly added header files.
21316         * GNUmakefile.am:
21318 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
21320         Reviewed by Dave Hyatt
21322         Various WebKitCSSTransformValue-related fixes
21323         https://bugs.webkit.org/show_bug.cgi?id=20562
21325         Test: css3/transform-value-types.html
21327         * bindings/js/JSCSSValueCustom.cpp:
21328         (WebCore::toJS):
21329         * css/CSSValue.h:
21330         * css/WebKitCSSTransformValue.cpp:
21331         (WebCore::WebKitCSSTransformValue::cssText):
21332         * css/WebKitCSSTransformValue.h:
21333         (WebCore::WebKitCSSTransformValue::):
21334         * css/WebKitCSSTransformValue.idl:
21336 2008-08-28  Dan Bernstein  <mitz@apple.com>
21338         Reviewed by Steve Falkenburg.
21340         - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
21342         * platform/win/SharedTimerWin.cpp:
21343         (WebCore::TimerWindowWndProc):
21345 2008-08-28  David Hyatt  <hyatt@apple.com>
21347         RenderStyle cleanup.
21349         Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
21351         Reviewed by Adam
21353         * css/CSSImageGeneratorValue.cpp:
21354         * css/CSSImageValue.cpp:
21355         * css/CSSStyleSelector.cpp:
21356         * rendering/RenderImageGeneratedContent.cpp:
21357         * rendering/style/NinePieceImage.cpp: Added.
21358         * rendering/style/NinePieceImage.h: Added.
21359         * rendering/style/RenderStyle.cpp:
21360         (WebCore::FillLayer::operator==):
21361         (WebCore::FillLayer::containsImage):
21362         (WebCore::StyleInheritedData::operator==):
21363         (WebCore::RenderStyle::contentDataEquivalent):
21364         * rendering/style/RenderStyle.h:
21365         * rendering/style/StyleCachedImage.cpp: Added.
21366         * rendering/style/StyleCachedImage.h: Added.
21367         * rendering/style/StyleGeneratedImage.cpp: Added.
21368         * rendering/style/StyleGeneratedImage.h: Added.
21369         * rendering/style/StyleImage.h: Added.
21371 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
21373         Reviewed by Dave Hyatt
21375         Make all the 'isFoo()' methods on CSSValue const,
21376         and fix the subclasses.
21377         
21378         https://bugs.webkit.org/show_bug.cgi?id=20561
21379         
21380         * css/CSSTimingFunctionValue.h:
21381         * css/CSSValue.h:
21382         (WebCore::CSSValue::isFontValue):
21383         (WebCore::CSSValue::isImageGeneratorValue):
21384         (WebCore::CSSValue::isImageValue):
21385         (WebCore::CSSValue::isImplicitInitialValue):
21386         * css/CSSValueList.h:
21387         * css/FontValue.h:
21389 2008-08-28  David Hyatt  <hyatt@apple.com>
21391         The great RenderStyle cleanup begins!
21393         Move LengthBox and LengthSize out of RenderStyle and into Length.
21395         Reviewed by Adam
21397         * rendering/Length.h:
21398         (WebCore::):
21399         (WebCore::Length::Length):
21400         (WebCore::Length::operator==):
21401         (WebCore::Length::operator!=):
21402         (WebCore::Length::value):
21403         (WebCore::Length::rawValue):
21404         (WebCore::Length::percent):
21405         (WebCore::Length::type):
21406         (WebCore::Length::quirk):
21407         (WebCore::Length::setValue):
21408         (WebCore::Length::setRawValue):
21409         (WebCore::Length::calcValue):
21410         (WebCore::Length::calcMinValue):
21411         (WebCore::Length::calcFloatValue):
21412         (WebCore::Length::isUndefined):
21413         (WebCore::Length::isZero):
21414         (WebCore::Length::isPositive):
21415         (WebCore::Length::isNegative):
21416         (WebCore::Length::isAuto):
21417         (WebCore::Length::isRelative):
21418         (WebCore::Length::isPercent):
21419         (WebCore::Length::isFixed):
21420         (WebCore::Length::isStatic):
21421         (WebCore::Length::isIntrinsicOrAuto):
21422         (WebCore::Length::blend):
21423         (WebCore::LengthBox::LengthBox):
21424         (WebCore::LengthBox::operator=):
21425         (WebCore::LengthBox::operator==):
21426         (WebCore::LengthBox::operator!=):
21427         (WebCore::LengthBox::nonZero):
21428         (WebCore::LengthSize::LengthSize):
21429         * rendering/style/RenderStyle.h:
21431 2008-08-28  David Hyatt  <hyatt@apple.com>
21433         Reviewed by Darin
21435         https://bugs.webkit.org/show_bug.cgi?id=18091
21437         font-size should be animatable using -webkit-transition.
21439         * page/AnimationController.cpp:
21440         (WebCore::AnimationControllerPrivate::ensurePropertyMap):
21441         * rendering/style/RenderStyle.h:
21442         (WebCore::RenderStyle::setFontSize):
21444 2008-08-28  Brad Garcia  <bgarcia@google.com>
21446         Reviewed by Dan Bernstein.
21448         https://bugs.webkit.org/show_bug.cgi?id=20549
21449         Correctly determine when cursor is over a resizable border within
21450         a nested frameset.
21452         * rendering/RenderFrameSet.cpp:
21453         (WebCore::RenderFrameSet::canResizeRow):
21454         (WebCore::RenderFrameSet::canResizeColumn):
21456 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
21458         Reviewed by Eric Seidel
21460         Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
21461         https://bugs.webkit.org/show_bug.cgi?id=20552
21463         Test: animations/animation-css-rule-types.html
21465         * css/CSSRule.idl:
21467 2008-08-28  Anders Carlsson  <andersca@apple.com>
21469         Reviewed by Kevin and Darin.
21471         <rdar://problem/6182541>
21472         https://bugs.webkit.org/show_bug.cgi?id=20202
21473         Missing http status line from the http headers.
21474         
21475         Add a status line to the header string.
21476         
21477         * plugins/PluginStream.cpp:
21478         (WebCore::PluginStream::startStream):
21480 2008-08-28  Holger Hans Peter Freyther  <zecke@selfish.org>
21482         Rubber-stamped by Darin Adler.
21484         https://bugs.webkit.org/show_bug.cgi?id=17261
21486         Make it possible to theme the default Url icon and enable this for
21487         the Qt port. To have a minimal usage of #ifdef in the code the setting
21488         of the icon was moved to a new method which comes in two flavors.
21490         * loader/icon/IconDatabase.cpp:
21491         (WebCore::loadDefaultIconRecord): Load or set the default icon
21492         (WebCore::IconDatabase::defaultIcon):
21494 2008-08-28  Holger Hans Peter Freyther <zecke@selfish.org>
21496         Unreviewed compile fix
21498         * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
21500 2008-08-28  Adam Roben  <aroben@apple.com>
21502         Windows (and others?) build fix
21504         * page/Chrome.cpp: Added a missing #include.
21505         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
21507 2008-08-27  Eric Seidel  <eric@webkit.org>
21509         Reviewed by Oliver Hunt.
21511         Qt and Cairo support from krit (and blind stab @ wx compile support)
21512         https://bugs.webkit.org/show_bug.cgi?id=20373
21514         * platform/graphics/cairo/GraphicsContextCairo.cpp:
21515         (WebCore::GraphicsContext::fillPath):
21516         (WebCore::GraphicsContext::strokePath):
21517         (WebCore::GraphicsContext::drawPath):
21518         (WebCore::GraphicsContext::fillRect):
21519         (WebCore::GraphicsContext::setPlatformFillColor):
21520         (WebCore::GraphicsContext::setPlatformStrokeColor):
21521         (WebCore::GraphicsContext::setPlatformStrokeStyle):
21522         (WebCore::GraphicsContext::strokeRect):
21523         (WebCore::GraphicsContext::setImageInterpolationQuality):
21524         (WebCore::GraphicsContext::imageInterpolationQuality):
21525         (WebCore::GraphicsContext::setPlatformFillPattern):
21526         (WebCore::GraphicsContext::setPlatformStrokePattern):
21527         (WebCore::GraphicsContext::setPlatformFillGradient):
21528         (WebCore::GraphicsContext::setPlatformStrokeGradient):
21529         * platform/graphics/qt/GraphicsContextQt.cpp:
21530         (WebCore::GraphicsContext::fillPath):
21531         (WebCore::GraphicsContext::strokePath):
21532         (WebCore::GraphicsContext::fillRect):
21533         (WebCore::GraphicsContext::strokeRect):
21534         (WebCore::GraphicsContext::clipToImageBuffer):
21535         (WebCore::GraphicsContext::setPlatformFillPattern):
21536         (WebCore::GraphicsContext::setPlatformStrokePattern):
21537         (WebCore::GraphicsContext::setPlatformFillGradient):
21538         (WebCore::GraphicsContext::setPlatformStrokeGradient):
21539         (WebCore::GraphicsContext::setImageInterpolationQuality):
21540         (WebCore::GraphicsContext::imageInterpolationQuality):
21541         * platform/graphics/wx/GraphicsContextWx.cpp:
21542         (WebCore::GraphicsContext::clipToImageBuffer):
21543         (WebCore::GraphicsContext::setImageInterpolationQuality):
21544         (WebCore::GraphicsContext::imageInterpolationQuality):
21545         (WebCore::GraphicsContext::fillPath):
21546         (WebCore::GraphicsContext::strokePath):
21547         (WebCore::GraphicsContext::drawPath):
21548         (WebCore::GraphicsContext::fillRect):
21549         (WebCore::GraphicsContext::setPlatformFillPattern):
21550         (WebCore::GraphicsContext::setPlatformStrokePattern):
21551         (WebCore::GraphicsContext::setPlatformFillGradient):
21553 2008-08-27  Eric Seidel  <eric@webkit.org>
21555         Reviewed by Oliver Hunt.
21557         Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
21558         https://bugs.webkit.org/show_bug.cgi?id=20373
21560         Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
21561         
21562         Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
21563         have to store large Gradient objects in the GraphicsContextState
21564         
21565         Made Pattern RefCounted for the same reason.
21566         
21567         Many updates to GraphicsContext to support easier drawing with
21568         Patterns and Gradients.
21570         * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
21571         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
21572         (WebCore::toJS):
21573         * css/CSSGradientValue.cpp:
21574         (WebCore::CSSGradientValue::createGradient):
21575         * css/CSSGradientValue.h:
21576         * html/CanvasGradient.cpp:
21577         (WebCore::CanvasGradient::CanvasGradient):
21578         * html/CanvasGradient.h:
21579         (WebCore::CanvasGradient::gradient):
21580         (WebCore::CanvasGradient::addColorStop):
21581         (WebCore::CanvasGradient::getColor):
21582         * html/CanvasPattern.cpp:
21583         * html/CanvasPattern.h:
21584         (WebCore::CanvasPattern::pattern):
21585         (WebCore::CanvasPattern::originClean):
21586         * html/CanvasRenderingContext2D.cpp:
21587         (WebCore::CanvasRenderingContext2D::State::State):
21588         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
21589         (WebCore::CanvasRenderingContext2D::setFillStyle):
21590         (WebCore::CanvasRenderingContext2D::fill):
21591         (WebCore::CanvasRenderingContext2D::stroke):
21592         (WebCore::CanvasRenderingContext2D::fillRect):
21593         (WebCore::CanvasRenderingContext2D::strokeRect):
21594         * html/CanvasRenderingContext2D.h:
21595         * html/CanvasStyle.cpp:
21596         (WebCore::CanvasStyle::applyStrokeColor):
21597         (WebCore::CanvasStyle::applyFillColor):
21598         * html/CanvasStyle.h:
21599         * platform/graphics/GeneratedImage.h:
21600         (WebCore::GeneratedImage::GeneratedImage):
21601         * platform/graphics/Generator.h:
21602         * platform/graphics/Gradient.h:
21603         (WebCore::Gradient::create):
21604         * platform/graphics/GraphicsContext.cpp:
21605         (WebCore::GraphicsContext::fillRule):
21606         (WebCore::GraphicsContext::setFillRule):
21607         (WebCore::GraphicsContext::setStrokePattern):
21608         (WebCore::GraphicsContext::setFillPattern):
21609         (WebCore::GraphicsContext::setStrokeGradient):
21610         (WebCore::GraphicsContext::setFillGradient):
21611         * platform/graphics/GraphicsContext.h:
21612         * platform/graphics/GraphicsContextPrivate.h:
21613         (WebCore::):
21614         (WebCore::GraphicsContextState::GraphicsContextState):
21615         * platform/graphics/GraphicsTypes.h:
21616         * platform/graphics/Path.h:
21617         * platform/graphics/Pattern.h:
21618         (WebCore::Pattern::create):
21619         (WebCore::Pattern::tileImage):
21620         * platform/graphics/cg/GraphicsContextCG.cpp:
21621         (WebCore::GraphicsContext::drawRect):
21622         (WebCore::GraphicsContext::drawEllipse):
21623         (WebCore::GraphicsContext::drawConvexPolygon):
21624         (WebCore::calculateDrawingMode):
21625         (WebCore::GraphicsContext::drawPath):
21626         (WebCore::fillPathWithFillRule):
21627         (WebCore::GraphicsContext::fillPath):
21628         (WebCore::GraphicsContext::strokePath):
21629         (WebCore::GraphicsContext::fillRect):
21630         (WebCore::GraphicsContext::fillRoundedRect):
21631         (WebCore::GraphicsContext::setPlatformStrokePattern):
21632         (WebCore::GraphicsContext::setPlatformFillPattern):
21633         (WebCore::GraphicsContext::setPlatformStrokeGradient):
21634         (WebCore::GraphicsContext::setPlatformFillGradient):
21636 2008-08-20  Eric Seidel  <eric@webkit.org>
21638         Reviewed by Darin and Alexey.
21640         Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
21641         with timeouts paused.
21642         https://bugs.webkit.org/show_bug.cgi?id=20469
21643         
21644         I attempted to clean up the memory management of PausedTimeouts, I'm not
21645         sure the solution I came up with is "cleaner", but it's in some ways
21646         "safer", since it no longer uses raw pointers and manual new/delete.
21647         
21648         This also now prevents CachedPage from needlessly creating Window
21649         objects when caching pages which didn't already have one. :)
21650         
21651         I also made Chrome.cpp no longer depend on the JavaScript bindings
21652         (aka JSDOMWindowBase.h), since there was no real reason for it to.
21654         * bindings/js/JSDOMWindowBase.cpp:
21655         (WebCore::JSDOMWindowBase::pauseTimeouts):
21656         (WebCore::JSDOMWindowBase::resumeTimeouts):
21657         * bindings/js/JSDOMWindowBase.h:
21658         * bindings/js/ScriptController.cpp:
21659         (WebCore::ScriptController::pauseTimeouts):
21660         (WebCore::ScriptController::resumeTimeouts):
21661         * bindings/js/ScriptController.h:
21662         * history/CachedPage.cpp:
21663         (WebCore::CachedPage::CachedPage):
21664         (WebCore::CachedPage::restore):
21665         * page/Chrome.cpp:
21666         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
21667         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
21668         * page/JavaScriptDebugServer.cpp:
21669         (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
21670         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
21672 2008-08-27  Holger Hans Peter Freyther <zecke@selfish.org>
21674         Unreviewed compile fix
21676         Add the stub for the Qt port.
21678         * WebCore.pro:
21679         * page/qt/AccessibilityObjectQt.cpp: Added.
21680         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21682 2008-08-27  Alp Toker  <alp@nuanti.com>
21684         Reviewed by Eric.
21686         https://bugs.webkit.org/show_bug.cgi?id=20551
21687         [GTK] search popup crash
21689         * platform/gtk/SearchPopupMenuGtk.cpp:
21690         (WebCore::SearchPopupMenu::enabled):
21691         Fix a search popup crasher by disabling the history popup since we
21692         don't support this feature yet in the GTK+ port.
21694 2008-08-27  Alp Toker  <alp@nuanti.com>
21696         Reviewed by Eric.
21698         https://bugs.webkit.org/show_bug.cgi?id=20551
21699         [GTK] curl crashers
21701         * platform/network/curl/ResourceHandleManager.cpp:
21702         (WebCore::ResourceHandleManager::startScheduledJobs):
21703         Remove the resource handle from the pending list before starting the
21704         job, not afterwards. Fixes crashers in the test suite.
21706         Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
21707         Test: fast/encoding/char-encoding.html
21709 2008-08-27  Dirk Schulze  <vbs85@gmx.de>
21711         Reviewed by eseidel.
21713         Fix canvas drawImage to support composite operations.
21714         Composite had no effect on canvas elements like these:
21715         http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
21717         [CAIRO] Canvas composite don't work on canvas-elements.
21718         https://bugs.webkit.org/show_bug.cgi?id=20548
21720         * html/CanvasRenderingContext2D.cpp:
21721         (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
21723 2008-08-27  Mario Bensi  <mbensi@pleyo.com>
21725         Reviewed by Eric Seidel.
21726         
21727         Fix the data content of an image with a base64.
21729         * platform/network/curl/ResourceHandleManager.cpp:
21730         (WebCore::parseDataUrl): Remove the String and use only the data
21731         Vector because the data.latin1().data() convert the data content and
21732         the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
21733         not drawn correctly.
21735 2008-08-27  Antti Koivisto  <antti@apple.com>
21737         Reviewed by Eric Seidel.
21739         Crash after OK in dialog box and reloading page in secure mode
21740         https://bugs.webkit.org/show_bug.cgi?id=20493
21741         
21742         The new run loop spawned by a modal dialog causes a timer in the loader to run 
21743         synchronously inside didFinishLoading() deleting "this" object.
21744         
21745         Defer all WebCore timers when a modal dialog is up. They are not
21746         safe to execute.
21748         * page/Chrome.cpp:
21749         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
21750         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
21752 2008-08-27  Chris Marrin  <cmarrin@apple.com>
21754         Reviewed by Dave Hyatt
21756         Memory leaks when animating transforms
21757         https://bugs.webkit.org/show_bug.cgi?id=20532
21759         * rendering/style/RenderStyle.cpp:
21760         (WebCore::ScaleTransformOperation::blend):
21761         (WebCore::RotateTransformOperation::blend):
21762         (WebCore::SkewTransformOperation::blend):
21763         (WebCore::TranslateTransformOperation::blend):
21764         (WebCore::MatrixTransformOperation::blend):
21765         * rendering/style/RenderStyle.h:
21767 2008-08-27  Timothy Hatcher  <timothy@apple.com>
21769         Add support for support for -webkit-appearance: default-button on the Mac platform.
21771         <rdar://problem/6173530>
21773         Reviewed by Dave Hyatt.
21775         * WebCore.base.exp: Export new symbols.
21776         * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
21777         * platform/mac/WebCoreSystemInterface.mm: Ditto.
21778         * rendering/RenderButton.cpp:
21779         (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
21780         (WebCore::RenderButton::setStyle): Ditto.
21781         * rendering/RenderButton.h: Ditto.
21782         * rendering/RenderThemeMac.mm:
21783         (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
21784         (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
21785         key if the button is default, otherwise reset the key equivalent.
21786         (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
21787         on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
21788         the window's previous default button cell when finished.
21790 2008-08-26  David Hyatt  <hyatt@apple.com>
21792         First cut at making form controls on OS X respect full page zoom.  There are lots of bugs.
21794         Reviewed by weinig
21796         Added fast/forms/zoomed-controls.html
21798         * css/CSSStyleSelector.cpp:
21799         (WebCore::addIntrinsicMargins):
21800         * rendering/RenderSlider.cpp:
21801         (WebCore::RenderSlider::calcPrefWidths):
21802         * rendering/RenderThemeMac.h:
21803         * rendering/RenderThemeMac.mm:
21804         (WebCore::RenderThemeMac::adjustRepaintRect):
21805         (WebCore::RenderThemeMac::inflateRect):
21806         (WebCore::RenderThemeMac::baselinePosition):
21807         (WebCore::RenderThemeMac::setControlSize):
21808         (WebCore::RenderThemeMac::sizeForFont):
21809         (WebCore::RenderThemeMac::sizeForSystemFont):
21810         (WebCore::RenderThemeMac::setFontFromControlSize):
21811         (WebCore::RenderThemeMac::paintCheckbox):
21812         (WebCore::RenderThemeMac::setCheckboxCellState):
21813         (WebCore::RenderThemeMac::paintRadio):
21814         (WebCore::RenderThemeMac::setRadioCellState):
21815         (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
21816         (WebCore::RenderThemeMac::adjustButtonStyle):
21817         (WebCore::RenderThemeMac::setButtonCellState):
21818         (WebCore::RenderThemeMac::paintButton):
21819         (WebCore::RenderThemeMac::paintMenuList):
21820         (WebCore::RenderThemeMac::paintMenuListButton):
21821         (WebCore::RenderThemeMac::popupInternalPaddingLeft):
21822         (WebCore::RenderThemeMac::popupInternalPaddingRight):
21823         (WebCore::RenderThemeMac::popupInternalPaddingTop):
21824         (WebCore::RenderThemeMac::popupInternalPaddingBottom):
21825         (WebCore::RenderThemeMac::setPopupButtonCellState):
21826         (WebCore::RenderThemeMac::paintSliderTrack):
21827         (WebCore::RenderThemeMac::paintSliderThumb):
21828         (WebCore::RenderThemeMac::adjustSliderThumbSize):
21829         (WebCore::RenderThemeMac::paintSearchField):
21830         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
21831         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
21832         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
21834 2008-08-27  Brady Eidson  <beidson@apple.com>
21836         Reviewed by Anders
21838         <rdar://problem/6134133> - Crash when loading large movie as a standalone document
21840         We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
21841         to load and buffer the data for the movie in WebCore.  With large media files, this results in blowing
21842         away the virtual address space and a crash.
21844         * loader/EmptyClients.h:
21845         (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
21846         * loader/FrameLoaderClient.h:  Added client method to get platform specific error for
21847           "plugin will handle load"
21849         * loader/MediaDocument.cpp:
21850         (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
21851           and cancel the WebCore-managed load
21852         (WebCore::MediaTokenizer::writeRawData):
21853         (WebCore::MediaTokenizer::finish):
21855 2008-08-26  Simon Fraser  <simon.fraser@apple.com>
21857         Reviewed by Eric Seidel
21859         Linear timing functions should have control points 0, 0, 1, 1.
21860         https://bugs.webkit.org/show_bug.cgi?id=20535
21862         * css/CSSStyleSelector.cpp:
21863         (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
21864         * rendering/style/RenderStyle.h:
21866 2008-08-27  Adam Roben  <aroben@apple.com>
21868         Windows build fix
21870         * WebCore.vcproj/WebCore.vcproj: Fix file extension.
21872 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
21874         Reviewed by Beth Dakin.
21876         <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
21878         Added platform-specific accessibilityIgnoreAttachment, which allows the platform
21879         to determine if an attachment is ignored through accessibility. Added equivalent
21880         methods in Gtk, Win and Mac
21882         Test: accessibility/plugin.html
21884         * GNUmakefile.am:
21885         * WebCore.vcproj/WebCore.vcproj:
21886         * WebCore.xcodeproj/project.pbxproj:
21887         * page/AccessibilityObject.h:
21888         * page/AccessibilityRenderObject.cpp:
21889         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
21890         * page/gtk/AccessibilityObjectAtk.cpp: Added.
21891         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21892         * page/mac/AccessibilityObjectMac.mm: Added.
21893         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21894         * page/mac/AccessibilityObjectWrapper.h:
21895         * page/win/AccessibilityObjectWin.cpp: Added.
21896         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21898 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
21900         Reviewed by Beth Dakin.
21902         <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
21904         * page/mac/AccessibilityObjectWrapper.mm:
21905         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
21906         (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
21908 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
21910         Reviewed by Darin Adler.
21912         <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
21914         Tests: accessibility/table-notbody.html
21916         * page/AccessibilityTable.cpp:
21917         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
21919 2008-08-26  Sam Weinig  <sam@webkit.org>
21921         Reviewed by Beth Dakin.
21923         Fix typo.
21925         * dom/DOMCoreException.h:
21927 2008-08-26  Sam Weinig  <sam@webkit.org>
21929         Reviewed by Oliver Hunt.
21931         Fix https://bugs.webkit.org/show_bug.cgi?id=20479
21932         <rdar://problem/6167660>
21933         Take image redirects into account when tainting the canvas.
21935         Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
21937         * html/CanvasRenderingContext2D.cpp:
21938         (WebCore::CanvasRenderingContext2D::drawImage):
21939         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
21941 2008-08-26  Sam Weinig  <sam@webkit.org>
21943         Reviewed by Darin Adler.
21945         Change canvas tainting logic to ask the image if it contains
21946         any resources outside of its own origin. Since there is no 
21947         way to determine if SVG images contain any resources outside its
21948         origin, we always assume it does.
21950         * html/CanvasRenderingContext2D.cpp:
21951         (WebCore::CanvasRenderingContext2D::drawImage):
21952         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
21953         * platform/graphics/BitmapImage.h:
21954         (WebCore::BitmapImage::hasSingleSecurityOrigin):
21955         * platform/graphics/GeneratedImage.h:
21956         (WebCore::GeneratedImage::hasSingleSecurityOrigin):
21957         * platform/graphics/Image.h:
21958         (WebCore::Image::hasSingleSecurityOrigin):
21959         * platform/graphics/cg/PDFDocumentImage.h:
21960         (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
21961         * svg/graphics/SVGImage.h:
21963 2008-08-26  Maxime Britto  <britto@apple.com>
21965         Reviewed by Adele.
21967         <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
21968         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.
21969         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.
21971         * page/EventHandler.cpp:
21972         (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
21973         * page/EventHandler.h:
21974         * rendering/RenderLayer.cpp:
21975         (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
21976         (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.
21977         * rendering/RenderLayer.h:
21978         * rendering/RenderObject.cpp:
21979         (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
21980         (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
21981         (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
21983 2008-08-25  Julien Chaffraix  <jchaffraix@webkit.org>
21985         Reviewed by Darin Adler.
21987         Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
21988         https://bugs.webkit.org/show_bug.cgi?id=20247
21990         <rdar://problem/6118218>
21992         Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
21993         check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
21994         (case insensitive for HTML elements).
21996         Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
21998         * dom/Element.cpp:
21999         (WebCore::Element::getAttribute):
22000         * dom/NamedAttrMap.cpp:
22001         (WebCore::NamedAttrMap::getNamedItem):
22002         (WebCore::NamedAttrMap::getAttributeItem):
22003         * dom/NamedAttrMap.h:
22005 2008-08-25  Sam Weinig  <sam@webkit.org>
22007         Reviewed by Oliver Hunt.
22009         Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
22010         <rdar://problem/6174096>
22011         Treat SVG images as dirty when drawing to a canvas.
22013         Test: http/tests/security/canvas-remote-read-svg-image.html
22015         * html/CanvasRenderingContext2D.cpp:
22016         (WebCore::CanvasRenderingContext2D::drawImage):
22017         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
22018         * platform/graphics/Image.h:
22019         (WebCore::Image::isSVGImage):
22020         * svg/graphics/SVGImage.h:
22021         (WebCore::SVGImage::isSVGImage):
22023 2008-08-25  Sam Weinig  <sam@webkit.org>
22025         Reviewed by Mark Rowe.
22027         Fix https://bugs.webkit.org/show_bug.cgi?id=20377
22028         Leak in XMLHttpRequest.
22030         * xml/XMLHttpRequest.cpp:
22031         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
22033 2008-08-25  Brady Eidson  <beidson@apple.com>
22035         Reviewed by Anders
22037         Speculative fix for <rdar://problem/6173217>
22039         Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
22040         Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
22041         the first null check invalid.
22043         * loader/FrameLoader.cpp:
22044         (WebCore::FrameLoader::stopAllLoaders):
22047 2008-08-25  Kevin McCullough  <kmccullough@apple.com>
22049         Reviewed by Tim.
22051         <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
22052         there is no profile, can cause crash
22054         * page/inspector/ProfilesPanel.js:
22056 2008-08-25  Dean Jackson  <dino@apple.com>
22058         Reviewed by Dave Hyatt
22060         Make sure 'inherit' is handled by transition property.
22061         https://bugs.webkit.org/show_bug.cgi?id=20513
22063         Test: transitions/inherit.html
22064         Test: transitions/inherit-other-props.html
22066         * css/CSSStyleSelector.cpp:
22067           fix macro to check existence of list before getting size
22069 2008-08-25  Anders Carlsson  <andersca@apple.com>
22071         Reviewed by Mark.
22073         <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
22074         
22075         Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume 
22076         (safely) that any class that needs finalization on the main thread will also need to be deallocated
22077         on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
22078         calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
22080         * platform/mac/WebCoreObjCExtras.c:
22081         (WebCoreObjCFinalizeOnMainThread):
22083 2008-08-25  Antti Koivisto  <antti@apple.com>
22085         Reviewed by Dan Bernstein.
22087         Rename CachedResource::referenced() to CachedResource::hasClients() to
22088         match previous ref() -> addClient() rename.
22090         * loader/Cache.cpp:
22091         (WebCore::Cache::pruneLiveResources):
22092         (WebCore::Cache::pruneDeadResources):
22093         (WebCore::Cache::remove):
22094         (WebCore::Cache::getStatistics):
22095         (WebCore::Cache::dumpLRULists):
22096         * loader/CachedResource.cpp:
22097         (WebCore::CachedResource::addClient):
22098         (WebCore::CachedResource::removeClient):
22099         (WebCore::CachedResource::setDecodedSize):
22100         (WebCore::CachedResource::setEncodedSize):
22101         * loader/CachedResource.h:
22102         (WebCore::CachedResource::hasClients):
22103         (WebCore::CachedResource::canDelete):
22105 2008-08-25  Anthony Ricaud  <rik24d@gmail.com>
22107         Add a missing Inspector localized string for "other".
22109         https://bugs.webkit.org/show_bug.cgi?id=20509
22111         Reviewed by Tim Hatcher.
22113         * English.lproj/localizedStrings.js:
22115 2008-08-22  Kevin McCullough  <kmccullough@apple.com>
22117         Reviewed by Geoff, Mark and Tim.
22119         <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
22120         in the console said what file and line number they came from
22121         - Lay the foundation for getting line numbers and other data from the
22122         JavaScript engine.
22124         * ForwardingHeaders/VM: Added.
22125         * ForwardingHeaders/VM/Machine.h: Added.
22126         * page/Console.cpp: Gather the line number and file information when 
22127         profileEnd has been called, but don't use it until didFinishProfiling is
22128         called.  We won't need to wait once we remove the profiler "zombie" mode
22129         which this patch helps pave the foundation for.
22130         (WebCore::Console::Console):
22131         (WebCore::Console::profileEnd):
22132         (WebCore::Console::finishedProfiling):
22133         * page/Console.h:
22134         * page/InspectorController.cpp: Modify calls to
22135         addProfileMessageToConsole to satisfy the new arguments it takes.
22136         (WebCore::InspectorController::finishedProfiling):
22137         (WebCore::InspectorController::addProfile):
22138         (WebCore::InspectorController::addProfileMessageToConsole):
22139         (WebCore::InspectorController::finishedProfiling):
22140         * page/InspectorController.h:
22142 2008-08-25  Holger Hans Peter Freyther  <zecke@selfish.org>
22144         Reviewed by Simon.
22146         [inspector] Update the WebKit.qrc Qt resources file
22147         Catchup with the changes in the directory.
22149         * page/inspector/WebKit.qrc:
22151 2008-08-25  Dirk Schulze  <vbs85@gmx.de>
22153         Reviewed by Simon.
22155         Transformed the radian to degree, to get rotate()
22156         in canvas work as expected.
22158         [Qt] Canvas.rotate() doesn't work
22159         https://bugs.webkit.org/show_bug.cgi?id=20496
22161         * platform/graphics/qt/GraphicsContextQt.cpp:
22162         (WebCore::GraphicsContext::rotate):
22164 2008-08-24  Steve Falkenburg  <sfalken@apple.com>
22166         Add a "last chance" WM_TIMER to the Windows shared timer.
22167         
22168         The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
22169         Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
22170         timers if a timer with an earlier expiration is already pending. This results in no timers
22171         firing from that point on.
22172         
22173         We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
22174         buggy window message hook.
22175         
22176         This timer will start when the first WM_TIMER is scheduled, and will
22177         fire every 5 seconds thereafter, causing any lost timers to be fired.
22178         
22179         Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
22180         and prevents the WebFrame leak.
22181         
22182         Reviewed by Darin Adler, Geoff Garen.
22184         * platform/win/SharedTimerWin.cpp:
22185         (WebCore::):
22186         (WebCore::TimerWindowWndProc):
22187         (WebCore::setSharedTimerFireTime):
22189 2008-08-24  Dan Bernstein  <mitz@apple.com>
22191         Reviewed by Darin Adler.
22193         - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
22195         Test: fast/css/font-property-priority.html
22197         * css/CSSParser.cpp:
22198         (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
22199         to the font-property-parsing functions.
22200         (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
22201         changed to use it rather than the m_important member.
22202         (WebCore::CSSParser::parseFontVariant): Ditto.
22203         (WebCore::CSSParser::parseFontWeight): Ditto.
22204         * css/CSSParser.h:
22206 2008-08-24  Timothy Hatcher  <timothy@apple.com>
22208         Fixes a bug where the Inspector's UI would not animate or
22209         fully function because JavaScript timeouts, intervals and
22210         CSS animation timers where not firing while paused at a
22211         a breakpoint in the inspected page.
22213         https://bugs.webkit.org/show_bug.cgi?id=20042
22215         Reviewed by Darin Adler.
22217         Test: manual-tests/inspector/forzen-ui-while-paused.html
22219         * page/JavaScriptDebugServer.cpp:
22220         (WebCore::JavaScriptDebugServer::pauseIfNeeded):
22221         Add a call to TimerBase::fireTimersInNestedEventLoop before
22222         spinning the EventLoop.
22224 2008-08-24  Rob Buis  <buis@kde.org>
22226         Reviewed by Sam Weinig.
22228         https://bugs.webkit.org/show_bug.cgi?id=20324
22229         A change in SVG Glyph wont show up
22231         Invalidate the glyph cache when the d attribute is set.
22233         Test: svg/custom/glyph-setting-d-attribute.svg
22235         * svg/SVGGlyphElement.cpp:
22236         (WebCore::SVGGlyphElement::invalidateGlyphCache):
22237         (WebCore::SVGGlyphElement::parseMappedAttribute):
22238         (WebCore::SVGGlyphElement::insertedIntoDocument):
22239         (WebCore::SVGGlyphElement::removedFromDocument):
22240         * svg/SVGGlyphElement.h:
22242 2008-08-24  Dan Bernstein  <mitz@apple.com>
22244         Reviewed by Sam Weinig.
22246         - fix https://bugs.webkit.org/show_bug.cgi?id=13864
22247           <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
22249         * rendering/RenderText.cpp:
22250         (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
22251         beginWS and endWS before the early return to ensure that they are
22252         initialized in that case.
22254 2008-08-23  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
22256         Rubber-stamped by Mark Rowe.
22258         Remove modelines.
22260         * WebCore.pro:
22261         * bridge/testbindings.cpp:
22262         * dom/DocPtr.h:
22263         * loader/SubstituteData.h:
22264         * page/Chrome.cpp:
22265         * page/Chrome.h:
22266         * page/ChromeClient.h:
22267         * page/Frame.h:
22268         * page/FrameLoadRequest.h:
22269         * page/FrameTree.cpp:
22270         * page/FrameTree.h:
22271         * page/Page.h:
22272         * page/mac/ChromeMac.mm:
22273         * platform/network/HTTPHeaderMap.h:
22274         * platform/network/ResourceErrorBase.cpp:
22275         * platform/network/ResourceErrorBase.h:
22276         * platform/network/ResourceHandleInternal.h:
22277         * platform/network/ResourceRequestBase.cpp:
22278         * platform/network/ResourceRequestBase.h:
22279         * platform/network/ResourceResponseBase.cpp:
22280         * platform/network/ResourceResponseBase.h:
22281         * platform/network/cf/ResourceError.h:
22282         * platform/network/cf/ResourceRequest.h:
22283         * platform/network/cf/ResourceRequestCFNet.h:
22284         * platform/network/cf/ResourceResponse.h:
22285         * platform/network/cf/ResourceResponseCFNet.h:
22286         * platform/network/curl/ResourceError.h:
22287         * platform/network/curl/ResourceRequest.h:
22288         * platform/network/curl/ResourceResponse.h:
22289         * platform/network/mac/ResourceError.h:
22290         * platform/network/mac/ResourceErrorMac.mm:
22291         * platform/network/mac/ResourceRequest.h:
22292         * platform/network/mac/ResourceRequestMac.mm:
22293         * platform/network/mac/ResourceResponse.h:
22294         * platform/network/mac/ResourceResponseMac.mm:
22295         * platform/network/qt/ResourceError.h:
22296         * platform/network/qt/ResourceRequest.h:
22297         * platform/network/qt/ResourceResponse.h:
22298         * platform/network/soup/CookieJarSoup.cpp:
22299         * platform/network/soup/ResourceError.h:
22300         * platform/network/soup/ResourceRequest.h:
22301         * platform/network/soup/ResourceResponse.h:
22303 2008-08-23  Dan Bernstein  <mitz@apple.com>
22305         Reviewed by Dave Hyatt.
22307         - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
22309         Test: fast/table/vertical-align-baseline.html
22311         * rendering/RenderTable.cpp:
22312         (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
22313         baseline of the first table row, if there is one, -1 otherwise.
22314         * rendering/RenderTable.h:
22315         * rendering/RenderTableCell.cpp:
22316         (WebCore::RenderTableCell::baselinePosition): Changed to follow the
22317         CSS2.1 definition of the baseline of a table cell.
22318         * rendering/RenderTableSection.cpp:
22319         (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
22320         the baseline of the first row in the section.
22321         * rendering/RenderTableSection.h:
22323 2008-08-18  Jon Honeycutt  <jhoneycutt@apple.com>
22325         Add SPI to make a Windows WebView transparent.
22327         Reviewed by Dan Bernstein.
22329         * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
22330         determines whether the created context has an alpha channel.
22331         * platform/graphics/win/GraphicsContextCGWin.cpp:
22332         (WebCore::CGContextWithHDC):
22334 2008-08-22  Timothy Hatcher  <timothy@apple.com>
22336         Rolls out r35834 because it caused a regression in the Inspector's
22337         Console where some expressions always threw a syntax error.
22339         https://bugs.webkit.org/show_bug.cgi?id=20487
22341         * page/inspector/Console.js:
22342         (Console.prototype._evalInInspectedWindow): Removes parenthesis
22343         around the expression.
22345 2008-08-22  Timothy Hatcher  <timothy@apple.com>
22347         Makes getStyleProperty return a value for the overflow property
22348         when overflow-x and overflow-y are equal.
22350         https://bugs.webkit.org/show_bug.cgi?id=20485
22352         Reviewed by Dan Bernstein.
22354         Test: fast/css/overflow-property.html
22356         * css/CSSMutableStyleDeclaration.cpp:
22357         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
22359 2008-08-22  Timothy Hatcher  <timothy@apple.com>
22361         Fixes a bug where while editing in the Inspector the
22362         sidebar scroll position would jump to the top.
22364         https://bugs.webkit.org/show_bug.cgi?id=20484
22366         Reviewed by Darin Adler.
22368         * page/inspector/treeoutline.js:
22369         (TreeOutline._removeChildren): Remove the offsetTop call that
22370         was forcing a layout, since layout causes scroll positions
22371         to be clamped to the new scrollHeight/Width. Layout will happen
22372         normally when needed.
22374 2008-08-22  Kevin Ollivier  <kevino@theolliviers.com>
22376         wx build fix. Add AccessibilityTable sources.
22378         * WebCoreSources.bkl:
22380 2008-08-21  Dan Bernstein  <mitz@apple.com>
22382         Reviewed by Jon Honeycutt and Alexey Proskuryakov.
22384         - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
22386         Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
22388         * platform/graphics/mac/SimpleFontDataMac.mm:
22389         (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
22390         ascent and 100% to its reported descent.
22392 2008-08-21  Kalle Vahlman  <kalle.vahlman@movial.com>
22394         Reviewed by Darin Adler.
22396         https://bugs.webkit.org/show_bug.cgi?id=20267
22397         [GTK] Crash on some pages due to a plugin
22399         Fix handling of badly formatted and empty plugin mime descriptions
22401         * plugins/gtk/PluginPackageGtk.cpp:
22402         (WebCore::PluginPackage::fetchInfo):
22404 2008-08-21  Kevin Watters  <kevinwatters@gmail.com>
22406         Reviewed by Darin Adler.
22408         Follow other ports (and IE) in ImageSourceWx.cpp never to return an
22409         animated GIF frame duration of less than 50ms.
22411         * platform/graphics/wx/ImageSourceWx.cpp:
22412         (WebCore::ImageSource::frameDurationAtIndex):
22414 2008-08-21  Maxime Britto  <britto@apple.com>
22416         Reviewed by Kevin McCullough.
22418         Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
22419         https://bugs.webkit.org/show_bug.cgi?id=20451
22420    
22421         rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
22422         When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
22423         This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
22425         * page/EventHandler.cpp:
22426         (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.
22428         (WebCore::EventHandler::handleMousePressEvent): ditto
22430 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
22432         Small optimization for when the dividers in the Inspector's
22433         Resources panel are updated.
22435         Reviewed by Tim Hatcher.
22437         * page/inspector/ResourcesPanel.js:
22438         (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
22439         Combind a for loop and clone the divider element.
22441 2008-08-21  Chris Marrin  <cmarrin@apple.com>
22443         Allow 0 (without units) for Time eg. duration
22444         Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
22446         Reviewed by Dave Hyatt.
22448         Test: css1/units/zero-duration-without-units.html
22450         * css/CSSParser.cpp:
22451         (WebCore::CSSParser::validUnit):
22453 2008-08-21  Timothy Hatcher  <timothy@apple.com>
22455         Make deleting all text while editing a DOM attribute in
22456         the Inspector delete the attribute. This also fixes
22457         an exception that would happen before.
22459         https://bugs.webkit.org/show_bug.cgi?id=20472
22461         Reviewed by Kevin McCullough.
22463         * page/inspector/ElementsPanel.js:
22464         (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
22465         Don't check for hasAttributes on the parseElement, continuing
22466         through the function will correctly remove the attribute.
22467         If the parseElement is null, call _editingCancelled not
22468         editingCancelled, this fixes an exception.
22470 2008-08-21  Timothy Hatcher  <timothy@apple.com>
22472         Update the Inspector's Metrics pane when editing in
22473         the Styles pane. This makes sure the metrics shown
22474         always match what the Styles pane shows.
22476         https://bugs.webkit.org/show_bug.cgi?id=20470
22478         Reviewed by Kevin McCullough.
22480         * page/inspector/ElementsPanel.js:
22481         (WebInspector.ElementsPanel): Add event listeners for
22482         the "style edited" and "style property toggled" events,
22483         so the Metrics pane is updated.
22484         (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
22485         Update the Metrics pane.
22486         * page/inspector/StylesSidebarPane.js:
22487         (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
22488         Dispatch the "style property toggled" event.
22489         (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
22490         Dispatch the "style edited" event when the CSS text is restored.
22491         (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
22492         Dispatch the "style edited" event.
22494 2008-08-21  Timothy Hatcher  <timothy@apple.com>
22496         Make the Inspector's Metrics sidebar pane editable.
22498         https://bugs.webkit.org/show_bug.cgi?id=17218
22499         rdar://problem/5732818
22501         Reviewed by Kevin McCullough.
22503         * page/inspector/ElementsPanel.js:
22504         (WebInspector.ElementsPanel): Add an event listener for
22505         the "metrics edited" event, so the Styles pane is updated.
22506         * page/inspector/MetricsSidebarPane.js:
22507         (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
22508         so future updates work. Add a double click event listener for the
22509         metric values to start editing.
22510         (WebInspector.MetricsSidebarPane.prototype.startEditing):
22511         Call WebInspector.startEditing with some context.
22512         (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
22513         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
22514         Set the user input on the elements inline style. Fire the
22515         "metrics edited" event.
22517 2008-08-21  Steve Falkenburg  <sfalken@apple.com>
22519         Fix a race condition in Windows timer code.
22520         Timer function could end up being called with a 0 timer, leading to a Windows exception.
22521         
22522         Don't post a timer message if one is already pending.
22523         
22524         Reviewed by Ada Chan.
22526         * platform/win/SharedTimerWin.cpp:
22527         (WebCore::TimerWindowWndProc):
22528         (WebCore::clearTimer):
22529         (WebCore::queueTimerProc):
22530         (WebCore::setSharedTimerFireTime):
22532 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
22534         After trying to add the expression, try again with quotes for
22535         easier edition.
22537         https://bugs.webkit.org/show_bug.cgi?id=20466
22539         Reviewed by Tim Hatcher.
22541         * page/inspector/ObjectPropertiesSection.js: Added an
22542         evaluateExpression function.
22544 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
22546         Perform Inspector searches on search event to clear results when
22547         clicking the cross to empty it. Delete the lastQuery when the field
22548         is emptied in order to perform the search if exactly the same query
22549         is entered next.
22551         https://bugs.webkit.org/show_bug.cgi?id=20462
22553         Reviewed by Tim Hatcher.
22555         * page/inspector/inspector.js:
22557 2008-08-21  Marco Barisione  <marco.barisione@collabora.co.uk>
22559         Reviewed by Mark Rowe.
22561         http://bugs.webkit.org/show_bug.cgi?id=19656
22562         [SOUP] The gio code should call didFail() instead of
22563         didFinishLoading() in case of error
22565         In case of error call didFail() instead of didReceiveResponse() and
22566         didFinishLoading().
22568         * platform/network/soup/ResourceHandleSoup.cpp:
22569         (WebCore::networkErrorForFile):
22570         (WebCore::readCallback):
22571         (WebCore::openCallback):
22572         (WebCore::queryInfoCallback):
22574 2008-08-20  Mark Rowe  <mrowe@apple.com>
22576         Reviewed by Jon Honeycutt.
22578         Fix build failure.
22580         * bridge/c/c_instance.cpp:
22581         (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
22582         as that is what NPEnumerationFunctionPtr is declared as accepting.
22584 2008-08-20  Mark Rowe  <mrowe@apple.com>
22586         Reviewed by Dan Bernstein.
22588         Build fix.  Handle kCGInterpolationMedium in switch statements if it is available.
22590         * platform/graphics/GraphicsContext.h:
22591         (WebCore::):
22592         * platform/graphics/cg/GraphicsContextCG.cpp:
22593         (WebCore::GraphicsContext::setImageInterpolationQuality):
22594         (WebCore::GraphicsContext::imageInterpolationQuality):
22596 2008-08-20  Dan Bernstein  <mitz@apple.com>
22598         Rubber-stamped by John Sullivan.
22600         - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
22601           rename related methods and variables accordingly.
22603         * WebCore.base.exp:
22604         * page/FrameView.cpp:
22605         (WebCore::FrameViewPrivate::FrameViewPrivate):
22606         (WebCore::FrameView::shouldUpdateWhileOffscreen):
22607         (WebCore::FrameView::setShouldUpdateWhileOffscreen):
22608         * page/FrameView.h:
22609         * platform/ScrollView.h:
22610         * platform/mac/ScrollViewMac.mm:
22611         (WebCore::ScrollView::updateContents):
22613 2008-08-20  Brady Eidson  <beidson@apple.com>
22615         Reviewed by Mitzpettel
22617         <rdar://problem/6163636> - Many images broken in Mail
22619         This can be traced back to the preload scanner.  With that change, CachedResources are created a lot 
22620         sooner than before and confuse the WebArchive machinery.  
22622         When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore 
22623         such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate 
22624         machinery and nothing is known about where the data will eventually come from.
22626         * loader/DocumentLoader.cpp:
22627         (WebCore::DocumentLoader::subresource):  Ignore a CachedResource if its preloadResult is 
22628           CachedResource::PreloadReferenced.
22630 2008-08-20  Holger Hans Peter Freyther  <zecke@selfish.org>
22632         Unreviewed compile fix
22634         Catch up with the JSValue::type elimination.
22636         * bridge/qt/qt_instance.cpp:
22637         (KJS::Bindings::QtRuntimeObjectImp::construct):
22638         (KJS::Bindings::QtInstance::defaultValue):
22639         * bridge/qt/qt_runtime.cpp:
22640         (KJS::Bindings::QtRuntimeConnectionMethod::call):
22642 2008-08-20  Chris Teague  <chris.teague@gmail.com>
22644         Reviewed by Mark Rowe.
22646         Fix https://bugs.webkit.org/show_bug.cgi?id=20449
22647         Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
22649         * ChangeLog:
22650         * loader/FrameLoader.cpp:
22651         (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
22653 2008-08-20  Simon Fraser  <simon.fraser@apple.com>
22655         Reviewed by Dave Hyatt
22657         getComputedStyle() for webkitTransform should return a transform
22658         that does not have the transform origin baked into it.
22659         https://bugs.webkit.org/show_bug.cgi?id=20464
22660         
22661         Test: fast/css/getComputedStyle-transform.html
22663         * css/CSSComputedStyleDeclaration.cpp:
22664         (WebCore::computedTransform):
22665         * rendering/style/RenderStyle.cpp:
22666         (WebCore::RenderStyle::applyTransform):
22667         * rendering/style/RenderStyle.h:
22669 2008-08-20  Josh Aas  <joshmoz@gmail.com>
22671         Reviewed and landed by Anders.
22673         <rdar://problem/6163636> 
22674         rename NPCocoaEvent's "event" struct to "data" (20446)
22675         
22676         * bridge/npapi.h:
22677         (_NPCocoaEvent::):
22679 2008-08-20  Beth Dakin  <bdakin@apple.com>
22681         Reviewed by Darin Adler.
22683         Fix for <rdar://problem/6145626> 
22684         This patch fixes a number of remaining problems getting 
22685         disconnected frames to work correctly with markAllMatchesForText() 
22686         and findString(). Details inline. 
22688         This was a static helper function in Frame, but this patch requires 
22689         the same functionality in Editor, so I just added it as a function 
22690         on Node.
22691         * dom/Node.cpp:
22692         (WebCore::Node::isInShadowTree):
22693         * dom/Node.h:
22695         * editing/Editor.cpp:
22696         (WebCore::Editor::insideVisibleArea): Returns false if 
22697         excludeFromTextSearch() is true.
22699         In a normal (non-disconnected) frame, findString returns a range of 
22700         the document node if the text is not found in the frame. I changed 
22701         firstVisibleRange and lastVisibleRange to match that behavior when 
22702         the text is not found
22703         (WebCore::Editor::firstVisibleRange):
22704         (WebCore::Editor::lastVisibleRange):
22706         Here are the bulk of the changes in the patch. A lot of text was 
22707         not being found in disconnected frames because I failed to account 
22708         for all of the possible problems associated with shadow trees. That 
22709         is fixed here.
22710         (WebCore::Editor::nextVisibleRange):
22711         * editing/Editor.h:
22713         excludeFromTextSearch() is new. It allows a WebKit client to mark a 
22714         frame as not-text-searchable through SPI. 
22715         * WebCore.base.exp:
22716         * page/Frame.cpp:
22717         (WebCore::Frame::excludeFromTextSearch):
22718         (WebCore::Frame::setExcludeFromTextSearch):
22719         (WebCore::FramePrivate::FramePrivate):
22720         * page/Frame.h:
22721         * page/FramePrivate.h:
22723         (WebCore::Frame::findString):
22724         (WebCore::Frame::markAllMatchesForText):  I kept running into an 
22725         assertion failure in paining code because of the forced paint on 
22726         empty visible rects.
22728 2008-08-20  Timothy Hatcher  <timothy@apple.com>
22730         Adds a positon box to the Inspector's Metrics sidebar
22731         pane. When an element is not statically positioned, there
22732         is now a position box that show top, right, bottom and
22733         left computed values.
22735         Reviewed by Kevin McCullough.
22737         * English.lproj/localizedStrings.js: Updated the strings.
22738         * page/inspector/MetricsSidebarPane.js:
22739         (WebInspector.MetricsSidebarPane.prototype.update):
22740         Renamed the boxPartValue function to createBoxPartElement
22741         and made it create the entire element. Made it understand
22742         how to get position style properties. Don't use the figure dash
22743         when 0px is used for positions, since the 0 is meaningful there.
22744         Instead use the figure dash when a position is auto.
22745         * page/inspector/inspector.css: Added a new rule for position.
22747 2008-08-20  Chris Fleizach  <cfleizach@apple.com>
22749         Reviewed by Beth Dakin
22751         Qt build fix
22753         * WebCore.pro:
22755 2008-08-20  Dan Bernstein  <mitz@apple.com>
22757         Reviewed by Anders Carlsson.
22759         - avoid using a deprecated NSScroller method on Leopard
22761         * platform/mac/PlatformScrollBarMac.mm:
22762         (WebCore::PlatformScrollbar::updateThumbPosition):
22763         (WebCore::PlatformScrollbar::updateThumbProportion):
22765 2008-08-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
22767         Reviewed by Oliver Hunt.
22769         Gtk build fix
22771         * GNUmakefile.am:
22772         * page/AccessibilityTable.cpp: Change nil to 0
22773         (WebCore::AccessibilityTable::cellForColumnAndRow):
22775 2008-08-19  Alexey Proskuryakov  <ap@webkit.org>
22777         Reviewed by Geoff Garen.
22779         Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
22781         * ForwardingHeaders/kjs/JSLock.h: Added.
22782         * WebCore.vcproj/WebCore.vcproj:
22783         * bindings/js/GCController.cpp:
22784         (WebCore::collect):
22785         (WebCore::GCController::gcTimerFired):
22786         (WebCore::GCController::garbageCollectNow):
22787         * bindings/js/JSCustomSQLStatementCallback.cpp:
22788         (WebCore::JSCustomSQLStatementCallback::handleEvent):
22789         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
22790         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
22791         * bindings/js/JSCustomSQLTransactionCallback.cpp:
22792         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
22793         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
22794         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
22795         * bindings/js/JSCustomVoidCallback.cpp:
22796         (WebCore::JSCustomVoidCallback::handleEvent):
22797         * bindings/js/JSCustomXPathNSResolver.cpp:
22798         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
22799         * bindings/js/JSDOMWindowBase.cpp:
22800         (WebCore::DOMWindowTimer::~DOMWindowTimer):
22801         (WebCore::JSDOMWindowBase::clear):
22802         (WebCore::JSDOMWindowBase::timerFired):
22803         * bindings/js/JSEventCustom.cpp:
22804         (WebCore::toJS):
22805         * bindings/js/JSEventListener.cpp:
22806         (WebCore::JSAbstractEventListener::handleEvent):
22807         * bindings/js/JSNSResolver.cpp:
22808         (WebCore::JSNSResolver::lookupNamespaceURI):
22809         * bindings/js/JSNodeFilterCondition.cpp:
22810         (WebCore::JSNodeFilterCondition::acceptNode):
22811         * bindings/js/ScheduledAction.cpp:
22812         (WebCore::ScheduledAction::execute):
22813         * bindings/js/ScriptController.cpp:
22814         (WebCore::ScriptController::evaluate):
22815         (WebCore::ScriptController::clearWindowShell):
22816         (WebCore::ScriptController::createHTMLEventHandler):
22817         (WebCore::ScriptController::createSVGEventHandler):
22818         (WebCore::ScriptController::initScript):
22819         (WebCore::ScriptController::updateDocument):
22820         (WebCore::ScriptController::bindingRootObject):
22821         (WebCore::ScriptController::windowScriptNPObject):
22822         (WebCore::ScriptController::createScriptObjectForPluginElement):
22823         (WebCore::ScriptController::clearScriptObjects):
22824         * bindings/js/ScriptControllerMac.mm:
22825         (WebCore::ScriptController::windowScriptObject):
22826         * bindings/objc/WebScriptObject.mm:
22827         (_didExecute):
22828         (-[WebScriptObject callWebScriptMethod:withArguments:]):
22829         (-[WebScriptObject evaluateWebScript:]):
22830         (-[WebScriptObject setValue:forKey:]):
22831         (-[WebScriptObject valueForKey:]):
22832         (-[WebScriptObject removeWebScriptKey:]):
22833         (-[WebScriptObject stringRepresentation]):
22834         (-[WebScriptObject webScriptValueAtIndex:]):
22835         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
22836         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
22837         * bridge/NP_jsobject.cpp:
22838         (_NPN_InvokeDefault):
22839         (_NPN_Invoke):
22840         (_NPN_Evaluate):
22841         (_NPN_GetProperty):
22842         (_NPN_SetProperty):
22843         (_NPN_RemoveProperty):
22844         (_NPN_HasProperty):
22845         (_NPN_HasMethod):
22846         (_NPN_Enumerate):
22847         * bridge/c/c_class.cpp:
22848         (KJS::Bindings::CClass::~CClass):
22849         (KJS::Bindings::CClass::methodsNamed):
22850         (KJS::Bindings::CClass::fieldNamed):
22851         * bridge/c/c_instance.cpp:
22852         (KJS::Bindings::CInstance::invokeMethod):
22853         (KJS::Bindings::CInstance::invokeDefaultMethod):
22854         (KJS::Bindings::CInstance::getPropertyNames):
22855         * bridge/c/c_runtime.cpp:
22856         (KJS::Bindings::CField::valueFromInstance):
22857         (KJS::Bindings::CField::setValueToInstance):
22858         * bridge/c/c_utility.cpp:
22859         (KJS::Bindings::convertValueToNPVariant):
22860         (KJS::Bindings::convertNPVariantToValue):
22861         * bridge/jni/jni_class.cpp:
22862         (JavaClass::JavaClass):
22863         (JavaClass::~JavaClass):
22864         * bridge/jni/jni_instance.cpp:
22865         (JavaInstance::stringValue):
22866         * bridge/jni/jni_jsobject.mm:
22867         (JavaJSObject::call):
22868         (JavaJSObject::eval):
22869         (JavaJSObject::getMember):
22870         (JavaJSObject::setMember):
22871         (JavaJSObject::removeMember):
22872         (JavaJSObject::getSlot):
22873         (JavaJSObject::setSlot):
22874         (JavaJSObject::toString):
22875         (JavaJSObject::convertValueToJObject):
22876         (JavaJSObject::convertJObjectToValue):
22877         * bridge/jni/jni_objc.mm:
22878         (KJS::Bindings::dispatchJNICall):
22879         * bridge/jni/jni_runtime.cpp:
22880         (appendClassName):
22881         (JavaMethod::signature):
22882         * bridge/jni/jni_runtime.h:
22883         (KJS::Bindings::JavaString::JavaString):
22884         (KJS::Bindings::JavaString::_commonInit):
22885         (KJS::Bindings::JavaString::~JavaString):
22886         (KJS::Bindings::JavaString::UTF8String):
22887         * bridge/jni/jni_utility.cpp:
22888         (KJS::Bindings::convertValueToJValue):
22889         * bridge/npruntime.cpp:
22890         (_NPN_GetStringIdentifier):
22891         * bridge/objc/objc_instance.mm:
22892         (ObjcInstance::moveGlobalExceptionToExecState):
22893         (ObjcInstance::invokeMethod):
22894         (ObjcInstance::invokeDefaultMethod):
22895         (ObjcInstance::setValueOfUndefinedField):
22896         (ObjcInstance::getValueOfUndefinedField):
22897         * bridge/objc/objc_runtime.mm:
22898         (ObjcField::valueFromInstance):
22899         (ObjcField::setValueToInstance):
22900         * bridge/objc/objc_utility.mm:
22901         (KJS::Bindings::convertValueToObjcValue):
22902         (KJS::Bindings::convertNSStringToString):
22903         (KJS::Bindings::convertObjcValueToValue):
22904         * bridge/qt/qt_instance.cpp:
22905         (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
22906         (KJS::Bindings::QtInstance::~QtInstance):
22907         (KJS::Bindings::QtInstance::getQtInstance):
22908         (KJS::Bindings::QtInstance::getRuntimeObject):
22909         * bridge/qt/qt_runtime.cpp:
22910         (KJS::Bindings::convertValueToQVariant):
22911         (KJS::Bindings::convertQVariantToValue):
22912         (KJS::Bindings::QtRuntimeMetaMethod::call):
22913         (KJS::Bindings::QtRuntimeConnectionMethod::call):
22914         (KJS::Bindings::QtConnectionObject::QtConnectionObject):
22915         (KJS::Bindings::QtConnectionObject::execute):
22916         * bridge/runtime.cpp:
22917         (KJS::Bindings::Instance::createRuntimeObject):
22918         * bridge/testbindings.cpp:
22919         (main):
22920         * bridge/testbindings.mm:
22921         (main):
22922         * bridge/testqtbindings.cpp:
22923         (main):
22924         * dom/Document.cpp:
22925         (WebCore::Document::~Document):
22926         * dom/Node.cpp:
22927         (WebCore::Node::setDocument):
22928         * history/CachedPage.cpp:
22929         (WebCore::CachedPage::CachedPage):
22930         (WebCore::CachedPage::restore):
22931         (WebCore::CachedPage::clear):
22932         * loader/FrameLoader.cpp:
22933         (WebCore::getString):
22934         * page/InspectorController.cpp:
22935         (WebCore::ConsoleMessage::ConsoleMessage):
22936         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
22937         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
22938         (WebCore::getResourceDocumentNode):
22939         (WebCore::search):
22940         (WebCore::inspectedWindow):
22941         (WebCore::wrapCallback):
22942         (WebCore::currentCallFrame):
22943         (WebCore::profiles):
22944         (WebCore::InspectorController::focusNode):
22945         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
22946         (WebCore::InspectorController::addDatabaseScriptResource):
22947         (WebCore::InspectorController::addScriptProfile):
22948         * page/JavaScriptCallFrame.cpp:
22949         (WebCore::JavaScriptCallFrame::evaluate):
22950         * page/JavaScriptProfileNode.cpp:
22951         (WebCore::getTotalTime):
22952         (WebCore::getSelfTime):
22953         (WebCore::getTotalPercent):
22954         (WebCore::getSelfPercent):
22955         (WebCore::getNumberOfCalls):
22956         (WebCore::getChildren):
22957         (WebCore::getVisible):
22958         * page/Page.cpp:
22959         * page/mac/FrameMac.mm:
22960         * plugins/PluginView.cpp:
22961         (WebCore::PluginView::start):
22962         (WebCore::getString):
22963         (WebCore::PluginView::performRequest):
22964         (WebCore::PluginView::bindingInstance):
22965         * plugins/gtk/PluginViewGtk.cpp:
22966         (WebCore::PluginView::paint):
22967         (WebCore::PluginView::handleKeyboardEvent):
22968         (WebCore::PluginView::handleMouseEvent):
22969         (WebCore::PluginView::setNPWindowRect):
22970         (WebCore::PluginView::stop):
22971         (WebCore::PluginView::init):
22972         * plugins/qt/PluginViewQt.cpp:
22973         (WebCore::PluginView::setNPWindowRect):
22974         (WebCore::PluginView::stop):
22975         (WebCore::PluginView::init):
22976         * plugins/win/PluginViewWin.cpp:
22977         (WebCore::PluginView::dispatchNPEvent):
22978         (WebCore::PluginView::handleKeyboardEvent):
22979         (WebCore::PluginView::handleMouseEvent):
22980         (WebCore::PluginView::setNPWindowRect):
22981         (WebCore::PluginView::stop):
22982         * xml/XMLHttpRequest.cpp:
22983         (WebCore::XMLHttpRequest::clearResponse):
22984         (WebCore::XMLHttpRequest::didFinishLoading):
22985         (WebCore::XMLHttpRequest::didReceiveData):
22987 2008-08-19  Eric Seidel  <eric@webkit.org>
22989         Reviewed by Geoff Garen.
22991         Add the beginnings of Skia graphics support to WebCore
22992         as I try to begin the long process of un-forking the changes
22993         needed to WebCore to make Andriod's WebCore build.
22995         I'll follow this up with actual *Skia.cpp files in a separate patch.
22997         * platform/graphics/AffineTransform.h:
22998         * platform/graphics/FloatPoint.h:
22999         * platform/graphics/FloatRect.h:
23000         * platform/graphics/Gradient.h:
23001         * platform/graphics/GraphicsContext.h:
23002         * platform/graphics/Image.h:
23003         * platform/graphics/ImageBuffer.h:
23004         * platform/graphics/ImageSource.h:
23005         * platform/graphics/IntPoint.h:
23006         * platform/graphics/IntRect.h:
23007         * platform/graphics/Path.h:
23008         * platform/graphics/Pattern.h:
23009         * svg/graphics/SVGPaintServerPattern.h:
23010         * svg/graphics/SVGPaintServerSolid.h:
23012 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
23014         Fix Windows build more.
23016         * WebCore.vcproj/WebCore.vcproj:
23018 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
23020         Fix Windows build.
23022         * page/AccessibilityRenderObject.cpp:
23023         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
23025 2008-08-19  Chris Fleizach  <cfleizach@apple.com>
23027         Reviewed by Beth Dakin.
23029         <rdar://problem/4003764> Expose tables as AXTables
23031         Tests: accessibility/table-attributes.html
23032                accessibility/table-cell-spans.html
23033                accessibility/table-cells.html
23034                accessibility/table-detection.html
23035                accessibility/table-sections.html
23036                accessibility/table-with-rules.html
23038         * WebCore.xcodeproj/project.pbxproj:
23039         * page/AXObjectCache.cpp:
23040         (WebCore::AXObjectCache::get):
23041         * page/AccessibilityObject.h:
23042         (WebCore::):
23043         (WebCore::AccessibilityObject::isDataTable):
23044         (WebCore::AccessibilityObject::isTableRow):
23045         (WebCore::AccessibilityObject::isTableColumn):
23046         (WebCore::AccessibilityObject::isTableCell):
23047         * page/AccessibilityRenderObject.cpp:
23048         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
23049         * page/AccessibilityTable.cpp: Added.
23050         (WebCore::AccessibilityTable::AccessibilityTable):
23051         (WebCore::AccessibilityTable::~AccessibilityTable):
23052         (WebCore::AccessibilityTable::create):
23053         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
23054         (WebCore::AccessibilityTable::clearChildren):
23055         (WebCore::AccessibilityTable::addChildren):
23056         (WebCore::AccessibilityTable::headerContainer):
23057         (WebCore::AccessibilityTable::columns):
23058         (WebCore::AccessibilityTable::rows):
23059         (WebCore::AccessibilityTable::rowHeaders):
23060         (WebCore::AccessibilityTable::columnHeaders):
23061         (WebCore::AccessibilityTable::cells):
23062         (WebCore::AccessibilityTable::columnCount):
23063         (WebCore::AccessibilityTable::rowCount):
23064         (WebCore::AccessibilityTable::cellForColumnAndRow):
23065         (WebCore::AccessibilityTable::roleValue):
23066         (WebCore::AccessibilityTable::accessibilityIsIgnored):
23067         (WebCore::AccessibilityTable::title):
23068         (WebCore::AccessibilityTable::isDataTable):
23069         * page/AccessibilityTable.h: Added.
23070         * page/AccessibilityTableCell.cpp: Added.
23071         (WebCore::AccessibilityTableCell::AccessibilityTableCell):
23072         (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
23073         (WebCore::AccessibilityTableCell::create):
23074         (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
23075         (WebCore::AccessibilityTableCell::rowIndexRange):
23076         (WebCore::AccessibilityTableCell::columnIndexRange):
23077         * page/AccessibilityTableCell.h: Added.
23078         (WebCore::AccessibilityTableCell::isTableCell):
23079         (WebCore::AccessibilityTableCell::roleValue):
23080         * page/AccessibilityTableColumn.cpp: Added.
23081         (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
23082         (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
23083         (WebCore::AccessibilityTableColumn::create):
23084         (WebCore::AccessibilityTableColumn::setParentTable):
23085         (WebCore::AccessibilityTableColumn::elementRect):
23086         (WebCore::AccessibilityTableColumn::size):
23087         (WebCore::AccessibilityTableColumn::children):
23088         (WebCore::AccessibilityTableColumn::headerObject):
23089         (WebCore::AccessibilityTableColumn::headerObjectForSection):
23090         (WebCore::AccessibilityTableColumn::addChildren):
23091         * page/AccessibilityTableColumn.h: Added.
23092         (WebCore::AccessibilityTableColumn::parentObject):
23093         (WebCore::AccessibilityTableColumn::roleValue):
23094         (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
23095         (WebCore::AccessibilityTableColumn::isTableColumn):
23096         (WebCore::AccessibilityTableColumn::setColumnIndex):
23097         (WebCore::AccessibilityTableColumn::columnIndex):
23098         * page/AccessibilityTableHeaderContainer.cpp: Added.
23099         (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
23100         (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
23101         (WebCore::AccessibilityTableHeaderContainer::create):
23102         (WebCore::AccessibilityTableHeaderContainer::children):
23103         (WebCore::AccessibilityTableHeaderContainer::elementRect):
23104         (WebCore::AccessibilityTableHeaderContainer::size):
23105         (WebCore::AccessibilityTableHeaderContainer::addChildren):
23106         * page/AccessibilityTableHeaderContainer.h: Added.
23107         (WebCore::AccessibilityTableHeaderContainer::roleValue):
23108         (WebCore::AccessibilityTableHeaderContainer::setParentTable):
23109         (WebCore::AccessibilityTableHeaderContainer::parentObject):
23110         (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
23111         * page/AccessibilityTableRow.cpp: Added.
23112         (WebCore::AccessibilityTableRow::AccessibilityTableRow):
23113         (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
23114         (WebCore::AccessibilityTableRow::create):
23115         (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
23116         (WebCore::AccessibilityTableRow::headerObject):
23117         * page/AccessibilityTableRow.h: Added.
23118         (WebCore::AccessibilityTableRow::isTableRow):
23119         (WebCore::AccessibilityTableRow::roleValue):
23120         (WebCore::AccessibilityTableRow::setRowIndex):
23121         (WebCore::AccessibilityTableRow::rowIndex):
23122         * page/mac/AccessibilityObjectWrapper.mm:
23123         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
23124         (RoleEntry::):
23125         (-[AccessibilityObjectWrapper roleDescription]):
23126         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
23127         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
23128         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
23130 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
23132         Build fix.
23133         Add buildfailed support to stop builds early (preventing inaccurate error messages).
23134         Add missing post-build rule to Release.
23136         * WebCore.vcproj/QTMovieWin.vcproj:
23138 2008-08-19  Keishi Hattori  <casey.hattori@gmail.com>
23140         Added support for console.count in the inspector.
23142         Reviewed by Geoff Garen.
23144         * page/Console.cpp:
23145         (WebCore::Console::count):
23146         * page/Console.h:
23147         * page/Console.idl: Added console.count.
23148         * page/InspectorController.cpp:
23149         (WebCore::InspectorController::didCommitLoad): Clears m_counts.
23150         (WebCore::InspectorController::count): Updates the count number
23151         sing "title@source:line" as the identifier, and adds a
23152         message to the console.
23153         * page/InspectorController.h: Added m_counts.
23155 2008-08-19  Keishi Hattori  <casey.hattori@gmail.com>
23157         Clear console.time timers when changing page.
23159         Reviewed by Geoff Garen.
23161         * page/InspectorController.cpp:
23162         (WebCore::InspectorController::didCommitLoad):
23164 2008-08-19  Eric Carlson  <eric.carlson@apple.com>
23166         Reviewed by Adele.
23168         Fix for <rdar://problem/6154695> Full-page movies flicker while playing
23169         https://bugs.webkit.org/show_bug.cgi?id=20404
23171         Ignore setVisible() when visibility doesn't change.
23173         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
23174         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
23175         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
23176         (WebCore::MediaPlayerPrivate::setVisible):
23178 2008-08-19  Timothy Hatcher  <timothy@apple.com>
23180         Fixes a bug in the Profile view where switching sort order, then
23181         switching from heavy to tree mode would show the tree in the
23182         previous sort order.
23184         https://bugs.webkit.org/show_bug.cgi?id=20441
23186         Reviewed by Kevin McCullough.
23188         * page/inspector/ProfileView.js:
23189         (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
23190         on the next profile before assigning it to this.profile.
23191         (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
23192         (WebInspector.ProfileView.prototype._sortProfile): Moves from
23193         _sortData and takes a profile argument. If the profile passed in
23194         matches the this.profile, then call refresh.
23196 2008-08-18  Timothy Hatcher  <timothy@apple.com>
23198         Changed the default sort order now that heavy view is the default.
23199         Also fixes a bug where the heavy profile was not sorted at first.
23201         https://bugs.webkit.org/show_bug.cgi?id=20440
23203         Reviewed by Kevin McCullough.
23205         * page/inspector/ProfileView.js:
23206         (WebInspector.ProfileView): Changed the default sort column. Also assign
23207         heavyProfile to profile, so the sortSelfTimeDescending call happens
23208         on the heavy profile before assigning to this.profile.
23210 2008-08-18  Timothy Hatcher  <timothy@apple.com>
23212         Add support for editing DOM properties and scope variables by double
23213         clicking a property to enter edit mode.
23215         https://bugs.webkit.org/show_bug.cgi?id=20415
23217         Reviewed by Kevin McCullough.
23219         * page/inspector/ObjectPropertiesSection.js:
23220         (WebInspector.ObjectPropertiesSection): Set editable to true by default.
23221         (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
23222         Factored out code into update, and calls update.
23223         (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
23224         Call removeChildren since this method can be called multiple times now.
23225         (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
23226         gets made later in onattach.
23227         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
23228         if shouldRefreshChildren is true. Call removeChildren since this method can be
23229         called multiple times now.
23230         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
23231         (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
23232         (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
23233         this element (code moved from the constructor.)
23234         (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
23235         sibling property elements.
23236         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
23237         WebInspector.startEditing after rememebring some context.
23238         (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
23239         for the list element, since it might have scrolled during editing.
23240         (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
23241         then restore the state from the context. Then call update to restore the title.
23242         (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
23243         if the user input and the previous input are the same. Call editingEnded, then call applyExpression
23244         to commit the user input.
23245         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
23246         and stores the result on the object for the property name of this element. If the expression is
23247         empty, delete the property and remove the tree element.
23248         * page/inspector/ScopeChainSidebarPane.js:
23249         (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
23250         property on each ObjectPropertiesSection.
23251         (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
23252         since it is now implemented.
23253         * page/inspector/ScriptsPanel.js:
23254         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
23255         that defaults to true if omitted. It specifies whether to call update on the scope chain.
23256         * page/inspector/inspector.css: New styles.
23257         * page/inspector/treeoutline.js:
23258         (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
23259         change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
23261 2008-08-18  Timothy Hatcher  <timothy@apple.com>
23263         Surround the expression to be evaluated in parenthesis so the
23264         result of the eval is the result of the whole expression not
23265         the last potential sub-expression. So evaluating {x: 123}
23266         will show the Object not 123.
23268         https://bugs.webkit.org/show_bug.cgi?id=20428
23270         Reviewed by Kevin McCullough.
23272         * page/inspector/Console.js:
23273         (Console.prototype._evalInInspectedWindow): Add parenthesis
23274         around the expression. And add couple comments.
23276 2008-08-19 Kevin McCullough <kmccullough@apple.com>
23278         Reviewed by Geoff.
23280         -Implement a page() function to extract a common code pattern.
23282         * WebCore.xcodeproj/project.pbxproj:
23283         * page/Console.cpp:
23284         (WebCore::Console::addMessage):
23285         (WebCore::Console::error):
23286         (WebCore::Console::info):
23287         (WebCore::Console::log):
23288         (WebCore::Console::dir):
23289         (WebCore::Console::assertCondition):
23290         (WebCore::Console::time):
23291         (WebCore::Console::timeEnd):
23292         (WebCore::Console::group):
23293         (WebCore::Console::groupEnd):
23294         (WebCore::Console::finishedProfiling):
23295         (WebCore::Console::warn):
23296         (WebCore::Console::framePage):
23297         * page/Console.h:
23299 2008-08-12  Darin Adler  <darin@apple.com>
23301         Reviewed by Geoff.
23303         - eliminate JSValue::type()
23305         * bridge/c/c_instance.cpp:
23306         (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
23307         argument instead of JSType argument. Removed unneeded code to handle
23308         boolean, since that's never passed.
23309         * bridge/c/c_instance.h: Ditto.
23311         * bridge/c/c_utility.cpp:
23312         (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
23313         instead of JSValue::type(). Removed unneeded code to handle
23314         "unspecified".
23316         * bridge/jni/jni_instance.cpp:
23317         (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
23318         instead of JSType argument. Removed unneeded code to handle boolean.
23319         * bridge/jni/jni_instance.h: Ditto.
23321         * bridge/jni/jni_jsobject.mm:
23322         (JavaJSObject::convertValueToJObject): Use JSValue::is functions
23323         instead of JSValue::type().
23325         * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
23326         instead of JSType argument. Removed unused argument.
23327         * bridge/objc/objc_instance.mm:
23328         (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
23329         (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
23330         instead of JSType argument. Removed unneeded code to handle boolean
23331         and another dead code path for unknown types.
23333         * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
23334         instead of JSType argument. Removed override of type() that caused
23335         the fallback object to return "UndefinedType" when there is no
23336         invokeUndefinedMethodFromWebScript:withArguments: method defined.
23337         That didn't accomplish much, since most checks for undefined don't
23338         ever call type().
23339         * bridge/objc/objc_runtime.mm:
23340         (ObjcFallbackObjectImp::defaultValue): Ditto.
23342         * bridge/qt/qt_instance.cpp:
23343         (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
23344         argument instead of JSType argument. Removed unneeded code to handle
23345         boolean.
23346         * bridge/qt/qt_instance.h: Ditto.
23348         * bridge/runtime.h:
23349         (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
23350         unsed argument.
23351         * bridge/runtime_object.cpp:
23352         (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
23353         argument instead of JSType argument.
23354         * bridge/runtime_object.h: Ditto.
23356 2008-08-18  Maxime Britto  <britto@apple.com>
23358         Reviewed by Adele.
23360         <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
23361         Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
23362         We shouldn't be able to create another window while we are in pan scrolling.
23363         Other browsers behaviors :
23364           FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
23365           IE7 : Keys are not disabled but stops immediately the panning.
23366         This patch matches FF3 behavior by disabling every key but the esc key.
23368         * page/EventHandler.cpp:
23369         (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
23370         (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
23372 2008-08-18  Dan Bernstein  <mitz@apple.com>
23374         Reviewed by Dave Hyatt.
23376         - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
23378         Test: fast/replaced/max-width-percent.html
23380         Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
23381         When false, max-width is not factored into the
23382         calculation.
23383         Changed RenderReplaced and subclasses' calcPrefWidths() to call
23384         calcReplacedWidth(false) and then apply max-width only if it has a
23385         fixed, positive value.
23387         * rendering/RenderBox.cpp:
23388         (WebCore::RenderBox::calcReplacedWidth):
23389         * rendering/RenderBox.h:
23390         * rendering/RenderImage.cpp:
23391         (WebCore::RenderImage::calcReplacedWidth):
23392         (WebCore::RenderImage::calcPrefWidths): 
23393         * rendering/RenderImage.h:
23394         * rendering/RenderReplaced.cpp:
23395         (WebCore::RenderReplaced::calcPrefWidths):
23396         * rendering/RenderSVGRoot.cpp:
23397         (WebCore::RenderSVGRoot::calcPrefWidths):
23398         * rendering/RenderVideo.cpp:
23399         (WebCore::RenderVideo::calcReplacedWidth):
23400         (WebCore::RenderVideo::calcPrefWidths):
23401         * rendering/RenderVideo.h:
23403 2008-08-18  Daniel Macks  <dmacks@netspace.org>
23405         Reviewed by Mark Rowe.
23407         https://bugs.webkit.org/show_bug.cgi?id=20410
23408         More portable/self-documenting replacement for SIZE_MAX.
23410         * platform/network/curl/FormDataStreamCurl.cpp:
23411         (WebCore::FormDataStream::read):
23413 2008-08-18  Simon Fraser  <simon.fraser@apple.com>
23415         Reviewed by Dave Hyatt
23417         Need to make sure we have an Animation in the AnimationList
23418         before setting the initial value.
23419         https://bugs.webkit.org/show_bug.cgi?id=20408
23421         Test: fast/css/transition_shorthand_parsing.html
23423         * css/CSSStyleSelector.cpp:
23425 2008-08-18  Kevin McCullough  <kmccullough@apple.com>
23427         Reviewed by Tim.
23429         <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
23430         is another profile.
23432         * page/inspector/ProfilesPanel.js:
23434 2008-08-18  Kevin McCullough  <kmccullough@apple.com>
23436         Reviewed by Geoff.
23438         <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
23439         all console messages
23441         * page/inspector/Console.js:
23443 2008-08-18  Dirk Schulze  <vbs85@gmx.de>
23445         Reviewed by Eric Seidel.
23447         Fixed Canvas for Cairo. Stroke and fill colors didn't work after
23448         the canvas clean up.
23450         https://bugs.webkit.org/show_bug.cgi?id=20405
23452         * html/CanvasRenderingContext2D.cpp:
23453         (WebCore::CanvasRenderingContext2D::fill):
23454         (WebCore::CanvasRenderingContext2D::stroke):
23455         (WebCore::CanvasRenderingContext2D::fillRect):
23457 2008-08-17  Timothy Hatcher  <timothy@apple.com>
23459         Complete in scope variables in the Console when paused.
23461         https://bugs.webkit.org/show_bug.cgi?id=19115
23463         Reviewed by Geoffrey Garen.
23465         * page/inspector/Console.js:
23466         (WebInspector.Console.prototype.completions): If the expressionString
23467         is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
23468         to get an object that declares all the in scope variables. That way
23469         "top level" expressions are completed.
23470         * page/inspector/ScriptsPanel.js:
23471         (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
23472         Return an object that has all the variables that are in scope for the
23473         selected call frame. The value of each property is just true.
23474         The return object is useful for quick lookups or auto completion.
23476 2008-08-17  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
23478         Not reviewed.
23480         Speculative Qt build fix.
23482         * bridge/qt/qt_runtime.cpp:
23483         (KJS::Bindings::convertValueToQVariant):
23484         (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
23486 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
23488         Reviewed by Cameron Zwarich.
23489         
23490         Updated project files to XCode 3.1.
23492         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
23494 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
23496         Reviewed by Cameron Zwarich.
23498         Made room for a free word in JSCell.
23499         
23500         Changed JSDOMWindowBase to store its auxiliary data in a subclass of
23501         JSGlobalData, so the two could share a pointer.
23502         
23503         Added a bunch of ASSERTs, to help catch over-sized objects.
23505 2008-08-15  Mark Rowe  <mrowe@apple.com>
23507         Reviewed by Dan Bernstein.
23509         Disable dead code stripping in debug builds.
23511         * Configurations/Base.xcconfig:
23512         * WebCore.xcodeproj/project.pbxproj:
23514 2008-08-15  Mark Rowe  <mrowe@apple.com>
23516         Rubber-stamped by Geoff Garen.
23518         <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
23520         * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
23521         between the Debug configuration and debug Production variant.
23522         * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
23524 2008-08-15  Antti Koivisto  <antti@apple.com>
23526         Reviewed by Anders.
23528         Don't start preloading body resources before the head is complete. This prevents
23529         body preloads from slowing down initial display when there is limited amount
23530         of bandwidth available.
23531         
23532         Works by queuing up found body preloads to DocLoader and only issuing them
23533         after document has rendering.
23534         
23535         With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
23536         without affecting complete load time.
23538         * html/PreloadScanner.cpp:
23539         (WebCore::PreloadScanner::PreloadScanner):
23540         (WebCore::PreloadScanner::scanningBody):
23541         (WebCore::PreloadScanner::emitTag):
23542         (WebCore::PreloadScanner::emitCSSRule):
23543         * html/PreloadScanner.h:
23544         * loader/DocLoader.cpp:
23545         (WebCore::DocLoader::preload):
23546         (WebCore::DocLoader::checkForPendingPreloads):
23547         (WebCore::DocLoader::requestPreload):
23548         * loader/DocLoader.h:
23549         * loader/loader.cpp:
23550         (WebCore::Loader::Host::didFinishLoading):
23551         (WebCore::Loader::Host::didFail):
23553 2008-08-15  Ada Chan  <adachan@apple.com>
23555         Use item's computed style if the render style is 0 before falling back to the <select>'s style.
23556         This way style set on an <hr> within a <select> will be honored.
23558         Reviewed by Dave Hyatt and Dan Bernstein.
23560         * rendering/RenderMenuList.cpp:
23561         (WebCore::RenderMenuList::itemStyle):
23563 2008-08-15  Antti Koivisto  <antti@apple.com>
23565         Reviewed by Oliver.
23567         Some loader performance tweaks:
23568         - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
23569           Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue 
23570           to not delay rendering.
23571         - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
23572           can take long time when latency is high so it is good to get started early.
23573         - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
23574           load queues. Issue remaining loads to the network layer.
23576         * loader/loader.cpp:
23577         (WebCore::Loader::determinePriority):
23578         (WebCore::Loader::load):
23579         (WebCore::Loader::Host::servePendingRequests):
23580         * loader/loader.h:
23582 2008-08-15  Timothy Hatcher  <timothy@apple.com>
23584         Detach the script debugger when the Web Inspector's window closes.
23585         This has always been the intended design, but never fully implemented.
23587         https://bugs.webkit.org/show_bug.cgi?id=20402
23589         Reviewed by Adam Roben.
23591         * page/InspectorController.cpp:
23592         (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
23593         if the window is no longer visible.
23595 2008-08-15  HÃ¥vard Wall  <hwall@trolltech.com>
23597         Reviewed by Simon.
23599         Fixes:    compile with QT_NO_CONTEXTMENU
23601         * platform/qt/PlatformMouseEventQt.cpp:
23602         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
23603         * platform/qt/PlatformScrollBarQt.cpp:
23604         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
23605         (WebCore::PlatformScrollbar::handleContextMenuEvent):
23607 2008-08-15  HÃ¥vard Wall  <hwall@trolltech.com>
23609         Reviewed by Simon.
23611         Fixes: compile with QT_NO_WHEELEVENT
23613         * platform/qt/WheelEventQt.cpp:
23614         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
23616 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
23618         Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
23620         https://bugs.webkit.org/show_bug.cgi?id=20210
23622         Reviewed by Tim Hatcher.
23624         * page/Console.cpp:
23625         (WebCore::Console::group):
23626         (WebCore::Console::groupEnd):
23627         * page/Console.h:
23628         (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
23629         * page/InspectorController.cpp:
23630         (WebCore::InspectorController::startGroup): Increments group level by
23631         one and adds console message with StartGroupMessaageLevel.
23632         (WebCore::InspectorController::endGroup): Decrements group level by one
23633         and adds console message with EndGroupMessaageLevel.
23634         * page/InspectorController.h:
23635         * page/inspector/Console.js:
23636         (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
23637         if the message is StartGroupMessaageLevel.
23638         (WebInspector.ConsoleMessage.prototype.toMessageElement):
23639         (WebInspector.ConsoleGroup.prototype.addMessage):
23640         * page/inspector/inspector.js:
23642 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
23644         Adds support for console.dir to the Inspector
23646         https://bugs.webkit.org/show_bug.cgi?id=19155
23648         Reviewed by Tim Hatcher.
23650         * bindings/js/JSConsoleCustom.cpp:
23651         (WebCore::JSConsole::dir):
23652         * page/Console.cpp:
23653         (WebCore::Console::dir):
23654         * page/Console.h: Added ObjectMessageLevel.
23655         * page/Console.idl: Added console.dir.
23656         * page/inspector/Console.js:
23657         (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
23658         ObjectPropertiesSection if the MessageLevel is Object.
23659         * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
23660         used on primitive data types.
23661         * page/inspector/inspector.css:
23663 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
23665         Adds support for clear() in the Inspector console.
23667         https://bugs.webkit.org/show_bug.cgi?id=19873
23669         Reviewed by Tim Hatcher.
23671         * page/inspector/Console.js:
23673 2008-08-15  Anthony Ricaud  <rik24d@gmail.com>
23675         Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
23677         Platform distinction and modifier key matching adjusted
23678         by Daniel Jalkut <jalkut@red-sweater.com>
23680         Bug 16313: text search (find) keybindings should work in the Web Inspector
23681         https://bugs.webkit.org/show_bug.cgi?id=16313
23683         Reviewed by Tim Hatcher.
23685         * page/inspector/inspector.js: Added a case for the F key
23687 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
23689         Fix for error when the string doesn't contain a webkit-profile link.
23691         https://bugs.webkit.org/show_bug.cgi?id=20399
23693         Reviewed by Tim Hatcher.
23695         * page/inspector/inspector.js:
23697 2008-08-15  Timothy Hatcher  <timothy@apple.com>
23699         Fixes two bugs where JavaScript could be executed from the page
23700         while the debugger is paused.
23702         The first issue was JSLazyEventListener not checking the paused
23703         state before parsing the code.
23705         The second issue was with the PageGroup version of
23706         JavaScriptDebugServer::setJavaScriptPaused always passing false
23707         to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
23708         and not the paused argument.
23710         https://bugs.webkit.org/show_bug.cgi?id=20284
23712         Reviewed by Adam Roben.
23714         * bindings/js/JSEventListener.cpp:
23715         (WebCore::JSLazyEventListener::parseCode): Check the paused
23716         state of the ScriptController. Return early if paused.
23717         * manual-tests/inspector/debugger-execution-while-paused.html: Added.
23718         * page/JavaScriptDebugServer.cpp:
23719         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
23720         Pass the paused argument to the Page version of setJavaScriptPaused.
23722 2008-08-15  Alexey Proskuryakov  <ap@webkit.org>
23724         Reviewed by Geoff Garen.
23726         JSStringRef is created context-free, but can get linked to one via an identifier table,
23727         breaking an implicit API contract.
23729         * page/InspectorController.cpp:
23730         (WebCore::jsStringRef):
23731         (WebCore::InspectorController::didParseSource):
23732         (WebCore::InspectorController::failedToParseSource):
23733         * page/JavaScriptProfile.cpp:
23734         (WebCore::getTitleCallback):
23735         Updated for JavaScriptCore changes.
23737 2008-08-14  Kevin Ollivier  <kevino@theolliviers.com>
23739         wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
23740         an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
23742         * platform/graphics/AffineTransform.h:
23744 2008-08-14  Eric Carlson  <eric.carlson@apple.com>
23746         Reviewed by Adele.
23748         Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
23749         <video> elements on Windows never becomes visible when a page is restored from the cache
23751         Always pass "set" calls down to MediaPlayerPrivate instead of only when the
23752         value is different from the cached value. Let the implementation decide when
23753         to avoid work because nothing has changed.
23755         * platform/graphics/MediaPlayer.cpp:
23756         (WebCore::MediaPlayer::setVolume):
23757         (WebCore::MediaPlayer::setRate):
23758         (WebCore::MediaPlayer::setRect):
23759         (WebCore::MediaPlayer::setVisible):
23761 2008-08-14  Keishi Hattori  <casey.hattori@gmail.com>
23763         Make Firebug command line API respect predefined variables.
23765         https://bugs.webkit.org/show_bug.cgi?id=20385
23767         Reviewed by Tim Hatcher.
23769         * page/inspector/Console.js:
23771 2008-08-14  Sam Weinig  <sam@webkit.org>
23773         Reviewed by Geoffrey Garen and Timothy Hatcher.
23775         Allow programatically setting the HTMLTokenizers time delay and chunk size
23776         which are used for determining how aggressively we yield.
23778         * WebCore.base.exp:
23779         * html/HTMLTokenizer.cpp:
23780         (WebCore::HTMLTokenizer::begin):
23781         (WebCore::HTMLTokenizer::continueProcessing):
23782         * html/HTMLTokenizer.h:
23783         * page/Page.cpp:
23784         (WebCore::Page::Page):
23785         (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
23786         (WebCore::Page::setCustomHTMLTokenizerChunkSize):
23787         * page/Page.h:
23788         (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
23789         (WebCore::Page::customHTMLTokenizerTimeDelay):
23790         (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
23791         (WebCore::Page::customHTMLTokenizerChunkSize):
23793 2008-08-14  Eric Seidel  <eric@webkit.org>
23795         Reviewed by Beth.
23797         Move us one step closer to cross-platform svg/graphics code
23799         * WebCore.xcodeproj/project.pbxproj:
23800         * html/CanvasStyle.cpp:
23801         * platform/graphics/Color.cpp:
23802         (WebCore::colorWithOverrideAlpha):
23803         * platform/graphics/Color.h:
23804         * svg/graphics/cg/CgSupport.cpp:
23805         (WebCore::applyStrokeStyleToContext):
23806         (WebCore::strokeBoundingBox):
23807         * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
23808         (WebCore::SVGPaintServerSolid::setup):
23810 2008-08-14  Eric Seidel  <eric@webkit.org>
23812         Reviewed by Alexey.
23814         Remove un-need includes from HTMLCanvas and use the
23815         Gradient platform abstraction in one place in CanvasStyle
23817         * html/CanvasRenderingContext2D.cpp:
23818         (WebCore::CanvasRenderingContext2D::fillRect):
23819         * html/CanvasStyle.cpp:
23820         * html/HTMLCanvasElement.cpp:
23822 2008-08-14  Eric Seidel  <eric@webkit.org>
23824         Reviewed by Alexey.
23826         Clean up GlyphBuffer.h, removing more #ifdefs
23828         * platform/graphics/GlyphBuffer.h:
23829         (WebCore::GlyphBuffer::glyphAt):
23830         (WebCore::GlyphBuffer::advanceAt):
23831         (WebCore::GlyphBuffer::add):
23833 2008-08-14  Eric Seidel  <eric@webkit.org>
23835         Reviewed by Sam.
23837         Clean up AffineTransform.h, removing #ifdefs
23839         * platform/graphics/AffineTransform.h:
23840         * platform/graphics/cairo/AffineTransformCairo.cpp:
23841         * platform/graphics/cg/AffineTransformCG.cpp:
23842         * platform/graphics/qt/AffineTransformQt.cpp:
23843         * platform/graphics/wx/AffineTransformWx.cpp:
23845 2008-08-14  Dan Bernstein  <mitz@apple.com>
23847         - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
23849         * platform/graphics/cairo/ImageSourceCairo.cpp:
23850         (WebCore::ImageSource::frameSizeAtIndex):
23851         * platform/graphics/qt/ImageSourceQt.cpp:
23852         (WebCore::ImageSource::frameSizeAtIndex):
23853         * platform/graphics/wx/ImageSourceWx.cpp:
23854         (WebCore::ImageSource::frameSizeAtIndex):
23856 2008-08-14  Dan Bernstein  <mitz@apple.com>
23858         Reviewed by Brady Eidson.
23860         - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
23862         * platform/graphics/BitmapImage.cpp: 
23863         (WebCore::BitmapImage::BitmapImage): Added initialization of
23864         m_hasUniformFrameSize.
23865         (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
23866         cached frame for use in decoded size computation and for setting
23867         m_hasUniformFrameSize.
23868         (WebCore::BitmapImage::currentFrameSize): Added.
23869         (WebCore::BitmapImage::dataChanged): Added code to reset
23870         m_hasUniformFrameSize.
23871         * platform/graphics/BitmapImage.h: Added currentFrameSize() and
23872         m_hasUniformFrameSize.
23873         * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
23874         * platform/graphics/cg/ImageCG.cpp:
23875         (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
23876         fixes the bug, which resulted from assuming that the frame being drawn 
23877         was the same size as the first frame.
23878         * platform/graphics/cg/ImageSourceCG.cpp:
23879         (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
23880         changed to get the size of the frame at the given index.
23881         (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
23883 2008-08-13  Simon Fraser  <simon.fraser@apple.com>
23885         Reviewed by Eric Seidel
23887         Fix @font-face inside @media rule crash.
23888         https://bugs.webkit.org/show_bug.cgi?id=20367
23890         Test: fast/css/font-face-in-media-rule.html
23892         * css/CSSStyleSelector.cpp:
23893         (WebCore::CSSRuleSet::addRulesFromSheet):
23895 2008-08-14  Kevin Ollivier  <kevino@theolliviers.com>
23897         wx build fixes after recent changes to Canvas and Image classes.
23899         * platform/graphics/Pattern.h:
23900         * platform/graphics/wx/GradientWx.cpp:
23901         (WebCore::Gradient::fill):
23902         * platform/graphics/wx/GraphicsContextWx.cpp:
23903         (WebCore::GraphicsContext::applyFillPattern):
23904         (WebCore::GraphicsContext::applyStrokePattern):
23905         * platform/graphics/wx/ImageBufferWx.cpp:
23906         (WebCore::ImageBuffer::image):
23907         * platform/graphics/wx/ImageWx.cpp:
23908         (WebCore::Image::loadPlatformResource):
23910 2008-08-14  Maxime Britto  <britto@apple.com>
23912         Reviewed by Sam Weinig.
23914         rdar://6102511
23915         When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
23916         IE and FF are both preventing the keyboard event to interact with the page while scrolling.
23917         Some differences exist between them concerning the kind of key which is pressed :
23918         IE7 : every key leads to a stop of the panning
23919         FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
23920         For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
23922         * page/EventHandler.cpp:
23923         (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
23925 2008-08-14  Christian Dywan  <christian@twotoasts.de>
23927         Gtk+/ Cairo build fix, patch by Dirk Schulze.
23929         * html/CanvasStyle.cpp:
23930         * platform/graphics/cairo/PatternCairo.cpp:
23931         (WebCore::Pattern::createPlatformPattern):
23932         * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
23934 2008-08-14  Kevin McCullough  <kmccullough@apple.com>
23936         Reviewed by Tim.
23938         <rdar://problem/6115819> Notify of profile in console
23940         * page/InspectorController.cpp:
23941         (WebCore::InspectorController::addProfile):
23942         (WebCore::InspectorController::addProfileMessageToConsole): Called by
23943         addProfile this is the function that adds a message to the console that
23944         a profile finished.
23945         * page/InspectorController.h:
23946         * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
23947         the console log to the profile in the web inspector.
23948         (WebCore::getUniqueIdCallback):
23949         (WebCore::ProfileClass):
23950         * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
23951         Id to bring up the requested profile.  Also select and reveal the
23952         profile in the profile panel.  And created displayTitleForProfileLink()
23953         which formats a title taking into account if it's user initiated or if
23954         there are multiples. Lasty, I put the user initiated profile in a
23955         variable.
23956         * page/inspector/inspector.js: Make the profile title be a clickable
23957         link that will take the user to the identified profile.  Also expose
23958         the count of user initiated profiles so they can be displayed in the
23959         console with the correct count.
23961 2008-08-14  Timothy Hatcher  <timothy@apple.com>
23963         Avoid formating ConsoleMessages twice unless the message will be
23964         displayed in bubbles of a SourceFrame.
23966         Reviewed by Kevin McCullough.
23968         * page/inspector/Console.js:
23969         (WebInspector.ConsoleMessage): Only format the plain text message
23970         if the URL and line are valid and the level is error or warning.
23971         (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
23972         Helper to test for error or warning level.
23973         * page/inspector/SourceFrame.js:
23974         (WebInspector.SourceFrame.prototype.addMessage): Don't add the
23975         message if there is no message or valid line or if the msg
23976         isn't an error or warning.
23978 2008-08-14  Jan Michael Alonzo  <jmalonzo@webkit.org>
23980         partial Gtk build fix, not reviewed
23982         * platform/graphics/cairo/PatternCairo.cpp:
23984 2008-08-13  Sam Weinig  <sam@webkit.org>
23986         Reviewed by Anders Carlsson.
23988         Fix style issue.
23990         * html/HTMLMediaElement.cpp:
23991         (WebCore::HTMLMediaElement::pickMedia):
23993 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
23995         Build fix for Cairo, not reviewed. (exposed by gtk build slave)
23996         Continue Erics build fixes, after the Image cleanup.
23998         * platform/graphics/cairo/ImageBufferCairo.cpp:
23999         (WebCore::ImageBuffer::image):
24001 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
24003         Build fix for Qt, not reviewed.
24004         Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
24006         * dom/XMLTokenizer.cpp:
24007         (WebCore::eventuallyMarkAsParserCreated): Was erre
24009 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
24011         Build fix, not reviewed.
24012         Add ScriptElement.cpp to Gtk build.
24014         * GNUmakefile.am:
24016 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
24018         Reviewed by Eric.
24020         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
24022         Refactor HTMLScriptElement's code into a common base class: ScriptElement.
24023         SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
24025         This resolves code duplications and allows us to completly replace the old
24026         SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
24028         As ScriptElement, doesn't actually inherit from Element, we may want to rename
24029         it, though StyleElement uses the same naming convention, so I left it as is for now.
24030         Eventually we'll rename both files in future.
24032         No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
24034         * WebCore.pro: Add new ScriptElement.cpp to build.
24035         * WebCore.vcproj/WebCore.vcproj: Ditto.
24036         * WebCore.xcodeproj/project.pbxproj: Ditto.
24037         * WebCoreSources.bkl: Dutto.
24038         * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
24039         (WebCore::ScriptElement::insertedIntoDocument):
24040         (WebCore::ScriptElement::removedFromDocument):
24041         (WebCore::ScriptElement::childrenChanged):
24042         (WebCore::ScriptElement::finishParsingChildren):
24043         (WebCore::ScriptElement::handleSourceAttribute):
24044         (WebCore::isSupportedJavaScriptLanguage):
24045         (WebCore::ScriptElementData::ScriptElementData):
24046         (WebCore::ScriptElementData::~ScriptElementData):
24047         (WebCore::ScriptElementData::requestScript):
24048         (WebCore::ScriptElementData::evaluateScript):
24049         (WebCore::ScriptElementData::stopLoadRequest):
24050         (WebCore::ScriptElementData::notifyFinished):
24051         (WebCore::ScriptElementData::ignoresLoadRequest):
24052         (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
24053         (WebCore::ScriptElementData::scriptCharset):
24054         (WebCore::ScriptElementData::scriptContent):
24055         * dom/ScriptElement.h: Added.
24056         (WebCore::ScriptElement::ScriptElement):
24057         (WebCore::ScriptElement::~ScriptElement):
24058         (WebCore::ScriptElementData::element):
24059         (WebCore::ScriptElementData::createdByParser):
24060         (WebCore::ScriptElementData::setCreatedByParser):
24061         * dom/XMLTokenizer.cpp:
24062         (WebCore::isScriptElement):
24063         (WebCore::castToScriptElement):
24064         (WebCore::eventuallyMarkAsParserCreated):
24065         (WebCore::XMLTokenizer::startElementNs):
24066         (WebCore::XMLTokenizer::endElementNs):
24067         (WebCore::createXHTMLParserErrorHeader):
24068         (WebCore::XMLTokenizer::insertErrorMessageBlock):
24069         * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
24070         (WebCore::HTMLScriptElement::HTMLScriptElement):
24071         (WebCore::HTMLScriptElement::~HTMLScriptElement):
24072         (WebCore::HTMLScriptElement::isURLAttribute):
24073         (WebCore::HTMLScriptElement::setCreatedByParser):
24074         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
24075         (WebCore::HTMLScriptElement::childrenChanged):
24076         (WebCore::HTMLScriptElement::parseMappedAttribute):
24077         (WebCore::HTMLScriptElement::finishParsingChildren):
24078         (WebCore::HTMLScriptElement::insertedIntoDocument):
24079         (WebCore::HTMLScriptElement::removedFromDocument):
24080         (WebCore::HTMLScriptElement::text):
24081         (WebCore::HTMLScriptElement::setText):
24082         (WebCore::HTMLScriptElement::setHtmlFor):
24083         (WebCore::HTMLScriptElement::setEvent):
24084         (WebCore::HTMLScriptElement::charset):
24085         (WebCore::HTMLScriptElement::src):
24086         (WebCore::HTMLScriptElement::type):
24087         (WebCore::HTMLScriptElement::scriptCharset):
24088         (WebCore::HTMLScriptElement::scriptContent):
24089         (WebCore::HTMLScriptElement::sourceAttributeValue):
24090         (WebCore::HTMLScriptElement::charsetAttributeValue):
24091         (WebCore::HTMLScriptElement::typeAttributeValue):
24092         (WebCore::HTMLScriptElement::languageAttributeValue):
24093         (WebCore::HTMLScriptElement::dispatchLoadEvent):
24094         (WebCore::HTMLScriptElement::dispatchErrorEvent):
24095         * html/HTMLScriptElement.h:
24096         * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
24097         * svg/SVGScriptElement.cpp:
24098         (WebCore::SVGScriptElement::SVGScriptElement):
24099         (WebCore::SVGScriptElement::scriptContent):
24100         (WebCore::SVGScriptElement::sourceAttributeValue):
24101         (WebCore::SVGScriptElement::charsetAttributeValue):
24102         (WebCore::SVGScriptElement::typeAttributeValue):
24103         (WebCore::SVGScriptElement::languageAttributeValue):
24104         (WebCore::SVGScriptElement::dispatchLoadEvent):
24105         (WebCore::SVGScriptElement::dispatchErrorEvent):
24106         * svg/SVGScriptElement.h:
24107         (WebCore::SVGScriptElement::setCreatedByParser):
24109 2008-08-13  Eric Seidel  <eric@webkit.org>
24111         Attempt to fix the Gtk build, no review.
24113         I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
24115         * platform/graphics/GraphicsContext.h:
24116         * platform/graphics/cairo/GraphicsContextCairo.cpp:
24117         * platform/graphics/qt/GradientQt.cpp:
24118         * platform/graphics/qt/GraphicsContextQt.cpp:
24119         * platform/gtk/RenderThemeGtk.cpp:
24120         (WebCore::paintMozWidget):
24122 2008-08-13  Eric Seidel  <eric@webkit.org>
24124         Yet another attempt to fix the Qt build, no review.
24126         * platform/graphics/qt/GradientQt.cpp:
24127         * platform/graphics/qt/GraphicsContextQt.cpp:
24128         (WebCore::GraphicsContext::applyStrokePattern):
24129         (WebCore::GraphicsContext::applyFillPattern):
24131 2008-08-13  Eric Seidel  <eric@webkit.org>
24133         Attempt to fix the Windows build, no review.
24135         * platform/win/CursorWin.cpp:
24136         (WebCore::loadCursorByName):
24137         * platform/win/ScrollViewWin.cpp:
24138         (WebCore::ScrollView::paint):
24140 2008-08-13  Eric Seidel  <eric@webkit.org>
24142         Attempt to fix the Windows build, no review.
24144         * platform/win/CursorWin.cpp:
24145         (WebCore::loadCursorByName):
24146         * platform/win/ScrollViewWin.cpp:
24147         (WebCore::ScrollView::paint):
24149 2008-08-13  Eric Seidel  <eric@webkit.org>
24151         Attempt to fix the Qt build, no review.
24153         * platform/graphics/qt/ImageBufferQt.cpp:
24154         (WebCore::ImageBuffer::image):
24156 2008-08-13  Eric Seidel  <eric@webkit.org>
24158         Attempt to fix the Windows build, no review.
24160         * platform/graphics/win/ImageWin.cpp:
24161         (WebCore::Image::loadPlatformResource):
24162         * plugins/win/PluginViewWin.cpp:
24163         (WebCore::PluginView::paintMissingPluginIcon):
24165 2008-08-13  Eric Seidel  <eric@webkit.org>
24167         Another attempt to fix the Qt build, no review.
24169         * platform/graphics/qt/ImageQt.cpp:
24170         * platform/graphics/qt/StillImageQt.h:
24172 2008-08-13  Eric Seidel  <eric@webkit.org>
24174         No review, build fix only.
24176         Fix mac build, due to change in new code since my patch was written.
24178         * svg/graphics/cg/SVGResourceMaskerCg.mm:
24179         (WebCore::SVGResourceMasker::applyMask):
24181 2008-08-13  Eric Seidel  <eric@webkit.org>
24183         Build fix only, no review.
24185         Attempt to fix the Qt build.
24187         * platform/graphics/qt/ImageBufferQt.cpp:
24188         * platform/graphics/qt/StillImageQt.h:
24189         (WebCore::StillImage::create):
24190         (WebCore::StillImage::destroyDecodedData):
24191         (WebCore::StillImage::decodedSize):
24193 2008-08-13  Eric Seidel  <eric@webkit.org>
24195         Build fix only, no review.
24197         Attempt to fix the Qt build.
24199         * html/CanvasStyle.cpp:
24200         (WebCore::CanvasStyle::applyStrokeColor):
24201         (WebCore::CanvasStyle::applyFillColor):
24203 2008-08-13  Eric Seidel  <eric@webkit.org>
24205         Reviewed by Sam.
24207         Match HTML5 spec by throwing INVALID_STATE_ERR when
24208         createPattern is called and the HTMLImageElement is not
24209         yet done loading the image (!isComplete)
24210         https://bugs.webkit.org/show_bug.cgi?id=20351
24212         Test: http/misc/canvas-pattern-from-incremental-image.html
24214         * html/CanvasRenderingContext2D.cpp:
24215         (WebCore::CanvasRenderingContext2D::createPattern):
24217 2008-08-13  Eric Seidel  <eric@webkit.org>
24219         Reviewed by Niko.
24221         Split out a Pattern class from CanvasPattern
24222         and remove all the Pattern-related #ifdefs
24223         (This will break non-mac platforms!  I will fix them.)
24224         https://bugs.webkit.org/show_bug.cgi?id=20351
24226         * GNUmakefile.am:
24227         * WebCore.pro:
24228         * WebCore.vcproj/WebCore.vcproj:
24229         * WebCore.xcodeproj/project.pbxproj:
24230         * WebCoreSources.bkl:
24231         * html/CanvasPattern.cpp:
24232         (WebCore::CanvasPattern::parseRepetitionType):
24233         (WebCore::CanvasPattern::CanvasPattern):
24234         * html/CanvasPattern.h:
24235         (WebCore::CanvasPattern::create):
24236         (WebCore::CanvasPattern::pattern):
24237         (WebCore::CanvasPattern::originClean):
24238         * html/CanvasRenderingContext2D.cpp:
24239         (WebCore::CanvasRenderingContext2D::createPattern):
24240         (WebCore::CanvasRenderingContext2D::applyStrokePattern):
24241         (WebCore::CanvasRenderingContext2D::applyFillPattern):
24242         * html/CanvasRenderingContext2D.h:
24243         * html/HTMLCanvasElement.cpp:
24244         * html/HTMLCanvasElement.h:
24245         * loader/FrameLoader.cpp:
24246         (WebCore::FrameLoader::createHistoryItem):
24247         * platform/graphics/GraphicsContext.h:
24248         * platform/graphics/cairo/GraphicsContextCairo.cpp:
24249         (WebCore::GraphicsContext::applyStrokePattern):
24250         (WebCore::GraphicsContext::applyFillPattern):
24251         * platform/graphics/cg/GraphicsContextCG.cpp:
24252         (WebCore::GraphicsContext::clipToImageBuffer):
24253         (WebCore::GraphicsContext::applyStrokePattern):
24254         (WebCore::GraphicsContext::applyFillPattern):
24256 2008-08-13  Eric Seidel  <eric@webkit.org>
24258         Reviewed by Niko.
24260         Make Images RefCounted (and clean up callers)
24261         https://bugs.webkit.org/show_bug.cgi?id=20351
24263         * editing/DeleteButtonController.cpp:
24264         (WebCore::DeleteButtonController::createDeletionUI):
24265         * loader/CachedImage.cpp:
24266         (WebCore::CachedImage::CachedImage):
24267         (WebCore::brokenImage):
24268         (WebCore::nullImage):
24269         (WebCore::CachedImage::image):
24270         (WebCore::CachedImage::notifyObservers):
24271         (WebCore::CachedImage::createImage):
24272         * loader/CachedImage.h:
24273         * loader/icon/IconRecord.cpp:
24274         (WebCore::IconRecord::setImageData):
24275         (WebCore::IconRecord::loadImageFromResource):
24276         * loader/icon/IconRecord.h:
24277         * platform/graphics/BitmapImage.h:
24278         (WebCore::BitmapImage::create):
24279         * platform/graphics/GeneratedImage.h:
24280         * platform/graphics/Gradient.cpp:
24281         * platform/graphics/Gradient.h:
24282         * platform/graphics/Image.cpp:
24283         (WebCore::Image::nullImage):
24284         * platform/graphics/Image.h:
24285         * platform/graphics/ImageBuffer.h:
24286         * platform/graphics/cairo/ImageBufferCairo.cpp:
24287         (WebCore::ImageBuffer::image):
24288         * platform/graphics/cg/ImageBufferCG.cpp:
24289         (WebCore::ImageBuffer::image):
24290         (WebCore::ImageBuffer::getImageData):
24291         (WebCore::ImageBuffer::putImageData):
24292         * platform/graphics/cg/PDFDocumentImage.h:
24293         (WebCore::PDFDocumentImage::create):
24294         (WebCore::PDFDocumentImage::destroyDecodedData):
24295         (WebCore::PDFDocumentImage::decodedSize):
24296         * platform/graphics/gtk/ImageGtk.cpp:
24297         (WebCore::Image::loadPlatformResource):
24298         * platform/graphics/mac/ImageMac.mm:
24299         (WebCore::Image::loadPlatformResource):
24300         * rendering/RenderImage.cpp:
24301         * rendering/RenderLayer.cpp:
24302         (WebCore::RenderLayer::paintOverflowControls):
24303         * svg/graphics/SVGImage.cpp:
24304         (WebCore::SVGImage::nativeImageForCurrentFrame):
24305         * svg/graphics/SVGImage.h:
24306         (WebCore::SVGImage::create):
24307         (WebCore::SVGImage::destroyDecodedData):
24308         (WebCore::SVGImage::decodedSize):
24309         (WebCore::SVGImage::frameAtIndex):
24310         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
24311         (WebCore::SVGPaintServerPattern::setup):
24312         * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
24313         (WebCore::SVGResourceMasker::applyMask):
24314         * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
24315         (WebCore::patternCallback):
24316         * svg/graphics/cg/SVGResourceMaskerCg.mm:
24317         (WebCore::SVGResourceMasker::applyMask):
24319 2008-08-13  Eric Seidel  <eric@webkit.org>
24321         Reviewed by Niko.
24323         Remove #ifdefs from CanvasStyle by using platform/Color.h
24324         https://bugs.webkit.org/show_bug.cgi?id=20351
24326         There are some down-sides to this commit.
24327         This commit limits us to 255 levels of grey for calls like:
24328         context.setStrokeStyle(.37, 1.0)
24329         previously CG might have used up to 32bits to store the grey level
24330         Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
24332         Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
24333         to RGBA32 (like all the rest of colors in WebCore), thus:
24334         context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
24335         context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
24337         If this is a problem for Dashboard, we can either roll out this commit
24338         or add a beefier Color abstraction, which can be used internally by GraphicsContext
24339         when keeping state, and then GraphicsContext can grow some additional set* routines
24340         for setting the a grey/float/whatever fill and stroke.
24342         * html/CanvasRenderingContext2D.cpp:
24343         (WebCore::CanvasRenderingContext2D::setFillStyle):
24344         * html/CanvasStyle.cpp:
24345         (WebCore::CanvasStyle::CanvasStyle):
24346         (WebCore::colorWithOverrideAlpha):
24347         (WebCore::CanvasStyle::applyStrokeColor):
24348         (WebCore::CanvasStyle::applyFillColor):
24349         * html/CanvasStyle.h:
24350         * platform/graphics/Color.cpp:
24351         (WebCore::colorFloatToRGBAByte):
24352         (WebCore::makeRGBA32FromFloats):
24353         * platform/graphics/Color.h:
24355 2008-08-13  Eric Carlson  <eric.carlson@apple.com>
24357         Reviewed by Adele Peterson.
24359         Fix for <rdar://problem/6137931>
24360         https://bugs.webkit.org/show_bug.cgi?id=20360
24361         Remove all parameters from the MIME type before checking with the MIME type registry
24363         Tests: media/video-source-type-params.html
24365         * html/HTMLMediaElement.cpp:
24366         (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';' 
24367         to isSupportedMediaMIMEType()
24369 2008-08-13  Beth Dakin  <bdakin@apple.com>
24371         Reviewed by Sam Weinig.
24373         Fix for <rdar://problem/6141345>
24375         This patch refines findString and markAllMatchesForText functions' 
24376         interactions with disconnected frames. They no longer rely on 
24377         knowing where a range is relative to the visible region and work 
24378         with disconnected frames that contain frames.
24380         * editing/Editor.cpp:
24381         (WebCore::Editor::insideVisibleArea): Now returns a bool instead of 
24382         the visiblity enum.
24383         (WebCore::Editor::firstVisibleRange): This now returns the very 
24384         first visible range in the document. It's no longer dependent on 
24385         searching forward.
24386         (WebCore::Editor::lastVisibleRange): This now returns the very last 
24387         visible range in the document. It's no longer dependent on 
24388         searching backwards.
24389         (WebCore::Editor::nextVisibleRange): This returns the next visible 
24390         range in the appropriate direction from the current range.
24391         * editing/Editor.h:
24392         * page/Frame.cpp:
24393         (WebCore::Frame::findString):
24394         (WebCore::Frame::markAllMatchesForText):
24396 2008-08-13  Kevin Ollivier  <kevino@theolliviers.com>
24398         wx build fix for case-sensitive platforms, like Linux.
24400         * WebCoreSources.bkl:
24402 2008-08-13  Marco Barisione  <marco.barisione@collabora.co.uk>
24404         Reviewed by Holger Freyther.
24406         http://bugs.webkit.org/show_bug.cgi?id=16881
24407         [GTK] PlatformScreenGtk is unimplemented
24409         Original patch by Christian Dywan.
24411         * platform/gtk/PlatformScreenGtk.cpp:
24412         (WebCore::screenDepth):
24413         (WebCore::screenDepthPerComponent):
24414         (WebCore::screenIsMonochrome):
24415         (WebCore::screenRect):
24416         (WebCore::screenAvailableRect):
24418 2008-08-13  Jan Michael Alonzo  <jmalonzo@webkit.org>
24420         Reviewed by Holger Freyther.
24422         http://bugs.webkit.org/show_bug.cgi?id=20318
24423         SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
24425         g_idle_add is the same as g_idle_add_full with a priority of
24426         G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
24428         * platform/gtk/SharedTimerGtk.cpp:
24429         (WebCore::setSharedTimerFireTime):
24431 2008-08-13  Timothy Hatcher  <timothy@apple.com>
24433         Changed the InspectorController so it can be notified when the
24434         attached state of the Inspector changes in WebKit.
24436         Reviewed by Kevin McCullough.
24438         * WebCore.base.exp: Updated the symbol for setWindowVisible.
24439         * page/InspectorController.cpp:
24440         (WebCore::InspectorController::setWindowVisible): Added an attached argument,
24441         that defaults to false.Call setAttachedWindow with the attached argument.
24442         (WebCore::InspectorController::setAttachedWindow): Call the script version
24443         of setAttachedWindow.
24444         * page/InspectorController.h:
24445         * page/inspector/inspector.js:
24446         (WebInspector.setAttachedWindow): Set the attached property.
24448 2008-08-12  Timothy Hatcher  <timothy@apple.com>
24450         Added a close button to the Inspector's toolbar when docked.
24452         https://bugs.webkit.org/show_bug.cgi?id=14270
24454         Reviewed by Kevin McCullough.
24456         * page/InspectorController.cpp:
24457         (WebCore::closeWindow): Call InspectorController::closeWindow.
24458         (WebCore::InspectorController::windowScriptObjectAvailable):
24459         Added closeWindow to the script class.
24460         * page/InspectorController.h:
24461         * page/inspector/Images/closeButtons.png: Added.
24462         * page/inspector/inspector.css: Added and changed styles.
24463         * page/inspector/inspector.html: Added the close button.
24464         * page/inspector/inspector.js:
24465         (WebInspector.loaded): Added click event listener to the close button.
24466         (WebInspector.close): Call InspectorController.closeWindow.
24468 2008-08-12  Timothy Hatcher  <timothy@apple.com>
24470         Make the docked Web Inspector resizable. This is the cross platform
24471         portion of the code. Each InspectorClient needs to implement the
24472         real resize code.
24474         https://bugs.webkit.org/show_bug.cgi?id=14282
24476         Reviewed by Kevin McCullough.
24478         * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
24479         * page/InspectorClient.h: Added setAttachedWindowHeight.
24480         * page/InspectorController.cpp:
24481         (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
24482         on the InspectorController.
24483         (WebCore::InspectorController::setAttachedWindowHeight): Call
24484         setAttachedWindowHeight on the client.
24485         (WebCore::InspectorController::windowScriptObjectAvailable):
24486         Added setAttachedWindowHeight to the script class.
24487         * page/InspectorController.h:
24488         * page/inspector/inspector.css: Make the cursor on the toolbar be
24489         row-resize when docked.
24490         * page/inspector/inspector.js:
24491         (WebInspector.loaded): Always add the toolbarDragStart event listener.
24492         (WebInspector.toolbarDragStart): Return early if we are not attached
24493         and not on Leopard. Call WebInspector.elementDragStart.
24494         (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
24495         (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
24496         otherwise call moveByUnrestricted.
24498 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
24500         Reviewed by Holger.
24502         Initialize m_zoomsTextOnly in the Settings constructor.
24504         * page/Settings.cpp:
24505         (WebCore::Settings::Settings):
24507 2008-08-13  Brad Hughes <bhughes@trolltech.com>
24509         Reviewed by Simon.
24511         Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
24513         The latest upgrade of the intel compiler allows us to compile all of
24514         Qt with optimizations enabled (yay!).
24516         * WebCore.pro:
24518 2008-08-13  Prasanth Ullattil  <prasanth.ullattil@trolltech.com>
24520         Reviewed by Simon.
24522         Fix QtWebKit not displaying content on 403 HTTP responses
24524         Just like with 404 responses also display content with 403, as
24525         used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
24527         * platform/network/qt/QNetworkReplyHandler.cpp:
24528         (WebCore::QNetworkReplyHandler::finish):
24530 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
24532         Reviewed by Holger.
24534         Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
24536         Make the formatting of String::format() locale independent through the use of QString::vsprintf.
24538         * platform/text/String.cpp:
24539         (WebCore::String::format):
24541 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
24543         Reviewed by Lars.
24545         Fix QWebFrame::setHtml() not setting the new contents immediately.
24547         Added a setter to the DocumentLoader to toggle the deferred loading of the main
24548         resource when it comes from substitute data.
24550         Disable deferred loading of the main resource when we have valid substitute data,
24551         as used by QWebFrame::setHtml.
24553         * loader/DocumentLoader.h:
24555 2008-08-13  Mark Rowe  <mrowe@apple.com>
24557         Speculative GTK build fix.
24559         * GNUmakefile.am:  Add dependency info for JSSVGElementWrapperFactory.cpp.
24561 2008-08-13  Thiago Macieira  <tjmaciei@trolltech.com>
24563         Reviewed by Simon.
24565         Fix encoding of [ and ] in the host part of the URL
24567         Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
24568         add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
24569         doesn't encode [ and ] when they are found in the host part. That is, the
24570         following URL:
24571         http://[::1]/
24572         is valid and should not be reencoded to:
24573         http://%5b::1%5d/
24575         * platform/qt/KURLQt.cpp:
24576         (WebCore::KURL::operator QUrl):
24578 2008-08-12  Mihnea Ovidenie  <mihnea@adobe.com>
24580         Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
24581         Broken HTML object elements cause de-reference of pointer to freed memory.
24582         If we fail to load an image for an object tag and we no longer believe the object tag points at
24583         an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
24584         fall back content.
24586         Reviewed by Dave Hyatt and Alexey Proskuryakov.
24588         Test: http/tests/misc/object-image-error-with-onload.html
24590         * html/HTMLObjectElement.cpp:
24591         (WebCore::HTMLObjectElement::renderFallbackContent):
24592         * page/Frame.cpp:
24593         (WebCore::Frame::Frame):
24595 2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
24597         Reviewed by Dave.
24598     
24599         Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
24600         Masks are translated, and the mask images are swapped on the y-axis.
24602         Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
24603         is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
24605         Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
24606         the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
24608         * svg/graphics/cg/SVGResourceMaskerCg.mm:
24609         (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
24611 2008-08-12  Dan Bernstein  <mitz@apple.com>
24613         - WebCore part of <rdar://problem/6121636>
24614           Make fast*alloc() abort() on failure and add "try" variants that
24615           return NULL on failure.
24617         Reviewed by Darin Adler.
24619         * platform/Arena.cpp:
24620         (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
24621         result.
24622         * platform/graphics/cg/ImageBufferCG.cpp:
24623         (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
24625 2008-08-12  Dan Bernstein  <mitz@apple.com>
24627         Reviewed by Darin Adler.
24629         - fix https://bugs.webkit.org/show_bug.cgi?id=19348
24630           <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
24632         Test: fast/frames/frameset-style-recalc.html
24634         * html/HTMLFrameSetElement.cpp:
24635         (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
24636         class implementation after marking for layout.
24638 2008-08-12  Dan Bernstein  <mitz@apple.com>
24640         Reviewed by John Sullivan.
24642         - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
24644         * WebCore.base.exp:
24645         * page/FrameView.cpp:
24646         (WebCore::FrameViewPrivate::FrameViewPrivate):
24647         (WebCore::FrameView::shouldUpdateWhileHidden):
24648         (WebCore::FrameView::setShouldUpdateWhileHidden):
24649         * page/FrameView.h:
24650         * page/Settings.cpp:
24651         * page/Settings.h:
24653 2008-08-12  Adam Roben  <aroben@apple.com>
24655         Windows build fix
24657         * bindings/js/JSSVGPODTypeWrapper.h: Align
24658         JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
24659         members on 16-byte boundaries to avoid an alignment warning.
24661 2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
24663         Reviewed by Oliver.
24665         Add new dynamice-update layout tests covering SVGMarkerElement.
24666         Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
24667         Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
24669         Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
24670                svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
24671                svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
24672                svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
24673                svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
24674                svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
24675                svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
24676                svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
24677                svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
24678                svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
24679                svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
24680                svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
24681                svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
24682                svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
24683                svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
24685         * svg/SVGMarkerElement.cpp:
24686         (WebCore::SVGMarkerElement::SVGMarkerElement):
24687         (WebCore::SVGMarkerElement::parseMappedAttribute):
24688         (WebCore::SVGMarkerElement::svgAttributeChanged):
24689         (WebCore::SVGMarkerElement::childrenChanged):
24690         (WebCore::SVGMarkerElement::setOrientToAuto):
24691         (WebCore::SVGMarkerElement::setOrientToAngle):
24692         (WebCore::SVGMarkerElement::canvasResource):
24694 2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
24696         Reviewed by Oliver.
24698         Add new dynamic-update layout tests covering SVGImageElement.
24699         Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
24701         Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
24702                svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
24703                svg/dynamic-updates/SVGImageElement-dom-width-attr.html
24704                svg/dynamic-updates/SVGImageElement-dom-x-attr.html
24705                svg/dynamic-updates/SVGImageElement-dom-y-attr.html
24706                svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
24707                svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
24708                svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
24709                svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
24710                svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
24712         * svg/SVGImageElement.cpp:
24713         (WebCore::SVGImageElement::svgAttributeChanged):
24715 2008-08-11  Anthony Ricaud  <rik24d@gmail.com>
24717         Changed Option/Alt-Up or Down in CSS editing when the value is
24718         near zero to jump to the next integer.
24720         Reviewed by Tim Hatcher.
24722         https://bugs.webkit.org/show_bug.cgi?id=20326
24724         * page/inspector/StylesSidebarPane.js:
24726 2008-08-11  Anthony Ricaud  <rik24d@gmail.com>
24728         Changed the line highlight transition for an easier animation.
24730         Reviewed by Tim Hatcher.
24732         * page/inspector/SourceFrame.js:
24734 2008-08-11  Keishi Hattori  <casey.hattori@gmail.com>
24736         Added support for some Firebug Command Line APIs.
24738         Reviewed by Tim Hatcher.
24740         https://bugs.webkit.org/show_bug.cgi?id=19867
24741         https://bugs.webkit.org/show_bug.cgi?id=19868
24742         https://bugs.webkit.org/show_bug.cgi?id=19869
24743         https://bugs.webkit.org/show_bug.cgi?id=19875
24744         https://bugs.webkit.org/show_bug.cgi?id=19876
24745         https://bugs.webkit.org/show_bug.cgi?id=19880
24747         * page/inspector/Console.js:
24748         (WebInspector.Console.prototype._evalInInspectedWindow):
24749         Create an object on the inspected window that holds the console
24750         command line API functions. This object is used in a with statement
24751         around the typed expression.
24753 2008-08-11  Nikolas Zimmermann  <zimmermann@kde.org>
24755         Reviewed by Antti.
24757         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
24759         JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
24760         failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
24762         Added tests: svg/custom/svg-modify-currentTranslate.html
24763                      svg/custom/tearoffs-with-tearoffs.html
24764                      svg/custom/immutable-properties.html
24766         Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
24768         * bindings/js/JSSVGPODTypeWrapper.h:
24769         (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
24770         (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
24771         (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
24772         (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
24773         (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
24774         (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
24775         (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
24776         (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
24777         * bindings/scripts/CodeGenerator.pm:
24778         * bindings/scripts/CodeGeneratorJS.pm:
24779         * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
24780         * svg/SVGZoomEvent.idl:  SVG specification explicitely demands these attributes to be readonly, even its content.
24782 2008-08-11  Brady Eidson  <beidson@apple.com>
24784         Reviewed by John and Anders
24786         Fix for <rdar://problem/6141797>
24788         When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
24789         would never have nil data.
24791         When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
24792         semantics with some WebKit applications.
24794         The guarantee was a good one and should be restored.
24796         Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
24797         creates an empty data object in the case of null data for its own purposes.
24799         * loader/SubstituteResource.h:
24800         (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null.  This
24801           well help any future subclassers not make this mistake.
24803         * loader/archive/ArchiveResource.cpp:
24804         (WebCore::ArchiveResource::create): Return 0 if the data is null.
24806 2008-08-11  Simon Fraser  <simon.fraser@apple.com>
24808         Reviewed by Dave Hyatt
24810         https://bugs.webkit.org/show_bug.cgi?id=20328
24811         Fix a problem when an 'all' transition transition with more than
24812         one property changing is interrupted, and did some AnimationController
24813         cleanup.
24815         Test: transitions/interrupted-all-transition.html
24817         * page/AnimationController.cpp:
24818         (WebCore::ImplicitAnimation::ImplicitAnimation):
24819         (WebCore::AnimationControllerPrivate::blendProperties):
24820         (WebCore::CompositeAnimation::updateTransitions):
24821         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
24822         (WebCore::CompositeAnimation::setTransitionStartTime):
24823         (WebCore::CompositeAnimation::overrideImplicitAnimations):
24824         (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
24825         (WebCore::ImplicitAnimation::animate):
24826         (WebCore::ImplicitAnimation::onAnimationEnd):
24827         (WebCore::ImplicitAnimation::sendTransitionEvent):
24828         (WebCore::ImplicitAnimation::affectsProperty):
24829         (WebCore::KeyframeAnimation::endAnimation):
24830         (WebCore::KeyframeAnimation::onAnimationEnd):
24832 2008-08-11  Kevin McCullough  <kmccullough@apple.com>
24834         Reviewed by Tim.
24836         - Because console messages have group levels now, newly created messages
24837         that do not specify the level lose their message since the number of
24838         arguments is wrong.
24840         * page/inspector/Console.js:
24841         * page/inspector/Resource.js:
24843 2008-08-11  Alp Toker  <alp@nuanti.com>
24845         Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
24846         the opportunity to sort the sources lists.
24848         * GNUmakefile.am:
24850 2008-08-11  Timothy Hatcher  <timothy@apple.com>
24852         Speed up the the JavaScript syntax highlighter by generating
24853         the finders only once per script instead of per line.
24855         https://bugs.webkit.org/show_bug.cgi?id=20346
24857         Reviewed by Adam Roben.
24859         * page/inspector/SourceFrame.js:
24860         (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
24861         Removed, factored into syntaxHighlightJavascript as an inline function.
24862         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
24863         Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
24864         Generate the finders before iterating the lines.
24866 2008-08-11  Adam Roben  <aroben@apple.com>
24868         Windows build fix
24870         * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
24871         JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
24872         too.
24874 2008-08-11  Dan Bernstein  <mitz@apple.com>
24876         Reviewed by Darin Adler.
24878         - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
24880         Test: fast/css/counters/invalidate-cached-counter-node.html
24882         * rendering/RenderContainer.cpp:
24883         (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
24884         RenderCounters in :before and :after content.
24885         * rendering/RenderContainer.h:
24886         * rendering/RenderCounter.cpp:
24887         (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
24888         to match the RenderObject method.
24889         (WebCore::RenderCounter::invalidate): Added. Resets the cached
24890         CounterNode and invalidates the object's layout and preferred widths.
24891         (WebCore::destroyCounterNodeChildren): Added a call to
24892         invalidateCounters().
24893         * rendering/RenderCounter.h:
24894         * rendering/RenderObject.h:
24895         (WebCore::RenderObject::invalidateCounters):
24897 2008-08-11  Dean Jackson  <dino@apple.com>
24899         Implement CSS Animation and Transition Events
24900         https://bugs.webkit.org/show_bug.cgi?id=20337
24902         Implement the events defined in the CSS Animations
24903         and Transitions specifications so code can react
24904         to animations and transitions.
24906         Reviewed by Tim Hatcher and Dave Hyatt.
24908         * DerivedSources.make:
24909         * GNUmakefile.am:
24910         * WebCore.pro:
24911         * WebCore.vcproj/WebCore.vcproj:
24912         * WebCore.xcodeproj/project.pbxproj:
24913         * WebCoreSources.bkl:
24914             Build configs for new files
24916         * bindings/js/JSDOMWindowBase.cpp:
24917         * bindings/js/JSDOMWindowBase.h:
24918         * bindings/js/JSEventCustom.cpp:
24919         * dom/Document.h:
24920         * dom/Event.cpp:
24921         * dom/Event.h:
24922         * dom/EventTarget.cpp:
24923         * dom/EventTargetNode.cpp:
24924         * dom/EventTargetNode.h:
24925         * html/HTMLElement.cpp:
24926         * page/AnimationController.cpp:
24927             do all the new event stuff
24928             
24929         * html/HTMLAttributeNames.in:
24930             the onwebkitanimation* and onwebkittransitionend attrs
24932         * dom/WebKitAnimationEvent.cpp: Added.
24933         * dom/WebKitAnimationEvent.h: Added.
24934         * dom/WebKitAnimationEvent.idl: Added.
24935         * dom/WebKitTransitionEvent.cpp: Added.
24936         * dom/WebKitTransitionEvent.h: Added.
24937         * dom/WebKitTransitionEvent.idl: Added.
24938             New files for the events
24940         * manual-tests/transition-events.html: Added.
24941             New testfile
24943 2008-08-11  Adam Roben  <aroben@apple.com>
24945         Add a ForwardingHeader for wtf/NotFound.h
24947         Rubberstamped by Darin Adler.
24949         * ForwardingHeaders/wtf/NotFound.h: Added.
24951 2008-08-11  Timothy Hatcher  <timothy@apple.com>
24953         Fixes a bug where error bubbles in JavaScript resources would
24954         be clobbered by the syntax highlighter.
24956         https://bugs.webkit.org/show_bug.cgi?id=20345
24958         Reviewed by Adam Roben.
24960         * manual-tests/inspector/resources/script-error.js: Added.
24961         * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
24962         * page/inspector/SourceFrame.js:
24963         (WebInspector.SourceFrame.prototype._addMessageToSource):
24964         Check the nodeType and not the nodeName, this is less fragile.
24965         (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
24966         Check if the lastChild is an error bubble, if so remove it before
24967         getting the line's textContent. Add the error bubble back at the end.
24969 == Rolled over to ChangeLog-2008-08-10 ==