diff options
| author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:30:52 -0800 |
|---|---|---|
| committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:30:52 -0800 |
| commit | 8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2 (patch) | |
| tree | 11425ea0b299d6fb89c6d3618a22d97d5bf68d0f /WebCore/ChangeLog | |
| parent | 648161bb0edfc3d43db63caed5cc5213bc6cb78f (diff) | |
| download | external_webkit-8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2.zip external_webkit-8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2.tar.gz external_webkit-8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2.tar.bz2 | |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'WebCore/ChangeLog')
| -rw-r--r-- | WebCore/ChangeLog | 24758 |
1 files changed, 24758 insertions, 0 deletions
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog new file mode 100644 index 0000000..ca61e8d --- /dev/null +++ b/WebCore/ChangeLog @@ -0,0 +1,24758 @@ +2008-11-03 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Simon Hausmann. + + Add methods for getting and setting user data on History Item. + This change is limited to QT port only. Tests were added in + the patch for https://bugs.webkit.org/show_bug.cgi?id=21864. + + Minor change by Simon: made the functions inline and added a missing + const. + + * history/HistoryItem.h: + +2008-11-01 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=22030 + Make EventNames usable from multiple threads + + * platform/text/AtomicString.cpp: + (WebCore::stringTable): + (WebCore::AtomicString::add): + (WebCore::AtomicString::remove): + (WebCore::AtomicString::find): + (WebCore::AtomicString::init): + * platform/text/AtomicString.h: + Atomic string table is now per-thread. Individual strings cannot be shared between threads, + so global AtomicString constants cannot be used from threads other than the main one. + + * dom/EventNames.cpp: + (WebCore::EventNames::EventNames): + (WebCore::eventNames): + (WebCore::EventNames::init): + * dom/EventNames.h: + Made EventNames a ThreadSpecific struct. Individual event names are now accessed as + eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all + threads. + + * WebCore.base.exp: + * bindings/js/JSDOMWindowBase.cpp: + * bindings/js/JSEventListener.cpp: + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::processingUserGesture): + * dom/BeforeTextInsertedEvent.cpp: + (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent): + * dom/BeforeUnloadEvent.cpp: + (WebCore::BeforeUnloadEvent::BeforeUnloadEvent): + * dom/CharacterData.cpp: + (WebCore::CharacterData::dispatchModifiedEvent): + * dom/ContainerNode.cpp: + (WebCore::dispatchChildInsertionEvents): + (WebCore::dispatchChildRemovalEvents): + * dom/DedicatedWorker.cpp: + (WebCore::DedicatedWorker::dispatchErrorEvent): + * dom/Document.cpp: + (WebCore::Document::implicitClose): + (WebCore::Document::setFocusedNode): + (WebCore::Document::addListenerTypeIfNeeded): + (WebCore::Document::removeWindowInlineEventListenerForType): + (WebCore::Document::addWindowEventListener): + (WebCore::Document::removeWindowEventListener): + (WebCore::Document::finishedParsing): + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::dispatchGenericEvent): + (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent): + (WebCore::EventTargetNode::dispatchWindowEvent): + (WebCore::EventTargetNode::dispatchUIEvent): + (WebCore::EventTargetNode::dispatchSimulatedClick): + (WebCore::EventTargetNode::dispatchMouseEvent): + (WebCore::EventTargetNode::dispatchFocusEvent): + (WebCore::EventTargetNode::dispatchBlurEvent): + (WebCore::EventTargetNode::defaultEventHandler): + (WebCore::EventTargetNode::on*): (multiple methods) + (WebCore::EventTargetNode::setOn*): (multiple methods) + * dom/KeyboardEvent.cpp: + (WebCore::eventTypeForKeyboardEventType): + (WebCore::KeyboardEvent::keyCode): + (WebCore::KeyboardEvent::charCode): + * dom/MessageEvent.cpp: + (WebCore::MessageEvent::MessageEvent): + * dom/MessagePort.cpp: + (WebCore::MessagePort::dispatchMessages): + (WebCore::MessagePort::dispatchCloseEvent): + * dom/MouseEvent.cpp: + (WebCore::MouseEvent::isDragEvent): + (WebCore::MouseEvent::toElement): + (WebCore::MouseEvent::fromElement): + * dom/OverflowEvent.cpp: + (WebCore::OverflowEvent::OverflowEvent): + * dom/TextEvent.cpp: + (WebCore::TextEvent::TextEvent): + * dom/WebKitAnimationEvent.cpp: + (WebCore::WebKitAnimationEvent::WebKitAnimationEvent): + (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent): + (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent): + (WebCore::WebKitAnimationEvent::animationName): + (WebCore::WebKitAnimationEvent::elapsedTime): + * dom/WebKitTransitionEvent.cpp: + (WebCore::WebKitTransitionEvent::WebKitTransitionEvent): + (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent): + (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent): + (WebCore::WebKitTransitionEvent::propertyName): + (WebCore::WebKitTransitionEvent::elapsedTime): + * dom/WheelEvent.cpp: + (WebCore::WheelEvent::WheelEvent): + (WebCore::WheelEvent::initWheelEvent): + * dom/XMLTokenizerLibxml2.cpp: + * dom/XMLTokenizerQt.cpp: + * editing/DeleteButton.cpp: + (WebCore::DeleteButton::defaultEventHandler): + * editing/EditCommand.cpp: + * editing/Editor.cpp: + (WebCore::Editor::canDHTMLCut): + (WebCore::Editor::canDHTMLCopy): + (WebCore::Editor::canDHTMLPaste): + (WebCore::Editor::tryDHTMLCopy): + (WebCore::Editor::tryDHTMLCut): + (WebCore::Editor::tryDHTMLPaste): + (WebCore::dispatchEditableContentChangedEvents): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + * editing/SelectionController.cpp: + (WebCore::SelectionController::setFocused): + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::defaultEventHandler): + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::parseMappedAttribute): + * html/HTMLButtonElement.cpp: + (WebCore::HTMLButtonElement::parseMappedAttribute): + (WebCore::HTMLButtonElement::defaultEventHandler): + * html/HTMLElement.cpp: + (WebCore::HTMLElement::parseMappedAttribute): + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::onChange): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::handleLocalEvents): + (WebCore::HTMLFormElement::prepareSubmit): + (WebCore::HTMLFormElement::reset): + (WebCore::HTMLFormElement::parseMappedAttribute): + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::parseMappedAttribute): + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::parseMappedAttribute): + * html/HTMLImageElement.cpp: + (WebCore::HTMLImageElement::parseMappedAttribute): + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::dispatchLoadEvent): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::parseMappedAttribute): + (WebCore::HTMLInputElement::setValueFromRenderer): + (WebCore::HTMLInputElement::preDispatchEventHandler): + (WebCore::HTMLInputElement::postDispatchEventHandler): + (WebCore::HTMLInputElement::defaultEventHandler): + (WebCore::HTMLInputElement::onSearch): + * html/HTMLLabelElement.cpp: + (WebCore::HTMLLabelElement::defaultEventHandler): + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::load): + (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): + (WebCore::HTMLMediaElement::setReadyState): + (WebCore::HTMLMediaElement::progressEventTimerFired): + (WebCore::HTMLMediaElement::seek): + (WebCore::HTMLMediaElement::setDefaultPlaybackRate): + (WebCore::HTMLMediaElement::setPlaybackRate): + (WebCore::HTMLMediaElement::play): + (WebCore::HTMLMediaElement::pause): + (WebCore::HTMLMediaElement::setVolume): + (WebCore::HTMLMediaElement::setMuted): + (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): + (WebCore::HTMLMediaElement::documentWillBecomeInactive): + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::parseMappedAttribute): + * html/HTMLOptionElement.cpp: + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::parseMappedAttribute): + (WebCore::HTMLScriptElement::dispatchLoadEvent): + (WebCore::HTMLScriptElement::dispatchErrorEvent): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::parseMappedAttribute): + (WebCore::HTMLSelectElement::defaultEventHandler): + (WebCore::HTMLSelectElement::menuListDefaultEventHandler): + (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::parseMappedAttribute): + (WebCore::HTMLTextAreaElement::defaultEventHandler): + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::notifyFinished): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopLoading): + (WebCore::FrameLoader::canCachePage): + * loader/ImageDocument.cpp: + (WebCore::ImageEventListener::handleEvent): + * loader/ImageLoader.cpp: + * loader/MediaDocument.cpp: + (WebCore::MediaDocument::defaultEventHandler): + * loader/appcache/DOMApplicationCache.cpp: + (WebCore::DOMApplicationCache::callCheckingListener): + (WebCore::DOMApplicationCache::callErrorListener): + (WebCore::DOMApplicationCache::callNoUpdateListener): + (WebCore::DOMApplicationCache::callDownloadingListener): + (WebCore::DOMApplicationCache::callProgressListener): + (WebCore::DOMApplicationCache::callUpdateReadyListener): + (WebCore::DOMApplicationCache::callCachedListener): + * page/AccessibilityObject.cpp: + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::mouseButtonListener): + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::handleContextMenuEvent): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::on*): (multiple methods) + (WebCore::DOMWindow::setOn*): (multiple methods) + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::EventHandler::handleMouseDoubleClickEvent): + (WebCore::EventHandler::handleMouseMoveEvent): + (WebCore::EventHandler::handleMouseReleaseEvent): + (WebCore::EventHandler::updateDragAndDrop): + (WebCore::EventHandler::cancelDragAndDrop): + (WebCore::EventHandler::performDragAndDrop): + (WebCore::EventHandler::updateMouseEventTargetNode): + (WebCore::EventHandler::dispatchMouseEvent): + (WebCore::EventHandler::sendContextMenuEvent): + (WebCore::EventHandler::canMouseDownStartSelect): + (WebCore::EventHandler::canMouseDragExtendSelect): + (WebCore::EventHandler::defaultKeyboardEventHandler): + (WebCore::EventHandler::dragSourceMovedTo): + (WebCore::EventHandler::dragSourceEndedAt): + (WebCore::EventHandler::handleDrag): + (WebCore::EventHandler::handleTextInputEvent): + * page/FocusController.cpp: + * page/Frame.cpp: + (WebCore::Frame::sendResizeEvent): + (WebCore::Frame::sendScrollEvent): + * page/Page.cpp: + (WebCore::networkStateChanged): + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::updateStateMachine): + (WebCore::AnimationBase::animationTimerCallbackFired): + (WebCore::AnimationBase::primeEventTimers): + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::onAnimationEnd): + (WebCore::ImplicitAnimation::sendTransitionEvent): + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::onAnimationStart): + (WebCore::KeyframeAnimation::onAnimationIteration): + (WebCore::KeyframeAnimation::onAnimationEnd): + (WebCore::KeyframeAnimation::sendAnimationEvent): + * page/gtk/EventHandlerGtk.cpp: + * page/mac/EventHandlerMac.mm: + (WebCore::isKeyboardOptionTab): + * page/mac/FrameMac.mm: + * page/qt/EventHandlerQt.cpp: + (WebCore::isKeyboardOptionTab): + * plugins/PluginView.cpp: + * plugins/gtk/PluginViewGtk.cpp: + * plugins/qt/PluginViewQt.cpp: + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::handleKeyboardEvent): + (WebCore::PluginView::handleMouseEvent): + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlMuteButtonElement::defaultEventHandler): + (WebCore::MediaControlPlayButtonElement::defaultEventHandler): + (WebCore::MediaControlSeekButtonElement::defaultEventHandler): + (WebCore::MediaControlTimelineElement::defaultEventHandler): + (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::userResize): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollToOffset): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::valueChanged): + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::forwardEvent): + * rendering/RenderObject.cpp: + * rendering/RenderSlider.cpp: + (WebCore::HTMLSliderThumbElement::defaultEventHandler): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::forwardEvent): + (WebCore::RenderTextControl::selectionChanged): + * rendering/RenderWidget.cpp: + * rendering/TextControlInnerElements.cpp: + (WebCore::TextControlInnerTextElement::defaultEventHandler): + (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): + (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): + * storage/LocalStorageArea.cpp: + (WebCore::LocalStorageArea::dispatchStorageEvent): + * storage/SessionStorageArea.cpp: + (WebCore::SessionStorageArea::dispatchStorageEvent): + * svg/SVGAElement.cpp: + (WebCore::SVGAElement::defaultEventHandler): + * svg/SVGDocument.cpp: + (WebCore::SVGDocument::dispatchZoomEvent): + (WebCore::SVGDocument::dispatchScrollEvent): + * svg/SVGElement.cpp: + (WebCore::SVGElement::parseMappedAttribute): + (WebCore::hasLoadListener): + (WebCore::SVGElement::sendSVGLoadEventIfPossible): + * svg/SVGElementInstance.cpp: + (WebCore::SVGElementInstance::on*): (multiple methods) + (WebCore::SVGElementInstance::setOn*): (multiple methods) + * svg/SVGImageLoader.cpp: + (WebCore::SVGImageLoader::dispatchLoadEvent): + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::parseMappedAttribute): + * svg/SVGScriptElement.cpp: + (WebCore::SVGScriptElement::dispatchErrorEvent): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent): + (WebCore::XMLHttpRequest::dispatchAbortEvent): + (WebCore::XMLHttpRequest::dispatchErrorEvent): + (WebCore::XMLHttpRequest::dispatchLoadEvent): + (WebCore::XMLHttpRequest::dispatchLoadStartEvent): + (WebCore::XMLHttpRequest::dispatchProgressEvent): + * xml/XMLHttpRequestUpload.cpp: + (WebCore::XMLHttpRequestUpload::dispatchAbortEvent): + (WebCore::XMLHttpRequestUpload::dispatchErrorEvent): + (WebCore::XMLHttpRequestUpload::dispatchLoadEvent): + (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent): + (WebCore::XMLHttpRequestUpload::dispatchProgressEvent): + * xml/XPathResult.cpp: + (WebCore::XPathResult::XPathResult): + (WebCore::XPathResult::~XPathResult): + (WebCore::XPathResult::invalidateIteratorState): + Access event names via eventNames() function. + +2008-11-04 Cameron Zwarich <zwarich@apple.com> + + Reviewed by Mark Rowe. + + Delete unused forwarding headers. + + * ForwardingHeaders/kjs/Activation.h: Removed. + * ForwardingHeaders/kjs/Register.h: Removed. + * ForwardingHeaders/kjs/RegisterID.h: Removed. + +2008-11-04 Cameron Zwarich <zwarich@apple.com> + + Not reviewed. + + Fix stupid typo in previous build fix. + + * bindings/js/JSStorageCustom.cpp: + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/NP_jsobject.cpp: + +2008-11-03 Cameron Zwarich <zwarich@apple.com> + + Not reviewed. + + Fix the build for all non-Mac platforms. + + * ForwardingHeaders/kjs/PropertyNameArray.h: Removed. + * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h. + * bindings/js/JSStorageCustom.cpp: + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/NP_jsobject.cpp: + +2008-11-03 Cameron Zwarich <zwarich@apple.com> + + Not reviewed. + + Fix the wxWindows build. + + * bridge/c/c_instance.cpp: + +2008-11-03 Cameron Zwarich <zwarich@apple.com> + + Rubber-stamped by Maciej Stachowiak. + + Move more files into the runtime subdirectory of JavaScriptCore. + + * ForwardingHeaders/kjs/ArgList.h: Removed. + * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed. + * ForwardingHeaders/kjs/ExecState.h: Removed. + * ForwardingHeaders/kjs/InitializeThreading.h: Removed. + * ForwardingHeaders/kjs/JSGlobalData.h: Removed. + * ForwardingHeaders/kjs/JSLock.h: Removed. + * ForwardingHeaders/kjs/SymbolTable.h: Removed. + * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h. + * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h. + * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h. + * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h. + * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h. + * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h. + * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h. + * bindings/js/GCController.cpp: + * bindings/js/JSCustomPositionCallback.cpp: + * bindings/js/JSCustomPositionErrorCallback.cpp: + * bindings/js/JSCustomSQLStatementCallback.cpp: + * bindings/js/JSCustomSQLStatementErrorCallback.cpp: + * bindings/js/JSCustomSQLTransactionCallback.cpp: + * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: + * bindings/js/JSCustomVoidCallback.cpp: + * bindings/js/JSCustomXPathNSResolver.cpp: + * bindings/js/JSDOMWindowBase.cpp: + * bindings/js/JSEventCustom.cpp: + * bindings/js/JSEventListener.cpp: + * bindings/js/JSNodeFilterCondition.cpp: + * bindings/js/ScheduledAction.cpp: + * bindings/js/ScriptController.cpp: + * bindings/js/ScriptControllerMac.mm: + * bindings/objc/WebScriptObject.mm: + * bridge/NP_jsobject.cpp: + * bridge/c/c_class.cpp: + * bridge/c/c_instance.cpp: + * bridge/c/c_runtime.cpp: + * bridge/c/c_utility.cpp: + * bridge/jni/jni_class.cpp: + * bridge/jni/jni_instance.cpp: + * bridge/jni/jni_jsobject.mm: + * bridge/jni/jni_objc.mm: + * bridge/jni/jni_runtime.cpp: + * bridge/jni/jni_runtime.h: + * bridge/jni/jni_utility.cpp: + * bridge/npruntime.cpp: + * bridge/objc/objc_instance.mm: + * bridge/objc/objc_runtime.mm: + * bridge/objc/objc_utility.mm: + * bridge/runtime.cpp: + * dom/Document.cpp: + * dom/Node.cpp: + * dom/NodeFilter.cpp: + * dom/NodeIterator.cpp: + * dom/TreeWalker.cpp: + * history/CachedPage.cpp: + * inspector/InspectorController.cpp: + * inspector/JavaScriptCallFrame.cpp: + * inspector/JavaScriptCallFrame.h: + * inspector/JavaScriptDebugServer.cpp: + * inspector/JavaScriptProfileNode.cpp: + * loader/FrameLoader.cpp: + * loader/icon/IconDatabase.cpp: + * page/Console.cpp: + * page/Page.cpp: + * page/mac/FrameMac.mm: + * plugins/PluginView.cpp: + * plugins/gtk/PluginViewGtk.cpp: + * plugins/qt/PluginViewQt.cpp: + * plugins/win/PluginViewWin.cpp: + * storage/Database.cpp: + * xml/XMLHttpRequest.cpp: + +2008-11-03 Cameron Zwarich <zwarich@apple.com> + + Reviewed by Sam Weinig. + + Remove the forwarding header for FunctionCallProfile, because it was + renamed to ProfileNode in r33466. + + * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed. + +2008-11-03 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=22026 + + When computing the bounds of the transparency layer, we need to + map the clipRect through the enclosing transform. + + Test: fast/layers/opacity-transforms.html + + * rendering/RenderLayer.cpp: + (WebCore::transparencyClipBox): + +2008-11-03 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=22053 + + Added additional support needed for the NPDrawingModelCoreAnimation drawing model. + + * bridge/npapi.h: + +2008-11-03 Xan Lopez <xan@gnome.org> + + Reviewed by Alp Toker. + + Update parseDataUrl() function in the libsoup http backend with + the one from the curl backend which has recent correctness and crash + fixes. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::parseDataUrl): + +2008-11-03 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Alp Toker. + + https://bugs.webkit.org/show_bug.cgi?id=22041 + Fix CURL crashes on the test suite + + Fix segfault with setDefersLoading(). Do not call into curl when we + don't have a CURL handle. + + It is attempted to defer the loading before the load has been + started (no curl handle was allocated yet). If that happens then + just remember that. ResourceHandleManager::startJob is already taking + care of this and in initResourceHandle the the downloading will + be paused if needed. + + Fixes fast/loader/simultaneous-reloads-assert.html + + * platform/network/curl/ResourceHandleCurl.cpp: + (WebCore::ResourceHandle::setDefersLoading): + +2008-11-03 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Alp Toker. + + https://bugs.webkit.org/show_bug.cgi?id=22041 + Fix CURL crashes on the test suite + + Do not send "no data" to WebCore in parseDataUrl(). + + Fixes assert on fast/tokenizer/image-empty-crash.html + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::parseDataUrl): + +2008-11-02 Xan Lopez <xan@gnome.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=22009 + HTML5 Video with GStreamer pulls gnome-vfs without using it + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + Remove gnome-vfs include. + +2008-11-01 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + Be sure to check the final URLs of requested resources to make sure we + don't get fooled by HTTP redirects. + + https://bugs.webkit.org/show_bug.cgi?id=21963 + + Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml + http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml + + * dom/XMLTokenizerLibxml2.cpp: + (WebCore::openFunc): + * loader/DocLoader.cpp: + (WebCore::DocLoader::canRequest): + (WebCore::DocLoader::requestResource): + * loader/DocLoader.h: + * xml/XSLTProcessor.cpp: + (WebCore::docLoaderFunc): + +2008-11-01 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=22001 + AtomicStringImpl* keys of event listener maps can outlive their strings + + Test: fast/events/destroyed-atomic-string.html + + * dom/MessagePort.cpp: + (WebCore::MessagePort::addEventListener): + (WebCore::MessagePort::removeEventListener): + (WebCore::MessagePort::dispatchEvent): + * dom/MessagePort.h: + * loader/appcache/DOMApplicationCache.cpp: + (WebCore::DOMApplicationCache::addEventListener): + (WebCore::DOMApplicationCache::removeEventListener): + (WebCore::DOMApplicationCache::dispatchEvent): + * loader/appcache/DOMApplicationCache.h: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::addEventListener): + (WebCore::XMLHttpRequest::removeEventListener): + (WebCore::XMLHttpRequest::dispatchEvent): + * xml/XMLHttpRequest.h: + * xml/XMLHttpRequestUpload.cpp: + (WebCore::XMLHttpRequestUpload::addEventListener): + (WebCore::XMLHttpRequestUpload::removeEventListener): + (WebCore::XMLHttpRequestUpload::dispatchEvent): + * xml/XMLHttpRequestUpload.h: + Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*). + +2008-10-31 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21998 + Use JSDOMGlobalObject in EventListener-related bindings + + * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage. + + * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS + bindings for inline event handlers. + + * bindings/js/JSDOMApplicationCacheCustom.cpp: + (WebCore::JSDOMApplicationCache::addEventListener): + (WebCore::JSDOMApplicationCache::removeEventListener): + * bindings/js/JSEventTargetNodeCustom.cpp: + (WebCore::JSEventTargetNode::addEventListener): + (WebCore::JSEventTargetNode::removeEventListener): + * bindings/js/JSMessagePortCustom.cpp: + (WebCore::JSMessagePort::removeEventListener): + * bindings/js/JSSVGElementInstanceCustom.cpp: + (WebCore::JSSVGElementInstance::addEventListener): + (WebCore::JSSVGElementInstance::removeEventListener): + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::addEventListener): + (WebCore::JSXMLHttpRequest::removeEventListener): + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + (WebCore::JSXMLHttpRequestUpload::addEventListener): + (WebCore::JSXMLHttpRequestUpload::removeEventListener): + Use ScriptExecutionContext and JSDOMGlobalObject in bindings. + + * dom/EventTarget.h: + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::scriptExecutionContext): + * dom/EventTargetNode.h: + * dom/MessagePort.cpp: + * dom/MessagePort.h: + (WebCore::MessagePort::scriptExecutionContext): + * loader/appcache/DOMApplicationCache.cpp: + (WebCore::DOMApplicationCache::scriptExecutionContext): + * loader/appcache/DOMApplicationCache.h: + * svg/SVGElementInstance.cpp: + (WebCore::SVGElementInstance::scriptExecutionContext): + * svg/SVGElementInstance.h: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::scriptExecutionContext): + * xml/XMLHttpRequest.h: + * xml/XMLHttpRequestUpload.cpp: + (WebCore::XMLHttpRequestUpload::scriptExecutionContext): + * xml/XMLHttpRequestUpload.h: + Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't + available yet. + +2008-10-31 Cameron Zwarich <zwarich@apple.com> + + Rubber-stamped by Geoff Garen. + + Rename SourceRange.h to SourceCode.h. + + * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h. + * ForwardingHeaders/kjs/SourceRange.h: Removed. + * bindings/js/StringSourceProvider.h: + * bridge/NP_jsobject.cpp: + +2008-10-31 Cameron Zwarich <zwarich@apple.com> + + Reviewed by Darin Adler. + + Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console + <https://bugs.webkit.org/show_bug.cgi?id=22019> + + * WebCore.base.exp: + * page/Console.cpp: + (WebCore::printToStandardOut): + (WebCore::Console::shouldPrintExceptions): + (WebCore::Console::setShouldPrintExceptions): + * page/Console.h: + +2008-10-31 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie + + * dom/Document.cpp: + (WebCore::Document::cookie): Added checking if cookies are disabled. + (WebCore::Document::setCookie): Ditto. + * page/Navigator.cpp: + (WebCore::Navigator::cookieEnabled): Ditto. + * page/Page.cpp: + (WebCore::Page::Page): Initialize m_cookieEnabled to true. + * page/Page.h: + (WebCore::Page::cookieEnabled): Added. + (WebCore::Page::setCookieEnabled): Added. + +2008-10-31 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler. + + WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload. + https://bugs.webkit.org/show_bug.cgi?id=22008 + + * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon): + Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles. + * platform/graphics/Icon.h: ditto. + * platform/graphics/gtk/IconGtk.cpp: + (WebCore::Icon::createIconForFile): ditto. + (WebCore::Icon::createIconForFiles): ditto. + * platform/graphics/mac/IconMac.mm: + (WebCore::Icon::createIconForFile): ditto. + (WebCore::Icon::createIconForFiles): ditto. + * platform/graphics/qt/IconQt.cpp: + (WebCore::Icon::createIconForFile): ditto. + (WebCore::Icon::createIconForFiles): ditto. + * platform/wx/TemporaryLinkStubs.cpp: + (Icon::createIconForFile): ditto. + (Icon::createIconForFiles): ditto. + * platform/graphics/win/IconWin.cpp: + (WebCore::Icon::createIconForFile): ditto. + (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files. + + * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration): + Improve icon creation code to match new code in Icon::createIconForFiles + +2008-10-31 Timothy Hatcher <timothy@apple.com> + + Add manual tests that check breakpoints on a blockless body of "for" loops. + + https://bugs.webkit.org/show_bug.cgi?id=22004 + + Reviewed by Darin Adler. + + * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added. + * manual-tests/inspector/debugger-pause-on-for-statements.html: Added. + +2008-10-31 Darin Adler <darin@apple.com> + + - fix build + + * platform/win/WCDataObject.cpp: Added missing include of "config.h". + +2008-10-30 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21970 + Make MessagePort event dispatch work in workers + + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): + (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): + (WebCore::JSDOMGlobalObject::findJSEventListener): + (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener): + (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener): + (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener): + (WebCore::JSDOMGlobalObject::jsEventListeners): + (WebCore::JSDOMGlobalObject::jsInlineEventListeners): + (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners): + (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners): + (WebCore::JSDOMGlobalObject::setCurrentEvent): + (WebCore::JSDOMGlobalObject::currentEvent): + (WebCore::toJSDOMGlobalObject): + * bindings/js/JSDOMGlobalObject.h: + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData): + (WebCore::JSDOMWindowBase::~JSDOMWindowBase): + (WebCore::JSDOMWindowBase::clearHelperObjectProperties): + * bindings/js/JSDOMWindowBase.h: + Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject. + + * bindings/js/JSEventListener.cpp: + (WebCore::JSAbstractEventListener::handleEvent): + (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener): + (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener): + (WebCore::JSUnprotectedEventListener::globalObject): + (WebCore::JSUnprotectedEventListener::clearGlobalObject): + (WebCore::JSEventListener::JSEventListener): + (WebCore::JSEventListener::~JSEventListener): + (WebCore::JSEventListener::globalObject): + (WebCore::JSEventListener::clearGlobalObject): + (WebCore::JSLazyEventListener::JSLazyEventListener): + (WebCore::JSLazyEventListener::parseCode): + * bindings/js/JSEventListener.h: + (WebCore::JSUnprotectedEventListener::create): + (WebCore::JSEventListener::create): + (WebCore::JSLazyEventListener::create): + Changed to use JSDOMGlobalObject and ScriptExecutionContext. + + * bindings/js/JSMessagePortCustom.cpp: + (WebCore::JSMessagePort::startConversation): + (WebCore::JSMessagePort::addEventListener): + (WebCore::JSMessagePort::removeEventListener): + (WebCore::JSMessagePort::setOnmessage): + (WebCore::JSMessagePort::setOnclose): + Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit + such code, and stop using a custom implementation for JSMessagePort inline event handler + getters and setters. + + * dom/Document.cpp: + (WebCore::Document::virtualURL): + * dom/Document.h: + * dom/ScriptExecutionContext.h: + Expose url() method on ScriptExecutionContext (necessary for compiling scripts in + JSLazyEventListener). + +2008-10-31 Cameron Zwarich <zwarich@apple.com> + + Not reviewed. + + Speculative wxWindows build fix. + + * webcore-base.bkl: + +2008-10-30 Mark Rowe <mrowe@apple.com> + + Reviewed by Jon Homeycutt. + + Explicitly default to building for only the native architecture in debug and release builds. + + * Configurations/DebugRelease.xcconfig: + +2008-10-30 Cameron Zwarich <zwarich@apple.com> + + Rubber-stamped by Sam Weinig. + + Create a debugger directory in JavaScriptCore and move the relevant + files to it. + + * ForwardingHeaders/debugger: Added. + * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h. + * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h. + * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed. + * ForwardingHeaders/kjs/debugger.h: Removed. + * WebCore.pro: + * bindings/js/ScriptController.cpp: + * inspector/JavaScriptCallFrame.cpp: + * inspector/JavaScriptCallFrame.h: + * inspector/JavaScriptDebugServer.cpp: + * inspector/JavaScriptDebugServer.h: + +2008-10-30 Tony Chang <tony@chromium.org> + + Fix 2 Windows theme bugs: + 1) Checkboxes marked readonly were rendered incorrectly + 2) If a button has focus and is pressed, it was rendered + as focused rather than pressed. + + https://bugs.webkit.org/show_bug.cgi?id=21859 + + Reviewed by Dave Hyatt. + + * rendering/RenderThemeWin.cpp: + (WebCore::RenderThemeWin::determineState): + (WebCore::RenderThemeWin::determineButtonState): + +2008-10-30 Benjamin K. Stuhl <bks24@cornell.edu> + + gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||" + warnings; add some parentheses to disambiguate things. No functional + changes, so no tests. + + https://bugs.webkit.org/show_bug.cgi?id=21973 + Add parentheses to clean up some gcc warnings + + Reviewed by Dan Bernstein. + + * platform/graphics/Font.h: + (WebCore::Font::treatAsZeroWidthSpace): + +2008-10-30 Aaron Boodman <aa@chromium.org> + + Added an explicit dependency on HashMap.h. It was getting pulled in via + <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port. + + Reviewed by Darin Adler. + + * platform/text/PlatformString.h: + +2008-10-30 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Sam Weinig + + https://bugs.webkit.org/show_bug.cgi?id=21967 + + For some platforms the GeolocationService must be suspended and resumed. + + * page/Geolocation.cpp: + (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners() + (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners + (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners + (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners() + * page/Geolocation.h: + (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners + * platform/GeolocationService.h: + (WebCore::GeolocationService::suspend): empty implementation + (WebCore::GeolocationService::resume): empty implementation + +2008-10-30 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Sam Weinig + + https://bugs.webkit.org/show_bug.cgi?id=21966 + + The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date. + http://dev.w3.org/geo/api/spec-source.html + + * page/Geolocation.cpp: + (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned + * page/Geoposition.cpp: velocity is now called speed + (WebCore::Geoposition::toString): + * page/Geoposition.h: velocity is now called speed + (WebCore::Geoposition::create): + (WebCore::Geoposition::speed): + (WebCore::Geoposition::Geoposition): + * page/Geoposition.idl: velocity is now called speed + * page/PositionOptions.h: timeout is now unsigned + (WebCore::PositionOptions::create): + (WebCore::PositionOptions::timeout): + (WebCore::PositionOptions::setTimeout): + (WebCore::PositionOptions::PositionOptions): + * page/PositionOptions.idl: timeout is now unsigned long + +2008-10-30 Justin Garcia <justin.garcia@apple.com> + + Also handle preserved newlines. + + * editing/BreakBlockquoteCommand.cpp: + (WebCore::BreakBlockquoteCommand::doApply): + +2008-10-30 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Beth Dakin. + + <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line + + * editing/BreakBlockquoteCommand.cpp: + (WebCore::BreakBlockquoteCommand::doApply): + Don't store the endingSelection() in selection, just call endingSelection() in the few places it's + needed. This function is cheap since it just returns a reference to a Selection instead of creating one. + Don't store an affinity. In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote), + we now use visiblePos (in order to avoid VisiblePosition creation). + Set pos after we delete the current selection (if there is one), and be consistent about what we set + pos to. Before, we upstream()ed it if there was a selection to delete and left it alone otherwise. In fact... + ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is + in the first node that we want to move. This fixes the bug, since it lets code that checks for the case + where the caret is between text and a br work correctly. + +2008-10-30 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Darin Adler. + + Fix the Qt build. + + https://bugs.webkit.org/show_bug.cgi?id=21969 + + * inspector/front-end/WebKit.qrc: + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBufferData::ImageBufferData): + (WebCore::ImageBuffer::ImageBuffer): + (WebCore::ImageBuffer::context): + (WebCore::ImageBuffer::image): + (WebCore::ImageBuffer::toDataURL): + +2008-10-30 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + More preparation for: + <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line + + * editing/BreakBlockquoteCommand.cpp: + (WebCore::BreakBlockquoteCommand::doApply): Added comments. Don't need to use newStartNode. If the + startNode needs to change, change it. Afterwords, check to make sure that it hasn't left topBlockquote. + This is slightly stricter than before, where we just made sure that it still had a topBlockquote. This + doesn't really fix a bug, since we can't really get into a situation where we move to a different + topBlockquote, but it simplifies the code. + +2008-10-30 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Alp Toker. + + https://bugs.webkit.org/show_bug.cgi?id=21883 + [CAIRO] globalAlpha has to be stored and restored + + Cairo's globalAlpha has to be stored and reloaded on calling + save() and restore(). We use the power of GraphicsContextState for this. + + * platform/graphics/GraphicsContextPrivate.h: + (WebCore::GraphicsContextState::GraphicsContextState): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::setAlpha): + (WebCore::GraphicsContext::getAlpha): + * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + +2008-10-29 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Maciej Stachowiak. + + Rename "attachedToEventTargetNode" to "isInline". + + Inline (onXXX) attributes are used not just with event target nodes, but also with Window, + XMLHttpRequest, MessagePort et al. + + Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent -> + attachedToEventTargetNode rename made for SVG) to createInlineEventListener(). + And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to + "inlineEventListenerForType", as they work with inline listeners. + + * bindings/js/JSDOMApplicationCacheCustom.cpp: + (WebCore::JSDOMApplicationCache::addEventListener): + (WebCore::JSDOMApplicationCache::removeEventListener): + * bindings/js/JSMessagePortCustom.cpp: + (WebCore::JSMessagePort::setOnmessage): + (WebCore::JSMessagePort::setOnclose): + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::addEventListener): + (WebCore::JSXMLHttpRequest::removeEventListener): + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + (WebCore::JSXMLHttpRequestUpload::addEventListener): + (WebCore::JSXMLHttpRequestUpload::removeEventListener): + Pass a correct value for this argument - callers used to be confused, because they didn't + consider themselves event target nodes. This doesn't affect behavior however, as the only + difference between inline and non-inline event handlers is that the former treat + "return false" as "event.preventDefault()", which is not important to any of these objects. + + * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): + Assert that isInline is true instead of checking its value, as the constructor of this class + always sets it to true. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::~JSDOMWindowBase): + (WebCore::JSDOMWindowBase::findJSEventListener): + (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): + (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): + (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): + (WebCore::JSDOMWindowBase::jsInlineEventListeners): + (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners): + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSEventListener.cpp: + (WebCore::JSAbstractEventListener::handleEvent): + (WebCore::JSAbstractEventListener::isInline): + (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener): + (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener): + (WebCore::JSEventListener::JSEventListener): + (WebCore::JSEventListener::~JSEventListener): + (WebCore::JSLazyEventListener::parseCode): + * bindings/js/JSEventListener.h: + (WebCore::JSAbstractEventListener::JSAbstractEventListener): + (WebCore::JSUnprotectedEventListener::create): + (WebCore::JSEventListener::create): + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::createInlineEventHandler): + * bindings/js/ScriptController.h: + * dom/Document.cpp: + (WebCore::Document::setWindowInlineEventListenerForType): + (WebCore::Document::windowInlineEventListenerForType): + (WebCore::Document::removeWindowInlineEventListenerForType): + (WebCore::Document::createEventListener): + (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute): + * dom/Document.h: + * dom/EventListener.h: + (WebCore::EventListener::isInline): + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::removeInlineEventListenerForType): + (WebCore::EventTargetNode::setInlineEventListenerForType): + (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute): + (WebCore::EventTargetNode::inlineEventListenerForType): + (WebCore::EventTargetNode::on*): (many methods) + (WebCore::EventTargetNode::setOn*): (many methods) + * dom/EventTargetNode.h: + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::parseMappedAttribute): + * html/HTMLButtonElement.cpp: + (WebCore::HTMLButtonElement::parseMappedAttribute): + * html/HTMLElement.cpp: + (WebCore::HTMLElement::parseMappedAttribute): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::parseMappedAttribute): + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::parseMappedAttribute): + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::parseMappedAttribute): + * html/HTMLImageElement.cpp: + (WebCore::HTMLImageElement::parseMappedAttribute): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::parseMappedAttribute): + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::parseMappedAttribute): + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::parseMappedAttribute): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::parseMappedAttribute): + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::parseMappedAttribute): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::mouseButtonListener): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::setInlineEventListenerForType): + (WebCore::DOMWindow::inlineEventListenerForType): + (WebCore::DOMWindow::on*): (many methods) + (WebCore::DOMWindow::setOn*): (many methods) + * page/DOMWindow.h: + * svg/SVGElement.cpp: + (WebCore::SVGElement::parseMappedAttribute): + * svg/SVGElementInstance.cpp: + (WebCore::SVGElementInstance::on*): (many methods) + (WebCore::SVGElementInstance::setOn*): (many methods) + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::parseMappedAttribute): + Rename things, as described above. + +2008-10-29 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed and slightly changed by Holger Freyther. + + Added all the files that need to be installed for the Inspector to + work. + + * GNUmakefile.am: Invoke the shell to get the files. + +2008-10-29 Andrew Scherkus <scherkus@chromium.org> + + Reviewed by Darin Adler + + Add MediaPlayerPrivateChromium to MediaPlayer + https://bugs.webkit.org/show_bug.cgi?id=21930 + + * platform/graphics/MediaPlayer.cpp: + +2008-10-29 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + Some preparation for: + <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line + + Added an early return to avoid a level of if-nesting. No other changes. We probably don't + need to rebalance whitespace before the early return but for now don't risk any change in behavior + I'll revisit that later. + + * editing/BreakBlockquoteCommand.cpp: + (WebCore::BreakBlockquoteCommand::doApply): + +2008-10-29 Kevin Ollivier <kevino@theolliviers.com> + + wx build fixes after addition of runtime and ImageBuffer changes. + + * platform/graphics/wx/ImageBufferData.h: Added. + * platform/graphics/wx/ImageBufferWx.cpp: + (WebCore::ImageBufferData::ImageBufferData): + (WebCore::ImageBuffer::ImageBuffer): + (WebCore::ImageBuffer::context): + * webcore-base.bkl: + +2008-10-29 Brett Wilson <brettw@chromium.org> + + Reviewed by Darin Adler + https://bugs.webkit.org/attachment.cgi?id=24745 + + Allow Skia implementations to get text style changed notifications. + + * platform/graphics/GraphicsContext.cpp: + +2008-10-29 Timothy Hatcher <timothy@apple.com> + + Add a manual test that checks breakpoints on a blockless body of + an "else" statement. + + https://bugs.webkit.org/show_bug.cgi?id=21944 + + Reviewed by Maciej Stachowiak. + + * manual-tests/inspector/debugger-pause-on-else-statements.html: Added. + +2008-10-29 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21921 + MessagePort messages are dispatched to documents that are not fully active + + Covered by corrected fast/events/message-port-inactive-document.html + + * bindings/js/JSEventListener.cpp: + (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts + that are not fully active. + +2008-10-29 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=21922 + Expose MessagePort global constructor + + Covered by existing dumper tests. + + * dom/MessagePort.idl: + * page/DOMWindow.idl: + +2008-10-29 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21924 + HashTable internal index is not always deleted + + * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap): + Call deleteTable for HashTables that are being deleted. + +2008-10-28 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21923 + Create an abstraction for script execution context + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + Added ScriptExecutionContext.{h,cpp}. + + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): + * bindings/js/JSAudioConstructor.h: + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): + * bindings/js/JSImageConstructor.h: + * bindings/js/JSOptionConstructor.cpp: + (WebCore::JSOptionConstructor::JSOptionConstructor): + * bindings/js/JSOptionConstructor.h: + * bindings/js/JSXMLHttpRequestConstructor.cpp: + (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): + * bindings/js/JSXMLHttpRequestConstructor.h: + Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy. + Since these objects can only work within documents now, it is immediately converted back + to Document. + + * bindings/js/JSMessageChannelConstructor.cpp: + (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): + (WebCore::JSMessageChannelConstructor::construct): + * bindings/js/JSMessageChannelConstructor.h: + (WebCore::JSMessageChannelConstructor::scriptExecutionContext): + MessageChannel needs to be supported in workers right away, so the constructor operates with + it directly. + + * dom/ActiveDOMObject.cpp: + (WebCore::ActiveDOMObject::ActiveDOMObject): + (WebCore::ActiveDOMObject::~ActiveDOMObject): + (WebCore::ActiveDOMObject::contextDestroyed): + * dom/ActiveDOMObject.h: + (WebCore::ActiveDOMObject::scriptExecutionContext): + * bindings/js/JSDOMBinding.cpp: + (WebCore::markActiveObjectsForContext): + (WebCore::markCrossHeapDependentObjectsForContext): + Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort + tracking is handled by ScriptExecutionContext. + + * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject. + + * bindings/js/JSDOMGlobalObject.h: + (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject. + Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible + to worker context implementation. + (WebCore::scriptExecutionContext): Added a pure virtual method to access + ScriptExecutionContext, implemented by subclasses. + + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext): + Implement by returning the associated document. Note that this method currently gives bogus + results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document + that is currently in the frame, not the one associated with this window. + + * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h. + + * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark): + Call markActiveObjectsForContext() by its new name. + + * dom/DedicatedWorker.cpp: + (WebCore::DedicatedWorker::DedicatedWorker): + (WebCore::DedicatedWorker::document): + * dom/DedicatedWorker.h: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::document): + * xml/XMLHttpRequest.h: + Added a document() function that upcasts ScriptExecutionContext, as these objects only work + within documents currently (at least for XMLHttpRequest, this will change soon though). + + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::~Document): + Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code + with workers. + + * dom/Document.h: + (WebCore::Document::isDocument): + (WebCore::Document::refScriptExecutionContext): + (WebCore::Document::derefScriptExecutionContext): + Inherit from ScriptExecutionContext. + + * dom/MessageChannel.cpp: + (WebCore::MessageChannel::MessageChannel): + * dom/MessageChannel.h: + (WebCore::MessageChannel::create): + Use ScriptExecutionContext instead of Document. + + * dom/MessagePort.cpp: + (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because + MessagePort doesn't ref() itself when posting this event any more (this is a fix for an + unrelated issue that was causing random crashes in layout tests). + (WebCore::MessagePort::MessagePort): + (WebCore::MessagePort::~MessagePort): + (WebCore::MessagePort::associatedFrame): + (WebCore::MessagePort::clone): + (WebCore::MessagePort::postMessage): + (WebCore::MessagePort::startConversation): + (WebCore::MessagePort::start): + (WebCore::MessagePort::contextDestroyed): + (WebCore::MessagePort::dispatchMessages): + * dom/MessagePort.h: + (WebCore::MessagePort::create): + (WebCore::MessagePort::scriptExecutionContext): + Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort + work in worker contexts - we need to also make some its method thread safe for cross-thread + messaging, and make event dispatching thread safe. + + * dom/ScriptExecutionContext.cpp: Added. + * dom/ScriptExecutionContext.h: Added. + ActiveDOMObject and MessagePort tracking is moved from Document. + It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow, + but as I'm just moving Document code, and it is Document that is the main context object + in our implementation currently. + Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that + seem non-trivial to fix, and isn't really a part of this task. + +2008-10-28 Alp Toker <alp@nuanti.com> + + List newly-added ImageBufferData.h in build system. + + * GNUmakefile.am: + +2008-10-28 Alp Toker <alp@nuanti.com> + + Reviewed by Cameron Zwarich. + + De-list unused WebCore ForwardingHeaders to fix the dist target. + + * GNUmakefile.am: + +2008-10-28 Cameron Zwarich <zwarich@apple.com> + + Not reviewed. + + Attempt to fix the Windows build by generating Forwardingheaders for the + runtime directory in JavaScriptCore. + + * WebCore.vcproj/WebCore.vcproj: + +2008-10-28 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored + + * editing/Editor.cpp: + (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word. + (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which + will probably require a change more complicated than just marking the learned word as + misspelled. I'll address it with a separate patch. + * editing/EditorCommand.cpp: + (WebCore::executeIgnoreSpelling): Added. + (WebCore::CommandEntry::): Added an entry for IgnoreSpelling. + +2008-10-28 Cameron Zwarich <zwarich@apple.com> + + Reviewed by Mark Rowe. + + Move ForwardingHeaders to their correct location after the creation of + the runtime directory in JavaScriptCore. + + * ForwardingHeaders/kjs/ArrayPrototype.h: Removed. + * ForwardingHeaders/kjs/BooleanObject.h: Removed. + * ForwardingHeaders/kjs/CallData.h: Removed. + * ForwardingHeaders/kjs/ConstructData.h: Removed. + * ForwardingHeaders/kjs/DateInstance.h: Removed. + * ForwardingHeaders/kjs/Error.h: Removed. + * ForwardingHeaders/kjs/FunctionConstructor.h: Removed. + * ForwardingHeaders/kjs/FunctionPrototype.h: Removed. + * ForwardingHeaders/kjs/InternalFunction.h: Removed. + * ForwardingHeaders/kjs/JSArray.h: Removed. + * ForwardingHeaders/kjs/JSFunction.h: Removed. + * ForwardingHeaders/kjs/JSGlobalObject.h: Removed. + * ForwardingHeaders/kjs/JSNumberCell.h: Removed. + * ForwardingHeaders/kjs/JSObject.h: Removed. + * ForwardingHeaders/kjs/JSString.h: Removed. + * ForwardingHeaders/kjs/JSValue.h: Removed. + * ForwardingHeaders/kjs/ObjectPrototype.h: Removed. + * ForwardingHeaders/kjs/PropertyMap.h: Removed. + * ForwardingHeaders/kjs/PrototypeFunction.h: Removed. + * ForwardingHeaders/kjs/StringObject.h: Removed. + * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed. + * ForwardingHeaders/kjs/StringPrototype.h: Removed. + * ForwardingHeaders/kjs/StructureID.h: Removed. + * ForwardingHeaders/runtime: Added. + * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h. + * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h. + * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h. + * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h. + * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h. + * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h. + * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h. + * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h. + * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h. + * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h. + * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h. + * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h. + * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h. + * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h. + * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h. + * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h. + * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h. + * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h. + * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h. + * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h. + * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h. + * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h. + * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h. + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + * bindings/js/JSCanvasRenderingContext2DCustom.cpp: + * bindings/js/JSClipboardCustom.cpp: + * bindings/js/JSConsoleCustom.cpp: + * bindings/js/JSCustomPositionCallback.h: + * bindings/js/JSCustomPositionErrorCallback.h: + * bindings/js/JSCustomSQLStatementCallback.h: + * bindings/js/JSCustomSQLStatementErrorCallback.h: + * bindings/js/JSCustomSQLTransactionErrorCallback.h: + * bindings/js/JSCustomVoidCallback.h: + * bindings/js/JSCustomXPathNSResolver.h: + * bindings/js/JSDOMBinding.cpp: + * bindings/js/JSDOMBinding.h: + * bindings/js/JSDOMGlobalObject.h: + * bindings/js/JSDOMWindowBase.cpp: + * bindings/js/JSDOMWindowCustom.cpp: + * bindings/js/JSDOMWindowShell.cpp: + * bindings/js/JSDatabaseCustom.cpp: + * bindings/js/JSEventListener.cpp: + * bindings/js/JSEventTarget.h: + * bindings/js/JSHTMLDocumentCustom.cpp: + * bindings/js/JSHistoryCustom.cpp: + * bindings/js/JSInspectedObjectWrapper.cpp: + * bindings/js/JSJavaScriptCallFrameCustom.cpp: + * bindings/js/JSLocationCustom.cpp: + * bindings/js/JSNodeFilterCondition.h: + * bindings/js/JSQuarantinedObjectWrapper.cpp: + * bindings/js/JSQuarantinedObjectWrapper.h: + * bindings/js/JSXMLHttpRequestCustom.cpp: + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + * bindings/objc/WebScriptObject.mm: + * bindings/objc/WebScriptObjectPrivate.h: + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/NP_jsobject.cpp: + * bridge/c/c_instance.cpp: + * bridge/c/c_utility.cpp: + * bridge/c/c_utility.h: + * bridge/jni/jni_instance.cpp: + * bridge/jni/jni_jsobject.h: + * bridge/jni/jni_jsobject.mm: + * bridge/jni/jni_runtime.cpp: + * bridge/jni/jni_utility.cpp: + * bridge/jni/jni_utility.h: + * bridge/objc/objc_instance.mm: + * bridge/objc/objc_runtime.h: + * bridge/objc/objc_runtime.mm: + * bridge/objc/objc_utility.h: + * bridge/objc/objc_utility.mm: + * bridge/runtime.h: + * bridge/runtime_array.cpp: + * bridge/runtime_array.h: + * bridge/runtime_method.cpp: + * bridge/runtime_method.h: + * bridge/runtime_object.cpp: + * bridge/runtime_object.h: + * bridge/runtime_root.cpp: + * inspector/JavaScriptCallFrame.cpp: + * inspector/JavaScriptProfile.cpp: + * inspector/JavaScriptProfile.h: + * inspector/JavaScriptProfileNode.cpp: + * inspector/JavaScriptProfileNode.h: + * loader/FrameLoader.cpp: + * page/Console.cpp: + * plugins/PluginView.cpp: + * plugins/gtk/PluginViewGtk.cpp: + * plugins/qt/PluginViewQt.cpp: + * plugins/win/PluginViewWin.cpp: + +2008-10-28 Adele Peterson <adele@apple.com> + + Windows build fix. This removes Cairo include directories from non-Cairbo build configurations. + + * WebCore.vcproj/WebCore.vcproj: + +2008-10-28 Adele Peterson <adele@apple.com> + + Windows build fix. + + * platform/graphics/ImageBuffer.h: + (WebCore::ImageBuffer::create): + +2008-10-28 Cameron Zwarich <zwarich@apple.com> + + Not reviewed. + + Roll out a mistaken attempt at fixing the GTK build in r37947. + + * GNUmakefile.am: + +2008-10-28 Adele Peterson <adele@apple.com> + + Reviewed by John Sullivan. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=21880 + "files" string for multifile uploads needs to be localized + + * page/mac/WebCoreViewFactory.h: + * platform/LocalizedStrings.h: + * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth): + * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText): + * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): + * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText): + * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText): + * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText): + +2008-10-28 Brett Wilson <brettw@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21816 + + Remove platform ifdefs in ImageBuffer.h by moving platform specific code + into a new PlatformImageBuffer class. Move the static create function + into the header because it can be cross-platform. Initialization now + happens in the cunstructor which sets a flag that create uses to know + whether it should return null or not. I also made passing of IntSize + more consistent (always by reference). + + This change also changes the ifdefs in GraphicsContext to allow Skia + ports to implement text drawing modes. + + * platform/graphics/ImageBuffer.h: + (WebCore::ImageBuffer::create): + (WebCore::ImageBuffer::size): + * platform/graphics/cairo/ImageBufferCairo.cpp: + (WebCore::ImageBufferData::ImageBufferData): + (WebCore::ImageBuffer::ImageBuffer): + (WebCore::ImageBuffer::~ImageBuffer): + (WebCore::ImageBuffer::image): + (WebCore::ImageBuffer::getImageData): + (WebCore::ImageBuffer::putImageData): + * platform/graphics/cairo/ImageBufferData.h: + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::ImageBufferData::ImageBufferData): + (WebCore::ImageBuffer::ImageBuffer): + (WebCore::ImageBuffer::~ImageBuffer): + (WebCore::ImageBuffer::getImageData): + (WebCore::ImageBuffer::putImageData): + * platform/graphics/cg/ImageBufferData.h: + * platform/graphics/qt/ImageBufferData.h: + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBufferData::ImageBufferData): + (WebCore::ImageBuffer::ImageBuffer): + (WebCore::ImageBuffer::~ImageBuffer): + +2008-10-28 Cameron Zwarich <zwarich@apple.com> + + Not reviewed. + + Fix the GTK build. + + * GNUmakefile.am: + +2008-10-28 Cameron Zwarich <zwarich@apple.com> + + Not reviewed. + + Another Qt build fix. + + * WebCore.pro: + +2008-10-28 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by David Kilzer. + + https://bugs.webkit.org/show_bug.cgi?id=21932 + Add non-pointer constant lookups to SoftLinking.h + + * platform/mac/SoftLinking.h: + +2008-10-28 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by David Kilzer. + + https://bugs.webkit.org/show_bug.cgi?id=2192 + Missing semi-colons in Geoposition.idl + + * page/Geoposition.idl: Add missing semi-colons + +2008-10-28 Timothy Hatcher <timothy@apple.com> + + Make the Profiles panel in the Web Inspector have an enable screen. + Profiling now needs to be enabled before console.profile() works. + + <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does + not slow down JavaScript all the time + + Reviewed by Darin Adler and Kevin McCullough. + + * English.lproj/localizedStrings.js: New strings. + * WebCore.base.exp: New and changed exports. + * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file. + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled. + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling + Timer to call InspectorController::startUserInitiatedProfiling. + (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer + that calls InspectorController::startUserInitiatedProfiling. + (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript + and enable the profiler if the profiler was not enabled. + (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability. + (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions + if the skipRecompile argument is false. Call the profilerWasEnabled script function. + (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions. + Call the profilerWasEnabled script function. + (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false, + so it won't be started later. + * inspector/InspectorController.h: + (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled. + * inspector/front-end/Images/debuggingButtons.png: Remove. + * inspector/front-end/Images/enableButtons.png: Added. + * inspector/front-end/Images/profilesSilhouette.png: Added. + * inspector/front-end/Images/scriptsSilhouette.png: Added. + * inspector/front-end/PanelEnablerView.js: Added. + (WebInspector.PanelEnablerView): + (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked" + event so listeners can do their thing. + (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden. + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it. + (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton. + (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface. + (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset. + (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface. + (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes. + (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and + show/hide other buttons. Also show/hide the PanelEnablerView. + (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled. + (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's + disableProfiler or enableProfiler. + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the + debuggingButton with the enableToggleButton. + (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with + the enableToggleButton. + (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton + when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton + with the enableToggleButton. + (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled. + (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface, + since reset is called from debuggerWasEnabled and debuggerWasDisabled. + * inspector/front-end/View.js: Inherit from WebInspector.Object. + * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file. + * inspector/front-end/inspector.css: New styles for the PanelEnablerView. + * inspector/front-end/inspector.html: Add the PanelEnablerView.js file. + * inspector/front-end/inspector.js: + (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel. + (WebInspector.profilerWasDisabled): Ditto. + * page/Console.cpp: + (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used. + (WebCore::Console::info): Ditto. + (WebCore::Console::log): Ditto. + (WebCore::Console::assertCondition): Ditto. + (WebCore::Console::dirxml): Remove null check for m_frame and use this->page(). + (WebCore::Console::count): Ditto. + (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false. + (WebCore::Console::profileEnd): Ditto. + (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used. + * page/Settings.cpp: + (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled. + (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions. + Now just sets the member boolean. + * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled. + +2008-10-28 Timothy Hatcher <timothy@apple.com> + + Rename a few methods related to attaching and detaching the debugger. Also + adds stub methods for enabling and disabling the profiler. + + * Rename attachDebugger to enableDebugger. + * Rename detachDebugger to disableDebugger. + * Rename the debuggerAttached getter to debuggerEnabled. + * Rename the debuggerAttached callback to debuggerWasEnabled. + * Rename the debuggerDetached callback to debuggerWasDisabled. + + Reviewed by Darin Adler. + + * WebCore.base.exp: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::setWindowVisible): + (WebCore::InspectorController::windowScriptObjectAvailable): + (WebCore::InspectorController::close): + (WebCore::InspectorController::enableProfiler): + (WebCore::InspectorController::disableProfiler): + (WebCore::InspectorController::enableDebugger): + (WebCore::InspectorController::disableDebugger): + (WebCore::InspectorController::pauseInDebugger): + (WebCore::InspectorController::resumeDebugger): + (WebCore::InspectorController::stepOverStatementInDebugger): + (WebCore::InspectorController::stepIntoStatementInDebugger): + (WebCore::InspectorController::stepOutOfFunctionInDebugger): + * inspector/InspectorController.h: + (WebCore::InspectorController::profilerEnabled): + (WebCore::InspectorController::debuggerEnabled): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): + (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint): + (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged): + * inspector/front-end/Object.js: + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype.get statusBarItems): + (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled): + (WebInspector.ScriptsPanel.prototype.debuggerWasDetached): + (WebInspector.ScriptsPanel.prototype.reset): + (WebInspector.ScriptsPanel.prototype.canShowResource): + (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton): + (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): + (WebInspector.ScriptsPanel.prototype._toggleDebugging): + * inspector/front-end/View.js: + * inspector/front-end/inspector.css: + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + (WebInspector.addResource): + (WebInspector.debuggerWasEnabled): + (WebInspector.debuggerWasDisabled): + +2008-10-28 Timothy Hatcher <timothy@apple.com> + + Fix an exception when searching the Resources panel while there + and resources queued to be added to the list. + + Reviewed by Kevin McCullough. + + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check + the _resourcesTreeElement property. + (WebInspector.ResourcesPanel.prototype.performSearch): Ditto. + +2008-10-28 Alp Toker <alp@nuanti.com> + + GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK + isn't defined. + + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::getDefaultPangoLayout): + * platform/graphics/gtk/FontPlatformDataPango.cpp: + +2008-10-28 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21893 + Character set is incorrect for external scripts in XHTML pages + + <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/ + + Test: fast/encoding/external-script-charset.xhtml + + Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer. + + * dom/ScriptElement.h: + * dom/XMLTokenizerLibxml2.cpp: + (WebCore::XMLTokenizer::endElementNs): + * dom/XMLTokenizerQt.cpp: + (WebCore::XMLTokenizer::parseEndElement): + * html/HTMLScriptElement.h: + * svg/SVGScriptElement.cpp: + (WebCore::SVGScriptElement::scriptCharset): + * svg/SVGScriptElement.h: + +2008-10-28 Alp Toker <alp@nuanti.com> + + Include copyright license files in the autotools dist target and + exclude unused zlib headers. + + Change suggested by Mike Hommey. + + * GNUmakefile.am: + +2008-10-27 Sam Weinig <sam@webkit.org> + + Reviewed by Maciej Stachowiak. + + Clear the window shell when destroying a page to allow documents + which have no way of being reached anymore, to be torn down. + + * page/Frame.cpp: + (WebCore::Frame::pageDestroyed): + +2008-10-27 Kevin Watters <kevinwatters@gmail.com> + + Reviewed by Kevin Ollivier. + + Update the active state as well as the focused state as both need to be true + for the caret to be drawn. + + https://bugs.webkit.org/show_bug.cgi?id=21900 + + * WebView.cpp: + (wxWebView::OnSetFocus): + (wxWebView::OnKillFocus): + +2008-10-27 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes. + + * webcore-wx.bkl: + +2008-10-27 Michael Knaup <michael.knaup@mac.com> + + Reviewed and tweaked by Darin Adler. + + - https://bugs.webkit.org/show_bug.cgi?id=8988 + + Bug 8988: Add support for Mozilla CSS custom cursors. + Added -webkit-grab and -webkit-grabbing cursor suppport + for the Mac, dummy implementations for other platforms. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): Updated since the + -webkit-grabbing cursor is now the last one. + + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added + CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING. + + * css/CSSValueKeywords.in: Added -webkit-grab and + -webkit-grabbing. + + * manual-tests/cursor.html: Added -webkit-zoom-in, + webkit-zoom-out, -webkit-grab, and -webkit-grabbing. + + * page/EventHandler.cpp: + (WebCore::EventHandler::selectCursor): Added + CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING. + + * platform/Cursor.h: Added grabCursor and grabbingCursor. + + * platform/gtk/CursorGtk.cpp: + (WebCore::grabCursor): Added. + (WebCore::grabbingCursor): Added. + * platform/mac/CursorMac.mm: + (WebCore::grabCursor): Added. + (WebCore::grabbingCursor): Added. + * platform/qt/CursorQt.cpp: + (WebCore::grabCursor): Added. + (WebCore::grabbingCursor): Added. + * platform/win/CursorWin.cpp: + (WebCore::grabCursor): Added. + (WebCore::grabbingCursor): Added. + * platform/wx/CursorWx.cpp: + (WebCore::grabCursor): Added. + (WebCore::grabbingCursor): Added. + + * rendering/style/RenderStyleConstants.h: + Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING. + Also broke ECursor out into a single constant per line. + Also added a couple of comments. + +2008-10-27 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + * svg/SVGAnimatedTemplate.h: needed a HashMap define + +2008-10-21 Eric Seidel <eric@webkit.org> + + Reviewed by Dave Hyatt. + + Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block + https://bugs.webkit.org/show_bug.cgi?id=20400 + + Test: svg/custom/stop-crash.svg + + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderSVGGradientStop.h: + (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect): + +2008-10-27 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + No need to call release if the connection is null. + + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::start): + +2008-10-27 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html + + Make sure to null check the NSURLConnection object. + + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::setDefersLoading): + +2008-10-27 Alexey Proskuryakov <ap@webkit.org> + + Fix non-Mac builds. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCoreSources.bkl: + Renamed JSHTMLOptionElementConstructor to JSOptionConstructor. + +2008-10-26 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=21886 + window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor + + Test: fast/dom/HTMLOptionElement/option-prototype.html + + We now have separate objects for window.Option and window.HTMLOptionElement - the latter + "constructor" cannot be used to construct anything. This matches Firefox behavior. + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMWindowBase.cpp: + (jsDOMWindowBaseOption): + * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed. + * bindings/js/JSHTMLOptionElementConstructor.h: Removed. + * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp. + * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h. + * html/HTMLOptionElement.idl: + Renamed JSHTMLOptionElementConstructor to JSOptionConstructor. + + * html/HTMLOptionElement.idl: Generate a constructor. + +2008-10-25 Geoffrey Garen <ggaren@apple.com> + + Not reviewed. + + Try to fix Mac debug build on the buildbot. + + * platform/FileChooser.cpp: + (WebCore::FileChooserClient::~FileChooserClient): + * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a + weak exported symbol. + +2008-10-25 Jade Han <jade.han@nokia.com> + + Reviewed by Anders. + + Enable custom properties for Qt runtime objects in QtWebKit + + https://bugs.webkit.org/show_bug.cgi?id=21813 + + * bridge/runtime_object.cpp: + (JSC::RuntimeObjectImp::getOwnPropertySlot): + (JSC::RuntimeObjectImp::put): + +2008-10-24 Sam Weinig <sam@webkit.org> + + Fix windows build. + + * page/Chrome.cpp: + * page/Chrome.h: + +2008-10-24 Sam Weinig <sam@webkit.org> + + Fix Qt build. + + * platform/qt/FileChooserQt.cpp: + +2008-10-24 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Fix https://bugs.webkit.org/show_bug.cgi?id=21759 + Layering violation: FileChooser should not depend on Document/Frame/Page + + Move file choosing into WebKit ChromeClient. + + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::runOpenPanel): + * page/Chrome.cpp: + (WebCore::Chrome::runOpenPanel): + * page/Chrome.h: + * page/ChromeClient.h: + * page/mac/ChromeMac.mm: + * platform/FileChooser.h: + * platform/mac/FileChooserMac.mm: + * platform/qt/FileChooserQt.cpp: + * platform/win/FileChooserWin.cpp: + * platform/wx/TemporaryLinkStubs.cpp: + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::click): + +2008-10-24 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix - add newIconForFiles stub. + + * platform/wx/TemporaryLinkStubs.cpp: + (Icon::newIconForFiles): + +2008-10-24 Kevin Watters <kevinwatters@gmail.com> + + Reviewed by Kevin Ollivier. + + Use the CGFont metrics APIs for more accurate measurements, and tweak the y + value the text is drawn at (it was a couple pixels off before because wx + internally adds to the y value. + + https://bugs.webkit.org/show_bug.cgi?id=21853 + + * platform/wx/wxcode/mac/carbon/fontprops.cpp: + (wxFontProperties::wxFontProperties): + * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: + (WebCore::drawTextWithSpacing): + +2008-10-24 Eric Seidel <eric@webkit.org> + + Reviewed by Sam Weinig. + + Generate missing constructors and add test to prevent missing ones in the future + https://bugs.webkit.org/show_bug.cgi?id=21846 + + Test: fast/js/global-constructors.html + + * css/CSSStyleSheet.idl: + * css/RGBColor.idl: + * dom/NodeIterator.idl: + * dom/TreeWalker.idl: + * xml/XPathExpression.idl: + +2008-10-24 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21836 + REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly + + Test: http/tests/xmlhttprequest/detaching-frame.html + + * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window - + even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected + when dispatching the same callback that results in this function being called. + +2008-10-24 David Kilzer <ddkilzer@apple.com> + + Gtk build fix. + + * platform/gtk/TemporaryLinkStubs.cpp: + (WebCore::setFocusRingColorChangeFunction): Removed in r37858. + +2008-10-24 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values. + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setImageInterpolationQuality): + (WebCore::GraphicsContext::imageInterpolationQuality): + +2008-10-24 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/5440917> Support NPN_Construct + + * WebCore.NPAPI.exp: + Export _NPN_Construct. + + * bridge/NP_jsobject.cpp: + (_NPN_Construct): + Implement this. + + * bridge/c/c_instance.cpp: + (JSC::Bindings::CInstance::supportsConstruct): + (JSC::Bindings::CInstance::invokeConstruct): + Have this call the appropriate NPClass method. + + * bridge/npruntime.h: + Add NPN_Construct. + + * bridge/npruntime_impl.h: + Add _NPN_Construct. + + * bridge/runtime.h: + (JSC::Bindings::Instance::supportsConstruct): + (JSC::Bindings::Instance::invokeConstruct): + New methods. + + * bridge/runtime_object.cpp: + (JSC::callRuntimeConstructor): + Call the native instance. + + (JSC::RuntimeObjectImp::getConstructData): + Implement this. + + * bridge/runtime_object.h: + Add new method declarations. + + * plugins/gtk/PluginPackageGtk.cpp: + (WebCore::PluginPackage::load): + * plugins/qt/PluginPackageQt.cpp: + (WebCore::PluginPackage::load): + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackage::load): + Initialize m_pluginFuncs.construct. + +2008-10-24 Adele Peterson <adele@apple.com> + + Build fix. + + * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient): + * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): + +2008-10-24 Greg Bolsinga <bolsinga@apple.com> + + Fix GTK build break. + + Reviewed by David Kilzer. + + * GNUmakefile.am: Do not include .idl files whose generated files should not be + compiled. + +2008-10-24 David Kilzer <ddkilzer@apple.com> + + Wx build fix. + + * platform/wx/TemporaryLinkStubs.cpp: + (WebCore::setFocusRingColorChangeFunction): Removed in r37858. + +2008-10-24 Adele Peterson <adele@apple.com> + + Reviewed by Sam Weinig. + + WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload. + + This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used. + This is consistent with the direction HTML5 will be going in the future. + + The initial implementation here will show "n files" as the text next to the control when multiple files are selected. You can view + the individual files in a tooltip for now. Improvements to this control will come later. + + 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. + These FileList Files can also be sent in an XMLHTTPRequest. + + * manual-tests/post-multi-file-upload.html: Added. + * manual-tests/resources/multiFileResources: Added. + * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added. + * manual-tests/resources/multiFileResources/testFile1.html: Added. + * manual-tests/resources/multiFileResources/testFile2.html: Added. + * manual-tests/resources/multiFileResources/testFile3.html: Added. + + * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute. + (WebCore::HTMLInputElement::value): Added comments. The HTML5 spec says that value shouldn't apply for the file upload control, + but we don't want to break the behavior for existing websites that may rely on this. + (WebCore::HTMLInputElement::setValue): ditto. + (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead. + (WebCore::HTMLInputElement::setFileListFromRenderer): Added. + * html/HTMLInputElement.h: + + * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control. + + * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files. + + * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer. + (WebCore::FileChooser::FileChooser): + (WebCore::FileChooser::create): + (WebCore::FileChooser::clear): + (WebCore::FileChooser::chooseFile): + (WebCore::FileChooser::chooseFiles): + (WebCore::FileChooser::chooseIcon): + * platform/FileChooser.h: + (WebCore::FileChooser::filePaths): + (WebCore::FileChooser::allowsMultipleFiles): + + * platform/graphics/Icon.h: + * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files. + * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out. + * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto. + * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto. + + * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth): Updated to deal with new filenames vector. + * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto. + * platform/qt/FileChooserQt.cpp: + (WebCore::FileChooser::openFileChooser): + (WebCore::FileChooser::basenameForWidth): + * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth): + + * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle): + Removed unnecessary assertion. This can get hit when connectionDidFinishLoading and cancel + both get called for the same ResourceHandle. This getting called twice has no negative effect. + + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::valueChanged): Calls setFileListFromRenderer. + (WebCore::RenderFileUploadControl::allowsMultipleFiles): Added. + (WebCore::RenderFileUploadControl::updateFromElement): Uses the new filenames call from FileChooser. + (WebCore::RenderFileUploadControl::receiveDroppedFiles): Updated to support multiple files. + * rendering/RenderFileUploadControl.h: + +2008-10-23 Peter Kasting <pkasting@google.com> + + Reviewed by David Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=21844 + Remove setFocusRingColorChangeFunction. + + * page/Page.cpp: + (WebCore::Page::Page): + * platform/graphics/Color.h: + * platform/graphics/mac/ColorMac.mm: + (WebCore::focusRingColor): + * platform/graphics/qt/GraphicsContextQt.cpp: + * platform/graphics/win/ColorSafari.cpp: + +2008-10-24 David Kilzer <ddkilzer@apple.com> + + Build fix for Qt. + + Reviewed by Greg. + + * WebCore.pro: Added missing *.idl files. + +2008-10-24 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=21475 + + Provide support for the Geolocation API + + http://dev.w3.org/geo/api/spec-source.html + + Test: geolocation/geolocation-not-implemented.html + + * DerivedSources.make: + * GNUmakefile.am: Added Geolocation support + * WebCore.pro: Added Geolocation support + * WebCore.vcproj/WebCore.vcproj: Added Geolocation support + * WebCore.xcodeproj/project.pbxproj: Added Geolocation support + * WebCoreSources.bkl: Added Geolocation support + * bindings/js/JSCustomPositionCallback.cpp: Added. + (WebCore::JSCustomPositionCallback::JSCustomPositionCallback): + (WebCore::JSCustomPositionCallback::handleEvent): + * bindings/js/JSCustomPositionCallback.h: Added. + (WebCore::JSCustomPositionCallback::create): + * bindings/js/JSCustomPositionErrorCallback.cpp: Added. + (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback): + (WebCore::JSCustomPositionErrorCallback::handleEvent): + * bindings/js/JSCustomPositionErrorCallback.h: Added. + (WebCore::JSCustomPositionErrorCallback::create): + * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom + (WebCore::markDOMObjectWrapper): + * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom + * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding + * bindings/js/JSGeolocationCustom.cpp: Added. + (WebCore::JSGeolocation::getCurrentPosition): + (WebCore::JSGeolocation::watchPosition): + * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation + (WebCore::JSNavigator::mark): + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/Document.h: + (WebCore::Document::setUsingGeolocation): + (WebCore::Document::usingGeolocation): + * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation + (WebCore::FrameLoader::canCachePage): + * page/Geolocation.cpp: Added. + (WebCore::Geolocation::GeoNotifier::GeoNotifier): + (WebCore::Geolocation::GeoNotifier::timerFired): + (WebCore::Geolocation::Geolocation): + (WebCore::Geolocation::disconnectFrame): + (WebCore::Geolocation::getCurrentPosition): + (WebCore::Geolocation::watchPosition): + (WebCore::Geolocation::clearWatch): + (WebCore::Geolocation::stopUpdatingIfEmpty): + (WebCore::Geolocation::sendErrorToOneShots): + (WebCore::Geolocation::sendErrorToWatchers): + (WebCore::Geolocation::sendPositionToOneShots): + (WebCore::Geolocation::sendPositionToWatchers): + (WebCore::Geolocation::handleError): + (WebCore::Geolocation::geolocationServicePositionChanged): + (WebCore::Geolocation::geolocationServiceErrorOccurred): + * page/Geolocation.h: Added. + (WebCore::Geolocation::create): + (WebCore::Geolocation::~Geolocation): + (WebCore::Geolocation::lastPosition): + (WebCore::Geolocation::GeoNotifier::create): + * page/Geolocation.idl: Added. + * page/Geoposition.cpp: Added. + (WebCore::Geoposition::toString): + * page/Geoposition.h: Added. + (WebCore::Geoposition::create): + (WebCore::Geoposition::latitude): + (WebCore::Geoposition::longitude): + (WebCore::Geoposition::altitude): + (WebCore::Geoposition::accuracy): + (WebCore::Geoposition::altitudeAccuracy): + (WebCore::Geoposition::heading): + (WebCore::Geoposition::velocity): + (WebCore::Geoposition::timestamp): + (WebCore::Geoposition::Geoposition): + * page/Geoposition.idl: Added. + * page/Navigator.cpp: + (WebCore::Navigator::disconnectFrame): disconnect Geolocation + (WebCore::Navigator::geolocation): accessor for Geolocation + * page/Navigator.h: + (WebCore::Navigator::optionalGeolocation): accessor for Geolocation + * page/Navigator.idl: accessor for Geolocation + * page/PositionCallback.h: Added. + (WebCore::PositionCallback::~PositionCallback): + * page/PositionCallback.idl: Added. + * page/PositionError.h: Added. + (WebCore::PositionError::): + (WebCore::PositionError::create): + (WebCore::PositionError::code): + (WebCore::PositionError::message): + (WebCore::PositionError::PositionError): + * page/PositionError.idl: Added. + * page/PositionErrorCallback.h: Added. + (WebCore::PositionErrorCallback::~PositionErrorCallback): + * page/PositionErrorCallback.idl: Added. + * page/PositionOptions.h: Added. + (WebCore::PositionOptions::create): + (WebCore::PositionOptions::enableHighAccuracy): + (WebCore::PositionOptions::setEnableHighAccuracy): + (WebCore::PositionOptions::timeout): + (WebCore::PositionOptions::setTimeout): + (WebCore::PositionOptions::PositionOptions): + * page/PositionOptions.idl: Added. + * platform/GeolocationService.cpp: Added. + (WebCore::GeolocationService::GeolocationService): + (WebCore::GeolocationService::positionChanged): + (WebCore::GeolocationService::errorOccurred): + * platform/GeolocationService.h: Added. + (WebCore::GeolocationServiceClient::~GeolocationServiceClient): + (WebCore::GeolocationServiceClient::geolocationServicePositionChanged): + (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred): + (WebCore::GeolocationService::~GeolocationService): + +2008-10-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler + + https://bugs.webkit.org/show_bug.cgi?id=21818 + + Add HashTraits for AtomicString so that AtomicString can be used as + the key for a HashMap or HashSet. + + * GNUmakefile.am: add AtomicStringHash.h + * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h + * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h + * platform/text/AtomicString.h: + (WebCore::AtomicString::AtomicString): + (WebCore::AtomicString::isHashTableDeletedValue): + specialize DefaultHash for AtomicString to use AtomicStringHash + * platform/text/AtomicStringHash.h: Added. + * platform/text/StringImpl.cpp: + (WebCore::StringImpl::StringImpl): + compute the hash up-front for the empty string + * platform/text/StringImpl.h: + (WebCore::StringImpl::existingHash): + method to get the hash without a test and branch, for callers like + AtomicStringHash who can guarantee that the hash has already been computed. + +2008-10-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig + + https://bugs.webkit.org/show_bug.cgi?id=21857 + + Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the + switch in _wrapCSSRule. + + * bindings/objc/DOMCSS.mm: + (+[DOMCSSRule _wrapCSSRule:WebCore::]): + +2008-10-24 Adam Roben <aroben@apple.com> + + Windows build fix + + * plugins/PluginView.cpp: + +2008-10-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - fix https://bugs.webkit.org/show_bug.cgi?id=21851 + <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height + + Test: fast/replaced/percent-height-in-anonymous-block-widget.html + + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::destroy): Copied code added to + RenderBox::destroy() in r36513 into this function. + +2008-10-24 Timothy Hatcher <timothy@apple.com> + + Add a mechanism to ask the InspectorClient for key/value setting pairs. + These settings can be strings, numbers, booleans or string vectors. The + settings are also bridged to and from JavaScript. + + https://bugs.webkit.org/show_bug.cgi?id=21856 + + Reviewed by Darin Adler. + + * WebCore.base.exp: Expose the String CFStringRef constructor. + * inspector/InspectorClient.h: + (WebCore::InspectorClient::populateSetting): Added, pure virtual. + (WebCore::InspectorClient::storeSetting): Ditto. + (WebCore::InspectorClient::removeSetting): Ditto. + * inspector/InspectorController.cpp: + (WebCore::setting): Calls InspectorController::setting and wraps the result in script types. + (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types. + (WebCore::InspectorController::InspectorController): Increment a global static + to track the number of live InspectorControllers. + (WebCore::InspectorController::~InspectorController): Decrement the global static + that tracks the number of live InspectorControllers. Delete the setting cache if there + are no more live controllers. + (WebCore::InspectorController::setting): Check the cache and return the setting from there, + otherwise make a new Setting and ask the client to populate it. + (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it. + (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting + to the InspectorController script class. + * inspector/InspectorController.h: + (WebCore::InspectorController::Setting::Setting): + (WebCore::InspectorController::Setting::operator=): + (WebCore::InspectorController::Setting::type): Return m_type. + (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct. + (WebCore::InspectorController::Setting::stringVector): Return m_stringVector. + Assert the type is correct. + (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double. + Assert the type is correct. + (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer. + Assert the type is correct. + (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean. + Assert the type is correct. + (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right + field and the type. + * loader/EmptyClients.h: + (WebCore::EmptyInspectorClient::populateSetting): Added, empty method. + (WebCore::EmptyInspectorClient::storeSetting): Ditto. + (WebCore::EmptyInspectorClient::removeSetting): Ditto. + +2008-10-24 Cameron Zwarich <zwarich@apple.com> + + Reviewed by Sam Weinig. + + Remove some C-style casts. + + * html/HTMLViewSourceDocument.cpp: + (WebCore::HTMLViewSourceDocument::addViewSourceToken): + +2008-10-24 Darin Adler <darin@apple.com> + + - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732 + + * bindings/js/JSAttrCustom.cpp: + * bindings/js/JSCSSRuleCustom.cpp: + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + * bindings/js/JSCSSValueCustom.cpp: + * bindings/js/JSCanvasPixelArrayCustom.h: + * bindings/js/JSCanvasRenderingContext2DCustom.cpp: + * bindings/js/JSClipboardCustom.cpp: + * bindings/js/JSConsoleCustom.cpp: + * bindings/js/JSCustomSQLStatementCallback.cpp: + * bindings/js/JSCustomSQLStatementErrorCallback.cpp: + * bindings/js/JSCustomSQLTransactionCallback.cpp: + * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: + * bindings/js/JSCustomVoidCallback.cpp: + * bindings/js/JSCustomVoidCallback.h: + * bindings/js/JSCustomXPathNSResolver.cpp: + * bindings/js/JSCustomXPathNSResolver.h: + * bindings/js/JSDOMApplicationCacheCustom.cpp: + * bindings/js/JSDOMBinding.cpp: + * bindings/js/JSDOMBinding.h: + * bindings/js/JSDOMWindowBase.cpp: + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSDOMWindowCustom.cpp: + * bindings/js/JSDOMWindowCustom.h: + * bindings/js/JSDOMWindowShell.cpp: + * bindings/js/JSDOMWindowShell.h: + * bindings/js/JSDatabaseCustom.cpp: + * bindings/js/JSDedicatedWorkerCustom.cpp: + * bindings/js/JSDocumentCustom.cpp: + * bindings/js/JSElementCustom.cpp: + * bindings/js/JSEventCustom.cpp: + * bindings/js/JSEventListener.cpp: + * bindings/js/JSEventTarget.cpp: + * bindings/js/JSEventTarget.h: + * bindings/js/JSEventTargetBase.h: + * bindings/js/JSEventTargetNodeCustom.cpp: + * bindings/js/JSHTMLAllCollection.h: + * bindings/js/JSHTMLAppletElementCustom.cpp: + * bindings/js/JSHTMLCollectionCustom.cpp: + * bindings/js/JSHTMLDocumentCustom.cpp: + * bindings/js/JSHTMLEmbedElementCustom.cpp: + * bindings/js/JSHTMLFormElementCustom.cpp: + * bindings/js/JSHTMLFrameElementCustom.cpp: + * bindings/js/JSHTMLFrameSetElementCustom.cpp: + * bindings/js/JSHTMLIFrameElementCustom.cpp: + * bindings/js/JSHTMLInputElementCustom.cpp: + * bindings/js/JSHTMLObjectElementCustom.cpp: + * bindings/js/JSHTMLOptionsCollectionCustom.cpp: + * bindings/js/JSHTMLSelectElementCustom.cpp: + * bindings/js/JSHTMLSelectElementCustom.h: + * bindings/js/JSHistoryCustom.cpp: + * bindings/js/JSImageDataCustom.cpp: + * bindings/js/JSInspectedObjectWrapper.cpp: + * bindings/js/JSInspectedObjectWrapper.h: + * bindings/js/JSInspectorCallbackWrapper.cpp: + * bindings/js/JSInspectorCallbackWrapper.h: + * bindings/js/JSJavaScriptCallFrameCustom.cpp: + * bindings/js/JSLocationCustom.cpp: + * bindings/js/JSMessagePortCustom.cpp: + * bindings/js/JSMimeTypeArrayCustom.cpp: + * bindings/js/JSNamedNodeMapCustom.cpp: + * bindings/js/JSNamedNodesCollection.cpp: + * bindings/js/JSNamedNodesCollection.h: + * bindings/js/JSNavigatorCustom.cpp: + * bindings/js/JSNodeCustom.cpp: + * bindings/js/JSNodeFilterCondition.cpp: + * bindings/js/JSNodeFilterCondition.h: + * bindings/js/JSNodeFilterCustom.cpp: + * bindings/js/JSNodeIteratorCustom.cpp: + * bindings/js/JSNodeListCustom.cpp: + * bindings/js/JSPluginArrayCustom.cpp: + * bindings/js/JSPluginCustom.cpp: + * bindings/js/JSPluginElementFunctions.cpp: + * bindings/js/JSPluginElementFunctions.h: + * bindings/js/JSQuarantinedObjectWrapper.cpp: + * bindings/js/JSQuarantinedObjectWrapper.h: + * bindings/js/JSRGBColor.cpp: + * bindings/js/JSRGBColor.h: + * bindings/js/JSSQLResultSetRowListCustom.cpp: + * bindings/js/JSSQLTransactionCustom.cpp: + * bindings/js/JSSVGElementInstanceCustom.cpp: + * bindings/js/JSSVGLengthCustom.cpp: + * bindings/js/JSSVGMatrixCustom.cpp: + * bindings/js/JSSVGPathSegCustom.cpp: + * bindings/js/JSSVGPathSegListCustom.cpp: + * bindings/js/JSSVGPointListCustom.cpp: + * bindings/js/JSSVGTransformListCustom.cpp: + * bindings/js/JSStorageCustom.cpp: + * bindings/js/JSStyleSheetCustom.cpp: + * bindings/js/JSStyleSheetListCustom.cpp: + * bindings/js/JSTextCustom.cpp: + * bindings/js/JSTreeWalkerCustom.cpp: + * bindings/js/JSXMLHttpRequestCustom.cpp: + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + * bindings/js/JSXSLTProcessorCustom.cpp: + * bindings/js/ScheduledAction.cpp: + * bindings/js/ScheduledAction.h: + * bindings/js/ScriptController.cpp: + * bindings/js/ScriptController.h: + * bindings/objc/WebScriptObject.mm: + * bindings/objc/WebScriptObjectPrivate.h: + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/NP_jsobject.cpp: + * bridge/c/c_instance.cpp: + * bridge/c/c_instance.h: + * bridge/c/c_runtime.cpp: + * bridge/c/c_runtime.h: + * bridge/c/c_utility.cpp: + * bridge/c/c_utility.h: + * bridge/jni/jni_instance.cpp: + * bridge/jni/jni_instance.h: + * bridge/jni/jni_jsobject.h: + * bridge/jni/jni_jsobject.mm: + * bridge/jni/jni_objc.mm: + * bridge/jni/jni_runtime.cpp: + * bridge/jni/jni_runtime.h: + * bridge/jni/jni_utility.cpp: + * bridge/jni/jni_utility.h: + * bridge/objc/WebScriptObject.h: + * bridge/objc/objc_class.h: + * bridge/objc/objc_class.mm: + * bridge/objc/objc_instance.h: + * bridge/objc/objc_instance.mm: + * bridge/objc/objc_runtime.h: + * bridge/objc/objc_runtime.mm: + * bridge/objc/objc_utility.h: + * bridge/objc/objc_utility.mm: + * bridge/qt/qt_class.cpp: + * bridge/qt/qt_class.h: + * bridge/qt/qt_instance.cpp: + * bridge/qt/qt_instance.h: + * bridge/qt/qt_runtime.cpp: + * bridge/qt/qt_runtime.h: + * bridge/runtime.cpp: + * bridge/runtime.h: + * bridge/runtime_array.cpp: + * bridge/runtime_array.h: + * bridge/runtime_method.cpp: + * bridge/runtime_method.h: + * bridge/runtime_object.cpp: + * bridge/runtime_object.h: + * bridge/testqtbindings.cpp: + * inspector/JavaScriptCallFrame.cpp: + * inspector/JavaScriptCallFrame.h: + * inspector/JavaScriptProfile.cpp: + * inspector/JavaScriptProfile.h: + * inspector/JavaScriptProfileNode.cpp: + * inspector/JavaScriptProfileNode.h: + * loader/FrameLoader.cpp: + * loader/FrameLoader.h: + * page/Console.cpp: + * page/Console.h: + * plugins/MimeTypeArray.h: + * plugins/Plugin.h: + * plugins/PluginArray.h: + * plugins/PluginView.cpp: + * xml/XMLHttpRequest.cpp: + Use JSValue* instead of JSValuePtr. + +2008-10-24 Simon Hausmann <hausmann@webkit.org> + + Fix the Qt build. + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtField::valueFromInstance): + +2008-10-24 David Kilzer <ddkilzer@apple.com> + + Rolled out r37840 and r37841. + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSCustomPositionCallback.cpp: Removed. + * bindings/js/JSCustomPositionCallback.h: Removed. + * bindings/js/JSCustomPositionErrorCallback.cpp: Removed. + * bindings/js/JSCustomPositionErrorCallback.h: Removed. + * bindings/js/JSDOMBinding.cpp: + * bindings/js/JSDOMBinding.h: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::markDOMObjectWrapper): + * bindings/js/JSGeolocationCustom.cpp: Removed. + * bindings/js/JSNavigatorCustom.cpp: + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/Document.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::canCachePage): + * page/Geolocation.cpp: Removed. + * page/Geolocation.h: Removed. + * page/Geolocation.idl: Removed. + * page/Geoposition.cpp: Removed. + * page/Geoposition.h: Removed. + * page/Geoposition.idl: Removed. + * page/Navigator.cpp: + (WebCore::Navigator::disconnectFrame): + * page/Navigator.h: + * page/Navigator.idl: + * page/PositionCallback.h: Removed. + * page/PositionCallback.idl: Removed. + * page/PositionError.h: Removed. + * page/PositionError.idl: Removed. + * page/PositionErrorCallback.h: Removed. + * page/PositionErrorCallback.idl: Removed. + * page/PositionOptions.h: Removed. + * page/PositionOptions.idl: Removed. + * platform/GeolocationService.cpp: Removed. + * platform/GeolocationService.h: Removed. + +2008-10-23 David Kilzer <ddkilzer@apple.com> + + Attempt to fix GTK build. + + * GNUmakefile.am: Added new *.idl files that were missing. + +2008-10-23 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=21475 + + Provide support for the Geolocation API + + http://dev.w3.org/geo/api/spec-source.html + + Test: geolocation/geolocation-not-implemented.html + + * DerivedSources.make: + * GNUmakefile.am: Added Geolocation support + * WebCore.pro: Added Geolocation support + * WebCore.vcproj/WebCore.vcproj: Added Geolocation support + * WebCore.xcodeproj/project.pbxproj: Added Geolocation support + * WebCoreSources.bkl: Added Geolocation support + * bindings/js/JSCustomPositionCallback.cpp: Added. + (WebCore::JSCustomPositionCallback::JSCustomPositionCallback): + (WebCore::JSCustomPositionCallback::handleEvent): + * bindings/js/JSCustomPositionCallback.h: Added. + (WebCore::JSCustomPositionCallback::create): + * bindings/js/JSCustomPositionErrorCallback.cpp: Added. + (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback): + (WebCore::JSCustomPositionErrorCallback::handleEvent): + * bindings/js/JSCustomPositionErrorCallback.h: Added. + (WebCore::JSCustomPositionErrorCallback::create): + * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom + (WebCore::markDOMObjectWrapper): + * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom + * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding + * bindings/js/JSGeolocationCustom.cpp: Added. + (WebCore::JSGeolocation::getCurrentPosition): + (WebCore::JSGeolocation::watchPosition): + * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation + (WebCore::JSNavigator::mark): + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/Document.h: + (WebCore::Document::setUsingGeolocation): + (WebCore::Document::usingGeolocation): + * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation + (WebCore::FrameLoader::canCachePage): + * page/Geolocation.cpp: Added. + (WebCore::Geolocation::GeoNotifier::GeoNotifier): + (WebCore::Geolocation::GeoNotifier::timerFired): + (WebCore::Geolocation::Geolocation): + (WebCore::Geolocation::disconnectFrame): + (WebCore::Geolocation::getCurrentPosition): + (WebCore::Geolocation::watchPosition): + (WebCore::Geolocation::clearWatch): + (WebCore::Geolocation::stopUpdatingIfEmpty): + (WebCore::Geolocation::sendErrorToOneShots): + (WebCore::Geolocation::sendErrorToWatchers): + (WebCore::Geolocation::sendPositionToOneShots): + (WebCore::Geolocation::sendPositionToWatchers): + (WebCore::Geolocation::handleError): + (WebCore::Geolocation::geolocationServicePositionChanged): + (WebCore::Geolocation::geolocationServiceErrorOccurred): + * page/Geolocation.h: Added. + (WebCore::Geolocation::create): + (WebCore::Geolocation::~Geolocation): + (WebCore::Geolocation::lastPosition): + (WebCore::Geolocation::GeoNotifier::create): + * page/Geolocation.idl: Added. + * page/Geoposition.cpp: Added. + (WebCore::Geoposition::toString): + * page/Geoposition.h: Added. + (WebCore::Geoposition::create): + (WebCore::Geoposition::latitude): + (WebCore::Geoposition::longitude): + (WebCore::Geoposition::altitude): + (WebCore::Geoposition::accuracy): + (WebCore::Geoposition::altitudeAccuracy): + (WebCore::Geoposition::heading): + (WebCore::Geoposition::velocity): + (WebCore::Geoposition::timestamp): + (WebCore::Geoposition::Geoposition): + * page/Geoposition.idl: Added. + * page/Navigator.cpp: + (WebCore::Navigator::disconnectFrame): disconnect Geolocation + (WebCore::Navigator::geolocation): accessor for Geolocation + * page/Navigator.h: + (WebCore::Navigator::optionalGeolocation): accessor for Geolocation + * page/Navigator.idl: accessor for Geolocation + * page/PositionCallback.h: Added. + (WebCore::PositionCallback::~PositionCallback): + * page/PositionCallback.idl: Added. + * page/PositionError.h: Added. + (WebCore::PositionError::): + (WebCore::PositionError::create): + (WebCore::PositionError::code): + (WebCore::PositionError::message): + (WebCore::PositionError::PositionError): + * page/PositionError.idl: Added. + * page/PositionErrorCallback.h: Added. + (WebCore::PositionErrorCallback::~PositionErrorCallback): + * page/PositionErrorCallback.idl: Added. + * page/PositionOptions.h: Added. + (WebCore::PositionOptions::create): + (WebCore::PositionOptions::enableHighAccuracy): + (WebCore::PositionOptions::setEnableHighAccuracy): + (WebCore::PositionOptions::timeout): + (WebCore::PositionOptions::setTimeout): + (WebCore::PositionOptions::PositionOptions): + * page/PositionOptions.idl: Added. + * platform/GeolocationService.cpp: Added. + (WebCore::GeolocationService::GeolocationService): + (WebCore::GeolocationService::positionChanged): + (WebCore::GeolocationService::errorOccurred): + * platform/GeolocationService.h: Added. + (WebCore::GeolocationServiceClient::~GeolocationServiceClient): + (WebCore::GeolocationServiceClient::geolocationServicePositionChanged): + (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred): + (WebCore::GeolocationService::~GeolocationService): + +2008-10-23 Alp Toker <alp@nuanti.com> + + Fix typo in comment in previous commit. GTK -> GLIB + + * platform/gtk/guriescape.c: + +2008-10-23 Kalle Vahlman <kalle.vahlman@movial.com> + + Reviewed by Alp Toker. + + https://bugs.webkit.org/show_bug.cgi?id=21824 + [GTK] FileSystem abstraction uses features from Glib 2.16 + + Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib + + * platform/gtk/guriescape.c: + (unescape_character): + (_webcore_g_uri_unescape_segment): + (_webcore_g_uri_unescape_string): + * platform/gtk/guriescape.h: + +2008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org> + + Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826. + + * GNUmakefile.am: + +2008-10-23 Darin Fisher <darin@chromium.org> + + Reviewed by Eric Seidel. + + m_frame null checked but then dereferenced + https://bugs.webkit.org/show_bug.cgi?id=21845 + + This error was found using a static analysis tool, and so I do not know + how to produce a null m_frame on entry to this method. Hence, I have + not included a regression test. + + * page/EventHandler.cpp: + (WebCore::EventHandler::allowDHTMLDrag): Add an early return. + +2008-10-23 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig with no hesitation. + + - fix the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839 + <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering + + Test: fast/text/bidi-embedding-pop-and-push-same.html + + * platform/text/BidiResolver.h: + (WebCore::BidiResolver::embed): Changed to only add the embedding + operation to a vector of pending operations. + + (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the + code that used to be in the PDF case of embed() here, except the part + that sets the context. + + (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the + code that used to be in the non-PDF case of embed() here, except the + part the sets the context. + + (WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the + explicit embedding operations in the vector by creating an updated + context and determining the old and new embedding levels. If the levels + are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always + sets the context to the new one. + + (WebCore::BidiResolver::createBidiRunsForLine): Added calls to + commitExplicitEmbedding() after calling embed() and after calling + increment(). + + * rendering/bidi.cpp: + (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because + this function increments the resolver. + + (WebCore::RenderBlock::skipLeadingWhitespace): Ditto. + +2008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org> + + Gtk build fix. Not reviewed. + + Add DNSCurl and DNSSoup to the Gtk build + + * GNUmakefile.am: + * platform/gtk/TemporaryLinkStubs.cpp: + * platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp. + (WebCore::prefetchDNS): + +2008-10-23 Eric Seidel <eric@webkit.org> + + Reviewed by Sam Weinig. + + Un-break the Darwin build. + + * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: + * platform/graphics/cg/ImageCG.cpp: + +2008-10-23 Darin Fisher <darin@chromium.org> + + Reviewed by Eric Seidel. + + Fix forward decls to be struct instead of class. + https://bugs.webkit.org/show_bug.cgi?id=21838 + + * rendering/style/StyleRareInheritedData.h: + * rendering/style/StyleRareNonInheritedData.h: + +2008-10-23 Brent Fulgham <bfulgham@gmail.com> + + Reviewed by Oliver Hunt. + + * platform/network/curl/ResourceRequest.h: A better implementation + of CFURLRequest, rather than void*. This gives better compatibility + with the WebKit.idl interface. + (WebCore::ResourceRequest::cfURLRequest): + +2008-10-23 Mike Pinkerton <pinkerton@chromium.org> + + Reviewed by Eric Seidel. + + PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix + ifdefs to reflect that. + + * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: + * platform/graphics/cg/ImageCG.cpp: + +2008-10-23 Peter Kasting <pkasting@google.com> + + Reviewed by Adam Roben. + + https://bugs.webkit.org/show_bug.cgi?id=21833 + Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER). + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::setWindowVisible): + (WebCore::InspectorController::windowScriptObjectAvailable): + (WebCore::InspectorController::close): + * inspector/InspectorController.h: + * page/Page.cpp: + (WebCore::Page::Page): + +2008-10-23 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=21817 + Bug 21817: Manual profiler tests should be made into layout tests + + -Moving the tests before diffing so that it's clear what changed. + + * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed. + * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed. + * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed. + * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed. + * manual-tests/inspector/profiler-test-apply.html: Removed. + * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed. + * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed. + * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed. + * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed. + * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed. + * manual-tests/inspector/profiler-test-constructor.html: Removed. + * manual-tests/inspector/profiler-test-dead-time.html: Removed. + * manual-tests/inspector/profiler-test-deep-recursion.html: Removed. + * manual-tests/inspector/profiler-test-document-dot-write.html: Removed. + * manual-tests/inspector/profiler-test-event-handler.html: Removed. + * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed. + * manual-tests/inspector/profiler-test-heavy-view.html: Removed. + * manual-tests/inspector/profiler-test-inline-event-handler.html: Removed. + * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed. + * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed. + * manual-tests/inspector/profiler-test-multiple-frames.html: Removed. + * manual-tests/inspector/profiler-test-multiple-windows.html: Removed. + * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed. + * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed. + * manual-tests/inspector/profiler-test-no-execution-context.html: Removed. + * manual-tests/inspector/profiler-test-one-execution-context.html: Removed. + * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed. + * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed. + * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed. + * manual-tests/inspector/profiler-test-simple-event-call.html: Removed. + * manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed. + * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed. + * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed. + * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed. + * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed. + * manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed. + * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed. + * manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed. + * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed. + * manual-tests/inspector/profiler-test-window-dot-eval.html: Removed. + * manual-tests/inspector/resources/other-frame.html: Removed. + * manual-tests/inspector/resources/other-window.html: Removed. + * manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed. + +2008-10-23 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=21826 + + Add accessor for SecurityOrigin::m_domainWasSetInDOM. + + * page/SecurityOrigin.h: + (WebCore::SecurityOrigin::domainWasSetInDOM): + +2008-10-23 Darin Adler <darin@apple.com> + + - roll out https://bugs.webkit.org/show_bug.cgi?id=21732 + + * bindings/js/ScheduledAction.h: + * inspector/InspectorController.cpp: + ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>. + +2008-10-23 Simon Hausmann <hausmann@webkit.org> + + Fix the Qt build. + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtConnectionObject::execute): + * bridge/qt/qt_runtime.h: + (JSC::Bindings::QtRuntimeMethod::createStructureID): + +2008-10-23 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Maciej Stachowiak. + + https://bugs.webkit.org/show_bug.cgi?id=21825 + JSDOMBinding should not blindly cast the global object to JSDOMWindow + + * bindings/js/JSDOMGlobalObject.cpp: + * bindings/js/JSDOMGlobalObject.h: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::getCachedDOMStructure): + (WebCore::cacheDOMStructure): + (WebCore::getCachedDOMConstructor): + (WebCore::cacheDOMConstructor): + Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::JSDOMWindowBase): + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::mark): + Moved constructor and structure tracking to JSDOMGlobalObject. + +2008-10-23 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=21787 + + Update postMessage to send origin = "null" for non-serializable + origins to match latest spec. Merge SecurityOrigin::toString and + SecurityOrigin::toHTTPOrigin because they are now the same. + + Test: http/tests/security/postMessage/data-url-sends-null-origin.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::outgoingOrigin): + (WebCore::FrameLoader::loadURL): + (WebCore::FrameLoader::addHTTPOriginIfNeeded): + (WebCore::FrameLoader::loadItem): + * loader/loader.cpp: + (WebCore::Loader::Host::servePendingRequests): + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::toString): + * page/SecurityOrigin.h: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): + (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): + (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): + (WebCore::XMLHttpRequest::didReceiveResponsePreflight): + +2008-10-22 David Kilzer <ddkilzer@apple.com> + + Bug 21781: WebCore::Settings should have a maximum decoded image size setting + + <https://bugs.webkit.org/show_bug.cgi?id=21781> + + Reviewed by Antti. + + No tests since there is no change in behavior. + + * loader/CachedImage.cpp: + (WebCore::CachedImage::maximumDecodedImageSize): Added. Returns + WebCore::Settings::maximumDecodedImageSize() or 0 on error. + (WebCore::CachedImage::data): Flag an error if the image being + loaded is too big. + * loader/CachedImage.h: + (WebCore::CachedImage::maximumDecodedImageSize): Added declaration. + * page/Settings.cpp: + (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize + to the maximum value of size_t. + * page/Settings.h: + (WebCore::Settings::setMaximumDecodedImageSize): Added method. + (WebCore::Settings::maximumDecodedImageSize): Ditto. + +2008-10-22 Mike Pinkerton <pinkerton@chromium.org> + + Reviewed by Dan Bernstein. + Landed and tweaked a bit by Darin Adler. + + - fix https://bugs.webkit.org/show_bug.cgi?id=21809 + + Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits + its use for PLATFORM(CHROMIUM) in the future. + + * platform/graphics/SimpleFontData.h: + +2008-10-22 David Smith <catfish.man@gmail.com> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=19974 + getElementsByClassName not live enough + + Test: fast/dom/getElementsByClassName/015.html + + * dom/StyledElement.cpp: + (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent() + +2008-10-22 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + - fix https://bugs.webkit.org/show_bug.cgi?id=21294 + Bug 21294: Devirtualize getOwnPropertySlot() + + * bindings/js/JSDOMWindowShell.h: + (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without + HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot. + + * bindings/js/JSInspectorCallbackWrapper.cpp: + (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure + for this class rather than sharing nullProtoStructureID, which no longer exists. + + * bindings/js/JSNamedNodesCollection.h: + (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without + HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot. + * bindings/js/JSRGBColor.h: + (WebCore::JSRGBColor::createStructureID): Ditto. + + * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers, + constructors, and prototypes in any case where they override getOwnPropertySlot, without + HasStandardGetOwnPropertySlot. + + * bridge/objc/objc_runtime.h: + (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure + without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot. + * bridge/qt/qt_runtime.h: + (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto. + * bridge/runtime_array.h: + (JSC::RuntimeArray::createStructureID): Ditto. + * bridge/runtime_method.h: + (JSC::RuntimeMethod::createStructureID): Ditto. + * bridge/runtime_object.h: + (JSC::RuntimeObjectImp::createStructureID): Ditto. + +2008-10-22 Brent Fulgham <bfulgham@gmail.com> + + Bring Windows Cairo Port's font handling in line with CG. + http://bugs.webkit.org/show_bug.cgi?id=21812. + + Reviewed by Adam Roben. + + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::createGDIFont): Remove unnecessary special-case for Cairo + TrueType font search. It should match CG in all font selections. + +2008-10-22 Brent Fulgham <bfulgham@gmail.com> + + http://bugs.webkit.org/show_bug.cgi?id=21812. + Bring Windows Cairo Port's font handling in line with CG. + + Reviewed by David Hyatt. + + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::createGDIFont): Remove unnecessary special-case for Cairo TrueType font search. It should match CG in all font selections. + +2008-10-22 Brady Eidson <beidson@apple.com> + + Reviewed by Adam Roben + + <rdar://6261773> - autocomplete="off" doesn't work on Windows + + Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a + statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false" + instead of the much more correct "true." + + In the past we have worked around this by declaring the bitfield member as an unsigned instead + of the enum type. + + For more discussion, see http://trac.webkit.org/changeset/25329 + + * html/HTMLInputElement.h: Work around insane Visual Studio enum issue *sigh* + +2008-10-22 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Oliver Hunt and Tim Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=19225 + Bug 19225: JSProfiler: Create automated profiler tests + - This change exports profiles on the console object so that they can be + iterated over via JavaScript, and thus can be used in automated tests. + + * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array + that JS can use. + (WebCore::JSConsole::profiles): + * inspector/InspectorController.h: Use the new typedef. + (WebCore::InspectorController::profiles): + * page/Console.cpp: Keep our own array of profile objects. + (WebCore::Console::profileEnd): + * page/Console.h: Ditto. + (WebCore::Console::profiles): + * page/Console.idl: Expose the profiles to JS. + +2008-10-22 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21775 + + Convert buttons over to use the new Theme API on OS X. + + Reviewed by Adam Roben + + * platform/LengthBox.h: + (WebCore::LengthBox::LengthBox): + * platform/Theme.cpp: + (WebCore::Theme::controlBorder): + (WebCore::Theme::controlPadding): + * platform/Theme.h: + (WebCore::Theme::controlFont): + (WebCore::Theme::controlSize): + (WebCore::Theme::minControlSize): + (WebCore::Theme::controlRequiresPreWhiteSpace): + * platform/mac/ThemeMac.h: + (WebCore::ThemeMac::controlRequiresPreWhiteSpace): + * platform/mac/ThemeMac.mm: + (WebCore::checkboxSize): + (WebCore::radioSize): + (WebCore::buttonSizes): + (WebCore::buttonMargins): + (WebCore::button): + (WebCore::paintButton): + (WebCore::ThemeMac::controlFont): + (WebCore::ThemeMac::controlSize): + (WebCore::ThemeMac::minControlSize): + (WebCore::ThemeMac::controlBorder): + (WebCore::ThemeMac::controlPadding): + (WebCore::ThemeMac::inflateControlPaintRect): + (WebCore::ThemeMac::paint): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::adjustStyle): + (WebCore::RenderTheme::paint): + (WebCore::RenderTheme::controlStatesForRenderer): + (WebCore::RenderTheme::isDefault): + (WebCore::RenderTheme::adjustRadioStyle): + * rendering/RenderTheme.h: + (WebCore::RenderTheme::setRadioSize): + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::adjustRepaintRect): + (WebCore::menuListButtonSizes): + (WebCore::RenderThemeMac::adjustMenuListStyle): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::paddingBox): + (WebCore::InheritedFlags::setPaddingBox): + +2008-10-22 Chris Marrin <cmarrin@apple.com> + + Reviewed by Dave Hyatt + + Make sure that the AtomicString that identifies a set of animation keyframes + stays live by keeping a copy in the WebKitCSSKeyframesRule. + + Also call styleSheetChanged() when the keyframes name changes, but + add an internal method that doesn't call styleSheetChanged() for use + during normal stylesheet parsing. + + Test: animations/change-keyframes-name.html + + * css/CSSGrammar.y: + * css/WebKitCSSKeyframesRule.cpp: + (WebCore::WebKitCSSKeyframesRule::setName): + * css/WebKitCSSKeyframesRule.h: + (WebCore::WebKitCSSKeyframesRule::setNameInternal): + +2008-10-22 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=21791 + WebCore JS bindings should be able to use non-static hash tables for properties + + Add a map for HashTables to WebCore JS client data. + + This makes property access noticeably slower, so it is an opt-in. For classes that need to be + supported in workers in forseeable future this is not critical. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::DOMObjectHashTableMap::get): + (WebCore::DOMObjectHashTableMap::mapFor): + (WebCore::getHashTableForGlobalData): + (WebCore::DOMObjectWrapperMap::mapFor): + WebCore client data is now a class that contains both a DOM wrapper map and a property hash + table one. + + * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map. + + * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use + JSDOMBinding map to access its property hash tables. + + * dom/MessageChannel.idl: + * dom/MessagePort.idl: + Added NoStaticTables attribute. + +2008-10-22 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Timothy Hatcher. + + Build failure because of missing include + https://bugs.webkit.org/show_bug.cgi?id=21765 + + Build failure fix for WebKit/GTK+; added missing + include (GOwnPtr.h) + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + +2008-10-22 Alp Toker <alp@nuanti.com> + + Reviewed by Adam Roben. + + Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get() + doesn't initialize values if the requested property doesn't exist, so + initialize the values to the documented defaults before calling it + where necessary. Additionally, avoid critical warnings by not calling + gtk_widget_style_get() when we know the property isn't available. + + Note that this is an imported source file which doesn't follow the + WebKit coding style. + + * platform/gtk/gtk2drawing.c: + (moz_gtk_init): + (moz_gtk_button_get_inner_border): + (moz_gtk_combo_box_paint): + (moz_gtk_toolbar_separator_paint): + (moz_gtk_menu_separator_paint): + (moz_gtk_get_widget_border): + (moz_gtk_get_tab_scroll_arrow_size): + (moz_gtk_get_toolbar_separator_width): + (moz_gtk_get_menu_separator_height): + +2008-10-22 Alp Toker <alp@nuanti.com> + + Fix build for Cairo 1.2. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::clipOut): + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::paintMozWidget): + +2008-10-22 Darin Fisher <darin@chromium.org> + + Reviewed by Eric Seidel. + + A little more PLATFORM(CHROMIUM) in WebCore + https://bugs.webkit.org/show_bug.cgi?id=21758 + + * page/AccessibilityObject.h: + * platform/graphics/Icon.h: + +2008-10-21 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + Test: fast/events/message-channel-gc-3.html + + https://bugs.webkit.org/show_bug.cgi?id=21769 + MessagePort should be GC protected if there are messages to be delivered + + * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is + pending, and check if the queue is non-empty. + (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug + fix (below). + + * dom/MessagePort.cpp: + (WebCore::CloseMessagePortTimer::fired): + (WebCore::MessagePort::MessagePort): + (WebCore::MessagePort::queueCloseEvent): + (WebCore::MessagePort::dispatchCloseEvent): + (WebCore::MessagePort::hasPendingActivity): + Track message and close event activity separately. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was + causing same-heap ports to never be deleted. + +2008-10-21 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - remove unreachable code + + * platform/text/BidiResolver.h: + (WebCore::::embed): + +2008-10-21 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=20352 + REGRESSION(r31030-31055): Choosing "Print window" from frame set + prints blank page + and corresponding: <rdar://problem/6142398> + + viewHeight() and viewWidth() only return valuable information if we + are not printing. Everywhere else in the code, we make sure we are + not printing before we call these functions. Adding a check for + printing here fixes this bug, and framesets print again. + + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::layout): + +2008-10-21 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Simon. + + Pixmap in canvas tag was not getting initialized. + + See https://bugs.webkit.org/show_bug.cgi?id=21771 + + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBuffer::create): + +2008-10-20 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein + + Add a comment explaining layoutDelta(), and an assertion + that checks that delta changes were correctly paired during layout. + + * rendering/RenderView.cpp: + (WebCore::RenderView::layout): + * rendering/RenderView.h: + +2008-10-20 Timothy Hatcher <timothy@apple.com> + + Make auto-complete only suggest properties that are valid syntax + when using dot-notation. Also when completing numeric properties, + the quotes are omitted inside the brackets. + + https://bugs.webkit.org/show_bug.cgi?id=21760 + https://bugs.webkit.org/show_bug.cgi?id=21761 + + Reviewed by Oliver Hunt. + + * inspector/front-end/Console.js: + (WebInspector.Console.prototype.completions): Skip properties that + are not valid identifies when using dot-notation. And omit the quotes + when completing numbers in bracket-notation. + +2008-10-20 Timothy Hatcher <timothy@apple.com> + + Fixes the Profiles panel in the Web Inspector, which was broken by + the JSValue base-class changes. Also renames some functions and + variables in JavaScriptProfileNode.cpp that where title case. + + https://bugs.webkit.org/show_bug.cgi?id=21764 + + Reviewed by Oliver Hunt. + + * inspector/JavaScriptProfile.cpp: + (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the + returned JSValuePtr will be treated as an object and not a value. + * inspector/JavaScriptProfileNode.cpp: + (WebCore::toJS): Ditto. + +2008-10-20 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port. + + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::detachedFromParent4):. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::detachFromParent): + * loader/FrameLoaderClient.h: + +2008-10-20 Antti Koivisto <antti@apple.com> + + Reviewed by Adele Peterson. + + Fix https://bugs.webkit.org/show_bug.cgi?id=21763 + REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries + <rdar://problem/6285025 + + If we get 304 response we need to explicitly check if that completes the frame load. + + No test case, simulating the condition is pretty difficult. + + * loader/loader.cpp: + (WebCore::Loader::Host::didReceiveResponse): + +2008-10-20 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark Rowe. + + Work around <rdar://problem/6301728>. + + Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows. + + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::didReceiveResponse): + (WebCore::MainResourceLoader::didReceiveData): + (WebCore::MainResourceLoader::didFinishLoading): + (WebCore::MainResourceLoader::didFail): + +2008-10-20 Beth Dakin <bdakin@apple.com> + + Reviewed by Adele Peterson. + + Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19 + crashes in Safari at com.apple.WebCore + WebCore::ScrollView::visibleContentRect const + 153 + + d->m_view can be null and is null-checked at other points in the + code. The logs indicate that this crash occurs when closing a + window containing a PDF, so in case where we crash, the PDF's view + is probably already null. So the fix is to simply add a null-check. + + * page/Frame.cpp: + (WebCore::Frame::selectionRect): + +2008-10-20 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler. + + * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): + Removed stray increment that would screw up any form with multiple files in it. + +2008-10-20 Sam Weinig <sam@webkit.org> + + Rubber-stamped by David Hyatt. + + Split LengthBox and LengthSize into their own files. + + * GNUmakefile.am: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/Length.h: + (WebCore::Length::blend): + * platform/LengthBox.h: Copied from platform/Length.h. + (WebCore::LengthBox::LengthBox): + (WebCore::LengthBox::nonZero): + * platform/LengthSize.h: Copied from platform/Length.h. + (WebCore::LengthSize::LengthSize): + (WebCore::LengthSize::setWidth): + (WebCore::LengthSize::setHeight): + (WebCore::LengthSize::height): + * platform/Theme.h: + * rendering/style/FillLayer.h: + * rendering/style/NinePieceImage.h: + (WebCore::NinePieceImage::NinePieceImage): + * rendering/style/RenderStyle.h: + * rendering/style/StyleDashboardRegion.h: + * rendering/style/StyleSurroundData.h: + * rendering/style/StyleVisualData.h: + +2008-10-20 Dan Bernstein <mitz@apple.com> + + - Mac build fix + + * WebCore.xcodeproj/project.pbxproj: + +2008-10-20 Alp Toker <alp@nuanti.com> + + Fix autotools dist build target by listing recently added header + files only. Not reviewed. + + * GNUmakefile.am: + +2008-10-20 David Hyatt <hyatt@apple.com> + + Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms). Also + refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp + originally. + + ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme. + + Reviewed by Adam Roben + + * WebCore.xcodeproj/project.pbxproj: + * platform/Theme.cpp: Added. + (WebCore::Theme::controlSupportsBorder): + (WebCore::Theme::controlSupportsPadding): + * platform/Theme.h: + * platform/mac/ThemeMac.h: + * platform/mac/ThemeMac.mm: + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::adjustStyle): + * rendering/RenderTheme.h: + +2008-10-20 David Hyatt <hyatt@apple.com> + + Rename LengthBox's members to have m_ in front of them. + + Reviewed by Sam Weinig + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::valueForNinePieceImage): + (WebCore::getPositionOffsetValue): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::mapNinePieceImage): + * platform/Length.h: + (WebCore::LengthBox::LengthBox): + (WebCore::LengthBox::left): + (WebCore::LengthBox::right): + (WebCore::LengthBox::top): + (WebCore::LengthBox::bottom): + (WebCore::LengthBox::operator==): + (WebCore::LengthBox::nonZero): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::paintNinePieceImage): + (WebCore::RenderObject::addDashboardRegions): + * rendering/style/RenderStyle.cpp: + (WebCore::positionedObjectMoved): + (WebCore::RenderStyle::setClip): + (WebCore::RenderStyle::noneDashboardRegions): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::left): + (WebCore::InheritedFlags::right): + (WebCore::InheritedFlags::top): + (WebCore::InheritedFlags::bottom): + (WebCore::InheritedFlags::clipLeft): + (WebCore::InheritedFlags::clipRight): + (WebCore::InheritedFlags::clipTop): + (WebCore::InheritedFlags::clipBottom): + (WebCore::InheritedFlags::marginTop): + (WebCore::InheritedFlags::marginBottom): + (WebCore::InheritedFlags::marginLeft): + (WebCore::InheritedFlags::marginRight): + (WebCore::InheritedFlags::paddingTop): + (WebCore::InheritedFlags::paddingBottom): + (WebCore::InheritedFlags::paddingLeft): + (WebCore::InheritedFlags::paddingRight): + (WebCore::InheritedFlags::setLeft): + (WebCore::InheritedFlags::setRight): + (WebCore::InheritedFlags::setTop): + (WebCore::InheritedFlags::setBottom): + (WebCore::InheritedFlags::setDashboardRegion): + (WebCore::InheritedFlags::setClipLeft): + (WebCore::InheritedFlags::setClipRight): + (WebCore::InheritedFlags::setClipTop): + (WebCore::InheritedFlags::setClipBottom): + (WebCore::InheritedFlags::setMarginTop): + (WebCore::InheritedFlags::setMarginBottom): + (WebCore::InheritedFlags::setMarginLeft): + (WebCore::InheritedFlags::setMarginRight): + (WebCore::InheritedFlags::setPaddingTop): + (WebCore::InheritedFlags::setPaddingBottom): + (WebCore::InheritedFlags::setPaddingLeft): + (WebCore::InheritedFlags::setPaddingRight): + +2008-10-20 Timothy Hatcher <timothy@apple.com> + + Make the Resource panel perform graph updates atomically, so when resources + are added the graph and summary graph update at the same time. + + https://bugs.webkit.org/show_bug.cgi?id=21755 + + Reviewed by Kevin McCullough. + + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime + property is undefined, null or 0. This allows callers to check for -1 and not + the other values when there is no startTime yet. + (WebInspector.Resource.prototype.get responseReceivedTime): Ditto. + (WebInspector.Resource.prototype.get endTime): Ditto. + (WebInspector.Resource.prototype.get duration): Remove an extra empty line. + (WebInspector.Resource.prototype.get latency): Ditto. + (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration + property is undefined or null. This allows callers to always assume a number. + (WebInspector.Resource.prototype.get expectedContentLength): Ditto. + (WebInspector.Resource.prototype.get errors): Simplify the case where there is + no _errors property yet. + (WebInspector.Resource.prototype.set errors): Remove the check if the new value + if the same as the previous value, since there is no work to guard. + (WebInspector.Resource.prototype.get warnings): Simplify the case where there is + no _warnings property yet. + (WebInspector.Resource.prototype.set warnings): Remove the check if the new value + if the same as the previous value, since there is no work to guard. + (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the + responseReceivedTime is -1. + (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1. + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not + have a _resourcesTreeElement yet, exclude it from the searchable views. + (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources + and call refresh to refresh the entire graph. + (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel + is visible that calls refresh. + (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and + graph for a resource if it hasn't been created yet. If the boundaries changed during + the first stale resource pass, do a full pass of all resources when updating the graphs. + (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items. + (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and + graph, these are now created during the first refresh. + (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement. + (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto. + (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto. + (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just + add the resource to the _staleResources and set needsRefresh. + (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check + _resourcesTreeElement. + (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear + the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild + since the insertBefore call will do it if needed. + (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to + clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded. + (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the + timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel, + since all the legend items are removed in one pass right before. + (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction + before the calculator so the correct sortingFunction is there when a refresh happens. + (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0 + when the startTime is -1, since that looks best visually. Also set middle and end + to the start and middle (respectfully) when startAtZero. This looks best visually. + (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh. + (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class. + +2008-10-20 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21733 + + Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that + no attempt is made to re-cache the frame from a non-existent image source. + + Reviewed by Sam Weinig + + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::BitmapImage): + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::BitmapImage): + +2008-10-20 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - make hasARenderedDescendant() have internal linkage + + * editing/CompositeEditCommand.cpp: + (WebCore::hasARenderedDescendant): + +2008-10-20 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Jon Honeycutt + + Fix a crash in Accessibility where a table section was being + referenced without first checking if it was null + + https://bugs.webkit.org/show_bug.cgi?id=21721 + + Test: accessibility/table-nofirstbody.html + + * page/AccessibilityTable.cpp: + (WebCore::AccessibilityTable::addChildren): + +2008-10-20 David Hyatt <hyatt@apple.com> + + Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG. + + Reviewed by Darin Adler + + * platform/graphics/cg/ImageSourceCG.cpp: + (WebCore::ImageSource::repetitionCount): + (WebCore::ImageSource::frameDurationAtIndex): + +2008-10-20 Alp Toker <alp@nuanti.com> + + Reviewed by Mark Rowe. + + Fix the pthread conditionals in the FTP code to correctly define + threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32 + build. + + * loader/FTPDirectoryDocument.cpp: + * loader/FTPDirectoryParser.cpp: + +2008-10-20 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21751 + + Convert checkboxes and radio buttons on OS X over to the new Theme API. + + Reviewed by Adam Roben + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::mapFillSize): + * platform/Length.h: + (WebCore::LengthSize::LengthSize): + (WebCore::LengthSize::operator==): + (WebCore::LengthSize::width): + (WebCore::LengthSize::height): + (WebCore::LengthSize::setWidth): + (WebCore::LengthSize::setHeight): + * platform/Theme.h: + (WebCore::Theme::controlSize): + (WebCore::Theme::controlSupportsBorder): + (WebCore::Theme::controlSupportsPadding): + (WebCore::Theme::paint): + (WebCore::Theme::inflateControlPaintRect): + * platform/ThemeTypes.h: + (WebCore::): + * platform/mac/ThemeMac.h: + * platform/mac/ThemeMac.mm: + (WebCore::): + (WebCore::controlSizeForFont): + (WebCore::sizeFromFont): + (WebCore::setControlSize): + (WebCore::updateStates): + (WebCore::inflateRect): + (WebCore::checkboxSizes): + (WebCore::checkboxMargins): + (WebCore::checkboxSize): + (WebCore::checkbox): + (WebCore::paintCheckbox): + (WebCore::radioSizes): + (WebCore::radioMargins): + (WebCore::radioSize): + (WebCore::radio): + (WebCore::paintRadio): + (WebCore::ThemeMac::baselinePositionAdjustment): + (WebCore::ThemeMac::controlSize): + (WebCore::ThemeMac::controlSupportsBorder): + (WebCore::ThemeMac::controlSupportsPadding): + (WebCore::ThemeMac::inflateControlPaintRect): + (WebCore::ThemeMac::paint): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calculateBackgroundSize): + * rendering/RenderObject.cpp: + (WebCore::mustRepaintFillLayers): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::adjustStyle): + (WebCore::RenderTheme::paint): + (WebCore::RenderTheme::baselinePosition): + (WebCore::RenderTheme::adjustRepaintRect): + (WebCore::RenderTheme::controlStatesForRenderer): + (WebCore::RenderTheme::isFocused): + * rendering/RenderTheme.h: + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::adjustRepaintRect): + * rendering/style/FillLayer.cpp: + (WebCore::FillLayer::operator==): + +2008-10-18 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler. + + Fixed https://bugs.webkit.org/show_bug.cgi?id=21735 + Emit profiling instrumentation only if the Web Inspector's profiling + feature is enabled + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::supportsProfiling): + * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying + whether a target global object has the Web Inspector's profiling feature + enabled. + + * inspector/JavaScriptDebugServer.cpp: + (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon): + (WebCore::JavaScriptDebugServer::didAddListener): + (WebCore::JavaScriptDebugServer::didRemoveListener): + * inspector/JavaScriptDebugServer.h: Exported an API for recompiling, + used by the Settings object. + + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setDeveloperExtrasEnabled): + * page/Settings.h: Recompile when the developer menu is enabled/disabled + for the first time, to add/remove profiling hooks. In the future, with + better Web Inspector UI, we can do this on a page-by-page basis, + instead of a global basis. + +2008-10-20 David Hyatt <hyatt@apple.com> + + Move Length to platform/. + + Reviewed by Adam Roben + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * platform/Length.cpp: Copied from rendering/Length.cpp. + * platform/Length.h: Copied from rendering/Length.h. + +2008-10-20 Darin Adler <darin@apple.com> + + - try to fix Qt build + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls. + (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto. + +2008-10-20 Darin Adler <darin@apple.com> + + - try to fix Qt build + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr. + (JSC::Bindings::QtField::valueFromInstance): Ditto. + * bridge/qt/qt_instance.h: Ditto. + +2008-10-20 Darin Adler <darin@apple.com> + + - try to fix Tiger build + + * bridge/objc/objc_instance.mm: + (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted + volatile qualifier. + (ObjcInstance::invokeDefaultMethod): Ditto. + (ObjcInstance::getValueOfUndefinedField): Ditto. + * bridge/objc/objc_runtime.mm: + (JSC::Bindings::ObjcField::valueFromInstance): Ditto. + +2008-10-20 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21750 + Eliminate the notion of "temporary events" + + We mark some events as temporary when dispatching, for the sole reason of + manually calling forgetDOMObject when done dispatching. + + There doesn't seem to be any reason to call it manually, as JSEvent destructor + will do this automatically right away. + + * bindings/js/ScriptController.cpp: + * bindings/js/ScriptController.h: + Removed ScriptController::finishedWithEvent(), which was called after dispatching + a temporary event. + + * dom/ContainerNode.cpp: + (WebCore::dispatchChildInsertionEvents): + (WebCore::dispatchChildRemovalEvents): + * dom/EventTarget.h: + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::dispatchEvent): + (WebCore::EventTargetNode::dispatchGenericEvent): + (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent): + (WebCore::EventTargetNode::dispatchWindowEvent): + (WebCore::EventTargetNode::dispatchUIEvent): + (WebCore::EventTargetNode::dispatchKeyEvent): + (WebCore::EventTargetNode::dispatchMouseEvent): + (WebCore::EventTargetNode::dispatchWheelEvent): + (WebCore::EventTargetNode::dispatchWebKitAnimationEvent): + (WebCore::EventTargetNode::dispatchWebKitTransitionEvent): + (WebCore::EventTargetNode::dispatchEventForType): + (WebCore::EventTargetNode::dispatchProgressEvent): + (WebCore::EventTargetNode::dispatchStorageEvent): + * dom/EventTargetNode.h: + * dom/MessagePort.cpp: + (WebCore::MessagePort::dispatchMessages): + (WebCore::MessagePort::dispatchCloseEvent): + (WebCore::MessagePort::dispatchEvent): + * dom/MessagePort.h: + * editing/Editor.cpp: + (WebCore::Editor::dispatchCPPEvent): + (WebCore::dispatchEditableContentChangedEvents): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::insertText): + * loader/appcache/DOMApplicationCache.cpp: + (WebCore::DOMApplicationCache::dispatchEvent): + (WebCore::DOMApplicationCache::callListener): + * loader/appcache/DOMApplicationCache.h: + * page/EventHandler.cpp: + (WebCore::EventHandler::dispatchDragEvent): + (WebCore::EventHandler::keyEvent): + (WebCore::EventHandler::handleTextInputEvent): + * page/FrameView.cpp: + (WebCore::FrameView::scheduleEvent): + (WebCore::FrameView::updateOverflowStatus): + (WebCore::FrameView::dispatchScheduledEvents): + * page/FrameView.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollToOffset): + (WebCore::RenderLayer::updateOverflowStatus): + * svg/SVGElement.cpp: + (WebCore::SVGElement::sendSVGLoadEventIfPossible): + * svg/SVGElementInstance.cpp: + (WebCore::SVGElementInstance::dispatchEvent): + * svg/SVGElementInstance.h: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::dispatchEvent): + (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent): + (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent): + * xml/XMLHttpRequest.h: + * xml/XMLHttpRequestUpload.cpp: + (WebCore::XMLHttpRequestUpload::dispatchEvent): + (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent): + * xml/XMLHttpRequestUpload.h: + Don't pass the tempEvent boolean around. + +2008-10-20 Alp Toker <alp@nuanti.com> + + Remove unused includes only. Partial GTK+/Win build fix. + + * platform/graphics/gtk/SimpleFontDataPango.cpp: + +2008-10-20 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=21705 + Implement Web Workers client-side API + + The implementation is experimental, and disabled by default. It doesn't quite match the + published draft, being influenced by further WHATWG discussions. + + This only implements the client-side API, and does not actually create any threads or + global contexts yet. + + * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm + still not sure if having separate classes for these helps at all. + + * WebCore.xcodeproj/project.pbxproj: Added new files. + + * bindings/js/JSDOMWindowBase.cpp: + (jsDOMWindowBaseWorker): + (WebCore::JSDOMWindowBase::put): + (setJSDOMWindowBaseWorker): + Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef + to match prevailing style. + + * bindings/js/JSDedicatedWorkerConstructor.cpp: Added. + * bindings/js/JSDedicatedWorkerConstructor.h: Added. + * bindings/js/JSDedicatedWorkerCustom.cpp: Added. + The implementation of event listeners are left custom intentionally, for easier implementation + of listeners that are not tied to any Document in the future. + + * dom/DedicatedWorker.cpp: Added. + * dom/DedicatedWorker.h: Added. + * dom/DedicatedWorker.idl: Added. + Added an implementation that can only load requested scripts for now. + +2008-10-19 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + - fix assertion seen when opening inspector + + * bindings/js/JSQuarantinedObjectWrapper.cpp: + (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): + Removed unneeded asObject cast. + +2008-10-19 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Timothy Hatcher. + + - remove empty directories and correct the MIME type of inspector images + + * page/inspector: Removed. + * page/inspector/Images: Removed. + +2008-10-19 Timothy Hatcher <timothy@apple.com> + + Make the Web Inspector Resources panel open quicker and change graphs + faster. There was some accidental n^2 logic at fault when updating the + graph boundaries. + + https://bugs.webkit.org/show_bug.cgi?id=21742 + + Reviewed by Darin Adler. + + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.set calculator): Return early for + a null calculator. Remove the second argument passed to _refreshAllResources. + (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on + the calculator for all the stale resources before calling refreshResource. + Pass true for the first argument of refreshResource to skip the boundary update. + (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove + the second argument passed to _refreshAllResources. + (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the + skipSort argument since every passed true, and it would be bad to pass false. + (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if + skipBoundaryUpdate is false, call updateBoundaries on the calculator for all + the resources before calling refreshResource. Pass true for the first argument + of refreshResource to skip the boundary update. + +2008-10-19 Timothy Hatcher <timothy@apple.com> + + Visually distinguish resources that loaded from the memory cache. + + https://bugs.webkit.org/show_bug.cgi?id=14279 + + Reviewed by Dan Bernstein. + + * English.lproj/localizedStrings.js: New string. + * inspector/front-end/Images/timelineHollowPillBlue.png: Added. + * inspector/front-end/Images/timelineHollowPillGray.png: Added. + * inspector/front-end/Images/timelineHollowPillGreen.png: Added. + * inspector/front-end/Images/timelineHollowPillOrange.png: Added. + * inspector/front-end/Images/timelineHollowPillPurple.png: Added. + * inspector/front-end/Images/timelineHollowPillRed.png: Added. + * inspector/front-end/Images/timelineHollowPillYellow.png: Added. + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): + Add the "(from cache)" suffix to the tooltip. + (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): + Add the "(from cache)" suffix to the tooltip. + (WebInspector.ResourceGraph): Add the "resource-cached" class. + * inspector/front-end/inspector.css: New styles to make the timeline + bars use the hollow pill images. + +2008-10-19 Timothy Hatcher <timothy@apple.com> + + Update the scroll position in the Resources panel when loading + a new page or toggling on small resource rows. + + https://bugs.webkit.org/show_bug.cgi?id=20114 + + Reviewed by Darin Adler. + + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top, + since all the resource are being removed. + (WebInspector.ResourcesPanel.prototype.removeResource): Call + _adjustScrollPosition in case the view is shorter and needs scrolled. + (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto. + (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check + the height of the sidebar against the scrollTop and height of the + resourcesContainerElement. If the sidebar is shorter, scroll up + so the last resource is at the bottom again. + +2008-10-19 Timothy Hatcher <timothy@apple.com> + + Show per resource times and sizes when hovering over the bar graph for a resource. + + https://bugs.webkit.org/show_bug.cgi?id=14300 + rdar://problem/5712802 + + Reviewed by Cameron Zwarich. + + * English.lproj/localizedStrings.js: Add new strings. + * inspector/front-end/Images/graphLabelCalloutLeft.png: Added. + * inspector/front-end/Images/graphLabelCalloutRight.png: Added. + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the + ResourceGraph.refresh function. + (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation + returns the formatted value. + (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values + for the latency and download times. Also generate a custom tooltip. + (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions. + (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions + in case the bar has changed size. + (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips. + * inspector/front-end/inspector.css: New styles for the labels. + +2008-10-19 Darin Adler <darin@apple.com> + + Reviewed by Oliver Hunt. + + - next step of https://bugs.webkit.org/show_bug.cgi?id=21732 + improve performance by eliminating JSValue as a base class for JSCell + + Remove most uses of JSValue, which will be removed in a future patch. + + * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue + and used JSValuePtr instead. + * bindings/js/JSEventTarget.h: Ditto. + * bindings/js/JSNodeFilterCondition.h: Ditto. + * bindings/js/ScheduledAction.h: Ditto. + * bindings/js/ScriptController.h: Ditto. + * bindings/objc/WebScriptObjectPrivate.h: Ditto. + * bridge/c/c_utility.h: Ditto. + * bridge/jni/jni_jsobject.h: Ditto. + * bridge/jni/jni_utility.h: Ditto. + * bridge/objc/WebScriptObject.h: Ditto. + * dom/Traversal.h: Ditto. + * inspector/InspectorController.cpp: Ditto. + * inspector/JavaScriptProfile.h: Ditto. + * inspector/JavaScriptProfileNode.h: Ditto. + * loader/FrameLoader.h: Ditto. + * page/Console.h: Ditto. + * plugins/MimeTypeArray.h: Ditto. + * plugins/Plugin.h: Ditto. + * plugins/PluginArray.h: Ditto. + * plugins/PluginView.cpp: + (WebCore::getString): Ditto. + (WebCore::PluginView::performRequest): Ditto. + * plugins/gtk/PluginViewGtk.cpp: Ditto. + * plugins/qt/PluginViewQt.cpp: Ditto. + * plugins/win/PluginViewWin.cpp: Ditto. + + * bridge/qt/qt_class.cpp: + (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject* + instead of JSValue*. + * bridge/qt/qt_class.h: Ditto. + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::mark): Ditto. + (JSC::Bindings::QtInstance::invokeMethod): Ditto. + (JSC::Bindings::QtInstance::defaultValue): Ditto. + (JSC::Bindings::QtInstance::stringValue): Ditto. + (JSC::Bindings::QtInstance::numberValue): Ditto. + (JSC::Bindings::QtInstance::booleanValue): Ditto. + (JSC::Bindings::QtInstance::valueOf): Ditto. + (JSC::Bindings::QtField::valueFromInstance): Ditto. + (JSC::Bindings::QtField::setValueToInstance): Ditto. + * bridge/qt/qt_instance.h: Ditto. + * bridge/qt/qt_runtime.cpp: Ditto. + (JSC::Bindings::valueRealType): Ditto. + (JSC::Bindings::convertValueToQVariant): Ditto. + (JSC::Bindings::convertQVariantToValue): Ditto. + (JSC::Bindings::findMethodIndex): Ditto. + (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto. + (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto. + (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto. + (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto. + (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto. + (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto. + (JSC::Bindings::QtArray::setValueAt): Ditto. + (JSC::Bindings::QtArray::valueAt): Ditto. + * bridge/qt/qt_runtime.h: Ditto. + + * bridge/testqtbindings.cpp: + (main): Use JSValuePtr. + +2008-10-18 Darin Adler <darin@apple.com> + + Reviewed by Oliver Hunt. + + - next step of https://bugs.webkit.org/show_bug.cgi?id=21732 + improve performance by eliminating JSValue as a base class for JSCell + + Tweak a little more to get closer to where we can make JSValuePtr a class. + + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject. + (WebCore::constructAudio): Ditto. + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto. + + * bindings/js/JSCanvasRenderingContext2DCustom.cpp: + (WebCore::toHTMLCanvasStyle): Use asString and asObject. + (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto. + (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto. + (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto. + (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto. + (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto. + (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto. + + * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: + (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::setDOMException): Use noValue. + + * bindings/js/JSDOMBinding.h: + (WebCore::getDOMPrototype): Use asObject. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::showModalDialog): Use noValue. + (jsDOMWindowBaseEvent): Use asObject. + (jsDOMWindowBaseImage): Ditto. + (jsDOMWindowBaseMessageChannel): Ditto. + (jsDOMWindowBaseOption): Ditto. + (jsDOMWindowBaseXMLHttpRequest): Ditto. + (jsDOMWindowBaseAudio): Ditto. + (jsDOMWindowBaseXSLTProcessor): Ditto. + (WebCore::JSDOMWindowBase::childFrameGetter): Ditto. + (WebCore::JSDOMWindowBase::indexGetter): Ditto. + (WebCore::JSDOMWindowBase::namedItemGetter): Ditto. + (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto. + (WebCore::JSDOMWindowBase::findJSEventListener): Ditto. + (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto. + (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto. + (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto. + (windowProtoFuncOpen): Use noValue. + (WebCore::toJSDOMWindow): Use asObject. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::setTimeoutOrInterval): Use asString. + (WebCore::toDOMWindow): Use asObject. + + * bindings/js/JSEventListener.cpp: + (WebCore::JSAbstractEventListener::handleEvent): Use noValue. + (WebCore::JSLazyEventListener::parseCode): Use asObject. + + * bindings/js/JSHTMLCollectionCustom.cpp: + (WebCore::JSHTMLCollection::nameGetter): Use asObject. + * bindings/js/JSHTMLDocumentCustom.cpp: + (WebCore::JSHTMLDocument::nameGetter): Ditto. + * bindings/js/JSHTMLElementCustom.cpp: + (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto. + * bindings/js/JSHTMLFormElementCustom.cpp: + (WebCore::JSHTMLFormElement::nameGetter): Ditto. + * bindings/js/JSHTMLFrameSetElementCustom.cpp: + (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto. + * bindings/js/JSHTMLOptionElementConstructor.cpp: + (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto. + (WebCore::constructHTMLOptionElement): Ditto. + * bindings/js/JSHTMLOptionsCollectionCustom.cpp: + (WebCore::JSHTMLOptionsCollection::remove): Ditto. + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): Ditto. + (WebCore::constructImage): Ditto. + * bindings/js/JSInspectedObjectWrapper.cpp: + (WebCore::JSInspectedObjectWrapper::wrap): Ditto. + * bindings/js/JSInspectorCallbackWrapper.cpp: + (WebCore::JSInspectorCallbackWrapper::wrap): Ditto. + + * bindings/js/JSJavaScriptCallFrameCustom.cpp: + (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue. + + * bindings/js/JSMessageChannelConstructor.cpp: + (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject. + (WebCore::JSMessageChannelConstructor::construct): Ditto. + * bindings/js/JSMimeTypeArrayCustom.cpp: + (WebCore::JSMimeTypeArray::nameGetter): Ditto. + * bindings/js/JSNamedNodeMapCustom.cpp: + (WebCore::JSNamedNodeMap::nameGetter): Ditto. + * bindings/js/JSNamedNodesCollection.cpp: + (WebCore::JSNamedNodesCollection::lengthGetter): Ditto. + (WebCore::JSNamedNodesCollection::indexGetter): Ditto. + * bindings/js/JSNodeFilterCustom.cpp: + (WebCore::toNodeFilter): Ditto. + * bindings/js/JSNodeListCustom.cpp: + (WebCore::JSNodeList::nameGetter): Ditto. + * bindings/js/JSPluginArrayCustom.cpp: + (WebCore::JSPluginArray::nameGetter): Ditto. + * bindings/js/JSPluginCustom.cpp: + (WebCore::JSPlugin::nameGetter): Ditto. + * bindings/js/JSPluginElementFunctions.cpp: + (WebCore::runtimeObjectGetter): Ditto. + (WebCore::runtimeObjectPropertyGetter): Ditto. + * bindings/js/JSQuarantinedObjectWrapper.cpp: + (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto. + (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto. + (WebCore::JSQuarantinedObjectWrapper::construct): Ditto. + * bindings/js/JSRGBColor.cpp: + (jsRGBColorRed): Ditto. + (jsRGBColorGreen): Ditto. + (jsRGBColorBlue): Ditto. + + * bindings/js/JSSQLResultSetRowListCustom.cpp: + (WebCore::JSSQLResultSetRowList::item): Use noValue. + + * bindings/js/JSStorageCustom.cpp: + (WebCore::JSStorage::nameGetter): Use asObject. + (WebCore::JSStorage::deleteProperty): Ditto. + (WebCore::JSStorage::customPut): Ditto. + * bindings/js/JSStyleSheetListCustom.cpp: + (WebCore::JSStyleSheetList::nameGetter): Ditto. + * bindings/js/JSXMLHttpRequestConstructor.cpp: + (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto. + * bindings/js/JSXSLTProcessorCustom.cpp: + (WebCore::JSXSLTProcessor::importStylesheet): Ditto. + (WebCore::JSXSLTProcessor::transformToFragment): Ditto. + (WebCore::JSXSLTProcessor::transformToDocument): Ditto. + + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluate): Use noValue. + * bindings/objc/DOMInternal.mm: + (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto. + + * bindings/objc/WebScriptObject.mm: + (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr. + (-[WebScriptObject valueForKey:]): Ditto. + (-[WebScriptObject webScriptValueAtIndex:]): Ditto. + (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): + Use asObject and asString. + + * bindings/scripts/CodeGeneratorJS.pm: Use asObject. + + * bridge/c/c_instance.h: Use JSValuePtr. + * bridge/c/c_runtime.cpp: + (JSC::Bindings::CField::setValueToInstance): Ditto. + + * bridge/c/c_utility.cpp: + (JSC::Bindings::convertValueToNPVariant): Use asObject. + + * bridge/jni/jni_instance.cpp: + (JavaInstance::booleanValue): Use JSValuePtr. + (JavaInstance::invokeMethod): Ditto. And noValue. + * bridge/jni/jni_jsobject.mm: + (JavaJSObject::getSlot): Ditto. + (JavaJSObject::convertValueToJObject): Ditto. + * bridge/jni/jni_runtime.cpp: + (JavaField::dispatchValueFromInstance): Ditto. + (JavaField::valueFromInstance): Ditto. + (JavaField::dispatchSetValueToInstance): Ditto. + (JavaField::setValueToInstance): Ditto. + (JavaArray::setValueAt): Ditto. + (JavaArray::valueAt): Ditto. + * bridge/jni/jni_runtime.h: Ditto. + + * bridge/jni/jni_utility.cpp: + (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray* + instead of a JSValue*. + (JSC::Bindings::convertValueToJValue): Use asObject and asArray. + + * bridge/objc/objc_class.h: Use JSValuePtr. + * bridge/objc/objc_instance.h: Ditto. + * bridge/objc/objc_runtime.h: Ditto. + + * bridge/objc/objc_runtime.mm: + (JSC::Bindings::callObjCFallbackObject): Use asObject. + + * bridge/objc/objc_utility.h: Use JSValuePtr. + * bridge/objc/objc_utility.mm: + (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject. + (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0. + + * bridge/runtime.cpp: + (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr. + (JSC::Bindings::Instance::setValueOfField): Ditto. + + * bridge/runtime_array.cpp: + (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject. + (JSC::RuntimeArray::indexGetter): Ditto. + * bridge/runtime_array.h: Ditto. + * bridge/runtime_method.cpp: + (JSC::RuntimeMethod::lengthGetter): Ditto. + (JSC::callRuntimeMethod): Ditto. + * bridge/runtime_object.cpp: + (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto. + (JSC::RuntimeObjectImp::fieldGetter): Ditto. + (JSC::RuntimeObjectImp::methodGetter): Ditto. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::executeScript): Use noValue. + + * page/Console.cpp: + (WebCore::Console::trace): Use asInternalFunction. + +2008-10-19 Dan Bernstein <mitz@apple.com> + + Reviewed by Timothy Hatcher. + + - lower the default button repaint frequency + + * rendering/RenderButton.cpp: + (WebCore::RenderButton::styleDidChange): Changed the timer interval from + 0.01 to 0.03. + +2008-10-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + - Windows build fix + + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintMediaFullscreenButton): + (WebCore::RenderThemeSafari::paintMediaMuteButton): + (WebCore::RenderThemeSafari::paintMediaPlayButton): + (WebCore::RenderThemeSafari::paintMediaSeekBackButton): + (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): + (WebCore::RenderThemeSafari::paintMediaSliderThumb): + +2008-10-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736 + Long-dead decoded image data make up for most of the object cache's memory use over time + + Add a cache setting for how long decoded image data should be allowed to + persist in memory after the image has died. By default, this is set to + 0, which means "forever". + + * loader/Cache.cpp: + (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval. + * loader/Cache.h: + (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter. + (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter. + * loader/CachedImage.cpp: + (WebCore::CachedImage::CachedImage): Initialize the decoded data + deletion timer. + (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys + the decoded image data. + (WebCore::CachedImage::addClient): Stop the timer if it is active. + (WebCore::CachedImage::allClientsRemoved): Start the decoded data + deletion timer. + * loader/CachedImage.h: + +2008-10-18 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + - fix https://bugs.webkit.org/show_bug.cgi?id=21645 + REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::formData): + Fix loop that goes through the FormDataList to go two at a time in a clearer + way. My last patch screwed up the way it got form content from the items. + This "two at a time" approach is a confusing way to do things, which explains + why I got it wrong last time through, but I decided to just fix it locally for + now rather than changing the design of FormDataList. + +2008-10-18 Darin Adler <darin@apple.com> + + Reviewed by Cameron Zwarich. + + - next step on https://bugs.webkit.org/show_bug.cgi?id=21732 + improve performance by eliminating JSValue as a base class for JSCell + + Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be + changing JSValuePtr to be a class, and then eventually renaming it + to JSValue once that's done. + + * bindings/js/JSAttrCustom.cpp: + * bindings/js/JSCSSRuleCustom.cpp: + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + * bindings/js/JSCSSValueCustom.cpp: + * bindings/js/JSCanvasPixelArrayCustom.h: + * bindings/js/JSCanvasRenderingContext2DCustom.cpp: + * bindings/js/JSClipboardCustom.cpp: + * bindings/js/JSConsoleCustom.cpp: + * bindings/js/JSCustomSQLStatementCallback.cpp: + * bindings/js/JSCustomSQLStatementErrorCallback.cpp: + * bindings/js/JSCustomSQLTransactionCallback.cpp: + * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: + * bindings/js/JSCustomVoidCallback.cpp: + * bindings/js/JSCustomVoidCallback.h: + * bindings/js/JSCustomXPathNSResolver.cpp: + * bindings/js/JSDOMApplicationCacheCustom.cpp: + * bindings/js/JSDOMBinding.cpp: + * bindings/js/JSDOMBinding.h: + * bindings/js/JSDOMWindowBase.cpp: + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSDOMWindowCustom.cpp: + * bindings/js/JSDOMWindowCustom.h: + * bindings/js/JSDOMWindowShell.cpp: + * bindings/js/JSDOMWindowShell.h: + * bindings/js/JSDatabaseCustom.cpp: + * bindings/js/JSDocumentCustom.cpp: + * bindings/js/JSElementCustom.cpp: + * bindings/js/JSEventCustom.cpp: + * bindings/js/JSEventListener.cpp: + * bindings/js/JSEventTarget.cpp: + * bindings/js/JSEventTargetBase.h: + * bindings/js/JSEventTargetNodeCustom.cpp: + * bindings/js/JSHTMLAllCollection.h: + * bindings/js/JSHTMLAppletElementCustom.cpp: + * bindings/js/JSHTMLCollectionCustom.cpp: + * bindings/js/JSHTMLDocumentCustom.cpp: + * bindings/js/JSHTMLEmbedElementCustom.cpp: + * bindings/js/JSHTMLFormElementCustom.cpp: + * bindings/js/JSHTMLFrameElementCustom.cpp: + * bindings/js/JSHTMLFrameSetElementCustom.cpp: + * bindings/js/JSHTMLIFrameElementCustom.cpp: + * bindings/js/JSHTMLInputElementCustom.cpp: + * bindings/js/JSHTMLObjectElementCustom.cpp: + * bindings/js/JSHTMLOptionsCollectionCustom.cpp: + * bindings/js/JSHTMLSelectElementCustom.cpp: + * bindings/js/JSHTMLSelectElementCustom.h: + * bindings/js/JSHistoryCustom.cpp: + * bindings/js/JSImageDataCustom.cpp: + * bindings/js/JSInspectedObjectWrapper.cpp: + * bindings/js/JSInspectedObjectWrapper.h: + * bindings/js/JSInspectorCallbackWrapper.cpp: + * bindings/js/JSInspectorCallbackWrapper.h: + * bindings/js/JSJavaScriptCallFrameCustom.cpp: + * bindings/js/JSLocationCustom.cpp: + * bindings/js/JSMessagePortCustom.cpp: + * bindings/js/JSMimeTypeArrayCustom.cpp: + * bindings/js/JSNamedNodeMapCustom.cpp: + * bindings/js/JSNamedNodesCollection.cpp: + * bindings/js/JSNamedNodesCollection.h: + * bindings/js/JSNavigatorCustom.cpp: + * bindings/js/JSNodeCustom.cpp: + * bindings/js/JSNodeFilterCondition.cpp: + * bindings/js/JSNodeFilterCustom.cpp: + * bindings/js/JSNodeIteratorCustom.cpp: + * bindings/js/JSNodeListCustom.cpp: + * bindings/js/JSPluginArrayCustom.cpp: + * bindings/js/JSPluginCustom.cpp: + * bindings/js/JSPluginElementFunctions.cpp: + * bindings/js/JSPluginElementFunctions.h: + * bindings/js/JSQuarantinedObjectWrapper.cpp: + * bindings/js/JSQuarantinedObjectWrapper.h: + * bindings/js/JSRGBColor.cpp: + * bindings/js/JSRGBColor.h: + * bindings/js/JSSQLResultSetRowListCustom.cpp: + * bindings/js/JSSQLTransactionCustom.cpp: + * bindings/js/JSSVGElementInstanceCustom.cpp: + * bindings/js/JSSVGLengthCustom.cpp: + * bindings/js/JSSVGMatrixCustom.cpp: + * bindings/js/JSSVGPathSegCustom.cpp: + * bindings/js/JSSVGPathSegListCustom.cpp: + * bindings/js/JSSVGPointListCustom.cpp: + * bindings/js/JSSVGTransformListCustom.cpp: + * bindings/js/JSStorageCustom.cpp: + * bindings/js/JSStyleSheetCustom.cpp: + * bindings/js/JSStyleSheetListCustom.cpp: + * bindings/js/JSTextCustom.cpp: + * bindings/js/JSTreeWalkerCustom.cpp: + * bindings/js/JSXMLHttpRequestCustom.cpp: + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + * bindings/js/JSXSLTProcessorCustom.cpp: + * bindings/js/ScheduledAction.cpp: + * bindings/js/ScheduledAction.h: + * bindings/js/ScriptController.cpp: + * bindings/js/ScriptController.h: + * bindings/objc/WebScriptObject.mm: + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/NP_jsobject.cpp: + * bridge/c/c_instance.cpp: + * bridge/c/c_instance.h: + * bridge/c/c_runtime.cpp: + * bridge/c/c_runtime.h: + * bridge/c/c_utility.cpp: + * bridge/jni/jni_instance.cpp: + * bridge/jni/jni_instance.h: + * bridge/jni/jni_jsobject.mm: + * bridge/jni/jni_objc.mm: + * bridge/jni/jni_runtime.cpp: + * bridge/jni/jni_runtime.h: + * bridge/jni/jni_utility.cpp: + * bridge/objc/objc_class.mm: + * bridge/objc/objc_instance.h: + * bridge/objc/objc_instance.mm: + * bridge/objc/objc_runtime.h: + * bridge/objc/objc_runtime.mm: + * bridge/objc/objc_utility.h: + * bridge/objc/objc_utility.mm: + * bridge/runtime.h: + * bridge/runtime_array.cpp: + * bridge/runtime_array.h: + * bridge/runtime_method.cpp: + * bridge/runtime_method.h: + * bridge/runtime_object.cpp: + * bridge/runtime_object.h: + * inspector/JavaScriptCallFrame.cpp: + * inspector/JavaScriptCallFrame.h: + * inspector/JavaScriptProfile.cpp: + * inspector/JavaScriptProfileNode.cpp: + * loader/FrameLoader.cpp: + * loader/FrameLoader.h: + * page/Console.cpp: + * page/Console.h: + * plugins/MimeTypeArray.h: + * plugins/Plugin.h: + * plugins/PluginArray.h: + * xml/XMLHttpRequest.cpp: + Replace JSValue* with JSValuePtr. + +2008-10-18 Darin Adler <darin@apple.com> + + Reviewed by Oliver Hunt. + + - first step of https://bugs.webkit.org/show_bug.cgi?id=21732 + improve performance by eliminating JSValue as a base class for JSCell + + Update for change to make PreferredPrimitiveType no longer + a member of JSValue. + + * bridge/c/c_instance.cpp: + (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix. + * bridge/jni/jni_instance.cpp: + (JavaInstance::defaultValue): Ditto. + * bridge/objc/objc_instance.mm: + (ObjcInstance::defaultValue): Ditto. + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::defaultValue): Ditto. + * bridge/runtime.h: Ditto. Also removed typedef. + +2008-10-18 Darin Adler <darin@apple.com> + + - try to fix Windows build + + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with + SafariTheme namespace, since there is now an identically named constant in + the ControlPart enum. + (WebCore::RenderThemeSafari::paintButton): Ditto. + (WebCore::RenderThemeSafari::paintTextField): Ditto. + (WebCore::RenderThemeSafari::paintTextArea): Ditto. + (WebCore::RenderThemeSafari::paintSearchField): Ditto. + (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto. + (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto. + (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto. + +2008-10-18 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by Alp Toker. + + [GTK] crash after selecting a file on an <input type=file> + https://bugs.webkit.org/show_bug.cgi?id=21385 + + Follow Mac and Win's behaviors for Icon::paint + + * platform/graphics/gtk/IconGtk.cpp: + (WebCore::Icon::paint): check if painting is enabled before + painting the icon + +2008-10-18 Zan Dobersek <zandobersek@gmail.com> + + Reviewed by Oliver Hunt. + + Qt port build fix. + + * platform/qt/RenderThemeQt.h: + +2008-10-17 Kevin Watters <kevinwatters@gmail.com> + + Reviewed by Kevin Ollivier + + Fix wx port's scrollbar and drawing handling after recent changes. + + https://bugs.webkit.org/show_bug.cgi?id=21720 + + * platform/ScrollView.h: + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::platformVisibleContentRect): + (WebCore::ScrollView::platformContentsSize): + (WebCore::ScrollView::platformSetContentsSize): + * platform/wx/WidgetWx.cpp: + (WebCore::Widget::paint): + +2008-10-17 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix. EAppearance -> ControlPart. + + * platform/wx/RenderThemeWx.cpp: + (WebCore::RenderThemeWx::isControlStyled): + (WebCore::RenderThemeWx::adjustRepaintRect): + (WebCore::RenderThemeWx::controlSupportsTints): + (WebCore::RenderThemeWx::supportsFocus): + (WebCore::RenderThemeWx::paintButton): + +2008-10-17 David Hyatt <hyatt@apple.com> + + Eliminate the EAppearance enum in favor of the new ControlPart enum. Cut out the scrollbar + values from the enum since they are handled by ScrollbarTheme instead. + + Reviewed by Tim Hatcher + + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator ControlPart): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): + * css/CSSValueKeywords.in: + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::supportsFocus): + (WebCore::RenderThemeGtk::baselinePosition): + (WebCore::setToggleSize): + (WebCore::RenderThemeGtk::setCheckboxSize): + (WebCore::RenderThemeGtk::setRadioSize): + (WebCore::RenderThemeGtk::adjustButtonStyle): + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::baselinePosition): + (WebCore::RenderThemeQt::controlSupportsTints): + (WebCore::RenderThemeQt::adjustRepaintRect): + (WebCore::RenderThemeQt::isControlStyled): + (WebCore::computeSizeBasedOnStyle): + (WebCore::RenderThemeQt::paintButton): + (WebCore::RenderThemeQt::paintTextField): + (WebCore::RenderThemeQt::paintMenuList): + (WebCore::RenderThemeQt::supportsFocus): + (WebCore::RenderThemeQt::applyTheme): + (WebCore::RenderThemeQt::adjustSliderThumbSize): + * platform/qt/RenderThemeQt.h: + * rendering/RenderSlider.cpp: + (WebCore::RenderSlider::createThumbStyle): + (WebCore::RenderSlider::layout): + (WebCore::RenderSlider::setValueForPosition): + (WebCore::RenderSlider::setPositionFromValue): + (WebCore::RenderSlider::positionForOffset): + (WebCore::RenderSlider::currentPosition): + (WebCore::RenderSlider::setCurrentPosition): + (WebCore::RenderSlider::trackSize): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::adjustStyle): + (WebCore::RenderTheme::paint): + (WebCore::RenderTheme::paintBorderOnly): + (WebCore::RenderTheme::paintDecorations): + (WebCore::RenderTheme::isControlContainer): + (WebCore::RenderTheme::isControlStyled): + (WebCore::RenderTheme::supportsFocusRing): + (WebCore::RenderTheme::isDefault): + * rendering/RenderTheme.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::isControlStyled): + (WebCore::RenderThemeMac::adjustRepaintRect): + (WebCore::RenderThemeMac::baselinePosition): + (WebCore::RenderThemeMac::controlSupportsTints): + (WebCore::RenderThemeMac::adjustButtonStyle): + (WebCore::RenderThemeMac::setButtonCellState): + (WebCore::RenderThemeMac::popupInternalPaddingLeft): + (WebCore::RenderThemeMac::popupInternalPaddingRight): + (WebCore::RenderThemeMac::popupInternalPaddingTop): + (WebCore::RenderThemeMac::popupInternalPaddingBottom): + (WebCore::RenderThemeMac::paintSliderTrack): + (WebCore::RenderThemeMac::paintSliderThumb): + (WebCore::RenderThemeMac::adjustSliderThumbSize): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::isControlStyled): + (WebCore::RenderThemeSafari::adjustRepaintRect): + (WebCore::RenderThemeSafari::baselinePosition): + (WebCore::RenderThemeSafari::controlSupportsTints): + (WebCore::RenderThemeSafari::adjustButtonStyle): + (WebCore::RenderThemeSafari::popupInternalPaddingLeft): + (WebCore::RenderThemeSafari::popupInternalPaddingRight): + (WebCore::RenderThemeSafari::popupInternalPaddingTop): + (WebCore::RenderThemeSafari::popupInternalPaddingBottom): + (WebCore::RenderThemeSafari::paintSliderTrack): + (WebCore::RenderThemeSafari::adjustSliderThumbSize): + * rendering/RenderThemeWin.cpp: + (WebCore::RenderThemeWin::supportsFocus): + (WebCore::RenderThemeWin::determineClassicState): + (WebCore::RenderThemeWin::getClassicThemeData): + (WebCore::RenderThemeWin::getThemeData): + (WebCore::drawControl): + (WebCore::RenderThemeWin::paintSliderTrack): + (WebCore::RenderThemeWin::adjustSliderThumbSize): + * rendering/RenderThemeWin.h: + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::hasAppearance): + (WebCore::InheritedFlags::appearance): + (WebCore::InheritedFlags::setAppearance): + (WebCore::InheritedFlags::initialAppearance): + * rendering/style/RenderStyleConstants.h: + +2008-10-17 David Hyatt <hyatt@apple.com> + + Beginning of the RenderTheme re-architecture (to share more code). Add the new Theme API header + file. Add new USE(NEW_THEME) switch that is enabled on Mac. The Mac theme will be converted first. + + Reviewed by Tim Hatcher + + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * config.h: + * platform/Theme.h: Added. + (WebCore::Theme::Theme): + (WebCore::Theme::~Theme): + (WebCore::Theme::baselinePositionAdjustment): + (WebCore::Theme::controlHasInactiveAppearance): + (WebCore::Theme::controlsCanHaveInactiveAppearance): + (WebCore::Theme::controlsCanHaveHoveredAppearance): + (WebCore::Theme::controlDrawsBorder): + (WebCore::Theme::controlDrawsBackground): + (WebCore::Theme::controlDrawsFocusOutline): + (WebCore::Theme::selectionColor): + (WebCore::Theme::textSearchHighlightColor): + (WebCore::Theme::systemColor): + (WebCore::Theme::systemFont): + (WebCore::Theme::caretBlinkFrequency): + (WebCore::Theme::themeChanged): + (WebCore::Theme::controlSize): + (WebCore::Theme::controlFont): + (WebCore::Theme::controlPadding): + (WebCore::Theme::controlInternalPadding): + (WebCore::Theme::controlBorder): + (WebCore::Theme::controlBorderRadius): + (WebCore::Theme::paint): + (WebCore::Theme::inflateControlPaintRect): + * platform/ThemeTypes.h: Added. + (WebCore::): + (WebCore::ControlBox::ControlBox): + (WebCore::ControlBox::top): + (WebCore::ControlBox::right): + (WebCore::ControlBox::bottom): + (WebCore::ControlBox::left): + * platform/mac/ThemeMac.h: Added. + (WebCore::ThemeMac::ThemeMac): + (WebCore::ThemeMac::~ThemeMac): + * platform/mac/ThemeMac.mm: Added. + (WebCore::platformTheme): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::RenderTheme): + * rendering/RenderTheme.h: + +2008-10-17 Marco Barisione <marco.barisione@collabora.co.uk> + + Reviewed by Sam Weinig. Landed by Jan Alonzo. + + https://bugs.webkit.org/show_bug.cgi?id=21603 + [GTK] Minor fixes to GOwnPtr + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mediaPlayerPrivateErrorCallback): + +2008-10-17 Timothy Hatcher <timothy@apple.com> + + Recompile the JavaScript functions when removing any listener, so functions that are + not being debugged can resume normal speed again. + + https://bugs.webkit.org/show_bug.cgi?id=21715 + + Reviewed by Geoffrey Garen. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert + was firing when closing the window and having the recompile fire after. This was an + overzelious assert now. + * inspector/JavaScriptDebugServer.cpp: + (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer. + (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start. + +2008-10-17 Timothy Hatcher <timothy@apple.com> + + Fixes a regression where starting a debugging session in + another Web Inspector window would not show any scripts. + Also only attach the debugger to only the required Pages. + + https://bugs.webkit.org/show_bug.cgi?id=21708 + + Reviewed by Darin Adler. + + * inspector/JavaScriptDebugServer.cpp: + (WebCore::JavaScriptDebugServer::addListener): Add an assert and + remove the call to willAddFirstListener(). Add a call to + didAddListener(). + (WebCore::JavaScriptDebugServer::removeListener): Add an assert + and call to didRemoveListener(). + (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger + if there is a listener interested in the new Page. + (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage): + Use hasGlobalListeners() instead of isEmpty(). + (WebCore::JavaScriptDebugServer::sourceParsed): Ditto. + (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the + debugger to the page if non-null, or all pages if page is null. + (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach + the debugger only if there are no interested listeners. + (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the + call to Page::setDebuggerForAllPages(). + * inspector/JavaScriptDebugServer.h: + (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added. + +2008-10-15 Brett Wilson <brettw@chromium.org> + + Reviewed by Timothy Hatcher. + + Have ImageDocument generate its own filename for the title of images + without relying on the suggested filename from the network layer, which + may be nonexistant or not relevant. + https://bugs.webkit.org/show_bug.cgi?id=21565 + + * loader/ImageDocument.cpp: + (WebCore::ImageTokenizer::finish): + +2008-10-17 Alexey Proskuryakov <ap@webkit.org> + + Non-Mac build fix. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCoreSources.bkl: + Added ActiveDOMObject to the build. + +2008-10-17 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=21642 + Abstract out active object tracking + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMBinding.cpp: + (WebCore::markActiveObjectsForDocument): + * dom/ActiveDOMObject.cpp: Added. + (WebCore::ActiveDOMObject::ActiveDOMObject): + (WebCore::ActiveDOMObject::~ActiveDOMObject): + (WebCore::ActiveDOMObject::contextDestroyed): + (WebCore::ActiveDOMObject::stop): + * dom/ActiveDOMObject.h: Added. + (WebCore::ActiveDOMObject::document): + (WebCore::ActiveDOMObject::hasPendingActivity): + (WebCore::ActiveDOMObject::setPendingActivity): + (WebCore::ActiveDOMObject::unsetPendingActivity): + * dom/Document.cpp: + (WebCore::Document::~Document): + (WebCore::Document::stopActiveDOMObjects): + (WebCore::Document::createdActiveDOMObject): + (WebCore::Document::destroyedActiveDOMObject): + * dom/Document.h: + (WebCore::Document::activeDOMObjects): + * dom/MessagePort.cpp: + (WebCore::MessagePort::contextDestroyed): + * dom/MessagePort.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopLoading): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::XMLHttpRequest): + (WebCore::XMLHttpRequest::~XMLHttpRequest): + (WebCore::XMLHttpRequest::associatedFrame): + (WebCore::XMLHttpRequest::responseXML): + (WebCore::XMLHttpRequest::callReadyStateChangeListener): + (WebCore::XMLHttpRequest::initSend): + (WebCore::XMLHttpRequest::send): + (WebCore::XMLHttpRequest::createRequest): + (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): + (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): + (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): + (WebCore::XMLHttpRequest::loadRequestSynchronously): + (WebCore::XMLHttpRequest::loadRequestAsynchronously): + (WebCore::XMLHttpRequest::dropProtection): + (WebCore::XMLHttpRequest::setRequestHeader): + (WebCore::XMLHttpRequest::processSyncLoadResults): + (WebCore::XMLHttpRequest::didFinishLoading): + (WebCore::XMLHttpRequest::didFinishLoadingPreflight): + (WebCore::XMLHttpRequest::willSendRequest): + (WebCore::XMLHttpRequest::accessControlCheck): + (WebCore::XMLHttpRequest::didReceiveResponsePreflight): + (WebCore::XMLHttpRequest::stop): + (WebCore::XMLHttpRequest::contextDestroyed): + * xml/XMLHttpRequest.h: + Move activity tracking to a new ActiveDOMObject class. + +2008-10-16 David Hyatt <hyatt@apple.com> + + Simplify styleForRenderer to avoid confusion. Callers in the SVG filter code thought "forRenderer" meant + they would be given a style that corresponded to the RenderObject* passed in. This is not what the code + did though. This patch removes the renderer argument and the Element subclass shadow implementation + so that confusion like this can't occur again. + + Reviewed by Oliver Hunt + + * dom/Element.cpp: + * dom/Element.h: + * dom/Node.cpp: + (WebCore::Node::createRendererIfNeeded): + (WebCore::Node::styleForRenderer): + * dom/Node.h: + * html/HTMLOptGroupElement.cpp: + (WebCore::HTMLOptGroupElement::attach): + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::attach): + * svg/SVGClipPathElement.cpp: + (WebCore::SVGClipPathElement::canvasResource): + * svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::build): + * svg/SVGFEFloodElement.cpp: + (WebCore::SVGFEFloodElement::build): + * svg/SVGFESpecularLightingElement.cpp: + (WebCore::SVGFESpecularLightingElement::build): + * svg/SVGGradientElement.cpp: + (WebCore::SVGGradientElement::buildStops): + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::attachShadowTree): + +2008-10-16 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/attachment.cgi?bugid=21647 + + Make RenderStyle inherit from RefCounted so that it works with RefPtr. RenderStyle was being malloced + out of the RenderArena. Years and years ago (before TCMalloc), the plan was to make RenderStyles and + all their associated sub-structs use the arena. However only the RenderStyle itself was ever changed + to use the arena. + + At a later point style sharing was implemented, which made using the arena for styles pretty pointless, + as the bulk of the styles on a given page are actually shared. Not ever making the sub-structs use the + arena also limited the usefulness. + + Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast + mallocs, there is no reason to keep RenderStyles in the arena. The benefits of being able to eliminate + manual ref/deref far outweigh keeping them in the arena. + + Reviewed by Adam Roben + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::CSSStyleSelector): + (WebCore::CSSStyleSelector::~CSSStyleSelector): + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::CSSStyleSelector::keyframeStylesForAnimation): + (WebCore::CSSStyleSelector::pseudoStyleForElement): + These methods now return a PassRefPtr. They will null out the m_style variable as they hand it back + so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did). + + (WebCore::CSSStyleSelector::updateFont): + (WebCore::CSSStyleSelector::checkSelector): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::mapFillSize): + (WebCore::CSSStyleSelector::mapFillXPosition): + (WebCore::CSSStyleSelector::mapFillYPosition): + * css/CSSStyleSelector.h: + (WebCore::CSSStyleSelector::style): + * dom/Document.cpp: + (WebCore::Document::recalcStyle): + * dom/Element.cpp: + (WebCore::Element::styleForRenderer): + (WebCore::Element::recalcStyle): + (WebCore::Element::computedStyle): + * dom/Element.h: + * dom/ElementRareData.h: + (WebCore::ElementRareData::ElementRareData): + (WebCore::ElementRareData::resetComputedStyle): + * dom/Node.cpp: + (WebCore::Node::diff): + (WebCore::Node::createRendererIfNeeded): + (WebCore::Node::styleForRenderer): + (WebCore::Node::setRenderStyle): + * dom/Node.h: + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setFont): + * html/HTMLOptGroupElement.cpp: + (WebCore::HTMLOptGroupElement::attach): + (WebCore::HTMLOptGroupElement::detach): + (WebCore::HTMLOptGroupElement::setRenderStyle): + (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): + * html/HTMLOptGroupElement.h: + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::attach): + (WebCore::HTMLOptionElement::detach): + (WebCore::HTMLOptionElement::setRenderStyle): + (WebCore::HTMLOptionElement::nonRendererRenderStyle): + * html/HTMLOptionElement.h: + * page/animation/AnimationBase.h: + (WebCore::AnimationBase::animate): + * page/animation/AnimationController.cpp: + (WebCore::AnimationController::updateAnimations): + * page/animation/AnimationController.h: + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimationPrivate::updateTransitions): + (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations): + (WebCore::CompositeAnimationPrivate::animate): + (WebCore::CompositeAnimation::animate): + * page/animation/CompositeAnimation.h: + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::ImplicitAnimation): + (WebCore::ImplicitAnimation::~ImplicitAnimation): + (WebCore::ImplicitAnimation::animate): + (WebCore::ImplicitAnimation::reset): + (WebCore::ImplicitAnimation::isTargetPropertyEqual): + (WebCore::ImplicitAnimation::blendPropertyValueInStyle): + * page/animation/ImplicitAnimation.h: + (WebCore::ImplicitAnimation::create): + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::KeyframeAnimation): + (WebCore::KeyframeAnimation::~KeyframeAnimation): + (WebCore::KeyframeAnimation::animate): + (WebCore::KeyframeAnimation::validateTransformFunctionList): + * page/animation/KeyframeAnimation.h: + (WebCore::KeyframeAnimation::create): + (WebCore::KeyframeAnimation::unanimatedStyle): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paint): + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): + (WebCore::MediaControlInputElement::MediaControlInputElement): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::styleDidChange): + (WebCore::RenderBlock::updateFirstLetter): + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::addChild): + (WebCore::RenderContainer::updateBeforeAfterContentForContainer): + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::updateFromElement): + (WebCore::RenderFileUploadControl::createButtonStyle): + * rendering/RenderFileUploadControl.h: + * rendering/RenderFlow.cpp: + (WebCore::RenderFlow::createAnonymousFlow): + * rendering/RenderFlow.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::addChildToFlow): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateScrollCornerStyle): + (WebCore::RenderLayer::updateResizerStyle): + (WebCore::RenderLayer::updateReflectionStyle): + * rendering/RenderListItem.cpp: + (WebCore::RenderListItem::styleDidChange): + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::createPanel): + (WebCore::RenderMedia::createTimeDisplay): + (WebCore::RenderMedia::changeOpacity): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::selectionBackgroundColor): + (WebCore::RenderObject::selectionForegroundColor): + (WebCore::RenderObject::createAnonymousBlock): + (WebCore::RenderObject::setAnimatableStyle): + (WebCore::RenderObject::setStyle): + (WebCore::RenderObject::setStyleInternal): + (WebCore::RenderObject::arenaDelete): + (WebCore::RenderObject::firstLineStyle): + (WebCore::RenderObject::getPseudoStyle): + * rendering/RenderObject.h: + (WebCore::RenderObject::style): + * rendering/RenderSVGBlock.cpp: + (WebCore::RenderSVGBlock::setStyle): + * rendering/RenderSVGBlock.h: + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::getScrollbarPseudoStyle): + (WebCore::RenderScrollbar::updateScrollbarPart): + * rendering/RenderScrollbar.h: + * rendering/RenderSlider.cpp: + (WebCore::RenderSlider::styleDidChange): + (WebCore::RenderSlider::createThumbStyle): + (WebCore::RenderSlider::updateFromElement): + * rendering/RenderSlider.h: + * rendering/RenderTable.cpp: + (WebCore::RenderTable::addChild): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::addChild): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::addChild): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::styleDidChange): + (WebCore::RenderTextControl::createInnerBlockStyle): + (WebCore::RenderTextControl::createInnerTextStyle): + (WebCore::RenderTextControl::createResultsButtonStyle): + (WebCore::RenderTextControl::createCancelButtonStyle): + (WebCore::RenderTextControl::createSubtreeIfNeeded): + (WebCore::RenderTextControl::updatePlaceholderVisibility): + * rendering/RenderTextControl.h: + * rendering/TextControlInnerElements.cpp: + (WebCore::TextControlInnerElement::attachInnerElement): + * rendering/TextControlInnerElements.h: + * rendering/style/KeyframeList.cpp: + (WebCore::KeyframeList::clear): + (WebCore::KeyframeList::operator==): + (WebCore::KeyframeList::insert): + * rendering/style/KeyframeList.h: + (WebCore::KeyframeValue::KeyframeValue): + (WebCore::KeyframeValue::~KeyframeValue): + (WebCore::KeyframeValue::key): + (WebCore::KeyframeValue::style): + * rendering/style/RenderStyle.cpp: + (WebCore::defaultStyle): + (WebCore::RenderStyle::create): + (WebCore::RenderStyle::createDefaultStyle): + (WebCore::RenderStyle::clone): + (WebCore::RenderStyle::RenderStyle): + (WebCore::RenderStyle::getCachedPseudoStyle): + (WebCore::RenderStyle::addCachedPseudoStyle): + * rendering/style/RenderStyle.h: + (WebCore::): + (WebCore::InheritedFlags::operator!=): + * svg/SVGClipPathElement.cpp: + (WebCore::SVGClipPathElement::canvasResource): + * svg/SVGGradientElement.cpp: + (WebCore::SVGGradientElement::buildStops): + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::resolveStyle): + * svg/SVGStyledElement.h: + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::recalcStyle): + (WebCore::SVGUseElement::attachShadowTree): + +2008-10-16 Kenneth Russell <kenneth.russell@sun.com> + + Reviewed and landed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=21587 + NPN_PluginThreadAsyncCall does not work properly + + * plugins/PluginMainThreadScheduler.cpp: + (WebCore::PluginMainThreadScheduler::dispatchCalls): + Make sure to set m_callPending to false once the queue has been cleared. + +2008-10-15 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21609 + Make MessagePorts protect their peers across heaps + + * dom/MessagePort.cpp: + (WebCore::MessagePort::MessagePort): + * dom/MessagePort.h: + (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible): + (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible): + Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this + means that the implementation object knows about JS bindings - but it is not possible to + access JS wrappers from another heap/thread. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::markCrossHeapDependentObjectsForDocument): + * bindings/js/JSDOMBinding.h: + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects): + * bindings/js/JSDOMWindowBase.h: + Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object + hasn't been marked normally, it is marked as inaccessible. It is then marked manually, + as long as its entangled port is accessible itself. + +2008-10-15 Jon Honeycutt <jhoneycutt@apple.com> + + Remove unneeded check of whether a Page defers loading before running it + in a modal dialog. + + No test possible. + + Reviewed by Tim Hatcher. + + * page/Chrome.cpp: + +2008-10-15 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Cameron Zwarich. + + Fixed https://bugs.webkit.org/show_bug.cgi?id=21345 + Start the debugger without reloading the inspected page + + * WebCore.base.exp: New symbols. + + * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h. + * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h. + * WebCore.xcodeproj/project.pbxproj: New forwarding headers. + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::setWindowVisible): + (WebCore::InspectorController::windowScriptObjectAvailable): + (WebCore::InspectorController::startDebugging): + * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage + to startDebugging, and changed its behavior to match. + + * inspector/JavaScriptDebugListener.h: + * inspector/JavaScriptDebugServer.cpp: + (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): + (WebCore::JavaScriptDebugServer::addListener): + (WebCore::JavaScriptDebugServer::removeListener): + (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): + (WebCore::JavaScriptDebugServer::willAddFirstListener): + (WebCore::JavaScriptDebugServer::didRemoveLastListener): + * inspector/JavaScriptDebugServer.h: Refactored the + JavaScriptDebugServer to centralize handling of adding the first listener + and removing the last. Then, added a feature to recompile all JS functions + in these cases. This allows us to dynamically add and remove hooks like + the debugger hooks without reloading the page. + + * inspector/front-end/ScriptsPanel.js: + * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage => + startDebugging rename. Removed all UI that claimed that starting the + debugger would reload the page. + +2008-10-15 Adele Peterson <adele@apple.com> + + Attempt to fix the Tiger build. + + * platform/network/mac/ResourceHandleMac.mm: + +2008-10-15 Holger Hans Peter Freyther <zecke@selfish.org> + + Build fix attempt. + + Try to fix static/non-static declaration of g_string_append_uri_escape + by renaming that string. Another look needs to be taken. + + * platform/gtk/guriescape.c: + (_webcore_g_string_append_uri_escaped): + (_webcore_g_uri_escape_string): + +2008-10-15 Holger Hans Peter Freyther <zecke@selfish.org> + + Build fix. + + m_animatingImageType is gone. + + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::BitmapImage): + +2008-10-15 Jeff Cook <cookiecaper@gmail.com> + + Reviewed by Holger Freyther. + + Stop SIGSEGV when leaving a page with a Flash object by reordering + window destruction and plugin stop. + + See https://bugs.webkit.org/show_bug.cgi?id=20779 + + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::stop): + +2008-10-15 Adele Peterson <adele@apple.com> + + Reviewed by Sam Weinig. + + Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist. + + * platform/network/ResourceHandle.h: + * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead): + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::didSendBodyDataDelegateExists): + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::cancel): + (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): + (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]): + (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): + (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): + +2008-10-15 Peter Kasting <pkasting@google.com> + + Reviewed by David Hyatt. + + Qt build bustage fix. + + * platform/graphics/qt/StillImageQt.h: + (WebCore::StillImage::destroyDecodedData): + +2008-10-15 David Hyatt <hyatt@apple.com> + + Make sure scrollbar styles get deleted if they aren't assigned to a renderer. + + Reviewed by Mark Rowe + + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::getScrollbarPseudoStyle): + (WebCore::RenderScrollbar::updateScrollbarPart): + +2008-10-15 Peter Kasting <pkasting@google.com> + + Reviewed by David Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt) + Account for paint and timer lag when animating images. Also pretend + that images whose animations were paused (by becoming invisible) + continued to animate, by "catching up" to the correct frame when they're + shown again. + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::BitmapImage): + (WebCore::BitmapImage::destroyDecodedData): + (WebCore::BitmapImage::cacheFrame): + (WebCore::BitmapImage::frameIsCompleteAtIndex): + (WebCore::BitmapImage::frameDurationAtIndex): + (WebCore::BitmapImage::frameHasAlphaAtIndex): + (WebCore::BitmapImage::repetitionCount): + (WebCore::BitmapImage::shouldAnimate): + (WebCore::BitmapImage::startAnimation): + (WebCore::BitmapImage::resetAnimation): + (WebCore::BitmapImage::advanceAnimation): + (WebCore::BitmapImage::internalAdvanceAnimation): + (WebCore::BitmapImage::notifyObserverAndTrimDecodedData): + * platform/graphics/BitmapImage.h: + (WebCore::FrameData::FrameData): + (WebCore::BitmapImage::): + * platform/graphics/GeneratedImage.h: + (WebCore::GeneratedImage::destroyDecodedData): + * platform/graphics/Image.h: + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::FrameData::clear): + (WebCore::BitmapImage::BitmapImage): + (WebCore::BitmapImage::draw): + * platform/graphics/cg/ImageCG.cpp: + (WebCore::FrameData::clear): + (WebCore::BitmapImage::BitmapImage): + (WebCore::BitmapImage::draw): + * platform/graphics/cg/PDFDocumentImage.h: + (WebCore::PDFDocumentImage::destroyDecodedData): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::FrameData::clear): + (WebCore::BitmapImage::draw): + * platform/graphics/wx/ImageWx.cpp: + (WebCore::FrameData::clear): + (WebCore::BitmapImage::draw): + * svg/graphics/SVGImage.h: + (WebCore::SVGImage::destroyDecodedData): + +2008-10-14 Maxime Britto <britto@apple.com> + + Reviewed by Darin Adler, tweaked and landed by Beth. + + * WebCore.base.exp: Exposes two functions to be able to create a + selection from a point on the screen. Also exposes the new + TextIterator::currentNode function. + * WebCore/editing/TextIterator.cpp: + (TextIterator::currentNode) : New function that returns the current + text node or NULL if there is no text node. + +2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk> + + Reviewed by Holger Freyther. + + http://bugs.webkit.org/show_bug.cgi?id=21211 + [CURL] Upload doesn't work because cancel is called + + FormDataStream::read returns 0 when retrieving data from the form + fails, but also when there is no more data to send. This means that + ResourceHandleManager::cancel is always called even when the data was + successfully sent. + + Check if there are more elements in the form before calling + FormDataStream::read. + + * platform/network/curl/FormDataStreamCurl.cpp: + (WebCore::FormDataStream::hasMoreElements): + * platform/network/curl/FormDataStreamCurl.h: + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::readCallback): + +2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk> + + Reviewed by Holger Freyther. + + http://bugs.webkit.org/show_bug.cgi?id=20664 + [GTK] File names are not always encodable in UTF-8 + + On Linux file names are just raw data and cannot always be directly + encoded in UTF-8 or in any other encodings, so we escape them before + storing the file name in a String and unescape them before passing + them to native functions handling files. + + * GNUmakefile.am: + * platform/FileSystem.h: + * platform/gtk/FileChooserGtk.cpp: + (WebCore::stringByAdoptingFileSystemRepresentation): + (WebCore::FileChooser::basenameForWidth): + * platform/gtk/FileSystemGtk.cpp: + (WebCore::filenameToString): + (WebCore::filenameFromString): + (WebCore::filenameForDisplay): + (WebCore::fileExists): + (WebCore::deleteFile): + (WebCore::deleteEmptyDirectory): + (WebCore::getFileSize): + (WebCore::getFileModificationTime): + (WebCore::makeAllDirectories): + (WebCore::homeDirectoryPath): + (WebCore::pathGetFileName): + (WebCore::listDirectory): + * platform/gtk/KURLGtk.cpp: + (WebCore::KURL::fileSystemPath): + * platform/gtk/SharedBufferGtk.cpp: + (WebCore::SharedBuffer::createWithContentsOfFile): + * platform/gtk/guriescape.c: Added. + (is_valid): + (gunichar_ok): + (g_string_append_uri_escaped): + (_webcore_g_uri_escape_string): + * platform/gtk/guriescape.h: Added. + +2008-10-15 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Eric Seidel. + + - part of https://bugs.webkit.org/show_bug.cgi?id=20543 + Moved gradient spread method out of SVG into the GraphicsContext. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::spreadMethod): + (WebCore::GraphicsContext::setSpreadMethod): + * platform/graphics/GraphicsContext.h: + (WebCore::): + * platform/graphics/GraphicsContextPrivate.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::applySpreadMethod): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::applySpreadMethod): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + * svg/GradientAttributes.h: + (WebCore::GradientAttributes::GradientAttributes): + (WebCore::GradientAttributes::spreadMethod): + (WebCore::GradientAttributes::setSpreadMethod): + * svg/SVGGradientElement.cpp: + (WebCore::SVGGradientElement::parseMappedAttribute): + * svg/SVGGradientElement.h: + * svg/SVGLinearGradientElement.cpp: + (WebCore::SVGLinearGradientElement::collectGradientProperties): + * svg/SVGRadialGradientElement.cpp: + (WebCore::SVGRadialGradientElement::collectGradientProperties): + * svg/graphics/SVGPaintServerGradient.cpp: + (WebCore::operator<<): + (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): + (WebCore::SVGPaintServerGradient::spreadMethod): + (WebCore::SVGPaintServerGradient::setGradientSpreadMethod): + (WebCore::SVGPaintServerGradient::externalRepresentation): + * svg/graphics/SVGPaintServerGradient.h: + * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: + (WebCore::SVGPaintServerGradient::setup): + * svg/graphics/qt/SVGPaintServerGradientQt.cpp: + (WebCore::SVGPaintServerGradient::setup): + +2008-10-09 Darin Fisher <darin@chromium.org> + + Reviewed by Sam Weinig. + + Make pan scrolling a platform configurable option + https://bugs.webkit.org/show_bug.cgi?id=21515 + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleAutoscroll): + (WebCore::EventHandler::autoscrollTimerFired): + (WebCore::EventHandler::stopAutoscrollTimer): + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::EventHandler::keyEvent): + +2008-10-10 Darin Fisher <darin@chromium.org> + + Reviewed by Darin Adler. + + Add some PLATFORM(CHROMIUM) ifdefs to WebCore + https://bugs.webkit.org/show_bug.cgi?id=21511 + + * loader/FTPDirectoryDocument.cpp: + * loader/FTPDirectoryParser.cpp: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::finishedLoadingDocument): + * platform/ContextMenuItem.h: + * platform/Cursor.h: + * platform/DragData.h: + * platform/DragImage.h: + * platform/Pasteboard.h: + * platform/PlatformKeyboardEvent.h: + (WebCore::PlatformKeyboardEvent::isSystemKey): + * platform/PlatformMenuDescription.h: + * platform/PlatformMouseEvent.h: + * platform/PlatformWheelEvent.h: + * platform/PopupMenu.h: + * platform/ScrollView.h: + * platform/Widget.h: + * platform/network/NetworkStateNotifier.h: + +2008-10-14 Chris Marrin <cmarrin@apple.com> + + Reviewed by Darin Adler. + + Fixed https://bugs.webkit.org/show_bug.cgi?id=21490 + Optimize keyframe style sheet changes by avoiding styleSheetChanged() + + Test: css3/change-keyframes.html + + * css/WebKitCSSKeyframesRule.cpp: + (WebCore::WebKitCSSKeyframesRule::append): + (WebCore::WebKitCSSKeyframesRule::deleteRule): + +2008-10-14 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21595 + + Clean up background and overflow propagation from the body to the viewport. Make it match the + latest CSS2.1 spec thinking. + + Reviewed by Adam Roben + + Added many tests at fast/body-propagation/. These are Simon Pieters' tests of propagation handling + (available at http://simon.html5.org/test/css/magic-body/). + + * dom/Document.cpp: + (WebCore::Document::body): + * page/FrameView.cpp: + (WebCore::FrameView::layout): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::styleDidChange): + (WebCore::RenderBox::paintRootBoxDecorations): + (WebCore::RenderBox::paintBoxDecorations): + (WebCore::RenderBox::repaintLayerRectsForImage): + +2008-10-14 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed and landed by Sam Weinig. + + Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace), + remove NSResolver code, leaving only checking for selectors that need + NS resolution and throwing a coresponding error. + + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSDocumentCustom.cpp: + * bindings/js/JSDocumentFragmentCustom.cpp: + * bindings/js/JSElementCustom.cpp: + * bindings/js/JSNSResolver.cpp: Removed. + * bindings/js/JSNSResolver.h: Removed. + * dom/Document.idl: + * dom/DocumentFragment.idl: + * dom/Element.idl: + * dom/NSResolver.h: Removed. + * dom/NSResolver.idl: Removed. + * dom/Node.h: + * dom/Node.cpp: + (WebCore::forEachTagSelector): + (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()): + (WebCore::selectorNeedsNamespaceResolution): + (WebCore::Node::querySelector): + (WebCore::Node::querySelectorAll): + +2008-10-14 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig (all but the FormDataListItem rename). + + - https://bugs.webkit.org/show_bug.cgi?id=21593 + Bug 21593: add multiple-file support to HTMLFormElement + + * html/FormDataList.cpp: Removed appendFile since it's now inline. + Also took incorrect old copyrights off of this file that are left + over from when it was split. + * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and + made it a member of FormDataList. Changed it to hold a File object + instead of a path. And made its data members private. Changed + FormDataList::appendFile accordingly. + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::formData): Updated for above changes. + Removed the code that special-cases HTMLInputElement, because now + the FormDataListItem has everything we need. And if there are + multiple files, we'll get multiple list items for them. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::appendFormData): Changed the code for + <input type=file> to use File objects instead of path strings and + also to append multiple files if the file list has them. + +2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Fix QtWebKit scrollbar painting errors + + * platform/qt/ScrollbarThemeQt.cpp: + (WebCore::ScrollbarThemeQt::paint): + (WebCore::ScrollbarThemeQt::paintScrollCorner): + +2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Fix scrollbar arrows for horizontal scrollbars + + * platform/qt/ScrollbarThemeQt.cpp: + (WebCore::styleOptionSlider): + +2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Use style-painter to draw scrollbars in ScrollbarThemeQt + + This has the benefit of setting up the painter properly without + antialiasing and saving and restoring the brush. It also ensures + that we use the style of the QWebView over the QApplication style + if possible. + + * platform/qt/RenderThemeQt.cpp: + (WebCore::StylePainter::StylePainter): + (WebCore::StylePainter::init): + * platform/qt/RenderThemeQt.h: + * platform/qt/ScrollbarThemeQt.cpp: + (WebCore::ScrollbarThemeQt::paint): + +2008-10-13 David Hyatt <hyatt@apple.com> + + Add support for CSS transitions on some SVG properties. This patch is intended to be a guideline + for how to add support for the rest. + + Reviewed by Oliver Hunt + + * page/animation/AnimationBase.cpp: + (WebCore::ensurePropertyMap): + * rendering/style/RenderStyle.h: + (WebCore::RenderStyle::fillOpacity): + (WebCore::RenderStyle::setFillOpacity): + (WebCore::RenderStyle::strokeOpacity): + (WebCore::RenderStyle::setStrokeOpacity): + (WebCore::RenderStyle::floodOpacity): + (WebCore::RenderStyle::setFloodOpacity): + +2008-10-13 David Hyatt <hyatt@apple.com> + + <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets. + + Fix for disabled scrollbars not painting in Windows Safari. Make sure that the Windows theme + implements paintTrackBackground so that when the thumb is not present the track still paints. + + Reviewed by Oliver Hunt + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paint): + * platform/win/ScrollbarThemeWin.cpp: + (WebCore::ScrollbarThemeWin::paintTrackBackground): + * platform/win/ScrollbarThemeWin.h: + +2008-10-13 David Hyatt <hyatt@apple.com> + + Fix over-invalidation of native scrollbars. + + Reviewed by Oliver Hunt + + * platform/Scrollbar.h: + (WebCore::Scrollbar::styleChanged): + * platform/mac/ScrollbarThemeMac.mm: + (+[ScrollbarPrefsObserver appearancePrefsChanged:]): + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::styleChanged): + +2008-10-13 Alp Toker <alp@nuanti.com> + + Fix autotools dist build target by listing recently added header + files only. Not reviewed. + + * GNUmakefile.am: + +2008-10-13 Mark Rowe <mrowe@apple.com> + + Reviewed by Brady Eidson. + + Don't run a SQLite query on every iteration of the sync thread when the query + will touch a large portion of the icon database while performing no useful work. + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless + we modified the database. + (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build + unless we've been asked to prune any dangling pageURLs that we find. + +2008-10-13 Maciej Stachowiak <mjs@apple.com> + + Rubber stamped by Mark Rowe. + + - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default + + * Configurations/DebugRelease.xcconfig: + +2008-10-13 David Hyatt <hyatt@apple.com> + + Make dropdown lists on Windows work with CSS custom scrollbars. + + Reviewed by Adele + + * platform/PopupMenu.h: + (WebCore::PopupMenu::scrollbarCornerPresent): + * platform/PopupMenuClient.h: + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenu::show): + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::createScrollbar): + * rendering/RenderMenuList.h: + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::createScrollbar): + * rendering/RenderTextControl.h: + +2008-10-13 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements + + Links from image maps were not being included in the web area's AXLinkUIElements attribute. + The position of image map links was being reported incorrectly and the parent-chain + hierarchy for image map links was incorrect because image map links did not have a reference + to their parent image. + + Test: accessibility/document-links.html + + * page/AccessibilityImageMapLink.cpp: + (WebCore::AccessibilityImageMapLink::parentObject): + (WebCore::AccessibilityImageMapLink::actionElement): + (WebCore::AccessibilityImageMapLink::elementRect): + * page/AccessibilityImageMapLink.h: + (WebCore::AccessibilityImageMapLink::setHTMLMapElement): + (WebCore::AccessibilityImageMapLink::setParent): + * page/AccessibilityObject.cpp: + * page/AccessibilityObject.h: + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap): + (WebCore::AccessibilityRenderObject::getDocumentLinks): + (WebCore::AccessibilityRenderObject::addChildren): + * page/AccessibilityRenderObject.h: + * page/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): + +2008-10-13 David Hyatt <hyatt@apple.com> + + Make RenderListBox work with CSS scrollbars. Refactoring this code to support creation/destruction in + the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no + idea how to make a test case for that, though, since I couldn't repro without running the whole PLT). + + Reviewed by Tim Hatcher + + Added scrollbars/listbox-scrollbar-combinations.html + + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::~RenderListBox): + (WebCore::RenderListBox::updateFromElement): + (WebCore::RenderListBox::createScrollbar): + (WebCore::RenderListBox::destroyScrollbar): + (WebCore::RenderListBox::setHasVerticalScrollbar): + * rendering/RenderListBox.h: + +2008-10-13 David Hyatt <hyatt@apple.com> + + In order to always match the :corner-present pseudo-class properly, delay initial updating of + scrollbar styles until the layer has the scrollbars in its member variables. + + Reviewed by Tim Hatcher + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::setHasHorizontalScrollbar): + (WebCore::RenderLayer::setHasVerticalScrollbar): + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::RenderScrollbar): + +2008-10-13 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=21577 + 5 false positive StructureID leaks + + In WebCore, we intentionally leak the common JSGlobalData which in turn + leaks 5 StructureIDs. Use the new JSGlobalData::createLeaked in order to + ignore the StructureIDs leaked within. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::commonJSGlobalData): + +2008-10-13 David Hyatt <hyatt@apple.com> + + Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their + artwork based on whether there is a scrollbar corner present. + + Reviewed by Tim Hatcher + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): + * platform/ScrollView.cpp: + (WebCore::ScrollView::scrollbarCornerPresent): + * platform/ScrollView.h: + * platform/ScrollbarClient.h: + * rendering/RenderLayer.cpp: + (WebCore::cornerRect): + (WebCore::scrollCornerRect): + (WebCore::resizerCornerRect): + (WebCore::RenderLayer::scrollbarCornerPresent): + (WebCore::RenderLayer::setHasHorizontalScrollbar): + (WebCore::RenderLayer::setHasVerticalScrollbar): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::horizontalScrollbar): + (WebCore::RenderLayer::verticalScrollbar): + * rendering/RenderListBox.h: + (WebCore::RenderListBox::scrollbarCornerPresent): + +2008-10-13 David Hyatt <hyatt@apple.com> + + Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master + test case for all this can land). + + Reviewed by Tim Hatcher + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintOverflowControls): + (WebCore::RenderLayer::paintScrollCorner): + (WebCore::RenderLayer::paintResizer): + (WebCore::RenderLayer::styleChanged): + (WebCore::RenderLayer::updateScrollCornerStyle): + (WebCore::RenderLayer::updateResizerStyle): + * rendering/RenderLayer.h: + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::paint): + * rendering/RenderScrollbarPart.cpp: + (WebCore::RenderScrollbarPart::paintIntoRect): + +2008-10-13 David Hyatt <hyatt@apple.com> + + Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint + and invalidate properly as images load, etc. + + Reviewed by Tim Hatcher + + * rendering/RenderLayer.cpp: + (WebCore::cornerRect): + (WebCore::scrollCornerRect): + (WebCore::resizerCornerRect): + (WebCore::RenderLayer::positionOverflowControls): + (WebCore::RenderLayer::paintOverflowControls): + (WebCore::RenderLayer::paintScrollCorner): + (WebCore::RenderLayer::paintResizer): + (WebCore::RenderLayer::isPointInResizeControl): + (WebCore::RenderLayer::hitTestOverflowControls): + (WebCore::RenderLayer::styleChanged): + * rendering/RenderLayer.h: + * rendering/RenderObject.h: + (WebCore::RenderObject::setRect): + * rendering/RenderScrollbarPart.cpp: + (WebCore::RenderScrollbarPart::styleDidChange): + (WebCore::RenderScrollbarPart::imageChanged): + +2008-10-13 Marco Barisione <marco.barisione@collabora.co.uk> + + Reviewed by Darin Adler. Landed by Jan Alonzo. + + WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?) + http://bugs.webkit.org/show_bug.cgi?id=20483 + + Start the conversion to use GOwnPtr and fix a memory leak. + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mediaPlayerPrivateErrorCallback): + +2008-10-12 Jon Honeycutt <jhoneycutt@apple.com> + + Windows build fix. + + * loader/TextResourceDecoder.cpp: + +2008-10-12 Darin Fisher <darin@chromium.org> + + Reviewed by Darin Adler. + + - fix https://bugs.webkit.org/show_bug.cgi?id=21229 + Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN) + + * platform/network/NetworkStateNotifier.h: Add the #include. + +2008-10-12 Darin Adler <darin@apple.com> + + Based on work by Holger Freyther. + + - part of https://bugs.webkit.org/show_bug.cgi?id=20953 + Split WidthIterator into its own source file. + + * GNUmakefile.am: Added new source files. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * WebCoreSources.bkl: Ditto. + + * platform/graphics/Font.cpp: Use WidthIterator from its new place. + * platform/graphics/WidthIterator.cpp: Added. + * platform/graphics/WidthIterator.h: Added. + +2008-10-12 Tony Chang <tony@chromium.org> + + Reviewed by Sam Weinig. + + - https://bugs.webkit.org/show_bug.cgi?id=21480 + Remove duplicate definitions of MimeClassInfo and PluginInfo. + + * plugins/PluginInfoStore.cpp: Added an include. + * plugins/PluginInfoStore.h: Removed struct declarations. + +2008-10-12 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + - https://bugs.webkit.org/show_bug.cgi?id=21563 + Bug 21563: platform Gradient class should not use the CSS parser + + * platform/graphics/Gradient.cpp: Removed the overload of addColorStop + that accepts a CSS color string. That's handled in the DOM now, not here. + (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own + copy of it here. + * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit. + +2008-10-12 Glenn Wilson <gwilson@google.com> + + Reviewed by Darin Adler. + + - https://bugs.webkit.org/show_bug.cgi?id=20461 + + Added feature to allow multi-line inputs into text fields. + HTMLInputElement would cut the set text at the first 'system' character, + so it would truncate at the first carriage return or newline. + This fix modifies that behavior to truncate at any non-space system character + but changes \r, \n, and \r\n to a single space. + + Tests: editing/pasteboard/paste-multiline-text-input.html + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::constrainValue): + +2008-10-12 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Eric Seidel. + + - https://bugs.webkit.org/show_bug.cgi?id=20435 + + Added exception codes to canvas gradients to match current specification. + + Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html + fast/canvas/linearGradient-infinite-values.html + fast/canvas/radialGradient-infinite-values.html + + * html/CanvasGradient.cpp: + (WebCore::CanvasGradient::addColorStop): + * html/CanvasGradient.h: + * html/CanvasGradient.idl: + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::createLinearGradient): + (WebCore::CanvasRenderingContext2D::createRadialGradient): + * html/CanvasRenderingContext2D.h: + * html/CanvasRenderingContext2D.idl: + +2008-10-12 Eric Roman <eroman@chromium.org> + + - https://bugs.webkit.org/show_bug.cgi?id=20246 + Implement RenderThemeWin::systemColor() to match Windows colors. + + Reviewed by David Hyatt. + + * rendering/RenderThemeWin.cpp: + (WebCore::cssValueIdToSysColorIndex): + (WebCore::RenderThemeWin::systemColor): + * rendering/RenderThemeWin.h: + +2008-10-12 Aaron Bockover <abockover@novell.com> + + Reviewed by Alp Toker. + + Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy + plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window + handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859> + + * plugins/gtk/PluginPackageGtk.cpp: + +2008-10-12 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk> + + Reviewed by Oliver Hunt. + + - https://bugs.webkit.org/show_bug.cgi?id=19331 + <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply() + + * page/DragController.cpp: + (WebCore::DragController::startDrag): When a link is dragged without any + text selected (note: for this to work, the EditableLinkBehavior setting must be + set to 'live' or 'default') and then dropped into an editable html document it + will eventually violate an ASSERT in MoveSelectionCommand that requires that there + is a selection. To prevent this, expand the selection to the enclosing anchor tag + when the drag begins. + +2008-10-12 Darin Adler <darin@apple.com> + + Reviewed by Mark Rowe. + + - fix https://bugs.webkit.org/show_bug.cgi?id=21557 + Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain + until we hit an Element. Nowadays, Node::isElementNode() is just as efficient + as RenderObject::isText(), and this guarantees that the node can be cast to + Element*, which is done just below. The reason this is hit is that RenderLayer + can call getPseudoStyle on a RenderView, which has the document as its + element() -- and a document is neither a Text node nor an Element. A loose + end is that this seems to mean you can't style the scrollbar corner or the + resizer on a RenderView. Hyatt may want to look into that later. + +2008-10-12 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + - https://bugs.webkit.org/show_bug.cgi?id=21556 + Bug 21556: non-ASCII digits are allowed in places where only ASCII should be + + Tests: fast/dom/HTMLFontElement/size-attribute.html + fast/dom/HTMLInputElement/size-attribute.html + fast/dom/HTMLTableElement/cellpadding-attribute.html + + * html/HTMLFontElement.cpp: + (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of + Unicode::isDigit, since non-ASCII digits are not valid here. + * html/HTMLFontElement.h: Tweaked formatting a bit and removed + the unneeded destructor declaration. + * platform/text/String.cpp: + (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead + of Unicode::isDigit, since non-ASCII digits are not valid. + +2008-10-12 Jungshik Shin <jshin@chromium.org> + + Reviewed by Darin Adler. + + Treat x-user-defined as windows-1252 for html files with meta charset + declaration to be compatible with Indian web sites. + ( https://bugs.webkit.org/show_bug.cgi?id=18270 ) + + Test: fast/encoding/charset-xuser-defined.html + + * loader/TextResourceDecoder.cpp: + (WebCore::TextResourceDecoder::setEncoding): + +2008-10-12 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Remove unneeded forward declaration. + + * platform/graphics/ImageBuffer.h: + +2008-10-12 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=21560 + Layering violation: String should not be responsible for creating Lengths + + It was a layering violation for String to know haw to parse + into Lengths, LengthArrays, and CoordsArrays. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * html/HTMLAreaElement.cpp: + (WebCore::HTMLAreaElement::parseMappedAttribute): + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::parseMappedAttribute): + * platform/text/AtomicString.h: + (WebCore::AtomicString::percentage): + * platform/text/PlatformString.h: + * platform/text/String.cpp: + * platform/text/StringImpl.cpp: + * platform/text/StringImpl.h: + * rendering/Length.cpp: Added. + (WebCore::parseLength): + (WebCore::countCharacter): + (WebCore::newCoordsArray): + (WebCore::newLengthArray): + * rendering/Length.h: + (WebCore::LengthSize::LengthSize): + +2008-10-12 Brad Garcia <bgarcia@google.com> + + Reviewed by Darin Adler. + + Interpret fractional percentage values for %MultiLength values. + Fix for https://bugs.webkit.org/show_bug.cgi?id=3591 + Test: fast/frames/frame-length-fractional-percentage.html + + * platform/text/StringImpl.cpp: + (WebCore::parseLength): + +2008-10-12 Timothy Hatcher <timothy@apple.com> + + Remember the expanded state of the rules in the Styles pane. So + collapsing a rule will persist across all the elements that have + that same rule. The same applies to Computed Style, so the Computed + Style rule is now collapsed by default. This should help lessen the + confusion on why Computed Style can't be edited (a common confusion.) + + https://bugs.webkit.org/show_bug.cgi?id=21553 + + Reviewed by Darin Adler. + + * inspector/front-end/PropertiesSection.js: + (WebInspector.PropertiesSection): Set the _expanded property directly, + instead of using the setter. Expanded is the default, so no work is needed. + This prevents calling StylesSidebarPane.collapse before object initialization + is complete. + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object + for the expanded state of the StylePropertiesSection. Collapse computed style + by default and expand everything else. + (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used + when remembering expanded state. + (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state + to true for this identifier in Preferences.styleRulesExpandedState. Don't remember + the state if the dontRememberState property is true. + (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state + to false for this identifier in Preferences.styleRulesExpandedState. + * inspector/front-end/inspector.js: + (Preferences.styleRulesExpandedState): Initialize to an empty object. + +2008-10-12 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by Alp Toker. + + [Gtk] Remove libWebCoreJS.la when doing make clean + https://bugs.webkit.org/show_bug.cgi?id=21544 + + Remove libWebCoreJS.la when doing a clean target + + * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES + +2008-10-11 Alp Toker <alp@nuanti.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=20592 + The focus ring is not shown while navigating on some pages + + Fix drawFocusRing() so it doesn't depend on the current graphics + state, thus matching other platforms which already work this way. + + This patch provides two code paths: one using straight Cairo and + one specialised for the GTK+ port with a more conventional appearance. + + Also change focusRingColor() to return a null color, allowing the + focus ring to pick up the style's current color if it isn't overridden + with CSS. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawFocusRing): + * platform/gtk/TemporaryLinkStubs.cpp: + (WebCore::focusRingColor): + +2008-10-11 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Sam Weinig. + + - change all internal callers to use Cache::evict() instead of remove() + + * loader/Cache.cpp: + (WebCore::Cache::revalidateResource): + (WebCore::Cache::revalidationSucceeded): + (WebCore::Cache::pruneDeadResources): + (WebCore::Cache::setDisabled): + +2008-10-11 David Hyatt <hyatt@apple.com> + + Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds. + + Reviewed by Tim Hatcher + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::invalidatePart): + +2008-10-11 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces). + + Also fixed resizer positioning problems. + + Reviewed by Tim Hatcher + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::splitTrack): + (WebCore::ScrollbarThemeComposite::trackPosition): + (WebCore::ScrollbarThemeComposite::trackLength): + * platform/ScrollbarThemeComposite.h: + (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces): + * rendering/RenderLayer.cpp: + (WebCore::scrollCornerRect): + (WebCore::RenderLayer::positionOverflowControls): + (WebCore::RenderLayer::paintOverflowControls): + (WebCore::RenderLayer::isPointInResizeControl): + (WebCore::RenderLayer::hitTestOverflowControls): + * rendering/RenderScrollbarTheme.cpp: + (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces): + * rendering/RenderScrollbarTheme.h: + +2008-10-11 Alp Toker <alp@nuanti.com> + + Reviewed by David Hyatt. + + Implement release/retain for Widget GTK+. + + * platform/Widget.cpp: + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::~Widget): + (WebCore::Widget::releasePlatformWidget): + (WebCore::Widget::retainPlatformWidget): + +2008-10-11 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath + and add a corresponding getter; add the same functions on Windows + + * WebCore.base.exp: + * platform/graphics/Font.cpp: + (WebCore::Font::setCodePath): + (WebCore::codePath): + (WebCore::Font::canUseGlyphCache): + * platform/graphics/Font.h: + * platform/mac/WebCoreTextRenderer.h: + * platform/mac/WebCoreTextRenderer.mm: + (WebCoreSetAlwaysUsesComplexTextCodePath): + (WebCoreAlwaysUsesComplexTextCodePath): + * platform/win/WebCoreTextRenderer.cpp: + (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath): + (WebCore::WebCoreAlwaysUsesComplexTextCodePath): + * platform/win/WebCoreTextRenderer.h: + +2008-10-11 Sam Weinig <sam@webkit.org> + + Reviewed by Cameron Zwarich. + + Stop leaking the event parameter names. The protected strings were showing up + in the caches window after one use. No measurable performance loss. + + * bindings/js/JSEventListener.cpp: + (WebCore::eventParameterName): + +2008-10-11 Sam Weinig <sam@webkit.org> + + Reviewed by Cameron Zwarich. + + Remove unused function getNodeEventListener. + + * bindings/js/JSEventListener.cpp: + * bindings/js/JSEventListener.h: + +2008-10-11 David Hyatt <hyatt@apple.com> + + Add support for both positive and negative margins to tracks and track pieces. + + Reviewed by Tim Hatcher + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paint): + (WebCore::ScrollbarThemeComposite::hitTest): + (WebCore::ScrollbarThemeComposite::splitTrack): + (WebCore::ScrollbarThemeComposite::trackPieceRects): + (WebCore::ScrollbarThemeComposite::trackPosition): + (WebCore::ScrollbarThemeComposite::trackLength): + * platform/ScrollbarThemeComposite.h: + (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect): + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::trackRect): + (WebCore::RenderScrollbar::trackPieceRectWithMargins): + * rendering/RenderScrollbar.h: + * rendering/RenderScrollbarPart.cpp: + (WebCore::RenderScrollbarPart::computeScrollbarWidth): + (WebCore::RenderScrollbarPart::computeScrollbarHeight): + * rendering/RenderScrollbarTheme.cpp: + (WebCore::RenderScrollbarTheme::adjustTrackPieceRect): + * rendering/RenderScrollbarTheme.h: + +2008-10-10 David Hyatt <hyatt@apple.com> + + Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to + the scrollbar pseudo-elements anyway. + + Reviewed by Tim Hatcher + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): + +2008-10-10 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - separate Cache::remove() into a private method and a public interface, + then make Cache::pruneDeadResources() use the private method. + + * loader/Cache.cpp: + (WebCore::Cache::pruneDeadResources): + (WebCore::Cache::evict): + * loader/Cache.h: + (WebCore::Cache::remove): + +2008-10-10 David Hyatt <hyatt@apple.com> + + Fix a math error when splitting a vertical track. Clean up more of ScrollbarThemeComposite + now that the track pieces meet under the thumb. + + Reviewed by Tim Hatcher + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paint): + (WebCore::ScrollbarThemeComposite::splitTrack): + +2008-10-10 David Hyatt <hyatt@apple.com> + + Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb). + + Reviewed by Tim Hatcher + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::hitTest): + (WebCore::ScrollbarThemeComposite::splitTrack): + +2008-10-10 David Hyatt <hyatt@apple.com> + + Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation. + + Reviewed by Tim Hatcher + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::createScrollbar): + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::createCustomScrollbar): + (WebCore::RenderScrollbar::RenderScrollbar): + (WebCore::RenderScrollbar::setParent): + (WebCore::RenderScrollbar::updateScrollbarParts): + (WebCore::RenderScrollbar::updateScrollbarPart): + * rendering/RenderScrollbar.h: + * rendering/style/RenderStyle.h: + (WebCore::RenderStyle::): + +2008-10-10 David Hyatt <hyatt@apple.com> + + Make sure scrollbar background images cause proper part invalidation to occur. + + Reviewed by Tim Hatcher + + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::setHoveredPart): + (WebCore::RenderScrollbar::setPressedPart): + * rendering/RenderScrollbarPart.cpp: + (WebCore::RenderScrollbarPart::styleDidChange): + (WebCore::RenderScrollbarPart::imageChanged): + * rendering/RenderScrollbarPart.h: + +2008-10-10 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler + + https://bugs.webkit.org/show_bug.cgi?id=21538 + + The blendFunc() for TransformOperations should never mess with the + operation lists by replacing some ops with identity, otherwise the lists + no longer match and transitions break. + + Test: transitions/matched-transform-functions.html + + * page/animation/AnimationBase.cpp: + (WebCore::blendFunc): + +2008-10-10 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler + + https://bugs.webkit.org/show_bug.cgi?id=21537 + + Fix re-targetting a running transition; if the target property + changes, we do need to make a new ImplicitAnimation. + + Test: transitions/retargetted-transition.html + + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimationPrivate::updateTransitions): + +2008-10-10 Oliver Hunt <oliver@apple.com> + + Reviewed by Cameron Zwarich. + + Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion. + + When JS is terminated by the user choosing to stop a slow script + the exception toString method throws, yet the console logger does + not perform exception checks after logging. This leaves an + exception on the Machine, which in turn results in an assertion + failure next time we attempt to enter JS. The solution is just to + clear the exception state after attempting to record the exception. + + * page/Console.cpp: + (WebCore::Console::reportException): + +2008-10-10 David Hyatt <hyatt@apple.com> + + Make textareas work with custom CSS scrollbars and resizers. Need to access the correct renderer + when looking for pseudo styles. + + Reviewed by Tim Hatcher + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::createScrollbar): + (WebCore::RenderLayer::styleChanged): + +2008-10-10 David Hyatt <hyatt@apple.com> + + Add the ability to style the scroll corner and the resizer from CSS. + + Reviewed by Tim Hatcher + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::~RenderLayer): + (WebCore::RenderLayer::paintOverflowControls): + (WebCore::RenderLayer::paintScrollCorner): + (WebCore::RenderLayer::paintResizer): + (WebCore::RenderLayer::styleChanged): + * rendering/RenderLayer.h: + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::updateScrollbarPart): + (WebCore::RenderScrollbar::paintPart): + * rendering/RenderScrollbarPart.cpp: + (WebCore::RenderScrollbarPart::RenderScrollbarPart): + (WebCore::RenderScrollbarPart::paintIntoRect): + * rendering/RenderScrollbarPart.h: + * rendering/style/RenderStyle.h: + (WebCore::RenderStyle::): + +2008-10-10 David Hyatt <hyatt@apple.com> + + Make CSS scrollbars respect the OS setting regarding where buttons should be placed. + + Reviewed by Sam Weinig + + No test case possible, since the OS setting can vary. + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): + * platform/Scrollbar.h: + (WebCore::Scrollbar::styleChanged): + * platform/mac/ScrollbarThemeMac.mm: + (+[ScrollbarPrefsObserver appearancePrefsChanged:]): + (WebCore::ScrollbarThemeMac::preferencesChanged): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::invalidateScrollbarRect): + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::styleChanged): + (WebCore::RenderScrollbar::updateScrollbarPart): + * rendering/RenderScrollbar.h: + * rendering/RenderScrollbarTheme.h: + (WebCore::RenderScrollbarTheme::buttonsPlacement): + +2008-10-10 Timothy Hatcher <timothy@apple.com> + + Fixes a regression with input search fields, where the placeholder text + would not be updated when the value of the placeholder attribute changed. + + https://bugs.webkit.org/show_bug.cgi?id=21521 + + Reviewed by Adele Peterson. + + Test: fast/forms/search-placeholder-value-changed.html + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the + placeholderValueChanged parameter of updatePlaceholderVisibility. + (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter + for placeholderValueChanged that informs the method that the value changed. + * html/HTMLInputElement.h: Add the placeholderValueChanged to the + updatePlaceholderVisibility method. Made it default to false. + +2008-10-10 David Hyatt <hyatt@apple.com> + + Allow the track part to have negative margins so that it can slightly overlap buttons. This + is necessary to emulate the Aqua look in CSS. + + Reviewed by Sam Weinig + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paint): + (WebCore::ScrollbarThemeComposite::hitTest): + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::setHoveredPart): + (WebCore::RenderScrollbar::trackRect): + * rendering/RenderScrollbar.h: + * rendering/RenderScrollbarPart.cpp: + (WebCore::RenderScrollbarPart::computeScrollbarWidth): + (WebCore::RenderScrollbarPart::computeScrollbarHeight): + * rendering/RenderScrollbarTheme.cpp: + (WebCore::RenderScrollbarTheme::backButtonRect): + (WebCore::RenderScrollbarTheme::forwardButtonRect): + (WebCore::RenderScrollbarTheme::trackRect): + +2008-10-10 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21527 + + Make CSS scrollbars support :not, :hover and :active. + + Reviewed by Adam Roben + + Added WebCore/manual-tests/scrollbar-hover-active.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::autoscrollPressedPart): + (WebCore::Scrollbar::startTimerIfNeeded): + (WebCore::Scrollbar::setHoveredPart): + (WebCore::Scrollbar::setPressedPart): + (WebCore::Scrollbar::mouseMoved): + (WebCore::Scrollbar::mouseExited): + (WebCore::Scrollbar::mouseUp): + (WebCore::Scrollbar::mouseDown): + * platform/Scrollbar.h: + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::setHoveredPart): + (WebCore::RenderScrollbar::setPressedPart): + (WebCore::RenderScrollbar::updateScrollbarParts): + (WebCore::pseudoForScrollbarPart): + (WebCore::RenderScrollbar::updateScrollbarPart): + * rendering/RenderScrollbar.h: + +2008-10-10 Chris Marrin <cmarrin@apple.com> + + Reviewed by Dan Bernstein. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=21025 + CSS transition with duration=0 and delay=0 doesn't override ongoing transition + + Test: transitions/interrupt-zero-duration.html + + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::updateTransitions): + +2008-10-10 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix. Add new scrollbar-related sources. + + * WebCoreSources.bkl: + +2008-10-10 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21522 + + Support increment/decrement/start/end on scrollbars. Allows a fully functional scrollbar to be + created. (Just :hover/:active left to finish it up.) + + Reviewed by Adam Roben + + Added scrollbars/scrollbar-buttons.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): + +2008-10-10 David Hyatt <hyatt@apple.com> + + Rename some pseudoclasses. Removing "-scrollbar-" from a bunch of the pseudoclasses. Renaming + back/forward to decrement/increment. Adding start/end pseudoclasses. + + Reviewed by Eric Seidel + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): + +2008-10-10 David Hyatt <hyatt@apple.com> + + Switch window-active to window-inactive, since that will work better as far as degrading in other + browsers. + + Reviewed by Tim Hatcher + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): + +2008-10-09 Chris Marrin <cmarrin@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=21310 + + Redesigned how animation events are sent in order to get rid of + AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation + are now ref counted. While calling the event handler, I keep a + reference to this class to avoid it getting destroyed out from under me. + + I also moved most of the functionality of CompositeAnimation to + and internal class (CompositeAnimationPrivate) to reduce the exposure + of the internals of the various animation classes. + + We have several transition and animation LayoutTests which verify that + this fix works as expected and continues to avoid crashes. + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::AnimationBase): + * page/animation/AnimationBase.h: + (WebCore::AnimationBase::cancelTimers): + (WebCore::AnimationBase::waitingForStyleAvailable): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate): + (WebCore::CompositeAnimationPrivate::suspended): + (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate): + (WebCore::CompositeAnimationPrivate::updateTransitions): + (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations): + (WebCore::CompositeAnimationPrivate::animate): + (WebCore::CompositeAnimationPrivate::setAnimating): + (WebCore::CompositeAnimationPrivate::animating): + (WebCore::CompositeAnimationPrivate::getAnimationForProperty): + (WebCore::CompositeAnimationPrivate::resetTransitions): + (WebCore::CompositeAnimationPrivate::resetAnimations): + (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations): + (WebCore::CompositeAnimationPrivate::setAnimationStartTime): + (WebCore::CompositeAnimationPrivate::setTransitionStartTime): + (WebCore::CompositeAnimationPrivate::suspendAnimations): + (WebCore::CompositeAnimationPrivate::resumeAnimations): + (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations): + (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations): + (WebCore::compareAnimationIndices): + (WebCore::CompositeAnimationPrivate::styleAvailable): + (WebCore::CompositeAnimationPrivate::isAnimatingProperty): + (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable): + (WebCore::CompositeAnimation::CompositeAnimation): + (WebCore::CompositeAnimation::~CompositeAnimation): + (WebCore::CompositeAnimation::animate): + (WebCore::CompositeAnimation::animating): + (WebCore::CompositeAnimation::setWaitingForStyleAvailable): + (WebCore::CompositeAnimation::resetTransitions): + (WebCore::CompositeAnimation::suspendAnimations): + (WebCore::CompositeAnimation::resumeAnimations): + (WebCore::CompositeAnimation::suspended): + (WebCore::CompositeAnimation::styleAvailable): + (WebCore::CompositeAnimation::setAnimating): + (WebCore::CompositeAnimation::isAnimatingProperty): + (WebCore::CompositeAnimation::setAnimationStartTime): + (WebCore::CompositeAnimation::setTransitionStartTime): + (WebCore::CompositeAnimation::overrideImplicitAnimations): + (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations): + * page/animation/CompositeAnimation.h: + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::sendTransitionEvent): + * page/animation/ImplicitAnimation.h: + (WebCore::ImplicitAnimation::create): + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::sendAnimationEvent): + * page/animation/KeyframeAnimation.h: + (WebCore::KeyframeAnimation::create): + +2008-10-09 David Hyatt <hyatt@apple.com> + + Add support for scrollbar orientation as a pseudoclass. Add support for whether or not the scrollbar + is active as well. + + Reviewed by Tim Hatcher + + Added scrollbars/scrollbar-orientation.html + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::isWindowActive): + * platform/Scrollbar.h: + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::paint): + (WebCore::RenderScrollbar::partForStyleResolve): + * rendering/RenderScrollbar.h: + +2008-10-09 David Hyatt <hyatt@apple.com> + + Add support for pseudo classes on scrollbar pseudo elements. As an initial proof of concept only + :enabled/:disabled are supported. More pseudo classes will follow quickly now that this works. + + Reviewed by Tim Hatcher + + Added scrollbars/disabled-scrollbar.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): + * css/CSSStyleSelector.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::getPseudoStyle): + * rendering/RenderObject.h: + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::setEnabled): + (WebCore::RenderScrollbar::scrollbarForStyleResolve): + (WebCore::RenderScrollbar::getScrollbarPseudoStyle): + (WebCore::RenderScrollbar::paintPart): + * rendering/RenderScrollbar.h: + +2008-10-09 Eric Carlson <eric.carlson@apple.com> + + Media controls should not show when element is not visible + + https://bugs.webkit.org/show_bug.cgi?id=21155 + + Reviewed by Adele Peterson. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay + in sync with visibility changes + * html/HTMLMediaElement.h: + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible + (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining + if element is visible or not. Don't animate controller visibility when change triggered by + showing or hiding media element. + * rendering/RenderMedia.h: declare m_previousVisible + +2008-10-09 Timothy Hatcher <timothy@apple.com> + + Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h + availability macros and version macros. + + https://bugs.webkit.org/show_bug.cgi?id=21496 + rdar://problem/6259225 + + Reviewed by Sam Weinig. + + * bindings/objc/DOMCSS.h: Add a version #if around catgory interface. + * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h + and add an #if around the enum. + * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the + comment to match the other headers. + * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later. + * bindings/objc/DOMObject.h: Add a version #if around class interface. + * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h + and add a version #if around the enum. + * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new. + * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version. + * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for + when they where added to WebKit. Also annotate individual methods that are + deprecated or where added after the class was added to WebKit. + * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h + since this header is included by most DOM headers. Annotate the JSObject method. + + * bindings/scripts/CodeGeneratorObjC.pm: + (ReadPublicInterfaces): Parse out the availability macro for each function/property. + And parse out the availability version for the class/protocol. Default to + WEBKIT_VERSION_LATEST if the class is new. + (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the + interface availability version check if the class has a required version. Create + a public interface key (used to lookup in $publicInterfaces) and make a declaration + suffix that includes the availability macro (if needed). Use the "available in 1.3 + and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as + the default availability macro for old style methods. Tweak line breaks in the generated + headers to look good and not have too many extra lines. + +2008-10-09 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=20947 + + Refactor setStyle() methods into styleWillChange() + and styleDidChange(), so most of the setStyle() overrides can + be removed. + + * rendering/RenderBR.cpp: + (WebCore::RenderBR::styleDidChange): + * rendering/RenderBR.h: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::styleWillChange): + (WebCore::RenderBlock::styleDidChange): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::~RenderBox): + (WebCore::RenderBox::destroy): + (WebCore::RenderBox::styleWillChange): + (WebCore::RenderBox::styleDidChange): + * rendering/RenderBox.h: + * rendering/RenderButton.cpp: + (WebCore::RenderButton::styleWillChange): + (WebCore::RenderButton::styleDidChange): + * rendering/RenderButton.h: + * rendering/RenderFieldset.cpp: + (WebCore::RenderFieldset::styleDidChange): + * rendering/RenderFieldset.h: + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::styleDidChange): + * rendering/RenderFileUploadControl.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::styleDidChange): + * rendering/RenderInline.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::styleChanged): + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::styleDidChange): + * rendering/RenderListBox.h: + * rendering/RenderListItem.cpp: + (WebCore::RenderListItem::styleDidChange): + * rendering/RenderListItem.h: + * rendering/RenderListMarker.cpp: + (WebCore::RenderListMarker::styleWillChange): + (WebCore::RenderListMarker::styleDidChange): + * rendering/RenderListMarker.h: + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::styleDidChange): + * rendering/RenderMenuList.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::setStyle): + (WebCore::RenderObject::setStyleInternal): + (WebCore::RenderObject::styleWillChange): + (WebCore::RenderObject::styleDidChange): + * rendering/RenderObject.h: + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::styleDidChange): + * rendering/RenderReplaced.h: + * rendering/RenderSVGGradientStop.cpp: + (WebCore::RenderSVGGradientStop::styleDidChange): + * rendering/RenderSVGGradientStop.h: + * rendering/RenderScrollbarPart.cpp: + (WebCore::RenderScrollbarPart::styleDidChange): + * rendering/RenderScrollbarPart.h: + * rendering/RenderSlider.cpp: + (WebCore::RenderSlider::styleDidChange): + * rendering/RenderSlider.h: + * rendering/RenderTable.cpp: + (WebCore::RenderTable::styleDidChange): + * rendering/RenderTable.h: + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::styleWillChange): + (WebCore::RenderTableCell::styleDidChange): + * rendering/RenderTableCell.h: + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::styleWillChange): + * rendering/RenderTableRow.h: + * rendering/RenderText.cpp: + (WebCore::RenderText::styleDidChange): + * rendering/RenderText.h: + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::styleDidChange): + * rendering/RenderTextControl.h: + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::styleDidChange): + * rendering/RenderWidget.h: + +2008-10-09 David Hyatt <hyatt@apple.com> + + Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away. When our widget + parent is nulled out is a good time. + + Reviewed by Oliver Hunt + + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::~RenderScrollbar): + (WebCore::RenderScrollbar::setParent): + (WebCore::RenderScrollbar::updateScrollbarPart): + * rendering/RenderScrollbar.h: + +2008-10-09 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21446 + + This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between + orientation and back vs. forward on the buttons, but it's a start. + + Reviewed by Oliver Hunt + + Added scrollbars/basic-scrollbar.html + + * WebCore.xcodeproj/project.pbxproj: + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + * platform/ScrollTypes.h: + (WebCore::): + * platform/Scrollbar.h: + (WebCore::Scrollbar::styleChanged): + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paint): + (WebCore::ScrollbarThemeComposite::splitTrack): + * platform/ScrollbarThemeComposite.h: + (WebCore::ScrollbarThemeComposite::paintScrollbarBackground): + (WebCore::ScrollbarThemeComposite::paintTrackBackground): + (WebCore::ScrollbarThemeComposite::paintTrackPiece): + * platform/win/ScrollbarThemeSafari.cpp: + (WebCore::ScrollbarThemeSafari::paintTrackBackground): + * platform/win/ScrollbarThemeSafari.h: + * platform/win/ScrollbarThemeWin.cpp: + (WebCore::ScrollbarThemeWin::paintTrack): + * platform/win/ScrollbarThemeWin.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::createScrollbar): + (WebCore::RenderLayer::styleChanged): + * rendering/RenderScrollbar.cpp: Added. + (WebCore::RenderScrollbar::createCustomScrollbar): + (WebCore::RenderScrollbar::RenderScrollbar): + (WebCore::RenderScrollbar::~RenderScrollbar): + (WebCore::RenderScrollbar::getScrollbarPseudoStyle): + (WebCore::RenderScrollbar::updateScrollbarParts): + (WebCore::RenderScrollbar::updateScrollbarPart): + (WebCore::RenderScrollbar::paintPart): + (WebCore::RenderScrollbar::buttonRect): + (WebCore::RenderScrollbar::minimumThumbLength): + * rendering/RenderScrollbar.h: Added. + (WebCore::RenderScrollbar::styleChanged): + (WebCore::RenderScrollbar::owningRenderer): + * rendering/RenderScrollbarPart.cpp: Added. + (WebCore::RenderScrollbarPart::RenderScrollbarPart): + (WebCore::RenderScrollbarPart::~RenderScrollbarPart): + (WebCore::RenderScrollbarPart::layout): + (WebCore::RenderScrollbarPart::layoutHorizontalPart): + (WebCore::RenderScrollbarPart::layoutVerticalPart): + (WebCore::calcScrollbarThicknessUsing): + (WebCore::RenderScrollbarPart::computeScrollbarWidth): + (WebCore::RenderScrollbarPart::computeScrollbarHeight): + (WebCore::RenderScrollbarPart::calcPrefWidths): + (WebCore::RenderScrollbarPart::setStyle): + * rendering/RenderScrollbarPart.h: Added. + (WebCore::RenderScrollbarPart::renderName): + (WebCore::RenderScrollbarPart::requiresLayer): + * rendering/RenderScrollbarTheme.cpp: Added. + (WebCore::RenderScrollbarTheme::renderScrollbarTheme): + (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis): + (WebCore::RenderScrollbarTheme::hasButtons): + (WebCore::RenderScrollbarTheme::hasThumb): + (WebCore::RenderScrollbarTheme::minimumThumbLength): + (WebCore::RenderScrollbarTheme::backButtonRect): + (WebCore::RenderScrollbarTheme::forwardButtonRect): + (WebCore::RenderScrollbarTheme::trackRect): + (WebCore::RenderScrollbarTheme::paintScrollCorner): + (WebCore::RenderScrollbarTheme::paintScrollbarBackground): + (WebCore::RenderScrollbarTheme::paintTrackBackground): + (WebCore::RenderScrollbarTheme::paintTrackPiece): + (WebCore::RenderScrollbarTheme::paintButton): + (WebCore::RenderScrollbarTheme::paintThumb): + * rendering/RenderScrollbarTheme.h: Added. + (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme): + (WebCore::RenderScrollbarTheme::scrollbarThickness): + (WebCore::RenderScrollbarTheme::buttonsPlacement): + (WebCore::RenderScrollbarTheme::supportsControlTints): + (WebCore::RenderScrollbarTheme::shouldCenterOnThumb): + (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay): + (WebCore::RenderScrollbarTheme::autoscrollTimerDelay): + (WebCore::RenderScrollbarTheme::registerScrollbar): + (WebCore::RenderScrollbarTheme::unregisterScrollbar): + * rendering/style/RenderStyle.h: + (WebCore::RenderStyle::): + +2008-10-09 Eric Seidel <eric@webkit.org> + + Reviewed by Oliver Hunt. + + Fix Canvex DOOM Game + Gradient clips were not getting cleared after filling the + gradient, this was causing nothing to draw in Canvex + https://bugs.webkit.org/show_bug.cgi?id=21498 + + Tests forthcoming. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + +2008-10-09 Eric Seidel <eric@webkit.org> + + Reviewed by Oliver Hunt. + + Fix transformed patterns + https://bugs.webkit.org/show_bug.cgi?id=21498 + + Test: fast/canvas/patternfill-repeat.html + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::setStrokePattern): + (WebCore::GraphicsContext::setFillPattern): + (WebCore::GraphicsContext::setStrokeGradient): + (WebCore::GraphicsContext::setFillGradient): + * platform/graphics/GraphicsContext.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::applyStrokePattern): + (WebCore::applyFillPattern): + (WebCore::GraphicsContext::drawPath): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + * platform/graphics/qt/GraphicsContextQt.cpp: + * platform/graphics/wx/GraphicsContextWx.cpp: + +2008-10-09 Kevin Ollivier <kevino@theolliviers.com> + + wx build fixes. + + * platform/wx/WidgetWx.cpp: + * plugins/wx/PluginViewWx.cpp: + (WebCore::PluginView::invalidateRect): + * webcore-base.bkl: + +2008-10-09 Chris Marrin <cmarrin@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=21217 + Animations assert when navigating from page + + Changed assertions to test the right flag for the paused state + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::updateStateMachine): + +2008-10-09 Chris Marrin <cmarrin@apple.com> + + Reviewed by Dan Bernstein. + + Fixed > 180 degree rotation bug + Ensure that validateTransformFunctionList() is called after updating keyframe styles + + https://bugs.webkit.org/show_bug.cgi?id=21420 + + Test: animations/big-rotation.html + + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::KeyframeAnimation): + +2008-10-09 Brady Eidson <beidson@apple.com> + + Reviewed by Anders + + <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things + + The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion + (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page, + so perform a second null check on the page. Bail if it has been cleared. + +2008-10-09 Alp Toker <alp@nuanti.com> + + Build fix for recent DOM generation Makefile changes when custom + CFLAGS/CXXFLAGS are passed in. + + * GNUmakefile.am: + +2008-10-09 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by Alp Toker. + + https://bugs.webkit.org/show_bug.cgi?id=21390 + [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time) + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::platformRemoveChild): + +2008-10-09 Darin Adler <darin@apple.com> + + - try to fix Qt build + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor. + +2008-10-08 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver Hunt & Sam Weinig. + + Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget) + Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily) + Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari) + + Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag. + Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the + use tree is rebuild. + + Make SVGElementInstance a real EventTarget, as the SVG specification demands. + When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance + is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element + share an event listener list. Every event listener change on the SVGElementInstance object is forwared + to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone. + Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement + to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild. + Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well. + + Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected, + see resources/use-instanceRoot-event-bubbling.js for details. + + Tests: svg/custom/use-elementInstance-event-target.svg (reenabled) + svg/custom/use-elementInstance-methods.svg (reenabled) + svg/custom/use-setAttribute-crash.svg (covers bug 20550) + svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413) + svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413) + svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430) + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSEventListener.h: + (WebCore::JSLazyEventListener::wasCreatedFromMarkup): + * bindings/js/JSEventTarget.cpp: + * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed. + * bindings/js/JSEventTargetSVGElementInstance.h: Removed. + * bindings/js/JSSVGElementInstanceCustom.cpp: + (WebCore::JSSVGElementInstance::addEventListener): + (WebCore::JSSVGElementInstance::removeEventListener): + (WebCore::JSSVGElementInstance::pushEventHandlerScope): + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorObjC.pm: + * dom/EventListener.h: + (WebCore::EventListener::wasCreatedFromMarkup): + * dom/EventTargetNode.cpp: + (WebCore::updateSVGElementInstancesAfterEventListenerChange): + (WebCore::EventTargetNode::addEventListener): + (WebCore::EventTargetNode::removeEventListener): + (WebCore::eventTargetAsSVGElementInstance): + (WebCore::eventTargetRespectingSVGTargetRules): + (WebCore::EventTargetNode::dispatchEvent): + (WebCore::EventTargetNode::dispatchGenericEvent): + (WebCore::EventTargetNode::removeEventListenerForType): + * page/EventHandler.cpp: + (WebCore::EventHandler::clear): + (WebCore::instanceAssociatedWithShadowTreeElement): + (WebCore::EventHandler::updateMouseEventTargetNode): + * page/EventHandler.h: + * svg/EventTargetSVGElementInstance.cpp: Removed. + * svg/EventTargetSVGElementInstance.h: Removed. + * svg/SVGElementInstance.cpp: + (WebCore::SVGElementInstance::SVGElementInstance): + (WebCore::SVGElementInstance::~SVGElementInstance): + (WebCore::SVGElementInstance::childNodes): + (WebCore::SVGElementInstance::setShadowTreeElement): + (WebCore::SVGElementInstance::forgetWrapper): + (WebCore::SVGElementInstance::appendChild): + (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): + (WebCore::SVGElementInstance::setNeedsUpdate): + (WebCore::SVGElementInstance::associatedFrame): + (WebCore::SVGElementInstance::addEventListener): + (WebCore::SVGElementInstance::removeEventListener): + (WebCore::SVGElementInstance::dispatchEvent): + (WebCore::SVGElementInstance::onabort): + (WebCore::SVGElementInstance::setOnabort): + (WebCore::SVGElementInstance::onblur): + (WebCore::SVGElementInstance::setOnblur): + (WebCore::SVGElementInstance::onchange): + (WebCore::SVGElementInstance::setOnchange): + (WebCore::SVGElementInstance::onclick): + (WebCore::SVGElementInstance::setOnclick): + (WebCore::SVGElementInstance::oncontextmenu): + (WebCore::SVGElementInstance::setOncontextmenu): + (WebCore::SVGElementInstance::ondblclick): + (WebCore::SVGElementInstance::setOndblclick): + (WebCore::SVGElementInstance::onerror): + (WebCore::SVGElementInstance::setOnerror): + (WebCore::SVGElementInstance::onfocus): + (WebCore::SVGElementInstance::setOnfocus): + (WebCore::SVGElementInstance::oninput): + (WebCore::SVGElementInstance::setOninput): + (WebCore::SVGElementInstance::onkeydown): + (WebCore::SVGElementInstance::setOnkeydown): + (WebCore::SVGElementInstance::onkeypress): + (WebCore::SVGElementInstance::setOnkeypress): + (WebCore::SVGElementInstance::onkeyup): + (WebCore::SVGElementInstance::setOnkeyup): + (WebCore::SVGElementInstance::onload): + (WebCore::SVGElementInstance::setOnload): + (WebCore::SVGElementInstance::onmousedown): + (WebCore::SVGElementInstance::setOnmousedown): + (WebCore::SVGElementInstance::onmousemove): + (WebCore::SVGElementInstance::setOnmousemove): + (WebCore::SVGElementInstance::onmouseout): + (WebCore::SVGElementInstance::setOnmouseout): + (WebCore::SVGElementInstance::onmouseover): + (WebCore::SVGElementInstance::setOnmouseover): + (WebCore::SVGElementInstance::onmouseup): + (WebCore::SVGElementInstance::setOnmouseup): + (WebCore::SVGElementInstance::onmousewheel): + (WebCore::SVGElementInstance::setOnmousewheel): + (WebCore::SVGElementInstance::onbeforecut): + (WebCore::SVGElementInstance::setOnbeforecut): + (WebCore::SVGElementInstance::oncut): + (WebCore::SVGElementInstance::setOncut): + (WebCore::SVGElementInstance::onbeforecopy): + (WebCore::SVGElementInstance::setOnbeforecopy): + (WebCore::SVGElementInstance::oncopy): + (WebCore::SVGElementInstance::setOncopy): + (WebCore::SVGElementInstance::onbeforepaste): + (WebCore::SVGElementInstance::setOnbeforepaste): + (WebCore::SVGElementInstance::onpaste): + (WebCore::SVGElementInstance::setOnpaste): + (WebCore::SVGElementInstance::ondragenter): + (WebCore::SVGElementInstance::setOndragenter): + (WebCore::SVGElementInstance::ondragover): + (WebCore::SVGElementInstance::setOndragover): + (WebCore::SVGElementInstance::ondragleave): + (WebCore::SVGElementInstance::setOndragleave): + (WebCore::SVGElementInstance::ondrop): + (WebCore::SVGElementInstance::setOndrop): + (WebCore::SVGElementInstance::ondragstart): + (WebCore::SVGElementInstance::setOndragstart): + (WebCore::SVGElementInstance::ondrag): + (WebCore::SVGElementInstance::setOndrag): + (WebCore::SVGElementInstance::ondragend): + (WebCore::SVGElementInstance::setOndragend): + (WebCore::SVGElementInstance::onreset): + (WebCore::SVGElementInstance::setOnreset): + (WebCore::SVGElementInstance::onresize): + (WebCore::SVGElementInstance::setOnresize): + (WebCore::SVGElementInstance::onscroll): + (WebCore::SVGElementInstance::setOnscroll): + (WebCore::SVGElementInstance::onsearch): + (WebCore::SVGElementInstance::setOnsearch): + (WebCore::SVGElementInstance::onselect): + (WebCore::SVGElementInstance::setOnselect): + (WebCore::SVGElementInstance::onselectstart): + (WebCore::SVGElementInstance::setOnselectstart): + (WebCore::SVGElementInstance::onsubmit): + (WebCore::SVGElementInstance::setOnsubmit): + (WebCore::SVGElementInstance::onunload): + (WebCore::SVGElementInstance::setOnunload): + * svg/SVGElementInstance.h: + (WebCore::SVGElementInstance::needsUpdate): + (WebCore::SVGElementInstance::toNode): + (WebCore::SVGElementInstance::toSVGElementInstance): + (WebCore::SVGElementInstance::correspondingElement): + (WebCore::SVGElementInstance::correspondingUseElement): + (WebCore::SVGElementInstance::shadowTreeElement): + (WebCore::SVGElementInstance::parentNode): + (WebCore::SVGElementInstance::previousSibling): + (WebCore::SVGElementInstance::nextSibling): + (WebCore::SVGElementInstance::firstChild): + (WebCore::SVGElementInstance::lastChild): + (WebCore::SVGElementInstance::ownerDocument): + (WebCore::SVGElementInstance::hasChildNodes): + (WebCore::SVGElementInstance::setFirstChild): + (WebCore::SVGElementInstance::setLastChild): + (WebCore::SVGElementInstance::setNextSibling): + (WebCore::SVGElementInstance::setPreviousSibling): + (WebCore::SVGElementInstance::refEventTarget): + (WebCore::SVGElementInstance::derefEventTarget): + * svg/SVGElementInstance.idl: + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::svgAttributeChanged): + (WebCore::SVGStyledElement::childrenChanged): + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::svgAttributeChanged): + (WebCore::shadowTreeContainsChangedNodes): + (WebCore::SVGUseElement::recalcStyle): + (WebCore::dumpInstanceTree): + (WebCore::SVGUseElement::buildPendingResource): + (WebCore::SVGUseElement::buildInstanceTree): + (WebCore::SVGUseElement::transferEventListenersToShadowTree): + * svg/SVGUseElement.h: + +2008-10-08 Sam Weinig <sam@webkit.org> + + Reviewed by Cameron Zwarich. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=21241 + REGRESSION (r36977): getRGBColorValue().red returning incorrect value + + Update JSRGBColor to use the new static function per getter approach. + + Test: fast/dom/css-RGBValue.html + + * bindings/js/JSRGBColor.cpp: + (WebCore::): + (jsRGBColorRed): + (jsRGBColorGreen): + (jsRGBColorBlue): + * bindings/js/JSRGBColor.h: + +2008-10-08 Eric Seidel <eric@webkit.org> + + Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt. + + svgElement.className.baseValue = "foo" does not work + https://bugs.webkit.org/show_bug.cgi?id=20651 + + * dom/StyledElement.cpp: + (WebCore::StyledElement::classAttributeChanged): + (WebCore::StyledElement::parseMappedAttribute): + * dom/StyledElement.h: + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::svgAttributeChanged): + +2008-10-08 Anthony Ricaud <rik24d@gmail.com> + + Make the toolbar label text-shadow not disappear when clicking on the + search result count or around the search field. + + Reviewed by Timothy Hatcher. + + * inspector/front-end/inspector.css: + (.toolbar-item:active .toolbar-label): Make this rule also require the + toggleable class with the toolbar-item class. + +2008-10-08 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Updated the qrc file for the Web Inspector to contain the current set + of images. + + * inspector/front-end/WebKit.qrc: + +2008-10-08 Prasanth Ullattil <pullatti@trolltech.com> + + Reviewed by Simon. + + Fix the linking of applications against WebKit on Qt/Windows. + + The prl files that qmake creates are buggy on Unix, but we they're + fine on Windows and we have to have them there in order to get the + dependencies correct. + + * WebCore.pro: + +2008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com> + + Reviewed by Simon. + + Speed up rectangle filling by not re-creating a QBrush all the time. + + This triggers faster path in QPainter where the brush is reused. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + (WebCore::GraphicsContext::fillRect): + +2008-10-08 Thiago Macieira <thiago.macieira@nokia.com> + + Reviewed by Simon. + + Fixes: Encoding of Qt URLs + + This encoding was added by Simon and I because QUrl's + tolerant parser wasn't tolerant enough. Now it is, so we don't need + this anymore. + + * platform/qt/KURLQt.cpp: + (WebCore::KURL::operator QUrl): + +2008-10-08 Marius Storm-Olsen <marius@trolltech.com> + + Reviewed by Simon. + + Fixes dependencies in qmake generated visual studio projects. + + Only add debug lib name if we're in the debug build_pass, else the release version. + The MSVC solution generator would pick up the debug javascriptcore lib as a dependency. + + * WebCore.pro: + +2008-10-08 Prasanth Ullattil <pullatti@trolltech.com> + + Reviewed by Simon. + + Fix compilation errors on VS2008 64Bit + + * platform/text/TextStream.cpp: + (WebCore::TextStream::operator<<): + * platform/text/TextStream.h: + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::init): + +2008-10-07 Alp Toker <alp@nuanti.com> + + GTK+ build fix for older automake versions (1.7). Discussed in bug + #21392. + + * GNUmakefile.am: + +2008-10-07 Anders Carlsson <andersca@apple.com> + + Reviewed by Antti Koivisto. + + <rdar://problem/6273887> Crash in ApplicationCacheGroup + + Make sure to stop loading even before a cache update is in progress so that the + manifest load will be stopped. + + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup): + (WebCore::ApplicationCacheGroup::stopLoading): + (WebCore::ApplicationCacheGroup::cacheUpdateFailed): + +2008-10-07 Timothy Hatcher <timothy@apple.com> + + Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods. + + https://bugs.webkit.org/show_bug.cgi?id=21433 + + Reviewed by Sam Weinig. + + * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}. + * bindings/objc/DOM.mm: Remove previous category implementations + on DOMDocument for createNodeIterator: and createTreeWalker:. Also + moves ObjCNodeFilterCondition to its own file. + * bindings/objc/DOMTraversal.h: Remove the category methods that added + createNodeIterator: and createTreeWalker: to DOMDocument. This is fine + to do since DOmDocument.h is included still, and has these methods. + * bindings/objc/DOMUtility.mm: + (JSC::createDOMWrapper): Remove special case for JSNodeIterator and + JSTreeWalker now that the ObjC binding conforms to the standard wrap. + * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm. + (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm. + (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto. + * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm. + (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm. + * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and + createTreeWalker: methods to DOMDocument. + * bindings/scripts/CodeGeneratorObjC.pm: + (GetObjCTypeGetter): Add a case for NodeFilter. + (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter. + (GenerateImplementation): Remove existing NodeFilter special case that + used the m_filter member variable. Add a new special getter for protocol + types that aren't EventTarget, so the right class is used for NodeFilter. + Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition. + * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the + OldStyleObjC extended attribute to createNodeIterator and createTreeWalker. + Rename the entityReferenceExpansion parameter to expandEntityReferences to + match the previous ObjC API. + * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The + m_filter member variable was never used in practice, it was always nil! + We can remove it and not pad the object because this can't be subclassed. + * dom/TreeWalker.idl: Ditto. + +2008-10-07 Timothy Hatcher <timothy@apple.com> + + Auto-generate the DOMEventTarget protocol implementation for + DOMNode and DOMSVGElementInstance. + + https://bugs.webkit.org/show_bug.cgi?id=21432 + + Reviewed by Darin Adler. + + * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}. + * bindings/objc/DOM.mm: Remove many unneeded header includes. Move + ObjCEventListener to it's own file. Remove the manual impelmentations + of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance. + * bindings/objc/DOMEvents.h: Remove the categories that defined + DOMEventTarget for DOMNode and DOMSVGElementInstance. + * bindings/objc/ObjCEventListener.h: Split out from DOM.mm. + * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm. + (WebCore::ObjCEventListener::find): Moved from DOM.mm. + (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the + callers from doing a manual deref. + (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm. + (WebCore::ObjCEventListener::~ObjCEventListener): Ditto. + * bindings/scripts/CodeGeneratorObjC.pm: + (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr. + (AddIncludesForType): Include ObjCEventListener.h for EventListener. + And include EventTargetSVGElementInstance.h for SVGElementInstance. + (GenerateHeader): Remove the check for multiple parents. + (GenerateImplementation): Remove the check for multiple parents. Remove + the @deprecatedFunctions array since deprecated methods get generated + into the main @interface now to work with protocols. Add support + for the EventTargetNodeCast extended attribute. Add support for + EventListener parameters. + * dom/Node.idl: Define superclasses for ObjC so the implementation + and interface implement the DOMEventTarget protocol. Explicitly + specify Object as a superclass to use DOMEventTarget. Object will turn + into DOMObject. This is needed to take the code generator down the right + path of multiple super-classes as protocols. It is ObjC only for legacy + reasons. The event target methods are normally on NodeEventTarget, a + subclass of Node. But the ObjC API has never has this subclass and + they are on DOMNode. + * svg/SVGElementInstance.idl: Ditto. + +2008-10-07 David Hyatt <hyatt@apple.com> + + Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS. + + The new pseudo-elements are: + scrollbar + scrollbar-button + scrollbar-corner + scrollbar-thumb + scrollbar-track + + These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with + the following new pseudo-classes: + scrollbar-active + scrollbar-back + scrollbar-forward + scrollbar-horizontal + scrollbar-vertical + + Reviewed by Adele + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + +2008-10-06 Timothy Hatcher <timothy@apple.com> + + Add support to the Resources panel for queries like "#123", "foo #123", + "line: 123" and "foo line: 123". These will match the query limiting + the search only to the line specified. If only a line is specified, + the whole line is matched. + + https://bugs.webkit.org/show_bug.cgi?id=21422 + + Reviewed by Darin Adler. + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last + row if the index is greater than the rows collection. Let it return + undefined by indexing out-of-bounds. + * inspector/front-end/SourceView.js: + (WebInspector.SourceView.prototype.performSearch): Add support for + queries like "#123", "foo #123", "line: 123" and "foo line: 123". + Also match the whole query to the whole document in case there are + colors like "#333". + +2008-10-07 Alp Toker <alp@nuanti.com> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=21392 + [GTK] Auto-generate JS DOM binding sources list + + Remove the huge lists of generated DOM binding sources and headers in + the build system. These are difficult to maintain and can be derived + automatically. + + The new strategy is to re-use the existing lists of IDL sources (which + are needed for dist support anyway). This will also ease the addition + of new language bindings. + + * GNUmakefile.am: + +2008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Don't attempt to paint when updating control tints + + We don't have a valid PlatformGraphicsContext so schedule + the dirty scrollbar/scrollview area for repaint instead. + + * platform/qt/ScrollbarThemeQt.cpp: + (WebCore::ScrollbarThemeQt::paint): + (WebCore::ScrollbarThemeQt::paintScrollCorner): + +2008-10-07 Holger Hans Peter Freyther <zecke@selfish.org> + + [qt] Build fix after Scrollbar.h and Widget.h changes. + + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::getValue): + (WebCore::PluginView::init): + +2008-10-06 David Hyatt <hyatt@apple.com> + + Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them). + + Reviewed by Sam Weinig + + * WebCore.base.exp: + * WebCore.xcodeproj/project.pbxproj: + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::hasWebView): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadWithDocumentLoader): + (WebCore::FrameLoader::transitionToCommitted): + * loader/FrameLoaderClient.h: + * page/FocusController.cpp: + (WebCore::FocusController::setActive): + * page/FrameView.cpp: + (WebCore::FrameView::FrameView): + (WebCore::FrameView::init): + (WebCore::FrameView::layoutIfNeededRecursive): + * page/FrameView.h: + +2008-10-06 Dan Bernstein <mitz@apple.com> + + - build fix + + * bindings/objc/DOMEvents.h: + +2008-10-06 Mark Mentovai <mark@moxienet.com> + + Reviewed by Tim Hatcher. + + Use #if ENABLE(feature) where possible, and #if ENABLE_feature where + Platform.h is not available, in preference to #ifdef ENABLE_feature. + #ifdef is wrong now that features are disabled by #defining + ENABLE_feature to 0. + + https://bugs.webkit.org/show_bug.cgi?id=21338 + + * bindings/objc/DOMEvents.h: + * bindings/objc/PublicDOMInterfaces.h: + * dom/Document.idl: + * page/DOMWindow.idl: + * svg/svgtags.in: + +2008-10-06 Mark Mentovai <mark@moxienet.com> + + Reviewed by Sam Weinig. + + * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h> + to get the declaration for isMainThread(). + +2008-10-06 Jeremy Moskovich <jeremy@chromium.org> + + Reviewed by Tim Hatcher. + + WebCoreObjCExtras.c is actually an obj-c++ file, so change its name + to reflect that. + + * WebCore.xcodeproj/project.pbxproj: + * platform/mac/WebCoreObjCExtras.c: Removed. + * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c. + +2008-10-06 Jeremy Moskovich <jeremy@chromium.org> + + Reviewed by Dan Bernstein. + + Added C++ forward declaration for the NSURLAuthenticationChallenge class + so that the m_currentMacChallenge variable doesn't cause a + compilation error when ResourceHandleInternal.h is included from a C++ file. + Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411 + + * platform/network/ResourceHandleInternal.h: + +2008-10-06 Steve Falkenburg <sfalken@apple.com> + + Windows build fix. + + * WebCore.vcproj/WebCore.vcproj: + +2008-10-06 Steve Falkenburg <sfalken@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21416 + Add missing null checks identified by Application Verifier. + + Reviewed by Darin Adler. + + * platform/win/SharedTimerWin.cpp: + (WebCore::clearTimer): + +2008-10-06 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim Hatcher. + + Removed accidentally left in debugging statement. + + * inspector/front-end/inspector.js: + +2008-10-06 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim Hatcher and Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=21412 + Bug 21412: Refactor user initiated profile count to be more stable + + * inspector/InspectorController.cpp: Keep track of the user-initiated + profiles here now. + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::startUserInitiatedProfiling): + (WebCore::InspectorController::stopUserInitiatedProfiling): + * inspector/InspectorController.h: + The front end will now need to check for the existence of the user- + initiated profile title and use its count instead of keeping its own. + * inspector/front-end/ProfilesPanel.js: + +2008-10-06 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - separate GDI text drawing into its own function + + * platform/graphics/win/FontCGWin.cpp: + (WebCore::drawGDIGlyphs): + (WebCore::Font::drawGlyphs): + +2008-10-03 Steve Falkenburg <sfalken@apple.com> + + <rdar://problem/6249833> Fix default button appearance + + Reviewed by Adele Peterson. + + * rendering/RenderThemeWin.cpp: + (WebCore::RenderThemeWin::supportsFocus): + (WebCore::RenderThemeWin::determineClassicState): + (WebCore::RenderThemeWin::determineButtonState): + (WebCore::RenderThemeWin::getClassicThemeData): + (WebCore::RenderThemeWin::getThemeData): + (WebCore::drawControl): + * rendering/RenderThemeWin.h: + +2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Add native virtual keycode to PlatformKeyboardEvent + + * platform/PlatformKeyboardEvent.h: + * platform/gtk/KeyEventGtk.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + * platform/mac/KeyEventMac.mm: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + * platform/qt/PlatformKeyboardEventQt.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + * platform/win/KeyEventWin.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + * platform/wx/KeyboardEventWx.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + +2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac + + * platform/text/PlatformString.h: + * platform/text/StringImpl.h: + * platform/text/cf/StringCF.cpp: + * platform/text/cf/StringImplCF.cpp: + +2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Use bundles on QtWebKit/Mac for platform modules + + * platform/FileSystem.h: + * platform/qt/FileSystemQt.cpp: + (WebCore::unloadModule): + +2008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com> + + Reviewed by Simon. + + Build fix for MinGW. + + * platform/win/SystemTimeWin.cpp: + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::invalidateRect): + +2008-10-06 Adam Roben <aroben@apple.com> + + Mimic the inspector/ directory structure in WebCore.vcproj + + * WebCore.vcproj/WebCore.vcproj: + +2008-10-06 Adam Roben <aroben@apple.com> + + Windows build fix + + * WebCore.vcproj/WebCore.vcproj: Update the Include path for all + configurations to include WebCore/inspector. + +2008-10-04 Eric Seidel <eric@webkit.org> + + Reviewed by Darin Adler. + + SVG should support ascent and descent properties <font-face> instead of <font>! + https://bugs.webkit.org/show_bug.cgi?id=21365 + + Tested by many many existing SVG tests. + + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::ascent): + (WebCore::SVGFontFaceElement::descent): + +2008-10-05 Darin Fisher <darin@chromium.org> + + Reviewed by Eric Seidel. + + REGRESSION: crash in ScriptElement::notifyFinished + Fixes https://bugs.webkit.org/show_bug.cgi?id=21329 + + * dom/ScriptElement.cpp: + (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to + ensure that the ScriptElementData object is not destroyed prematurely. + +2008-10-05 Chris Lord <chris@openedhand.com> + + Reviewed by Alp Toker. Landed by Jan Alonzo. + + https://bugs.webkit.org/show_bug.cgi?id=20624 + WebKit-gtk uses deprecated GtkType/GtkObject + + * plugins/gtk/gtk2xtbin.c: + (gtk_xtbin_get_type): + * plugins/gtk/gtk2xtbin.h: + +2008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net> + + Reviewed by David Hyatt. + + GTK_WINDOW_HWND not GTK_WINDOWING_HWND + https://bugs.webkit.org/show_bug.cgi?id=20725 + + Updated to ToT by Jan Alonzo. + + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::getValue): + +2008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by Darin Adler. + + Invalid cast from GdkWindow to GtkWidget + https://bugs.webkit.org/show_bug.cgi?id=21391 + + Fix a misplaced closing parenthesis to actually cast the widget, not the window + + * platform/gtk/PlatformScreenGtk.cpp: + (WebCore::screenDepth): + +2008-10-05 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Alder. + + Attach the Origin header to POST requests to help defend against + cross-site request forgery. + + https://bugs.webkit.org/show_bug.cgi?id=20792 + + Collin Jackson <collinj@webkit.org> also contributed to this patch. + + Tests: http/tests/security/originHeader/origin-header-for-data.html + http/tests/security/originHeader/origin-header-for-empty.html + http/tests/security/originHeader/origin-header-for-get.html + http/tests/security/originHeader/origin-header-for-https.html + http/tests/security/originHeader/origin-header-for-post.html + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::createWindow): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::createWindow): + (WebCore::FrameLoader::urlSelected): + (WebCore::FrameLoader::submitForm): + (WebCore::FrameLoader::outgoingOrigin): + (WebCore::FrameLoader::loadURL): + (WebCore::FrameLoader::addExtraFieldsToRequest): + (WebCore::FrameLoader::loadPostRequest): + (WebCore::FrameLoader::loadResourceSynchronously): + (WebCore::FrameLoader::loadItem): + * loader/FrameLoader.h: + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::create): + * loader/loader.cpp: + (WebCore::Loader::Host::servePendingRequests): + * platform/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::toHTTPOrigin): + * platform/SecurityOrigin.h: + * platform/network/ResourceRequestBase.h: + (WebCore::ResourceRequestBase::httpOrigin): + (WebCore::ResourceRequestBase::setHTTPOrigin): + (WebCore::ResourceRequestBase::clearHTTPOrigin): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): + (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): + (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): + (WebCore::XMLHttpRequest::didReceiveResponsePreflight): + +2008-10-04 Oliver Hunt <oliver@apple.com> + + Reviewed by Tim Hatcher. + + Bug 21381: Incremental parsing of html causes bogus line numbers in some cases + <https://bugs.webkit.org/show_bug.cgi?id=21381> + + If we hit a parsing boundary (end of a packet, etc) in the middle of a + <script> element when we are doing an incremental parse, we exit the + parser, and reenter later when more data is available. During this + reentry we incorrectly reset the scriptStartLineno to the current line + in the parser, which is now part way through the script element. + + The solution is to track whether we are entering or reentering the parsing + of a script element. We do this simply by 0 checking scriptStartLineno, + and resetting it after we complete parsing of each script element. + + Test: http/tests/incremental/pause-in-script-element.pl + + * ChangeLog: + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::parseSpecial): + (WebCore::HTMLTokenizer::scriptHandler): + +2008-10-04 Alp Toker <alp@nuanti.com> + + Reviewed by David Hyatt. Landed by Jan Alonzo. + + https://bugs.webkit.org/show_bug.cgi?id=20924 + [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3 + + https://bugs.webkit.org/show_bug.cgi?id=19578 + [CURL] problem in parseDataUrl + + De-obfuscate parseDataUrl() and fix regressions introduced in r35954. + This patch also fixes encoding support in escaped (non-Base64) data + URLs. All manual data URL tests now pass in both GLib and non-GLib + code paths. + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::parseDataUrl): + +2008-10-04 Timothy Hatcher <timothy@apple.com> + + Makes breakpoints and debugging code during page load work in the + Web Inspector's debugger. Specifically, this makes the source + code for loading resources show up in the Scripts panel. + + https://bugs.webkit.org/show_bug.cgi?id=19053 + rdar://problem/5933408 + + Reviewed by Mark Rowe. + + * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as + not using tabs and a tab width of 8. + * inspector/InspectorController.cpp: + (WebCore::addResourceSourceToFrame): Return a bool to report if the + source was added successfully or not. + (WebCore::addSourceToFrame): Ditto. + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): + Return early if the InspectorController.addSourceToFrame fails. + Moved the delete of the _frameNeedsSetup property after that call so + if the source wasn't added it will be attempted again. + * inspector/front-end/SourceView.js: + (WebInspector.SourceView.prototype.detach): Move a comment. + (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): + Don't check if the resource is finished or failed, just attempt + to add the source to the frame. WebCore has the source, but the + finished property hasn't been set yet. Return early if the + InspectorController.addSourceToFrame fails. Moved the delete + of the _frameNeedsSetup property after that call so if the source + wasn't added it will be attempted again. + (WebInspector.SourceView.prototype._resourceLoadingFinished): + Clear the _frameNeedsSetup and _sourceFrameSetup properties so + the source frame will we populated again now that the resource + load has finished. + * manual-tests/inspector/debugger-pause-during-load.html: Added. + +2008-10-04 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible. + + * WebCore.xcodeproj/project.pbxproj: + +2008-10-04 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21373 + + Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow() + is still present. + + Reviewed by Mark Rowe + + * page/FrameView.cpp: + (WebCore::FrameView::~FrameView): + +2008-10-04 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Avoid copying a Vector when using getSupportedKeySizes. + + * html/HTMLKeygenElement.cpp: + (WebCore::HTMLKeygenElement::HTMLKeygenElement): + * platform/SSLKeyGenerator.h: + * platform/gtk/TemporaryLinkStubs.cpp: + (WebCore::getSupportedKeySizes): + * platform/mac/SSLKeyGeneratorMac.mm: + (WebCore::getSupportedKeySizes): + * platform/qt/TemporaryLinkStubs.cpp: + (WebCore::getSupportedKeySizes): + * platform/win/TemporaryLinkStubs.cpp: + (WebCore::getSupportedKeySizes): + * platform/wx/TemporaryLinkStubs.cpp: + (WebCore::getSupportedKeySizes): + +2008-10-04 Darin Adler <darin@apple.com> + + Reviewed by Cameron Zwarich. + + - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295 + Bug 21295: Replace ExecState with a call frame Register pointer + + * bindings/js/JSQuarantinedObjectWrapper.cpp: + (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): + Remove bogus "const". + * bindings/js/JSQuarantinedObjectWrapper.h: Ditto. + +2008-10-04 David Hyatt <hyatt@apple.com> + + Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle. + + Reviewed by Darin Adler + + * WebCore.xcodeproj/project.pbxproj: + * platform/PopupMenuClient.h: + * platform/gtk/PopupMenuGtk.cpp: + (WebCore::PopupMenu::show): + * platform/mac/PopupMenuMac.mm: + (WebCore::PopupMenu::populate): + (WebCore::PopupMenu::show): + * platform/qt/PopupMenuQt.cpp: + (WebCore::PopupMenu::populate): + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenu::calculatePositionAndSize): + (WebCore::PopupMenu::paint): + (WebCore::PopupWndProc): + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::itemStyle): + (WebCore::RenderMenuList::menuStyle): + (WebCore::RenderMenuList::hostWindow): + * rendering/RenderMenuList.h: + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::itemStyle): + (WebCore::RenderTextControl::menuStyle): + (WebCore::RenderTextControl::hostWindow): + * rendering/RenderTextControl.h: + +2008-10-04 Matt Lilek <webkit@mattlilek.com> + + Build fix - restore Private role to headers that had it before the move. + + * WebCore.xcodeproj/project.pbxproj: + +2008-10-04 Darin Adler <darin@apple.com> + + - try to fix build + + * DerivedSources.make: Add new inspector directory to VPATH. + * GNUmakefile.am: Add new inspector directory to includes. + Re-sort the IDL_BINDINGS list. Add new inspector directory + to VPATH. + +2008-10-04 Matt Lilek <webkit@mattlilek.com> + + Not reviewed, attempt to fix Gtk build. + + * GNUmakefile.am: + +2008-10-03 Timothy Hatcher <timothy@apple.com> + + Move the Web Inspector files into a top-level "inspector" folder. + + https://bugs.webkit.org/show_bug.cgi?id=21359 + + Reviewed by Dave Hyatt. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h. + * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp. + * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h. + * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp. + * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h. + * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl. + * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h. + * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp. + * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h. + * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp. + * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h. + * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp. + * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h. + * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js. + * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js. + * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js. + * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js. + * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js. + * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js. + * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js. + * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js. + * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js. + * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js. + * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js. + * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js. + * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js. + * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png. + * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png. + * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png. + * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png. + * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png. + * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png. + * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png. + * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png. + * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png. + * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png. + * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png. + * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png. + * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png. + * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png. + * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png. + * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png. + * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png. + * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png. + * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png. + * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png. + * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png. + * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png. + * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png. + * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png. + * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png. + * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png. + * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png. + * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png. + * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png. + * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png. + * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png. + * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png. + * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png. + * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png. + * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png. + * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png. + * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png. + * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png. + * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png. + * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png. + * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png. + * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png. + * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png. + * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png. + * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png. + * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png. + * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png. + * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png. + * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png. + * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png. + * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png. + * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png. + * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png. + * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png. + * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png. + * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png. + * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png. + * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png. + * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png. + * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png. + * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png. + * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png. + * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png. + * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png. + * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png. + * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png. + * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png. + * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png. + * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png. + * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png. + * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png. + * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png. + * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png. + * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png. + * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png. + * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png. + * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png. + * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png. + * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png. + * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png. + * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png. + * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png. + * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png. + * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png. + * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png. + * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png. + * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png. + * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png. + * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png. + * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png. + * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png. + * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png. + * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png. + * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png. + * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png. + * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png. + * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png. + * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png. + * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png. + * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png. + * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js. + * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js. + * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js. + * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js. + * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js. + * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js. + * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js. + * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js. + * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js. + * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js. + * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js. + * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js. + * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js. + * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js. + * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js. + * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js. + * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js. + * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js. + * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js. + * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js. + * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js. + * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js. + * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js. + * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js. + * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc. + * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css. + * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html. + * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js. + * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js. + * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js. + +2008-10-03 Timothy Hatcher <timothy@apple.com> + + Adds support to the Web Inspector's Elements panel for fast tag name, + class name, id and attribute name searching. The panel first tries + using getElementById, getElementsByClassName and getElementsByTagName + with the search query. Then does a slower search using XPath for partial + matches, text and comment matches. + + Adds support for search queries like "<div>", "<h" and "frame>". + These forms limit the search to tag names, text and comment matches. + + https://bugs.webkit.org/show_bug.cgi?id=21353 + + Reviewed by Maciej Stachowiak. + + * page/inspector/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax + support. Add new search functions that try exact matches first. + +2008-10-03 Timothy Hatcher <timothy@apple.com> + + Changes how searching works in the Web Inspector's Elements + panel. The search tasks are divided into chunks that are small + units of work that are performed at a time interval. This + change also prevents queries that will select all elements, + since that isn't useful. + + https://bugs.webkit.org/show_bug.cgi?id=21285 + + Reviewed by Oliver Hunt. + + * page/inspector/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.searchCancled): + Remove the searchResultsProperty form results since there might + be an unfinished search. + (WebInspector.ElementsPanel.prototype.performSearch): Divide the + documents and search functions into chunks that are performed on + a interval of 25ms. Prevent searches for "//*" and "*". + +2008-10-03 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Cameron Zwarich. + + - "this" object in methods called on primitives should be wrapper object + https://bugs.webkit.org/show_bug.cgi?id=21362 + + Updated so toThis conversion for the split window is handled properly. + + * bindings/scripts/CodeGeneratorJS.pm: + +2008-10-03 Sam Weinig <sam@webkit.org> + + Reviewed by David "The Motivator" Hyatt. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=21355 + Move SecurityOrigin out of platform/ to page/. + + It was a layering violation for SecurityOrigin to be in platform + as it depended on FrameLoader. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp. + * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h. + * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h. + * platform/SecurityOrigin.cpp: Removed. + * platform/SecurityOrigin.h: Removed. + * platform/SecurityOriginHash.h: Removed. + +2008-10-03 Marco Barisione <marco.barisione@collabora.co.uk> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=18832 + [curl] file upload does not work + + The curl_off_t integer type has a different size depending if large + file support is enabled or not. There is no different public API for + the two cases, so the same function accepts a different type based on + a compilation option the could be different in WebKit and libcurl. + To fix the bug we query libcurl at runtime for large file support and + pass the right type based on that. + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::setupPOST): + +2008-10-03 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by David Hyatt. + + Gtk build fixes. + + * platform/gtk/FileChooserGtk.cpp: + (WebCore::FileChooser::openFileChooser): + * platform/gtk/PlatformScreenGtk.cpp: + (WebCore::screenDepth): + (WebCore::screenDepthPerComponent): + (WebCore::screenAvailableRect): + * platform/gtk/PopupMenuGtk.cpp: + (WebCore::PopupMenu::show): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::platformAddChild): + (WebCore::ScrollView::platformRemoveChild): + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::setCursor): + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::getValue): + (WebCore::PluginView::forceRedraw): + (WebCore::PluginView::init): + +2008-10-03 David Hyatt <hyatt@apple.com> + + Fix Qt bustage from missing include. + + * platform/qt/PlatformScreenQt.cpp: + +2008-10-03 David Hyatt <hyatt@apple.com> + + Fix Windows scrollbar bustage in popup menus. + + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupWndProc): + +2008-10-03 David Hyatt <hyatt@apple.com> + + Fix Windows bustage. + + * platform/win/FileChooserWin.cpp: + (WebCore::FileChooser::openFileChooser): + * platform/win/PlatformScreenWin.cpp: + (WebCore::monitorInfoForWidget): + * platform/win/WidgetWin.cpp: + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::getValue): + (WebCore::PluginView::forceRedraw): + (WebCore::PluginView::init): + +2008-10-03 Darin Adler <darin@apple.com> + + * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure + seen on some machines but not others by adding an include. + +2008-10-03 Darin Adler <darin@apple.com> + + - Qt build fix + + * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and + execute functions. Declarations for these relied on the CodeType + enumeration, which used to be in ExecState.h; but the functions + aren't needed at all. + * bridge/qt/qt_runtime.h: Ditto. + +2008-10-03 Darin Adler <darin@apple.com> + + Reviewed by Geoff Garen. + + - next step of https://bugs.webkit.org/show_bug.cgi?id=21295 + Turn ExecState into a call frame pointer. + + Remove m_globalObject and m_globalData from ExecState. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData): + Removed an argument now that JSGlobalObject doesn't need it any more. + (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from + the JSDOMWindowBaseData constructor, and added the this argument to the + JSGlobalObject constructor. This is because a couple key bits of + initialization moved from the data constructor to the JSGlobalObject + constructor. + * bindings/js/JSDOMWindowBase.h: Ditto. + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): + * bridge/runtime_method.cpp: + (JSC::RuntimeMethod::RuntimeMethod): + Pass JSGlobalData* instead of ExecState* to the InternalFunction + constructor. + +2008-10-03 David Hyatt <hyatt@apple.com> + + Fix Windows/Qt build bustage. + + Reviewed by ggaren + + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::platformWindow): + * page/Chrome.cpp: + (WebCore::Chrome::platformWindow): + * page/Chrome.h: + * page/ChromeClient.h: + * platform/HostWindow.h: + * platform/qt/PlatformScreenQt.cpp: + (WebCore::screenDepth): + (WebCore::screenDepthPerComponent): + (WebCore::screenIsMonochrome): + (WebCore::screenRect): + (WebCore::screenAvailableRect): + * platform/qt/PopupMenuQt.cpp: + (WebCore::PopupMenu::show): + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenu::show): + (WebCore::PopupMenu::calculatePositionAndSize): + (WebCore::PopupWndProc): + +2008-10-03 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + Make setStyle() take a const RenderStyle, to ensure that an + earlier RenderStyle::diff() remains valid. + + * rendering/RenderBR.cpp: + * rendering/RenderBR.h: + * rendering/RenderBlock.cpp: + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + * rendering/RenderBox.h: + * rendering/RenderButton.cpp: + * rendering/RenderButton.h: + * rendering/RenderFieldset.cpp: + * rendering/RenderFieldset.h: + * rendering/RenderFileUploadControl.cpp: + * rendering/RenderFileUploadControl.h: + * rendering/RenderInline.cpp: + * rendering/RenderInline.h: + * rendering/RenderListBox.cpp: + * rendering/RenderListBox.h: + * rendering/RenderListItem.cpp: + * rendering/RenderListItem.h: + * rendering/RenderListMarker.cpp: + * rendering/RenderListMarker.h: + * rendering/RenderMenuList.cpp: + * rendering/RenderMenuList.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::setStyle): + * rendering/RenderObject.h: + * rendering/RenderReplaced.cpp: + * rendering/RenderReplaced.h: + * rendering/RenderSVGBlock.cpp: + (WebCore::RenderSVGBlock::setStyle): + * rendering/RenderSVGBlock.h: + * rendering/RenderSVGGradientStop.cpp: + * rendering/RenderSVGGradientStop.h: + * rendering/RenderSlider.cpp: + * rendering/RenderSlider.h: + * rendering/RenderTable.cpp: + * rendering/RenderTable.h: + * rendering/RenderTableCell.cpp: + * rendering/RenderTableCell.h: + * rendering/RenderTableRow.cpp: + * rendering/RenderTableRow.h: + * rendering/RenderText.cpp: + * rendering/RenderText.h: + * rendering/RenderTextControl.cpp: + * rendering/RenderTextControl.h: + * rendering/RenderWidget.cpp: + * rendering/RenderWidget.h: + * rendering/style/RenderStyle.h: + (WebCore::RenderStyle::isDisplayReplacedType): + (WebCore::RenderStyle::isDisplayInlineType): + +2008-10-03 David Hyatt <hyatt@apple.com> + + Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar + event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new + method on Scrollbars called transformEvent that will apply all of the transforms to make a new event + that will work properly for hit testing. This patch just stubs out that method to return the same + event untransformed. + + Reviewed by Darin Adler + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMouseDoubleClickEvent): + (WebCore::EventHandler::handleMouseMoveEvent): + (WebCore::EventHandler::handleMouseReleaseEvent): + (WebCore::EventHandler::passMousePressEventToScrollbar): + * page/gtk/EventHandlerGtk.cpp: + * page/mac/EventHandlerMac.mm: + * page/qt/EventHandlerQt.cpp: + * page/win/EventHandlerWin.cpp: + * page/wx/EventHandlerWx.cpp: + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::mouseMoved): + (WebCore::Scrollbar::mouseExited): + (WebCore::Scrollbar::mouseUp): + (WebCore::Scrollbar::mouseDown): + (WebCore::Scrollbar::transformEvent): + * platform/Scrollbar.h: + +2008-10-03 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21340 + + Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now. + + Reviewed by Dan Bernstein & Darin Adler + + * platform/ScrollView.cpp: + (WebCore::ScrollView::addChild): + * platform/Widget.cpp: + (WebCore::Widget::init): + * platform/Widget.h: + * platform/mac/WidgetMac.mm: + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenu::show): + +2008-10-03 Adele Peterson <adele@apple.com> + + Reviewed by Sam Weinig. + + * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): + Return early if settings is nil. + +2008-10-03 Rob Buis <buis@kde.org> + + Reviewed by Darin. + + https://bugs.webkit.org/show_bug.cgi?id=20134 + REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min) + + Make sure the input element gets the right default value when no value is set. + + Test: fast/forms/range-default-value.html + + * rendering/RenderSlider.cpp: + (WebCore::RenderSlider::setPositionFromValue): + +2008-10-03 David Hyatt <hyatt@apple.com> + + Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/ + destructor that calls them, switch to having a cross-platform constructor/destructor that calls + platform-specific init/destroy methods. + + With this change, ScrollViewWin.cpp can be removed from the build (yay!). + + Reviewed by Darin Adler + + * WebCore.vcproj/WebCore.vcproj: + * platform/ScrollView.cpp: + (WebCore::ScrollView::ScrollView): + (WebCore::ScrollView::~ScrollView): + (WebCore::ScrollView::platformInit): + (WebCore::ScrollView::platformDestroy): + (WebCore::ScrollView::platformAddChild): + (WebCore::ScrollView::platformRemoveChild): + * platform/ScrollView.h: + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::platformInit): + (WebCore::ScrollView::platformDestroy): + * platform/mac/ScrollViewMac.mm: + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::platformInit): + (WebCore::ScrollView::platformDestroy): + * platform/win/ScrollViewWin.cpp: Removed. + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::platformInit): + (WebCore::ScrollView::platformDestroy): + (WebCore::ScrollView::setPlatformWidget): + +2008-10-03 Adele Peterson <adele@apple.com> + + Reviewed by Dan Bernstein. + + Fix for <rdar://problem/6012018> + https://bugs.webkit.org/show_bug.cgi?id=21335 + CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8 + + * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil. + +2008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com> + + Build fix. + + * platform/qt/WidgetQt.cpp: + (WebCore::Widget::invalidateRect): + +2008-10-03 Alp Toker <alp@nuanti.com> + + Remove some left-over GTK+ includes. No change in functionality. + + * platform/Cursor.h: + * platform/graphics/Icon.h: + * platform/gtk/RenderThemeGtk.h: + +2008-10-03 Alp Toker <alp@nuanti.com> + + Build fix for trailing comment after #endif + + * dom/ElementRareData.h: + +2008-10-03 David Hyatt <hyatt@apple.com> + + Remove addToDirtyRegion. + + Reviewed by Oliver Hunt + + * page/Chrome.cpp: + * page/Chrome.h: + * page/ChromeClient.h: + * platform/ScrollView.h: + * platform/gtk/ScrollViewGtk.cpp: + * platform/qt/ScrollViewQt.cpp: + * platform/win/ScrollViewWin.cpp: + +2008-10-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + - fix a CachedResource leak introduced in r37176 + + Undo r37176 and instead allow pruneDeadResources() to be re-entered, but + afterwards bail out of the outer pruneDeadResources(). + + * loader/Cache.cpp: + (WebCore::Cache::Cache): + (WebCore::Cache::pruneDeadResources): + (WebCore::Cache::remove): + * loader/Cache.h: + +2008-10-03 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21330 + + Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical + scrollbars. + + Reviewed by Oliver Hunt + + * platform/ScrollView.cpp: + (WebCore::ScrollView::setHasHorizontalScrollbar): + (WebCore::ScrollView::setHasVerticalScrollbar): + (WebCore::ScrollView::platformHasHorizontalAdjustment): + (WebCore::ScrollView::platformHasVerticalAdjustment): + * platform/ScrollView.h: + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::adjustmentChanged): + (WebCore::ScrollView::ScrollView): + (WebCore::ScrollView::~ScrollView): + (WebCore::ScrollView::setGtkAdjustments): + (WebCore::ScrollView::platformHandleHorizontalAdjustment): + (WebCore::ScrollView::platformHandleVerticalAdjustment): + +2008-10-03 Julien Chaffraix <jchaffraix@webkit.org> + + Reviewed by Maciej Stachowiak. + + Bug 21106: .in format discussed changes + https://bugs.webkit.org/show_bug.cgi?id=21106 + + Change "upperCase" to "interfaceName" per-tag parameter as + discussed on the mailing list. Removed the per-attribute version + as it was not used. + + Also add the "Element" suffix to all interfaceName parameter to match + the class name (and thus remove it from make_names.pl). + + * dom/make_names.pl: + * html/HTMLTagNames.in: + * svg/svgtags.in: + +2008-10-03 David Hyatt <hyatt@apple.com> + + Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick). + Hopefully this is a temporary hack that could eventually be removed. + + Reviewed by Sam Weinig + + * platform/ScrollView.cpp: + (WebCore::ScrollView::scrollContents): + * platform/ScrollView.h: + (WebCore::ScrollView::rootPreventsBlitting): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::ScrollView): + (WebCore::ScrollView::~ScrollView): + (WebCore::ScrollView::platformAddChild): + (WebCore::ScrollView::platformRemoveChild): + +2008-10-02 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21328 + + Make widget invalidation more cross-platform. + + (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function. + + (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call. + This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected. + + (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer. + + (4) FrameViews now do a repaintRectangle on their owner element's renderer. + + Reviewed by Sam Weinig + + * WebCore.base.exp: + * page/FrameView.cpp: + (WebCore::FrameView::invalidateRect): + (WebCore::FrameView::invalidateScrollbarRect): + * page/FrameView.h: + * platform/PopupMenu.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::scrollContents): + * platform/ScrollView.h: + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::setEnabled): + (WebCore::Scrollbar::invalidateRect): + * platform/Scrollbar.h: + * platform/ScrollbarClient.h: + * platform/Widget.h: + * platform/gtk/WidgetGtk.cpp: + * platform/mac/WidgetMac.mm: + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenu::invalidateScrollbarRect): + * platform/win/WidgetWin.cpp: + * plugins/PluginView.cpp: + (WebCore::PluginView::invalidateTimerFired): + (WebCore::PluginView::invalidateWindowlessPluginRect): + * plugins/PluginView.h: + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::invalidateRect): + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::invalidateRect): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::invalidateRect): + (WebCore::PluginView::invalidateRegion): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::invalidateScrollbarRect): + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::paintObject): + (WebCore::RenderListBox::paintScrollbar): + (WebCore::RenderListBox::invalidateScrollbarRect): + * rendering/RenderListBox.h: + +2008-10-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Geoffrey Garen and Sam Weinig. + + - fix SVGFontFaceElement leaks seen in Acid3 + - make font-face elements take effect only when they are in the document tree + + Test: svg/custom/font-face-not-in-document.svg + + * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a + RefPtr to a plain pointer to break a ref cycle. + (WebCore::SVGFontData::svgFontFaceElement): + + * svg/SVGFontFaceElement.cpp: Changed to insert and remove the + @font-face rule from the document's mapped element sheet when the + element is inserted and removed from the document, and to update it + only when the element is in the document. + (WebCore::SVGFontFaceElement::SVGFontFaceElement): + (WebCore::SVGFontFaceElement::parseMappedAttribute): + (WebCore::SVGFontFaceElement::rebuildFontFace): + (WebCore::SVGFontFaceElement::insertedIntoDocument): + (WebCore::SVGFontFaceElement::removedFromDocument): + (WebCore::SVGFontFaceElement::childrenChanged): + (WebCore::SVGFontFaceElement::removeFromMappedElementSheet): + * svg/SVGFontFaceElement.h: + +2008-10-01 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + Fix RenderFileUploadControl::setStyle() and + RenderMenuList::setStyle() to not touch the style; replace + with html4.css and CSSStyleSelector changes. + + https://bugs.webkit.org/show_bug.cgi?id=21287 + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): + * css/html4.css: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::setStyle): + * rendering/RenderFileUploadControl.cpp: + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::setStyle): + +2008-10-01 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + Clean up code that changes the RenderStyle passed in to + table renderer setStyle() methods. + + https://bugs.webkit.org/show_bug.cgi?id=21287 + + Tests: fast/table/floating-th.html + fast/table/table-display-types-strict.html + fast/table/table-display-types.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::setStyle): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::setStyle): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::setStyle): + +2008-10-02 Darin Adler <darin@apple.com> + + - fix build + + * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too. + Not just locally in my generated file! + +2008-10-02 Adele Peterson <adele@apple.com> + + Reviewed by Dan Bernstein. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=21299 + REGRESSION: <input> color specified in inline style applies to placeholder + + I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element + is more appropriate. This change adds "-webkit-input-placeholder". + + * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): + Added definition for "-webkit-input-placeholder" pseudo element. + * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder. + * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + Added case for PseudoInputPlaceholder. + * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element. + * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility. + (WebCore::HTMLInputElement::setValueFromRenderer): ditto. + (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer. + setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change. + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible. + (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so + the text will be updated correctly. + * rendering/RenderTextControl.h: + +2008-10-02 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21280 + <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables + + Updated AXTable detection to be more robust to false-positives. Specifically, added checks + to ensure that there is more than one valid table cell, and that at least half of the cells + have borders or have specific background colors. Modified the table detection layout test + to test for the tables mentioned in the bug + + * page/AccessibilityTable.cpp: + (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): + +2008-10-02 Darin Adler <darin@apple.com> + + Reviewed by Geoff Garen. + + - https://bugs.webkit.org/show_bug.cgi?id=21321 + Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData + + * bindings/js/GCController.cpp: + (WebCore::collect): Use heap. instead of heap-> to work with the heap. + (WebCore::GCController::gcTimerFired): Ditto. + (WebCore::GCController::garbageCollectNow): Ditto. + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::operator new): Ditto. + * storage/Database.cpp: + (WebCore::Database::Database): Ditto. + +2008-10-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Alexey Proskuryakov. + + - fix a Database leak that resulted in Document leaks + + * storage/Database.cpp: + (WebCore::Database::openDatabase): Account for the fact that RefCounted + objects start out with a ref count of 1. + +2008-10-02 Sam Weinig <sam@webkit.org> + + Reviewed by Mr. Geoffrey Garen. + + Always mark your parent before marking members. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::mark): + +2008-10-02 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21314 + + Make scrollBackingStore cross-platform. + + Reviewed by Sam Weinig + + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::repaint): + (WebCore::EmptyChromeClient::scroll): + * page/Chrome.cpp: + (WebCore::Chrome::repaint): + (WebCore::Chrome::scroll): + * page/Chrome.h: + * page/ChromeClient.h: + * page/EventHandler.cpp: + (WebCore::EventHandler::handleAutoscroll): + * platform/HostWindow.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::scrollContents): + (WebCore::ScrollView::addPanScrollIcon): + (WebCore::ScrollView::removePanScrollIcon): + * platform/ScrollView.h: + * platform/gtk/ScrollViewGtk.cpp: + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::~ScrollView): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::ScrollView): + (WebCore::ScrollView::~ScrollView): + +2008-10-02 Kevin Ollivier <kevino@theolliviers.com> + + wx build fixes after Frame/ScrollView changes. + + * WebCoreSources.bkl: + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::platformContentsToScreen): + (WebCore::ScrollView::platformScreenToContents): + (WebCore::ScrollView::platformIsOffscreen): + +2008-10-02 Brett Wilson <brettw@chromium.org> + + Reviewed by Sam Weinig + + https://bugs.webkit.org/show_bug.cgi?id=21292 + + Revert the changes to enclosingIntRect made in r12530 since the new code + doesn't round correctly. + + * ChangeLog: + * platform/graphics/FloatRect.cpp: + (WebCore::enclosingIntRect): + +2008-10-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson and Eric Seidel. + + - fix HTMLCanvaseElement leak from -webkit-canvas() values + + Changed the m_element member of CSSCanvasValue from a RefPtr to a plain + pointer, as the document owns the canvas elements. Added code to release + those elements in Document::removedLastRef() because they reference + the document. + + * css/CSSCanvasValue.cpp: + (WebCore::CSSCanvasValue::element): + * css/CSSCanvasValue.h: + (WebCore::CSSCanvasValue::CSSCanvasValue): + * dom/Document.cpp: + (WebCore::Document::removedLastRef): + +2008-10-02 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Maciej Stachowiak. + + Build fix for platforms that don't implement WTF::ThreadSpecific. + + * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet): + Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this + code is only needed for JS bindings in worker threads. + +2008-10-01 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21298 + + Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch + will make that cross-platform. + + The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the + multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term + windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten). + + Reviewed by Sam Weinig + + * page/FrameView.cpp: + (WebCore::FrameView::windowClipRect): + (WebCore::FrameView::isActive): + * page/FrameView.h: + (WebCore::FrameView::visibleContentsResized): + * platform/PopupMenu.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::init): + (WebCore::ScrollView::destroy): + (WebCore::ScrollView::setHasHorizontalScrollbar): + (WebCore::ScrollView::setHasVerticalScrollbar): + (WebCore::ScrollView::valueChanged): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::scrollContents): + (WebCore::ScrollView::platformHandleHorizontalAdjustment): + (WebCore::ScrollView::platformHandleVerticalAdjustment): + * platform/ScrollView.h: + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::windowClipRect): + * platform/ScrollbarClient.h: + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::platformHandleHorizontalAdjustment): + (WebCore::ScrollView::platformHandleVerticalAdjustment): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::scrollContents): + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenu::windowClipRect): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::scrollContents): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::windowClipRect): + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::panScroll): + (WebCore::RenderListBox::windowClipRect): + * rendering/RenderListBox.h: + +2008-10-02 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21304 + Stop using a static wrapper map for WebCore JS bindings + + The static domObjects map was not thread safe. + + * dom/Document.h: + (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message + ports. + (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests. + + * dom/Document.cpp: + (WebCore::Document::createdXMLHttpRequest): + (WebCore::Document::destroyedXMLHttpRequest): + Moved XMLHttpRequest tracking from a global map to Document. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * webcore-base.bkl: + * bindings/DOMProtect.cpp: Removed. + * bindings/DOMProtect.h: Removed. + Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference, + so they can no longer protect bindings objects. + + * dom/MessagePort.cpp: + (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): + (WebCore::CloseMessagePortTimer::fired): + (WebCore::MessagePort::MessagePort): + (WebCore::MessagePort::queueCloseEvent): + (WebCore::MessagePort::setPendingActivity): + (WebCore::MessagePort::unsetPendingActivity): + * dom/MessagePort.h: + (WebCore::MessagePort::hasPendingActivity): + MessagePort now counts outstanding async events, so JSDocument::mark can decide whether + to protect it. + + * xml/XMLHttpRequest.h: + (WebCore::XMLHttpRequest::hasPendingActivity): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::XMLHttpRequest): + (WebCore::XMLHttpRequest::~XMLHttpRequest): + (WebCore::XMLHttpRequest::loadRequestAsynchronously): + (WebCore::XMLHttpRequest::dropProtection): + (WebCore::XMLHttpRequest::didFinishLoadingPreflight): + (WebCore::XMLHttpRequest::cancelRequests): + (WebCore::XMLHttpRequest::detachRequests): + (WebCore::XMLHttpRequest::setPendingActivity): + (WebCore::XMLHttpRequest::unsetPendingActivity): + Moved XMLHttpRequest tracking from a global map to Document. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::wrapperSet): + (WebCore::DOMObjectWrapperMap::mapFor): + (WebCore::DOMObjectWrapperMap::get): + (WebCore::DOMObjectWrapperMap::set): + (WebCore::DOMObjectWrapperMap::remove): + (WebCore::getCachedDOMObjectWrapper): + (WebCore::cacheDOMObjectWrapper): + (WebCore::forgetDOMObject): + (WebCore::getCachedDOMNodeWrapper): + (WebCore::forgetDOMNode): + (WebCore::cacheDOMNodeWrapper): + (WebCore::markActiveObjectsForDocument): + * bindings/js/JSDOMBinding.h: + (WebCore::createDOMObjectWrapper): + (WebCore::getDOMObjectWrapper): + Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet + to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug). + WebCore objects can never migrate between threads. + + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::mark): + Call markActiveObjectsForDocument() from JSDOMBinding. + + * bindings/js/JSCSSRuleCustom.cpp: + (WebCore::toJS): + * bindings/js/JSCSSValueCustom.cpp: + (WebCore::toJS): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::markDOMObjectWrapper): + (WebCore::JSDOMWindow::mark): + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * bindings/js/JSEventTarget.cpp: + (WebCore::toJS): + * bindings/js/JSHTMLCollectionCustom.cpp: + (WebCore::toJS): + * bindings/js/JSImageDataCustom.cpp: + (WebCore::toJS): + * bindings/js/JSMessageChannelCustom.cpp: + (WebCore::JSMessageChannel::mark): + * bindings/js/JSMessagePortCustom.cpp: + (WebCore::JSMessagePort::mark): + * bindings/js/JSNodeCustom.cpp: + (WebCore::JSNode::mark): + * bindings/js/JSSVGPathSegCustom.cpp: + (WebCore::toJS): + * bindings/js/JSStyleSheetCustom.cpp: + (WebCore::toJS): + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::mark): + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + (WebCore::JSXMLHttpRequestUpload::mark): + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::finishedWithEvent): + * bindings/scripts/CodeGeneratorJS.pm: + Pass a JSGlobalData reference to functions that track JS wrapper objects. + +2008-10-02 Dan Bernstein <mitz@apple.com> + + - build fix + + * page/JavaScriptCallFrame.idl: + +2008-10-02 Oliver Hunt <oliver@apple.com> + + Reviewed by NOBODY (Build fix). + + Add new file to project files + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + +2008-10-02 Geoffrey Garen <ggaren@apple.com> + + Not reviewed. + + Try to fix some more builds. + + * GNUmakefile.am: + * WebCore.pro: + +2008-10-02 Geoffrey Garen <ggaren@apple.com> + + Not reviewed. + + Try to fix Windows build. + + * WebCore.vcproj/WebCore.vcproj: + +2008-10-01 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler and Cameron Zwarich. + + Updated for JavaScriptCore API changes: use a SourceCode instead of + broken out parameters; treat sourceId as intptr_t. + + * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h. + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::send): + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluate): + * bindings/js/StringSourceProvider.h: + (WebCore::StringSourceProvider::create): + (WebCore::StringSourceProvider::StringSourceProvider): + + (WebCore::makeSource): Added a makeSource function for convenience. + + * bindings/objc/WebScriptObject.mm: + (-[WebScriptObject evaluateWebScript:]): + * bridge/NP_jsobject.cpp: + (_NPN_Evaluate): + * bridge/jni/jni_jsobject.mm: + (JavaJSObject::call): + (JavaJSObject::eval): + (JavaJSObject::getMember): + (JavaJSObject::setMember): + (JavaJSObject::removeMember): + + * bridge/jni/jni_runtime.h: + (JSC::Bindings::JavaString::operator UString): Replaced the explicit + ustring() function with an implicit operator because this class already + holds a UString::rep. + + * page/Console.cpp: + (WebCore::retrieveLastCaller): + (WebCore::Console::trace): + * page/InspectorController.cpp: + (WebCore::jsStringRef): + (WebCore::InspectorController::addBreakpoint): + (WebCore::InspectorController::removeBreakpoint): + (WebCore::InspectorController::didParseSource): + (WebCore::InspectorController::failedToParseSource): + * page/InspectorController.h: + * page/JavaScriptCallFrame.cpp: + (WebCore::JavaScriptCallFrame::JavaScriptCallFrame): + * page/JavaScriptCallFrame.h: + (WebCore::JavaScriptCallFrame::create): + (WebCore::JavaScriptCallFrame::sourceIdentifier): + (WebCore::JavaScriptCallFrame::update): + * page/JavaScriptDebugListener.h: + * page/JavaScriptDebugServer.cpp: + (WebCore::JavaScriptDebugServer::addBreakpoint): + (WebCore::JavaScriptDebugServer::removeBreakpoint): + (WebCore::JavaScriptDebugServer::hasBreakpoint): + (WebCore::dispatchDidParseSource): + (WebCore::dispatchFailedToParseSource): + (WebCore::JavaScriptDebugServer::sourceParsed): + (WebCore::JavaScriptDebugServer::callEvent): + (WebCore::JavaScriptDebugServer::atStatement): + (WebCore::JavaScriptDebugServer::returnEvent): + (WebCore::JavaScriptDebugServer::exception): + (WebCore::JavaScriptDebugServer::willExecuteProgram): + (WebCore::JavaScriptDebugServer::didExecuteProgram): + (WebCore::JavaScriptDebugServer::didReachBreakpoint): + * page/JavaScriptDebugServer.h: + * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and + sourceIdentifier to sourceID. + +2008-10-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Geoffrey Garen. + + - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html + + Broke a ref cycle by changing the m_svgFontFaceElement members of + CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain + pointers. Also made sure that the @font-face rule added by + SVGFontFaceElement to the document's mapped element sheet is removed + when the font-face element is deleted or moved to another document. + + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::CSSFontFaceSource): + (WebCore::CSSFontFaceSource::getFontData): + * css/CSSFontFaceSource.h: + (WebCore::CSSFontFaceSource::svgFontFaceElement): + * css/CSSFontFaceSrcValue.h: + (WebCore::CSSFontFaceSrcValue::svgFontFaceElement): + (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue): + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::~SVGFontFaceElement): + (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument): + (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument): + (WebCore::SVGFontFaceElement::removeFromMappedElementSheet): + * svg/SVGFontFaceElement.h: + +2008-10-01 Oliver Hunt <oliver@apple.com> + + Reviewed by Maciej Stachowiak. + + Bug 20315: Memory leak with Canvas getImageData + <https://bugs.webkit.org/show_bug.cgi?id=20315> + + This wasn't a leak, the issue was that we were reporting the cost + of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper + and we should have been reporting the cost when we create the + JSImageData wrapper. + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed. + This was only needed to report the extra memory cost + of the CPA. + * bindings/js/JSImageDataCustom.cpp: + (WebCore::toJS): + We need a custom toJS function now so that we can report + the extra memory cost. + * bindings/scripts/CodeGeneratorJS.pm: + Need to replace the reference to CanvasPixelArray with ImageData + to be able to create the custom toJS implementation. + * html/CanvasPixelArray.idl: + * html/ImageData.idl: + +2008-10-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + - https://bugs.webkit.org/show_bug.cgi?id=21293 + REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction + + * svg/SVGMarkerElement.cpp: + (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so + that renderer destruction happens before the SVGMarkerElement is + destroyed. + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement. + +2008-10-01 Evan Martin <evan@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=20669 + + * css/makeprop.pl: + Die if gperf fails. + +2008-10-01 Evan Martin <evan@chromium.org> + + Reviewed by Eric Seidel. + + * loader/icon/IconDatabase.h: + IconDatabase uses HashMap, so it needs to #include the header. + +2008-10-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources() + + * loader/Cache.cpp: + (WebCore::Cache::remove): Disable pruning temporarily during + CachedResource deletion. + +2008-10-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle + + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::rebuildFontFace): + * svg/SVGFontFaceElement.h: + (WebCore::SVGFontFaceElement::associatedFontElement): + +2008-10-01 Brett Wilson <brettw@chromium.org> + + Reviewed by Maciej Stachowiak. + + Document the rounding behavior of the mapRect(IntRect) function in + AffineTransform.h. + + * platform/graphics/AffineTransform.h: + +2008-10-01 David Hyatt <hyatt@apple.com> + + Move prohibitsScrolling from the Frame to the ScrollView. + + Reviewed by Sam Weinig + + * WebCore.base.exp: + * page/Frame.cpp: + (WebCore::FramePrivate::FramePrivate): + * page/Frame.h: + * page/FramePrivate.h: + * page/FrameView.cpp: + (WebCore::FrameView::scrollRectIntoViewRecursively): + (WebCore::FrameView::setScrollPosition): + * platform/ScrollView.cpp: + (WebCore::ScrollView::init): + (WebCore::ScrollView::scrollRectIntoViewRecursively): + (WebCore::ScrollView::setScrollPosition): + * platform/ScrollView.h: + (WebCore::ScrollView::setProhibitsScrolling): + (WebCore::ScrollView::prohibitsScrolling): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::updateScrollbars): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::updateScrollbars): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::updateScrollbars): + +2008-10-01 Mark Rowe <mrowe@apple.com> + + Reviewed by Geoff Garen. + + Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html. + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect + that we do during the loadRequestAsynchronously of the preflight request with a deref and + GC unprotect. + +2008-10-01 David Hyatt <hyatt@apple.com> + + Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more + clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars. + + Reviewed by Tim Hatcher + + * WebCore.base.exp: + * page/FrameView.cpp: + (WebCore::FrameView::setCanHaveScrollbars): + * page/FrameView.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::setCanHaveScrollbars): + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: + (WebCore::ScrollView::canHaveScrollbars): + +2008-10-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + - fix some CachedResource leaks seen on buildbot + + The issue here was that emptying the cache was a no-op when it only + contained resources with no data. Changed to go after those + resources when the desired cache capacity is zero. + + * loader/Cache.cpp: + (WebCore::Cache::pruneLiveResources): + (WebCore::Cache::pruneDeadResources): + * loader/Cache.h: + (WebCore::Cache::prune): + +2008-10-01 David Hyatt <hyatt@apple.com> + + Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the + HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.) + + Reviewed by Adam Roben + + * platform/ScrollView.cpp: + (WebCore::ScrollView::isOffscreen): + (WebCore::ScrollView::platformIsOffscreen): + * platform/ScrollView.h: + * platform/gtk/ScrollViewGtk.cpp: + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::platformIsOffscreen): + * platform/qt/ScrollViewQt.cpp: + * platform/wx/ScrollViewWx.cpp: + +2008-10-01 David Hyatt <hyatt@apple.com> + + Make show/hide/setParentVisible cross-platform on ScrollView. + + Reviewed by Adam Roben + + * platform/ScrollView.cpp: + (WebCore::ScrollView::setParentVisible): + (WebCore::ScrollView::show): + (WebCore::ScrollView::hide): + * platform/ScrollView.h: + * platform/win/ScrollViewWin.cpp: + +2008-10-01 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=21284 + Bug 21284: Max height affects max width + - Looks like a cut and paste bug + - Added layout test fast/css/max-height-and-max-width.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + +2008-10-01 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21282 + + Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now. + + Reviewed by Adam Roben + + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::screenToWindow): + (WebCore::EmptyChromeClient::windowToScreen): + * page/Chrome.cpp: + (WebCore::Chrome::screenToWindow): + (WebCore::Chrome::windowToScreen): + * page/Chrome.h: + * page/ChromeClient.h: + * platform/HostWindow.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::contentsToScreen): + (WebCore::ScrollView::screenToContents): + (WebCore::ScrollView::platformContentsToScreen): + (WebCore::ScrollView::platformScreenToContents): + * platform/ScrollView.h: + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::platformContentsToScreen): + (WebCore::ScrollView::platformScreenToContents): + * platform/win/ScrollViewWin.cpp: + +2008-10-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*) + + Test: fast/parser/residual-style-close-across-removed-block.html + + * html/HTMLParser.cpp: + (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed + an assertion that turned out to be wrong in this case, and changed to + terminate the algorithm at the first empty block. + +2008-10-01 David Hyatt <hyatt@apple.com> + + Make setFrameRect on ScrollView cross-platform. + + Reviewed by Sam Weinig + + * page/FrameView.h: + (WebCore::FrameView::contentsResized): + * platform/ScrollView.cpp: + (WebCore::ScrollView::setFrameRect): + * platform/ScrollView.h: + * platform/gtk/ScrollViewGtk.cpp: + * platform/qt/ScrollViewQt.cpp: + * platform/win/ScrollViewWin.cpp: + +2008-10-01 Sam Weinig <sam@webkit.org> + + Reviewed by Adele Peterson. + + Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa + to JSDOMWindow from JSDOMWindowBase. + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::removeTimeout): + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::setTimeoutOrInterval): + (WebCore::JSDOMWindow::setTimeout): + (WebCore::JSDOMWindow::clearTimeout): + (WebCore::JSDOMWindow::setInterval): + (WebCore::JSDOMWindow::clearInterval): + (WebCore::JSDOMWindow::atob): + (WebCore::JSDOMWindow::btoa): + * page/DOMWindow.idl: + +2008-10-01 Dan Bernstein <mitz@apple.com> + + - Mac build fix + + * WebCore.base.exp: + +2008-10-01 Timothy Hatcher <timothy@apple.com> + + Prevent stealing focus from the search field when focusing a DOM node. + + https://bugs.webkit.org/show_bug.cgi?id=21275 + + Reviewed by Kevin McCullough. + + * page/inspector/ElementsPanel.js: + (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged): + Don't steal focus if the current focus element is the search field. + +2008-09-30 Sam Weinig <sam@webkit.org> + + Reviewed by Nikolas Zimmermann and Alexey Proskuryakov. + + Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122 + Autogenerate JS event listeners + + - Generate getting/setting of EventListeners. + + - Adding a new named EventListener now has the same process as adding any other DOM + attribute. (Add a method with the same name in the c++ file). + + (The EventListeners for MessagePort have been intentionally left custom so that we + can continue to experiment with making those EventListeners work in a frame-less world.) + + * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods. + * bindings/js/JSDOMWindowCustom.cpp: ditto. + * bindings/js/JSEventTargetNodeCustom.cpp: ditto. + * bindings/js/JSXMLHttpRequestCustom.cpp: ditto. + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto. + * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener + getter/setters + * dom/EventTargetNode.cpp: Add getter/setters for named EventListener. + * dom/EventTargetNode.h: ditto. + * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator + will use JSEventListerner instead of JSUnprotectedEventListener. + * loader/appcache/DOMApplicationCache.idl: Remove custom attributes.. + * page/DOMWindow.cpp: Add getter/setters for named EventListener + * page/DOMWindow.h: ditto. + * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator + will use JSEventListerner instead of JSUnprotectedEventListener. + * xml/XMLHttpRequest.idl: Remove custom attributes. + * xml/XMLHttpRequestUpload.idl: ditto. + +2008-09-30 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + Add a leak counter for CachedResources since we've had two recent leaks involving them. + + * loader/CachedResource.cpp: + (WebCore::CachedResource::CachedResource): + (WebCore::CachedResource::~CachedResource): + +2008-09-30 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix https://bugs.webkit.org/show_bug.cgi?id=21127 + <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load + + If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing + the font name in memory. + + * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to + OpenTypeUtilities.*. + + * platform/graphics/win/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call + to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is + used. + (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path + for fonts loaded using AddFontMemResourceEx. + (WebCore::createFontCustomPlatformData): Added a call to + renameAndActivateFont() if TTLoadEmbeddedFont fails. If + TTLoadEmbeddedFont succeeds, set the font name to the null string, as + fontPlatformData() will retrieve the name from the font reference. + + * platform/graphics/win/FontCustomPlatformData.h: + (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a + font name member. + + * platform/graphics/win/GetEOTHeader.cpp: Renamed. + * platform/graphics/win/GetEOTHeader.h: Renamed. + + * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp. + (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor. + (WebCore::BigEndianULong::BigEndianULong): Ditto. + (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of + the font data and modifies it to have the given name, then activates + it using AddFontMemResourceEx. + + * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h. + +2008-09-30 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + Fix many leaks seen on fast/backgrounds/svg-as-mask.html. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images + with calls to removeClient when we're being destroyed. + +2008-09-30 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Antti Koivisto. + + https://bugs.webkit.org/show_bug.cgi?id=21243 + + Fix loopstart and loopend default values. + + Tests: media/loopend-limits.html + media/loopstart-limits.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value + (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value + +2008-09-30 Kevin Ollivier <kevino@theolliviers.com> + + wx build fixes. Add file to build and remove call to (now gone) ScrollView::update. + + * WebCoreSources.bkl: + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): + +2008-09-30 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - fix HTMLViewSourceDocument leaks by breaking a ref cycle which + was fixed in r17249 and re-introduced in r31435. + + * html/HTMLViewSourceDocument.cpp: + (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): + (WebCore::HTMLViewSourceDocument::addSpanWithClassName): + (WebCore::HTMLViewSourceDocument::addLine): + (WebCore::HTMLViewSourceDocument::addLink): + * html/HTMLViewSourceDocument.h: + +2008-09-30 Sam Weinig <sam@webkit.org> + + Reviewed by Eric Seidel. + + More for https://bugs.webkit.org/show_bug.cgi?id=21122 + Autogenerate JS event listeners + + - Make EventListener getter/setters names in c++ files match those in + JS (ie. onLoadListener -> onload). + - Add standard way to access the frame associated with the EventTarget + for EventListener lookup. + - Autogenerate dispatchEvent, it wasn't doing anything custom. + + * bindings/js/JSDOMApplicationCacheCustom.cpp: + (WebCore::JSDOMApplicationCache::mark): + (WebCore::JSDOMApplicationCache::addEventListener): + (WebCore::JSDOMApplicationCache::removeEventListener): + (WebCore::JSDOMApplicationCache::setOnchecking): + (WebCore::JSDOMApplicationCache::onchecking): + (WebCore::JSDOMApplicationCache::setOnerror): + (WebCore::JSDOMApplicationCache::onerror): + (WebCore::JSDOMApplicationCache::setOnnoupdate): + (WebCore::JSDOMApplicationCache::onnoupdate): + (WebCore::JSDOMApplicationCache::setOndownloading): + (WebCore::JSDOMApplicationCache::ondownloading): + (WebCore::JSDOMApplicationCache::setOnprogress): + (WebCore::JSDOMApplicationCache::onprogress): + (WebCore::JSDOMApplicationCache::setOnupdateready): + (WebCore::JSDOMApplicationCache::onupdateready): + (WebCore::JSDOMApplicationCache::setOncached): + (WebCore::JSDOMApplicationCache::oncached): + * bindings/js/JSEventTargetNodeCustom.cpp: + (WebCore::JSEventTargetNode::addEventListener): + (WebCore::JSEventTargetNode::removeEventListener): + (WebCore::JSEventTargetNode::getListener): + (WebCore::JSEventTargetNode::setListener): + * bindings/js/JSMessagePortCustom.cpp: + (WebCore::JSMessagePort::mark): + (WebCore::JSMessagePort::addEventListener): + (WebCore::JSMessagePort::removeEventListener): + (WebCore::JSMessagePort::setOnmessage): + (WebCore::JSMessagePort::onmessage): + (WebCore::JSMessagePort::setOnclose): + (WebCore::JSMessagePort::onclose): + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::mark): + (WebCore::JSXMLHttpRequest::onreadystatechange): + (WebCore::JSXMLHttpRequest::setOnreadystatechange): + (WebCore::JSXMLHttpRequest::onabort): + (WebCore::JSXMLHttpRequest::setOnabort): + (WebCore::JSXMLHttpRequest::onerror): + (WebCore::JSXMLHttpRequest::setOnerror): + (WebCore::JSXMLHttpRequest::onload): + (WebCore::JSXMLHttpRequest::setOnload): + (WebCore::JSXMLHttpRequest::onloadstart): + (WebCore::JSXMLHttpRequest::setOnloadstart): + (WebCore::JSXMLHttpRequest::onprogress): + (WebCore::JSXMLHttpRequest::setOnprogress): + (WebCore::JSXMLHttpRequest::addEventListener): + (WebCore::JSXMLHttpRequest::removeEventListener): + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + (WebCore::JSXMLHttpRequestUpload::mark): + (WebCore::JSXMLHttpRequestUpload::onabort): + (WebCore::JSXMLHttpRequestUpload::setOnabort): + (WebCore::JSXMLHttpRequestUpload::onerror): + (WebCore::JSXMLHttpRequestUpload::setOnerror): + (WebCore::JSXMLHttpRequestUpload::onload): + (WebCore::JSXMLHttpRequestUpload::setOnload): + (WebCore::JSXMLHttpRequestUpload::onloadstart): + (WebCore::JSXMLHttpRequestUpload::setOnloadstart): + (WebCore::JSXMLHttpRequestUpload::onprogress): + (WebCore::JSXMLHttpRequestUpload::setOnprogress): + (WebCore::JSXMLHttpRequestUpload::addEventListener): + (WebCore::JSXMLHttpRequestUpload::removeEventListener): + * bindings/scripts/CodeGeneratorJS.pm: + * dom/EventTarget.h: + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::associatedFrame): + * dom/EventTargetNode.h: + * dom/EventTargetNode.idl: + * dom/MessagePort.cpp: + (WebCore::MessagePort::associatedFrame): + * dom/MessagePort.h: + (WebCore::MessagePort::setOnmessage): + (WebCore::MessagePort::onmessage): + (WebCore::MessagePort::setOnclose): + (WebCore::MessagePort::onclose): + * dom/MessagePort.idl: + * loader/appcache/DOMApplicationCache.h: + (WebCore::DOMApplicationCache::setOnchecking): + (WebCore::DOMApplicationCache::onchecking): + (WebCore::DOMApplicationCache::setOnerror): + (WebCore::DOMApplicationCache::onerror): + (WebCore::DOMApplicationCache::setOnnoupdate): + (WebCore::DOMApplicationCache::onnoupdate): + (WebCore::DOMApplicationCache::setOndownloading): + (WebCore::DOMApplicationCache::ondownloading): + (WebCore::DOMApplicationCache::setOnprogress): + (WebCore::DOMApplicationCache::onprogress): + (WebCore::DOMApplicationCache::setOnupdateready): + (WebCore::DOMApplicationCache::onupdateready): + (WebCore::DOMApplicationCache::setOncached): + (WebCore::DOMApplicationCache::oncached): + (WebCore::DOMApplicationCache::associatedFrame): + * loader/appcache/DOMApplicationCache.idl: + * svg/EventTargetSVGElementInstance.cpp: + (WebCore::EventTargetSVGElementInstance::associatedFrame): + (WebCore::EventTargetSVGElementInstance::addEventListener): + (WebCore::EventTargetSVGElementInstance::removeEventListener): + (WebCore::EventTargetSVGElementInstance::dispatchEvent): + * svg/EventTargetSVGElementInstance.h: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::associatedFrame): + * xml/XMLHttpRequest.h: + (WebCore::XMLHttpRequest::setOnreadystatechange): + (WebCore::XMLHttpRequest::onreadystatechange): + (WebCore::XMLHttpRequest::setOnabort): + (WebCore::XMLHttpRequest::onabort): + (WebCore::XMLHttpRequest::setOnerror): + (WebCore::XMLHttpRequest::onerror): + (WebCore::XMLHttpRequest::setOnload): + (WebCore::XMLHttpRequest::onload): + (WebCore::XMLHttpRequest::setOnloadstart): + (WebCore::XMLHttpRequest::onloadstart): + (WebCore::XMLHttpRequest::setOnprogress): + (WebCore::XMLHttpRequest::onprogress): + * xml/XMLHttpRequest.idl: + * xml/XMLHttpRequestUpload.cpp: + (WebCore::XMLHttpRequestUpload::associatedFrame): + * xml/XMLHttpRequestUpload.h: + (WebCore::XMLHttpRequestUpload::setOnabort): + (WebCore::XMLHttpRequestUpload::onabort): + (WebCore::XMLHttpRequestUpload::setOnerror): + (WebCore::XMLHttpRequestUpload::onerror): + (WebCore::XMLHttpRequestUpload::setOnload): + (WebCore::XMLHttpRequestUpload::onload): + (WebCore::XMLHttpRequestUpload::setOnloadstart): + (WebCore::XMLHttpRequestUpload::onloadstart): + (WebCore::XMLHttpRequestUpload::setOnprogress): + (WebCore::XMLHttpRequestUpload::onprogress): + * xml/XMLHttpRequestUpload.idl: + +2008-09-30 Darin Adler <darin@apple.com> + + - roll out assertion breaking regression tests + + * platform/ScrollView.cpp: + (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion + that fires in regression tests. Hyatt can add it back later. The assertion + fires in the regression test because of layout that triggers repaint occuring + during the process of removing a frame. + +2008-09-30 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=21227 + <rdar://problem/6222134> add a way to set color for input placeholder text + + Test: fast/forms/placeholder-pseudo-style.html + + This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style + input elements when they are displaying the placeholder text. + + * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode. + * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode. + * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true. + * css/html4.css: Add rule to make placeholder text default to darkGray. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible. + (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility. + (WebCore::HTMLInputElement::dispatchBlurEvent): ditto. + (WebCore::HTMLInputElement::parseMappedAttribute): ditto. + (WebCore::HTMLInputElement::setValue): ditto. + (WebCore::HTMLInputElement::setValueFromRenderer): ditto. + (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state. + 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 + renderer will just ask the node if it should draw the placeholder. + * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible): + + * rendering/RenderTextControl.cpp: + (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color, + just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast. + If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme. + (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none". + 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 + is called directly from updateFromElement. updateFromElement will immediately update the text displayed. + (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed. + (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement. + * rendering/RenderTextControl.h: + +2008-09-30 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused + by failed allocation due to invalid counter/attr + and corresponding: <rdar://problem/6152371> + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseCounterContent): The spec indicates that + only identifiers should be accepted here. + +2008-09-30 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Oliver Hunt. + + Bug 21255: console.profileEnd() without a console.profile() crashes the + web inspector + + * page/Console.cpp: + (WebCore::Console::profileEnd): + +2008-09-30 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim Hatcher. + + Bug 21252: calling console.profile() with a title that is 2 chars or + shorter does not linkify it + + - Previously we tried to not linkify very short URLs but since profile + titles can be any length this is not always true. + + * page/inspector/inspector.js: + +2008-09-30 Dave Hyatt <hyatt@apple.com> + + Remove the update() method on ScrollView. This method was only called in one place, and its purpose + was to cause a display/flush to happen. Here is a breakdown of the method use on each platform: + (1) Not used on Mac + (2) Used on Windows + (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason. + (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason. + (5) Used on wx, but probably not needed (since wx has platform widgets like Mac). + + There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to + cause the display/flush to happen if needed (thus saving an extra method on ChromeClient). + With the changes to this method, the new behavior is as follows: + (1) Not used on Mac + (2) Used on Windows + (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating. + (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation. + (5) Not used on wx + + This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other + platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :) + + Reviewed by Sam Weinig + + * ChangeLog: + * dom/Document.cpp: + (WebCore::Document::implicitClose): + * platform/HostWindow.h: + (WebCore::HostWindow::paint): + * platform/ScrollView.h: + * platform/gtk/ScrollViewGtk.cpp: + * platform/mac/ScrollViewMac.mm: + * platform/qt/ScrollViewQt.cpp: + * platform/win/ScrollViewWin.cpp: + * platform/wx/ScrollViewWx.cpp: + +2008-09-30 Timothy Hatcher <timothy@apple.com> + + Focus the DOM tree in the Web Inspector when a node is inspected. + So when the search field has focus, the focus moves to the tree, + allowing the arrow keys work. This can happen when using the new + find in page feature. + + https://bugs.webkit.org/show_bug.cgi?id=21251 + + Reviewed by Geoff Garen. + + * page/inspector/ElementsPanel.js: + (WebInspector.ElementsPanel): Set currentFocusElement to + the main-panels element if the panel is visible. + (WebInspector.ElementsPanel.prototype.updateBreadcrumb): + Remove a set of currentFocusElement since this moved. + * page/inspector/inspector.js: + (WebInspector.set currentFocusElement): Always focus the element. + This ensures that when focus changes in the page and we don't + catch it, we will still focus the elements even if we think it + was already focused. + +2008-09-30 Timothy Hatcher <timothy@apple.com> + + Make the Web Inspector's toolbar icons darker when the mouse is + pressed on them. This matches the standard NSToolbar look. + + https://bugs.webkit.org/show_bug.cgi?id=21249 + rdar://problem/6033752 + + Reviewed by Adam Roben. + + * page/inspector/Images/databasesIcon.png: + * page/inspector/Images/elementsIcon.png: + * page/inspector/Images/profilesIcon.png: + * page/inspector/Images/resourcesIcon.png: + * page/inspector/Images/scriptsIcon.png: + * page/inspector/Panel.js: + * page/inspector/inspector.css: + +2008-09-30 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim Hatcher. + + Bug 21139: Profiler log message is wrong + - Correctly fix =( + Don't call _format twice. + + * page/Page.h: + * page/inspector/Console.js: + * page/inspector/ProfilesPanel.js: + * page/inspector/inspector.js: + +2008-09-30 Dave Hyatt <hyatt@apple.com> + + http://bugs.webkit.org/show_bug.cgi?id=21250 + + Rename updateContents to repaintContentRectangle and make it cross-platform by always sending + repaints up through the ChromeClient. + + Reviewed by Darin Adler + + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::repaint): + * page/Chrome.cpp: + (WebCore::Chrome::repaint): + * page/Chrome.h: + * page/ChromeClient.h: + * page/FrameView.cpp: + (WebCore::FrameView::hostWindow): + (WebCore::FrameView::repaintContentRectangle): + * page/FrameView.h: + * platform/HostWindow.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::repaintContentRectangle): + (WebCore::ScrollView::platformRepaintContentRectangle): + * platform/ScrollView.h: + * platform/gtk/ScrollViewGtk.cpp: + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::platformRepaintContentRectangle): + * platform/qt/ScrollViewQt.cpp: + * platform/win/ScrollViewWin.cpp: + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::platformRepaintContentRectangle): + +2008-09-30 Alexey Proskuryakov <ap@webkit.org> + + Non-Mac build fixes. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCoreSources.bkl: + * webcore-base.bkl: + Added DOMProtect.{cpp,h}. + +2008-09-39 Kevin Decker <kdecker@apple.com> + + Reviewed by John Sullivan. + + * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way + for hardware accelerated drawing in plug-ins and out of process plug-in rendering. + +2008-09-29 Julien Chaffraix <jchaffraix@webkit.org> + + Reviewed by Maciej Stachowiak. + + Bug 21106: .in format discussed changes + https://bugs.webkit.org/show_bug.cgi?id=21106 + + - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it + is the only namespace used. + + - Removed "generateFactory" and "generateWrapperFactory" parameters and + re-introduced the command line options. + + - Cleaned up the output of make_names.pl (removed unneeded new line). + + * DerivedSources.make: Added factories command line options. + * GNUmakefile.am: Ditto. + * WebCore.pro: Ditto and removed some arguments that were migrated to + the .in files. + + * dom/make_names.pl: Clean up (see above). + + * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory" + and "generateWrapperFactory" occurences. + * html/HTMLTagNames.in: Ditto. + * svg/svgattrs.in: Ditto. + * svg/svgtags.in: Ditto. + * svg/xlinkattrs.in: Ditto. + * xml/xmlattrs.in: Ditto. + +2008-09-29 Chris Fleizach <cfleizach@apple.com> + + Reviewed by John Sullivan. + + <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed + Make sure that certain types of elements do not return children and, moreover, do not waste their + energy trying to return children + + Test: accessibility/nochildren-elements.html + + * page/AccessibilityObject.h: + (WebCore::AccessibilityObject::canHaveChildren): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::canHaveChildren): + (WebCore::AccessibilityRenderObject::addChildren): + * page/AccessibilityRenderObject.h: + +2008-09-30 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=21213 + MessagePort crash when GC collects an object with a pending close event + + Test: fast/events/message-channel-gc-2.html + fast/events/message-channel-listener-circular-ownership.html + + * bindings/DOMProtect.cpp: Added. + (WebCore::gcProtectDOMObject): + (WebCore::gcUnprotectDOMObject): + * bindings/DOMProtect.h: Added. + Added an abstraction for GC protection to avoid the need to call JS bindings code from + DOM objects directly. + + * dom/MessagePort.cpp: + (WebCore::CloseMessagePortTimer::fired): + (WebCore::MessagePort::queueCloseEvent): + GC protect MessagePort wrapper while there is a pending close event. + This may be necessary for message events, too, but that case is not a crasher, and actually + behaves to the letter of the current HTML5 text, so I'll consider it later. + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::loadRequestAsynchronously): + (WebCore::XMLHttpRequest::dropProtection): + Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC. + + * bindings/js/JSMessagePortCustom.cpp: + (WebCore::JSMessagePort::addEventListener): + (WebCore::JSMessagePort::removeEventListener): + (WebCore::JSMessagePort::setOnmessage): + (WebCore::JSMessagePort::setOnclose): + Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not + know if this was causing any real issues, but we shouldn't lie to DOMWindowBase. + + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + (WebCore::JSXMLHttpRequestUpload::mark): + While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not + from XMLHttpRequest. + +2008-09-30 Adam Roben <aroben@apple.com> + + Windows build fix + + * DerivedSources.cpp: Add JSEventTargetNode.cpp. + +2008-09-29 Sam Weinig <sam@webkit.org> + + Reviewed by Tim Hatcher. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=21122 + Autogenerate JS event listeners + + - Generate EventTargetNode. + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSEventListener.cpp: + * bindings/js/JSEventTarget.cpp: Added. + (WebCore::toJS): + * bindings/js/JSEventTarget.h: Added. + * bindings/js/JSEventTargetBase.cpp: Removed. + * bindings/js/JSEventTargetBase.h: + * bindings/js/JSEventTargetNode.cpp: Removed. + * bindings/js/JSEventTargetNode.h: Removed. + * bindings/js/JSEventTargetNodeCustom.cpp: Added. + (WebCore::JSEventTargetNode::addEventListener): + (WebCore::JSEventTargetNode::removeEventListener): + (WebCore::JSEventTargetNode::dispatchEvent): + (WebCore::JSEventTargetNode::getListener): + (WebCore::JSEventTargetNode::setListener): + (WebCore::JSEventTargetNode::pushEventHandlerScope): + * bindings/js/JSEventTargetSVGElementInstance.cpp: + (WebCore::): + (WebCore::JSEventTargetSVGElementInstancePrototype::self): + (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot): + (jsEventTargetAddEventListener): + (jsEventTargetRemoveEventListener): + (jsEventTargetDispatchEvent): + * bindings/js/JSEventTargetSVGElementInstance.h: + (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype): + (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo): + * bindings/scripts/CodeGeneratorJS.pm: + * dom/EventTargetNode.idl: Added. + +2008-09-29 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + - https://bugs.webkit.org/show_bug.cgi?id=21214 + work on getting rid of ExecState + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument + for base class constructor. + +2008-09-29 David Hyatt <hyatt@apple.com> + + Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page + now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars + and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations. + (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.) + + Reviewed by Sam Weinig + + * WebCore.xcodeproj/project.pbxproj: + * page/Chrome.h: + * platform/HostWindow.h: Added. + (WebCore::HostWindow::HostWindow): + (WebCore::HostWindow::~HostWindow): + +2008-09-29 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders Carlsson. + + * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of + 2000. + +2008-09-29 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData + + * rendering/RenderThemeWin.cpp: + (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added. + (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being + unloaded, to avoid calling uxtheme.dll functions after that library has + been unloaded. + * rendering/RenderThemeWin.h: + +2008-09-29 Chris Fleizach <cfleizach@apple.com> + + Reviewed by John Sullivan + + <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas + + Sends AXLoadComplete only when the top level web area is finished loading + + * dom/Document.cpp: + (WebCore::Document::implicitClose): + +2008-09-29 Timothy Hatcher <timothy@apple.com> + + Makes the node highlight always show up when hovering a node in + the Web Inspector now that the highlight does not scroll to reveal + the node. Also adds a hover effect in the inspector when hovering + causes a highlight in the page. This ties the user hovering action + to the highlight so it is clear what causes the highlight to appear. + + Also the highlight now temporarily shows up for 2 seconds after + selecting a node in the DOM tree. So arrowing around in the tree + will show the node on the page, providing feedback to the user. + + Plus fixes an issue where quickly moving away from hovering + a node would keep showing the page highlight. This was happening + in breadcrumbs and the DOM tree. + + https://bugs.webkit.org/show_bug.cgi?id=21220 + + Reviewed by Kevin McCullough. + + * page/inspector/Console.js: + (WebInspector.Console.prototype._mouseOverNode): Added. Used for + hovering DOM nodes in the console. + (WebInspector.Console.prototype._mouseOutOfNode): Ditto. + (WebInspector.Console.prototype._formatnode): Use the new event + listeners and add a class name to the anchor element. + * page/inspector/ElementsPanel.js: + (WebInspector.ElementsPanel): Add new event listeners to the + crumbs element to do the node hovering highlight. + (WebInspector.ElementsPanel.prototype.hide): + (WebInspector.ElementsPanel.prototype.reset): + (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs): + (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs): + (WebInspector.ElementsPanel.prototype.updateBreadcrumb): + * page/inspector/ElementsTreeOutline.js: + (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode): + Show the node hishlight for 2 seconds then restore the highlight + to the current hovered node. + (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the + hovered node and set the hovered state on the tree element. + (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the + hovered node to null and removed the hovered state from the previous + hovered tree element. + (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds + the hovered class to the list item. + (WebInspector.ElementsTreeElement.prototype.onattach): Ditto. + * page/inspector/inspector.css: + * page/inspector/inspector.js: + (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon + based on the showingDOMNodeHighlight property of 50ms or 500ms. This + causes the highlight to change sooner if there is one already showing + and appear later if there isn't one showing. This is like tooltips, + hovering a node for 500ms will cause highlight then mousing between nodes + will keep the highlight and change to the new node. + (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and + always reset the timeout so continuous mousing does not keep flasshing + the highlight on the screen. + (WebInspector._updateHoverHighlight): Removed the alt key check and added + the showingDOMNodeHighlight property. + (WebInspector.documentKeyDown): Removed the alt key check. + (WebInspector.documentKeyUp): Ditto. + (WebInspector.reset): Clear the hoveredDOMNode. + +2008-09-29 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Anders Carlsson + + Fix RenderStyle leak in animation code, and assert that + keyframe resolution in CSSStyleSelector is not going to clobber + m_style. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::keyframeStylesForAnimation): + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::~KeyframeAnimation): + +2008-09-29 Chris Marrin <cmarrin@apple.com> + + Reviewed by Dave Hyatt + + Fixed https://bugs.webkit.org/show_bug.cgi?id=20995 + Rewrite keyframe resolution to be like styleForElement() + + Test: animations/lineheight-animation.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::addKeyframeStyle): + (WebCore::CSSStyleSelector::~CSSStyleSelector): + (WebCore::CSSStyleSelector::keyframeStylesForAnimation): + (WebCore::CSSRuleSet::addRulesFromSheet): + (WebCore::CSSStyleSelector::mapAnimationName): + * css/CSSStyleSelector.h: + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::updateKeyframeAnimations): + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::KeyframeAnimation): + (WebCore::KeyframeAnimation::animate): + (WebCore::KeyframeAnimation::hasAnimationForProperty): + (WebCore::KeyframeAnimation::sendAnimationEvent): + (WebCore::KeyframeAnimation::overrideAnimations): + (WebCore::KeyframeAnimation::resumeOverriddenAnimations): + (WebCore::KeyframeAnimation::affectsProperty): + (WebCore::KeyframeAnimation::validateTransformFunctionList): + * page/animation/KeyframeAnimation.h: + * rendering/style/Animation.cpp: + (WebCore::Animation::animationsMatch): + * rendering/style/Animation.h: + * rendering/style/KeyframeList.cpp: + (WebCore::KeyframeList::~KeyframeList): + (WebCore::KeyframeList::clear): + (WebCore::KeyframeList::insert): + * rendering/style/KeyframeList.h: + (WebCore::KeyframeValue::KeyframeValue): + (WebCore::KeyframeList::KeyframeList): + (WebCore::KeyframeList::operator!=): + (WebCore::KeyframeList::animationName): + (WebCore::KeyframeList::addProperty): + (WebCore::KeyframeList::containsProperty): + (WebCore::KeyframeList::beginProperties): + (WebCore::KeyframeList::endProperties): + (WebCore::KeyframeList::isEmpty): + (WebCore::KeyframeList::size): + (WebCore::KeyframeList::beginKeyframes): + (WebCore::KeyframeList::endKeyframes): + * rendering/style/RenderStyle.h: + * rendering/style/StyleRareNonInheritedData.cpp: + * rendering/style/StyleRareNonInheritedData.h: + +2008-09-29 Chris Marrin <cmarrin@apple.com> + + Reviewed by Eric Seidel + + Clean up fix in PropertyWrapperGetter::equals + https://bugs.webkit.org/show_bug.cgi?id=21011 + + Test: transitions/override-transition-crash.html + + * page/animation/AnimationBase.cpp: + (WebCore::PropertyWrapperGetter::equals): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::updateTransitions): + +2008-09-29 Chris Marrin <cmarrin@apple.com> + + Reviewed by Eric Seidel + + https://bugs.webkit.org/show_bug.cgi?id=21001 + Starting transition after animation, when animation + is finished, transition is wrong. + + Test: animations/transition-and-animation-2.html + + * page/animation/AnimationBase.h: + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::updateTransitions): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + (WebCore::CompositeAnimation::resetTransitions): + (WebCore::CompositeAnimation::cleanupFinishedAnimations): + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::ImplicitAnimation): + (WebCore::ImplicitAnimation::~ImplicitAnimation): + (WebCore::ImplicitAnimation::animate): + (WebCore::ImplicitAnimation::reset): + * page/animation/ImplicitAnimation.h: + +2008-09-29 Chris Marrin <cmarrin@apple.com> + + Reviewed by Sam Weinig + + https://bugs.webkit.org/show_bug.cgi?id=20921 + -webkit-animation-timing-function: inside of keyframes is ignored + + Test: animations/keyframe-timing-functions.html + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::progress): + * page/animation/AnimationBase.h: + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::animate): + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::animate): + +2008-09-29 Dan Bernstein <mitz@apple.com> + + - Windows build fix + + * platform/ScrollView.cpp: + (WebCore::ScrollView::platformScroll): + +2008-09-29 Dan Bernstein <mitz@apple.com> + + - another attempt at a Windows build fix + + * platform/ScrollView.cpp: + (WebCore::platformScroll): + +2008-09-29 Dan Bernstein <mitz@apple.com> + + - Windows build fix + + * platform/ScrollView.cpp: + (WebCore::ScrollView::platformSetScrollPosition): + +2008-09-29 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21218 + + Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows. + It's silly that the code was this fragile, but for now just put the check back in. + + Reviewed by Dan Bernstein + + * platform/ScrollView.cpp: + (WebCore::ScrollView::setScrollbarModes): + +2008-09-29 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21216 + + Make setScrollPosition and scroll() cross-platform. + + Reviewed by Anders + + * platform/ScrollView.cpp: + (WebCore::ScrollView::setScrollPosition): + (WebCore::ScrollView::scroll): + * platform/ScrollView.h: + * platform/gtk/ScrollViewGtk.cpp: + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::platformSetScrollPosition): + (WebCore::ScrollView::platformScroll): + * platform/qt/ScrollViewQt.cpp: + * platform/win/ScrollViewWin.cpp: + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::platformSetScrollPosition): + (WebCore::ScrollView::platformScroll): + +2008-09-29 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Oliver. + + Bug 21139: Profiler log message is wrong + - Because _format was called twice the number in the log was incremented + too many times, but we were passing it around in the link the whole time + + * page/inspector/ProfilesPanel.js: + * page/inspector/inspector.js: + +2008-09-29 Sam Weinig <sam@webkit.org> + + Reviewed by Cameron Zwarich. + + Autogenerate EventListeners, addEventListener and removeEventListener + for JSDOMWindow. + + * bindings/js/JSDOMWindowBase.cpp: + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::onwebkitanimationstart): + (WebCore::JSDOMWindow::setOnwebkitanimationstart): + (WebCore::JSDOMWindow::onwebkitanimationiteration): + (WebCore::JSDOMWindow::setOnwebkitanimationiteration): + (WebCore::JSDOMWindow::onwebkitanimationend): + (WebCore::JSDOMWindow::setOnwebkitanimationend): + (WebCore::JSDOMWindow::onwebkittransitionend): + (WebCore::JSDOMWindow::setOnwebkittransitionend): + (WebCore::JSDOMWindow::addEventListener): + (WebCore::JSDOMWindow::removeEventListener): + (WebCore::JSDOMWindow::setListener): + (WebCore::JSDOMWindow::getListener): + * bindings/scripts/CodeGeneratorJS.pm: + * page/DOMWindow.idl: + +2008-09-29 Thiago Macieira <thiago.macieira@nokia.com> + + Reviewed by Simon. + + Changed copyright from Trolltech ASA to Nokia. + + Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008. + + * bindings/js/JSMimeTypeArrayCustom.cpp: + * bindings/js/JSNavigatorCustom.cpp: + * bindings/js/JSPluginArrayCustom.cpp: + * bindings/js/JSPluginCustom.cpp: + * bindings/js/ScriptControllerMac.mm: + * bindings/js/ScriptControllerQt.cpp: + * bridge/qt/qt_class.cpp: + * bridge/qt/qt_class.h: + * bridge/qt/qt_instance.cpp: + * bridge/qt/qt_instance.h: + * bridge/qt/qt_runtime.cpp: + * bridge/qt/qt_runtime.h: + * bridge/testqtbindings.cpp: + * css/makegrammar.pl: + * css/makeprop.pl: + * css/makevalues.pl: + * dom/Node.cpp: + * dom/TagNodeList.cpp: + * dom/TagNodeList.h: + * dom/XMLTokenizer.cpp: + * dom/XMLTokenizer.h: + * dom/XMLTokenizerLibxml2.cpp: + * dom/XMLTokenizerQt.cpp: + * editing/Editor.cpp: + * editing/EditorCommand.cpp: + * html/CanvasRenderingContext2D.cpp: + * html/CanvasStyle.cpp: + * html/HTMLAppletElement.cpp: + * html/HTMLEmbedElement.cpp: + * html/HTMLObjectElement.cpp: + * loader/FrameLoader.cpp: + * page/Chrome.cpp: + * page/EditorClient.h: + * page/Frame.cpp: + * page/Frame.h: + * page/FramePrivate.h: + * page/Navigator.cpp: + * page/Navigator.h: + * page/Navigator.idl: + * page/mac/FrameMac.mm: + * page/qt/EventHandlerQt.cpp: + * platform/graphics/qt/FontCacheQt.cpp: + * platform/graphics/qt/FontCustomPlatformData.cpp: + * platform/graphics/qt/FontCustomPlatformData.h: + * platform/graphics/qt/FontPlatformData.h: + * platform/graphics/qt/FontQt.cpp: + * platform/graphics/qt/GlyphPageTreeNodeQt.cpp: + * platform/graphics/qt/GraphicsContextQt.cpp: + * platform/graphics/qt/ImageDecoderQt.cpp: + * platform/graphics/qt/ImageDecoderQt.h: + * platform/graphics/qt/ImageSourceQt.cpp: + * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: + * platform/graphics/qt/MediaPlayerPrivatePhonon.h: + * platform/graphics/qt/SimpleFontDataQt.cpp: + * platform/gtk/MIMETypeRegistryGtk.cpp: + * platform/mac/MIMETypeRegistryMac.mm: + * platform/network/qt/QNetworkReplyHandler.cpp: + * platform/network/qt/QNetworkReplyHandler.h: + * platform/network/qt/ResourceHandleQt.cpp: + * platform/network/qt/ResourceRequestQt.cpp: + * platform/qt/ClipboardQt.cpp: + * platform/qt/EventLoopQt.cpp: + * platform/qt/KURLQt.cpp: + * platform/qt/LoggingQt.cpp: + * platform/qt/MIMETypeRegistryQt.cpp: + * platform/qt/PasteboardQt.cpp: + * platform/qt/PlatformScreenQt.cpp: + * platform/qt/PopupMenuQt.cpp: + * platform/qt/QWebPopup.cpp: + * platform/qt/QWebPopup.h: + * platform/qt/RenderThemeQt.cpp: + * platform/qt/ScrollbarQt.cpp: + * platform/qt/ScrollbarThemeQt.cpp: + * platform/qt/WheelEventQt.cpp: + * platform/qt/html4-adjustments-qt.css: + * platform/wx/MimeTypeRegistryWx.cpp: + * plugins/MimeType.cpp: + * plugins/MimeType.h: + * plugins/MimeType.idl: + * plugins/MimeTypeArray.cpp: + * plugins/MimeTypeArray.h: + * plugins/MimeTypeArray.idl: + * plugins/Plugin.cpp: + * plugins/Plugin.h: + * plugins/Plugin.idl: + * plugins/PluginArray.cpp: + * plugins/PluginArray.h: + * plugins/PluginArray.idl: + * plugins/PluginData.cpp: + * plugins/PluginData.h: + * plugins/gtk/PluginDataGtk.cpp: + * plugins/mac/PluginDataMac.mm: + * plugins/qt/PluginDataQt.cpp: + * plugins/win/PluginDataWin.cpp: + * rendering/RenderTableCol.cpp: + * rendering/RenderTableCol.h: + +2008-09-29 Thiago Macieira <thiago.macieira@trolltech.com> + + Reviewed by Simon + + Fix compilation with gcc 4.3 + + gcc 4.3 is stricter and ctype.h isn't getting included + automatically here by dependencies. So do it directly. + + * platform/qt/PlatformKeyboardEventQt.cpp: + +2008-09-29 Morten Sørvig <msorvig@trolltech.com> + + Reviewed by Simon. + + Fix compilation with Qt/Mac without plugins. + + * platform/qt/TemporaryLinkStubs.cpp: + +2008-09-29 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper. + In the few places that we call .upper() in WebCore the strings represent things like + tag and attribute names, which are nearly always going to be ASCII. + + * platform/text/StringImpl.cpp: + (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length + in to Unicode::toLower the second time. + (WebCore::StringImpl::upper): + +2008-09-28 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string, + rather than String::operator+=. + + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::cssText): + +2008-09-28 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Speed up computedStyle.getPropertyValue('color') by 4.5x. + + Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+= + as it avoids many memory reallocations. + + This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html> + by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for + unrelated properties on an element. + + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar> + and use appendNumber rather than the String::number in order to cut down on memory allocations. + * platform/text/PlatformString.h: + (WebCore::appendNumber): A helper function for formatting an unsigned character as a number + into a Vector<UChar>. + +2008-09-28 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Remove spurious call to lower(). + + * css/MediaQueryEvaluator.cpp: + (WebCore::MediaQueryEvaluator): + +2008-09-28 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Use a CaseFoldingHash instead of calling lower on family strings. + + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): + (WebCore::CSSFontSelector::getFontData): + * css/CSSFontSelector.h: + +2008-09-28 Timothy Hatcher <timothy@apple.com> + + Remove the scrollIntoViewIfNeeded() call when drawing the + Inspector node highlight. + + <rdar://problem/6115804> Don't scroll when highlighting (21000) + https://bugs.webkit.org/show_bug.cgi?id=21000 + + Reviewed by Dan Bernstein. + + * page/InspectorController.cpp: + (WebCore::InspectorController::drawNodeHighlight): + +2008-09-28 David Hyatt <hyatt@apple.com> + + Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are + changed. + + Reviewed by Dan Bernstein + + * platform/mac/ScrollbarThemeMac.mm: + (+[ScrollbarPrefsObserver appearancePrefsChanged:]): + +2008-09-28 Timothy Hatcher <timothy@apple.com> + + Clear the current search results in the Inspector when + the search query is less than 3 characters long. Incremental + searches only occur for 3 characters or longer, but deleting + under this limit would not clear the results unless the whole + query was deleted. + + https://bugs.webkit.org/show_bug.cgi?id=21196 + + Reviewed by Dan Bernstein. + + * page/inspector/inspector.js: + (WebInspector.performSearch): Check for short queries in the + if statement that triggers the clear. + +2008-09-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED + + * platform/graphics/win/FontCustomPlatformData.cpp: + (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and + overlayLength parameters. + (WebCore::EOTStream::read): Added code to overlay the + m_overlayLength bytes starting at m_overlayDst with the same number of + bytes from m_overlaySrc. + (WebCore::createFontCustomPlatformData): Changed to get overlay + parameters from getEOTHeader. + * platform/graphics/win/GetEOTHeader.cpp: + (WebCore::getEOTHeader): Added code to specify overlaying of the + family name with the prefix of the full name if they differ, because + that such a difference causes TTLoadEmbeddedFont to fail. + * platform/graphics/win/GetEOTHeader.h: + +2008-09-28 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=20366 + Reproducible test failure for editing/undo/undo-iframe-location-change.html + + * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test. + +2008-09-28 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig (except for a few comment and header tweaks). + + - https://bugs.webkit.org/show_bug.cgi?id=21158 + reduce use of virtual functions in Node for speed + + Speeds up Dromaeo a bit less than 1%. + + * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of + Node.h now that some inlines are in there. + + * dom/Attr.h: Override both the virtual and non-virtual name functions. + + * dom/ChildNodeList.cpp: + (WebCore::ChildNodeList::nodeMatches): Updated to take an Element. + * dom/ChildNodeList.h: Ditto. + * dom/ClassNodeList.cpp: + (WebCore::ClassNodeList::nodeMatches): Ditto. + * dom/ClassNodeList.h: Ditto. + + * dom/Document.h: Put the Node::isDocumentNode() function's inline + definition here where it can see the Document class definition. + + * dom/DynamicNodeList.cpp: + (WebCore::DynamicNodeList::length): Changed to pass an Element. + (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto. + (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto. + (WebCore::DynamicNodeList::itemWithName): Ditto. + * dom/DynamicNodeList.h: Ditto. + + * dom/Element.cpp: Removed virtualHasTagName. + * dom/Element.h: Made localName, prefix, namespaceURI, and + styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName, + virtualNamespaceURI, and removed virtualHasTagName. Put the + Node::hasTagName, Node::hasAttributes, and Node::attributes + functions' inline definitions here where they can see the Element + class definition. + + * dom/NameNodeList.cpp: + (WebCore::NameNodeList::nodeMatches): Updated to take an Element. + * dom/NameNodeList.h: Ditto. + + * dom/Node.cpp: + (WebCore::Node::virtualPrefix): Renamed from prefix. + (WebCore::Node::virtualLocalName): Renamed from localName. + (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI. + (WebCore::Node::styleForRenderer): Handle the Element case here. + + * dom/Node.h: Removed definition of hasTagName that calls virtual, + since we now have a non-virtual version. Made hasAttributes, + attributes, remove, localName, namespaceURI, prefix, isDocumentNode, + and styleForRenderer non-virtual. Added virtualPrefix, + virtualLocalName, and virtualNamespaceURI. Removed isMalformed + and setMalformed, which are used only on HTMLFormElement objects. + + * dom/TagNodeList.cpp: + (WebCore::TagNodeList::nodeMatches): Updated to take an Element. + * dom/TagNodeList.h: Ditto. + + * html/HTMLAnchorElement.cpp: Added a comment. + * html/HTMLFormControlElement.cpp: Ditto. + + * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex + function. Marked tabIndex function virtual explicitly for clarity. + + * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex + function. Marked isFocusable function virtual explicitly for clarity. + + * html/HTMLElement.h: Marked tabIndex function virtual explicitly for + clarity. + * html/HTMLFormControlElement.h: Ditto. + + * html/HTMLFormElement.h: Made isMalformed non-virtual. + + * html/HTMLParser.cpp: + (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement + pointer to call localName since that one does not need to call a virtual + function. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before + calling isMalformed. We already did a tag name check so we know it's + an HTMLFormELement. + + * xml/XPathUtil.cpp: + (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls + to nodeType(), since it's a virtual function. + +2008-09-28 David Hyatt <hyatt@apple.com> + + Make frameRectsChanged() cross-platform on ScrollView. + + Reviewed by Oliver Hunt + + * platform/ScrollView.cpp: + (WebCore::ScrollView::frameRectsChanged): + * platform/ScrollView.h: + * platform/gtk/ScrollViewGtk.cpp: + * platform/qt/ScrollViewQt.cpp: + * platform/win/ScrollViewWin.cpp: + * platform/wx/ScrollViewWx.cpp: + +2008-09-28 Oliver Hunt <oliver@apple.com> + + Reviewed by Maciej Stachowiak. + + Bug 21141: REGRESSION: Exception messages for user entered commands are poor + <https://bugs.webkit.org/show_bug.cgi?id=21141> + + The bug repsonsible for this was the the JSInspectedObjectWrapper instances + were not initialising their StructureID's to indicate that the wrapper + overrides hasInstance, etc. The solution is simply to use the createStructureID + helper on JSQuarantinedObjectWrapper to create a correct StructureID. + + * bindings/js/JSInspectedObjectWrapper.cpp: + (WebCore::JSInspectedObjectWrapper::wrap): + +2008-09-28 David Hyatt <hyatt@apple.com> + + Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in + terms of lines. + + Reviewed by Oliver Hunt + + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::dispatchWheelEvent): + +2008-09-28 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21191 + + Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent + on ScrollView to be cross-platform. + + Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous + events are now pixel wheel events. + + Page scrolling as implemented in bug 17589 was completely broken. It had the following problems: + (1) Page scrolling has been corrected to be properly detected (on Windows + page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The + old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought + you could page scroll horizontally. + (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height. + This caused the scroll amount for page scrolling to be way too large on layers. + + Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3. + + Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need + for separate multiplier fields (or for the need to ask if you're looking for line sensitivity). + + Reviewed by Oliver Hunt + + * editing/EditorCommand.cpp: + (WebCore::verticalScrollDistance): + * page/EventHandler.cpp: + (WebCore::scrollAndAcceptEvent): + (WebCore::EventHandler::handleWheelEvent): + * platform/PlatformWheelEvent.h: + (WebCore::): + (WebCore::PlatformWheelEvent::pos): + (WebCore::PlatformWheelEvent::globalPos): + (WebCore::PlatformWheelEvent::deltaX): + (WebCore::PlatformWheelEvent::deltaY): + (WebCore::PlatformWheelEvent::granularity): + (WebCore::PlatformWheelEvent::x): + (WebCore::PlatformWheelEvent::globalX): + (WebCore::PlatformWheelEvent::ignore): + (WebCore::PlatformWheelEvent::horizontalLineMultiplier): + (WebCore::PlatformWheelEvent::verticalLineMultiplier): + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + * platform/Scrollbar.h: + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::updateScrollbars): + * platform/gtk/WheelEventGtk.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + * platform/mac/ScrollViewMac.mm: + * platform/mac/WheelEventMac.mm: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::updateScrollbars): + * platform/qt/WheelEventQt.cpp: + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::updateScrollbars): + * platform/win/WheelEventWin.cpp: + (WebCore::PlatformWheelEvent::horizontalLineMultiplier): + (WebCore::PlatformWheelEvent::verticalLineMultiplier): + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): + (WebCore::ScrollView::wheelEvent): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateScrollInfoAfterLayout): + +2008-09-27 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Sam Weinig. + + fix https://bugs.webkit.org/show_bug.cgi?id=20994 + <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned + + HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert + all unsigned media attributes from string with toUInt() instead of toInt(). + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt(). + + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::videoWidth): + (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl. + (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return + unsigned value. + (WebCore::HTMLVideoElement::height): Ditto. + (WebCore::HTMLVideoElement::setWidth): take unsigned value. + (WebCore::HTMLVideoElement::setHeight): Ditto. + + * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned. + + * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec. + +2008-09-27 Timothy Hatcher <timothy@apple.com> + + Fixes an exception when typing a command in the Console. + + Reviewed by Oliver Hunt. + + * page/inspector/Console.js: + (WebInspector.Console.prototype.addMessage): Null check + this.previosMessage. + +2008-09-27 Timothy Hatcher <timothy@apple.com> + + Fixes a bug where the Profiles panel sidebar would be empty + after closing and reopening the Web Inspector. + + https://bugs.webkit.org/show_bug.cgi?id=21179 + + Reviewed by Sam Weinig. + + * page/inspector/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype.reset): Don't call + populateInterface, it is called automatically. + (WebInspector.ProfilesPanel.prototype._populateProfiles): + Return early if the sidebar is already populated. + +2008-09-27 Dave Hyatt <hyatt@apple.com> + + Bug 21190. The line scroll amount on Windows is way too small. A patch for bug 17589 for wheel sensitivity + incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling. Line scrolling with the + scrollbar has nothing to do with mouse wheeling. This patch reverts the scrollbars to use the same line + step as other platforms while leaving the wheel delta alone for use with wheel scrolling. + + There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch + (which should never have landed in the first place). + + Reviewed by Tim Hatcher, Sam Weinig + + * platform/win/ScrollViewWin.cpp: + (WebCore::adjustDeltaForPageScrollMode): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::wheelEvent): + +2008-09-27 David Hyatt <hyatt@apple.com> + + Make the scrollbarUnderMouse method cross-platform. + + Reviewed by Sam Weinig + + * platform/ScrollView.cpp: + (WebCore::ScrollView::scrollbarUnderMouse): + * platform/gtk/ScrollViewGtk.cpp: + * platform/mac/ScrollViewMac.mm: + * platform/qt/ScrollViewQt.cpp: + * platform/win/ScrollViewWin.cpp: + * platform/wx/ScrollViewWx.cpp: + +2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org> + + Gtk+ build fix. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::ScrollViewPrivate::valueChanged): + +2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=20287 + [Gtk] disable plugins for gtk/directfb target + + Introduce WTF_PLATFORM_X11 for X11 builds. + Also use target-specific packages when building the port + + * platform/gtk/PlatformScreenGtk.cpp: + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::updatePluginWidget): + (WebCore::PluginView::getValueStatic): + (WebCore::PluginView::getValue): + (WebCore::PluginView::init): + +2008-09-27 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21188 + + Make scrollbar suppression and resizer avoidance cross-platform. + + Reviewed by Anders + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::transitionToCommitted): + * page/FrameView.cpp: + (WebCore::FrameView::resetScrollbars): + (WebCore::FrameView::clear): + (WebCore::FrameView::layout): + (WebCore::FrameView::restoreScrollbar): + (WebCore::FrameView::windowResizerRect): + * page/FrameView.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::init): + (WebCore::ScrollView::resizerOverlapsContent): + (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount): + (WebCore::ScrollView::setParent): + (WebCore::ScrollView::setScrollbarsSuppressed): + (WebCore::ScrollView::platformSetScrollbarsSuppressed): + * platform/ScrollView.h: + (WebCore::ScrollView::scrollbarsSuppressed): + (WebCore::ScrollView::windowResizerRect): + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::setFrameRect): + (WebCore::Scrollbar::setParent): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::paint): + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::ScrollView): + (WebCore::ScrollView::~ScrollView): + (WebCore::ScrollView::platformSetScrollbarsSuppressed): + (WebCore::ScrollView::setScrollPosition): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::ScrollViewPrivate::valueChanged): + (WebCore::ScrollView::frameRectsChanged): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::paint): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::ScrollViewPrivate::valueChanged): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::paint): + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + +2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org> + + Rubber-stamped by Anders Carlsson. + + Compile fix. + + * plugins/PluginView.cpp: + (WebCore::PluginView::load): + +2008-09-27 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Sam Weinig. + + Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>. + Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html + + Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function. + + * loader/CachedResource.cpp: + (WebCore::CachedResource::~CachedResource): + +2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Simon Hausmann. + + [qt] Use QImageReader to figure out which image formats are supported + - Qt can have many different plugins for different image formats. Instead + of checking only for a few in WebCore use Qt to determine if this data + can be treated as an image. + + * platform/graphics/qt/ImageSourceQt.cpp: + (WebCore::canHandleImage): + (WebCore::createDecoder): + +2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org> + + + [qt] Clean the pattern code + - Use save/restore on the painter after manipulating the + pen/brush + - Make the context and object null checking consistent. CG is using + the object unconditionally so the Qt webkit platform can do the + same. + - Move code below the early exit. Only use the m_ownerElement before + the early exit as the CG code is doing it. + + * svg/graphics/SVGPaintServerPattern.h: + * svg/graphics/qt/SVGPaintServerPatternQt.cpp: + (WebCore::SVGPaintServerPattern::setup): + (WebCore::SVGPaintServerPattern::teardown): + +2008-09-27 Keishi Hattori <casey.hattori@gmail.com> + + Added support for console.trace. + + https://bugs.webkit.org/show_bug.cgi?id=19157 + + Reviewed by Kevin McCullough and Tim Hatcher. + + * bindings/js/JSConsoleCustom.cpp: + (WebCore::JSConsole::trace): + * page/Console.cpp: + (WebCore::Console::trace): Calls Machine::retrieveCaller to + get a stack trace. + * page/Console.h: + (WebCore::): Added TraceMessageLevel. + * page/Console.idl: Added console.trace. + * page/inspector/Console.js: + (ConsoleMessage): Added case for TraceMessageLevel. + +2008-09-27 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=21178 + <rdar://problem/6248651> + + Check if the plug-in is allowed to load the resource. This matches Firefox. + + Test: http/tests/plugins/local-geturl-from-remote.html + + * plugins/PluginView.cpp: + (WebCore::PluginView::load): + +2008-09-22 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Eric Seidel. + + Added SVG pattern support to Qt. + + [Qt] SVG patterns are missing + https://bugs.webkit.org/show_bug.cgi?id=20973 + + * svg/graphics/qt/SVGPaintServerPatternQt.cpp: + (WebCore::SVGPaintServerPattern::setup): + +2008-09-27 Keishi Hattori <casey.hattori@gmail.com> + + Fixed a bug in the JS syntax highlighter with multiple line tokens. + + https://bugs.webkit.org/show_bug.cgi?id=21171 + + Reviewed by Tim Hatcher. + + * page/inspector/SourceFrame.js: + (syntaxHighlightJavascriptLine): Initialize previousMatchLength. + +2008-09-27 Timothy Hatcher <timothy@apple.com> + + Change searching in the Profiles panel to not match the + Self and Total columns when there are no units. The only + column that is matched for unitless number searches is + now the Calls column. + + https://bugs.webkit.org/show_bug.cgi?id=21169 + + Reviewed by Sam Weinig. + + * page/inspector/ProfileView.js: + (WebInspector.ProfileView.prototype.performSearch): + +2008-09-27 David Hyatt <hyatt@apple.com> + + Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged. + + Reviewed by Sam Weinig + + * platform/ScrollView.h: + * platform/Widget.h: + (WebCore::Widget::boundsRect): + (WebCore::Widget::invalidate): + (WebCore::Widget::frameRectsChanged): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollViewScrollbar::frameRectsChanged): + (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): + (WebCore::ScrollView::setFrameRect): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::frameRectsChanged): + * platform/gtk/ScrollbarGtk.cpp: + (ScrollbarGtk::setFrameRect): + (ScrollbarGtk::frameRectsChanged): + * platform/gtk/ScrollbarGtk.h: + * platform/gtk/WidgetGtk.cpp: + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): + (WebCore::ScrollView::setFrameRect): + (WebCore::ScrollView::frameRectsChanged): + (WebCore::ScrollView::updateScrollbars): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): + (WebCore::ScrollView::setFrameRect): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::frameRectsChanged): + * plugins/PluginView.cpp: + (WebCore::PluginView::frameRectsChanged): + * plugins/PluginView.h: + +2008-09-27 Simon Hausmann <hausmann@webkit.org> + + Refix the previous build fix to compile on non-Qt platforms, too. + + * WebCore.pro: Don't pass -i to create_hashtable, added missing -n + WebCore to generate the PrototypeTable in the WebCore namespace + * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype + table remains in the Webcore namespace + (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): + +2008-09-27 Simon Hausmann <hausmann@webkit.org> + + Fix compilation with gcc 4.3 (probably > 4.0) + + * bindings/js/JSDOMWindowBase.cpp: Don't define static property + get/put functions inside the WebCore namespace. + * bindings/js/JSEventTargetBase.cpp: Ditto. + * bindings/js/JSEventTargetNode.cpp: Ditto. + * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto. + * bindings/js/JSEventTargetBase.h: Forward declare + JSEventTargetPrototypeTable in the JSC namespace as the lut.h file + defines it in the JSC namespace. + (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC:: + prefix for PrototypeTable symbol. + +2008-09-27 David Hyatt <hyatt@apple.com> + + Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect. + + Reviewed by Dan Bernstein + + * WebCore.base.exp: + * page/FrameView.cpp: + (WebCore::FrameView::FrameView): + (WebCore::FrameView::updateControlTints): + * platform/ScrollView.h: + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::Scrollbar): + (WebCore::Scrollbar::paint): + (WebCore::Scrollbar::setFrameRect): + * platform/Scrollbar.h: + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paint): + * platform/Widget.h: + (WebCore::Widget::x): + (WebCore::Widget::y): + (WebCore::Widget::width): + (WebCore::Widget::height): + (WebCore::Widget::size): + (WebCore::Widget::pos): + (WebCore::Widget::resize): + (WebCore::Widget::move): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollViewScrollbar::geometryChanged): + (WebCore::ScrollView::update): + (WebCore::ScrollView::setFrameRect): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::scrollbarUnderMouse): + (WebCore::ScrollView::paint): + * platform/gtk/ScrollbarGtk.cpp: + (ScrollbarGtk::setFrameRect): + (ScrollbarGtk::geometryChanged): + * platform/gtk/ScrollbarGtk.h: + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::frameRect): + (WebCore::Widget::setFrameRect): + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::trackRect): + (WebCore::ScrollbarThemeMac::paint): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::frameRect): + (WebCore::Widget::setFrameRect): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::setFrameRect): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::scrollbarUnderMouse): + (WebCore::ScrollView::paint): + * platform/qt/ScrollbarThemeQt.cpp: + (WebCore::styleOptionSlider): + * platform/qt/WidgetQt.cpp: + (WebCore::Widget::frameRect): + (WebCore::Widget::setFrameRect): + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenu::invalidateItem): + (WebCore::PopupMenu::valueChanged): + (WebCore::PopupWndProc): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::setFrameRect): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::scrollbarUnderMouse): + (WebCore::ScrollView::paint): + * platform/win/ScrollbarThemeSafari.cpp: + (WebCore::ScrollbarThemeSafari::trackRect): + * platform/win/WidgetWin.cpp: + (WebCore::Widget::frameRect): + (WebCore::Widget::setFrameRect): + * platform/wx/WidgetWx.cpp: + (WebCore::Widget::frameRect): + (WebCore::Widget::setFrameRect): + * plugins/PluginView.cpp: + (WebCore::PluginView::setFrameRect): + * plugins/PluginView.h: + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::updatePluginWidget): + (WebCore::PluginView::paint): + (WebCore::PluginView::init): + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::updatePluginWidget): + (WebCore::PluginView::init): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::updatePluginWidget): + (WebCore::PluginView::paintMissingPluginIcon): + (WebCore::PluginView::paint): + (WebCore::PluginView::init): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::positionOverflowControls): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::paintScrollbar): + * rendering/RenderPart.cpp: + (WebCore::RenderPart::updateWidgetPosition): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::setWidgetGeometry): + (WebCore::RenderWidget::updateWidgetPosition): + +2008-09-27 David Hyatt <hyatt@apple.com> + + <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF + + This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to + access an actual member variable. + + Reviewed by Dan Bernstein + + * page/FocusController.cpp: + (WebCore::FocusController::setFocusedFrame): + +2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org> + + Attempt to fix QT Build. Not reviewed. + + * WebCore.pro: add -n WebCore parameter to create_hash_table + +2008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org> + + Reviewed by Eric Seidel. + + http://bugs.webkit.org/show_bug.cgi?id=18905 + [GTK] Fix build with older pango (1.14.8) + + * platform/graphics/gtk/FontGtk.cpp: + * platform/gtk/Language.cpp: + (_pango_get_lc_ctype): + (pango_language_get_default): + +2008-09-26 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21168 + + Make contentsToWindow/windowToContents cross-platform. + + Reviewed by Oliver Hunt + + * platform/ScrollView.cpp: + (WebCore::ScrollView::windowToContents): + (WebCore::ScrollView::contentsToWindow): + * platform/ScrollView.h: + * platform/gtk/ScrollViewGtk.cpp: + * platform/mac/ScrollViewMac.mm: + * platform/qt/ScrollViewQt.cpp: + * platform/win/ScrollViewWin.cpp: + * platform/wx/ScrollViewWx.cpp: + +2008-09-26 Sam Weinig <sam@webkit.org> + + GTK build fix. + + * GNUmakefile.am: + +2008-09-26 David Hyatt <hyatt@apple.com> + + Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while + offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that + more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac. + + Reviewed by Oliver Hunt + + * page/FrameView.cpp: + (WebCore::FrameView::repaintContentRectangle): + * page/FrameView.h: + * platform/ScrollView.h: + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::isOffscreen): + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::updateContents): + (WebCore::ScrollView::isOffscreen): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::isOffscreen): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::isOffscreen): + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::isOffscreen): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::willRenderImage): + +2008-09-26 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21164 + + Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform. + + Reviewed by Sam Weinig + + * WebCore.base.exp: + * page/FrameView.cpp: + (WebCore::FrameView::setAllowsScrolling): + * page/FrameView.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::setAllowsScrolling): + * platform/ScrollView.h: + (WebCore::ScrollView::allowsScrolling): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::wheelEvent): + +2008-09-26 Kevin Ollivier <kevino@theolliviers.com> + + wx build fixes after Widget/ScrollView changes. + + * platform/wx/PopupMenuWx.cpp: + (WebCore::PopupMenu::show): + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::platformSetContentsSize): + (WebCore::ScrollView::platformSetScrollbarModes): + (WebCore::ScrollView::wheelEvent): + * platform/wx/TemporaryLinkStubs.cpp: + * platform/wx/WidgetWx.cpp: + (WebCore::Widget::containingWindow): + +2008-09-26 Timothy Hatcher <timothy@apple.com> + + Allow searching for paths by always performing the + three search methods in the Elements panel and not + assume a search with a "/" is a XPath query. + + https://bugs.webkit.org/show_bug.cgi?id=21159 + + Reviewed by Geoff Garen. + + * page/inspector/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.performSearch): + +2008-09-26 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=21152 + Speedup static property get/put + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMBinding.cpp: + * bindings/js/JSDOMBinding.h: + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::getDOMConstructor): + (WebCore::jsDOMWindowBaseCrypto): + (WebCore::jsDOMWindowBaseEvent): + (WebCore::jsDOMWindowBaseImage): + (WebCore::jsDOMWindowBaseMessageChannel): + (WebCore::jsDOMWindowBaseOption): + (WebCore::jsDOMWindowBaseXMLHttpRequest): + (WebCore::jsDOMWindowBaseAudio): + (WebCore::jsDOMWindowBaseXSLTProcessor): + (WebCore::jsDOMWindowBaseOnabort): + (WebCore::jsDOMWindowBaseOnblur): + (WebCore::jsDOMWindowBaseOnchange): + (WebCore::jsDOMWindowBaseOnclick): + (WebCore::jsDOMWindowBaseOndblclick): + (WebCore::jsDOMWindowBaseOnerror): + (WebCore::jsDOMWindowBaseOnfocus): + (WebCore::jsDOMWindowBaseOnkeydown): + (WebCore::jsDOMWindowBaseOnkeypress): + (WebCore::jsDOMWindowBaseOnkeyup): + (WebCore::jsDOMWindowBaseOnload): + (WebCore::jsDOMWindowBaseOnmousedown): + (WebCore::jsDOMWindowBaseOnmousemove): + (WebCore::jsDOMWindowBaseOnmouseout): + (WebCore::jsDOMWindowBaseOnmouseover): + (WebCore::jsDOMWindowBaseOnmouseup): + (WebCore::jsDOMWindowBaseOnMouseWheel): + (WebCore::jsDOMWindowBaseOnreset): + (WebCore::jsDOMWindowBaseOnresize): + (WebCore::jsDOMWindowBaseOnscroll): + (WebCore::jsDOMWindowBaseOnsearch): + (WebCore::jsDOMWindowBaseOnselect): + (WebCore::jsDOMWindowBaseOnsubmit): + (WebCore::jsDOMWindowBaseOnbeforeunload): + (WebCore::jsDOMWindowBaseOnunload): + (WebCore::jsDOMWindowBaseOnWebKitAnimationStart): + (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration): + (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd): + (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd): + (WebCore::JSDOMWindowBase::getOwnPropertySlot): + (WebCore::JSDOMWindowBase::put): + (WebCore::setJSDOMWindowBaseOnabort): + (WebCore::setJSDOMWindowBaseOnblur): + (WebCore::setJSDOMWindowBaseOnchange): + (WebCore::setJSDOMWindowBaseOnclick): + (WebCore::setJSDOMWindowBaseOndblclick): + (WebCore::setJSDOMWindowBaseOnerror): + (WebCore::setJSDOMWindowBaseOnfocus): + (WebCore::setJSDOMWindowBaseOnkeydown): + (WebCore::setJSDOMWindowBaseOnkeypress): + (WebCore::setJSDOMWindowBaseOnkeyup): + (WebCore::setJSDOMWindowBaseOnload): + (WebCore::setJSDOMWindowBaseOnmousedown): + (WebCore::setJSDOMWindowBaseOnmousemove): + (WebCore::setJSDOMWindowBaseOnmouseout): + (WebCore::setJSDOMWindowBaseOnmouseover): + (WebCore::setJSDOMWindowBaseOnmouseup): + (WebCore::setJSDOMWindowBaseOnMouseWheel): + (WebCore::setJSDOMWindowBaseOnreset): + (WebCore::setJSDOMWindowBaseOnresize): + (WebCore::setJSDOMWindowBaseOnscroll): + (WebCore::setJSDOMWindowBaseOnsearch): + (WebCore::setJSDOMWindowBaseOnselect): + (WebCore::setJSDOMWindowBaseOnsubmit): + (WebCore::setJSDOMWindowBaseOnbeforeunload): + (WebCore::setJSDOMWindowBaseOnunload): + (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart): + (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration): + (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd): + (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd): + (WebCore::setJSDOMWindowBaseEvent): + (WebCore::setJSDOMWindowBaseAudio): + (WebCore::setJSDOMWindowBaseImage): + (WebCore::setJSDOMWindowBaseMessageChannel): + (WebCore::setJSDOMWindowBaseOption): + (WebCore::setJSDOMWindowBaseXMLHttpRequest): + (WebCore::setJSDOMWindowBaseXSLTProcessor): + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::nonCachingStaticCloseFunctionGetter): + (WebCore::nonCachingStaticBlurFunctionGetter): + (WebCore::nonCachingStaticFocusFunctionGetter): + (WebCore::nonCachingStaticPostMessageFunctionGetter): + * bindings/js/JSDOMWindowCustom.h: + (WebCore::JSDOMWindow::customGetOwnPropertySlot): + * bindings/js/JSEventTargetBase.cpp: + * bindings/js/JSEventTargetBase.h: + (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): + (WebCore::JSEventTargetBasePrototype::classInfo): + * bindings/js/JSEventTargetNode.cpp: + (WebCore::): + (WebCore::JSEventTargetNode::getOwnPropertySlot): + (WebCore::JSEventTargetNode::put): + * bindings/js/JSEventTargetNode.h: + (WebCore::JSEventTargetNode::classInfo): + (WebCore::JSEventTargetNode::prototypeClassName): + * bindings/js/JSEventTargetSVGElementInstance.cpp: + (WebCore::): + (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot): + (WebCore::JSEventTargetSVGElementInstance::put): + * bindings/js/JSEventTargetSVGElementInstance.h: + (WebCore::JSEventTargetSVGElementInstance::classInfo): + (WebCore::JSEventTargetSVGElementInstance::prototypeClassName): + * bindings/js/JSHTMLInputElementCustom.cpp: + (WebCore::JSHTMLInputElement::customGetOwnPropertySlot): + * bindings/js/JSHistoryCustom.cpp: + (WebCore::nonCachingStaticBackFunctionGetter): + (WebCore::nonCachingStaticForwardFunctionGetter): + (WebCore::nonCachingStaticGoFunctionGetter): + (WebCore::JSHistory::customGetOwnPropertySlot): + * bindings/js/JSLocationCustom.cpp: + (WebCore::nonCachingStaticReplaceFunctionGetter): + (WebCore::nonCachingStaticReloadFunctionGetter): + (WebCore::nonCachingStaticAssignFunctionGetter): + (WebCore::JSLocation::customGetOwnPropertySlot): + (WebCore::JSLocation::customPut): + * bindings/scripts/CodeGeneratorJS.pm: + +2008-09-26 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21149 + + Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well. + Eliminate the unused isScrollable() method. + + Reviewed by Sam Weinig + + * WebCore.base.exp: + * page/FrameView.cpp: + (WebCore::FrameView::resetScrollbars): + (WebCore::FrameView::initScrollbars): + (WebCore::FrameView::layout): + * page/FrameView.h: + * page/mac/WebCoreFrameView.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::init): + (WebCore::ScrollView::setScrollbarModes): + (WebCore::ScrollView::scrollbarModes): + (WebCore::ScrollView::platformSetScrollbarModes): + (WebCore::ScrollView::platformScrollbarModes): + * platform/ScrollView.h: + (WebCore::ScrollView::horizontalScrollbar): + (WebCore::ScrollView::verticalScrollbar): + (WebCore::ScrollView::isScrollViewScrollbar): + (WebCore::ScrollView::setHorizontalScrollbarMode): + (WebCore::ScrollView::setVerticalScrollbarMode): + (WebCore::ScrollView::horizontalScrollbarMode): + (WebCore::ScrollView::verticalScrollbarMode): + (WebCore::ScrollView::convertSelfToChild): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): + (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): + (WebCore::ScrollView::ScrollViewPrivate::valueChanged): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::scrollbarUnderMouse): + (WebCore::ScrollView::isScrollViewScrollbar): + (WebCore::ScrollView::paint): + (WebCore::ScrollView::scroll): + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::platformSetScrollbarModes): + (WebCore::ScrollView::platformScrollbarModes): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): + (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): + (WebCore::ScrollView::ScrollViewPrivate::valueChanged): + (WebCore::ScrollView::horizontalScrollbar): + (WebCore::ScrollView::verticalScrollbar): + (WebCore::ScrollView::invalidateScrollbars): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::scrollbarUnderMouse): + (WebCore::ScrollView::paint): + (WebCore::ScrollView::scroll): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): + (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): + (WebCore::ScrollView::ScrollViewPrivate::valueChanged): + (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling): + (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling): + (WebCore::ScrollView::suppressScrollbars): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::scrollbarUnderMouse): + (WebCore::ScrollView::paint): + (WebCore::ScrollView::scroll): + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::platformSetScrollbarModes): + (WebCore::ScrollView::platformScrollbarModes): + +2008-09-26 David Kilzer <ddkilzer@apple.com> + + Fix Mac build with XPATH and XSLT disabled + + Reviewed by Alexey. + + * bindings/objc/DOMUtility.mm: + (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH). + * dom/XMLTokenizerLibxml2.cpp: + (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to + prevent an unused code warning. + +2008-09-26 Kevin McCullough <kmccullough@apple.com> + + Rubber stamped by Tim Hatcher. + + Bug 21098: Crashing under Console::log + - Speculative ASSERT to help find the problem. + + * page/InspectorController.cpp: + (WebCore::ConsoleMessage::isEqual): + +2008-09-26 Holger Hans Peter Freyther <zecke@selfish.org> + + [gtk+] Build fix for the latest ScrollView changes + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged): + (WebCore::ScrollView::ScrollViewPrivate::valueChanged): + +2008-09-26 Timothy Hatcher <timothy@apple.com> + + Fixes a bug where the console message repeat count would be wrong + when typing commands in between repeated messages. + + https://bugs.webkit.org/show_bug.cgi?id=21145 + + Reviewed by Kevin McCullough. + + * page/InspectorController.cpp: + (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel. + (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages. + * page/inspector/Console.js: + (WebInspector.Console.prototype.addMessage): Remember the original repeat count + for each message as totalRepeatCount, since we now modify repeatCount to mean + repeats since previous console command. If repeatCountBeforeCommand is a number, + subtract that value from the repeatCount. + (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand + and commandSincePreviousMessage properties. + +2008-09-26 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Antti + + https://bugs.webkit.org/show_bug.cgi?id=21116 + <rdar://problem/5726325> Audio from <video> can still be heard after navigating + back to page with <video>, then closing tab + + Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/ + documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for + deletion. + + * dom/Document.cpp: + (WebCore::Document::documentWillBecomeInactive): + (WebCore::Document::documentDidBecomeActive): + (WebCore::Document::registerForDocumentActivationCallbacks): + (WebCore::Document::unregisterForDocumentActivationCallbacks): + * dom/Document.h: + * dom/Element.h: + (WebCore::Element::documentWillBecomeInactive): + (WebCore::Element::documentDidBecomeActive): + * history/CachedPage.cpp: + (WebCore::CachedPage::CachedPage): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::~HTMLFormElement): + (WebCore::HTMLFormElement::parseMappedAttribute): + (WebCore::HTMLFormElement::documentDidBecomeActive): + (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): + (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): + * html/HTMLFormElement.h: + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::~HTMLInputElement): + (WebCore::HTMLInputElement::setInputType): + (WebCore::HTMLInputElement::parseMappedAttribute): + (WebCore::HTMLInputElement::needsActivationCallback): + (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded): + (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded): + (WebCore::HTMLInputElement::documentDidBecomeActive): + (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): + (WebCore::HTMLInputElement::didMoveToNewOwnerDocument): + * html/HTMLInputElement.h: + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): + (WebCore::HTMLMediaElement::~HTMLMediaElement): + (WebCore::HTMLMediaElement::documentWillBecomeInactive): + (WebCore::HTMLMediaElement::documentDidBecomeActive): + * html/HTMLMediaElement.h: + (WebCore::HTMLMediaElement::inActiveDocument): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::opened): + * page/Page.cpp: + (WebCore::Page::~Page): + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::updateControls): + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::updatePlayer): + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::SVGSVGElement): + (WebCore::SVGSVGElement::~SVGSVGElement): + (WebCore::SVGSVGElement::documentWillBecomeInactive): + (WebCore::SVGSVGElement::documentDidBecomeActive): + * svg/SVGSVGElement.h: + +2008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com> + + Reviewed by Simon + + Fix the build inside Qt, don't create faulty prl files for now. + + * WebCore.pro: + +2008-09-26 Simon Hausmann <hausmann@webkit.org> + + Fix compilation on Qt/Windows + + * Add WebCore/ to the include path so that config.h is found that enables JSC + * Link against winmm for the multimedia timer functions + * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/ + subdirectory + * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port + but set m_window directly as setPlatformWidget takes a QWidget*. + + * WebCore.pro: + * platform/win/SystemTimeWin.cpp: + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::init): + +2008-09-26 Oliver Hunt <oliver@apple.com> + + Reviewed by Maciej Stachowiak. + + Bug 21054: Construction of certain DOM objects is heavily regressed by r36675 + <https://bugs.webkit.org/show_bug.cgi?id=21054> + + This performance regression is actually just a symptom of a correctness + bug. The constructor objects for a number of properties that have security + checks on access were returning new objects each time. The most obvious + symptom of this bug is that window.Image != window.Image, etc. + + The solution to this is to make sure we cache these constructors + in the same way as all the other DOM constructors. To achieve this + without causing any refcount cycles it is necessary to replace the + refcounted document pointer in the Image, MessageChannel, Option, + XMLHttpRequest, and Audio constructor objects with a reference to + the document's JS wrapper. + + Tests: fast/dom/constructors-cached-navigate.html + fast/dom/constructors-cached.html + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::mark): + * bindings/js/JSAudioConstructor.h: + (WebCore::JSAudioConstructor::document): + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::getDOMConstructor): + (WebCore::JSDOMWindowBase::getValueProperty): + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSHTMLOptionElementConstructor.cpp: + (WebCore::JSHTMLOptionElementConstructor::mark): + * bindings/js/JSHTMLOptionElementConstructor.h: + (WebCore::JSHTMLOptionElementConstructor::document): + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::mark): + * bindings/js/JSImageConstructor.h: + (WebCore::JSImageConstructor::document): + * bindings/js/JSXMLHttpRequestConstructor.cpp: + (WebCore::JSXMLHttpRequestConstructor::mark): + * bindings/js/JSXMLHttpRequestConstructor.h: + (WebCore::JSXMLHttpRequestConstructor::document): + +2008-09-26 Simon Hausmann <hausmann@webkit.org> + + Unreviewed one-liner build fix for the Qt/Windows build. + + The build requires NPAPI support to be enabled, fix the condition in + the .pro file for that. + + * WebCore.pro: + +2008-09-26 Trenton Schulz <twschulz@trolltech.com> + + Reviewed by Simon. + + Fix compilation with the Qt/Cocoa port. + + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::updateScrollbars): + +2008-09-26 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Fix compilation with VC9SP1, work around bug in TR1 library by + disabling it. + + * WebCore.pro: + +2008-09-26 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Fix an lupdate() warning. + + Don't use tr() in a class that is not a QObject, use + QCoreApplication::translate() directly. + + * platform/qt/ScrollbarQt.cpp: + (WebCore::Scrollbar::handleContextMenuEvent): + +2008-09-25 David Hyatt <hyatt@apple.com> + + Remove the scrollTo() method from FrameView, since it is not used by anyone. + + Reviewed by Oliver Hunt + + * page/FrameView.cpp: + * page/FrameView.h: + +2008-09-25 David Hyatt <hyatt@apple.com> + + Make scrollRectIntoViewRecursively cross-platform. + + Reviewed by Oliver Hunt + + * platform/ScrollView.cpp: + (WebCore::ScrollView::scrollRectIntoViewRecursively): + * platform/gtk/ScrollViewGtk.cpp: + * platform/mac/ScrollViewMac.mm: + * platform/qt/ScrollViewQt.cpp: + * platform/win/ScrollViewWin.cpp: + * platform/wx/ScrollViewWx.cpp: + +2008-09-25 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21133 + + Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it + cross-platform. + + Reviewed by Oliver Hunt + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::begin): + * page/FrameView.cpp: + (WebCore::FrameView::adjustViewSize): + * platform/ScrollView.cpp: + (WebCore::ScrollView::setContentsSize): + * platform/ScrollView.h: + (WebCore::ScrollView::updateScrollbars): + * platform/gtk/ScrollViewGtk.cpp: + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::platformSetContentsSize): + * platform/qt/ScrollViewQt.cpp: + * platform/win/ScrollViewWin.cpp: + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::platformSetContentsSize): + +2008-09-25 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21132 + + Clean up the methods that actually do the scrolling in ScrollView. + + Reviewed by Oliver Hunt + + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::setScrollLeft): + (WebCore::HTMLBodyElement::setScrollTop): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::restoreScrollPositionAndViewState): + * loader/ImageDocument.cpp: + (WebCore::ImageDocument::imageClicked): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::scrollBy): + (WebCore::DOMWindow::scrollTo): + * page/FrameView.cpp: + (WebCore::FrameView::scrollTo): + (WebCore::FrameView::setScrollPosition): + * page/FrameView.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::maximumScrollPosition): + * platform/ScrollView.h: + (WebCore::ScrollView::contentsWidth): + (WebCore::ScrollView::contentsHeight): + (WebCore::ScrollView::scrollBy): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::setScrollPosition): + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::setScrollPosition): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::setScrollPosition): + (WebCore::ScrollView::scrollRectIntoViewRecursively): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::setScrollPosition): + (WebCore::ScrollView::scrollRectIntoViewRecursively): + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::setScrollPosition): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollByRecursively): + (WebCore::RenderLayer::scrollRectToVisible): + +2008-09-25 Dan Bernstein <mitz@apple.com> + + - attempted Windows build fix + + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::ScrollViewPrivate::valueChanged): + (WebCore::ScrollView::setContentsPos): + (WebCore::ScrollView::paint): + +2008-09-25 Timothy Hatcher <timothy@apple.com> + + Revert the padding changes done in r36905 to prevent the + scrollbar from overlapping the URLs in the Console. + + https://bugs.webkit.org/show_bug.cgi?id=21126 + + * page/inspector/inspector.css: + +2008-09-25 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21129 + + Refactor contents size and scroll offset to be cross-platform. Reduce further the number + of platform-specific methods required of ScrollView implementations. + + Reviewed by Tim Hatcher + + * dom/MouseRelatedEvent.cpp: + (WebCore::contentsX): + (WebCore::contentsY): + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::scrollLeft): + (WebCore::HTMLBodyElement::setScrollLeft): + (WebCore::HTMLBodyElement::scrollTop): + (WebCore::HTMLBodyElement::setScrollTop): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::scrollX): + (WebCore::DOMWindow::scrollY): + * page/EventHandler.cpp: + (WebCore::EventHandler::hitTestResultAtPoint): + * page/FrameView.cpp: + (WebCore::FrameView::scrollTo): + (WebCore::FrameView::windowClipRect): + * platform/ScrollView.cpp: + (WebCore::ScrollView::visibleContentRect): + (WebCore::ScrollView::contentsSize): + (WebCore::ScrollView::platformContentsSize): + * platform/ScrollView.h: + (WebCore::ScrollView::scrollPosition): + (WebCore::ScrollView::scrollOffset): + (WebCore::ScrollView::scrollX): + (WebCore::ScrollView::scrollY): + (WebCore::ScrollView::contentsWidth): + (WebCore::ScrollView::contentsHeight): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged): + (WebCore::ScrollView::setGtkAdjustments): + (WebCore::ScrollView::resizeContents): + (WebCore::ScrollView::contentsWidth): + (WebCore::ScrollView::contentsHeight): + (WebCore::ScrollView::scrollOffset): + (WebCore::ScrollView::maximumScroll): + (WebCore::ScrollView::scrollBy): + (WebCore::ScrollView::suppressScrollbars): + (WebCore::ScrollView::setHScrollbarMode): + (WebCore::ScrollView::setVScrollbarMode): + (WebCore::ScrollView::setScrollbarsMode): + (WebCore::ScrollView::setFrameGeometry): + (WebCore::ScrollView::updateScrollbars): + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::platformContentsSize): + (WebCore::ScrollView::scrollBy): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::convertFromContainingWindow): + (WebCore::Widget::convertToContainingWindow): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::ScrollViewPrivate::valueChanged): + (WebCore::ScrollView::resizeContents): + (WebCore::ScrollView::setFrameGeometry): + (WebCore::ScrollView::scrollOffset): + (WebCore::ScrollView::maximumScroll): + (WebCore::ScrollView::scrollBy): + (WebCore::ScrollView::setHScrollbarMode): + (WebCore::ScrollView::setVScrollbarMode): + (WebCore::ScrollView::setScrollbarsMode): + (WebCore::ScrollView::updateScrollbars): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::ScrollViewPrivate::valueChanged): + (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling): + (WebCore::ScrollView::resizeContents): + (WebCore::ScrollView::setFrameGeometry): + (WebCore::ScrollView::scrollOffset): + (WebCore::ScrollView::maximumScroll): + (WebCore::ScrollView::scrollBy): + (WebCore::ScrollView::setHScrollbarMode): + (WebCore::ScrollView::setVScrollbarMode): + (WebCore::ScrollView::setScrollbarsMode): + (WebCore::ScrollView::updateScrollbars): + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::platformVisibleContentRect): + (WebCore::ScrollView::platformContentsSize): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::nodeAtPoint): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollRectToVisible): + (WebCore::RenderLayer::calculateClipRects): + (WebCore::RenderLayer::calculateRects): + * rendering/RenderView.cpp: + (WebCore::RenderView::absolutePosition): + (WebCore::RenderView::computeAbsoluteRepaintRect): + +2008-09-25 David Smith <catfish.man@gmail.com> + + Reviewed by Dave Hyatt. + + Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook. + + * dom/Element.cpp: + (WebCore::Element::rareData): + * dom/Element.h: + * dom/Node.cpp: + (WebCore::Node::rareData): + * dom/Node.h: + +2008-09-25 David Smith <catfish.man@gmail.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=20980 + Split off uncommonly used data from Node similar to ElementRareData + + Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit, + which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode() + for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests. + + * WebCore.base.exp: + * WebCore.xcodeproj/project.pbxproj: + * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc... + * dom/ContainerNode.cpp: Set isContainer to true + (WebCore::ContainerNode::ContainerNode): + * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h + (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container + (WebCore::Node::containerChildNode): ditto + (WebCore::Node::containerFirstChild): ditto + (WebCore::Node::containerLastChild): ditto + * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h + (WebCore::Element::Element): + (WebCore::Element::~Element): + (WebCore::Element::rareData): + (WebCore::Element::ensureRareData): Renamed from createRareData + (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type + (WebCore::Element::attach): Check hasRareData rather than null-checking rareData() + (WebCore::Element::detach): ditto + (WebCore::Element::recalcStyle): ditto + (WebCore::Element::focus): + (WebCore::Element::minimumSizeForResizing): ditto + (WebCore::Element::setMinimumSizeForResizing): ditto + (WebCore::Element::computedStyle): + (WebCore::Element::cancelFocusAppearanceUpdate): ditto + * dom/Element.h: + * dom/ElementRareData.h: Added; everything copied from Element.cpp + (WebCore::defaultMinimumSizeForResizing): + (WebCore::ElementRareData::ElementRareData): + (WebCore::ElementRareData::resetComputedStyle): + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain + * dom/EventTargetNode.h: + * dom/Node.cpp: + (WebCore::Node::Node): + (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData + (WebCore::Node::rareData): + (WebCore::Node::ensureRareData): + (WebCore::Node::createRareData): + (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData + (WebCore::Node::setTabIndexExplicitly): + (WebCore::Node::childNodes): NodeLists are now in rareData + (WebCore::Node::setFocus): + (WebCore::Node::rareDataFocused): + (WebCore::Node::isFocusable): + (WebCore::Node::isKeyboardFocusable): + (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData + (WebCore::Node::unregisterDynamicNodeList): ditto + (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto + (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto + (WebCore::Node::getElementsByName): ditto + (WebCore::Node::getElementsByClassName): ditto + * dom/Node.h: + (WebCore::Node::firstChild): Use isContainerNode() to devirtualize + (WebCore::Node::lastChild): ditto + (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container + (WebCore::Node::focused): focus is in rareData if set + (WebCore::Node::childTypeAllowed): + (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize + (WebCore::Node::childNode): ditto + (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case + * dom/NodeRareData.h: Added. Most of this is just properties moved from Node + (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :( + (WebCore::NodeRareData::NodeRareData): + (WebCore::NodeRareData::rareDataMap): + (WebCore::NodeRareData::rareDataFromMap): + (WebCore::NodeRareData::clearNodeLists): + (WebCore::NodeRareData::setNodeLists): + (WebCore::NodeRareData::nodeLists): + (WebCore::NodeRareData::tabIndex): + (WebCore::NodeRareData::setTabIndex): + (WebCore::NodeRareData::tabIndexSetExplicitly): + * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc... + * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc... + +2008-09-25 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Simon Hausmann. + + [qt] ImageBuffer::toDataURL implementation + + There needs to be a Qt specific test result for the above mentioned + implementation. + + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBuffer::toDataURL): + +2008-09-25 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Simon Hausmann. + + [qt] Implement SharedBuffer for Qt. + + * WebCore.pro: + * platform/qt/SharedBufferQt.cpp: Added. + (WebCore::SharedBuffer::createWithContentsOfFile): + * platform/qt/TemporaryLinkStubs.cpp: + +2008-09-25 Feng Qian <feng@chromium.org> + + Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032 + <rdar://problem/6243032> + + Reviewed by Dave Hyatt. + + Test: fast/dom/attribute-downcast-right.html + + Add isMappedAttribute function to Attribute for checking if an object + is an instance of MappedAttribute. Removed attributeItem, + getAttributeItem functions from NamedMappedAttrMap, and callers + expecting MappedAttribute have to check isMappedAttribute before + downcasting the return value to MappedAttribute. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::styleForElement): + * dom/Attribute.h: + (WebCore::Attribute::isMappedAttribute): + * dom/MappedAttribute.h: + (WebCore::MappedAttribute::isMappedAttribute): + * dom/NamedMappedAttrMap.cpp: + (WebCore::NamedMappedAttrMap::declCount): + (WebCore::NamedMappedAttrMap::mapsEquivalent): + * dom/NamedMappedAttrMap.h: + * dom/StyledElement.cpp: + (WebCore::StyledElement::attributeChanged): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setInputType): + * svg/SVGForeignObjectElement.cpp: + (WebCore::addCSSPropertyAndNotifyAttributeMap): + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::getPresentationAttribute): + +2008-09-25 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21120 + + Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors + to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I + didn't want to mix that change in with this patch). + + Reviewed by Sam Weinig + + * page/Frame.cpp: + (WebCore::Frame::markAllMatchesForText): + * page/FrameView.cpp: + (WebCore::FrameView::repaintContentRectangle): + (WebCore::FrameView::windowClipRect): + (WebCore::FrameView::updateControlTints): + * platform/ScrollView.cpp: + (WebCore::ScrollView::visibleContentRect): + (WebCore::ScrollView::platformVisibleContentRect): + * platform/ScrollView.h: + (WebCore::ScrollView::visibleWidth): + (WebCore::ScrollView::visibleHeight): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::horizontalScrollbar): + (WebCore::ScrollView::verticalScrollbar): + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::horizontalScrollbar): + (WebCore::ScrollView::verticalScrollbar): + (WebCore::ScrollView::platformVisibleContentRect): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::horizontalScrollbar): + (WebCore::ScrollView::verticalScrollbar): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::horizontalScrollbar): + (WebCore::ScrollView::verticalScrollbar): + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::platformVisibleContentRect): + (WebCore::ScrollView::horizontalScrollbar): + (WebCore::ScrollView::verticalScrollbar): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollRectToVisible): + (WebCore::frameVisibleRect): + * rendering/RenderView.cpp: + (WebCore::RenderView::viewRect): + +2008-09-25 David Smith <catfish.man@gmail.com> + + Reviewed by Timothy Hatcher + + https://bugs.webkit.org/show_bug.cgi?id=21052 + Generalize id selector special case for querySelectorAll + + By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances. + Changes results on http://native.khan.mozilla.org + from + #title: 2ms + h1#title: 55ms + div #title: 55ms + + to: + #title: 1ms + h1#title: 2ms + div #title: 5ms + + * dom/Node.cpp: + (WebCore::Node::querySelector): + * dom/SelectorNodeList.cpp: + (WebCore::createSelectorNodeList): + +2008-09-25 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21118 + + Make the concept of whether you can blit on scroll cross-platform on ScrollView. + + Reviewed by Sam Weinig + + * page/FrameView.cpp: + (WebCore::FrameView::clear): + (WebCore::FrameView::layout): + (WebCore::FrameView::setUseSlowRepaints): + (WebCore::FrameView::addSlowRepaintObject): + (WebCore::FrameView::removeSlowRepaintObject): + * platform/ScrollView.cpp: + (WebCore::ScrollView::init): + (WebCore::ScrollView::addChild): + (WebCore::ScrollView::removeChild): + (WebCore::ScrollView::setCanBlitOnScroll): + * platform/ScrollView.h: + (WebCore::ScrollView::canBlitOnScroll): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): + (WebCore::ScrollView::ScrollView): + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::ScrollView): + (WebCore::ScrollView::platformAddChild): + (WebCore::ScrollView::platformRemoveChild): + (WebCore::ScrollView::platformSetCanBlitOnScroll): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): + (WebCore::ScrollView::ScrollView): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): + (WebCore::ScrollView::ScrollView): + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::ScrollView): + (WebCore::ScrollView::scrollBy): + +2008-09-25 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim Hatcher. + + Bug 21109: Console should right-align urls + + * page/inspector/Console.js: Re-order the message elements so that when + it overflows it doesn't get mixed in with the next message. + * page/inspector/inspector.css: + +2008-09-25 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21113 + + Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent. + + Reviewed by Darin Adler + + * css/CSSImportRule.cpp: + (WebCore::CSSImportRule::insertedIntoParent): + * css/CSSRule.cpp: + (WebCore::CSSRule::parentStyleSheet): + (WebCore::CSSRule::parentRule): + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::CSSStyleSheet): + * css/CSSStyleSheet.h: + +2008-09-25 Darin Adler <darin@apple.com> + + Reviewed by Adele Peterson. + + - fix https://bugs.webkit.org/show_bug.cgi?id=21115 + <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips + bundled documents + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::formData): Use files() instead of value() + to get the path, since value() now returns just the basename. + +2008-09-25 Brady Eidson <beidson@apple.com> + + Rubberstamped by Mark Rowe + + Roll out 36771 as it caused <rdar://problem/6246554> + "nytimes.com doesn't display after returning to it with back/forward" + + * css/CSSImportRule.cpp: + (WebCore::CSSImportRule::insertedIntoParent): + * css/CSSRule.cpp: + (WebCore::CSSRule::parentStyleSheet): + (WebCore::CSSRule::parentRule): + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::CSSStyleSheet): + (WebCore::CSSStyleSheet::docLoader): + * css/CSSStyleSheet.h: + (WebCore::CSSStyleSheet::doc): + +2008-09-25 Adam Roben <aroben@apple.com> + + Windows build fix + + * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project. + +2008-09-25 Dan Bernstein <mitz@apple.com> + + - Windows build fix + + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::addChildPlatformWidget): + (WebCore::ScrollView::removeChildPlatformWidget): + +2008-09-25 Timothy Hatcher <timothy@apple.com> + + Fixes a leak of ConsoleMessage seen when repeated console + messages occur. + + Reviewed by Mark Rowe. + + * page/InspectorController.cpp: + (WebCore::InspectorController::addConsoleMessage): Delete the repeat + since we don't add it to m_consoleMessages. + +2008-09-25 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Dan Bernstein. + + Bug 21105: XHRs logged in the console may show the wrong URL for the + source + - Get the url at the time of the send() and pass it on to the XHR. + + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::send): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::didFinishLoading): + * xml/XMLHttpRequest.h: + (WebCore::XMLHttpRequest::setLastSendURL): + +2008-09-25 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Geoff and Tim. + + Bug 20322: XHRs logged in the console do not have line numbers + - Get the line number at the time of the send and pass it on to the XHR. + + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::send): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::XMLHttpRequest): + (WebCore::XMLHttpRequest::didFinishLoading): + * xml/XMLHttpRequest.h: + (WebCore::XMLHttpRequest::setLastSendLineNumber): + +2008-09-25 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Eric Seidel. + + <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart" + https://bugs.webkit.org/show_bug.cgi?id=21003 + + * dom/EventNames.h: remove "begin" event + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin" + +2008-09-25 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=21097 + Calling a MessageChannel constructor from a destroyed document results in a crash + + Test: fast/events/message-port-constructor-for-deleted-document.html + + * bindings/js/JSMessageChannelConstructor.cpp: + (WebCore::JSMessageChannelConstructor::construct): + * bindings/js/JSMessageChannelConstructor.h: + Made m_document a RefPtr. + +2008-09-24 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=20879 + Implement HTML5 channel messaging + + Tests: fast/events/message-channel-gc.html + fast/events/message-port-deleted-document.html + fast/events/message-port-deleted-frame.html + fast/events/message-port-inactive-document.html + fast/events/message-port.html + http/tests/security/MessagePort/event-listener-context.html + + * Configurations/WebCore.xcconfig: + Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro. + + * DerivedSources.make: + Added MessageChannel and MessagePort. + + * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be + turmed off anyway. Added new files. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + Added new files. + + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty): + Added suport for window.MessageChannel constructor. + + * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::postMessage): + * page/DOMWindow.h: + * page/DOMWindow.idl: + Added support for three-argument postMessage (that posts a MessagePort). + + * dom/EventTarget.cpp: + (WebCore::EventTarget::toMessagePort): + * dom/EventTarget.h: + * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another + EventTarget variant. + + * bindings/js/JSMessageChannelConstructor.h: + * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could + take a browsing context (document) parameter. + + * bindings/js/JSMessageChannelCustom.cpp: Added. + (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark + port1 and port2 that it owns. + + * bindings/js/JSMessagePortCustom.cpp: Added. + (WebCore::JSMessagePort::startConversation): + (WebCore::JSMessagePort::addEventListener): + (WebCore::JSMessagePort::removeEventListener): + (WebCore::JSMessagePort::dispatchEvent): + (WebCore::JSMessagePort::setOnmessage): + (WebCore::JSMessagePort::onmessage): + (WebCore::JSMessagePort::setOnclose): + (WebCore::JSMessagePort::onclose): + (WebCore::JSMessagePort::mark): + * dom/MessagePort.cpp: Added. + * dom/MessagePort.h: Added. + * dom/MessagePort.idl: Added. + Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works + with Documents as contexts, but in the future, it will be used for communication with worker + threads. + + * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not + really have Obj-C bindings, as they are far from being final, but a MessagePort stub is + needed for MessageEvent. + + * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness. + + * dom/Document.cpp: + (WebCore::MessagePortTimer::MessagePortTimer): + (WebCore::MessagePortTimer::fired): + (WebCore::Document::processMessagePortMessagesSoon): + (WebCore::Document::~Document): + (WebCore::Document::dispatchMessagePortEvents): + (WebCore::Document::createdMessagePort): + (WebCore::Document::destroyedMessagePort): + * dom/Document.h: + Document keeps track of all MessagePort objects that were created when it was fully active + in its context. + + * dom/EventNames.h: Added closeEvent. + + * dom/MessageChannel.cpp: Added. + (WebCore::MessageChannel::MessageChannel): + (WebCore::MessageChannel::~MessageChannel): + * dom/MessageChannel.h: Added. + (WebCore::MessageChannel::create): + (WebCore::MessageChannel::port1): + (WebCore::MessageChannel::port2): + * dom/MessageChannel.idl: Added. + Addded JSMessageChannel implementation. + + * dom/MessageEvent.cpp: + (WebCore::MessageEvent::MessageEvent): + (WebCore::MessageEvent::initMessageEvent): + * dom/MessageEvent.h: + (WebCore::MessageEvent::create): + (WebCore::MessageEvent::messagePort): + * dom/MessageEvent.idl: + MessageEvent has a MessagePort member now, making it possible to pass ports across + documents. + +2008-09-25 David Smith <catfish.man@gmail.com> + + Reviewed by Eric Seidel + + fix https://bugs.webkit.org/show_bug.cgi?id=21091 + Regression: querySelector matches tag names case sensitively + + Tests: fast/dom/SelectorAPI/caseTag.html + fast/dom/SelectorAPI/caseTagX.xhtml + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents + * css/CSSParser.h: + * dom/Node.cpp: + (WebCore::Node::querySelector): + (WebCore::Node::querySelectorAll): + +2008-09-24 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21084 + + Make the m_children member of ScrollView cross-platform. Consolidate children add/remove + functionality. Add platform stubs for connecting/disconnecting the platform widgets. + + Reviewed by Sam Weinig + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * platform/ScrollView.h: + (WebCore::ScrollView::children): + * platform/Widget.h: + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::addChildPlatformWidget): + (WebCore::ScrollView::removeChildPlatformWidget): + (WebCore::ScrollView::geometryChanged): + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::addChildPlatformWidget): + (WebCore::ScrollView::removeChildPlatformWidget): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::geometryChanged): + (WebCore::ScrollView::addChildPlatformWidget): + (WebCore::ScrollView::removeChildPlatformWidget): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::geometryChanged): + (WebCore::ScrollView::setParentVisible): + (WebCore::ScrollView::show): + (WebCore::ScrollView::hide): + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::addChildPlatformWidget): + (WebCore::ScrollView::removeChildPlatformWidget): + +2008-09-25 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix https://bugs.webkit.org/show_bug.cgi?id=21024 + <rdar://problem/6240821> Scrollbar not painted until hovered + + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with + this method, which sets both the location and the size. + (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget + with a call to the new method setWidgetGeometry. Positioning the + widget correctly ensures that the scroll bars invalidate correctly when + they are created and resized. + * rendering/RenderWidget.h: + +2008-09-24 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Sam Weinig. + + - create a "style" subfolder under "rendering" and move style files to that folder + + * WebCore.vcproj/WebCore.vcproj: + +2008-09-24 Sam Weinig <sam@webkit.org> + + Reviewed by Maciej Stachowiak. + + Remove staticFunctionGetter. There is only one remaining user of + staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::getOwnPropertySlot): + +2008-09-24 Jeremy Moskovich <jeremy@chromium.org> + + Reviewed by Dan Bernstein. + + Test: editing/spelling/inline_spelling_markers.html + + - https://bugs.webkit.org/show_bug.cgi?id=20092 + Spelling markers positioned incorrectly in RTL text + + Measure spelling markers with selectionRectForText() to fix RTL. + + This patch also fixes hit-testing for spelling marker tool tips, + which used to work only on the first line. + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): + +2008-09-24 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21074 + + Make sure the viewless scrollbar knows how to paint properly when transformed. + + Reviewed by Sam Weinig + + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::ScrollbarThemeMac): + (WebCore::ScrollbarThemeMac::paint): + +2008-09-24 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Try to fix win build. + + * bindings/js/JSSVGElementInstanceCustom.cpp: + (WebCore::toJS): + * dom/ContainerNodeAlgorithms.h: + (WebCore::removeAllChildrenInContainer): + (WebCore::appendChildToContainer): + (WebCore::Private::addChildNodesToDeletionQueue): + +2008-09-24 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. + + Add ContainerNodeAlgorithms.h, as central place to share algorithms + operating on TreeShared-derived classes with a Node-style interface. + + This allows SVGElementInstance & ContainerNode to share code. + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::removeAllChildren): + (WebCore::ContainerNode::addChild): + * dom/ContainerNode.h: + * dom/ContainerNodeAlgorithms.h: Added. + (WebCore::removeAllChildrenInContainer): + (WebCore::appendChildToContainer): + (WebCore::Private::NodeRemovalDispatcher::dispatch): + (WebCore::Private::addChildNodesToDeletionQueue): + +2008-09-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + Wrap up dirtying the z-order list of the stacking context + RenderLayer into a method. + https://bugs.webkit.org/show_bug.cgi?id=21072 + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::setHasVisibleContent): + (WebCore::RenderLayer::addChild): + (WebCore::RenderLayer::removeChild): + (WebCore::RenderLayer::dirtyStackingContextZOrderLists): + (WebCore::RenderLayer::styleChanged): + * rendering/RenderLayer.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::setStyle): + +2008-09-24 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim. + + Bug 21070: REGRESSION Repeated messages with arguments are not repeated + or displayed multiple times + - The Insepctor Controller was comparing JSValue pointers so thought the + message was not a repeat, but the JS of the inspector compared the + strings and so knew it was the same message and so overwrote the old + message. + + * page/InspectorController.cpp: + (WebCore::ConsoleMessage::isEqual): + (WebCore::InspectorController::addMessageToConsole): + (WebCore::InspectorController::addConsoleMessage): + (WebCore::InspectorController::startGroup): + (WebCore::InspectorController::endGroup): + * page/InspectorController.h: + +2008-09-24 David Hyatt <hyatt@apple.com> + + Make sure the viewless Mac scrollbar responds properly to system preference changes (including the + arrow placement preference and the thumb jump preference). + + Reviewed by Adam Roben + + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::Scrollbar): + (WebCore::Scrollbar::~Scrollbar): + * platform/ScrollbarTheme.h: + (WebCore::ScrollbarTheme::registerScrollbar): + (WebCore::ScrollbarTheme::unregisterScrollbar): + * platform/mac/ScrollbarThemeMac.h: + * platform/mac/ScrollbarThemeMac.mm: + (+[ScrollbarPrefsObserver appearancePrefsChanged:]): + (+[ScrollbarPrefsObserver behaviorPrefsChanged:]): + (+[ScrollbarPrefsObserver registerAsObserver]): + (WebCore::ScrollbarThemeMac::registerScrollbar): + (WebCore::ScrollbarThemeMac::unregisterScrollbar): + (WebCore::ScrollbarThemeMac::ScrollbarThemeMac): + (WebCore::ScrollbarThemeMac::preferencesChanged): + +2008-09-24 Rob Buis <buis@kde.org> + + Reviewed by Darin. + + https://bugs.webkit.org/show_bug.cgi?id=20557 + getScreenCTM() returns wrong values + + Use the absolute position of the svg root when + determining the screen ctm. + + Test: svg/custom/getscreenctm-in-mixed-content2.xhtml + + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::getScreenCTM): + +2008-09-24 David Hyatt <hyatt@apple.com> + + Turn off support for CSS variables. + + * ChangeLog: + * css/CSSParser.cpp: + (WebCore::CSSParser::createVariablesRule): + (WebCore::CSSParser::addVariable): + (WebCore::CSSParser::addVariableDeclarationBlock): + +2008-09-24 David Hyatt <hyatt@apple.com> + + Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version). + + * css/CSSGrammar.y: + * css/CSSParserValues.cpp: + (WebCore::CSSParserValue::isVariable): + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::cleanup): + (WebCore::CSSPrimitiveValue::getStringValue): + (WebCore::CSSPrimitiveValue::cssText): + (WebCore::CSSPrimitiveValue::parserValue): + * css/CSSPrimitiveValue.h: + (WebCore::CSSPrimitiveValue::): + (WebCore::CSSPrimitiveValue::isVariable): + +2008-09-24 Timothy Hatcher <timothy@apple.com> + + Fixes a regression where the "incorrect MIME-type" warning would not + show up correctly in the Console or the resources sidebar. + + Reviewed by Kevin McCullough. + + * page/inspector/Resource.js: + (WebInspector.Resource.prototype._addTip): Add the repeat count argument + to the WebInspector.ConsoleMessage constructor call. + (WebInspector.Resource.prototype._checkWarning): Ditto. + +2008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Remove deprecated JS Qt bindings object call/construct code and fix autotests + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::QtInstance): + * bridge/qt/qt_instance.h: + +2008-09-23 Julien Chaffraix <jchaffraix@pleyo.com> + + Reviewed by Alp Toker. Landed by Jan Alonzo. + + Bug 20883: [CURL] Add deferred loading + https://bugs.webkit.org/show_bug.cgi?id=20883 + + Implement deferred loading for the libcURL backend using curl_easy_pause. + As the method was introduced in version 7.18.0, all the code checks for libcURL + version. + + * platform/network/curl/ResourceHandleCurl.cpp: + (WebCore::ResourceHandle::setDefersLoading): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::writeCallback): Add an assertion that deferred loading is not + activated. + (WebCore::headerCallback): Ditto. + (WebCore::readCallback): Ditto. + (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force + defersLoading to be false in order to avoid triggering an assertion. + (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is + activated, pause the easy handle. + +2008-09-23 Matt Lilek <webkit@mattlilek.com> + + Reviewed by Tim Hatcher. + + Inspector search field style tweaks. + + * page/inspector/inspector.css: + +2008-09-23 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash) + + Fix missing negation in EventTargetNode::insertedIntoDocument. + Made handleLocalEvents() virtual again, HTMLFormElement overrides it. + Remove code, that wasn't supposed to go in in dispatchGenericEvent(). + + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::insertedIntoDocument): + (WebCore::EventTargetNode::dispatchGenericEvent): + * dom/EventTargetNode.h: + +2008-09-23 Timothy Hatcher <timothy@apple.com> + + Adds search support to the Profiles panel. + + The Profiles panel supports a few types of queries: + * Standard string matching for function names and file URLs. + * Greater than and less than search for numeric columns. + So a query of ">24" will match all rows that have calls + greater than 24. Or "<=42" will match all 42 or less. + * Percent and time units. Adding a unit of "s", "ms" or "%" + is supported and will match only the Self and Total columns. + So a query of ">1.25s" will match all rows that took longer + than 1.25 seconds. + + Reviewed by Oliver Hunt. + + * page/inspector/ProfileView.js: + (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time + it will start at the first result. + (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file. + (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted + data grid nodes. + (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes. + (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult. + (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto. + (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto. + (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto. + (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says. + (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto. + (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node. + Expand all the ancestors first so the profile node will have a DataGridNode. + (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree. + (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that + have search matches. + * page/inspector/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery. + (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile. + (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view. + (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed. + (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView. + (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views. + (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches. + (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches. + (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText. + * page/inspector/inspector.css: New style rules for the cell highlight color. + +2008-09-23 Timothy Hatcher <timothy@apple.com> + + Adds search support to the Resources and Scripts panels. + + https://bugs.webkit.org/show_bug.cgi?id=21005 + + Reviewed by Oliver Hunt. + + * page/inspector/Images/searchSmallBlue.png: Added. + * page/inspector/Images/searchSmallBrightBlue.png: Added. + * page/inspector/Images/searchSmallGray.png: Added. + * page/inspector/Images/searchSmallWhite.png: Added. + * page/inspector/ResourceView.js: + (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views" + or "script-resource-views" since one might not be created yet. + * page/inspector/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that + are not this panel's current visible view. This can happen when a ResourceView is + visible in the Scripts panel then switched to the this panel. + (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the + visibleView first. + (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function + that uses the current graph search function. So cycling through results will be in the order + things appear in the sidebar. + (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the + resource's sidebar tree element. + (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles + in the sidebar. Calls the Panel prototype's searchCanceled. + (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles + in the sidebar. Calls the Panel prototype's performSearch. + (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery. + (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings + if there is a current search query. + (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto. + (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto. + (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view. + (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content. + (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class. + (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble. + * page/inspector/ScriptView.js: + (WebInspector.ScriptView): Set _sourceFrameSetup to flase. + (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time + it will start at the first result. + (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax + highlighting complete". + (WebInspector.ScriptView.prototype): Share many methods with SourceView. + * page/inspector/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this + This can happen when a ResourceView is visible in the Resources panel then switched to the this panel. + (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first. + (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery. + (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view. + (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper. + * page/inspector/SourceFrame.js: + (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event. + * page/inspector/SourceView.js: + (WebInspector.SourceView.prototype.hide): + (WebInspector.SourceView.prototype.detach): + (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file. + (WebInspector.SourceView.prototype._addBreakpoint): Ditto. + (WebInspector.SourceView.prototype.searchCanceled): Delete search properties. + (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise + store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished. + (WebInspector.SourceView.prototype.jumpToFirstSearchResult): + (WebInspector.SourceView.prototype.jumpToLastSearchResult): + (WebInspector.SourceView.prototype.jumpToNextSearchResult): + (WebInspector.SourceView.prototype.jumpToPreviousSearchResult): + (WebInspector.SourceView.prototype.showingFirstSearchResult): + (WebInspector.SourceView.prototype.showingLastSearchResult): + (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range. + (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches. + (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished. + * page/inspector/inspector.css: + +2008-09-23 Timothy Hatcher <timothy@apple.com> + + Rename some properties of ResourcesPanel and ScriptsPanel to be the same, + so future code can be shared. + + https://bugs.webkit.org/show_bug.cgi?id=21005 + + Reviewed by Oliver Hunt. + + * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement. + And visibleResourceView to visibleView. + * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement. + +2008-09-23 Timothy Hatcher <timothy@apple.com> + + Highlight all matched search results in the Elements panel DOM tree. + + https://bugs.webkit.org/show_bug.cgi?id=21005 + + Reviewed by Oliver Hunt. + + * page/inspector/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight + on all previous search results. + (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight + on all new search results. + * page/inspector/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement): Delay setting the title until onattach. + (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes + the highlighted class on the listItemElement. + (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class + if needed. Calls _updateTitle. + (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight + class so it can be styled when the highlighted class is present. + * page/inspector/inspector.css: New style rules for the hihglight. + +2008-09-23 Timothy Hatcher <timothy@apple.com> + + Add search support to the Elements panel. + + https://bugs.webkit.org/show_bug.cgi?id=21005 + + Reviewed by Oliver Hunt. + + * page/inspector/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount + with a 0 match count to rest. Reset the other search properties. + (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath + query and a CSS selector on all the Documents in the page. Remembers the found nodes + and avoids duplicates. Focuses the first result. + (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result. + (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result. + +2008-09-23 Timothy Hatcher <timothy@apple.com> + + Add support to Panel that allows easy searching of sub-views. + + https://bugs.webkit.org/show_bug.cgi?id=21005 + + Reviewed by Oliver Hunt. + + * page/inspector/Panel.js: + (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the + views in the search results and delete the currentQuery property. Call + WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the + other search properties. + (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will + reset everything we need before doing a new search. Get an array of searchableViews + from the panel, implemented by sub-classes. Iterate over the views one-by-one + with an interval to prevent blocking the UI for large lists of searchableViews. + This keeps the interface really responsive. Pass a finishedCallback function to + the performSearch on each view so it can notify the panel of results. + (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the + searchResults of the visibleView, so we know where in the results we are. + This is done every time incase the user manually navigates to a new view. + If the view is showing the last result, jump to the next view and show it's + first result. Otherwise jump to the next result in the current view. + (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse. + +2008-09-23 Timothy Hatcher <timothy@apple.com> + + Add support for asking the current panel to perform a search, find next/previous and clear. + A search is performed on the new new current panel when switching between panels. The search + label/placeholder in the toolbar now includes the panel name to make it clear that panel will + be searched. The search field contents are selected when Command/Control-F or Enter/Return + is pressed, so the user can easily type an entirely new query. The search match count shows + up in the toolbar next to the search field. + + Also changed: + * Rename lastQuery to currentQuery since it better matches the truth. + * Set the search field "results" attribute to zero since results arn't saved for + how we use the search field. + * Make repeated presses of the Return key jump to the next search result instead + of doing nothing. + * Increased the search field width. + + https://bugs.webkit.org/show_bug.cgi?id=21005 + + Reviewed by Oliver Hunt. + + * English.lproj/localizedStrings.js: New strings. + * page/inspector/inspector.css: New styles. + * page/inspector/inspector.html: Add the search-results-matches element. Add the + incremental attribute to the search field and set the results attribute to zero. + * page/inspector/inspector.js: + (WebInspector.set currentPanel): perform the search on the new panel. + (WebInspector.loaded): Change the event listeners and remove code that changes + the search label text. + (WebInspector.documentKeyDown): Add support for Command/Control-G and + Command/Control-Shift-G. To jump to the next and previous search results. + (WebInspector.updateSearchLabel): Added. Update the search placeholder/label. + This does different things depending on the attached state. + (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key. + This prevents a "search" event from firing for key down. We handle the Enter key + on key up in searchKeyUp. This stops performSearch from being called twice in a row. + (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key. + (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled + on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search. + Call updateSearchMatchesCount to reset the matches count in the toolbar. + (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar. + +2008-09-23 Timothy Hatcher <timothy@apple.com> + + Remove the previous Inspector search code to make room for the new stuff. + + https://bugs.webkit.org/show_bug.cgi?id=21005 + + Reviewed by Oliver Hunt. + + * page/inspector/inspector.css: + * page/inspector/inspector.html: + * page/inspector/inspector.js: + (WebInspector.get/set showingSearchResults): Removed. + (WebInspector.searchResultsKeyDown): Removed. + (WebInspector.searchResultsResizerDragStart): Removed. + (WebInspector.searchResultsResizerDragEnd): Removed. + (WebInspector.searchResultsResizerDrag): Removed. + (WebInspector.performSearch): Removed searching parts. + +2008-09-23 Timothy Hatcher <timothy@apple.com> + + Use the Array.remove helper function in more places. + + https://bugs.webkit.org/show_bug.cgi?id=21037 + + Reviewed by Kevin McCullough. + + * page/inspector/ResourceCategory.js: + (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove. + * page/inspector/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.removeResource): Ditto. + * page/inspector/inspector.js: + (WebInspector.removeResource): Ditto. + +2008-09-23 Timothy Hatcher <timothy@apple.com> + + Fixes a bug where inspecting a node after reloading the page + would not reveal the node in the DOM tree. The TreeOutline + was not being told to forget decendants of a removed child. + So old TreeElements would be found that are not in the tree. + + https://bugs.webkit.org/show_bug.cgi?id=21036 + + Reviewed by Kevin McCullough. + + * page/inspector/treeoutline.js: + (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive + in addition to _forgetTreeElement. + (TreeOutline._removeChildren): Call _forgetChildrenRecursive + in addition to _forgetTreeElement. + (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly + search for known elements. + (TreeOutline._forgetTreeElement): Use Array.remove to remove elements. + (TreeOutline._forgetChildrenRecursive): Recursively traverse the + descendants and call _forgetTreeElement. + * page/inspector/utilities.js: + (Array.prototype.remove): Speed up this function by using Array.indexOf + when onlyFirst is true. + +2008-09-23 Timothy Hatcher <timothy@apple.com> + + Fixes a bug where inspecting some short text nodes does + not reveal them in the Elements panel DOM tree. + + https://bugs.webkit.org/show_bug.cgi?id=21035 + + Reviewed by Oliver Hunt. + + * page/inspector/ElementsTreeOutline.js: + (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode): + The revealAndSelectNode() method might find a different element + if there is inlined text, and the select() call would change the + focusedDOMNode and reenter this setter. So to avoid calling + focusedNodeChanged() twice, first check if _focusedDOMNode is + the same node as the one passed in. + (WebInspector.ElementsTreeOutline.prototype.update): Remove use of + this.treeOutline, since this is the TreeOutline. + (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added. + Provides default functions for isAncestor, getParet and equal. + Calls the base protoype's findTreeElement. If that returns null + and the node is a text node, try finding it's parent. + (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed. + Renamed to revealAndSelectNode. + (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode): + Selects and reveals the node passed in. Use the simple findTreeElement. + (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent): + Remove use of this.treeOutline, since this is the TreeOutline. + +2008-09-23 Timothy Hatcher <timothy@apple.com> + + Fixes an exception that happened when removing a Resource + from the ResourcesPanel. + + https://bugs.webkit.org/show_bug.cgi?id=21034 + + Reviewed by Kevin McCullough. + + * page/inspector/ResourcesPanel.js: + (WebInspctor.ResourcesPanel.prototype.removeResource): + Remove the graphElement. + +2008-09-23 Kevin McCullough <kmccullough@apple.com> + + Fixed "Time" to "Tim" + + * ChangeLog: + +2008-09-23 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. + + Move mapInstanceToElement/removeInstanceMapping/instancesForElement + from SVGDocumentExtensions to SVGElement. It's more useful to store + the list of SVGElementInstances per SVGElement, instead of using + a document-wide hash for this purpose. + + * svg/SVGAnimateMotionElement.cpp: + (WebCore::SVGAnimateMotionElement::applyResultsToTarget): + * svg/SVGAnimateTransformElement.cpp: + (WebCore::SVGAnimateTransformElement::applyResultsToTarget): + * svg/SVGAnimationElement.cpp: + (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): + * svg/SVGDocumentExtensions.cpp: + (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions): + * svg/SVGDocumentExtensions.h: + * svg/SVGElement.cpp: + (WebCore::SVGElement::mapInstanceToElement): + (WebCore::SVGElement::removeInstanceMapping): + (WebCore::SVGElement::instancesForElement): + * svg/SVGElement.h: + * svg/SVGElementInstance.cpp: + (WebCore::SVGElementInstance::SVGElementInstance): + (WebCore::SVGElementInstance::~SVGElementInstance): + (WebCore::SVGElementInstance::updateAllInstancesOfElement): + * svg/SVGElementInstance.h: + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::svgAttributeChanged): + (WebCore::SVGStyledElement::childrenChanged): + * svg/SVGStyledElement.h: + +2008-09-23 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix. + + * WebCoreSources.bkl: + +2008-09-23 Nikolas Zimmermann <zimmermann@kde.org> + + Rubber stamped by Sam. + + Move code from EventTarget to EventTargetNode. + + I refactored most parts to live in EventTarget, a year ago, + though the implementation of EventTargetSVGElementInstance is + done in another way, that obsoletes this. + + * dom/Document.cpp: + (WebCore::Document::addListenerTypeIfNeeded): + * dom/Document.h: + * dom/EventTarget.cpp: + * dom/EventTarget.h: + (WebCore::allowEventDispatch): + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::insertedIntoDocument): + (WebCore::EventTargetNode::removedFromDocument): + (WebCore::EventTargetNode::willMoveToNewOwnerDocument): + (WebCore::EventTargetNode::didMoveToNewOwnerDocument): + (WebCore::EventTargetNode::addEventListener): + (WebCore::EventTargetNode::removeEventListener): + (WebCore::EventTargetNode::removeAllEventListeners): + (WebCore::EventTargetNode::handleLocalEvents): + (WebCore::setCurrentEventTargetRespectingSVGTargetRules): + (WebCore::EventTargetNode::dispatchEvent): + (WebCore::EventTargetNode::dispatchGenericEvent): + (WebCore::EventTargetNode::dispatchWindowEvent): + (WebCore::EventTargetNode::removeEventListenerForType): + * dom/EventTargetNode.h: + * svg/EventTargetSVGElementInstance.cpp: + (WebCore::EventTargetSVGElementInstance::dispatchEvent): + * svg/SVGElement.cpp: + (WebCore::SVGElement::sendSVGLoadEventIfPossible): + * svg/SVGElement.h: + (WebCore::SVGElement::supplementalTransform): + +2008-09-23 Dave Hyatt <hyatt@apple.com> + + Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make + sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :) + + Reviewed by Sam Weinig + + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::trackRect): + * platform/win/ScrollbarThemeSafari.cpp: + (WebCore::ScrollbarTheme::nativeTheme): + (WebCore::ScrollbarThemeSafari::trackRect): + +2008-09-23 Beth Dakin <bdakin@apple.com> + + Reviewed by Sam Weinig. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact" + link at gmail does not support AXPress action + and corresponding: <rdar://problem/6216178> + + I fixed this bug by making AccessibilityObject::anchorElement + support ARIA links. + + * page/AccessibilityImageMapLink.cpp: + (WebCore::AccessibilityImageMapLink::anchorElement): + * page/AccessibilityImageMapLink.h: + * page/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::anchorElement): + * page/AccessibilityObject.h: + (WebCore::AccessibilityObject::isNativeAnchor): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isNativeAnchor): + (WebCore::AccessibilityRenderObject::anchorElement): + (WebCore::AccessibilityRenderObject::internalLinkElement): + (WebCore::AccessibilityRenderObject::url): + * page/AccessibilityRenderObject.h: + * page/mac/AccessibilityObjectWrapper.mm: + (AXLinkElementForNode): + +2008-09-23 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim and Oliver. + + Bug 20949: Catch repeated messages in Inspector Controller to limit + memory usage + - Store the repeat count in the Console Message object, in the + Inspector Controller and JS ConsoleMessage object. + + * page/InspectorController.cpp: + (WebCore::ConsoleMessage::ConsoleMessage): + (WebCore::ConsoleMessage::operator==): + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::addConsoleMessage): + (WebCore::InspectorController::addScriptConsoleMessage): + * page/InspectorController.h: + * page/inspector/Console.js: + * page/inspector/Resource.js: + * page/inspector/ResourcesPanel.js: + * page/inspector/SourceFrame.js: + +2008-09-23 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Working on proper EventTarget support for SVGElementInstance. + + Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper. + Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode. + + Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared" + implementation. Let it use TreeShared directly. + + It's not activated so far (SVGUseElement still creating SVGElementInstance objects). + The transition to EventTargetSVGElementInstance will be done in a few individual patches. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSEventTargetBase.cpp: + (WebCore::retrieveEventTargetAndCorrespondingNode): + (WebCore::toJS): + * bindings/js/JSEventTargetBase.h: + * bindings/js/JSEventTargetSVGElementInstance.cpp: Added. + (WebCore::): + (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance): + (WebCore::JSEventTargetSVGElementInstance::createPrototype): + (WebCore::JSEventTargetSVGElementInstance::setListener): + (WebCore::JSEventTargetSVGElementInstance::getListener): + (WebCore::toEventTargetSVGElementInstance): + * bindings/js/JSEventTargetSVGElementInstance.h: Added. + (WebCore::JSEventTargetSVGElementInstance::prototypeClassName): + (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot): + (WebCore::JSEventTargetSVGElementInstance::getValueProperty): + (WebCore::JSEventTargetSVGElementInstance::put): + (WebCore::JSEventTargetSVGElementInstance::putValueProperty): + * bindings/js/JSSVGElementInstanceCustom.cpp: Added. + (WebCore::toJS): + * bindings/objc/DOM.mm: + (+[DOMNode _wrapEventTarget:WebCore::]): + (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]): + (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]): + (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]): + (-[DOMSVGElementInstance WebCore::]): + (-[DOMSVGElementInstance addEventListener:listener:useCapture:]): + (-[DOMSVGElementInstance addEventListener:::]): + (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]): + (-[DOMSVGElementInstance removeEventListener:::]): + (-[DOMSVGElementInstance dispatchEvent:]): + * bindings/objc/DOMEvents.h: + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorObjC.pm: + * svg/EventTargetSVGElementInstance.cpp: Added. + (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance): + (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance): + (WebCore::EventTargetSVGElementInstance::addEventListener): + (WebCore::EventTargetSVGElementInstance::removeEventListener): + (WebCore::EventTargetSVGElementInstance::dispatchEvent): + * svg/EventTargetSVGElementInstance.h: Added. + (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance): + (WebCore::EventTargetSVGElementInstance::toNode): + (WebCore::EventTargetSVGElementInstance::toSVGElementInstance): + (WebCore::EventTargetSVGElementInstance::refEventTarget): + (WebCore::EventTargetSVGElementInstance::derefEventTarget): + (WebCore::EventTargetSVGElementInstanceCast): + * svg/SVGElement.cpp: + (WebCore::SVGElement::dispatchEvent): + * svg/SVGElementInstance.cpp: + (WebCore::SVGElementInstance::SVGElementInstance): + (WebCore::SVGElementInstance::~SVGElementInstance): + * svg/SVGElementInstance.h: + (WebCore::SVGElementInstance::isEventTargetSVGElementInstance): + * svg/SVGElementInstance.idl: + +2008-09-23 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - https://bugs.webkit.org/show_bug.cgi?id=21040 + Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont() + + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::getCTFont): + +2008-09-23 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21039 + + Teach the viewless Mac scrollbar how to avoid NSWindow's resizer. + + Reviewed by Sam Weinig + + * platform/ScrollView.h: + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::setFrameGeometry): + * platform/Scrollbar.h: + * platform/Widget.cpp: + (WebCore::Widget::convertFromContainingWindow): + * platform/Widget.h: + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::ScrollView): + (WebCore::ScrollView::~ScrollView): + (WebCore::ScrollView::windowResizerRect): + (WebCore::ScrollView::resizerOverlapsContent): + (WebCore::ScrollView::adjustOverlappingScrollbarCount): + (WebCore::ScrollView::setParent): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::convertFromContainingWindow): + +2008-09-23 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Darin Adler. Landed by Jan Alonzo. + + Added support for getImageData() and putImageData() + to Cairo. + + [CAIRO] needs getImageData and putImageData support + https://bugs.webkit.org/show_bug.cgi?id=20838 + + * platform/graphics/cairo/ImageBufferCairo.cpp: + (WebCore::ImageBuffer::ImageBuffer): + (WebCore::ImageBuffer::getImageData): + (WebCore::ImageBuffer::putImageData): + +2008-09-23 Marco Barisione <marco.barisione@collabora.co.uk> + + Reviewed by Holger Freyther. + + http://bugs.webkit.org/show_bug.cgi?id=18987 + [GTK] Implement SharedBuffer::createWithContentsOfFile and + KURL::fileSystemPath + + * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp. + * platform/gtk/KURLGtk.cpp: Added. + (WebCore::KURL::fileSystemPath): Implemented. + * platform/gtk/SharedBufferGtk.cpp: Added. + (WebCore::SharedBuffer::createWithContentsOfFile): Implemented. + * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs. + +2008-09-23 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Oliver Hunt, okayed by Darin Adler. + + <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses. + +2008-09-23 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=21023 + Don't use TEC for encodings supported by ICU + + * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic, + x-mac-greek, and x-mac-turkish. + + * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames): + Register aliases for these encodings that are not registered automatically; updated comments. + +2008-09-23 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - speed up instanceof some more + https://bugs.webkit.org/show_bug.cgi?id=20818 + + ~2% speedup on EarleyBoyer + + (WebCore updates.) + + * bindings/js/JSQuarantinedObjectWrapper.h: + (WebCore::JSQuarantinedObjectWrapper::createStructureID): + +2008-09-22 Darin Adler <darin@apple.com> + + Reviewed by Oliver Hunt. + + - fix https://bugs.webkit.org/show_bug.cgi?id=21008 + getting pixels by index from CanvasPixelArray is unnecessarily slow + + * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and + indexSetter. These are now both inlined, so in the header. + * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex + function is what's used for HasCustomIndexGetter. Also moved the + indexSetter function here. + + * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter + to use a getByIndex member function rather than an indexGetter static + member function in a property slot. This lets us avoid the property + slot mechanism's rule where it turns numeric property names into + strings in the identifier table, which is good because that's slow. + Also added a new property CustomHeader that allows IDL files to + introduce headers to be included -- useful when we have functions + that we want to inline into the binding. + + * html/CanvasPixelArray.idl: Added CustomHeader attribute. + +2008-09-23 Eric Seidel <eric@webkit.org> + + No review, build fix only. + + Another blind stab in the dark. + + * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header. + +2008-09-23 Eric Seidel <eric@webkit.org> + + No review, build fix only. + + Third time's the charm, eh? My local build is sadly still not done... + + * platform/graphics/AffineTransform.cpp: remove extra & + * platform/graphics/AffineTransform.h: remove extra & + +2008-09-22 Eric Seidel <eric@webkit.org> + + No review, build fix only. + + * platform/graphics/AffineTransform.cpp: remove extra ; + +2008-09-22 Eric Seidel <eric@webkit.org> + + No review, build fix only. + + Speculative fix for the build while I wait for my compile to finish. + + * platform/graphics/AffineTransform.cpp: + +2008-09-22 Dirk Schulze <vbs85@gmx.de> + + Reviewed by eseidel. Landed by eseidel. + + Moved makeMapBetweenRects from SVG/CG to AffineTransform + Make SVGResourceClipper::applyClip more cross-platform + + * platform/graphics/AffineTransform.cpp: + * platform/graphics/AffineTransform.h: + * svg/graphics/cg/CgSupport.cpp: + * svg/graphics/cg/CgSupport.h: + * svg/graphics/cg/SVGPaintServerGradientCg.cpp: + (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation): + * svg/graphics/cg/SVGResourceClipperCg.cpp: + (WebCore::SVGResourceClipper::applyClip): + +2008-09-22 Alp Toker <alp@nuanti.com> + + Reviewed by David Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=16331 + [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed + + Obey GTK+ focusing conventions for controls and anchor elements. + + It could be interesting to push these decisions up to Settings or + ChromeClient some day but this gets things working. + + Right and middle click events still need some work to match GTK+ + conventions. + + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::isMouseFocusable): + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::isMouseFocusable): + * page/EventHandler.cpp: + (WebCore::EventHandler::sendContextMenuEvent): + +2008-09-22 Darin Adler <darin@apple.com> + + * page/mac/FrameMac.mm: + (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation. + +2008-09-22 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=21013 + Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd + and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase + class! + + - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of + non-selectable input types, but return undefined when accessed. + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSHTMLInputElementBase.cpp: Removed. + * bindings/js/JSHTMLInputElementBase.h: Removed. + * bindings/js/JSHTMLInputElementCustom.cpp: Added. + (WebCore::JSHTMLInputElement::customGetOwnPropertySlot): + (WebCore::JSHTMLInputElement::selectionStart): + (WebCore::JSHTMLInputElement::selectionEnd): + * bindings/js/JSHTMLInputElementCustom.h: Added. + * html/HTMLInputElement.idl: + +2008-09-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message + + Not testable in DumpRenderTree or in Safari + + * page/mac/FrameMac.mm: + (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the + case that the selection start node is a block. + +2008-09-22 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21007 + + Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent. + + Reviewed by Sam Weinig + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMouseDoubleClickEvent): + +2008-09-22 Eric Seidel <eric@webkit.org> + + No review, rollback only. + + Roll out Peter's change (per his request) + http://trac.webkit.org/changeset/36069 + https://bugs.webkit.org/show_bug.cgi?id=19663 + This change has been the source of numerous regressions + (several of which were latent bugs revealed by this change, + others were bugs in this change) + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::BitmapImage): + (WebCore::BitmapImage::startAnimation): + (WebCore::BitmapImage::advanceAnimation): + * platform/graphics/BitmapImage.h: + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::draw): + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::draw): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::BitmapImage::draw): + * platform/graphics/wx/ImageWx.cpp: + (WebCore::BitmapImage::draw): + +2008-09-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - fix <rdar://problem/5158514> Switch the complex text code path to Core Text + + Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html + platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html + + * config.h: Use Core Text if not building for Leopard or Tiger. + +2008-09-22 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=21006 + + Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not + switched on. There are still a few more refinements to make to the rendering and behavior. + + Reviewed by Darin Adler + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paint): + * platform/ScrollbarThemeComposite.h: + (WebCore::ScrollbarThemeComposite::paintTrack): + (WebCore::ScrollbarThemeComposite::paintButton): + (WebCore::ScrollbarThemeComposite::paintThumb): + * platform/mac/ScrollbarThemeMac.h: + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::backButtonRect): + (WebCore::ScrollbarThemeMac::forwardButtonRect): + (WebCore::scrollbarPartToHIPressedState): + (WebCore::ScrollbarThemeMac::paint): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::invalidateRect): + +2008-09-22 Chris Marrin <cmarrin@apple.com> + + Reviewed by Sam Weinig + + transition end event when -webkit-transition-property: all puts wrong + propertyName in event + https://bugs.webkit.org/show_bug.cgi?id=20903 + + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::sendTransitionEvent): + +2008-09-22 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell + + Test: accessibility/table-one-cell.html + + * page/AccessibilityTable.cpp: + (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): + +2008-09-22 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly + + Test: accessibility/textarea-selected-text-range.html + + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::setSelectedTextRange): + +2008-09-22 David Hyatt <hyatt@apple.com> + + Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet + properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate + parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import + rule. + + Reviewed by Sam Weinig + + Added fast/css/nested-rule-parent-sheet.html + + * css/CSSImportRule.cpp: + (WebCore::CSSImportRule::insertedIntoParent): + * css/CSSRule.cpp: + (WebCore::CSSRule::parentStyleSheet): + (WebCore::CSSRule::parentRule): + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::CSSStyleSheet): + * css/CSSStyleSheet.h: + +2008-09-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - fix https://bugs.webkit.org/show_bug.cgi?id=21002 + Make the ATSUI code path respect spacingDisabled() + + Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text + + * platform/graphics/mac/FontMacATSUI.mm: + (WebCore::overrideLayoutOperation): + +2008-09-22 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Cameron Zwarich. + + - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag + + Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818> + + 2.2% speedup on EarleyBoyer benchmark. + + * bindings/js/JSQuarantinedObjectWrapper.cpp: + * bindings/js/JSQuarantinedObjectWrapper.h: + (WebCore::JSQuarantinedObjectWrapper::createStructureID): + * bindings/scripts/CodeGeneratorJS.pm: + +2008-09-22 Adam Roben <aroben@apple.com> + + Windows build fix + + * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag. + +2008-09-22 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Dave Hyatt. + + Based on initial work by Darin Adler. + + - replace masqueradesAsUndefined virtual method with a flag in TypeInfo + - use this to JIT inline code for eq_null and neq_null + https://bugs.webkit.org/show_bug.cgi?id=20823 + + * WebCore.xcodeproj/project.pbxproj: + * WebCore.vcproj/WebCore.vcproj: + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + (WebCore::JSCSSStyleDeclaration::nameGetter): + * bindings/js/JSHTMLAllCollection.cpp: Added. + (WebCore::): + * bindings/js/JSHTMLAllCollection.h: + (WebCore::JSHTMLAllCollection::createStructureID): + (WebCore::JSHTMLAllCollection::toBoolean): + +2008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Fix the QtWebKit build + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtRuntimeObjectImp::construct): + * bridge/qt/qt_runtime.cpp: + +2008-09-22 Alp Toker <alp@nuanti.com> + + Suggested by David Hyatt. + + Build fix: ScrollView::update() is still used by Document.cpp on !MAC + so make it public. + + * platform/ScrollView.h: + +2008-09-22 David Hyatt <hyatt@apple.com> + + Fix a regression in Windows scrollbar painting. (Also fix the same + bug in my new viewless Mac scrollbar painting code). The track rect + was being improperly inflated when painting resulting in the scrollbar + being too tall and painting in the border of overflow sections. + + Reviewed by Oliver Hunt + + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::trackRect): + * platform/win/ScrollbarThemeSafari.cpp: + (WebCore::ScrollbarThemeSafari::trackRect): + +2008-09-22 David Hyatt <hyatt@apple.com> + + Fix a hit testing bug where events are mistakenly passed to subframes + if the mouse is over the border or padding area of the frame. Add + a boolean flag, isOverWidget(), to hit test results so that EventHandler + can check it to tell if the mouse is really over the content box of a + RenderWidget and not just in the border/padding area. + + This is not testable, since the old code properly recovered when it detected + that the mouse was outside the bounds of the view, but this prevents + the extra passdown from even occurring (and is basically a nice cleanup). + + Reviewed by Oliver Hunt + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::EventHandler::hitTestResultAtPoint): + (WebCore::subframeForHitTestResult): + (WebCore::EventHandler::handleMouseDoubleClickEvent): + (WebCore::EventHandler::handleMouseMoveEvent): + (WebCore::EventHandler::handleMouseReleaseEvent): + (WebCore::EventHandler::handleWheelEvent): + * page/MouseEventWithHitTestResults.h: + (WebCore::MouseEventWithHitTestResults::isOverWidget): + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::HitTestResult): + (WebCore::HitTestResult::operator=): + * rendering/HitTestResult.h: + (WebCore::HitTestResult::isOverWidget): + (WebCore::HitTestResult::setIsOverWidget): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::nodeAtPoint): + * rendering/RenderWidget.h: + +2008-09-21 David Hyatt <hyatt@apple.com> + + Rename FrameView's repaintRectangle method to repaintContentRectangle. Make + both it and ScrollView's updateContents method be off-limits to everyone in + WebCore except for RenderView. + + Make repaintViewRectangle the only possible method for WebCore code to do + an invalidation. This ensures that all invalidates triggered by WebCore + cross-platform code that cross ownerElement() boundaries are transform-aware. + + Make sure that iframes/frames contained inside objects that have transforms + or reflections are not allowed to blit (this was already true for transparency). + + It is not possible to make a test for any of this, since iframe scrolling + still doesn't work on Mac (since the invalidates are not being done + through WebCore's cross-platform invalidation code but are instead going + through NSScrollView's setNeedsDisplay still). + + Reviewed by Oliver Hunt + + * editing/SelectionController.cpp: + (WebCore::SelectionController::recomputeCaretRect): + (WebCore::SelectionController::invalidateCaretRect): + (WebCore::SelectionController::focusedOrActiveStateChanged): + * page/FrameView.cpp: + (WebCore::FrameView::repaintContentRectangle): + (WebCore::FrameView::endDeferredRepaints): + * page/FrameView.h: + * platform/ScrollView.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintFillLayerExtended): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::enclosingPositionedAncestor): + (WebCore::RenderLayer::requiresSlowRepaints): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::hasTransform): + * rendering/RenderView.cpp: + (WebCore::RenderView::paintBoxDecorations): + (WebCore::RenderView::repaintViewRectangle): + (WebCore::RenderView::setSelection): + +2008-09-21 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin. + + - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID + https://bugs.webkit.org/show_bug.cgi?id=20981 + + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + (WebCore::JSCSSStyleDeclaration::nameGetter): + * bindings/js/JSDOMBinding.cpp: + (WebCore::createDOMStructure): + * bindings/js/JSDOMBinding.h: + (WebCore::getDOMStructure): + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::JSDOMWindowShell): + (WebCore::JSDOMWindowShell::setWindow): + * bindings/js/JSEventTargetNode.cpp: + (WebCore::JSEventTargetNode::createPrototype): + * bindings/js/JSHTMLOptionElementConstructor.cpp: + (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): + * bindings/js/JSXMLHttpRequestConstructor.cpp: + (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): + * bindings/js/JSXSLTProcessorConstructor.cpp: + (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): + * bindings/scripts/CodeGeneratorJS.pm: + +2008-09-21 Darin Adler <darin@apple.com> + + Reviewed by Maciej Stachowiak. + + - fix problem Maciej noticed where every JSNamedNodesCollection + gets its own StructureID + + * bindings/js/JSNamedNodesCollection.cpp: + (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use + getDOMStructure to get the structure. + * bindings/js/JSNamedNodesCollection.h: + (WebCore::JSNamedNodesCollection::createPrototype): Return the + object prototype. + +2008-09-20 David Hyatt <hyatt@apple.com> + + Make sure transformed scrollbars in overflow sections position + properly. This patch mimics the same behavior that works for + iframes, namely making sure that the same code that dynamically + adjusts iframe widget positions at paint time for fixed positioning + and transforms also applies to scrollbars. (This is as simple as passing + in the current translation factor at paint time rather than crawling + up the layer tree to compute a "false" absolute position.) + + An existing transform test covers this (although only a pixel result + reveals the correct rendering). + + Reviewed by Darin Adler + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPositions): + (WebCore::RenderLayer::positionOverflowControls): + (WebCore::RenderLayer::paintOverflowControls): + (WebCore::RenderLayer::paintLayer): + * rendering/RenderLayer.h: + +2008-09-21 Steve Falkenburg <sfalken@apple.com> + + Removed unnecessary nested timer check. + + Rubber-stamped by Dan Bernstein. + + * platform/win/SharedTimerWin.cpp: + (WebCore::TimerWindowWndProc): + +2008-09-21 Steve Falkenburg <sfalken@apple.com> + + Improve timer resolution on WinXP. + https://bugs.webkit.org/show_bug.cgi?id=20979 + + Removed last-chance timer. It should not be necessary. + Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy. + Remove Vista checks. We now run the same code on both XP and Vista. + + Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime. + The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1). + + Reviewed by Maciej Stachowiak. + + * platform/win/SharedTimerWin.cpp: + (WebCore::): + (WebCore::TimerWindowWndProc): + (WebCore::setSharedTimerFireTime): + * platform/win/SystemTimeWin.cpp: + (WebCore::currentTime): + +2008-09-21 Dirk Schulze <vbs85@gmx.de> + + Reviewed by eseidel. Landed by eseidel. + + All platforms use the DashArray in the GraphicsContext. + + * svg/graphics/SVGPaintServer.h: + * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: + (WebCore::SVGPaintServerGradient::setup): + * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp: + (WebCore::SVGPaintServerPattern::setup): + * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: + (WebCore::SVGPaintServerSolid::setup): + * svg/graphics/qt/SVGPaintServerGradientQt.cpp: + (WebCore::SVGPaintServerGradient::setup): + * svg/graphics/qt/SVGPaintServerQt.cpp: + * svg/graphics/qt/SVGPaintServerSolidQt.cpp: + (WebCore::SVGPaintServerSolid::setup): + +2008-09-21 Dirk Schulze <vbs85@gmx.de> + + Reviewed by eseidel. Landed by eseidel. + + Moved DashArray to GraphicsContext. + + * GNUmakefile.am: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/DashArray.h: Added. + * platform/graphics/GraphicsContext.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::setLineDash): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setLineDash): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::setLineDash): + * svg/graphics/SVGPaintServer.cpp: + (WebCore::applyStrokeStyleToContext): + * svg/graphics/SVGPaintServer.h: + * svg/graphics/cg/CgSupport.cpp: + * svg/graphics/cg/CgSupport.h: + +2008-09-21 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + - fix linker warnings + + * WebCore.base.exp: + +2008-09-20 Darin Adler <darin@apple.com> + + - another try at fixing Qt + + * bridge/qt/qt_runtime.cpp: "using namespce WebCore" + +2008-09-20 Darin Adler <darin@apple.com> + + - blind attempt to fix Qt build + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead + of regExpPrototype to make a RegExpObject. There should really be + some sort of public helper function for this. Same thing for + DateInstance and dateStructure. For JSObject, use constructEmptyObject. + (JSC::Bindings::): + (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure. + It is not correct to do this inside the constructor because it could + cause a garbage collect while the QtRuntimeMethod object is half- + allocated, which could lead to a crash; note that RuntimeMethod, + QtRuntimeObjectImp, and RuntimeObjectImp have the same bug. + * bridge/qt/qt_runtime.h: Add s_info and createPrototype. + +2008-09-20 Collin Jackson <collinj@webkit.org> + + Prefetch DNS for hyperlinks that the user mouses over. + + https://bugs.webkit.org/show_bug.cgi?id=20931 + + Reviewed by Sam Weinig. + + * page/Chrome.cpp: + (WebCore::Chrome::mouseDidMoveOverElement): + +2008-09-20 Darin Adler <darin@apple.com> + + Reviewed by Maciej Stachowiak. + + - finish https://bugs.webkit.org/show_bug.cgi?id=20858 + make each distinct C++ class get a distinct JSC::Structure + + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure + ID. Note that this makes a new structure every time -- we could + optimize this slightly be caching and reusing a single one. + + * bridge/runtime_method.cpp: + (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using + getDOMStructure. + * bridge/runtime_method.h: + (JSC::RuntimeMethod::createPrototype): Added createPrototype so + getDOMStructure will work. + + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to + 0; needed in case garbage collection happens while creating the + JSDOMWindow. + +2008-09-20 Dan Bernstein <mitz@apple.com> + + Reviewed by Eric Seidel. + + - fix https://bugs.webkit.org/show_bug.cgi?id=20950 + <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc + + * svg/SVGTextContentElement.cpp: + (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to + not include the first character in the extraCharsAvailable count. + +2008-09-20 Kevin Ollivier <kevino@theolliviers.com> + + Reviewed by Dan Bernstein. + + Fix memory leak. + + https://bugs.webkit.org/show_bug.cgi?id=20505 + + * platform/wx/wxcode/mac/carbon/fontprops.cpp: + (GetTextExtent): + +2008-09-20 Kevin Ollivier <kevino@theolliviers.com> + + wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates. + + * WebCoreSources.bkl: + * platform/ScrollView.h: + * platform/wx/PopupMenuWx.cpp: + (WebCore::PopupMenu::show): + * platform/wx/RenderThemeWx.cpp: + (WebCore::RenderThemeWx::paintButton): + (WebCore::RenderThemeWx::paintTextField): + (WebCore::RenderThemeWx::paintMenuList): + (WebCore::RenderThemeWx::paintMenuListButton): + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::setPlatformWidget): + (WebCore::ScrollView::updateContents): + (WebCore::ScrollView::update): + (WebCore::ScrollView::visibleWidth): + (WebCore::ScrollView::visibleHeight): + (WebCore::ScrollView::scrollBy): + (WebCore::ScrollView::resizeContents): + (WebCore::ScrollView::contentsWidth): + (WebCore::ScrollView::contentsHeight): + (WebCore::ScrollView::isScrollViewScrollbar): + (WebCore::ScrollView::adjustScrollbars): + (WebCore::ScrollView::inWindow): + (WebCore::ScrollView::removeChild): + * platform/wx/WidgetWx.cpp: + * plugins/wx/PluginViewWx.cpp: + (WebCore::PluginView::setParentVisible): + (WebCore::PluginView::updatePluginWidget): + +2008-09-20 Timothy Hatcher <timothy@apple.com> + + Fix the new Node Search button image to not be blurry. + + * page/inspector/Images/nodeSearchButtons.png: + +2008-09-20 Matt Lilek <webkit@mattlilek.com> + + Reviewed by Tim Hatcher. + + Cut down some of the inspector javascript -> InspectorController glue code + with two new macros. Also rearrange the exposed function list to be grouped + by implementation and to all explicitly use the WebCore namespace. + + * page/InspectorController.cpp: + (WebCore::InspectorController::windowScriptObjectAvailable): + +2008-09-20 Matt Lilek <webkit@mattlilek.com> + + Reviewed by Tim Hatcher. + + Fix regression from my previous patch where the breadcrumbs bar was not displayed. + + * page/inspector/inspector.css: + +2008-09-20 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Refactor HTMLImageLoader/SVGImageLoader code. + Move html/HTMLImageLoader.* to loader/ImageLoader.* + + Let HTMLImageLoader & SVGImageLoader inherit from the new base class. + SVGImageLoader used to inherit from HTMLImageLoader which is awkward. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * dom/Document.cpp: + (WebCore::Document::dispatchImageLoadEventSoon): + (WebCore::Document::removeImage): + (WebCore::Document::dispatchImageLoadEventsNow): + * dom/Document.h: + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::HTMLImageLoader): + (WebCore::HTMLImageLoader::~HTMLImageLoader): + (WebCore::HTMLImageLoader::sourceURI): + (WebCore::HTMLImageLoader::notifyFinished): + * html/HTMLImageLoader.h: + * loader/DocLoader.h: + * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp. + (WebCore::ImageLoader::ImageLoader): + (WebCore::ImageLoader::~ImageLoader): + (WebCore::ImageLoader::setImage): + (WebCore::ImageLoader::setLoadingImage): + (WebCore::ImageLoader::updateFromElement): + (WebCore::ImageLoader::notifyFinished): + * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h. + * svg/SVGImageElement.cpp: + (WebCore::SVGImageElement::attach): + (WebCore::SVGImageElement::insertedIntoDocument): + (WebCore::SVGImageElement::imageSourceAttributeName): + * svg/SVGImageElement.h: + * svg/SVGImageLoader.cpp: + (WebCore::SVGImageLoader::SVGImageLoader): + (WebCore::SVGImageLoader::dispatchLoadEvent): + (WebCore::SVGImageLoader::sourceURI): + * svg/SVGImageLoader.h: + +2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org> + + Build fix. + + [qtwebkit] ScrollBar build fix after r36684. + BackButtonPart was split into Start and End Part + ForwardButtonPart was split into Start and End Part + + * platform/qt/ScrollbarThemeQt.cpp: + (WebCore::scPart): + (WebCore::scrollbarPart): + (WebCore::styleOptionSlider): + +2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org> + + Build fix. + + [qtwebkit] Make qt_instance.cpp compile. + Revision of 36675 introduced getDOMStructure to give unique + structure id's to C++ classes. Catch up. RuntimeObjectImp assigns + the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::getRuntimeObject): + +2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Nikolas Zimmermann. + + [svg] Change SVGLocatable to deal with a plain SVGElement + There is no requirement in the code that we have to have a + SVGStyledElement. Remove that artificial limitation and compile + with SVGElement. + + * svg/SVGLocatable.cpp: + * svg/SVGLocatable.h: + +2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Nikolas Zimmermann. + + [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime + management. + + * dom/Document.cpp: + (WebCore::Document::~Document): + (WebCore::Document::svgExtensions): + (WebCore::Document::accessSVGExtensions): + * dom/Document.h: + +2008-09-19 David Hyatt <hyatt@apple.com> + + Fix for crash in updateTransitions. Make sure to test for a style + being null when comparing two RenderStyles. + + Reviewed by Oliver Hunt + + * page/animation/AnimationBase.cpp: + (WebCore::PropertyWrapperGetter::equals): + +2008-09-19 David Hyatt <hyatt@apple.com> + + https://bugs.webkit.org/show_bug.cgi?id=20954 + + Roll out r36628 since it has caused horrible regressions with + animated GIF CPU usage. + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::cacheFrame): + (WebCore::BitmapImage::startAnimation): + * platform/graphics/BitmapImage.h: + (WebCore::FrameData::FrameData): + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::FrameData::clear): + * platform/graphics/cg/ImageCG.cpp: + (WebCore::FrameData::clear): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::FrameData::clear): + * platform/graphics/wx/ImageWx.cpp: + (WebCore::FrameData::clear): + +2008-09-20 Alp Toker <alp@nuanti.com> + + Reviewed by Timothy Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=20913 + Avoid redudant includes + + Document.h is included excessively such that a modification to Document.h (or + any of the header it includes itself) triggers a rebuild of many files + including the whole of SVG and a lot of the JS bindings. + + Some of these includes can be avoided by only including Document.h where + necessary. + + * bindings/js/JSAttrCustom.cpp: + * bindings/js/JSElementCustom.cpp: + * bindings/js/JSEventTargetBase.cpp: + * bindings/js/JSEventTargetBase.h: + * bindings/js/JSEventTargetNode.cpp: + * bindings/js/JSHTMLFrameElementCustom.cpp: + * bindings/js/JSHTMLIFrameElementCustom.cpp: + * bindings/scripts/CodeGeneratorJS.pm: + * css/CSSCursorImageValue.cpp: + * css/SVGCSSStyleSelector.cpp: + * dom/make_names.pl: + * svg/SVGAnimateElement.h: + * svg/SVGAnimatedProperty.h: + (WebCore::::baseValue): + (WebCore::::setBaseValue): + (WebCore::::startAnimation): + (WebCore::::stopAnimation): + * svg/SVGElement.cpp: + (WebCore::SVGElement::accessDocumentSVGExtensions): + * svg/SVGElement.h: + * svg/SVGElementInstance.cpp: + * svg/SVGFitToViewBox.cpp: + * svg/SVGFontElement.cpp: + * svg/SVGFontFaceElement.cpp: + * svg/SVGLinearGradientElement.cpp: + * svg/SVGMPathElement.cpp: + * svg/SVGViewSpec.cpp: + +2008-09-19 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Antti & Eric. + + Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372 + + Finish HTMLScriptElement / SVGScriptElement unification. + SVG <script> support is complete now, full SVGLoad event + respecting the influence of the externalResourcesRequired attribute + as well as SVGError event support. All other features shared with HTML. + + Tests: fast/dom/HTMLScriptElement/script-reexecution.html + svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg + svg/dom/SVGScriptElement/script-load-and-error-events.svg + svg/dom/SVGScriptElement/script-reexecution.svg + svg/dom/SVGScriptElement/script-set-href.svg + + * dom/ScriptElement.cpp: + (WebCore::ScriptElementData::ScriptElementData): + (WebCore::ScriptElementData::requestScript): + * dom/ScriptElement.h: + (WebCore::ScriptElementData::haveFiredLoadEvent): + (WebCore::ScriptElementData::setHaveFiredLoadEvent): + * dom/XMLTokenizer.cpp: + (WebCore::XMLTokenizer::notifyFinished): + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::dispatchLoadEvent): + * svg/SVGScriptElement.cpp: + (WebCore::SVGScriptElement::setCreatedByParser): + (WebCore::SVGScriptElement::parseMappedAttribute): + (WebCore::SVGScriptElement::svgAttributeChanged): + (WebCore::SVGScriptElement::insertedIntoDocument): + (WebCore::SVGScriptElement::removedFromDocument): + (WebCore::SVGScriptElement::childrenChanged): + (WebCore::SVGScriptElement::isURLAttribute): + (WebCore::SVGScriptElement::finishParsingChildren): + (WebCore::SVGScriptElement::type): + (WebCore::SVGScriptElement::setType): + (WebCore::SVGScriptElement::haveLoadedRequiredResources): + (WebCore::SVGScriptElement::dispatchLoadEvent): + (WebCore::SVGScriptElement::dispatchErrorEvent): + * svg/SVGScriptElement.h: + +2008-09-19 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - fix https://bugs.webkit.org/show_bug.cgi?id=20951 + Typo in Position::getInlineBoxAndOffset() + and add an assertion + + Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html + + * dom/Position.cpp: + (WebCore::Position::getInlineBoxAndOffset): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::positionForOffset): + +2008-09-19 David Hyatt <hyatt@apple.com> + + Add support for hit testing of all five possible scrollbar button placements. + + Reviewed by Sam Weinig + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paint): + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::): + (WebCore::ScrollbarThemeMac::backButtonRect): + (WebCore::ScrollbarThemeMac::forwardButtonRect): + (WebCore::ScrollbarThemeMac::trackRect): + (WebCore::ScrollbarThemeMac::paintButton): + +2008-09-19 Darin Adler <darin@apple.com> + + - try to fix Qt build + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument. + (JSC::Bindings::QtInstance::getRuntimeObject): Ditto. + * bridge/runtime_object.cpp: + (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt. + * bridge/runtime_object.h: Ditto. + +2008-09-19 Chris Marrin <cmarrin@apple.com> + + Reviewed by Dave Hyatt. + + Transition starts running when it shouldn't + https://bugs.webkit.org/show_bug.cgi?id=20892 + + When there is a transition and an animation on the + same element, make sure the animation wins. + + The fix is to save the unanimated style when an animation is started. + Then, when starting a transition, check to see if there is a current + animation on the same prop. If so, use the unanimated style as the + fromStyle rather than the current style. + + Test: animations/transition-and-animation-1.html + + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::updateTransitions): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + (WebCore::CompositeAnimation::animate): + (WebCore::CompositeAnimation::getAnimationForProperty): + * page/animation/CompositeAnimation.h: + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::reset): + * page/animation/ImplicitAnimation.h: + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::hasAnimationForProperty): + * page/animation/KeyframeAnimation.h: + (WebCore::KeyframeAnimation::KeyframeAnimation): + (WebCore::KeyframeAnimation::unanimatedStyle): + +2008-09-19 David Hyatt <hyatt@apple.com> + + Add support for painting/hit testing of four possible scrollbar buttons. + The Windows themes simply ignore the two parts that they will never + show. The Mac theme also ignores the other two buttons for now. + + The cross-platform base for all three themes, ScrollbarThemeComposite, + has all the proper support though. + + Reviewed by Sam Weinig + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::hitTest): + (WebCore::ScrollbarThemeComposite::invalidatePart): + * platform/ScrollbarThemeComposite.h: + * platform/mac/ScrollbarThemeMac.h: + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::backButtonRect): + (WebCore::ScrollbarThemeMac::forwardButtonRect): + (WebCore::ScrollbarThemeMac::paintButton): + * platform/win/ScrollbarThemeSafari.cpp: + (WebCore::ScrollbarThemeSafari::backButtonRect): + (WebCore::ScrollbarThemeSafari::forwardButtonRect): + (WebCore::ScrollbarThemeSafari::paintButton): + * platform/win/ScrollbarThemeSafari.h: + * platform/win/ScrollbarThemeWin.cpp: + (WebCore::ScrollbarThemeWin::backButtonRect): + (WebCore::ScrollbarThemeWin::forwardButtonRect): + (WebCore::ScrollbarThemeWin::paintButton): + * platform/win/ScrollbarThemeWin.h: + +2008-09-19 Matt Lilek <webkit@mattlilek.com> + + Reviewed by Tim Hatcher. + + Bug 17772: Inspector should support point-and-click to select a node to inspect + https://bugs.webkit.org/show_bug.cgi?id=17772 + <rdar://problem/5792395> + + * English.lproj/localizedStrings.js: + * page/Chrome.cpp: + (WebCore::Chrome::mouseDidMoveOverElement): + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEvent): + * page/InspectorController.cpp: + (WebCore::toggleNodeSearch): + (WebCore::searchingForNode): + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::toggleSearchForNodeInPage): + (WebCore::InspectorController::mouseDidMoveOverElement): + (WebCore::InspectorController::handleMousePressOnNode): + (WebCore::InspectorController::windowScriptObjectAvailable): + * page/InspectorController.h: + (WebCore::InspectorController::searchingForNodeInPage): + * page/inspector/ElementsPanel.js: + * page/inspector/Images/nodeSearchButtons.png: Added. + * page/inspector/inspector.css: + +2008-09-19 David Hyatt <hyatt@apple.com> + + Add new scrollbar parts to be able to represent back and forward buttons + at either end of the scrollbar. The current scrollbar still just draws + a single button at either end, but the parts now exist. + + Reviewed by Sam Weinig + + * platform/ScrollTypes.h: + (WebCore::): + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::autoscrollTimerFired): + (WebCore::Scrollbar::pressedPartScrollDirection): + (WebCore::Scrollbar::pressedPartScrollGranularity): + (WebCore::Scrollbar::handleMouseMoveEvent): + * platform/ScrollbarTheme.h: + (WebCore::ScrollbarTheme::buttonsPlacement): + (WebCore::ScrollbarTheme::invalidateParts): + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paint): + (WebCore::ScrollbarThemeComposite::hitTest): + (WebCore::ScrollbarThemeComposite::invalidatePart): + * platform/ScrollbarThemeComposite.h: + +2008-09-19 Beth Dakin <bdakin@apple.com> + + Reviewed by Dave Hyatt. + + Fix for <rdar://problem/6231308> crash in AutoTableLayout + + The code assumes later on that a TableSection's grid's row vector + will never be empty. So make 1 the minimum number of columns. + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::ensureRows): + +2008-09-19 David Hyatt <hyatt@apple.com> + + Add a new ScrollbarButtonsPlacement type for specifying where + the button arrows are in a scrollbar. + + Read in the placement settings for Mac. Nothing is done with the + setting yet. + + Add a new buttonsPlacement() method to ScrollbarTheme composite + so that the arrow settings can be obtained. + + Reviewed by Sam Weinig + + * platform/ScrollTypes.h: + (WebCore::): + * platform/ScrollbarThemeComposite.h: + (WebCore::ScrollbarThemeComposite::buttonsPlacement): + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::updateArrowPlacement): + (WebCore::ScrollbarThemeMac::ScrollbarThemeMac): + +2008-09-19 Steve Falkenburg <sfalken@apple.com> + + Roll out r36626. It is causing variance in SunSpider numbers on XP. + + Rubber stamped by Mark Rowe. + + * platform/win/SharedTimerWin.cpp: + (WebCore::isRunningOnVistaOrLater): + (WebCore::setSharedTimerFireTime): + +2008-09-19 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim. + + https://bugs.webkit.org/show_bug.cgi?id=20942 + Bug 20942: Repeated messages in resources don't collapse + - Now repeated messages in a resource's view are collapsed and a message + says how many were repeated. + + * English.lproj/localizedStrings.js: + * manual-tests/inspector/multiple-console-messages.html: + * page/inspector/Console.js: Send all the messages to the resource's + view before possibly returning early if the message is a repeat. + * page/inspector/SourceFrame.js: Add the text about the message being + repeated, if it is, and increment it when necessary. + +2008-09-19 Chris Fleizach <cfleizach@apple.com> + + Removed unnecessary #if + + * page/mac/AccessibilityObjectWrapper.mm: + +2008-09-19 David Hyatt <hyatt@apple.com> + + Read in prefs for the scroll delay repeat values for buttons. Also + honor the option-click pref for jumping to the thumb when clicking in + the track. + + Reviewed by Sam Weinig + + * platform/mac/ScrollbarThemeMac.h: + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::ScrollbarThemeMac): + (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay): + (WebCore::ScrollbarThemeMac::autoscrollTimerDelay): + (WebCore::ScrollbarThemeMac::shouldCenterOnThumb): + +2008-09-19 David Hyatt <hyatt@apple.com> + + Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C. + Set the initial button repeat delay to 0.5 for Mac. + + Reviewed by Sam Weinig + + * WebCore.xcodeproj/project.pbxproj: + * platform/mac/ScrollbarThemeMac.cpp: Removed. + * platform/mac/ScrollbarThemeMac.h: + (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay): + * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp. + +2008-09-19 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858 + make each distinct C++ class get a distinct JSC::Structure + + + Fixed all cases where we were using a shared structure for multiple + C++ classes in WebCore. This still has to be done in JavaScriptCore. + + + Got rid of cacheGlobalObject. + + + Improved use of PassRefPtr in bindings code. + + + Removed a couple cases where we were potentially allocating prototypes + inside a JSObject's construction process -- this can lead to trouble if + we do a garbage collection while an object is only partly constructed. + + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly + so we don't implicitly share the structure with other objects that use the object + prototype. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we + don't need cacheGlobalObject any more. + (WebCore::cacheDOMConstructor): Ditto. + + * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype. + Added functions and a function template for getting cached DOM constructors. + Removed cacheGlobalObject function template. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since + we're taking ownership. + * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since + we're taking ownership. Added constructor map. + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::mark): Mark the constructors in the map. + + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since + we're taking ownership. Use the new setWindow function to create the JSDOMWindow; + this is now done in only that one place. + (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on + the passed-in DOMWindow. Code was moved here and changed to allocate unique + structures for both the window prototype and the window. + * bindings/js/JSDOMWindowShell.h: Ditto. + + * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't + have the same name (JSEventTarget) as an actual class. Removed unhelpful use of + private/friend in JSEventTargetBase. Removed comments referring to defunct + macros. Changed JSEventTargetBasePrototype to get the prototype with the new + rather than its own copy of cacheGlobalObject (I missed this during pass 1). + Changed JSEventTargetBasePrototype so it doesn't have so many template arguments. + + * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme + for caching structures and prototypes. + (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr. + (WebCore::JSEventTargetNode::createPrototype): Added. + * bindings/js/JSEventTargetNode.h: Updated for above changes. + + * bindings/js/JSHTMLAllCollection.h: + (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr. + * bindings/js/JSHTMLCollectionCustom.cpp: + (WebCore::getNamedItems): Pass ExecState instead of prototype. + * bindings/js/JSHTMLFormElementCustom.cpp: + (WebCore::JSHTMLFormElement::nameGetter): Ditto. + * bindings/js/JSHTMLInputElementBase.cpp: + (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr. + * bindings/js/JSHTMLInputElementBase.h: Ditto. + * bindings/js/JSHTMLOptionElementConstructor.cpp: + (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): + Create a unique structure instead of sharing. + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): Ditto. + + * bindings/js/JSInspectedObjectWrapper.cpp: + (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes + a prototype rather than a structure. Made the use of inheritorID() here + explicit. + * bindings/js/JSInspectedObjectWrapper.h: Ditto. + * bindings/js/JSInspectorCallbackWrapper.cpp: + (WebCore::JSInspectorCallbackWrapper::wrap): Ditto. + * bindings/js/JSInspectorCallbackWrapper.h: Ditto. + + * bindings/js/JSNamedNodesCollection.cpp: + (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to + take an ExecState argument instead of a prototype. Create a unique + StructureID instead of sharing. + * bindings/js/JSNamedNodesCollection.h: Ditto. + + * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded + constructor that takes a prototype instead of a structure. + * bindings/js/JSQuarantinedObjectWrapper.h: Ditto. + + * bindings/js/JSRGBColor.cpp: + (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a + prototype; create a unique structure. + (WebCore::getJSRGBColor): Ditto. + * bindings/js/JSRGBColor.h: Ditto. + + * bindings/js/JSSQLResultSetRowListCustom.cpp: + (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead + of explicit coding the idiom for making a new object. + + * bindings/js/JSXMLHttpRequestConstructor.cpp: + (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): + Create a unique structure instead of the shared one. + * bindings/js/JSXSLTProcessorConstructor.cpp: + (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): + Ditto. + + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::clearWindowShell): Let the window shell's + setWindow function create the JSDOMWindow instead of doing it here. + + * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for + the structure and the wrapped object when creating wrappers. + Simplified some of the special cases for DOMWindow so they are + different only in ways the need to be. Eliminated the + JSDOMWindow::createPrototype and JSDOMWindowPrototype::self + functions. Moved responsibility for creating the structure and + parent prototype out of the prototype constructor into the + createPrototype function. Removed the unused "DoNotCache" flag for + objects other than DOMWindow. Use getDOMConstructor instead of + cacheGlobalObject for constructors. Make each constructor have + a unique structure ID. + + * bridge/objc/objc_runtime.h: Added createPrototype and changed the + name of the info member to s_info so we can use the standard DOM + binding macros to handl the prototype. + * bridge/objc/objc_runtime.mm: Fixed namespacing a bit. + (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp): + Create a unique structure using getDOMStructure. + + * bridge/runtime_array.cpp: Fixed namespacing a bit. + (JSC::RuntimeArray::RuntimeArray): Create a unique structure using + getDOMStructure. + * bridge/runtime_array.h: Added createPrototype so getDOMStructure + will work. + + * bridge/runtime_object.cpp: + (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using + getDOMStructure. + * bridge/runtime_object.h: Added createPrototype so getDOMStructure + will work. + + * history/CachedPage.cpp: + (WebCore::CachedPage::restore): Let the window shell's + setWindow function create the JSDOMWindow instead of doing it here. + + * page/DOMWindow.idl: Removed DoNotCache, which is no longer used. + +2008-09-19 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + This optimization was suggested by Daniel Fenwick + + - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction + + Specifying LTR paragraph directionality when measuring runs of RTL text + resulted in typically two CTRuns being generated for every run instead + of one, due to the leading space being reordered to the left. + + * platform/graphics/SimpleFontData.h: Removed the ltr parameter to + getCFStringAttributes() and changed m_CFStringAttributes from an array + to a single value. + * platform/graphics/mac/CoreTextController.cpp: + (WebCore::CoreTextController::CoreTextController): Added a + mayUseNaturalWritingDirection parameter. + (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed + to force the bidi embedding level whenever + m_mayUseNaturalWritingDirectrion is false. Since this is now a common + case, made the typesetter options dictionaries static. + * platform/graphics/mac/CoreTextController.h: + * platform/graphics/mac/FontMacCoreText.cpp: + (WebCore::Font::selectionRectForComplexText): Renamed a local variable. + (WebCore::Font::floatWidthForComplexText): Changed to allow the + CoreTextController to not set the writing direction. + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr + parameter and the paragraph style attribute. + +2008-09-19 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig + + https://bugs.webkit.org/show_bug.cgi?id=20941 + + Incorrect height calculation for replaced element inside nested + positioned elements (where the inner has a percentage height and + the outer implicitly has a fixed height because of explicit top/bottom + values). + + Added fast/block/positioning/replaced-inside-top-bottom.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::availableHeightUsing): + +2008-09-19 Chris Fleizach <cfleizach@apple.com> + + Fix Tiger bustage + + * page/mac/AccessibilityObjectWrapper.mm: + +2008-09-18 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6211041> Expose legend tag in accessibility + + Exposes the legend tag as the titleUIElement of a fieldset + + Test: accessibility/legend.html + + * page/AccessibilityObject.h: + (WebCore::AccessibilityObject::isFieldset): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isFieldset): + (WebCore::AccessibilityRenderObject::titleUIElement): + * page/AccessibilityRenderObject.h: + * rendering/RenderFieldset.h: + +2008-09-19 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance + + Implement a few AX API methods that will be called by AppKit, which will + speed up access to accessibility objects + + * page/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): + (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]): + (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]): + +2008-09-19 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Simon Hausmann. + + [qtwebkit] Set the m_should* flags to their proper value on entry + With plugins it was possible that we finished a job twice. This was + some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By + setting the flag to (m_loadMode == LoadDeferred) they will always have + the right value and we will not send responses twice. + + * platform/network/qt/QNetworkReplyHandler.cpp: + +2008-09-19 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Simon Hausmann. + + [qtwebkit] Pass test 70 of acid3. Handle text decoding errors + Handle text decoding errors before instructing the parser to parse. We + have converted the text to QString and all encoding errors are gone and + the parser will not be able to detect them. So handle them before parsing. + + * dom/XMLTokenizerQt.cpp: + (WebCore::XMLTokenizer::doWrite): + +2008-09-18 Darin Adler <darin@apple.com> + + Reviewed by Maciej Stachowiak. + + - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858 + make each distinct C++ class get a distinct JSC::Structure + + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException + instead of DOMExceptionTranslator. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::getCachedDOMObjectWrapper): Updated function name. + (WebCore::cacheDOMObjectWrapper): Ditto. + (WebCore::forgetDOMObject): Ditto. + (WebCore::getCachedDOMNodeWrapper): Ditto. + (WebCore::forgetDOMNode): Ditto. + (WebCore::cacheDOMNodeWrapper): Ditto. + (WebCore::forgetAllDOMNodesForDocument): Ditto. + (WebCore::markDOMNodesForDocument): Ditto. + (WebCore::updateDOMNodeDocument): Ditto. + (WebCore::getCachedDOMStructure): Added. + (WebCore::createDOMStructure): Ditto. + + * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter + class and replace the static member functions with non-member + functions. Added many other functions for getting at structures, + prototypes, wrappers, and creating them. Also moved the + cacheGlobalObject function here from JavaScriptCore; eventually + I'll remove that once I get rid of the remaining callers. Also + removed the DOMExceptionTranslator class. + + * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type, + and put one of those maps in each window. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::markDOMObjectWrapper): Updated for function name change. + (WebCore::JSDOMWindow::mark): Added code to mark all the structures + in the structure map. + + * bindings/js/JSEventTargetNode.cpp: + (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take + a structure instead of a prototype. + * bindings/js/JSEventTargetNode.h: Ditto. + * bindings/js/JSHTMLAllCollection.h: + (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto. + + * bindings/js/JSHTMLInputElementBase.cpp: + (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed + use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a + structure instead of a prototype. + * bindings/js/JSHTMLInputElementBase.h: Removed use of the + JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor + to take a structure instead of a prototype. Created a dummy prototype + class that causes the HTMLInputElement prototype to have the + HTMLElement prototype. + + * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take + structures instead of prototypes. Changed the prototype self function + to use the getDOMPrototype function -- later we can eliminate it and + have callers invoke getDOMPrototype directly instead. Updated other + functions that have name changes. Added code to generate the + createPrototype member function. Changed use of cacheGlobalObject to + get it from the WebCore namespace instead of the JSC namespace. + Changed cacheDOMObject calls to use getDOMObjectWrapper instead. + + * dom/Document.cpp: + (WebCore::Document::~Document): Updated for name change and also + removed unnecessary JSLock use -- there's no need to lock around this. + * dom/Node.cpp: + (WebCore::Node::setDocument): Ditto. + + * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro + instead of calling new directly. + + * bindings/js/JSCSSRuleCustom.cpp: + (WebCore::toJS): Updated for function name changes and used the + CREATE_DOM_OBJECT_WRAPPER macro. + * bindings/js/JSCSSValueCustom.cpp: + (WebCore::toJS): Ditto. + * bindings/js/JSCanvasPixelArrayCustom.cpp: + (WebCore::toJS): Ditto. + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::mark): Ditto. + (WebCore::toJS): Ditto. + * bindings/js/JSElementCustom.cpp: + (WebCore::toJSNewlyCreated): Ditto. + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): Ditto. + * bindings/js/JSEventTargetBase.cpp: + (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead + of DOMExceptionTranslator. + (WebCore::toJS): Updated for function name changes and used the + CREATE_DOM_OBJECT_WRAPPER macro. + * bindings/js/JSHTMLCollectionCustom.cpp: + (WebCore::toJS): Ditto. + * bindings/js/JSNodeCustom.cpp: + (WebCore::JSNode::mark): Ditto. + (WebCore::createWrapper): Ditto. + (WebCore::toJS): Ditto. + * bindings/js/JSSVGPathSegCustom.cpp: + (WebCore::toJS): Ditto. + * bindings/js/JSStyleSheetCustom.cpp: + (WebCore::toJS): Ditto. + (WebCore::JSStyleSheet::mark): Ditto. + * bindings/js/JSTextCustom.cpp: + (WebCore::toJSNewlyCreated): Ditto. + * bindings/js/JSXMLHttpRequestConstructor.cpp: + (WebCore::constructXMLHttpRequest): Ditto. + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::mark): Ditto. + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + (WebCore::JSXMLHttpRequestUpload::mark): Ditto. + * bindings/js/JSXSLTProcessorConstructor.cpp: + (WebCore::constructXSLTProcessor): Ditto. + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::finishedWithEvent): Ditto. + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto. + (WebCore::XMLHttpRequest::dropProtection): Ditto. + +2008-09-18 David Hyatt <hyatt@apple.com> + + This patch gets a viewless scrollbar working on Mac. It is turned off + by default. Hit testing works. For now the scrollbar just paints ugly + debug rects in the place of the buttons, track and thumb. It does match + Aqua metrics though. + + Reviewed by Sam Weinig + + * WebCore.xcodeproj/project.pbxproj: + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::passMousePressEventToScrollbar): + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paint): + (WebCore::ScrollbarThemeComposite::trackPosition): + * platform/ScrollbarThemeComposite.h: + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::addChild): + * platform/mac/ScrollbarThemeMac.cpp: + (WebCore::): + (WebCore::ScrollbarThemeMac::hasButtons): + (WebCore::ScrollbarThemeMac::hasThumb): + (WebCore::buttonRepaintRect): + (WebCore::ScrollbarThemeMac::backButtonRect): + (WebCore::ScrollbarThemeMac::forwardButtonRect): + (WebCore::trackRepaintRect): + (WebCore::ScrollbarThemeMac::trackRect): + (WebCore::ScrollbarThemeMac::minimumThumbLength): + (WebCore::ScrollbarThemeMac::shouldCenterOnThumb): + (WebCore::ScrollbarThemeMac::paintTrack): + (WebCore::ScrollbarThemeMac::paintButton): + (WebCore::ScrollbarThemeMac::paintThumb): + * platform/mac/ScrollbarThemeMac.h: + (WebCore::ScrollbarThemeMac::supportsControlTints): + * platform/qt/ScrollbarThemeQt.cpp: + (WebCore::ScrollbarThemeQt::trackPosition): + +2008-09-18 Collin Jackson <collinj@webkit.org> + + Build fix; added missing header file to GNUmakefile.am + + * GNUmakefile.am: + +2008-09-18 Sam Weinig <sam@webkit.org> + + Reviewed by David "the Hair" Hyatt. + + Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/DataRef.h: Removed. + * rendering/SVGRenderStyle.cpp: Removed. + * rendering/SVGRenderStyle.h: Removed. + * rendering/SVGRenderStyleDefs.cpp: Removed. + * rendering/SVGRenderStyleDefs.h: Removed. + * rendering/style/DataRef.h: Copied from rendering/DataRef.h. + * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp. + * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h. + * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp. + * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h. + +2008-09-18 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + Add a means of clearing a FrameTree's name. + + * WebCore.base.exp: + * page/FrameTree.cpp: + (WebCore::FrameTree::clearName): + * page/FrameTree.h: + +2008-09-18 David Hyatt <hyatt@apple.com> + + Eliminate addToSuperview from Widget, since it was only called + by ScrollViewMac's addChild method. Just shift the original body + of addToSuperView into addChild. + + Reviewed by Sam Weinig + + * platform/Widget.h: + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::addChild): + * platform/mac/WidgetMac.mm: + +2008-09-18 Collin Jackson <collinj@webkit.org> + + Reviewed by Antti Koivisto and Mark Rowe. + + Test: http/tests/misc/dns-prefetch-control.html + + https://bugs.webkit.org/show_bug.cgi?id=20690 + + Invoke WebCore::prefetchDNS() on host names that appear in + in the href of hyperlinks and <link rel="dns-prefetch">. This + can be used to implement DNS prefetching. + + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::processHttpEquiv): + (WebCore::Document::setSecurityOrigin): + (WebCore::Document::initDNSPrefetch): + (WebCore::Document::parseDNSPrefetchControlHeader): + * dom/Document.h: + (WebCore::Document::isDNSPrefetchEnabled): + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::parseMappedAttribute): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::HTMLLinkElement): + (WebCore::HTMLLinkElement::parseMappedAttribute): + (WebCore::HTMLLinkElement::tokenizeRelAttribute): + (WebCore::HTMLLinkElement::process): + * html/HTMLLinkElement.h: + * html/PreloadScanner.cpp: + (WebCore::PreloadScanner::processAttribute): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::begin): + * platform/gtk/TemporaryLinkStubs.cpp: + (WebCore::prefetchDNS): + * platform/network/DNS.h: Added. + * platform/network/cf/DNSCFNet.cpp: Added. + (WebCore::prefetchDNS): + * platform/qt/TemporaryLinkStubs.cpp: + (WebCore::prefetchDNS): + * platform/wx/TemporaryLinkStubs.cpp: + (WebCore::prefetchDNS): + +2008-09-18 David Hyatt <hyatt@apple.com> + + Eliminate the convertToScreenCoordinate method on Widget, since + ScrollView has redundant methods that already do the same thing. + + Reviewed by Sam Weinig + + * editing/mac/SelectionControllerMac.mm: + (WebCore::SelectionController::notifyAccessibilityForSelectionChange): + * platform/Widget.h: + * platform/mac/WidgetMac.mm: + (WebCore::Widget::containingWindow): + +2008-09-18 David Hyatt <hyatt@apple.com> + + Move to only one constructor for Widgets. Rename data to m_data and make + it have an #ifdef only for platforms that have platform-specific data (Mac + and Gtk). + + Reviewed by Sam Weinig + + * WebCore.base.exp: + * platform/Widget.cpp: + (WebCore::Widget::init): + * platform/Widget.h: + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::Widget): + (WebCore::Widget::~Widget): + (WebCore::Widget::cursor): + (WebCore::Widget::setCursor): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::Widget): + (WebCore::Widget::~Widget): + (WebCore::Widget::addToSuperview): + (WebCore::Widget::removeFromSuperview): + (WebCore::Widget::beforeMouseDown): + (WebCore::Widget::afterMouseDown): + * platform/qt/WidgetQt.cpp: + (WebCore::Widget::Widget): + * platform/win/WidgetWin.cpp: + (WebCore::Widget::Widget): + * platform/wx/WidgetWx.cpp: + (WebCore::Widget::Widget): + +2008-09-18 David Hyatt <hyatt@apple.com> + + Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there + was no reason for it to be on Widget. This change eliminates Qt ifdefs + from Widget. + + Reviewed by Sam Weinig + + * bindings/js/ScriptControllerQt.cpp: + (WebCore::ScriptController::createScriptInstanceForWidget): + * platform/qt/WidgetQt.cpp: + (WebCore::WidgetPrivate::WidgetPrivate): + (WebCore::WidgetPrivate::~WidgetPrivate): + (WebCore::Widget::Widget): + (WebCore::Widget::~Widget): + * plugins/PluginView.cpp: + (WebCore::PluginView::PluginView): + * plugins/PluginView.h: + (WebCore::PluginView::isNPAPIPlugin): + (WebCore::PluginView::setIsNPAPIPlugin): + +2008-09-18 David Hyatt <hyatt@apple.com> + + Make geometryChanged() cross-platform on Widget. GTK and WIN platform + ifdefs are now gone from Widget! + + Reviewed by Sam Weinig + + * platform/Widget.h: + (WebCore::Widget::geometryChanged): + * platform/gtk/WidgetGtk.cpp: + * platform/qt/WidgetQt.cpp: + +2008-09-18 David Hyatt <hyatt@apple.com> + + Consolidate convertTo/FromContainingWindow methods so that all platforms + but Mac share the same code. + + Move convertSelfToChild and convertChildToSelf to ScrollView, since + Widget should know nothing about children. Make the methods cross-platform + on ScrollView. + + Reviewed by Sam Weinig + + * platform/ScrollView.h: + (WebCore::ScrollView::convertChildToSelf): + (WebCore::ScrollView::convertSelfToChild): + * platform/Widget.cpp: + (WebCore::Widget::convertToContainingWindow): + (WebCore::Widget::convertFromContainingWindow): + * platform/Widget.h: + (WebCore::Widget::geometryChanged): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::isScrollViewScrollbar): + * platform/gtk/WidgetGtk.cpp: + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::isScrollViewScrollbar): + * platform/mac/WidgetMac.mm: + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::isScrollViewScrollbar): + * platform/qt/WidgetQt.cpp: + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::isScrollViewScrollbar): + * platform/win/WidgetWin.cpp: + +2008-09-18 David Hyatt <hyatt@apple.com> + + Make the conversion methods that go to and from some containingWindow + cross-platform. Implement them on Mac. + + Reviewed by Sam Weinig + + * platform/Widget.h: + (WebCore::Widget::setContainingWindow): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::convertFromContainingWindow): + (WebCore::Widget::convertToContainingWindow): + +2008-09-18 Sam Weinig <sam@webkit.org> + + Rubber-stamped by David "Yeah-yeah" Hyatt. + + Cleanup RenderStyle. + + * WebCore.xcodeproj/project.pbxproj: + * rendering/style/CounterContent.h: + * rendering/style/RenderStyle.cpp: + * rendering/style/RenderStyle.h: + +2008-09-18 Chris Marrin <cmarrin@apple.com> + + Reviewed by Sam Weinig + + Fixed https://bugs.webkit.org/show_bug.cgi?id=20908 + Now TransformOperations and AnimationList no longer + inherit from Vector<> but rather have API to access. + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::computedTransform): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::createTransformOperations): + * page/animation/AnimationBase.cpp: + (WebCore::blendFunc): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::updateTransitions): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + (WebCore::CompositeAnimation::animate): + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::validateTransformFunctionList): + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::validateTransformFunctionList): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateReflectionStyle): + * rendering/style/AnimationList.cpp: + (WebCore::AnimationList::operator==): + * rendering/style/AnimationList.h: + (WebCore::AnimationList::operator!=): + (WebCore::AnimationList::size): + (WebCore::AnimationList::isEmpty): + (WebCore::AnimationList::resize): + (WebCore::AnimationList::remove): + (WebCore::AnimationList::append): + (WebCore::AnimationList::animation): + * rendering/style/RenderStyle.cpp: + (WebCore::StyleRareNonInheritedData::updateKeyframes): + (WebCore::RenderStyle::applyTransform): + (WebCore::RenderStyle::adjustAnimations): + (WebCore::RenderStyle::adjustTransitions): + (WebCore::RenderStyle::transitionForProperty): + * rendering/style/RenderStyle.h: + (WebCore::RenderStyle::hasTransform): + * rendering/style/TransformOperations.cpp: + (WebCore::TransformOperations::TransformOperations): + (WebCore::TransformOperations::operator==): + * rendering/style/TransformOperations.h: + (WebCore::TransformOperations::apply): + (WebCore::TransformOperations::operations): + +2008-09-18 Holger Hans Peter Freyther <zecke@selfish.org> + + Build fix. + + [qt] Build fixes after the Widget/ScrollView cleanup + topLevel() is now root() + + + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): + (WebCore::ScrollView::addChild): + (WebCore::ScrollView::removeChild): + +2008-09-18 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=20437 + + XMLTokenizer.cpp used to contain two different implementations. One was using + libxml2 and the other was using the Qt XML StreamReader. Clean up the code by + separating the two implementations from each other. + Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code + was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to + XMLTokenizerLibxml2.cpp. There should be no functional changes. + + Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues + to work. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * dom/XMLTokenizer.cpp: + (WebCore::isScriptElement): + (WebCore::castToScriptElement): + (WebCore::XMLTokenizer::setCurrentNode): + (WebCore::XMLTokenizer::write): + (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): + (WebCore::XMLTokenizer::enterText): + (WebCore::toString): + (WebCore::XMLTokenizer::exitText): + (WebCore::XMLTokenizer::end): + (WebCore::XMLTokenizer::insertErrorMessageBlock): + * dom/XMLTokenizer.h: + (WebCore::XMLTokenizer::wellFormed): + * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp. + (WebCore::createMemoryParser): + (WebCore::XMLTokenizer::XMLTokenizer): + (WebCore::XMLTokenizer::~XMLTokenizer): + (WebCore::XMLTokenizer::doWrite): + (WebCore::ignorableWhitespaceHandler): + (WebCore::XMLTokenizer::initializeParserContext): + (WebCore::XMLTokenizer::doEnd): + (WebCore::XMLTokenizer::lineNumber): + (WebCore::XMLTokenizer::columnNumber): + (WebCore::XMLTokenizer::stopParsing): + (WebCore::XMLTokenizer::resumeParsing): + (WebCore::parseXMLDocumentFragment): + (WebCore::attributesStartElementNsHandler): + (WebCore::parseAttributes): + * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp. + (WebCore::EntityResolver::resolveUndeclaredEntity): + (WebCore::XMLTokenizer::XMLTokenizer): + (WebCore::XMLTokenizer::~XMLTokenizer): + (WebCore::XMLTokenizer::doWrite): + (WebCore::XMLTokenizer::initializeParserContext): + (WebCore::XMLTokenizer::doEnd): + (WebCore::XMLTokenizer::lineNumber): + (WebCore::XMLTokenizer::columnNumber): + (WebCore::XMLTokenizer::stopParsing): + (WebCore::XMLTokenizer::resumeParsing): + (WebCore::parseXMLDocumentFragment): + (WebCore::attributesStartElementNsHandler): + (WebCore::parseAttributes): + (WebCore::): + +2008-09-18 Beth Dakin <bdakin@apple.com> + + Reviewed by Geoff Garen. + + Build fix for non-Mac builds. + + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::cssText): + +2008-09-18 Peter Kasting <pkasting@google.com> + + Reviewed by hyatt. Landed by eseidel. + + https://bugs.webkit.org/show_bug.cgi?id=20745 + Animated GIFs do not animate properly with (at least) CG. + + * WebCore\platform\graphics\BitmapImage.cpp: + * WebCore\platform\graphics\BitmapImage.h: + * WebCore\platform\graphics\cairo\ImageCairo.cpp: + * WebCore\platform\graphics\cg\ImageCG.cpp: + * WebCore\platform\graphics\qt\ImageQt.cpp: + * WebCore\platform\graphics\wx\ImageWx.cpp: + +2008-09-18 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin + + <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA + role specifies otherwise + + If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject + + Test: accessibility/table-with-aria-role.html + + * page/AccessibilityTable.cpp: + (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): + (WebCore::AccessibilityTable::addChildren): + (WebCore::AccessibilityTable::roleValue): + (WebCore::AccessibilityTable::accessibilityIsIgnored): + (WebCore::AccessibilityTable::title): + * page/AccessibilityTableCell.cpp: + (WebCore::AccessibilityTableCell::accessibilityIsIgnored): + (WebCore::AccessibilityTableCell::isTableCell): + (WebCore::AccessibilityTableCell::roleValue): + * page/AccessibilityTableCell.h: + * page/AccessibilityTableRow.cpp: + (WebCore::AccessibilityTableRow::roleValue): + (WebCore::AccessibilityTableRow::isTableRow): + (WebCore::AccessibilityTableRow::accessibilityIsIgnored): + * page/AccessibilityTableRow.h: + +2008-09-18 Steve Falkenburg <sfalken@apple.com> + + Use higher-resolution timers on all variants of Windows. + + Reviewed by Darin Adler. + + * platform/win/SharedTimerWin.cpp: + (WebCore::setSharedTimerFireTime): + + +2008-09-18 David Hyatt <hyatt@apple.com> + + Make containingWindow() and setContainingWindow() cross-platform. + Add a root() function cross-platform so Qt doesn't have to + define its own. + + Reviewed by Darin Adler + + * platform/Widget.cpp: + (WebCore::Widget::root): + * platform/Widget.h: + (WebCore::Widget::setContainingWindow): + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::Widget): + (WebCore::Widget::containingWindow): + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::addChild): + (WebCore::ScrollView::removeChild): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::containingWindow): + * platform/qt/WidgetQt.cpp: + (WebCore::Widget::invalidateRect): + (WebCore::Widget::containingWindow): + * platform/win/WidgetWin.cpp: + (WebCore::Widget::Widget): + (WebCore::Widget::~Widget): + (WebCore::Widget::containingWindow): + +2008-09-18 Beth Dakin <bdakin@apple.com> + + Reviewed by Dave Hyatt. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon + parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit- + dashboard-region= + and corresponding: <rdar://problem/6174100> + + This patch makes CSSParserValue::createCSSValue handle unknown + identifiers. + + * css/CSSParserValues.cpp: + (WebCore::CSSParserValue::createCSSValue): If we have an identifier + with no id (an unknown identifier) create a CSSPrimitiveValue of + type CSS_PARSER_IDENTIFIER + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::cssText): + (WebCore::CSSPrimitiveValue::parserValue): + * css/CSSPrimitiveValue.h: + (WebCore::CSSPrimitiveValue::): + +2008-09-18 Sam Weinig <sam@webkit.org> + + Rubber-stamped by David "I'd prefer not" Hyatt. + + More the remaining class out of RenderStyle.h/cpp + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h. + (WebCore::CursorData::CursorData): + (WebCore::CursorData::operator==): + (WebCore::CursorData::operator!=): + * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h. + (WebCore::CursorList::operator[]): + (WebCore::CursorList::CursorList): + * rendering/style/RenderStyle.cpp: + * rendering/style/RenderStyle.h: + (WebCore::RenderStyle::deref): + (WebCore::RenderStyle::hasOneRef): + (WebCore::RenderStyle::InheritedFlags::operator!=): + (WebCore::RenderStyle::NonInheritedFlags::operator!=): + (WebCore::RenderStyle::hasBackground): + (WebCore::RenderStyle::outlineWidth): + (WebCore::RenderStyle::autoWrap): + (WebCore::RenderStyle::preserveNewline): + (WebCore::RenderStyle::collapseWhiteSpace): + (WebCore::RenderStyle::isCollapsibleWhiteSpace): + (WebCore::RenderStyle::breakOnlyAfterWhiteSpace): + (WebCore::RenderStyle::breakWords): + (WebCore::RenderStyle::outlineOffset): + (WebCore::RenderStyle::setLeft): + (WebCore::RenderStyle::setRight): + (WebCore::RenderStyle::setTop): + (WebCore::RenderStyle::setBottom): + (WebCore::RenderStyle::setDashboardRegion): + (WebCore::RenderStyle::setBackgroundColor): + (WebCore::RenderStyle::setBorderImage): + (WebCore::RenderStyle::setBorderRadius): + (WebCore::RenderStyle::setFontDescription): + (WebCore::RenderStyle::adjustBackgroundLayers): + (WebCore::RenderStyle::adjustMaskLayers): + (WebCore::RenderStyle::deleteBindingURIs): + (WebCore::RenderStyle::inheritBindingURIs): + (WebCore::RenderStyle::isDisplayReplacedType): + (WebCore::RenderStyle::isDisplayInlineType): + (WebCore::RenderStyle::isOriginalDisplayInlineType): + * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h. + (WebCore::StyleInheritedData::operator!=): + * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h. + (WebCore::StyleRareInheritedData::operator!=): + * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h. + * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h. + +2008-09-18 David Hyatt <hyatt@apple.com> + + Move the concept of suppression invalidation on Widgets to Scrollbar + instead. Since this is only used by Scrollbars, there is no need for + it to be on Widget. + + Reviewed by Sam Weinig + + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::Scrollbar): + (WebCore::Scrollbar::invalidateRect): + * platform/Scrollbar.h: + (WebCore::Scrollbar::suppressInvalidation): + (WebCore::Scrollbar::setSuppressInvalidation): + * platform/Widget.h: + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::Widget): + (WebCore::Widget::invalidateRect): + * platform/qt/WidgetQt.cpp: + (WebCore::WidgetPrivate::WidgetPrivate): + (WebCore::Widget::invalidateRect): + * platform/win/WidgetWin.cpp: + (WebCore::Widget::Widget): + (WebCore::Widget::invalidateRect): + +2008-09-18 David Hyatt <hyatt@apple.com> + + Make invalidate() on Widget non-virtual and make it just call + invalidateRect() on the boundsGeometry() of the Widget. + + Reviewed by Dan Bernstein + + * platform/Widget.h: + (WebCore::Widget::boundsGeometry): + (WebCore::Widget::invalidate): + * platform/gtk/WidgetGtk.cpp: + * platform/mac/WidgetMac.mm: + * platform/qt/WidgetQt.cpp: + * platform/win/WidgetWin.cpp: + * platform/wx/WidgetWx.cpp: + +2008-09-18 Sam Weinig <sam@webkit.org> + + Rubber-stamped in exile by David Hyatt. + + Split Animation, AnimationList, BindingURI, ContentData, CounterContent, + KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of + RenderStyle.h/cpp + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * css/CSSStyleSelector.cpp: + * css/CSSStyleSelector.h: + * page/animation/CompositeAnimation.cpp: + * page/animation/KeyframeAnimation.cpp: + * page/animation/KeyframeAnimation.h: + * rendering/RenderCounter.h: + * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp. + (WebCore::Animation::~Animation): + (WebCore::Animation::animationsMatch): + (WebCore::Animation::keyframeList): + (WebCore::Animation::setAnimationKeyframe): + * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h. + * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h. + * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h. + (WebCore::BindingURI::operator!=): + * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h. + (WebCore::ContentData::ContentData): + (WebCore::ContentData::~ContentData): + * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h. + (WebCore::CounterContent::CounterContent): + * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h. + (WebCore::CounterDirectives::CounterDirectives): + * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp. + (WebCore::KeyframeList::insert): + * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h. + (WebCore::KeyframeValue::KeyframeValue): + (WebCore::KeyframeList::create): + (WebCore::KeyframeList::KeyframeList): + * rendering/style/RenderStyle.cpp: + * rendering/style/RenderStyle.h: + * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h. + (WebCore::ShadowData::ShadowData): + (WebCore::ShadowData::~ShadowData): + (WebCore::ShadowData::operator!=): + * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h. + (WebCore::StyleFlexibleBoxData::operator!=): + * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h. + (WebCore::TimingFunction::TimingFunction): + (WebCore::TimingFunction::operator==): + +2008-09-18 Adele Peterson <adele@apple.com> + + Reviewed by Dan Bernstein. + + Fix RenderStyle leaks. + + * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded): + +2008-09-18 Kevin McCullough <kmccullough@apple.com> + + Accidentally checked in code. + + * html/HTMLElementFactory.cpp: + (WebCore::frameConstructor): + (WebCore::iframeConstructor): + +2008-09-18 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim. + + <rdar://problem/5722310> gracefully handle too many console messages + (20904) + - Keep track of the most previous message and then compare it to the + subsequent messages as they come in. If there are multiple of the same + message create a count that indicates the current number. + + * manual-tests/inspector/multiple-console-messages.html: Added. + * page/inspector/Console.js: + * page/inspector/inspector.css: + +2008-09-18 Jonathon Jongsma <jonathon@quotidian.org> + + Reviewed by Alp Toker + + https://bugs.webkit.org/show_bug.cgi?id=20830 + [GTK] Don't use deprecated pango API + + Replace deprecated pango functions with non-deprecated ones for newer + versions of pango + + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::getDefaultPangoLayout): + * platform/graphics/gtk/FontPlatformDataPango.cpp: + (WebCore::FontPlatformData::FontPlatformData): + +2008-09-18 Alp Toker <alp@nuanti.com> + + Build fix for r36587. Add new sources (and sort the lists). + + * GNUmakefile.am: + +2008-09-17 Sam Weinig <sam@webkit.org> + + Fix Windows build. + + * WebCore.vcproj/WebCore.vcproj: + +2008-09-17 David Hyatt <hyatt@apple.com> + + Switch back to having frameGeometry be virtual in order to keep Mac + the way it used to be. + + Reviewed by Sam Weinig + + * WebCore.base.exp: + * platform/Widget.cpp: + (WebCore::Widget::setParent): + * platform/Widget.h: + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::frameGeometry): + (WebCore::Widget::setFrameGeometry): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::frameGeometry): + (WebCore::Widget::setFrameGeometry): + * platform/qt/WidgetQt.cpp: + (WebCore::Widget::frameGeometry): + (WebCore::Widget::setFrameGeometry): + * platform/win/WidgetWin.cpp: + (WebCore::Widget::frameGeometry): + (WebCore::Widget::setFrameGeometry): + * platform/wx/WidgetWx.cpp: + (WebCore::Widget::frameGeometry): + (WebCore::Widget::setFrameGeometry): + * plugins/PluginView.cpp: + (WebCore::PluginView::setFrameGeometry): + (WebCore::PluginView::geometryChanged): + * plugins/PluginView.h: + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::updatePluginWidget): + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::updatePluginWidget): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::updatePluginWidget): + +2008-09-17 Sam Weinig <sam@webkit.org> + + Reviewed by Mark Rowe. + + Fix assertion in DOMWindow::adjustWindowRect where we were passing + in garbage values and were getting lucky that they were a not Nan. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::windowProtoFuncOpen): + +2008-09-17 Sam Weinig <sam@webkit.org> + + Fix gtk build. + + * rendering/style/MatrixTransformOperation.cpp: + +2008-09-17 Sam Weinig <sam@webkit.org> + + Rubber-stamped with love by David Hyatt. + + Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation, + ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation, + TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * css/CSSStyleSelector.cpp: + * page/animation/AnimationBase.cpp: + (WebCore::solveEpsilon): + * rendering/RenderLayer.cpp: + * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h. + * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h. + (WebCore::MatrixTransformOperation::MatrixTransformOperation): + * rendering/style/RenderStyle.cpp: + * rendering/style/RenderStyle.h: + * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h. + (WebCore::RotateTransformOperation::RotateTransformOperation): + * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h. + (WebCore::ScaleTransformOperation::ScaleTransformOperation): + * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h. + (WebCore::SkewTransformOperation::SkewTransformOperation): + * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h. + (WebCore::StyleTransformData::operator!=): + * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h. + (WebCore::TransformOperation::): + * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp. + (WebCore::TransformOperations::TransformOperations): + * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h. + (WebCore::TransformOperations::operator!=): + * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h. + (WebCore::TranslateTransformOperation::TranslateTransformOperation): + +2008-09-17 Mark Rowe <mrowe@apple.com> + + Build fix. + + * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h. + +2008-09-17 David Hyatt <hyatt@apple.com> + + (1) Inline a bunch of methods for accessing frame geometry. + (2) Make sure frameGeometry() works even when you have no underlying + native widget. + (3) Cache a frame geometry rect cross-platform (even for widgets that + have underlying native widgets. + (4) PluginView's updateWindow call is now a virtual function on Widget. + + Reviewed by Sam Weinig + + * ChangeLog: + * WebCore.base.exp: + * platform/Widget.cpp: + (WebCore::Widget::setFrameGeometry): + * platform/Widget.h: + (WebCore::Widget::x): + (WebCore::Widget::y): + (WebCore::Widget::width): + (WebCore::Widget::height): + (WebCore::Widget::size): + (WebCore::Widget::pos): + (WebCore::Widget::frameGeometry): + (WebCore::Widget::resize): + (WebCore::Widget::move): + (WebCore::Widget::isFrameView): + (WebCore::Widget::windowClipRect): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::~Widget): + (WebCore::Widget::updatePlatformWidgetFrameGeometry): + * platform/win/WidgetWin.cpp: + (WebCore::Widget::updatePlatformWidgetFrameGeometry): + * plugins/PluginView.cpp: + (WebCore::PluginView::setFrameGeometry): + (WebCore::PluginView::geometryChanged): + * plugins/PluginView.h: + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::updatePlatformWidgetFrameGeometry): + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::updatePlatformWidgetFrameGeometry): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::updatePlatformWidgetFrameGeometry): + * plugins/wx/PluginViewWx.cpp: + +2008-09-17 Sam Weinig <sam@webkit.org> + + Reviewed by David "Waterman" Hyatt. + + Fix a leak of NSViews in WidgetMac.mm. + + * platform/mac/WidgetMac.mm: + (WebCore::Widget::~Widget): + +2008-09-17 Sam Weinig <sam@webkit.org> + + Rubber-stamped by David Waterman Hyatt. + + Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData + StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h. + (WebCore::FillLayer::operator!=): + (WebCore::FillLayer::hasImage): + (WebCore::FillLayer::hasFixedImage): + * rendering/style/RenderStyle.cpp: + * rendering/style/RenderStyle.h: + * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp. + (WebCore::StyleBackgroundData::StyleBackgroundData): + * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h. + (WebCore::StyleBackgroundData::~StyleBackgroundData): + (WebCore::StyleBackgroundData::operator!=): + * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h. + (WebCore::StyleBoxData::operator!=): + * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h. + (WebCore::StyleDashboardRegion::operator!=): + * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h. + (WebCore::StyleMarqueeData::operator!=): + * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h. + (WebCore::StyleMultiColData::operator!=): + (WebCore::StyleMultiColData::ruleWidth): + * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h. + (WebCore::StyleVisualData::operator==): + +2008-09-17 David Hyatt <hyatt@apple.com> + + Remove WidgetClient from Widget. + + Reviewed by Sam Weinig + + * WebCore.xcodeproj/project.pbxproj: + * platform/Widget.h: + (WebCore::Widget::setClient): + (WebCore::Widget::client): + * platform/WidgetClient.h: Removed. + * platform/gtk/WidgetGtk.cpp: + * platform/mac/WidgetMac.mm: + (WebCore::Widget::Widget): + (WebCore::Widget::show): + (WebCore::Widget::hide): + * platform/qt/WidgetQt.cpp: + (WebCore::WidgetPrivate::WidgetPrivate): + * platform/win/WidgetWin.cpp: + (WebCore::Widget::Widget): + * platform/wx/WidgetWx.cpp: + (WebCore::Widget::Widget): + +2008-09-17 David Hyatt <hyatt@apple.com> + + Remove isEnabled/setEnabled from Widget. The concept of being enabled now + only applies to Scrollbars so the method has been moved there and made + cross-platform. Scrollbar subclasses that have a corresponding native + widget can subclass setEnabled to change the enabled state of the native + widget. + + Reviewed by Sam Weinig & Darin Adler + + * WebCore.base.exp: + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::Scrollbar): + * platform/Scrollbar.h: + (WebCore::Scrollbar::enabled): + (WebCore::Scrollbar::setEnabled): + * platform/Widget.h: + * platform/gtk/ScrollbarGtk.cpp: + (ScrollbarGtk::setEnabled): + * platform/gtk/ScrollbarGtk.h: + * platform/gtk/WidgetGtk.cpp: + * platform/mac/ScrollbarMac.h: + * platform/mac/ScrollbarMac.mm: + (WebCore::ScrollbarMac::scrollbarHit): + (WebCore::ScrollbarMac::setEnabled): + * platform/mac/WidgetMac.mm: + * platform/qt/WidgetQt.cpp: + (WebCore::WidgetPrivate::WidgetPrivate): + * platform/win/WidgetWin.cpp: + (WebCore::Widget::Widget): + * platform/wx/WidgetWx.cpp: + +2008-09-17 Sam Weinig <sam@webkit.org> + + Rubber-stamped by David Hyatt. + + Split all RenderStyle enums into their own file. + + * GNUmakefile.am: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/style/BorderValue.h: + * rendering/style/CollapsedBorderValue.h: + * rendering/style/RenderStyle.h: + * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h. + (WebCore::): + * rendering/style/StyleCachedImage.h: + * rendering/style/StyleGeneratedImage.h: + * rendering/style/StyleImage.h: + +2008-09-17 Steve Falkenburg <sfalken@apple.com> + + Add back isFrameView check to fix failed assertion during scroll bar teardown. + + Reviewed by Dave Hyatt. + + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::setParent): + +2008-09-17 Brady Eidson <beidson@apple.com> + + Reviewed by Mac build fix + + * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit + +2008-09-17 Steve Falkenburg <sfalken@apple.com> + + Fix build. + + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::setParentVisible): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::init): + +2008-09-17 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Simon. + + [QtWebKit] Implement error handling in TextCodecQt::decode + Use the QTextCodec parsing state to set the sawError out variable. This + is needed to pass Test 70 of acid3. The test case for this bug is + fast/encoding/invalid-xml.html that is now partially passed. To pass + it completely the Qt text codecs need to be adjusted to have proper + error handling. + + * platform/text/qt/TextCodecQt.cpp: + (WebCore::TextCodecQt::decode): + +2008-09-17 Sam Weinig <sam@webkit.org> + + Rubber-stamped by Dave Hyatt. + + Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData + out of RenderStyle.h/cpp + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h. + (WebCore::BorderData::hasBorderRadius): + (WebCore::BorderData::borderLeftWidth): + (WebCore::BorderData::borderRightWidth): + (WebCore::BorderData::borderTopWidth): + (WebCore::BorderData::borderBottomWidth): + (WebCore::BorderData::operator!=): + * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h. + (WebCore::): + (WebCore::BorderValue::BorderValue): + (WebCore::BorderValue::nonZero): + (WebCore::BorderValue::isTransparent): + (WebCore::BorderValue::isVisible): + * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h. + (WebCore::): + (WebCore::CollapsedBorderValue::CollapsedBorderValue): + (WebCore::CollapsedBorderValue::operator==): + * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h. + (WebCore::OutlineValue::OutlineValue): + * rendering/style/RenderStyle.cpp: + * rendering/style/RenderStyle.h: + * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp. + * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h. + (WebCore::StyleSurroundData::operator!=): + +2008-09-17 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + This is a better fix for: Invalid CSS code crashes Safari + https://bugs.webkit.org/show_bug.cgi?id=20512 + + The spec indicates that the only valid input for a counter is a + number or an identifier. So that is exactly what we allow. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseCounterContent): + +2008-09-17 Alp Toker <alp@nuanti.com> + + GTK+ build fix. Adapt to use PlatformWidget functions. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollViewScrollbar::geometryChanged): + (WebCore::ScrollView::addChild): + (WebCore::ScrollView::removeChild): + * platform/gtk/ScrollbarGtk.cpp: + (ScrollbarGtk::ScrollbarGtk): + (ScrollbarGtk::~ScrollbarGtk): + (ScrollbarGtk::geometryChanged): + +2008-09-17 Sam Weinig <sam@webkit.org> + + Reviewed by Adele Peterson. + + Patch for <rdar://problem/6133884> + Calling window.resizeTo() on a subframe shouldn't change the window size + + Test: fast/dom/Window/window-resize-and-move-sub-frame.html + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::moveBy): + (WebCore::DOMWindow::moveTo): + (WebCore::DOMWindow::resizeBy): + (WebCore::DOMWindow::resizeTo): + +2008-09-17 Beth Dakin <bdakin@apple.com> + + Reviewed by Adam Roben. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS + code crashes Safari + and corresponding: <rdar://problem/6173832> + + Reading through the spec, it seems like a function is not valid + input for a counter. So this patch checks for that and bails in the + case of invalid input. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseCounterContent): + +2008-09-17 Greg Bolsinga <bolsinga@apple.com> + + Reviewed by Antti Koivisto. + + Fix <rdar://problem/6227089> + Crash in WebCore::Frame::setNeedsReapplyStyles() + + View is null checked elsewhere too. + + * page/Frame.cpp: + (WebCore::Frame::setNeedsReapplyStyles): + +2008-09-17 David Hyatt <hyatt@apple.com> + + Make the notion of having a native widget backing a Widget cross-platform. + The PlatformWidget abstraction (which already existed) is used for this. + Windows = HWND + Qt = QWidget + Mac = NSView + wx = wxWindow + Gtk = GtkWidget + + There are new cross-platform methods that replace all of the unique + platform-specific methods. + platformWidget() + setPlatformWidget() + + For plugins, on every platform except Qt on Windows, the plugin's native + widget is now stored in the Widget base class. Since Qt on Windows uses + HWNDs for plugins instead of QWidget, it is the only platform to keep the + m_window variable in PluginView. + + Reviewed by Sam Weinig + + * WebCore.base.exp: + * bindings/js/ScriptControllerMac.mm: + (WebCore::ScriptController::createScriptInstanceForWidget): + * page/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper attachmentView]): + (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::passMouseDownEventToWidget): + (WebCore::EventHandler::mouseDownViewIfStillGood): + (WebCore::EventHandler::passWheelEventToWidget): + (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): + * platform/Widget.cpp: + (WebCore::Widget::init): + (WebCore::Widget::setParent): + (WebCore::Widget::releasePlatformWidget): + (WebCore::Widget::retainPlatformWidget): + * platform/Widget.h: + (WebCore::Widget::platformWidget): + (WebCore::Widget::setPlatformWidget): + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::Widget): + (WebCore::Widget::setFocus): + (WebCore::gdkDrawable): + (WebCore::Widget::setCursor): + (WebCore::Widget::show): + (WebCore::Widget::hide): + (WebCore::Widget::setEnabled): + (WebCore::Widget::isEnabled): + (WebCore::Widget::paint): + * platform/mac/PlatformScreenMac.mm: + (WebCore::screenRect): + (WebCore::screenAvailableRect): + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::scrollView): + (WebCore::ScrollView::update): + (WebCore::ScrollView::inWindow): + * platform/mac/ScrollbarMac.mm: + (WebCore::ScrollbarMac::ScrollbarMac): + (WebCore::ScrollbarMac::~ScrollbarMac): + (WebCore::ScrollbarMac::updateThumbPosition): + (WebCore::ScrollbarMac::updateThumbProportion): + (WebCore::ScrollbarMac::scrollbarHit): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::Widget): + (WebCore::Widget::setEnabled): + (WebCore::Widget::isEnabled): + (WebCore::Widget::setFocus): + (WebCore::Widget::getOuterView): + (WebCore::Widget::paint): + (WebCore::Widget::invalidate): + (WebCore::Widget::invalidateRect): + (WebCore::Widget::setIsSelected): + (WebCore::Widget::releasePlatformWidget): + (WebCore::Widget::retainPlatformWidget): + * platform/qt/WidgetQt.cpp: + (WebCore::WidgetPrivate::WidgetPrivate): + (WebCore::Widget::Widget): + (WebCore::Widget::setFrameGeometry): + (WebCore::Widget::show): + (WebCore::Widget::hide): + (WebCore::Widget::isEnabled): + (WebCore::Widget::setEnabled): + (WebCore::Widget::invalidateRect): + (WebCore::Widget::containingWindow): + * platform/win/WidgetWin.cpp: + (WebCore::Widget::Widget): + * platform/wx/WidgetWx.cpp: + (WebCore::Widget::Widget): + (WebCore::Widget::frameGeometry): + (WebCore::Widget::setFocus): + (WebCore::Widget::setCursor): + (WebCore::Widget::show): + (WebCore::Widget::hide): + (WebCore::Widget::setFrameGeometry): + (WebCore::Widget::setEnabled): + (WebCore::Widget::isEnabled): + (WebCore::Widget::invalidate): + (WebCore::Widget::invalidateRect): + (WebCore::Widget::paint): + * plugins/PluginView.cpp: + (WebCore::PluginView::PluginView): + * plugins/PluginView.h: + (WebCore::PluginView::platformPluginWidget): + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::updateWindow): + (WebCore::PluginView::setFocus): + (WebCore::PluginView::show): + (WebCore::PluginView::hide): + (WebCore::PluginView::setParent): + (WebCore::PluginView::setNPWindowRect): + (WebCore::PluginView::setParentVisible): + (WebCore::PluginView::getValue): + (WebCore::PluginView::forceRedraw): + (WebCore::PluginView::init): + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::updateWindow): + (WebCore::PluginView::setFocus): + (WebCore::PluginView::show): + (WebCore::PluginView::hide): + (WebCore::PluginView::setParent): + (WebCore::PluginView::setNPWindowRect): + (WebCore::PluginView::setParentVisible): + (WebCore::PluginView::getValue): + (WebCore::PluginView::~PluginView): + (WebCore::PluginView::init): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::updateWindow): + (WebCore::PluginView::setFocus): + (WebCore::PluginView::show): + (WebCore::PluginView::hide): + (WebCore::PluginView::paint): + (WebCore::PluginView::setParent): + (WebCore::PluginView::setParentVisible): + (WebCore::PluginView::setNPWindowRect): + (WebCore::PluginView::stop): + (WebCore::PluginView::invalidateRect): + (WebCore::PluginView::forceRedraw): + (WebCore::PluginView::~PluginView): + (WebCore::PluginView::init): + +2008-09-17 Sam Weinig <sam@webkit.org> + + Fix assert. + + * platform/Widget.cpp: + (WebCore::Widget::setParent): + +2008-09-17 David Hyatt <hyatt@apple.com> + + Beginnings of Widget refactoring (in order to make the mixing of + widgets with and without corresponding native widgets more cross-platform). + + This first patch makes the concept of a parent ScrollView cross-platform. + + Note the similarity of the show/hide methods on the three PluginViews. This + will be refactored better in a later patch so that they can all share + a base class Widget show/hide method. For now the changes were made + simply to be able to bring WidgetWin's setParent method up into Widget. + + Reviewed by Sam Weinig + + * WebCore.base.exp: + * platform/ScrollView.h: + * platform/Widget.cpp: + (WebCore::Widget::init): + (WebCore::Widget::setParent): + * platform/Widget.h: + (WebCore::Widget::isSelfVisible): + (WebCore::Widget::isParentVisible): + (WebCore::Widget::isVisible): + (WebCore::Widget::setParentVisible): + (WebCore::Widget::isPluginView): + (WebCore::Widget::parent): + (WebCore::Widget::handleEvent): + (WebCore::Widget::geometryChanged): + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::Widget): + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::addChild): + (WebCore::ScrollView::removeChild): + * platform/mac/ScrollbarMac.mm: + (WebCore::ScrollbarMac::~ScrollbarMac): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::Widget): + (WebCore::Widget::~Widget): + * platform/qt/WidgetQt.cpp: + (WebCore::WidgetPrivate::WidgetPrivate): + (WebCore::Widget::Widget): + (WebCore::Widget::topLevel): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::setAncestorVisible): + (WebCore::ScrollView::show): + (WebCore::ScrollView::hide): + * platform/win/WidgetWin.cpp: + (WebCore::Widget::Widget): + (WebCore::Widget::setParent): + * platform/wx/WidgetWx.cpp: + (WebCore::Widget::Widget): + * plugins/PluginView.cpp: + (WebCore::PluginView::PluginView): + * plugins/PluginView.h: + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::show): + (WebCore::PluginView::hide): + (WebCore::PluginView::setParentVisible): + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::show): + (WebCore::PluginView::hide): + (WebCore::PluginView::setParentVisible): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::show): + (WebCore::PluginView::hide): + (WebCore::PluginView::setParentVisible): + +2008-09-17 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Adam Roben. + + <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0 + + * platform/text/TextCodecICU.cpp: + (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names. + +2008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com> + + Fix the QtWebKit/Mac build + + * platform/qt/ScrollViewQt.cpp: add include + +2008-09-17 David Hyatt <hyatt@apple.com> + + Add a #define to control whether or not to use an NSScroller on Mac. + This ifdef will allow the new NSView-less NSScroller on Mac to be + developed side by side with the current one. + + The new scroller paints a debug red if turned on (although due to + Widget issues you won't see anything paint yet). + + Reviewed by olliej + + * platform/Scrollbar.cpp: + * platform/Scrollbar.h: + * platform/mac/ScrollbarMac.h: + * platform/mac/ScrollbarMac.mm: + * platform/mac/ScrollbarThemeMac.cpp: + (WebCore::ScrollbarThemeMac::paint): + * platform/mac/ScrollbarThemeMac.h: + +2008-09-16 Marco Barisione <marco.barisione@collabora.co.uk> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=20854 + [GTK] Windows can be not realized in ScrollView::update + + Do not call gdk_window_invalidate_rect on a non-realized GtkWidget. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::update): + +2008-09-16 Alp Toker <alp@nuanti.com> + + Suggested by Dave Hyatt. + + Build fix and cleanup. Rename ScrollBar to Scrollbar. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * editing/EditorCommand.cpp: + * page/EventHandler.cpp: + * page/gtk/EventHandlerGtk.cpp: + * page/mac/EventHandlerMac.mm: + * page/mac/FrameMac.mm: + * page/qt/EventHandlerQt.cpp: + * page/wx/EventHandlerWx.cpp: + * platform/PopupMenu.h: + * platform/ScrollBar.cpp: Removed. + * platform/ScrollBar.h: Removed. + * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp. + * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h. + * platform/gtk/ScrollbarGtk.cpp: + (ScrollbarGtk::ScrollbarGtk): + * platform/gtk/ScrollbarGtk.h: + * platform/mac/ScrollbarMac.h: + * platform/qt/ScrollViewQt.cpp: + * platform/qt/ScrollbarQt.cpp: + * platform/qt/ScrollbarThemeQt.cpp: + * platform/win/PlatformScrollBar.h: + * platform/win/PopupMenuWin.cpp: + * platform/win/ScrollViewWin.cpp: + * platform/win/ScrollbarThemeWin.cpp: + * platform/wx/ScrollViewWx.cpp: + * platform/wx/TemporaryLinkStubs.cpp: + * rendering/HitTestResult.cpp: + * rendering/RenderLayer.cpp: + * rendering/RenderTextControl.cpp: + +2008-09-16 David Hyatt <hyatt@apple.com> + + Fix Qt build bustage by making moveThumb a member of Scrollbar so that + it can be called from ScrollbarQt. + + * platform/ScrollBar.cpp: + (WebCore::Scrollbar::moveThumb): + (WebCore::Scrollbar::handleMouseMoveEvent): + (WebCore::Scrollbar::handleMousePressEvent): + * platform/ScrollBar.h: + * platform/qt/ScrollViewQt.cpp: + * platform/qt/ScrollbarQt.cpp: + (WebCore::Scrollbar::handleContextMenuEvent): + +2008-09-16 David Hyatt <hyatt@apple.com> + + Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their + native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms + now just use Scrollbar. + + Reviewed by Sam Weinig + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * page/mac/FrameMac.mm: + * platform/PopupMenu.h: + (WebCore::PopupMenu::scrollbar): + * platform/ScrollBar.cpp: + (WebCore::createNativeScrollbar): + * platform/ScrollBar.h: + * platform/gtk/PlatformScrollBar.h: Removed. + * platform/gtk/PlatformScrollBarGtk.cpp: Removed. + * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp. + (gtkScrollEventCallback): + (ScrollbarGtk::ScrollbarGtk): + (ScrollbarGtk::~ScrollbarGtk): + (ScrollbarGtk::updateThumbPosition): + (ScrollbarGtk::updateThumbProportion): + (ScrollbarGtk::setFrameGeometry): + (ScrollbarGtk::geometryChanged): + (ScrollbarGtk::gtkValueChanged): + * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h. + * platform/mac/PlatformScrollBar.h: Removed. + * platform/mac/PlatformScrollBarMac.mm: Removed. + * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h. + * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm. + (-[WebCoreScrollBar initWithScrollbarMac:]): + (-[WebCoreScrollBar detachScrollbarMac]): + (WebCore::Scrollbar::createNativeScrollbar): + (WebCore::ScrollbarMac::ScrollbarMac): + (WebCore::ScrollbarMac::~ScrollbarMac): + (WebCore::ScrollbarMac::updateThumbPosition): + (WebCore::ScrollbarMac::updateThumbProportion): + (WebCore::ScrollbarMac::scrollbarHit): + * platform/qt/PlatformScrollBar.h: Removed. + * platform/qt/PlatformScrollBarQt.cpp: Removed. + * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp. + (WebCore::Scrollbar::handleContextMenuEvent): + * rendering/HitTestResult.cpp: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::createScrollbar): + (WebCore::RenderLayer::destroyScrollbar): + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::~RenderListBox): + (WebCore::RenderListBox::updateFromElement): + (WebCore::RenderListBox::isPointInOverflowControl): + * rendering/RenderObject.h: + * rendering/RenderTextControl.cpp: + +2008-09-16 David Hyatt <hyatt@apple.com> + + Make the scrollbar resizer-dodging logic cross-platform in the + Scrollbar class. + + Reviewed by Sam Weinig + + * platform/ScrollBar.cpp: + (WebCore::Scrollbar::setFrameGeometry): + (WebCore::Scrollbar::setParent): + (WebCore::Scrollbar::windowClipRect): + * platform/ScrollBar.h: + * platform/ScrollView.h: + (WebCore::ScrollView::windowResizerRect): + (WebCore::ScrollView::resizerOverlapsContent): + (WebCore::ScrollView::adjustOverlappingScrollbarCount): + * platform/Widget.h: + (WebCore::Widget::setParent): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::convertToContainingWindow): + * platform/win/PlatformScrollBar.h: + * platform/win/PlatformScrollBarWin.cpp: + +2008-09-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix https://bugs.webkit.org/show_bug.cgi?id=15129 + <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint + + Covered by fast/repaint/4776765.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it + did not have layout in the beginning. + (WebCore::RenderBlock::layoutBlockChildren): If a child did not have + layout in the beginning, repaint it in its new position, to compensate + for the above (regardless of whether it "moved"). + * rendering/RenderObject.cpp: + (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment + about generalizing this fix in the future. + +2008-09-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix https://bugs.webkit.org/show_bug.cgi?id=15384 + Div does not notice when grandparent changes height + + Test: fast/block/basic/quirk-percent-height-grandchild.html + + - fix https://bugs.webkit.org/show_bug.cgi?id=20714 + Resizing Gmail inbox vertically results in whitespace at the bottom of the window + + Test: fast/replaced/percent-height-in-anonymous-block.html + + Added a two-way mapping between boxes with percentage heights and + their non-parent ancestors up to the one the height is computed relative + to. In quirks mode (the first bug), this can be any number of containing + block with auto height. In strict mode (the second bug) this can be + the containing block of an anonymous block containing a replaced + element. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the + mapping to/from this block to percentage-height descendants. + (WebCore::RenderBlock::layoutBlockChildren): Added code to mark + percentage-height descendants (and their containing block ancestry chain + up to this block) for layout. This ensures that those descendants whose + height depends on the height of this block (or an ancestor) are updated. + (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes + a two-way mapping between this block and the given box. + (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes + all the mapping to/from this box. + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::setStyle): Added calls to + removePercentHeightDescendant() when style changes and the box + previously had a percentage height. An exception is when the style + change does not require layout, in which case the box still has + a percentage height and the mappings are valid. In all other cases, + any required mappings will be (re-)established during layout. + (WebCore::RenderBox::destroy): Added a call to + removePercentHeightDescendant. + (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks + mode, if a higher-than-parent containing block is affecting the box's + height, creates a mapping between the box and that block. + (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over + anonymous containing blocks, if any, and when that happens, use + addPercentHeightDescendant() to ensure that the non-anonymous block + is aware of the dependent percent-height box. + +2008-09-16 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Oliver Hunt and Alp Toker. + + Implemented toDataURL in Cairo. Only PNG support + at the moment. + + Qt, Cairo and wx require toDataURL implementations + https://bugs.webkit.org/show_bug.cgi?id=17719 + + * platform/MIMETypeRegistry.cpp: + (WebCore::initializeSupportedImageMIMETypesForEncoding): + * platform/graphics/cairo/ImageBufferCairo.cpp: + (WebCore::ImageBuffer::ImageBuffer): + (WebCore::writeFunction): + (WebCore::ImageBuffer::toDataURL): + +2008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Hide unused media element controls in the QtWebKit port + + * platform/qt/html4-adjustments-qt.css + +2008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com> + + Reviewed by Simon. + + Fix compilation of the Qt scrollbar code. + + * platform/qt/PlatformScrollBarQt.cpp: + (WebCore::scPart): + (WebCore::styleOptionSlider): + (WebCore::thumbLength): + (WebCore::pixelPosToRangeValue): + (WebCore::PlatformScrollbar::handleContextMenuEvent): + +2008-09-16 Adam Treat <treat@kde.org> + + Reviewed by Anders Carlsson. + + Prevent accesses off of the end of the buffer introduced in r36450 + and when checking for descriptions of mime. Also, coding style fix. + + * plugins/qt/PluginPackageQt.cpp: + (WebCore::PluginPackage::fetchInfo): + +2008-09-15 Rob Buis <buis@kde.org> + + Reviewed by Eric. + + https://bugs.webkit.org/show_bug.cgi?id=20634 + SVG transform attribute is ignored by <use> in <clipPath> + + Transform the paths with the local transform when part + of a clip path. + + Test: svg/custom/use-clipped-transform.svg + + * svg/SVGClipPathElement.cpp: + (WebCore::SVGClipPathElement::canvasResource): + * svg/SVGStyledTransformableElement.cpp: + (WebCore::SVGStyledTransformableElement::toClipPath): + * svg/SVGStyledTransformableElement.h: + +2008-09-15 Dave Hyatt <hyatt@apple.com> + + Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly + to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows). + + Reviewed by Sam Weinig + + * platform/ScrollBar.cpp: + (WebCore::thumbUnderMouse): + (WebCore::Scrollbar::autoscrollPressedPart): + (WebCore::Scrollbar::startTimerIfNeeded): + (WebCore::moveThumb): + (WebCore::Scrollbar::handleMouseMoveEvent): + (WebCore::Scrollbar::handleMousePressEvent): + * platform/ScrollBar.h: + (WebCore::Scrollbar::pressedPos): + (WebCore::Scrollbar::pixelStep): + (WebCore::Scrollbar::setPressedPos): + * platform/ScrollbarTheme.h: + (WebCore::ScrollbarTheme::thumbPosition): + (WebCore::ScrollbarTheme::thumbLength): + (WebCore::ScrollbarTheme::trackPosition): + (WebCore::ScrollbarTheme::trackLength): + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::trackPosition): + * platform/ScrollbarThemeComposite.h: + * platform/qt/PlatformScrollBarQt.cpp: + (WebCore::PlatformScrollbar::PlatformScrollbar): + (WebCore::): + * platform/qt/ScrollbarThemeQt.cpp: + (WebCore::styleOptionSlider): + (WebCore::ScrollbarThemeQt::hitTest): + (WebCore::ScrollbarThemeQt::shouldCenterOnThumb): + (WebCore::ScrollbarThemeQt::invalidatePart): + (WebCore::ScrollbarThemeQt::thumbPosition): + (WebCore::): + * platform/qt/ScrollbarThemeQt.h: + * platform/win/ScrollbarThemeSafari.cpp: + (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb): + * platform/win/ScrollbarThemeSafari.h: + * platform/win/ScrollbarThemeWin.cpp: + (WebCore::ScrollbarThemeWin::shouldCenterOnThumb): + * platform/win/ScrollbarThemeWin.h: + +2008-09-15 David Smith <catfish.man@gmail.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=20180 + + Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed. + + * GNUmakefile.am: Add CSSNthSelector + * WebCore.pro: Add CSSNthSelector + * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector + * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector + * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-* + * css/CSSNthSelector.cpp: Added. + (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache + (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache + * css/CSSNthSelector.h: Added. + (WebCore::CSSNthSelector::CSSNthSelector): + (WebCore::CSSNthSelector::~CSSNthSelector): + * css/CSSParser.cpp: + (WebCore::CSSParser::createFloatingNthSelector): + * css/CSSParser.h: + * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector + (WebCore::CSSSelector::CSSSelector): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors + +2008-09-15 Matt Lilek <webkit@mattlilek.com> + + Reviewed by Tim Hatcher. + + Clean up some inspector JS callbacks to remove an extra return. + + * page/InspectorController.cpp: + (WebCore::hideDOMNodeHighlight): + (WebCore::loaded): + (WebCore::unloading): + (WebCore::attach): + (WebCore::detach): + (WebCore::startDebuggingAndReloadInspectedPage): + (WebCore::stopDebugging): + (WebCore::debuggerAttached): + (WebCore::pauseOnExceptions): + (WebCore::pauseInDebugger): + (WebCore::resumeDebugger): + (WebCore::stepOverStatementInDebugger): + (WebCore::stepIntoStatementInDebugger): + (WebCore::stepOutOfFunctionInDebugger): + (WebCore::isWindowVisible): + (WebCore::closeWindow): + +2008-09-15 Dave Hyatt <hyatt@apple.com> + + Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar + now share most of their code. + + Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it + also is never used in our code anyway. + + Reviewed by Sam Weinig + + * WebCore.vcproj/WebCore.vcproj: + * platform/ScrollTypes.h: + (WebCore::): + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::splitTrack): + (WebCore::ScrollbarThemeComposite::thumbLength): + (WebCore::ScrollbarThemeComposite::minimumThumbLength): + * platform/ScrollbarThemeComposite.h: + * platform/mac/PlatformScrollBarMac.mm: + (NSControlSizeForScrollBarControlSize): + * platform/win/PlatformScrollBar.h: + * platform/win/PlatformScrollBarSafari.cpp: Removed. + * platform/win/PlatformScrollBarWin.cpp: + (WebCore::PlatformScrollbar::PlatformScrollbar): + * platform/win/ScrollbarThemeSafari.cpp: + (WebCore::ScrollbarTheme::nativeTheme): + (WebCore::): + (WebCore::scrollbarControlStateFromThemeState): + (WebCore::ScrollbarThemeSafari::hasButtons): + (WebCore::ScrollbarThemeSafari::hasThumb): + (WebCore::buttonRepaintRect): + (WebCore::ScrollbarThemeSafari::backButtonRect): + (WebCore::ScrollbarThemeSafari::forwardButtonRect): + (WebCore::trackRepaintRect): + (WebCore::ScrollbarThemeSafari::trackRect): + (WebCore::ScrollbarThemeSafari::minimumThumbLength): + (WebCore::ScrollbarThemeSafari::paintTrack): + (WebCore::ScrollbarThemeSafari::paintButton): + (WebCore::ScrollbarThemeSafari::paintThumb): + * platform/win/ScrollbarThemeSafari.h: + * platform/win/ScrollbarThemeWin.cpp: + * platform/win/ScrollbarThemeWin.h: + +2008-09-15 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler, Beth Dakin + + <rdar://problem/4003789> Expose lists as AXList + <rdar://problem/5707399> VO: Definition lists not announced in Safari + + Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles + AXContentList for <ul>, <ol> and AXDefinitionList for <dl> + Inside the definition list, each <dt> "term" has an accessibility description ("term"), + as does each <dd> tag ("definition") + + Test: accessibility/lists.html + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * page/AXObjectCache.cpp: + * page/AccessibilityList.cpp: Added. + * page/AccessibilityList.h: Added. + * page/AccessibilityObject.h: + * page/AccessibilityRenderObject.cpp: + * page/AccessibilityTable.cpp: + * page/mac/AccessibilityObjectWrapper.mm: + * page/mac/WebCoreViewFactory.h: + * platform/LocalizedStrings.h: + * platform/mac/LocalizedStringsMac.mm: + * platform/qt/Localizations.cpp: + +2008-09-15 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865 + Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling. + + Several renames: + dispatchHTMLEvent -> dispatchEventForType + setHTMLEventListener -> setEventListenerForType + getHTMLEventListener -> eventListenerForType + removeHTMLEventListener -> removeEventListenerForType + isHTMLEventListener -> isAttachedToEventTargetNode + ... + + Similar renames for the dispatch/get/set/*Window*Event functions. + Kill JSSVGLazyEventListener and merge with JSLazyEventListener. + + Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute, + as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation. + + setHTMLEventListener() used createHTMLEventListener() before and was HTML specific. + SVG is able to use the code as well now. This affects most files in html/. + + No functional changes. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::~JSDOMWindowBase): + (WebCore::JSDOMWindowBase::setListener): + (WebCore::JSDOMWindowBase::getListener): + (WebCore::JSDOMWindowBase::findJSEventListener): + (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): + (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): + (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): + (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes): + (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes): + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSEventListener.cpp: + (WebCore::JSAbstractEventListener::handleEvent): + (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode): + (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener): + (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener): + (WebCore::JSEventListener::JSEventListener): + (WebCore::JSEventListener::~JSEventListener): + (WebCore::JSLazyEventListener::JSLazyEventListener): + (WebCore::eventParameterName): + (WebCore::JSLazyEventListener::parseCode): + (WebCore::getNodeEventListener): + * bindings/js/JSEventListener.h: + (WebCore::JSAbstractEventListener::JSAbstractEventListener): + (WebCore::JSUnprotectedEventListener::create): + (WebCore::JSEventListener::create): + (WebCore::JSLazyEventListener::): + (WebCore::JSLazyEventListener::create): + * bindings/js/JSEventTargetNode.cpp: + (WebCore::JSEventTargetNode::setListener): + (WebCore::JSEventTargetNode::getListener): + * bindings/js/JSSVGLazyEventListener.cpp: Removed. + * bindings/js/JSSVGLazyEventListener.h: Removed. + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::createHTMLEventHandler): + (WebCore::ScriptController::createSVGEventHandler): + * dom/Document.cpp: + (WebCore::Document::setFocusedNode): + (WebCore::Document::handleWindowEvent): + (WebCore::Document::setWindowEventListenerForType): + (WebCore::Document::windowEventListenerForType): + (WebCore::Document::removeWindowEventListenerForType): + (WebCore::Document::addWindowEventListener): + (WebCore::Document::hasWindowEventListener): + (WebCore::Document::removePendingFrameBeforeUnloadEventCount): + (WebCore::Document::createEventListener): + (WebCore::Document::setWindowEventListenerForTypeAndAttribute): + * dom/Document.h: + * dom/EventListener.h: + (WebCore::EventListener::isAttachedToEventTargetNode): + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::dispatchFocusEvent): + (WebCore::EventTargetNode::dispatchBlurEvent): + (WebCore::EventTargetNode::dispatchEventForType): + (WebCore::EventTargetNode::removeEventListenerForType): + (WebCore::EventTargetNode::setEventListenerForType): + (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute): + (WebCore::EventTargetNode::eventListenerForType): + * dom/EventTargetNode.h: + * dom/XMLTokenizer.cpp: + (WebCore::XMLTokenizer::notifyFinished): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::parseMappedAttribute): + * html/HTMLButtonElement.cpp: + (WebCore::HTMLButtonElement::parseMappedAttribute): + * html/HTMLElement.cpp: + (WebCore::HTMLElement::parseMappedAttribute): + (WebCore::HTMLElement::checkDTD): + * html/HTMLElement.h: + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::onChange): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::prepareSubmit): + (WebCore::HTMLFormElement::reset): + (WebCore::HTMLFormElement::parseMappedAttribute): + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::parseMappedAttribute): + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::parseMappedAttribute): + * html/HTMLImageElement.cpp: + (WebCore::HTMLImageElement::parseMappedAttribute): + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::dispatchLoadEvent): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::parseMappedAttribute): + (WebCore::HTMLInputElement::setValueFromRenderer): + (WebCore::HTMLInputElement::onSearch): + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::asyncEventTimerFired): + (WebCore::HTMLMediaElement::load): + (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): + (WebCore::HTMLMediaElement::setReadyState): + (WebCore::HTMLMediaElement::seek): + (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): + (WebCore::HTMLMediaElement::willSaveToCache): + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::parseMappedAttribute): + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::parseMappedAttribute): + (WebCore::HTMLScriptElement::dispatchLoadEvent): + (WebCore::HTMLScriptElement::dispatchErrorEvent): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::parseMappedAttribute): + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::parseMappedAttribute): + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::notifyFinished): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::mouseButtonListener): + * page/EventHandler.cpp: + (WebCore::EventHandler::canMouseDownStartSelect): + (WebCore::EventHandler::canMouseDragExtendSelect): + * page/Frame.cpp: + (WebCore::Frame::sendScrollEvent): + * page/Page.cpp: + (WebCore::networkStateChanged): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::valueChanged): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::selectionChanged): + * svg/SVGDocumentExtensions.cpp: + * svg/SVGDocumentExtensions.h: + * svg/SVGElement.cpp: + (WebCore::SVGElement::parseMappedAttribute): + (WebCore::SVGElement::finishParsingChildren): + * svg/SVGElement.h: + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::parseMappedAttribute): + * svg/SVGSVGElement.h: + +2008-09-15 Dave Hyatt <hyatt@apple.com> + + Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still + need to be converted. + + Reviewed by Sam Weinig + + * platform/ScrollBar.cpp: + (WebCore::Scrollbar::Scrollbar): + (WebCore::Scrollbar::updateThumbPosition): + (WebCore::Scrollbar::updateThumbProportion): + (WebCore::Scrollbar::autoscrollPressedPart): + (WebCore::Scrollbar::startTimerIfNeeded): + * platform/ScrollBar.h: + * platform/ScrollbarTheme.h: + (WebCore::ScrollbarTheme::invalidateParts): + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::hitTest): + (WebCore::ScrollbarThemeComposite::invalidatePart): + (WebCore::ScrollbarThemeComposite::thumbPosition): + (WebCore::ScrollbarThemeComposite::thumbLength): + (WebCore::ScrollbarThemeComposite::trackLength): + * platform/ScrollbarThemeComposite.h: + * platform/win/PlatformScrollBarSafari.cpp: + (WebCore::PlatformScrollbar::PlatformScrollbar): + * platform/win/PlatformScrollBarWin.cpp: + (WebCore::PlatformScrollbar::PlatformScrollbar): + +2008-09-15 David Smith <catfish.man@gmail.com> + + "Just do it"'d by Mark Rowe + + https://bugs.webkit.org/show_bug.cgi?id=20856 + Add missing license header + + * dom/NodeRenderStyle.h: + +2008-09-15 Dean Jackson <dino@apple.com> + + Reviewed by Tim Hatcher. + + Add default constructor for ShadowData + https://bugs.webkit.org/show_bug.cgi?id=20757 + + Test: transitions/shadow.html + + * rendering/style/RenderStyle.h: + +2008-09-15 Dean Jackson <dino@apple.com> + + Reviewed by Tim Hatcher. + + RenderStyle should update keyframes. + http://bugs.webkit.org/show_bug.cgi?id=20756 + + * rendering/style/RenderStyle.cpp: + (WebCore::StyleRareNonInheritedData::updateKeyframes): + +2008-09-15 Dean Jackson <dino@apple.com> + + Reviewed by Tim Hatcher. + + Unnecessary ASSERT in ImplicitAnimation destructor. + https://bugs.webkit.org/show_bug.cgi?id=20817 + + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::~ImplicitAnimation): + +2008-09-15 Adam Treat <treat@kde.org> + + Reviewed by Simon. + + Fix plugin extension info. It was returning the mimetype where the + extension was given. + + * plugins/qt/PluginPackageQt.cpp: + (WebCore::PluginPackage::fetchInfo): + +2008-09-15 Dean Jackson <dino@apple.com> + + Reviewed by Tim Hatcher + + Coding style violation!!!! Cleanup AnimationBase.cpp + + * page/animation/AnimationBase.cpp: + (WebCore::blendFunc): + +2008-09-15 David Hyatt <hyatt@apple.com> + + Move all hit testing code for scrollbars into the base class. Refactor + it to accommodate all platform-specific behaviors using virtual ScrollbarTheme + functions. + + No platform is using this code yet. Although it has been moved and compiles + (even on Mac), it is not being used on any platform. + + Reviewed by Sam Weinig + + * platform/ScrollBar.cpp: + (WebCore::Scrollbar::autoscrollPressedPart): + (WebCore::Scrollbar::startTimerIfNeeded): + (WebCore::Scrollbar::handleMouseMoveEvent): + (WebCore::Scrollbar::handleMouseOutEvent): + (WebCore::Scrollbar::handleMouseReleaseEvent): + (WebCore::Scrollbar::handleMousePressEvent): + * platform/ScrollBar.h: + (WebCore::Scrollbar::handleContextMenuEvent): + * platform/ScrollbarTheme.h: + (WebCore::ScrollbarTheme::hitTest): + (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit): + (WebCore::ScrollbarTheme::invalidatePart): + (WebCore::ScrollbarTheme::shouldCenterOnThumb): + (WebCore::ScrollbarTheme::centerOnThumb): + (WebCore::ScrollbarTheme::thumbPosition): + (WebCore::ScrollbarTheme::thumbLength): + (WebCore::ScrollbarTheme::trackLength): + (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay): + (WebCore::ScrollbarTheme::autoscrollTimerDelay): + * platform/Widget.h: + (WebCore::Widget::parent): + * platform/mac/PlatformScrollBar.h: + (WebCore::PlatformScrollbar::handleMouseMoveEvent): + (WebCore::PlatformScrollbar::handleMouseOutEvent): + (WebCore::PlatformScrollbar::handleMousePressEvent): + (WebCore::PlatformScrollbar::handleMouseReleaseEvent): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::convertFromContainingWindow): + * platform/win/ScrollbarThemeWin.cpp: + (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit): + * platform/win/ScrollbarThemeWin.h: + +2008-09-15 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out + + Cache the next breakable position for text nodes in InlineIterator. + + * rendering/bidi.cpp: + (WebCore::InlineIterator::InlineIterator): + (WebCore::InlineIterator::increment): + (WebCore::RenderBlock::findNextLineBreak): + +2008-09-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein + + Fix assertion and integral pixel issue when creating subimages. + https://bugs.webkit.org/show_bug.cgi?id=20786 + + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::draw): + +2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Implment seek() and clean up and improve debugging output + + * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: + (debugMediaObject): + (WebCore::MediaPlayerPrivate::seek): + (WebCore::MediaPlayerPrivate::setVolume): + (WebCore::MediaPlayerPrivate::setMuted): + (WebCore::MediaPlayerPrivate::updateStates): + (WebCore::MediaPlayerPrivate::naturalSize): + (WebCore::MediaPlayerPrivate::paint): + (WebCore::MediaPlayerPrivate::stateChanged): + (WebCore::MediaPlayerPrivate::tick): + +2008-09-15 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Simon. + + Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation + + m_mediaObject, m_audioOutput, m_videoWidget get created in the + c'tor and will only be deleted in the c'tor. The Q_ASSERTs would + only check if we use the MediaPlayerPrivate after it has been deleted. + + Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com> + + * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: + (WebCore::MediaPlayerPrivate::play): + (WebCore::MediaPlayerPrivate::setVolume): + (WebCore::MediaPlayerPrivate::updateStates): + +2008-09-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Maciej. + + <rdar://problem/6163988> + https://bugs.webkit.org/show_bug.cgi?id=20457 + Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern + + Check the width and height and throw an exception if any of them are 0. + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::createPattern): + +2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Render media element controls with antialiasing enabled + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::paintMediaMuteButton): + (WebCore::RenderThemeQt::paintMediaPlayButton): + (WebCore::RenderThemeQt::paintMediaSliderTrack): + (WebCore::RenderThemeQt::paintMediaSliderThumb): + +2008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com> + + Reviewed by Simon. + + Upon non fatal error, switch to the pause state (so that playback can continue) + + * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: + (WebCore::MediaPlayerPrivate::updateStates): + +2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h + + * WebCore.pro: + +2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Make QtInstance::create() private and fix caching + + * bindings/js/ScriptControllerQt.cpp: + (WebCore::ScriptController::createScriptInstanceForWidget): + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::getQtInstance): + (JSC::Bindings::QtInstance::getRuntimeObject): + * bridge/qt/qt_instance.h: + (JSC::Bindings::QtInstance::create): + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertQVariantToValue): + (JSC::Bindings::QtConnectionObject::execute): + +2008-09-15 David Smith <catfish.man@gmail.com> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=20180 + + >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker. + With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true. + querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::CSSStyleSelector): + (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): + * css/CSSStyleSelector.h: + +2008-09-14 Dave Hyatt <hyatt@apple.com> + + Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari + is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari). + + Reviewed by Sam Weinig + + * platform/ScrollBar.h: + (WebCore::Scrollbar::client): + (WebCore::Scrollbar::currentPos): + (WebCore::Scrollbar::totalSize): + * platform/ScrollbarTheme.h: + * platform/ScrollbarThemeComposite.cpp: + (WebCore::pageForScrollView): + (WebCore::ScrollbarThemeComposite::paint): + * platform/ScrollbarThemeComposite.h: + (WebCore::ScrollbarThemeComposite::trackIsSinglePiece): + * platform/win/PlatformScrollBar.h: + * platform/win/PlatformScrollBarSafari.cpp: + * platform/win/PlatformScrollBarWin.cpp: + * platform/win/ScrollbarThemeSafari.h: + (WebCore::ScrollbarThemeSafari::hasButtons): + (WebCore::ScrollbarThemeSafari::hasThumb): + (WebCore::ScrollbarThemeSafari::backButtonRect): + (WebCore::ScrollbarThemeSafari::forwardButtonRect): + (WebCore::ScrollbarThemeSafari::trackRect): + (WebCore::ScrollbarThemeSafari::splitTrack): + (WebCore::ScrollbarThemeSafari::paintTrack): + (WebCore::ScrollbarThemeSafari::paintButton): + (WebCore::ScrollbarThemeSafari::paintThumb): + * platform/win/ScrollbarThemeWin.cpp: + (WebCore::isRunningOnVistaOrLater): + (WebCore::checkAndInitScrollbarTheme): + (WebCore::ScrollbarThemeWin::ScrollbarThemeWin): + (WebCore::ScrollbarThemeWin::themeChanged): + (WebCore::ScrollbarThemeWin::hasThumb): + (WebCore::ScrollbarThemeWin::backButtonRect): + (WebCore::ScrollbarThemeWin::forwardButtonRect): + (WebCore::ScrollbarThemeWin::trackRect): + (WebCore::ScrollbarThemeWin::splitTrack): + (WebCore::ScrollbarThemeWin::paintTrack): + (WebCore::ScrollbarThemeWin::paintButton): + (WebCore::gripperRect): + (WebCore::paintGripper): + (WebCore::ScrollbarThemeWin::paintThumb): + (WebCore::ScrollbarThemeWin::thumbPosition): + (WebCore::ScrollbarThemeWin::thumbLength): + (WebCore::ScrollbarThemeWin::trackLength): + * platform/win/ScrollbarThemeWin.h: + (WebCore::ScrollbarThemeWin::hasButtons): + (WebCore::ScrollbarThemeWin::trackIsSinglePiece): + +2008-09-14 Anthony Ricaud <rik24d@gmail.com> + + Moving all resource graphs under the same container for future scalable feature. + This is a speedup on resize but maybe a loss on changing the sorting function. + + https://bugs.webkit.org/show_bug.cgi?id=20555 + + Reviewed by Timothy Hatcher. + + * page/inspector/ResourcesPanel.js: Added a container for all resource graphs. + Added WebInspector.ResourceGraph. No more _updateGraphBars on resize. + * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries. + +2008-09-14 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Maciej Stachowiak. + + https://bugs.webkit.org/show_bug.cgi?id=20738 + compareBoundaryPoints gives incorrect results + + Test: fast/dom/Range/compareBoundaryPoints-2.html + + * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END + and END_TO_START. + * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change. + +2008-09-14 Maciej Stachowiak <mjs@apple.com> + + Unreviewed build fix. + + Trying again. + + * bindings/js/JSQuarantinedObjectWrapper.cpp: + (WebCore::JSQuarantinedObjectWrapper::hasInstance): + +2008-09-14 Maciej Stachowiak <mjs@apple.com> + + Unreviewed build fix. + + Blind attempt to fix build. Correct parameters for hasInstance. + + * bindings/js/JSQuarantinedObjectWrapper.cpp: + (WebCore::JSQuarantinedObjectWrapper::hasInstance): + * bindings/js/JSQuarantinedObjectWrapper.h: + +2008-09-14 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Sam Weinig. + + - revert <http://trac.webkit.org/changeset/36382> because it exposed + <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes + on Tiger. + + * platform/graphics/mac/FontCacheMac.mm: + (WebCore::FontCache::getFontDataForCharacters): + (WebCore::FontCache::getLastResortFallbackFont): + +2008-09-14 Dave Hyatt <hyatt@apple.com> + + Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and + ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this + theme. + + Reviewed by Sam Weinig + + * WebCore.vcproj/WebCore.vcproj: + * platform/win/ScrollbarThemeSafari.h: + * platform/win/ScrollbarThemeWin.h: + +2008-09-14 Alp Toker <alp@nuanti.com> + + https://bugs.webkit.org/show_bug.cgi?id=20320 + [GTK] A white rectangle is visible behind widgets with rounded corners + + Sync bundled gtk2drawing.c to the latest version from Mozilla (coding + style exempt). + + Requested by Michael Monreal. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::RenderThemeGtk): + * platform/gtk/gtk2drawing.c: + (moz_gtk_set_widget_name): + (ensure_window_widget): + (setup_widget_prototype): + (ensure_button_arrow_widget): + (moz_gtk_get_combo_box_inner_button): + (moz_gtk_get_combo_box_button_inner_widgets): + (ensure_combo_box_widgets): + (moz_gtk_get_combo_box_entry_inner_widgets): + (moz_gtk_get_combo_box_entry_arrow): + (ensure_combo_box_entry_widgets): + (ensure_toolbar_widget): + (ensure_tooltip_widget): + (ensure_menu_bar_widget): + (ensure_menu_bar_item_widget): + (ensure_menu_popup_widget): + (ensure_menu_item_widget): + (ensure_image_menu_item_widget): + (ensure_menu_separator_widget): + (ensure_check_menu_item_widget): + (ensure_tree_header_cell_widget): + (ensure_scrolled_window_widget): + (moz_gtk_button_paint): + (moz_gtk_init): + (moz_gtk_button_get_inner_border): + (moz_gtk_toggle_paint): + (calculate_button_inner_rect): + (calculate_arrow_rect): + (moz_gtk_scrollbar_button_paint): + (moz_gtk_scrollbar_thumb_paint): + (moz_gtk_caret_paint): + (moz_gtk_entry_paint): + (moz_gtk_treeview_paint): + (moz_gtk_tree_header_cell_paint): + (moz_gtk_combo_box_paint): + (moz_gtk_downarrow_paint): + (moz_gtk_combo_box_entry_button_paint): + (moz_gtk_toolbar_paint): + (moz_gtk_tab_scroll_arrow_paint): + (moz_gtk_menu_bar_paint): + (moz_gtk_menu_item_paint): + (moz_gtk_get_widget_border): + (moz_gtk_get_combo_box_entry_button_size): + (moz_gtk_get_tab_scroll_arrow_size): + (moz_gtk_get_downarrow_size): + (moz_gtk_images_in_menus): + (moz_gtk_widget_paint): + (moz_gtk_shutdown): + * platform/gtk/gtkdrawing.h: + +2008-09-14 David Hyatt <hyatt@apple.com> + + Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for + painting. Mac and Gtk themes don't do anything and just let the + underlying widget paint. Qt now uses the theme to paint. wx doesn't + do anything yet. + + Reviewed by Sam Weinig + + * platform/ScrollBar.cpp: + (WebCore::Scrollbar::paint): + * platform/ScrollBar.h: + (WebCore::Scrollbar::value): + (WebCore::Scrollbar::visibleSize): + (WebCore::Scrollbar::maximum): + (WebCore::Scrollbar::lineStep): + (WebCore::Scrollbar::pageStep): + (WebCore::Scrollbar::pixelStep): + (WebCore::Scrollbar::pressedPart): + (WebCore::Scrollbar::hoveredPart): + (WebCore::Scrollbar::theme): + * platform/ScrollbarTheme.h: + (WebCore::ScrollbarTheme::paint): + (WebCore::ScrollbarTheme::scrollbarThickness): + (WebCore::ScrollbarTheme::supportsControlTints): + (WebCore::ScrollbarTheme::themeChanged): + * platform/gtk/PlatformScrollBar.h: + * platform/gtk/PlatformScrollBarGtk.cpp: + * platform/mac/PlatformScrollBar.h: + * platform/mac/PlatformScrollBarMac.mm: + * platform/qt/PlatformScrollBar.h: + * platform/qt/PlatformScrollBarQt.cpp: + * platform/qt/ScrollbarThemeQt.cpp: + (WebCore::styleOptionSlider): + * platform/qt/ScrollbarThemeQt.h: + (WebCore::ScrollbarThemeQt::paint): + * platform/win/PlatformScrollBarSafari.cpp: + (WebCore::PlatformScrollbar::paint): + * platform/win/ScrollbarThemeSafari.h: + (WebCore::ScrollbarThemeSafari::supportsControlTints): + * platform/wx/PlatformScrollBar.h: + * platform/wx/TemporaryLinkStubs.cpp: + (PlatformScrollbar::~PlatformScrollbar): + +2008-09-14 Sam Weinig <sam@webkit.org> + + Qt build fix. + + * platform/qt/PlatformScrollBarQt.cpp: + +2008-09-14 Sam Weinig <sam@webkit.org> + + Reviewed by Mark Rowe. + + Remove extraneous semicolons. + + * bindings/scripts/CodeGeneratorObjC.pm: + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::tokenizeRelAttribute): + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::charsetAttributeValue): + (WebCore::HTMLScriptElement::typeAttributeValue): + * platform/graphics/qt/GradientQt.cpp: + (WebCore::Gradient::platformGradient): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::updateScrollbars): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintEllipsisBoxes): + * svg/SVGPathSegList.cpp: + (WebCore::SVGPathSegList::toPathData): + +2008-09-14 Sam Weinig <sam@webkit.org> + + Qt build fix. + + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::updateScrollbars): + +2008-09-14 Sam Weinig <sam@webkit.org> + + Qt build fix. + + * platform/qt/PlatformScrollBarQt.cpp: + (WebCore::PlatformScrollbar::PlatformScrollbar): + (WebCore::PlatformScrollbar::paint): + +2008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org> + + Gtk build fix, not reviewed. + + * platform/gtk/PlatformScrollBarGtk.cpp: + (PlatformScrollbar::PlatformScrollbar): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::updateScrollbars): + +2008-09-13 Dave Hyatt <hyatt@apple.com> + + Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method + to set the dimensions of a scrollbar. + + Reviewed by Sam Weinig + + * platform/ScrollBar.h: + * platform/gtk/PlatformScrollBar.h: + * platform/gtk/PlatformScrollBarGtk.cpp: + (PlatformScrollbar::setFrameGeometry): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::updateScrollbars): + * platform/mac/PlatformScrollBarMac.mm: + * platform/qt/PlatformScrollBarQt.cpp: + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::updateScrollbars): + * platform/win/PlatformScrollBar.h: + * platform/win/PlatformScrollBarSafari.cpp: + (WebCore::PlatformScrollbar::PlatformScrollbar): + (WebCore::PlatformScrollbar::setFrameGeometry): + * platform/win/PlatformScrollBarWin.cpp: + (WebCore::PlatformScrollbar::PlatformScrollbar): + (WebCore::PlatformScrollbar::setFrameGeometry): + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupWndProc): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::updateScrollbars): + * platform/wx/PlatformScrollBar.h: + * platform/wx/TemporaryLinkStubs.cpp: + (PlatformScrollbar::updateThumbProportion): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::positionOverflowControls): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::paintScrollbar): + +2008-09-13 Dave Hyatt <hyatt@apple.com> + + Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods. + + Reviewed by Sam Weinig + + * platform/ScrollBar.h: + * platform/gtk/PlatformScrollBar.h: + * platform/gtk/PlatformScrollBarGtk.cpp: + * platform/mac/PlatformScrollBar.h: + * platform/mac/PlatformScrollBarMac.mm: + * platform/win/PlatformScrollBar.h: + * platform/win/PlatformScrollBarSafari.cpp: + * platform/win/PlatformScrollBarWin.cpp: + * platform/wx/PlatformScrollBar.h: + * platform/wx/TemporaryLinkStubs.cpp: + (PlatformScrollbar::~PlatformScrollbar): + +2008-09-13 Dave Hyatt <hyatt@apple.com> + + Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from + all PlatformScrollbar subclasses that just called the Widget base class versions of those methods. + + Reviewed by Sam Weinig + + * platform/ScrollBar.h: + * platform/gtk/PlatformScrollBar.h: + * platform/gtk/PlatformScrollBarGtk.cpp: + * platform/mac/PlatformScrollBar.h: + * platform/mac/PlatformScrollBarMac.mm: + * platform/win/PlatformScrollBarSafari.cpp: + * platform/win/PlatformScrollBarWin.cpp: + * platform/wx/PlatformScrollBar.h: + * platform/wx/TemporaryLinkStubs.cpp: + (PlatformScrollbar::~PlatformScrollbar): + +2008-09-13 Dave Hyatt <hyatt@apple.com> + + Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar. + + Reviewed by Sam Weinig + + * platform/ScrollBar.cpp: + (WebCore::Scrollbar::~Scrollbar): + * platform/ScrollBar.h: + * platform/qt/PlatformScrollBarQt.cpp: + (WebCore::PlatformScrollbar::~PlatformScrollbar): + * platform/win/PlatformScrollBarSafari.cpp: + (WebCore::PlatformScrollbar::~PlatformScrollbar): + * platform/win/PlatformScrollBarWin.cpp: + (WebCore::PlatformScrollbar::~PlatformScrollbar): + +2008-09-13 David Hyatt <hyatt@apple.com> + + Move maximum() from Qt's PlatformScrollbar to be a cross-platform + function on Scrollbar. Fixes Qt build bustage. + + Reviewed by Sam Weinig + + * platform/ScrollBar.h: + (WebCore::Scrollbar::orientation): + (WebCore::Scrollbar::value): + (WebCore::Scrollbar::maximum): + * platform/qt/PlatformScrollBar.h: + +2008-09-13 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - use the LastResort font for missing glyphs instead of showing the + primary font's missing glyph + + Test: platform/mac/fast/text/last-resort-font.html + + * platform/graphics/mac/FontCacheMac.mm: + (WebCore::FontCache::getFontDataForCharacters): Changed to return the + last resort font if a substitute font cannot be found. + (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated + comment (the user's preferred standard font is included in the search + thanks to code in FontCache::getFontData()) and changed to return the + LastResort font. + +2008-09-13 Dave Hyatt <hyatt@apple.com> + + This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for + scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent + patches will move rendering and hit testing functionality into this class. + + Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not + implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx. + + Reviewed by Sam Weinig + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * platform/ScrollBar.cpp: + (WebCore::Scrollbar::Scrollbar): + * platform/ScrollBar.h: + * platform/ScrollbarTheme.h: Added. + (WebCore::ScrollbarTheme::~ScrollbarTheme): + (WebCore::ScrollbarTheme::scrollbarThickness): + (WebCore::ScrollbarTheme::themeChanged): + * platform/gtk/ScrollbarThemeGtk.cpp: Added. + (WebCore::ScrollbarTheme::nativeTheme): + (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk): + (WebCore::ScrollbarThemeGtk::scrollbarThickness): + * platform/gtk/ScrollbarThemeGtk.h: Added. + * platform/mac/PlatformScrollBar.h: + * platform/mac/ScrollbarThemeMac.cpp: Added. + (WebCore::ScrollbarTheme::nativeTheme): + (WebCore::): + (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac): + (WebCore::ScrollbarThemeMac::scrollbarThickness): + * platform/mac/ScrollbarThemeMac.h: Added. + * platform/qt/PlatformScrollBarQt.cpp: + * platform/qt/ScrollbarThemeQt.cpp: Added. + (WebCore::ScrollbarTheme::nativeTheme): + (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt): + (WebCore::ScrollbarThemeQt::scrollbarThickness): + * platform/qt/ScrollbarThemeQt.h: Added. + * platform/win/PlatformScrollBar.h: + * platform/win/PlatformScrollBarSafari.cpp: + * platform/win/PlatformScrollBarWin.cpp: + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenu::calculatePositionAndSize): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::themeChanged): + * platform/win/ScrollbarThemeSafari.cpp: Added. + (WebCore::ScrollbarTheme::nativeTheme): + (WebCore::): + (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari): + (WebCore::ScrollbarThemeSafari::scrollbarThickness): + * platform/win/ScrollbarThemeSafari.h: Added. + * platform/win/ScrollbarThemeWin.cpp: Added. + (WebCore::ScrollbarTheme::nativeTheme): + (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin): + (WebCore::ScrollbarThemeWin::scrollbarThickness): + (WebCore::ScrollbarThemeWin::themeChanged): + * platform/win/ScrollbarThemeWin.h: Added. + * platform/wx/TemporaryLinkStubs.cpp: + (ScrollbarTheme::nativeTheme): + * rendering/RenderLayer.cpp: + (WebCore::scrollCornerRect): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::calcHeight): + (WebCore::RenderTextControl::calcPrefWidths): + +2008-09-13 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Timothy Hatcher. + + <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement + + * page/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeNames]): + +2008-09-13 Dan Bernstein <mitz@apple.com> + + Reviewed by Timothy Hatcher. + + - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache + + No regression test because the back/forward cache is disabled in DumpRenderTree + + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::invalidateCounters): Bail out if the document + is being destroyed. + +2008-09-13 Kevin Ollivier <kevino@theolliviers.com> + + wx build fixes for new methods recently introduced. + + * platform/graphics/wx/AffineTransformWx.cpp: + (WebCore::AffineTransform::AffineTransform): + (WebCore::AffineTransform::setMatrix): + (WebCore::AffineTransform::setA): + (WebCore::AffineTransform::setB): + (WebCore::AffineTransform::setC): + (WebCore::AffineTransform::setD): + (WebCore::AffineTransform::setE): + (WebCore::AffineTransform::setF): + * platform/wx/LocalizedStringsWx.cpp: + (WebCore::AXDefinitionListTermText): + (WebCore::AXDefinitionListDefinitionText): + +2008-09-12 Dave Hyatt <hyatt@apple.com> + + Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling + up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of + "PlatformScrollbar." + + Reviewed by Sam Weinig + + * WebCore.vcproj/WebCore.vcproj: + * editing/EditorCommand.cpp: + * page/EventHandler.cpp: + (WebCore::EventHandler::selectCursor): + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::EventHandler::handleMouseMoveEvent): + * page/EventHandler.h: + * page/MouseEventWithHitTestResults.cpp: + (WebCore::MouseEventWithHitTestResults::scrollbar): + * page/MouseEventWithHitTestResults.h: + * page/gtk/EventHandlerGtk.cpp: + (WebCore::EventHandler::passMousePressEventToScrollbar): + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::passMousePressEventToScrollbar): + * page/qt/EventHandlerQt.cpp: + (WebCore::EventHandler::passMousePressEventToScrollbar): + * page/win/EventHandlerWin.cpp: + (WebCore::EventHandler::passMousePressEventToScrollbar): + * page/wx/EventHandlerWx.cpp: + (WebCore::EventHandler::passMousePressEventToScrollbar): + * platform/PopupMenu.h: + * platform/ScrollBar.cpp: + (WebCore::Scrollbar::Scrollbar): + (WebCore::Scrollbar::autoscrollTimerFired): + (WebCore::Scrollbar::autoscrollPressedPart): + (WebCore::Scrollbar::startTimerIfNeeded): + (WebCore::Scrollbar::stopTimerIfNeeded): + (WebCore::Scrollbar::pressedPartScrollDirection): + (WebCore::Scrollbar::pressedPartScrollGranularity): + * platform/ScrollBar.h: + (WebCore::Scrollbar::handleMousePressEvent): + (WebCore::Scrollbar::invalidatePart): + (WebCore::Scrollbar::thumbUnderMouse): + * platform/ScrollView.h: + * platform/ScrollbarClient.h: Added. + (WebCore::ScrollbarClient::~ScrollbarClient): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::scrollbarUnderMouse): + * platform/qt/PlatformScrollBar.h: + * platform/qt/PlatformScrollBarQt.cpp: + (WebCore::PlatformScrollbar::PlatformScrollbar): + (WebCore::scrollbarPart): + (WebCore::PlatformScrollbar::handleMouseMoveEvent): + (WebCore::PlatformScrollbar::handleMouseOutEvent): + (WebCore::PlatformScrollbar::handleMousePressEvent): + (WebCore::PlatformScrollbar::handleMouseReleaseEvent): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::scrollbarUnderMouse): + (WebCore::ScrollView::wheelEvent): + * platform/win/PlatformScrollBar.h: + * platform/win/PlatformScrollBarSafari.cpp: + (WebCore::PlatformScrollbar::PlatformScrollbar): + * platform/win/PlatformScrollBarWin.cpp: + (WebCore::PlatformScrollbar::PlatformScrollbar): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::scrollbarUnderMouse): + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::setScrollbar): + * rendering/HitTestResult.h: + (WebCore::HitTestResult::scrollbar): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTestOverflowControls): + * rendering/RenderLayer.h: + * rendering/RenderListBox.h: + +2008-09-12 Steve Falkenburg <sfalken@apple.com> + + Fix Mac build. + + * css/CSSStyleSelector.cpp: + (WebCore::getTransformOperationType): + +2008-09-12 Chris Marrin <cmarrin@apple.com> + + Reviewed by Dave Hyatt. + + Make transform animation behavior match spec + https://bugs.webkit.org/show_bug.cgi?id=20770 + + Tests: transitions/transform-op-list-match.html + transitions/transform-op-list-no-match.html + + * css/CSSStyleSelector.cpp: + * css/CSSStyleSelector.h: + * page/animation/AnimationBase.cpp: + * page/animation/AnimationBase.h: + * page/animation/ImplicitAnimation.cpp: + * page/animation/ImplicitAnimation.h: + * page/animation/KeyframeAnimation.cpp: + * page/animation/KeyframeAnimation.h: + * rendering/RenderLayer.cpp: + * rendering/style/RenderStyle.cpp: + * rendering/style/RenderStyle.h: + +2008-09-12 Ojan Vafai <ojan@chromium.org> + + Properly escape contents of links added to the inspector. + For now, just build the link with the DOM and get the + outerHTML. Eventually, we probably just want to do + this entirely with the DOM. + + Reviewed by Timothy Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=20684 + + * manual-tests/inspector/escape-links.html: Added. + * page/inspector/StylesSidebarPane.js: + * page/inspector/inspector.js: + * page/inspector/utilities.js: + +2008-09-12 Adele Peterson <adele@apple.com> + + Reviewed by John Sullivan and Kevin McCullough. + + Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames + + * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint): + 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 + cause infinite recursion. This change checks that we're not already on the main frame before hit testing again. + +2008-09-12 Kevin McCullough <kmccullough@apple.com> + + RS by Tim . + + Re-introducing the code since it was not the cause of the crash. + See r36343. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::canBeProgramaticallyScrolled): + * rendering/RenderObject.h: + +2008-09-12 Chris Marrin <cmarrin@apple.com> + + Reviewed by Dave Hyatt. + + When changing one animation in a list, don't reset other animations + https://bugs.webkit.org/show_bug.cgi?id=20675 + + Test: animations/change-one-anim.html + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::getNumProperties): + * page/animation/AnimationBase.h: + * page/animation/AnimationController.cpp: + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::updateKeyframeAnimations): + * page/animation/CompositeAnimation.h: + * page/animation/ImplicitAnimation.cpp: + * page/animation/KeyframeAnimation.cpp: + * page/animation/KeyframeAnimation.h: + (WebCore::KeyframeAnimation::setIndex): + +2008-09-12 Brady Eidson <beidson@apple.com> + + Reviewed by Mitz Pettel + + Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html + + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior. + Subresources can never be created from nil data, but there is always a MainResource, whether + or not there's any data. So in the case where the main resource has no data, fake it for the + sake of creating the ArchiveResource. + +2008-09-12 Dave Hyatt <hyatt@apple.com> + + Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based + scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly. + Remove all the isWidget and hasPlatformScrollbars guards. + + Reviewed by Tim Hatcher + + * platform/ScrollBar.h: + * platform/gtk/PlatformScrollBar.h: + * platform/mac/PlatformScrollBar.h: + * platform/qt/PlatformScrollBar.h: + * platform/win/PlatformScrollBar.h: + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): + (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): + * platform/wx/PlatformScrollBar.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::horizontalScrollbarWidget): + (WebCore::RenderLayer::verticalScrollbarWidget): + (WebCore::RenderLayer::createScrollbar): + (WebCore::RenderLayer::destroyScrollbar): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::~RenderListBox): + (WebCore::RenderListBox::updateFromElement): + (WebCore::RenderListBox::isPointInOverflowControl): + +2008-09-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation + + * page/animation/AnimationController.cpp: + * page/animation/AnimationController.h: + * page/animation/CompositeAnimation.cpp: + * page/animation/CompositeAnimation.h: + * page/animation/ImplicitAnimation.cpp: + * page/animation/ImplicitAnimation.h: + * page/animation/KeyframeAnimation.cpp: + * page/animation/KeyframeAnimation.h: + +2008-09-11 Timothy Hatcher <timothy@apple.com> + + Add a renderedImage method to DOMNode to get an image + of the rendering for the node and it's descendants. + + <rdar://problem/5849349> Would like API to create + an image for a DOM node + + Reviewed by Oliver Hunt. + + * bindings/objc/DOM.mm: + (-[DOMNode renderedImage]): Call Frame::nodeImage. + * bindings/objc/DOMPrivate.h: + * page/Frame.h: + * page/mac/FrameMac.mm: + (WebCore::Frame::nodeImage): + +2008-09-08 Chris Marrin <cmarrin@apple.com> + + Reviewed by Dave Hyatt + + Need to support comma separated list of key times in keyframes selectors + https://bugs.webkit.org/show_bug.cgi?id=20680 + + Test: animations/keyframes-comma-separated.html + + * css/CSSGrammar.y: + * css/CSSParser.cpp: + (WebCore::CSSParser::createKeyframeRule): + * css/CSSParser.h: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::addKeyframeStyle): + * css/WebKitCSSKeyframeRule.cpp: + (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule): + (WebCore::WebKitCSSKeyframeRule::cssText): + (WebCore::WebKitCSSKeyframeRule::parseKeyString): + * css/WebKitCSSKeyframeRule.h: + (WebCore::WebKitCSSKeyframeRule::keyText): + (WebCore::WebKitCSSKeyframeRule::setKeyText): + (WebCore::WebKitCSSKeyframeRule::getKeys): + * css/WebKitCSSKeyframesRule.cpp: + (WebCore::WebKitCSSKeyframesRule::append): + (WebCore::WebKitCSSKeyframesRule::insertRule): + (WebCore::WebKitCSSKeyframesRule::deleteRule): + (WebCore::WebKitCSSKeyframesRule::findRule): + (WebCore::WebKitCSSKeyframesRule::findRuleIndex): + * css/WebKitCSSKeyframesRule.h: + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::blendProperties): + +2008-09-11 Kevin McCullough <kmccullough@apple.com> + + RS by Tim. + + Reverting because this caused a crash. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::canBeProgramaticallyScrolled): + (WebCore::RenderObject::hasScrollableView): + * rendering/RenderObject.h: + +2008-09-11 Dean Jackson <dino@apple.com> + + Reviewed by Dan Bernstein. + + Fix assertion on transition property "none" + https://bugs.webkit.org/show_bug.cgi?id=20751 + + Test: transitions/transition-end-event-set-none.html + + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::updateTransitions): + +2008-09-11 David Smith <catfish.man@gmail.com> + + Rubber-stamped by mitzpettel. + + Remove an accidentally added extra file. + + * WebCore: Removed. + +2008-09-11 David Smith <catfish.man@gmail.com> + + Reviewed by Darin + + https://bugs.webkit.org/show_bug.cgi?id=20180 + + 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. + + * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h + * css/CSSStyleSelector.cpp: include NodeRenderStyle.h + * dom/Element.cpp: include NodeRenderStyle.h + * dom/Node.cpp: Remove the definition of renderStyle() + (WebCore::Node::nonRendererRenderStyle): + * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle() + * dom/NodeRenderStyle.h: Added. + (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual + * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h + * html/HTMLOptGroupElement.h: + (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style + * html/HTMLOptionElement.cpp: include NodeRenderStyle.h + * html/HTMLOptionElement.h: + (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style + * rendering/RenderListBox.cpp: include NodeRenderStyle.h + * rendering/RenderMenuList.cpp: include NodeRenderStyle.h + * svg/SVGUseElement.cpp: include NodeRenderStyle.h + +2008-09-11 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Adele and Tim. + + <rdar://problem/6100597> REGRESSION: clicking on search results in Web + Inspector does not scroll to the line of the results (20167) + - This was put in by Max to fix auto scrolling but is not correct for + the whole web: rdar://problem/6213098 + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::canBeProgramaticallyScrolled): + * rendering/RenderObject.h: + +2008-09-11 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin + + <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title + + Test: accessibility/frame-with-title.html + + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityDescription): + +2008-09-11 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Simon. + + Fixed stroke() and strokeRect() to support gradients + and patterns on Qt. + + [Qt] Canvas stroke don't work for gradients and patterns + [https://bugs.webkit.org/show_bug.cgi?id=20749] + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::strokeRect): + +2008-09-11 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Simon. + + https://bugs.webkit.org/show_bug.cgi?id=20729 + + Fixed canvas gradients for Qt + + [Qt] Canvas gradients don't work as expected + [https://bugs.webkit.org/show_bug.cgi?id=20729] + + * platform/graphics/qt/GradientQt.cpp: + (WebCore::Gradient::platformGradient): + +2008-09-11 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Simon. + + https://bugs.webkit.org/show_bug.cgi?id=20568 + + Add support for patterns to Qt. + + * platform/graphics/qt/PatternQt.cpp: + (WebCore::Pattern::createPlatformPattern): + +2008-09-10 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - clean up AnimationBase + + * page/animation/AnimationBase.cpp: + * page/animation/AnimationBase.h: + * page/animation/CompositeAnimation.cpp: + * page/animation/ImplicitAnimation.cpp: + * page/animation/ImplicitAnimation.h: + * page/animation/KeyframeAnimation.cpp: + * page/animation/KeyframeAnimation.h: + +2008-09-10 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=20741 + REGRESSION: ISO-8859-8-I encoding is registered incorrectly + + Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only + check to ignore this specific registration that was failing. Yet, I decided to add a bunch of + tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner. + + I also found and fixed a potential crasher for non-Mac ports. + + Tests: fast/encoding/hebrew/8859-8-e.html + fast/encoding/hebrew/8859-8-i.html + fast/encoding/hebrew/8859-8.html + fast/encoding/hebrew/csISO88598I.html + fast/encoding/hebrew/hebrew.html + fast/encoding/hebrew/iso-ir-138.html + fast/encoding/hebrew/logical.html + + * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8 + (case-insensitively, because different versions of ICU report this MIME name in different + case). + + * platform/text/TextCodecICU.cpp: + (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments. + (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too. + There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up + with an encoding map entry, but no codec for these. This was not an issue on the Mac, as + we also support these via TEC (which we should stop doing), but on Windows, this would + likely crash. + +2008-09-09 Dave Hyatt <hyatt@apple.com + + Resurrect PlatformScrollbarWin. + + Reviewed by Adam Roben + + * WebCore.vcproj/WebCore.vcproj: + * platform/win/PlatformScrollBarWin.cpp: + (WebCore::isRunningOnVistaOrLater): + (WebCore::checkAndInitScrollbarTheme): + (WebCore::PlatformScrollbar::PlatformScrollbar): + (WebCore::PlatformScrollbar::invalidateTrack): + (WebCore::PlatformScrollbar::invalidatePart): + (WebCore::PlatformScrollbar::paint): + (WebCore::PlatformScrollbar::hasButtons): + (WebCore::PlatformScrollbar::hasThumb): + (WebCore::PlatformScrollbar::backButtonRect): + (WebCore::PlatformScrollbar::forwardButtonRect): + (WebCore::PlatformScrollbar::trackRect): + (WebCore::PlatformScrollbar::gripperRect): + (WebCore::PlatformScrollbar::thumbLength): + (WebCore::PlatformScrollbar::paintButton): + (WebCore::PlatformScrollbar::paintTrack): + (WebCore::PlatformScrollbar::paintThumb): + (WebCore::PlatformScrollbar::paintGripper): + (WebCore::PlatformScrollbar::hitTest): + (WebCore::PlatformScrollbar::handleMouseMoveEvent): + (WebCore::PlatformScrollbar::handleMouseOutEvent): + (WebCore::PlatformScrollbar::themeChanged): + +2008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca> + + Reviewed by Maciej Stachowiak. + + Bug 20759: Remove MacroAssembler + <https://bugs.webkit.org/show_bug.cgi?id=20759> + + Make the necessary changes to ForwardingHeaders to remove + MacroAssembler. + + * ForwardingHeaders/masm/IA32MacroAsm.h: Removed. + * ForwardingHeaders/masm/MacroAssembler.h: Removed. + * ForwardingHeaders/masm/X86Assembler.h: Added. + +2008-09-09 Alp Toker <alp@nuanti.com> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=16792 + [GTK] Fails to render Japanese/Chinese text with simple path + + https://bugs.webkit.org/show_bug.cgi?id=16942 + [GTK] Oddities in font selection and fall back + + https://bugs.webkit.org/show_bug.cgi?id=16862 + [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting + + GTK+ font fixes and enhancements. + + Implement font fallback for the simple FontConfig-based text path and + improve the Pango-based complex text path to make use of requested + font properties and available font selection. + + Add text shadow support to the complex path. + + * platform/graphics/gtk/FontCacheGtk.cpp: + (WebCore::FontCache::getFontDataForCharacters): + (WebCore::FontCache::getSimilarFontPlatformData): + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::setPangoAttributes): + (WebCore::Font::drawComplexText): + (WebCore::getDefaultPangoLayout): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + * platform/graphics/gtk/FontPlatformData.h: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::hash): + * platform/graphics/gtk/FontPlatformDataGtk.cpp: + (WebCore::FontPlatformData::FontPlatformData): + * platform/graphics/gtk/SimpleFontDataGtk.cpp: + (WebCore::SimpleFontData::platformDestroy): + +2008-09-09 Dave Hyatt <hyatt@apple.com> + + Make the Windows classic case work again. Overlap in slider constants and other constants broke + the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance + value to make sure it's really a slider thumb to resolve this conflict. + + Reviewed by Adam Roben + + * rendering/RenderThemeWin.cpp: + (WebCore::drawControl): + +2008-09-05 Chris Marrin <cmarrin@apple.com> + + Reviewed by Sam Weinig. + + Need to handle the case when 0% or 100% keyframe is omitted + https://bugs.webkit.org/show_bug.cgi?id=20679 + + Tests: animations/keyframes-from-missing.html + animations/keyframes-to-missing.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::addKeyframeStyle): + +2008-09-09 Dave Hyatt <hyatt@apple.com> + + Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current + RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential + merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see + what changes have been made as compared with the old RenderThemeWin). + + Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG + text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen + vs. printer advancement rounding). + + Reviewed by Adam/Sam + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * platform/graphics/Icon.h: + (WebCore::Icon::create): + * rendering/RenderThemeWin.cpp: + (WebCore::RenderThemeWin::RenderThemeWin): + (WebCore::RenderThemeWin::~RenderThemeWin): + (WebCore::RenderThemeWin::buttonTheme): + (WebCore::RenderThemeWin::textFieldTheme): + (WebCore::RenderThemeWin::menuListTheme): + (WebCore::RenderThemeWin::sliderTheme): + (WebCore::RenderThemeWin::close): + (WebCore::RenderThemeWin::themeChanged): + (WebCore::RenderThemeWin::supportsHover): + (WebCore::fillFontDescription): + (WebCore::RenderThemeWin::systemFont): + (WebCore::RenderThemeWin::supportsFocus): + (WebCore::RenderThemeWin::determineClassicState): + (WebCore::RenderThemeWin::determineState): + (WebCore::RenderThemeWin::determineSliderThumbState): + (WebCore::RenderThemeWin::getClassicThemeData): + (WebCore::RenderThemeWin::getThemeData): + (WebCore::drawControl): + (WebCore::RenderThemeWin::paintButton): + (WebCore::RenderThemeWin::paintTextField): + (WebCore::RenderThemeWin::paintMenuList): + (WebCore::RenderThemeWin::adjustMenuListStyle): + (WebCore::RenderThemeWin::adjustMenuListButtonStyle): + (WebCore::RenderThemeWin::paintMenuListButton): + (WebCore::RenderThemeWin::paintSliderTrack): + (WebCore::RenderThemeWin::paintSliderThumb): + (WebCore::RenderThemeWin::adjustSliderThumbSize): + (WebCore::RenderThemeWin::paintSearchField): + (WebCore::RenderThemeWin::adjustSearchFieldStyle): + (WebCore::RenderThemeWin::paintSearchFieldCancelButton): + (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle): + (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle): + (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle): + (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle): + (WebCore::RenderThemeWin::paintSearchFieldResultsButton): + * rendering/RenderThemeWin.h: + (WebCore::ThemeData::ThemeData): + (WebCore::RenderThemeWin::paintSearchFieldDecoration): + (WebCore::RenderThemeWin::adjustButtonStyle): + (WebCore::RenderThemeWin::adjustTextFieldStyle): + (WebCore::RenderThemeWin::adjustTextAreaStyle): + +2008-09-09 Dean Jackson <dino@apple.com> + + Reviewed by Sam Weinig. + + Document::createEvent missing cases for animation and + transition events. + https://bugs.webkit.org/show_bug.cgi?id=20734 + + Test: transitions/transition-end-event-create.html + Test: animations/animation-events-create.html + + * dom/Document.cpp: + (WebCore::Document::createEvent): + - add the two cases + +2008-09-09 Dan Bernstein <mitz@apple.com> + + - Tiger build fix + + * WebCore.Tiger.exp: + * WebCore.base.exp: + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + +2008-09-09 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard + + * WebCore.Tiger.exp: + * WebCore.base.exp: + * platform/graphics/SimpleFontData.h: + * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: + (WebCore::GlyphPage::fill): + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::initFontData): + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::platformDestroy): + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + +2008-09-09 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim. + + <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on + breakpoints inside eval. + + * page/inspector/inspector.js: + +2008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com> + + Reviewed by Simon. + + Fix compilation of the Qt port with disabled plugins on Windows + + * WebCore.pro: + * plugins/PluginView.cpp: + (WebCore::PluginView::PluginView): + * plugins/PluginView.h: + +2008-09-09 Jungshik Shin <jungshik.shin@gmail.com> + + Reviewed by Alexey Proskuryakov. + + Try MIME charset names before trying IANA names + ( https://bugs.webkit.org/show_bug.cgi?id=17537 ) + + With this change, shorter and more widely used names (preferred MIME + names) are returned by document.charset, document.characterSet, + document.inputEncoding rather than IANA names. This helps + fixing bug 18085 in addition to web developers who are more familiar + with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be + returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese, + ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx. + Note that cp/IBM 8xx are extremly rare in today's web. Even if they're + used, the former is still recognized as aliases to the latter so that + there's very little, if any, to worry about. + + * platform/text/TextCodecICU.cpp: + (WebCore::TextCodecICU::registerExtendedEncodingNames): + +2008-09-08 Sam Weinig <sam@webkit.org> + + Reviewed by Maciej Stachowiak and Oliver Hunt. + + Add forwarding headers. + + * ForwardingHeaders/wtf/HashFunctions.h: Added. + +2008-09-05 Dean Jackson <dino@apple.com> + + Reviewed by Dan Bernstein. + + Update grammar so that we can add a keyframe rule via the DOM. + https://bugs.webkit.org/show_bug.cgi?id=20613 + + * css/CSSGrammar.y: + * css/tokenizer.flex: + +2008-09-08 Antti Koivisto <antti@apple.com> + + Reviewed by Dan Bernstein. + + Allow <br> for simple UA stylesheet. Editing code generates them. It does not + actually show up in any of the default stylesheets. + + * css/CSSStyleSelector.cpp: + (WebCore::elementCanUseSimpleDefaultStyle): + +2008-09-08 Dimitri Glazkov <dglazkov@google.com> + + Reviewed by Dan Bernstein. + + - fix https://bugs.webkit.org/show_bug.cgi?id=20237 + Zero width and space characters are displayed incorrectly if not contained in a fallback font + + Adds an extra check for Object Replacement Character (U+FFFC) to address + the issue with fast/text/zero-width-characters.html test when run + with Windows system default fonts. + + * platform/graphics/Font.h: + (WebCore::Font::treatAsZeroWidthSpace): + +2008-09-08 Dean Jackson <dino@apple.com> + + Reviewed by Sam Weinig. + + Code style issue I forgot to fix from previous commit. + + * platform/graphics/AffineTransform.cpp: + (WebCore::AffineTransform::blend): + +2008-09-08 Chris Marrin <cmarrin@apple.com> + + Reviewed by Sam Weinig + + - Animation of -webkit-transform matrix() function should not do linear interpolation + https://bugs.webkit.org/show_bug.cgi?id=20667 + + Test: animations/matrix-anim.html + + * ChangeLog: + * platform/graphics/AffineTransform.cpp: + (WebCore::affineTransformDecompose): + (WebCore::affineTransformCompose): + (WebCore::AffineTransform::blend): + * platform/graphics/AffineTransform.h: + * rendering/style/RenderStyle.cpp: + (WebCore::MatrixTransformOperation::blend): + +2008-09-08 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=20668 + multipart/form-data does not always include Content-type for submitted files + + Cannot be tested with DRT or manual tests. + + * platform/MIMETypeRegistry.cpp: + (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing. + (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for + unknown extensions, not just missing ones. + +2008-09-08 Simon Hausmann <hausmann@webkit.org> + + Build fix for the Qt/Windows build, define USE_JSC to + enable the WebCore::String -> JSC::UString operator that + MSVC insists on seeing + + * WebCore.pro: + +2008-09-08 Anders Carlsson <andersca@apple.com> + + Reviewed by Maciej. + + <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead. + + In some cases, timeouts scheduled by a page in the onunload handler could fire even when the + page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view). + + Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed. + + * bindings/js/JSDOMWindowBase.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::commitProvisionalLoad): + +2008-09-07 Antti Koivisto <antti@apple.com> + + Reviewed by Dave Hyatt. + + Don't leak the simple stylesheet. + Also call RenderTheme::adjustDefaultStyleSheet() in right place. + + * css/CSSStyleSelector.cpp: + (WebCore::loadFullDefaultStyle): + (WebCore::loadSimpleDefaultStyle): + (WebCore::CSSStyleSelector::styleForElement): + +2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca> + + Reviewed by Oliver Hunt. + + Bug 20711: Change KJS prefix on preprocessor macros to JSC + <https://bugs.webkit.org/show_bug.cgi?id=20711> + + * bindings/js/JSEventTargetBase.h: + * bindings/js/JSHTMLInputElementBase.cpp: + * bindings/js/JSHTMLInputElementBase.h: + * bindings/scripts/CodeGeneratorJS.pm: + +2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca> + + Reviewed by Maciej Stachowiak. + + Bug 20704: Replace the KJS namespace + <https://bugs.webkit.org/show_bug.cgi?id=20704> + + Rename the KJS namespace to JSC. There are still some uses of KJS in the + names of JNI functions, and I will check if these are safe to change + as well. + + * WebCore.base.exp: + * bindings/js/GCController.cpp: + * bindings/js/JSAttrCustom.cpp: + * bindings/js/JSAudioConstructor.cpp: + * bindings/js/JSAudioConstructor.h: + (WebCore::JSAudioConstructor::classInfo): + * bindings/js/JSCSSRuleCustom.cpp: + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + * bindings/js/JSCSSValueCustom.cpp: + * bindings/js/JSCanvasPixelArrayCustom.cpp: + * bindings/js/JSCanvasRenderingContext2DCustom.cpp: + * bindings/js/JSClipboardCustom.cpp: + * bindings/js/JSConsoleCustom.cpp: + * bindings/js/JSCustomSQLStatementCallback.cpp: + (WebCore::JSCustomSQLStatementCallback::handleEvent): + * bindings/js/JSCustomSQLStatementCallback.h: + (WebCore::JSCustomSQLStatementCallback::create): + * bindings/js/JSCustomSQLStatementErrorCallback.cpp: + (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): + * bindings/js/JSCustomSQLStatementErrorCallback.h: + (WebCore::JSCustomSQLStatementErrorCallback::create): + * bindings/js/JSCustomSQLTransactionCallback.cpp: + (WebCore::JSCustomSQLTransactionCallback::handleEvent): + * bindings/js/JSCustomSQLTransactionCallback.h: + (WebCore::JSCustomSQLTransactionCallback::create): + * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: + (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): + * bindings/js/JSCustomSQLTransactionErrorCallback.h: + (WebCore::JSCustomSQLTransactionErrorCallback::create): + * bindings/js/JSCustomVoidCallback.cpp: + (WebCore::JSCustomVoidCallback::handleEvent): + * bindings/js/JSCustomVoidCallback.h: + (WebCore::JSCustomVoidCallback::create): + * bindings/js/JSCustomXPathNSResolver.cpp: + (WebCore::JSCustomXPathNSResolver::create): + * bindings/js/JSCustomXPathNSResolver.h: + * bindings/js/JSDOMApplicationCacheCustom.cpp: + (WebCore::JSDOMApplicationCache::dispatchEvent): + * bindings/js/JSDOMBinding.cpp: + (WebCore::jsOwnedStringOrNull): + * bindings/js/JSDOMBinding.h: + (WebCore::DOMObject::DOMObject): + (WebCore::cacheDOMObject): + (WebCore::cacheSVGDOMObject): + (WebCore::DOMExceptionTranslator::DOMExceptionTranslator): + (WebCore::toJS): + * bindings/js/JSDOMWindowBase.cpp: + * bindings/js/JSDOMWindowBase.h: + (WebCore::JSDOMWindowBase::classInfo): + (WebCore::JSDOMWindowBase::d): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::getPropertyAttributes): + * bindings/js/JSDOMWindowCustom.h: + (WebCore::asJSDOMWindow): + (WebCore::JSDOMWindow::customGetOwnPropertySlot): + (WebCore::JSDOMWindow::customPut): + (WebCore::JSDOMWindowBase::allowsAccessFrom): + (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage): + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::getPropertyAttributes): + * bindings/js/JSDOMWindowShell.h: + (WebCore::JSDOMWindowShell::classInfo): + * bindings/js/JSDatabaseCustom.cpp: + * bindings/js/JSDocumentCustom.cpp: + * bindings/js/JSDocumentFragmentCustom.cpp: + * bindings/js/JSElementCustom.cpp: + * bindings/js/JSEventCustom.cpp: + * bindings/js/JSEventListener.cpp: + * bindings/js/JSEventListener.h: + (WebCore::JSUnprotectedEventListener::create): + (WebCore::JSEventListener::create): + * bindings/js/JSEventTargetBase.cpp: + * bindings/js/JSEventTargetBase.h: + (WebCore::JSEventTargetBase::getValueProperty): + (WebCore::JSEventTargetBase::putValueProperty): + (WebCore::JSEventTargetBase::getOwnPropertySlot): + (WebCore::JSEventTargetBase::put): + (WebCore::JSEventTargetPrototype::JSEventTargetPrototype): + (WebCore::JSEventTargetPrototype::self): + (WebCore::JSEventTargetPrototype::getOwnPropertySlot): + (WebCore::JSEventTargetPrototype::classInfo): + * bindings/js/JSEventTargetNode.cpp: + * bindings/js/JSEventTargetNode.h: + (WebCore::JSEventTargetNode::getOwnPropertySlot): + (WebCore::JSEventTargetNode::getValueProperty): + (WebCore::JSEventTargetNode::put): + (WebCore::JSEventTargetNode::putValueProperty): + * bindings/js/JSHTMLAllCollection.h: + (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): + (WebCore::JSHTMLAllCollection::toBoolean): + * bindings/js/JSHTMLAppletElementCustom.cpp: + * bindings/js/JSHTMLCollectionCustom.cpp: + * bindings/js/JSHTMLDocumentCustom.cpp: + * bindings/js/JSHTMLElementCustom.cpp: + * bindings/js/JSHTMLEmbedElementCustom.cpp: + * bindings/js/JSHTMLFormElementCustom.cpp: + * bindings/js/JSHTMLFrameElementCustom.cpp: + * bindings/js/JSHTMLFrameSetElementCustom.cpp: + * bindings/js/JSHTMLIFrameElementCustom.cpp: + * bindings/js/JSHTMLInputElementBase.cpp: + (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): + (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): + * bindings/js/JSHTMLInputElementBase.h: + (WebCore::JSHTMLInputElementBase::classInfo): + * bindings/js/JSHTMLObjectElementCustom.cpp: + * bindings/js/JSHTMLOptionElementConstructor.cpp: + * bindings/js/JSHTMLOptionElementConstructor.h: + (WebCore::JSHTMLOptionElementConstructor::classInfo): + * bindings/js/JSHTMLOptionsCollectionCustom.cpp: + * bindings/js/JSHTMLSelectElementCustom.cpp: + (WebCore::selectIndexSetter): + (WebCore::JSHTMLSelectElement::indexSetter): + * bindings/js/JSHTMLSelectElementCustom.h: + * bindings/js/JSHistoryCustom.cpp: + * bindings/js/JSImageConstructor.cpp: + * bindings/js/JSImageConstructor.h: + (WebCore::JSImageConstructor::classInfo): + * bindings/js/JSInspectedObjectWrapper.cpp: + * bindings/js/JSInspectedObjectWrapper.h: + (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue): + (WebCore::JSInspectedObjectWrapper::classInfo): + * bindings/js/JSInspectorCallbackWrapper.cpp: + * bindings/js/JSInspectorCallbackWrapper.h: + (WebCore::JSInspectorCallbackWrapper::classInfo): + (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue): + * bindings/js/JSJavaScriptCallFrameCustom.cpp: + * bindings/js/JSLocationCustom.cpp: + * bindings/js/JSMimeTypeArrayCustom.cpp: + * bindings/js/JSNSResolver.cpp: + * bindings/js/JSNSResolver.h: + (WebCore::JSNSResolver::create): + * bindings/js/JSNamedNodeMapCustom.cpp: + * bindings/js/JSNamedNodesCollection.cpp: + (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): + * bindings/js/JSNamedNodesCollection.h: + (WebCore::JSNamedNodesCollection::classInfo): + * bindings/js/JSNavigatorCustom.cpp: + * bindings/js/JSNodeCustom.cpp: + * bindings/js/JSNodeFilterCondition.cpp: + (WebCore::JSNodeFilterCondition::acceptNode): + * bindings/js/JSNodeFilterCondition.h: + (WebCore::JSNodeFilterCondition::create): + * bindings/js/JSNodeFilterCustom.cpp: + * bindings/js/JSNodeIteratorCustom.cpp: + * bindings/js/JSNodeListCustom.cpp: + * bindings/js/JSPluginArrayCustom.cpp: + * bindings/js/JSPluginCustom.cpp: + * bindings/js/JSPluginElementFunctions.cpp: + (WebCore::getRuntimeObject): + * bindings/js/JSPluginElementFunctions.h: + * bindings/js/JSQuarantinedObjectWrapper.cpp: + (WebCore::JSQuarantinedObjectWrapper::construct): + (WebCore::JSQuarantinedObjectWrapper::call): + * bindings/js/JSQuarantinedObjectWrapper.h: + (WebCore::JSQuarantinedObjectWrapper::unwrappedObject): + (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject): + (WebCore::JSQuarantinedObjectWrapper::className): + * bindings/js/JSRGBColor.cpp: + * bindings/js/JSRGBColor.h: + (WebCore::JSRGBColor::classInfo): + * bindings/js/JSSQLResultSetRowListCustom.cpp: + * bindings/js/JSSQLTransactionCustom.cpp: + * bindings/js/JSSVGLazyEventListener.cpp: + * bindings/js/JSSVGLazyEventListener.h: + * bindings/js/JSSVGLengthCustom.cpp: + * bindings/js/JSSVGMatrixCustom.cpp: + (WebCore::JSSVGMatrix::inverse): + (WebCore::JSSVGMatrix::rotateFromVector): + * bindings/js/JSSVGPathSegCustom.cpp: + * bindings/js/JSSVGPathSegListCustom.cpp: + (WebCore::JSSVGPathSegList::initialize): + (WebCore::JSSVGPathSegList::getItem): + (WebCore::JSSVGPathSegList::insertItemBefore): + (WebCore::JSSVGPathSegList::replaceItem): + (WebCore::JSSVGPathSegList::removeItem): + (WebCore::JSSVGPathSegList::appendItem): + * bindings/js/JSSVGPointListCustom.cpp: + * bindings/js/JSSVGTransformListCustom.cpp: + * bindings/js/JSStorageCustom.cpp: + * bindings/js/JSStyleSheetCustom.cpp: + * bindings/js/JSStyleSheetListCustom.cpp: + * bindings/js/JSTextCustom.cpp: + * bindings/js/JSTreeWalkerCustom.cpp: + * bindings/js/JSXMLHttpRequestConstructor.cpp: + * bindings/js/JSXMLHttpRequestConstructor.h: + (WebCore::JSXMLHttpRequestConstructor::classInfo): + * bindings/js/JSXMLHttpRequestCustom.cpp: + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + * bindings/js/JSXSLTProcessorConstructor.cpp: + * bindings/js/JSXSLTProcessorConstructor.h: + (WebCore::JSXSLTProcessorConstructor::classInfo): + * bindings/js/JSXSLTProcessorCustom.cpp: + * bindings/js/ScheduledAction.cpp: + * bindings/js/ScheduledAction.h: + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::attachDebugger): + (WebCore::ScriptController::windowScriptNPObject): + * bindings/js/ScriptController.h: + * bindings/js/ScriptControllerGtk.cpp: + (WebCore::ScriptController::createScriptInstanceForWidget): + * bindings/js/ScriptControllerMac.mm: + (WebCore::ScriptController::createScriptInstanceForWidget): + (WebCore::ScriptController::windowScriptObject): + (WebCore::ScriptController::clearPlatformScriptObjects): + (WebCore::updateRenderingForBindings): + (WebCore::ScriptController::initJavaJSBindings): + * bindings/js/ScriptControllerQt.cpp: + (WebCore::ScriptController::createScriptInstanceForWidget): + * bindings/js/ScriptControllerWin.cpp: + (WebCore::ScriptController::createScriptInstanceForWidget): + * bindings/js/ScriptControllerWx.cpp: + (WebCore::ScriptController::createScriptInstanceForWidget): + * bindings/js/StringSourceProvider.h: + (WebCore::StringSourceProvider::getRange): + * bindings/objc/DOM.mm: + (-[DOMNode JSC::Bindings::]): + * bindings/objc/DOMInternal.h: + * bindings/objc/DOMInternal.mm: + (-[WebScriptObject _initializeScriptDOMNodeImp]): + * bindings/objc/DOMUtility.mm: + (JSC::createDOMWrapper): + (WebCore::createDOMWrapper): + * bindings/objc/WebScriptObject.mm: + (WebCore::createJSWrapper): + (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]): + * bindings/objc/WebScriptObjectPrivate.h: + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/NP_jsobject.cpp: + * bridge/NP_jsobject.h: + * bridge/c/c_class.cpp: + * bridge/c/c_class.h: + * bridge/c/c_instance.cpp: + * bridge/c/c_instance.h: + * bridge/c/c_runtime.cpp: + * bridge/c/c_runtime.h: + * bridge/c/c_utility.cpp: + * bridge/c/c_utility.h: + * bridge/jni/jni_class.cpp: + * bridge/jni/jni_class.h: + * bridge/jni/jni_instance.cpp: + * bridge/jni/jni_instance.h: + * bridge/jni/jni_jsobject.h: + * bridge/jni/jni_jsobject.mm: + (JavaJSObject::call): + (JavaJSObject::convertJObjectToValue): + * bridge/jni/jni_objc.mm: + (JSC::Bindings::dispatchJNICall): + * bridge/jni/jni_runtime.cpp: + * bridge/jni/jni_runtime.h: + * bridge/jni/jni_utility.cpp: + * bridge/jni/jni_utility.h: + * bridge/npruntime.cpp: + (_NPN_GetStringIdentifier): + * bridge/objc/WebScriptObject.h: + * bridge/objc/objc_class.h: + * bridge/objc/objc_class.mm: + * bridge/objc/objc_instance.h: + * bridge/objc/objc_instance.mm: + * bridge/objc/objc_runtime.h: + * bridge/objc/objc_runtime.mm: + * bridge/objc/objc_utility.h: + * bridge/objc/objc_utility.mm: + * bridge/qt/qt_class.cpp: + * bridge/qt/qt_class.h: + * bridge/qt/qt_instance.cpp: + * bridge/qt/qt_instance.h: + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertQVariantToValue): + (JSC::Bindings::): + * bridge/qt/qt_runtime.h: + * bridge/runtime.cpp: + * bridge/runtime.h: + * bridge/runtime_array.cpp: + * bridge/runtime_array.h: + * bridge/runtime_method.cpp: + * bridge/runtime_method.h: + * bridge/runtime_object.cpp: + * bridge/runtime_object.h: + * bridge/runtime_root.cpp: + (JSC::Bindings::RootObject::invalidate): + (JSC::Bindings::RootObject::gcProtect): + (JSC::Bindings::RootObject::gcUnprotect): + * bridge/runtime_root.h: + * bridge/testbindings.cpp: + * bridge/testbindings.mm: + * bridge/testqtbindings.cpp: + * dom/Document.cpp: + (WebCore::Document::~Document): + * dom/NSResolver.h: + * dom/Node.cpp: + (WebCore::Node::setDocument): + (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor): + (WebCore::resolveNamespacesForSelector): + (WebCore::Node::querySelector): + (WebCore::Node::querySelectorAll): + * dom/Node.h: + * dom/NodeFilter.cpp: + * dom/NodeFilter.h: + * dom/NodeFilterCondition.cpp: + * dom/NodeFilterCondition.h: + * dom/NodeIterator.cpp: + * dom/NodeIterator.h: + * dom/Traversal.cpp: + * dom/Traversal.h: + * dom/TreeWalker.cpp: + * dom/TreeWalker.h: + * dom/make_names.pl: + * history/CachedPage.cpp: + * history/CachedPage.h: + * html/HTMLPlugInElement.cpp: + (WebCore::HTMLPlugInElement::getInstance): + * html/HTMLPlugInElement.h: + * loader/FrameLoader.cpp: + * loader/FrameLoader.h: + * loader/icon/IconDatabase.cpp: + (WebCore::iconDatabase): + * page/Console.cpp: + * page/Console.h: + * page/InspectorController.cpp: + (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): + (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): + (WebCore::InspectorResource::setXMLHttpRequestProperties): + (WebCore::InspectorResource::sourceString): + (WebCore::getResourceDocumentNode): + (WebCore::search): + (WebCore::InspectorController::focusNode): + (WebCore::InspectorController::inspectedWindowScriptObjectCleared): + (WebCore::InspectorController::addDatabaseScriptResource): + (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): + * page/InspectorController.h: + (WebCore::InspectorController::profiles): + * page/JavaScriptCallFrame.cpp: + (WebCore::JavaScriptCallFrame::scopeChain): + * page/JavaScriptCallFrame.h: + (WebCore::JavaScriptCallFrame::create): + (WebCore::JavaScriptCallFrame::update): + * page/JavaScriptDebugListener.h: + * page/JavaScriptDebugServer.cpp: + (WebCore::dispatchDidParseSource): + * page/JavaScriptDebugServer.h: + * page/JavaScriptProfile.cpp: + * page/JavaScriptProfile.h: + * page/JavaScriptProfileNode.cpp: + (WebCore::getTotalTime): + (WebCore::getSelfTime): + (WebCore::getTotalPercent): + (WebCore::getSelfPercent): + (WebCore::getNumberOfCalls): + (WebCore::getChildren): + (WebCore::getVisible): + * page/JavaScriptProfileNode.h: + * page/Page.cpp: + (WebCore::Page::setDebuggerForAllPages): + (WebCore::Page::setDebugger): + * page/Page.h: + (WebCore::Page::debugger): + * page/mac/FrameMac.mm: + * platform/KURL.h: + (WebCore::KURL::operator JSC::UString): + * platform/text/AtomicString.cpp: + (WebCore::AtomicString::add): + (WebCore::AtomicString::find): + * platform/text/AtomicString.h: + (WebCore::AtomicString::AtomicString): + * platform/text/PlatformString.h: + * platform/text/String.cpp: + (WebCore::charactersToDouble): + * platform/win/BString.cpp: + * platform/win/BString.h: + * plugins/MimeTypeArray.h: + * plugins/Plugin.h: + * plugins/PluginArray.h: + * plugins/PluginView.cpp: + (WebCore::PluginView::start): + (WebCore::PluginView::performRequest): + (WebCore::PluginView::bindingInstance): + * plugins/PluginView.h: + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::paint): + (WebCore::PluginView::handleKeyboardEvent): + (WebCore::PluginView::handleMouseEvent): + (WebCore::PluginView::setNPWindowRect): + (WebCore::PluginView::stop): + (WebCore::PluginView::init): + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::setNPWindowRect): + (WebCore::PluginView::stop): + (WebCore::PluginView::init): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::dispatchNPEvent): + (WebCore::PluginView::handleKeyboardEvent): + (WebCore::PluginView::handleMouseEvent): + (WebCore::PluginView::setNPWindowRect): + (WebCore::PluginView::stop): + * storage/Database.cpp: + (WebCore::Database::Database): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::responseText): + (WebCore::XMLHttpRequest::loadRequestAsynchronously): + (WebCore::XMLHttpRequest::clearResponse): + (WebCore::XMLHttpRequest::dropProtection): + (WebCore::XMLHttpRequest::didFinishLoading): + (WebCore::XMLHttpRequest::didReceiveData): + * xml/XMLHttpRequest.h: + +2008-09-07 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + Adopt opener restriction on frame navigation. + https://bugs.webkit.org/show_bug.cgi?id=20642 + + This restriction helps prevent an attacker from navigating top-level + windows that were created by another web site. + + Tests: http/tests/security/frameNavigation/not-opener.html + http/tests/security/frameNavigation/opener.html + + * loader/FrameLoader.cpp: + (WebCore::canAccessAncestor): + (WebCore::FrameLoader::shouldAllowNavigation): + +2008-09-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + - use the correct sign for vertical offsets of combining marks + + * platform/graphics/win/UniscribeController.cpp: + (WebCore::UniscribeController::shapeAndPlaceItem): + +2008-09-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - add the combining mark offsets in two places where I forgot them + + * platform/graphics/win/FontCGWin.cpp: + (WebCore::Font::drawGlyphs): + +2008-09-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - correct glyph advances in complex text using web fonts rendered with + Core Graphics + + * platform/graphics/win/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + +2008-09-07 Keishi Hattori <casey.hattori@gmail.com> + + Adds console.dirxml support to the Web Inspector. + + https://bugs.webkit.org/show_bug.cgi?id=19156 + + Reviewed by Timothy Hatcher. + + * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js. + * bindings/js/JSConsoleCustom.cpp: + (WebCore::JSConsole::dirxml): + * page/Console.cpp: + (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel. + * page/Console.h: + (WebCore::): Added NodeMessageLevel. + * page/Console.idl: Added console.dirxml. + * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline. + * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline + in the ElementsPanel has includeRootDOMNode and selectEnabled set to true. + * page/inspector/ElementsTreeOutline.js: Added. + (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree. + (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline. + * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js. + * page/inspector/inspector.css: + * page/inspector/inspector.html: Added ElementsTreeOutline.js. + * page/inspector/inspector.js: Moved hover related methods to WebInspector. + (WebInspector.altKeyDown): + (WebInspector.forceHoverHighlight): + (WebInspector.hoveredDOMNode): + (WebInspector._updateHoverHighlightSoon): + (WebInspector._updateHoverHighlight): + (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown + (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown + * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement, + isAncestorIncludingParentFrames. + +2008-09-06 Mark Rowe <mrowe@apple.com> + + Qt build fix. + + * bridge/qt/qt_runtime.cpp: + (KJS::Bindings::convertQVariantToValue): + +=== End merge of squirrelfish-extreme === + +2008-09-05 Oliver Hunt <oliver@apple.com> + + Start bringing up SFX on windows. + + Reviewed by Mark Rowe and Sam Weinig + + Start doing the work to bring up SFX on windows. Initially + just working on WREC, as it does not make any calls so reduces + the amount of code that needs to be corrected. + + Add forwarding headers + + * ChangeLog: + * ForwardingHeaders/masm/MacroAssembler.h: Added. + * WebCore.vcproj/WebCore.vcproj: + +2008-08-27 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Fix the build of the full WebKit stack. + + Add forwarding headers. + + * ForwardingHeaders/masm/IA32MacroAsm.h: Added. + * ForwardingHeaders/wrec/WREC.h: Added. + +=== Start merge of squirrelfish-extreme === + +2008-09-06 Antti Koivisto <antti@apple.com> + + Reviewed by Dave Hyatt. + + <rdar://problem/6187043> + Don't parse full HTML user agent style sheet unless it is actually needed + <rdar://problem/6131889> + WebView is significantly more expensive to create recently + + Parsing the html4.css takes significant amount of time and memory (~50kb) on application + startup. Some clients may never use most of the rules. + + With this patch we use simplified UA stylesheet until we hit something it can't handle. + This avoids full stylesheet parsing on application startup (due to empty document construction) + and also makes it possible for clients with very simple demands (divs and spans only) never to load + the full style. + + It also delays view source style parsing until it is used. + + * css/CSSStyleSelector.cpp: + (WebCore::elementCanUseSimpleDefaultStyle): + (WebCore::CSSStyleSelector::CSSStyleSelector): + (WebCore::loadFullDefaultStyle): + (WebCore::loadSimpleDefaultStyle): + (WebCore::loadViewSourceStyle): + (WebCore::CSSStyleSelector::matchUARules): + (WebCore::CSSStyleSelector::styleForElement): + +2008-09-06 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix. + + * WebCoreSources.bkl: + +2008-09-06 Antti Koivisto <antti@apple.com> + + Reverting r35953 which was causing problems on Windows which relies on + WebCore timers in nested event loops. r36132 did alternative fix. + + * page/Chrome.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + +2008-09-06 Antti Koivisto <antti@apple.com> + + Reviewed by Dan Bernstein. + + Fix <rdar://problem/6201644> + https://bugs.webkit.org/show_bug.cgi?id=20493 + Crash after OK in dialog box and reloading page in secure mode + + Limited loader only fix since the general timer fix is causing problems on Windows. + + * loader/loader.cpp: + (WebCore::Loader::servePendingRequests): + (WebCore::Loader::Host::Host): + (WebCore::Loader::Host::didFinishLoading): + (WebCore::Loader::Host::didFail): + (WebCore::Loader::Host::didReceiveData): + * loader/loader.h: + (WebCore::Loader::Host::processingResource): + +2008-09-06 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + The initial Core Text adoption prototype was made by Daniel Fenwick. + + - <rdar://problem/5158514> Add a Core Text-based complex text code path + + Currently the Core Text code path is not used in any configuration. + + * WebCore.xcodeproj/project.pbxproj: Added files. + * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT. + * platform/graphics/Font.cpp: + (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out + of the loop. + * platform/graphics/GlyphBuffer.h: + (WebCore::GlyphBuffer::add): Added this version that takes an advance. + * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs. + Added getCTFont() and getCFStringAttributes() and corresponding data + members for Core Text. + * platform/graphics/mac/CoreTextController.cpp: Added. + (WebCore::roundCGFloat): Helper function. + (WebCore::ceilCGFloat): Helper function. + (WebCore::CoreTextController::CoreTextRun::CoreTextRun): + (WebCore::CoreTextController::CoreTextController): + (WebCore::CoreTextController::offsetForPosition): + (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the + run into subruns as necessary such that each subrun can be rendered with + a single font. Also separates out soft hyphens and replaces them with + real hyphens, because Core Text does not emit a glyph for soft hyphens. + Then calls collectCoreTextRunsForCharacters() on each subrun. + (WebCore::CoreTextController::advance): + (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates + a CTLine from the given subrun and collects its CoreTextRuns. + (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the + rounding hacks, letter- and word-spacing and glyph substitutions and + stores the resulting adjusted glyphs and advances. + * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h. + (WebCore::CoreTextController::totalWidth): + (WebCore::CoreTextController::finalRoundingWidth): + (WebCore::CoreTextController::CoreTextRun::ctRun): + (WebCore::CoreTextController::CoreTextRun::glyphCount): + (WebCore::CoreTextController::CoreTextRun::fontData): + (WebCore::CoreTextController::CoreTextRun::characters): + (WebCore::CoreTextController::CoreTextRun::stringLocation): + (WebCore::CoreTextController::CoreTextRun::stringLength): + (WebCore::CoreTextController::CoreTextRun::indexAt): + * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to + FontMacATSUI.mm. + * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm. + (WebCore::disableLigatures): Changed to call + FontPlatformData::allowsLigatures(). + (WebCore::overrideLayoutOperation): Changed to call + FontPlatformData::roundsGlyphAdvances(). + * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp. + (WebCore::Font::selectionRectForComplexText): Changed to use + totalWidth() instead of advancing to the end and using runWidthSoFar(). + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): Ditto. + (WebCore::Font::offsetForPositionForComplexText): + * platform/graphics/mac/FontPlatformData.h: + * platform/graphics/mac/FontPlatformDataMac.mm: + (WebCore::FontPlatformData::setFont): + (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the + AppKit rendering mode. + (WebCore::FontPlatformData::allowsLigatures): Added. Implements the + heuristic that allows ligatures in fonts that do not have a glyph for + 'a', based on the assumption that such fonts are only used in complex + text. + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::platformDestroy): + (WebCore::SimpleFontData::getCTFont): Added. + (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and + returns an attributes dictionary. + * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs. + * platform/text/mac/ShapeArabic.h: Ditto. + +2008-09-06 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - make combining mark offsets work in CG text on Windows + + * platform/graphics/win/FontCGWin.cpp: + (WebCore::Font::drawGlyphs): The old code tried to translate the text + matrix, but failed for two reasons: it did not actually change the + matrix, and even if it did, CGContextSetTextPosition overwrites the + translation values in the text matrix. Instead, just added the + translation to the anchor point. + +2008-09-05 Gustavo Noronha Silva <gns@gnome.org> + + Reviewed by Alp Toker. + + https://bugs.webkit.org/show_bug.cgi?id=18346 + [GTK] Remove build warnings + + Applied some casts, and removed an unused typedef to make the + compiler happy, printing less warnings when building. + + * page/gtk/AccessibilityObjectWrapperAtk.cpp: + * platform/graphics/gtk/SimpleFontDataPango.cpp: + (WebCore::SimpleFontData::containsCharacters): + * platform/graphics/gtk/VideoSinkGStreamer.cpp: + (webkit_video_sink_set_caps): + * platform/network/soup/ResourceHandleSoup.cpp: + +2008-09-05 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Roben. + + Build fix for WebKitWin and Chromium + + * platform/FileSystem.h: + +2008-09-05 Eric Seidel <eric@webkit.org> + + Reviewed by Darin Adler. + + Try to make Chromium compile with ToT: + - Wrap a few places which depend on KJS:: in #if USE(JSC) + - Include some windows forward declarations + + * dom/Node.h: + * page/Console.h: + * page/animation/CompositeAnimation.h: + * platform/FileSystem.h: + * platform/graphics/Image.h: + * platform/text/AtomicString.h: + * platform/text/String.cpp: + * rendering/style/RenderStyle.h: + +2008-09-05 Dave Hyatt <hyatt@apple.com> + + Add support for runtime switchability of the Aqua look and the native look on Windows. + Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set. + + Reviewed by Adam Roben + + * WebCore.vcproj/WebCore.vcproj: + * page/Settings.cpp: + (WebCore::Settings::setShouldPaintNativeControls): + * page/Settings.h: + (WebCore::Settings::shouldPaintNativeControls): + * rendering/RenderThemeSafari.cpp: + (WebCore::theme): + * rendering/RenderThemeWin.cpp: + +2008-09-05 Antti Koivisto <antti@apple.com> + + Qt build fix. + + * svg/SVGFEImageElement.cpp: + (WebCore::SVGFEImageElement::build): + +2008-09-05 Dirk Schulze <vbs85@gmx.de> + + Gtk build fix + + * GNUmakefile.am: + +2008-09-05 Antti Koivisto <antti@apple.com> + + Another build fix. + + * svg/SVGFEImageElement.cpp: + (WebCore::SVGFEImageElement::notifyFinished): + +2008-09-05 Antti Koivisto <antti@apple.com> + + Build fixes. + + * WebCore.xcodeproj/project.pbxproj: + * svg/graphics/filters/SVGFEImage.cpp: + (WebCore::FEImage::cachedImage): + +2008-09-05 Antti Koivisto <antti@apple.com> + + Reviewed by Darin Adler. + + Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998 + When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation" + + Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does + not yet enable it for the biggest use case, reloading. However it is good for general browsing as + well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that + we avoid re-decoding resources, especially images. + + To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include + CacheControl: max-age=0 header. That would be added in reload case. + + The approach for revalidation is to kick the original resource out from the memory cache + and create a new CachedResource that represents the revalidation request. In case + we get 304 back for the request we put the original resource back to the cache, update + its expiration date and switch the clients registered to revalidation resource to be + clients of the original resource. + + All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead. + This allows updating the handles to point to the original resource when the revalidation succeeds. It + also acts as refcounting smart pointer. + + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSFontFaceSource.h: + * css/CSSImportRule.h: + * dom/Clipboard.h: + (WebCore::Clipboard::dragImage): + * dom/ProcessingInstruction.h: + * dom/ScriptElement.h: + * dom/XMLTokenizer.cpp: + (WebCore::XMLTokenizer::isWaitingForScripts): + * dom/XMLTokenizer.h: + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::setImage): + (WebCore::HTMLImageLoader::updateFromElement): + (WebCore::HTMLImageLoader::notifyFinished): + * html/HTMLImageLoader.h: + (WebCore::HTMLImageLoader::image): + * html/HTMLLinkElement.h: + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::reset): + (WebCore::HTMLTokenizer::scriptHandler): + (WebCore::HTMLTokenizer::notifyFinished): + * html/HTMLTokenizer.h: + * loader/Cache.cpp: + (WebCore::Cache::revalidateResource): + (WebCore::Cache::revalidationSucceeded): + (WebCore::Cache::revalidationFailed): + * loader/Cache.h: + * loader/CachedResource.cpp: + (WebCore::CachedResource::CachedResource): + (WebCore::CachedResource::~CachedResource): + (WebCore::CachedResource::isExpired): + (WebCore::CachedResource::setResponse): + (WebCore::CachedResource::deleteIfPossible): + (WebCore::CachedResource::setResourceToRevalidate): + (WebCore::CachedResource::clearResourceToRevalidate): + (WebCore::CachedResource::switchClientsToRevalidatedResource): + (WebCore::CachedResource::canUseCacheValidator): + (WebCore::CachedResource::mustRevalidate): + * loader/CachedResource.h: + (WebCore::CachedResource::canDelete): + (WebCore::CachedResource::registerHandle): + (WebCore::CachedResource::unregisterHandle): + (WebCore::CachedResource::isCacheValidator): + (WebCore::CachedResource::resourceToRevalidate): + (WebCore::CachedResource::setExpirationDate): + * loader/CachedResourceHandle.cpp: Added. + (WebCore::CachedResourceHandleBase::setResource): + * loader/CachedResourceHandle.h: Added. + (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase): + (WebCore::CachedResourceHandleBase::get): + (WebCore::CachedResourceHandleBase::operator!): + (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType): + (WebCore::CachedResourceHandleBase::CachedResourceHandleBase): + (WebCore::CachedResourceHandleBase::operator=): + (WebCore::CachedResourceHandle::CachedResourceHandle): + (WebCore::CachedResourceHandle::get): + (WebCore::CachedResourceHandle::operator->): + (WebCore::CachedResourceHandle::operator=): + (WebCore::CachedResourceHandle::operator==): + (WebCore::CachedResourceHandle::operator!=): + (WebCore::operator==): + (WebCore::operator!=): + * loader/DocLoader.cpp: + (WebCore::DocLoader::checkForReload): + * loader/UserStyleSheetLoader.h: + * loader/loader.cpp: + (WebCore::Loader::Host::servePendingRequests): + (WebCore::Loader::Host::didFinishLoading): + (WebCore::Loader::Host::didFail): + (WebCore::Loader::Host::didReceiveResponse): + (WebCore::Loader::Host::didReceiveData): + * page/EventHandler.cpp: + (WebCore::EventHandler::selectCursor): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::setCachedImage): + (WebCore::RenderImage::imageChanged): + * rendering/RenderImage.h: + (WebCore::RenderImage::cachedImage): + (WebCore::RenderImage::imagePtr): + * rendering/style/RenderStyle.h: + * rendering/style/StyleCachedImage.h: + (WebCore::StyleCachedImage::data): + (WebCore::StyleCachedImage::cachedImage): + * svg/SVGFEImageElement.h: + * svg/graphics/filters/SVGFEImage.h: + * xml/XSLImportRule.h: + +2008-09-04 Brady Eidson <beidson@apple.com> + + Reviewed by Mitz + + <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes + + A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt + to model default NSURLRequest behavior in a cross-platform manner. + + Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit + client that wished to enforce a much larger default timeout using NSURLRequest API. + + Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable + behavior on the web and this restores previous Safari/WebKit behavior. + + It would be easy to write a layout test for this, but to be effective it would have + to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests + + * manual-tests/timeout-test.html: Added. + * manual-tests/timeout-test.php: Added. + + * platform/network/ResourceRequestBase.h: + (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval" + and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example) + * platform/network/mac/ResourceRequestMac.mm: + (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is + "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing + WebKit applications to enforce their own default timeout. + +2008-09-04 Dan Bernstein <mitz@apple.com> + + Reviewed by Beth Dakin. + + - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout + + Test: fast/repaint/button-spurious-layout-hint.html + + * rendering/RenderButton.cpp: + (WebCore::RenderButton::setStyle): Reset the inner block's style box + flex to 0 to avoid getting a spurious layout hint. + +2008-09-04 Kevin Ollivier <kevino@theolliviers.com> + + wx build fixes. + + * WebCoreSources.bkl: + * bindings/js/ScriptControllerWx.cpp: Added. + (WebCore::ScriptController::createScriptInstanceForWidget): + * page/wx/AccessibilityObjectWx.cpp: Added. + (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): + * platform/graphics/wx/GraphicsContextWx.cpp: + * webcore-base.bkl: + * webcore-wx.bkl: + +2008-09-04 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail, + and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to + require a different approach + + * css/CSSGrammar.y: + +2008-09-04 Mark Rowe <mrowe@apple.com> + + Reviewed by Eric Seidel. + + Fix https://bugs.webkit.org/show_bug.cgi?id=20639. + Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE + + * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES. + * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking + for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES. + +2008-09-04 Mark Rowe <mrowe@apple.com> + + Mac build fix. + + * config.h: Only check the value of HAVE_CONFIG_H if it is defined. + +2008-09-04 Eric Seidel <eric@webkit.org> + + Build fix only, no review. + + * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere). + +2008-09-04 Marco Barisione <marco.barisione@collabora.co.uk> + + Reviewed by Eric Seidel. + + http://bugs.webkit.org/show_bug.cgi?id=20380 + [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h + + * config.h: Include the configuration header generated by autotools if + available. + +2008-09-04 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Dave Hyatt. + + - rename CachedResource::allReferencesRemoved() to allClientsRemoved() + + * loader/CachedFont.cpp: + (WebCore::CachedFont::allClientsRemoved): + * loader/CachedFont.h: + * loader/CachedImage.cpp: + (WebCore::CachedImage::allClientsRemoved): + * loader/CachedImage.h: + * loader/CachedResource.cpp: + (WebCore::CachedResource::removeClient): + * loader/CachedResource.h: + (WebCore::CachedResource::allClientsRemoved): + +2008-09-04 Adam Roben <aroben@apple.com> + + Windows build fix after r36071 + + We were getting these errors: + + error C2356: initialization segment must not change during translation + unit + + This was happening because multiple files #included by + DerivedSources.cpp were themselves #including StaticConstructors.h. I + fixed the error by adding header guards to StaticConstructors.h so its + contents will only be included once. + + But it's also not a good idea for StaticConstructors.h to end up in + DerivedSources.cpp, since it ends up "polluting" all the source files + we have in there. So I removed all the files that include + StaticConstructors.h and added some preprocessor directives to + DerivedSources.cpp to catch this error in the future. + + * DerivedSources.cpp: Removed the *Names.cpp files, which include + StaticConstructors.h, and added some preprocessor directives to make + sure we don't end up accidentally including StaticConstructors.h in + the future. + * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files. + * platform/StaticConstructors.h: Added header guards. + +2008-09-04 Adam Roben <aroben@apple.com> + + Windows build fix + + * platform/graphics/win/FontPlatformData.h: Added a missing #include + of PassRefPtr.h, and corrected the capitalization of RefCounted.h. + * platform/text/PlatformString.h: Added a missing #include of + PassRefPtr.h. + +2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Fix the QtWebKit build to match changes in r36016 + + * WebCore.pro: + * bridge/qt/qt_instance.cpp: + (KJS::Bindings::QtInstance::getRuntimeObject): + * bridge/qt/qt_runtime.cpp: + (KJS::Bindings::convertQVariantToValue): + (KJS::Bindings::QtConnectionObject::execute): + +2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com> + + Reviewed by Simon. + + Re-enable support for user stylesheets in QtWebKit + + QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET + code path, which allows us to keep API support for + loading user style sheets from remote URLs. + + As part of the change UserStyleSheetLoader.cpp/h was + moved from WebCore/loader/mac to WebCore/loader. + + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * dom/Document.h: + * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp. + (UserStyleSheetLoader::UserStyleSheetLoader): + (UserStyleSheetLoader::~UserStyleSheetLoader): + * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h. + * page/qt/FrameQt.cpp: + (WebCore::Frame::setUserStyleSheetLocation): + (WebCore::Frame::setUserStyleSheet): + +2008-09-04 Alp Toker <alp@nuanti.com> + + Reviewed by Eric. + + Remove left-over QT and CAIRO platform checks. + + * html/CanvasRenderingContext2D.cpp: + +2008-09-04 Eric Seidel <eric@webkit.org> + + Reviewed by Mark Rowe. + + Fix leak of TextMetrics due to over-ref as see on buildbot. + + * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now. + +2008-09-04 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix https://bugs.webkit.org/show_bug.cgi?id=19717 + <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the + positioned movement only case, call + tryLayoutDoingPositionedMovementOnly() and fall back on doing a full + layout if that fails. + (WebCore::RenderBlock::layoutPositionedObjects): Ditto. + * rendering/RenderBox.h: + (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed + layoutDoingPositionedMovementOnly to this, and made this function + check if the width changed. If it did, return, leaving the object + dirty. The caller can then call layout(). The width can change even + in the "positioned movement only" case if the object is shrink-to-fit + and the available width constraint is met. (This was the case in the + bug). + * rendering/RenderObject.h: + (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly): + Renamed layoutDoingPositionedMovementOnly() to this. + +2008-09-03 Eric Seidel <eric@webkit.org> + + No review, build fix only. + + Attempt to fix the Qt build. + + * WebCore.pro: add page/animation to include path + +2008-09-03 Mark Rowe <mrowe@apple.com> + + Mac build fix. Correctly detect whether dashboard support is enabled. + + * DerivedSources.make: + +2008-09-03 Eric Seidel <eric@webkit.org> + + Reviewed by Sam. + + Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS) + + * Configurations/WebCore.xcconfig: add missing ENABLE_* + * config.h: add rules for V8_BINDINGS + +2008-09-03 Eric Seidel <eric@webkit.org> + + Reviewed by Sam. + + https://bugs.webkit.org/show_bug.cgi?id=20620 + + Add #if USE(JSC) around KJS dependencies + Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons: + 1. Most platforms have it on anyway + 2. V8 is going to want to share some of that code + 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp + + * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support + * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8) + * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers + * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers + * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers + * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers + * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers + * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers + * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed + * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed + * platform/text/AtomicString.cpp: add USE(JSC) + * platform/text/AtomicString.h: add USE(JSC) + * platform/text/PlatformString.h: add USE(JSC) + * platform/text/String.cpp: add USE(JSC) + * platform/text/StringImpl.cpp: add USE(JSC) + * platform/text/StringImpl.h: add USE(JSC) + +2008-09-03 Dean McNamee <deanm@chromium.org> + + Reviewed by Darin Adler. + + Fix https://bugs.webkit.org/show_bug.cgi?id=20511 + Bug 20511: Remove static initializers on Windows + + Avoid static initializers on Windows by forcing Visual C++ to put + all static initializers in a code segment that is never executed. + + * config.h: + * css/MediaFeatureNames.cpp: + * dom/EventNames.cpp: + * dom/QualifiedName.cpp: + * dom/make_names.pl: + * platform/StaticConstructors.h: + * platform/text/AtomicString.cpp: + +2008-09-03 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Dave Hyatt. + + Make FontCairo draw TextStroke and TextFill separately. + + [CAIRO] draw TextFill and TextStroke separately. + [https://bugs.webkit.org/show_bug.cgi?id=20631] + + * platform/graphics/cairo/FontCairo.cpp: + (WebCore::Font::drawGlyphs): + +2008-09-03 Peter Kasting <pkasting@google.com> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=19663 + Account for paint and timer lag when animating images. Also pretend + that images whose animations were paused (by becoming invisible) + continued to animate, by "catching up" to the correct frame when they're + shown again. + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::BitmapImage): + (WebCore::BitmapImage::startAnimation): + (WebCore::BitmapImage::advanceAnimation): + (WebCore::BitmapImage::internalAdvanceAnimation): + (WebCore::BitmapImage::notifyObserverAndTrimDecodedData): + * platform/graphics/BitmapImage.h: + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::draw): + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::draw): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::BitmapImage::draw): + * platform/graphics/wx/ImageWx.cpp: + (WebCore::BitmapImage::draw): + +2008-09-03 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim. + + Remove the rest of the "zombie" code from the profiler. + - There is no longer a need for the ProfilerClient callback mechanism. + + * page/Console.cpp: + (WebCore::Console::Console): + (WebCore::Console::profile): + (WebCore::Console::profileEnd): Move the variables from the header to + here since we don't have to wait for a callback to use them. + * page/Console.h: + * page/InspectorController.cpp: + (WebCore::InspectorController::startUserInitiatedProfiling): + (WebCore::InspectorController::stopUserInitiatedProfiling): + * page/InspectorController.h: + +2008-09-03 Ada Chan <adachan@apple.com> + + Windows build fix. + + * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project. + +2008-09-01 Dean Jackson <dino@apple.com> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=20594 + Add DOM interfaces for WebKitCSSKeyframeRule + and WebKitCSSKeyframesRule. + + TEST: LayoutTests/css3/keyframes-rule.html + + * css/WebKitCSSKeyframeRule.idl: Added + * css/WebKitCSSKeyframesRule.idl: Added + + * bindings/js/JSCSSRuleCustom.cpp: + (WebCore::toJS): + Add return of new JS Keyframe rules + * bindings/objc/DOMInternal.h: + Include new internal header + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + Build configs for new files + +2008-09-03 Adam Roben <aroben@apple.com> + + Windows build fix + + * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build. + * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for + convenience/consistency. + +2008-09-03 Adele Peterson <adele@apple.com> + + Build fix. + + * WebCore.vcproj/WebCore.vcproj: + +2008-09-03 David Hyatt <hyatt@apple.com> + + Fix for bug 18203, right floats should be allowed to overflow past the left border edge. + + Reviewed by Darin (ages ago) + + Added fast/block/float/clamped-right-float.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::positionNewFloats): + +2008-09-02 David Hyatt <hyatt@apple.com> + + Add support for canvas text drawing APIs. + + Reviewed by olliej + + Tests added as fast/canvas/canvas-text-*.html + + * DerivedSources.make: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSCanvasRenderingContext2DCustom.cpp: + (WebCore::JSCanvasRenderingContext2D::fillText): + (WebCore::JSCanvasRenderingContext2D::strokeText): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::initForStyleResolve): + (WebCore::CSSStyleSelector::applyPropertyToStyle): + * css/CSSStyleSelector.h: + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::State::State): + (WebCore::CanvasRenderingContext2D::font): + (WebCore::CanvasRenderingContext2D::setFont): + (WebCore::CanvasRenderingContext2D::textAlign): + (WebCore::CanvasRenderingContext2D::setTextAlign): + (WebCore::CanvasRenderingContext2D::textBaseline): + (WebCore::CanvasRenderingContext2D::setTextBaseline): + (WebCore::CanvasRenderingContext2D::fillText): + (WebCore::CanvasRenderingContext2D::strokeText): + (WebCore::CanvasRenderingContext2D::measureText): + (WebCore::CanvasRenderingContext2D::drawTextInternal): + (WebCore::CanvasRenderingContext2D::accessFont): + * html/CanvasRenderingContext2D.h: + * html/CanvasRenderingContext2D.idl: + * html/TextMetrics.h: Added. + (WebCore::TextMetrics::create): + (WebCore::TextMetrics::width): + (WebCore::TextMetrics::setWidth): + (WebCore::TextMetrics::TextMetrics): + * html/TextMetrics.idl: Added. + * platform/graphics/Font.cpp: + (WebCore::Font::lineGap): + * platform/graphics/Font.h: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawBidiText): + * platform/graphics/GraphicsContext.h: + * platform/graphics/GraphicsTypes.cpp: + (WebCore::textAlignName): + (WebCore::parseTextAlign): + (WebCore::textBaselineName): + (WebCore::parseTextBaseline): + * platform/graphics/GraphicsTypes.h: + (WebCore::): + +2008-09-03 John Sullivan <sullivan@apple.com> + + Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps + + Fixed by Darin, reviewed by me + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::propertiesEqual): + added ensurePropertyMap() to this static function + (WebCore::AnimationBase::getPropertyAtIndex): + ditto + (WebCore::AnimationBase::getNumProperties): + ditto + +2008-09-03 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Darin and Tim. + + Remove most of the "zombie" mode from the profiler. Next we will need + to remove the client callback mechanism in profiles. + - These changes are a result of changes to JSCore. + + * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: + * page/Console.cpp: + (WebCore::retrieveLastCaller): + (WebCore::Console::profileEnd): + * page/InspectorController.cpp: + (WebCore::InspectorController::stopUserInitiatedProfiling): + +2008-09-03 Adele Peterson <adele@apple.com> + + Reviewed by Darin Adler. + + Test: fast/forms/search-display-none-cancel-button.html + + Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too. + + * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author. + + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers. + (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css. + (WebCore::RenderTextControl::createCancelButtonStyle): ditto. + (WebCore::RenderTextControl::createSubtreeIfNeeded): + Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class. + (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers. + (WebCore::RenderTextControl::subtreeHasChanged): ditto. + (WebCore::RenderTextControl::calcHeight): ditto. + (WebCore::RenderTextControl::nodeAtPoint): ditto. + (WebCore::RenderTextControl::layout): ditto. + (WebCore::RenderTextControl::calcPrefWidths): ditto. + (WebCore::RenderTextControl::clientPaddingLeft): ditto. + (WebCore::RenderTextControl::clientPaddingRight): ditto. + + * rendering/TextControlInnerElements.cpp: + (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp. + (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto. + (WebCore::TextControlInnerElement::attachInnerElement): Added. + This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element. + (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock. + * rendering/TextControlInnerElements.h: + +2008-08-28 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Maciej. + + Elminate SQLiteAuthorizer class. + + * WebCore.xcodeproj/project.pbxproj: + * WebCore.vcproj/WebCore.vcproj: + * GNUmakefile.am + Removed SQLiteAuthorizer.h. + + * platform/sql/SQLiteAuthorizer.cpp: + * platform/sql/SQLiteAuthorizer.h: Removed. + * platform/sql/SQLiteDatabase.cpp: + (WebCore::SQLiteDatabase::authorizerFunction): + (WebCore::SQLiteDatabase::setAuthorizer): + * platform/sql/SQLiteDatabase.h: + * storage/DatabaseAuthorizer.h: + (WebCore::DatabaseAuthorizer::create): + (WebCore::DatabaseAuthorizer::createView): + (WebCore::DatabaseAuthorizer::createTempView): + (WebCore::DatabaseAuthorizer::dropView): + (WebCore::DatabaseAuthorizer::dropTempView): + (WebCore::DatabaseAuthorizer::allowSelect): + (WebCore::DatabaseAuthorizer::allowReindex): + Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose. + +2008-09-03 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Mark Rowe. + + WebKitGtk build fix. + + * GNUmakefile.am: + * page/animation/AnimationController.h: + +2008-09-02 Robert Blaut <webkit@blaut.biz> + + Reviewed by Geoff Garen. + + Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913> + Misplaced elements should not close DL lists. + + Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html + + * html/HTMLParser.cpp: + (WebCore::HTMLParser::handleError): + +2008-09-02 Glenn Wilson <wilsong@gmail.com> + + Reviewed by Darin Adler. + + Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360> + Bug 15360: color:#{predefined colorName} is treated as colorName in Safari + + We would inappropriately interpret and apply an invalid CSS "color" property + when the value is a predefined color preceded by a '#' symbol. For example, + style="color:#gray;" would apply the color gray when it should not. + + In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space". + This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be + interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just + an ignorable token. + + To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as + '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of + CSSPrimitiveValue::CSS_PARSER_HEXCOLOR. + + Test: css1/color_and_background/invalid_color.html + + * css/CSSGrammar.y: + +2008-09-02 Mihnea Ovidenie <mihnea@adobe.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=19964 + Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image + + Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered. + + Test: css3/khtml-background-size-0x0-bmp.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::repaintLayerRectsForImage): + +2008-09-02 Glenn Wilson <wilsong@gmail.com> + + Reviewed by Eric Seidel. + + Fix https://bugs.webkit.org/show_bug.cgi?id=20397 + Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash + + The function checkForOrphanedUnits() would change the length of a list whose size was + was already determined before the call to checkForOrphanedUnits was made. Later in + the caller, the old size was being used for boundary management. + + This has been fixed by moving the call to checkForOrphanedUnits() earlier in the + calling function, before the size of the list is determined. + + Test: fast/css/orphaned_units_crash.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function. + +2008-09-02 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Darin Adler. + + Fallback on invalid fill or stroke styles in Canvas was + transparent black. Changed it to last valid style. + + Canvas fillStyle() and strokeStyle() needs fallback + https://bugs.webkit.org/show_bug.cgi?id=20474 + + Tests: fast/canvas/canvas-invalid-fillstyle.html + fast/canvas/canvas-invalid-strokestyle.html + + * html/CanvasStyle.cpp: + (WebCore::CanvasStyle::applyStrokeColor): + (WebCore::CanvasStyle::applyFillColor): + +2008-09-02 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Darin Adler. + + Fix https://bugs.webkit.org/show_bug.cgi?id=20468 + Updated drawImage() in canvas to match the current specification. + + Test: fast/canvas/drawImage-with-negative-source-destination.html + + * html/CanvasRenderingContext2D.cpp: + (WebCore::normalizeRect): + (WebCore::CanvasRenderingContext2D::drawImage): + +2008-08-26 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5768210> Switch back to the system version of SQLite + + Use the system version of SQLite when it is new enough to provide the functionality + that WebCore requires. + + * Configurations/Base.xcconfig: + * Configurations/DebugRelease.xcconfig: + * Configurations/WebCore.xcconfig: + +2008-09-02 Dan Bernstein <mitz@apple.com> + + - build fix + + * page/animation/AnimationBase.h: + +2008-09-02 Chris Marrin <cmarrin@apple.com> + + Reviewed by Dave Hyatt. + + AnimationController.cpp should be split into separate files + https://bugs.webkit.org/show_bug.cgi?id=20604 + + Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon + recommendation of Dave Hyatt. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + Build files. + + * page/AnimationController.cpp: Removed. + * page/AnimationController.h: Removed. + * page/animation: Added. + * page/animation/AnimationBase.cpp: Added. + * page/animation/AnimationBase.h: Added. + * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp. + * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h. + * page/animation/CompositeAnimation.cpp: Added. + * page/animation/CompositeAnimation.h: Added. + * page/animation/ImplicitAnimation.cpp: Added. + * page/animation/ImplicitAnimation.h: Added. + * page/animation/KeyframeAnimation.cpp: Added. + * page/animation/KeyframeAnimation.h: Added. + +2008-09-02 Dan Bernstein <mitz@apple.com> + + - release build fix + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::calculateDrawingMode): + +2008-09-02 Timothy Hatcher <timothy@apple.com> + + Make console functions log the correct resource URL and + line number for where the call originated. + + https://bugs.webkit.org/show_bug.cgi?id=17234 + <rdar://problem/5732837> + + Reviewed by Kevin McCullough. + + Test: manual-tests/inspector/console-call-line-numbers.html + + * bindings/js/JSConsoleCustom.cpp: + (WebCore::JSConsole::count): Call the impl. + (WebCore::JSConsole::timeEnd): Ditto. + * manual-tests/inspector/console-call-line-numbers.html: Added. + * manual-tests/inspector/resources/script-console-calls.js: Added. + * page/Console.cpp: + (WebCore::retrieveLastCaller): Helper to get the URL and line. + (WebCore::Console::error): Call retrieveLastCaller to get the URL and + line number to pass to addMessageToConsole. + (WebCore::Console::info): Ditto. + (WebCore::Console::log): Ditto. + (WebCore::Console::assertCondition): Ditto. + (WebCore::Console::count): Ditto. + (WebCore::Console::timeEnd): Ditto. + (WebCore::Console::warn): Ditto. + * page/Console.h: + * page/Console.idl: Make count and timeEnd custom. + +2008-09-02 Timothy Hatcher <timothy@apple.com> + + Removed IDL files from WebCore's framework resources. + + * WebCore.xcodeproj/project.pbxproj: + +2008-09-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang + + * html/HTMLParser.cpp: + (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a + cap on the number of consecutive identical residual style tags to + reopen. + (WebCore::HTMLParser::popBlock): Ditto. + +2008-09-02 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Adam Roben. + + A little database quota management cleanup. + + * storage/OriginQuotaManager.cpp: + (WebCore::OriginQuotaManager::OriginQuotaManager): + (WebCore::OriginQuotaManager::lock): + (WebCore::OriginQuotaManager::unlock): + (WebCore::OriginQuotaManager::trackOrigin): + (WebCore::OriginQuotaManager::tracksOrigin): + (WebCore::OriginQuotaManager::addDatabase): + (WebCore::OriginQuotaManager::removeDatabase): + (WebCore::OriginQuotaManager::removeOrigin): + (WebCore::OriginQuotaManager::markDatabase): + (WebCore::OriginQuotaManager::diskUsage): + * storage/OriginQuotaManager.h: + Changed to assert that a lock is taken more directly and reliably. Removed comments about + main/background threads, as this is likely to stop being true with synchronous Database calls + being made on worker threads. + + * storage/OriginUsageRecord.cpp: + (WebCore::OriginUsageRecord::OriginUsageRecord): + (WebCore::OriginUsageRecord::addDatabase): + (WebCore::OriginUsageRecord::removeDatabase): + (WebCore::OriginUsageRecord::markDatabase): + (WebCore::OriginUsageRecord::diskUsage): + * storage/OriginUsageRecord.h: + (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry): + Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and + can be replaced with a single boolean for OriginUsageRecord. + Added assertions for string parameters being unshared. + + +2008-09-01 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=19760 + + Make granting LoadLocalResources conditional on a policy. + + * WebCore.base.exp: + * dom/Document.cpp: + (WebCore::Document::initSecurityContext): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::setLocalLoadPolicy): + (WebCore::FrameLoader::restrictAccessToLocal): + * loader/FrameLoader.h: + (WebCore::FrameLoader::): + * platform/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::grantLoadLocalResources): + * platform/SecurityOrigin.h: + +2008-09-01 Dean Jackson <dino@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=20571 + Make sure Window object can assign Animation/Transition event + listeners via attributes. + + Also added a bunch of transition event tests, although + only transition-end-event-window is directly relevant to this patch. + + (WebCore::JSDOMWindowBase::put): + + Tests: transitions/transition-end-event-all-properties.html + transitions/transition-end-event-attributes.html + transitions/transition-end-event-container.html + transitions/transition-end-event-left.html + transitions/transition-end-event-multiple-01.html + transitions/transition-end-event-multiple-02.html + transitions/transition-end-event-multiple-03.html + transitions/transition-end-event-multiple-04.html + transitions/transition-end-event-nested.html + transitions/transition-end-event-transform.html + transitions/transition-end-event-window.html + +2008-09-01 Dean Jackson <dino@apple.com> + + Reviewed by Sam Weinig + + Code styling cleanup. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::getValueProperty): + (WebCore::JSDOMWindowBase::put): + +2008-09-01 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler. + + First cut at inline caching for access to vanilla JavaScript properties. + + Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs + to WebCore classes, and PutPropertySlot& arguments to put functions. + + (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with + inline caching for global properties, so global assignment can be optimized. + + * ForwardingHeaders/kjs/StructureID.h: Added. + * bindings/js/JSDOMBinding.h: + (WebCore::DOMObject::DOMObject): + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::put): + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSDOMWindowCustom.h: + (WebCore::JSDOMWindow::customPut): + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::JSDOMWindowShell): + (WebCore::JSDOMWindowShell::put): + * bindings/js/JSDOMWindowShell.h: + * bindings/js/JSEventTargetBase.h: + (WebCore::JSEventTargetBase::put): + * bindings/js/JSEventTargetNode.h: + (WebCore::JSEventTargetNode::put): + * bindings/js/JSHTMLAppletElementCustom.cpp: + (WebCore::JSHTMLAppletElement::customPut): + * bindings/js/JSHTMLEmbedElementCustom.cpp: + (WebCore::JSHTMLEmbedElement::customPut): + * bindings/js/JSHTMLInputElementBase.cpp: + (WebCore::JSHTMLInputElementBase::put): + * bindings/js/JSHTMLInputElementBase.h: + * bindings/js/JSHTMLObjectElementCustom.cpp: + (WebCore::JSHTMLObjectElement::customPut): + * bindings/js/JSHistoryCustom.cpp: + (WebCore::JSHistory::customPut): + * bindings/js/JSInspectedObjectWrapper.cpp: + (WebCore::JSInspectedObjectWrapper::wrap): + (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): + * bindings/js/JSInspectedObjectWrapper.h: + * bindings/js/JSInspectorCallbackWrapper.cpp: + (WebCore::JSInspectorCallbackWrapper::wrap): + (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper): + * bindings/js/JSInspectorCallbackWrapper.h: + * bindings/js/JSLocationCustom.cpp: + (WebCore::JSLocation::customPut): + * bindings/js/JSPluginElementFunctions.cpp: + (WebCore::runtimeObjectCustomPut): + * bindings/js/JSPluginElementFunctions.h: + * bindings/js/JSQuarantinedObjectWrapper.cpp: + (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): + (WebCore::JSQuarantinedObjectWrapper::put): + * bindings/js/JSQuarantinedObjectWrapper.h: + * bindings/js/JSStorageCustom.cpp: + (WebCore::JSStorage::customPut): + * bindings/objc/WebScriptObject.mm: + (-[WebScriptObject setValue:forKey:]): + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/NP_jsobject.cpp: + (_NPN_SetProperty): + * bridge/jni/jni_jsobject.mm: + (JavaJSObject::setMember): + * bridge/objc/objc_class.mm: + (KJS::Bindings::ObjcClass::fallbackObject): + * bridge/objc/objc_runtime.h: + * bridge/objc/objc_runtime.mm: + (ObjcFallbackObjectImp::ObjcFallbackObjectImp): + (ObjcFallbackObjectImp::put): + * bridge/runtime.cpp: + (KJS::Bindings::Instance::createRuntimeObject): + * bridge/runtime_array.cpp: + (RuntimeArray::put): + * bridge/runtime_array.h: + * bridge/runtime_object.cpp: + (RuntimeObjectImp::RuntimeObjectImp): + (RuntimeObjectImp::put): + * bridge/runtime_object.h: + +2008-09-01 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Eric Seidel. + + Fixed border-radius for Cairo. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::strokeArc): + +2008-09-01 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Eric Seidel. + + Added canvas's globalAlpha to cairo. + + * platform/graphics/GraphicsContext.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::setAlpha): + (WebCore::GraphicsContext::getAlpha): + * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::draw): + +2008-08-31 Simon Hausmann <hausmann@webkit.org> + + Unreviewed Qt build fix. + + * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of + the .h file + +2008-08-30 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - adopt some new JavaScriptCore functions where appropriate + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::windowProtoFuncAToB): Adopted jsEmptyString. + (WebCore::windowProtoFuncBToA): Ditto. + * bindings/js/JSEventListener.cpp: + (WebCore::JSLazyEventListener::eventParameterName): Adopted + jsNontrivialString. + * bindings/js/JSSVGLazyEventListener.cpp: + (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto. + +2008-08-29 Brady Eidson <beidson@apple.com> + + Reviewed by Anders' rubberstamp + + Style cleanup to match MediaTokenizer::writeRawData() + + * loader/PluginDocument.cpp: + (WebCore::PluginTokenizer::writeRawData): + +2008-08-29 Brady Eidson <beidson@apple.com> + + Reviewed by Anders + + https://bugs.webkit.org/show_bug.cgi?id=20556 + <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires + + Fix regression I introducted in 35946 + Already covered by media/video-click-dlbclick-standalone.html + + * loader/MediaDocument.cpp: + (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early! + (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add + an ASSERT signifying that this method should only be called once, to more closely follow the + PluginDocument case. + +2008-08-29 Beth Dakin <bdakin@apple.com> + + Reviewed by Sam Weinig. + + Fix for <rdar://problem/6181588> + + This patch makes hit testing take into account the new concept of a + disconnected frame, in which some of the content may not be + visible. The current hit testing mechanism starts at a target frame + and drills down for a HitTestResult. In some cases, drilling down + will find a non-visible result. When this happens, we need to try + again, starting at a higher level -- namely, starting at the main + frame. + + * editing/Editor.cpp: + (WebCore::Editor::insideVisibleArea): New function that tests if a + point is inside the visible area for a disconnected frame. + * editing/Editor.h: + * page/EventHandler.cpp: + (WebCore::EventHandler::hitTestResultAtPoint): + +2008-08-29 Adele Peterson <adele@apple.com> + + Reviewed by Adam Roben. + + Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * html/HTMLTextFieldInnerElement.cpp: Removed. + * html/HTMLTextFieldInnerElement.h: Removed. + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::createSubtreeIfNeeded): + * rendering/RenderTextControl.h: + * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp. + (WebCore::TextControlInnerElement::TextControlInnerElement): + (WebCore::TextControlInnerTextElement::TextControlInnerTextElement): + (WebCore::TextControlInnerTextElement::defaultEventHandler): + (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement): + (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): + (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement): + (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): + * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h. + +2008-08-29 Eric Seidel <eric@webkit.org> + + Rubber-stamped by aroben. + + Add GraphicsContext.h include to GraphcisContextPrivate.h + + GraphicsContextPrivate uses StrokeStyle which is defined + in GraphicsContext.h but it doesn't include that header. + CoreGraphics build doesn't fail here due to the order + it happens to include files. + + * platform/graphics/GraphicsContextPrivate.h: + +2008-08-29 Eric Seidel <eric@webkit.org> + + Reviewed by hyatt. + + Fix GeneratedImage to respect Image's refcounting + Fixing potential crashers (future if not current) + https://bugs.webkit.org/show_bug.cgi?id=20567 + + I don't know if it's possible to make the current code + crash, thus I've not made a test. + + * css/CSSGradientValue.cpp: + (WebCore::CSSGradientValue::image): + * css/CSSImageGeneratorValue.cpp: + (WebCore::CSSImageGeneratorValue::removeClient): + (WebCore::CSSImageGeneratorValue::getImage): + * css/CSSImageGeneratorValue.h: + * platform/graphics/GeneratedImage.h: + (WebCore::GeneratedImage::GeneratedImage): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::setContent): + * rendering/style/RenderStyle.h: + +2008-08-29 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Adele. + + Fix for <rdar://problem/6093767> + https://bugs.webkit.org/show_bug.cgi?id=20526 + + Don't allow video to render until unsupported track types have been disabled. + + * platform/graphics/win/QTMovieWin.cpp: + (QTMovieWinPrivate::task): + (QTMovieWinPrivate::drawingComplete): + (QTMovieWinPrivate::clearGWorld): + +2008-08-29 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Adele. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=20525 + <rdar://problem/6169301> + + Return the size of the movie data instead of 1000. + + Test: media/progress-event-total.html + + * platform/graphics/win/QTMovieWin.cpp: + (QTMovieWin::dataSize): + +2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Eric Seidel. + + [janitor/qt] Start replacing port specific getters with the generic native getter + To get the native presentation of an image we currently have platform + specific #ifdef's and a generic getter using NativeImagePtr. This patch + extends this to the ImageBuffer and updates the Qt platform to get rid + of the special #ifdefs. + + https://bugs.webkit.org/attachment.cgi?id=22861 + + * platform/graphics/BitmapImage.h: + * platform/graphics/Image.h: + * platform/graphics/qt/ImageQt.cpp: + * platform/graphics/qt/StillImageQt.cpp: + * platform/graphics/qt/StillImageQt.h: + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::createDragImage): + (WebCore::ClipboardQt::declareAndWriteDragImage): + * platform/qt/CursorQt.cpp: + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::writeImage): + +2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Simon. + + [svg/qt] Stop crashing... when no RenderPath/RenderObject is given... + + * svg/graphics/qt/SVGPaintServerQt.cpp: + (WebCore::SVGPaintServer::renderPath): + * svg/graphics/qt/SVGPaintServerSolidQt.cpp: + (WebCore::SVGPaintServerSolid::setup): + +2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Simon. + + [network/qt] Implement defering of loading ResourceHandle's + This is needed otherwise we end in an ASSERT in the MainResourceLoader. The + implementation is simply not forwarding anything to the + ResourceHandleClient until we are allowed to. This might lead to a deadlock + in Qt as we do not empty the QNetworkReply input buffer and wait until we + are allowed to read. If that happens we are forced to buffer the data + within QNetworkReplyHandler, for now this is not done. + + Manual test: + - Open http://acid3.acidtests.org + - Wait for the test to complete + - Click on the Reference Rendering link + - Be fast and see the results of acid3 + => assert + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::setLoadMode): + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::forwardData): + (WebCore::QNetworkReplyHandler::start): + (WebCore::QNetworkReplyHandler::resetState): + (WebCore::QNetworkReplyHandler::sendQueuedItems): + * platform/network/qt/QNetworkReplyHandler.h: + (WebCore::QNetworkReplyHandler::): + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::loadResourceSynchronously): + (WebCore::ResourceHandle::setDefersLoading): + +2008-08-29 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Don't crash when drawing patterns with the HTML canvas. Patterns + remain unimplemented but at least they don't crash anymore. This is + done by changing the PlatformPatternPtr to be a brush for the Qt + platform. + + * platform/graphics/Pattern.h: + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + * platform/graphics/qt/PatternQt.cpp: + (WebCore::Pattern::createPlatformPattern): + +2008-08-29 Simon Hausmann <hausmann@webkit.org> + + Fix the Qt build, fontSelector() is not used by the Qt port yet + and we just return 0 in Font::fontSelector(). + + * platform/graphics/Font.h: + +2008-08-28 Alp Toker <alp@nuanti.com> + + GTK+ dist/build fix. List newly added header files. + + * GNUmakefile.am: + +2008-08-28 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + Various WebKitCSSTransformValue-related fixes + https://bugs.webkit.org/show_bug.cgi?id=20562 + + Test: css3/transform-value-types.html + + * bindings/js/JSCSSValueCustom.cpp: + (WebCore::toJS): + * css/CSSValue.h: + * css/WebKitCSSTransformValue.cpp: + (WebCore::WebKitCSSTransformValue::cssText): + * css/WebKitCSSTransformValue.h: + (WebCore::WebKitCSSTransformValue::): + * css/WebKitCSSTransformValue.idl: + +2008-08-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Steve Falkenburg. + + - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred + + * platform/win/SharedTimerWin.cpp: + (WebCore::TimerWindowWndProc): + +2008-08-28 David Hyatt <hyatt@apple.com> + + RenderStyle cleanup. + + Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files. + + Reviewed by Adam + + * css/CSSImageGeneratorValue.cpp: + * css/CSSImageValue.cpp: + * css/CSSStyleSelector.cpp: + * rendering/RenderImageGeneratedContent.cpp: + * rendering/style/NinePieceImage.cpp: Added. + * rendering/style/NinePieceImage.h: Added. + * rendering/style/RenderStyle.cpp: + (WebCore::FillLayer::operator==): + (WebCore::FillLayer::containsImage): + (WebCore::StyleInheritedData::operator==): + (WebCore::RenderStyle::contentDataEquivalent): + * rendering/style/RenderStyle.h: + * rendering/style/StyleCachedImage.cpp: Added. + * rendering/style/StyleCachedImage.h: Added. + * rendering/style/StyleGeneratedImage.cpp: Added. + * rendering/style/StyleGeneratedImage.h: Added. + * rendering/style/StyleImage.h: Added. + +2008-08-28 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + Make all the 'isFoo()' methods on CSSValue const, + and fix the subclasses. + + https://bugs.webkit.org/show_bug.cgi?id=20561 + + * css/CSSTimingFunctionValue.h: + * css/CSSValue.h: + (WebCore::CSSValue::isFontValue): + (WebCore::CSSValue::isImageGeneratorValue): + (WebCore::CSSValue::isImageValue): + (WebCore::CSSValue::isImplicitInitialValue): + * css/CSSValueList.h: + * css/FontValue.h: + +2008-08-28 David Hyatt <hyatt@apple.com> + + The great RenderStyle cleanup begins! + + Move LengthBox and LengthSize out of RenderStyle and into Length. + + Reviewed by Adam + + * rendering/Length.h: + (WebCore::): + (WebCore::Length::Length): + (WebCore::Length::operator==): + (WebCore::Length::operator!=): + (WebCore::Length::value): + (WebCore::Length::rawValue): + (WebCore::Length::percent): + (WebCore::Length::type): + (WebCore::Length::quirk): + (WebCore::Length::setValue): + (WebCore::Length::setRawValue): + (WebCore::Length::calcValue): + (WebCore::Length::calcMinValue): + (WebCore::Length::calcFloatValue): + (WebCore::Length::isUndefined): + (WebCore::Length::isZero): + (WebCore::Length::isPositive): + (WebCore::Length::isNegative): + (WebCore::Length::isAuto): + (WebCore::Length::isRelative): + (WebCore::Length::isPercent): + (WebCore::Length::isFixed): + (WebCore::Length::isStatic): + (WebCore::Length::isIntrinsicOrAuto): + (WebCore::Length::blend): + (WebCore::LengthBox::LengthBox): + (WebCore::LengthBox::operator=): + (WebCore::LengthBox::operator==): + (WebCore::LengthBox::operator!=): + (WebCore::LengthBox::nonZero): + (WebCore::LengthSize::LengthSize): + * rendering/style/RenderStyle.h: + +2008-08-28 David Hyatt <hyatt@apple.com> + + Reviewed by Darin + + https://bugs.webkit.org/show_bug.cgi?id=18091 + + font-size should be animatable using -webkit-transition. + + * page/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::ensurePropertyMap): + * rendering/style/RenderStyle.h: + (WebCore::RenderStyle::setFontSize): + +2008-08-28 Brad Garcia <bgarcia@google.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=20549 + Correctly determine when cursor is over a resizable border within + a nested frameset. + + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::canResizeRow): + (WebCore::RenderFrameSet::canResizeColumn): + +2008-08-28 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Eric Seidel + + Add RuleTypes to CSSRule.idl for keyframes and keyframe rules. + https://bugs.webkit.org/show_bug.cgi?id=20552 + + Test: animations/animation-css-rule-types.html + + * css/CSSRule.idl: + +2008-08-28 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin and Darin. + + <rdar://problem/6182541> + https://bugs.webkit.org/show_bug.cgi?id=20202 + Missing http status line from the http headers. + + Add a status line to the header string. + + * plugins/PluginStream.cpp: + (WebCore::PluginStream::startStream): + +2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org> + + Rubber-stamped by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=17261 + + Make it possible to theme the default Url icon and enable this for + the Qt port. To have a minimal usage of #ifdef in the code the setting + of the icon was moved to a new method which comes in two flavors. + + * loader/icon/IconDatabase.cpp: + (WebCore::loadDefaultIconRecord): Load or set the default icon + (WebCore::IconDatabase::defaultIcon): + +2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org> + + Unreviewed compile fix + + * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions + +2008-08-28 Adam Roben <aroben@apple.com> + + Windows (and others?) build fix + + * page/Chrome.cpp: Added a missing #include. + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo. + +2008-08-27 Eric Seidel <eric@webkit.org> + + Reviewed by Oliver Hunt. + + Qt and Cairo support from krit (and blind stab @ wx compile support) + https://bugs.webkit.org/show_bug.cgi?id=20373 + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::drawPath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformFillColor): + (WebCore::GraphicsContext::setPlatformStrokeColor): + (WebCore::GraphicsContext::setPlatformStrokeStyle): + (WebCore::GraphicsContext::strokeRect): + (WebCore::GraphicsContext::setImageInterpolationQuality): + (WebCore::GraphicsContext::imageInterpolationQuality): + (WebCore::GraphicsContext::setPlatformFillPattern): + (WebCore::GraphicsContext::setPlatformStrokePattern): + (WebCore::GraphicsContext::setPlatformFillGradient): + (WebCore::GraphicsContext::setPlatformStrokeGradient): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::strokeRect): + (WebCore::GraphicsContext::clipToImageBuffer): + (WebCore::GraphicsContext::setPlatformFillPattern): + (WebCore::GraphicsContext::setPlatformStrokePattern): + (WebCore::GraphicsContext::setPlatformFillGradient): + (WebCore::GraphicsContext::setPlatformStrokeGradient): + (WebCore::GraphicsContext::setImageInterpolationQuality): + (WebCore::GraphicsContext::imageInterpolationQuality): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::clipToImageBuffer): + (WebCore::GraphicsContext::setImageInterpolationQuality): + (WebCore::GraphicsContext::imageInterpolationQuality): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::drawPath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformFillPattern): + (WebCore::GraphicsContext::setPlatformStrokePattern): + (WebCore::GraphicsContext::setPlatformFillGradient): + +2008-08-27 Eric Seidel <eric@webkit.org> + + Reviewed by Oliver Hunt. + + Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it. + https://bugs.webkit.org/show_bug.cgi?id=20373 + + Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient() + + Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't + have to store large Gradient objects in the GraphicsContextState + + Made Pattern RefCounted for the same reason. + + Many updates to GraphicsContext to support easier drawing with + Patterns and Gradients. + + * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h + * bindings/js/JSCanvasRenderingContext2DCustom.cpp: + (WebCore::toJS): + * css/CSSGradientValue.cpp: + (WebCore::CSSGradientValue::createGradient): + * css/CSSGradientValue.h: + * html/CanvasGradient.cpp: + (WebCore::CanvasGradient::CanvasGradient): + * html/CanvasGradient.h: + (WebCore::CanvasGradient::gradient): + (WebCore::CanvasGradient::addColorStop): + (WebCore::CanvasGradient::getColor): + * html/CanvasPattern.cpp: + * html/CanvasPattern.h: + (WebCore::CanvasPattern::pattern): + (WebCore::CanvasPattern::originClean): + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::State::State): + (WebCore::CanvasRenderingContext2D::setStrokeStyle): + (WebCore::CanvasRenderingContext2D::setFillStyle): + (WebCore::CanvasRenderingContext2D::fill): + (WebCore::CanvasRenderingContext2D::stroke): + (WebCore::CanvasRenderingContext2D::fillRect): + (WebCore::CanvasRenderingContext2D::strokeRect): + * html/CanvasRenderingContext2D.h: + * html/CanvasStyle.cpp: + (WebCore::CanvasStyle::applyStrokeColor): + (WebCore::CanvasStyle::applyFillColor): + * html/CanvasStyle.h: + * platform/graphics/GeneratedImage.h: + (WebCore::GeneratedImage::GeneratedImage): + * platform/graphics/Generator.h: + * platform/graphics/Gradient.h: + (WebCore::Gradient::create): + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::fillRule): + (WebCore::GraphicsContext::setFillRule): + (WebCore::GraphicsContext::setStrokePattern): + (WebCore::GraphicsContext::setFillPattern): + (WebCore::GraphicsContext::setStrokeGradient): + (WebCore::GraphicsContext::setFillGradient): + * platform/graphics/GraphicsContext.h: + * platform/graphics/GraphicsContextPrivate.h: + (WebCore::): + (WebCore::GraphicsContextState::GraphicsContextState): + * platform/graphics/GraphicsTypes.h: + * platform/graphics/Path.h: + * platform/graphics/Pattern.h: + (WebCore::Pattern::create): + (WebCore::Pattern::tileImage): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::drawRect): + (WebCore::GraphicsContext::drawEllipse): + (WebCore::GraphicsContext::drawConvexPolygon): + (WebCore::calculateDrawingMode): + (WebCore::GraphicsContext::drawPath): + (WebCore::fillPathWithFillRule): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::setPlatformStrokePattern): + (WebCore::GraphicsContext::setPlatformFillPattern): + (WebCore::GraphicsContext::setPlatformStrokeGradient): + (WebCore::GraphicsContext::setPlatformFillGradient): + +2008-08-20 Eric Seidel <eric@webkit.org> + + Reviewed by Darin and Alexey. + + Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed + with timeouts paused. + https://bugs.webkit.org/show_bug.cgi?id=20469 + + I attempted to clean up the memory management of PausedTimeouts, I'm not + sure the solution I came up with is "cleaner", but it's in some ways + "safer", since it no longer uses raw pointers and manual new/delete. + + This also now prevents CachedPage from needlessly creating Window + objects when caching pages which didn't already have one. :) + + I also made Chrome.cpp no longer depend on the JavaScript bindings + (aka JSDOMWindowBase.h), since there was no real reason for it to. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::pauseTimeouts): + (WebCore::JSDOMWindowBase::resumeTimeouts): + * bindings/js/JSDOMWindowBase.h: + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::pauseTimeouts): + (WebCore::ScriptController::resumeTimeouts): + * bindings/js/ScriptController.h: + * history/CachedPage.cpp: + (WebCore::CachedPage::CachedPage): + (WebCore::CachedPage::restore): + * page/Chrome.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + * page/JavaScriptDebugServer.cpp: + (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): + (WebCore::JavaScriptDebugServer::setJavaScriptPaused): + +2008-08-27 Holger Hans Peter Freyther <zecke@selfish.org> + + Unreviewed compile fix + + Add the stub for the Qt port. + + * WebCore.pro: + * page/qt/AccessibilityObjectQt.cpp: Added. + (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): + +2008-08-27 Alp Toker <alp@nuanti.com> + + Reviewed by Eric. + + https://bugs.webkit.org/show_bug.cgi?id=20551 + [GTK] search popup crash + + * platform/gtk/SearchPopupMenuGtk.cpp: + (WebCore::SearchPopupMenu::enabled): + Fix a search popup crasher by disabling the history popup since we + don't support this feature yet in the GTK+ port. + +2008-08-27 Alp Toker <alp@nuanti.com> + + Reviewed by Eric. + + https://bugs.webkit.org/show_bug.cgi?id=20551 + [GTK] curl crashers + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::startScheduledJobs): + Remove the resource handle from the pending list before starting the + job, not afterwards. Fixes crashers in the test suite. + + Test: fast/dom/clientWidthAfterDocumentIsRemoved.html + Test: fast/encoding/char-encoding.html + +2008-08-27 Dirk Schulze <vbs85@gmx.de> + + Reviewed by eseidel. + + Fix canvas drawImage to support composite operations. + Composite had no effect on canvas elements like these: + http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html + + [CAIRO] Canvas composite don't work on canvas-elements. + https://bugs.webkit.org/show_bug.cgi?id=20548 + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call + +2008-08-27 Mario Bensi <mbensi@pleyo.com> + + Reviewed by Eric Seidel. + + Fix the data content of an image with a base64. + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::parseDataUrl): Remove the String and use only the data + Vector because the data.latin1().data() convert the data content and + the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is + not drawn correctly. + +2008-08-27 Antti Koivisto <antti@apple.com> + + Reviewed by Eric Seidel. + + Crash after OK in dialog box and reloading page in secure mode + https://bugs.webkit.org/show_bug.cgi?id=20493 + + The new run loop spawned by a modal dialog causes a timer in the loader to run + synchronously inside didFinishLoading() deleting "this" object. + + Defer all WebCore timers when a modal dialog is up. They are not + safe to execute. + + * page/Chrome.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): + +2008-08-27 Chris Marrin <cmarrin@apple.com> + + Reviewed by Dave Hyatt + + Memory leaks when animating transforms + https://bugs.webkit.org/show_bug.cgi?id=20532 + + * rendering/style/RenderStyle.cpp: + (WebCore::ScaleTransformOperation::blend): + (WebCore::RotateTransformOperation::blend): + (WebCore::SkewTransformOperation::blend): + (WebCore::TranslateTransformOperation::blend): + (WebCore::MatrixTransformOperation::blend): + * rendering/style/RenderStyle.h: + +2008-08-27 Timothy Hatcher <timothy@apple.com> + + Add support for support for -webkit-appearance: default-button on the Mac platform. + + <rdar://problem/6173530> + + Reviewed by Dave Hyatt. + + * WebCore.base.exp: Export new symbols. + * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation. + * platform/mac/WebCoreSystemInterface.mm: Ditto. + * rendering/RenderButton.cpp: + (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN). + (WebCore::RenderButton::setStyle): Ditto. + * rendering/RenderButton.h: Ditto. + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance. + (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return + key if the button is default, otherwise reset the key equivalent. + (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell: + on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore + the window's previous default button cell when finished. + +2008-08-26 David Hyatt <hyatt@apple.com> + + First cut at making form controls on OS X respect full page zoom. There are lots of bugs. + + Reviewed by weinig + + Added fast/forms/zoomed-controls.html + + * css/CSSStyleSelector.cpp: + (WebCore::addIntrinsicMargins): + * rendering/RenderSlider.cpp: + (WebCore::RenderSlider::calcPrefWidths): + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::adjustRepaintRect): + (WebCore::RenderThemeMac::inflateRect): + (WebCore::RenderThemeMac::baselinePosition): + (WebCore::RenderThemeMac::setControlSize): + (WebCore::RenderThemeMac::sizeForFont): + (WebCore::RenderThemeMac::sizeForSystemFont): + (WebCore::RenderThemeMac::setFontFromControlSize): + (WebCore::RenderThemeMac::paintCheckbox): + (WebCore::RenderThemeMac::setCheckboxCellState): + (WebCore::RenderThemeMac::paintRadio): + (WebCore::RenderThemeMac::setRadioCellState): + (WebCore::RenderThemeMac::setButtonPaddingFromControlSize): + (WebCore::RenderThemeMac::adjustButtonStyle): + (WebCore::RenderThemeMac::setButtonCellState): + (WebCore::RenderThemeMac::paintButton): + (WebCore::RenderThemeMac::paintMenuList): + (WebCore::RenderThemeMac::paintMenuListButton): + (WebCore::RenderThemeMac::popupInternalPaddingLeft): + (WebCore::RenderThemeMac::popupInternalPaddingRight): + (WebCore::RenderThemeMac::popupInternalPaddingTop): + (WebCore::RenderThemeMac::popupInternalPaddingBottom): + (WebCore::RenderThemeMac::setPopupButtonCellState): + (WebCore::RenderThemeMac::paintSliderTrack): + (WebCore::RenderThemeMac::paintSliderThumb): + (WebCore::RenderThemeMac::adjustSliderThumbSize): + (WebCore::RenderThemeMac::paintSearchField): + (WebCore::RenderThemeMac::adjustSearchFieldStyle): + (WebCore::RenderThemeMac::paintSearchFieldCancelButton): + (WebCore::RenderThemeMac::paintSearchFieldResultsButton): + +2008-08-27 Brady Eidson <beidson@apple.com> + + Reviewed by Anders + + <rdar://problem/6134133> - Crash when loading large movie as a standalone document + + We hand off these loads to Quicktime which manages and spools the data itself, but we also continued + to load and buffer the data for the movie in WebCore. With large media files, this results in blowing + away the virtual address space and a crash. + + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError): + * loader/FrameLoaderClient.h: Added client method to get platform specific error for + "plugin will handle load" + + * loader/MediaDocument.cpp: + (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data, + and cancel the WebCore-managed load + (WebCore::MediaTokenizer::writeRawData): + (WebCore::MediaTokenizer::finish): + +2008-08-26 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Eric Seidel + + Linear timing functions should have control points 0, 0, 1, 1. + https://bugs.webkit.org/show_bug.cgi?id=20535 + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::mapAnimationTimingFunction): + * rendering/style/RenderStyle.h: + +2008-08-27 Adam Roben <aroben@apple.com> + + Windows build fix + + * WebCore.vcproj/WebCore.vcproj: Fix file extension. + +2008-08-26 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown + + Added platform-specific accessibilityIgnoreAttachment, which allows the platform + to determine if an attachment is ignored through accessibility. Added equivalent + methods in Gtk, Win and Mac + + Test: accessibility/plugin.html + + * GNUmakefile.am: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * page/AccessibilityObject.h: + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): + * page/gtk/AccessibilityObjectAtk.cpp: Added. + (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): + * page/mac/AccessibilityObjectMac.mm: Added. + (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): + * page/mac/AccessibilityObjectWrapper.h: + * page/win/AccessibilityObjectWin.cpp: Added. + (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): + +2008-08-26 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText + + * page/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]): + (-[AccessibilityObjectWrapper accessibilityShowContextMenu]): + +2008-08-26 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns + + Tests: accessibility/table-notbody.html + + * page/AccessibilityTable.cpp: + (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): + +2008-08-26 Sam Weinig <sam@webkit.org> + + Reviewed by Beth Dakin. + + Fix typo. + + * dom/DOMCoreException.h: + +2008-08-26 Sam Weinig <sam@webkit.org> + + Reviewed by Oliver Hunt. + + Fix https://bugs.webkit.org/show_bug.cgi?id=20479 + <rdar://problem/6167660> + Take image redirects into account when tainting the canvas. + + Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawImage): + (WebCore::CanvasRenderingContext2D::drawImageFromRect): + +2008-08-26 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Change canvas tainting logic to ask the image if it contains + any resources outside of its own origin. Since there is no + way to determine if SVG images contain any resources outside its + origin, we always assume it does. + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawImage): + (WebCore::CanvasRenderingContext2D::drawImageFromRect): + * platform/graphics/BitmapImage.h: + (WebCore::BitmapImage::hasSingleSecurityOrigin): + * platform/graphics/GeneratedImage.h: + (WebCore::GeneratedImage::hasSingleSecurityOrigin): + * platform/graphics/Image.h: + (WebCore::Image::hasSingleSecurityOrigin): + * platform/graphics/cg/PDFDocumentImage.h: + (WebCore::PDFDocumentImage::hasSingleSecurityOrigin): + * svg/graphics/SVGImage.h: + +2008-08-26 Maxime Britto <britto@apple.com> + + Reviewed by Adele. + + <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com) + 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. + 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. + + * page/EventHandler.cpp: + (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning + * page/EventHandler.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta + (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. + * rendering/RenderLayer.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled + (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method + (WebCore::RenderObject::panScroll): No need to check for the layer anymore too. + +2008-08-25 Julien Chaffraix <jchaffraix@webkit.org> + + Reviewed by Darin Adler. + + Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it + https://bugs.webkit.org/show_bug.cgi?id=20247 + + <rdar://problem/6118218> + + Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive + check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute + (case insensitive for HTML elements). + + Test: fast/dom/Element/getAttribute-check-case-sensitivity.html + + * dom/Element.cpp: + (WebCore::Element::getAttribute): + * dom/NamedAttrMap.cpp: + (WebCore::NamedAttrMap::getNamedItem): + (WebCore::NamedAttrMap::getAttributeItem): + * dom/NamedAttrMap.h: + +2008-08-25 Sam Weinig <sam@webkit.org> + + Reviewed by Oliver Hunt. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=20514 + <rdar://problem/6174096> + Treat SVG images as dirty when drawing to a canvas. + + Test: http/tests/security/canvas-remote-read-svg-image.html + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawImage): + (WebCore::CanvasRenderingContext2D::drawImageFromRect): + * platform/graphics/Image.h: + (WebCore::Image::isSVGImage): + * svg/graphics/SVGImage.h: + (WebCore::SVGImage::isSVGImage): + +2008-08-25 Sam Weinig <sam@webkit.org> + + Reviewed by Mark Rowe. + + Fix https://bugs.webkit.org/show_bug.cgi?id=20377 + Leak in XMLHttpRequest. + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): + +2008-08-25 Brady Eidson <beidson@apple.com> + + Reviewed by Anders + + Speculative fix for <rdar://problem/6173217> + + Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code. + Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering + the first null check invalid. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopAllLoaders): + + +2008-08-25 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim. + + <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if + there is no profile, can cause crash + + * page/inspector/ProfilesPanel.js: + +2008-08-25 Dean Jackson <dino@apple.com> + + Reviewed by Dave Hyatt + + Make sure 'inherit' is handled by transition property. + https://bugs.webkit.org/show_bug.cgi?id=20513 + + Test: transitions/inherit.html + Test: transitions/inherit-other-props.html + + * css/CSSStyleSelector.cpp: + fix macro to check existence of list before getting size + +2008-08-25 Anders Carlsson <andersca@apple.com> + + Reviewed by Mark. + + <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37. + + Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume + (safely) that any class that needs finalization on the main thread will also need to be deallocated + on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of + calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer. + + * platform/mac/WebCoreObjCExtras.c: + (WebCoreObjCFinalizeOnMainThread): + +2008-08-25 Antti Koivisto <antti@apple.com> + + Reviewed by Dan Bernstein. + + Rename CachedResource::referenced() to CachedResource::hasClients() to + match previous ref() -> addClient() rename. + + * loader/Cache.cpp: + (WebCore::Cache::pruneLiveResources): + (WebCore::Cache::pruneDeadResources): + (WebCore::Cache::remove): + (WebCore::Cache::getStatistics): + (WebCore::Cache::dumpLRULists): + * loader/CachedResource.cpp: + (WebCore::CachedResource::addClient): + (WebCore::CachedResource::removeClient): + (WebCore::CachedResource::setDecodedSize): + (WebCore::CachedResource::setEncodedSize): + * loader/CachedResource.h: + (WebCore::CachedResource::hasClients): + (WebCore::CachedResource::canDelete): + +2008-08-25 Anthony Ricaud <rik24d@gmail.com> + + Add a missing Inspector localized string for "other". + + https://bugs.webkit.org/show_bug.cgi?id=20509 + + Reviewed by Tim Hatcher. + + * English.lproj/localizedStrings.js: + +2008-08-22 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Geoff, Mark and Tim. + + <rdar://problem/6150623> JSProfiler: It would be nice if the profiles + in the console said what file and line number they came from + - Lay the foundation for getting line numbers and other data from the + JavaScript engine. + + * ForwardingHeaders/VM: Added. + * ForwardingHeaders/VM/Machine.h: Added. + * page/Console.cpp: Gather the line number and file information when + profileEnd has been called, but don't use it until didFinishProfiling is + called. We won't need to wait once we remove the profiler "zombie" mode + which this patch helps pave the foundation for. + (WebCore::Console::Console): + (WebCore::Console::profileEnd): + (WebCore::Console::finishedProfiling): + * page/Console.h: + * page/InspectorController.cpp: Modify calls to + addProfileMessageToConsole to satisfy the new arguments it takes. + (WebCore::InspectorController::finishedProfiling): + (WebCore::InspectorController::addProfile): + (WebCore::InspectorController::addProfileMessageToConsole): + (WebCore::InspectorController::finishedProfiling): + * page/InspectorController.h: + +2008-08-25 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Simon. + + [inspector] Update the WebKit.qrc Qt resources file + Catchup with the changes in the directory. + + * page/inspector/WebKit.qrc: + +2008-08-25 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Simon. + + Transformed the radian to degree, to get rotate() + in canvas work as expected. + + [Qt] Canvas.rotate() doesn't work + https://bugs.webkit.org/show_bug.cgi?id=20496 + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::rotate): + +2008-08-24 Steve Falkenburg <sfalken@apple.com> + + Add a "last chance" WM_TIMER to the Windows shared timer. + + The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers. + Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule + timers if a timer with an earlier expiration is already pending. This results in no timers + firing from that point on. + + We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a + buggy window message hook. + + This timer will start when the first WM_TIMER is scheduled, and will + fire every 5 seconds thereafter, causing any lost timers to be fired. + + Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling + and prevents the WebFrame leak. + + Reviewed by Darin Adler, Geoff Garen. + + * platform/win/SharedTimerWin.cpp: + (WebCore::): + (WebCore::TimerWindowWndProc): + (WebCore::setSharedTimerFireTime): + +2008-08-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold + + Test: fast/css/font-property-priority.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag + to the font-property-parsing functions. + (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and + changed to use it rather than the m_important member. + (WebCore::CSSParser::parseFontVariant): Ditto. + (WebCore::CSSParser::parseFontWeight): Ditto. + * css/CSSParser.h: + +2008-08-24 Timothy Hatcher <timothy@apple.com> + + Fixes a bug where the Inspector's UI would not animate or + fully function because JavaScript timeouts, intervals and + CSS animation timers where not firing while paused at a + a breakpoint in the inspected page. + + https://bugs.webkit.org/show_bug.cgi?id=20042 + + Reviewed by Darin Adler. + + Test: manual-tests/inspector/forzen-ui-while-paused.html + + * page/JavaScriptDebugServer.cpp: + (WebCore::JavaScriptDebugServer::pauseIfNeeded): + Add a call to TimerBase::fireTimersInNestedEventLoop before + spinning the EventLoop. + +2008-08-24 Rob Buis <buis@kde.org> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=20324 + A change in SVG Glyph wont show up + + Invalidate the glyph cache when the d attribute is set. + + Test: svg/custom/glyph-setting-d-attribute.svg + + * svg/SVGGlyphElement.cpp: + (WebCore::SVGGlyphElement::invalidateGlyphCache): + (WebCore::SVGGlyphElement::parseMappedAttribute): + (WebCore::SVGGlyphElement::insertedIntoDocument): + (WebCore::SVGGlyphElement::removedFromDocument): + * svg/SVGGlyphElement.h: + +2008-08-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - fix https://bugs.webkit.org/show_bug.cgi?id=13864 + <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths() + + * rendering/RenderText.cpp: + (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to + beginWS and endWS before the early return to ensure that they are + initialized in that case. + +2008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca> + + Rubber-stamped by Mark Rowe. + + Remove modelines. + + * WebCore.pro: + * bridge/testbindings.cpp: + * dom/DocPtr.h: + * loader/SubstituteData.h: + * page/Chrome.cpp: + * page/Chrome.h: + * page/ChromeClient.h: + * page/Frame.h: + * page/FrameLoadRequest.h: + * page/FrameTree.cpp: + * page/FrameTree.h: + * page/Page.h: + * page/mac/ChromeMac.mm: + * platform/network/HTTPHeaderMap.h: + * platform/network/ResourceErrorBase.cpp: + * platform/network/ResourceErrorBase.h: + * platform/network/ResourceHandleInternal.h: + * platform/network/ResourceRequestBase.cpp: + * platform/network/ResourceRequestBase.h: + * platform/network/ResourceResponseBase.cpp: + * platform/network/ResourceResponseBase.h: + * platform/network/cf/ResourceError.h: + * platform/network/cf/ResourceRequest.h: + * platform/network/cf/ResourceRequestCFNet.h: + * platform/network/cf/ResourceResponse.h: + * platform/network/cf/ResourceResponseCFNet.h: + * platform/network/curl/ResourceError.h: + * platform/network/curl/ResourceRequest.h: + * platform/network/curl/ResourceResponse.h: + * platform/network/mac/ResourceError.h: + * platform/network/mac/ResourceErrorMac.mm: + * platform/network/mac/ResourceRequest.h: + * platform/network/mac/ResourceRequestMac.mm: + * platform/network/mac/ResourceResponse.h: + * platform/network/mac/ResourceResponseMac.mm: + * platform/network/qt/ResourceError.h: + * platform/network/qt/ResourceRequest.h: + * platform/network/qt/ResourceResponse.h: + * platform/network/soup/CookieJarSoup.cpp: + * platform/network/soup/ResourceError.h: + * platform/network/soup/ResourceRequest.h: + * platform/network/soup/ResourceResponse.h: + +2008-08-23 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline + + Test: fast/table/vertical-align-baseline.html + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the + baseline of the first table row, if there is one, -1 otherwise. + * rendering/RenderTable.h: + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::baselinePosition): Changed to follow the + CSS2.1 definition of the baseline of a table cell. + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns + the baseline of the first row in the section. + * rendering/RenderTableSection.h: + +2008-08-18 Jon Honeycutt <jhoneycutt@apple.com> + + Add SPI to make a Windows WebView transparent. + + Reviewed by Dan Bernstein. + + * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that + determines whether the created context has an alpha channel. + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::CGContextWithHDC): + +2008-08-22 Timothy Hatcher <timothy@apple.com> + + Rolls out r35834 because it caused a regression in the Inspector's + Console where some expressions always threw a syntax error. + + https://bugs.webkit.org/show_bug.cgi?id=20487 + + * page/inspector/Console.js: + (Console.prototype._evalInInspectedWindow): Removes parenthesis + around the expression. + +2008-08-22 Timothy Hatcher <timothy@apple.com> + + Makes getStyleProperty return a value for the overflow property + when overflow-x and overflow-y are equal. + + https://bugs.webkit.org/show_bug.cgi?id=20485 + + Reviewed by Dan Bernstein. + + Test: fast/css/overflow-property.html + + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::getPropertyValue): + +2008-08-22 Timothy Hatcher <timothy@apple.com> + + Fixes a bug where while editing in the Inspector the + sidebar scroll position would jump to the top. + + https://bugs.webkit.org/show_bug.cgi?id=20484 + + Reviewed by Darin Adler. + + * page/inspector/treeoutline.js: + (TreeOutline._removeChildren): Remove the offsetTop call that + was forcing a layout, since layout causes scroll positions + to be clamped to the new scrollHeight/Width. Layout will happen + normally when needed. + +2008-08-22 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix. Add AccessibilityTable sources. + + * WebCoreSources.bkl: + +2008-08-21 Dan Bernstein <mitz@apple.com> + + Reviewed by Jon Honeycutt and Alexey Proskuryakov. + + - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics + + Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html + + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported + ascent and 100% to its reported descent. + +2008-08-21 Kalle Vahlman <kalle.vahlman@movial.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=20267 + [GTK] Crash on some pages due to a plugin + + Fix handling of badly formatted and empty plugin mime descriptions + + * plugins/gtk/PluginPackageGtk.cpp: + (WebCore::PluginPackage::fetchInfo): + +2008-08-21 Kevin Watters <kevinwatters@gmail.com> + + Reviewed by Darin Adler. + + Follow other ports (and IE) in ImageSourceWx.cpp never to return an + animated GIF frame duration of less than 50ms. + + * platform/graphics/wx/ImageSourceWx.cpp: + (WebCore::ImageSource::frameDurationAtIndex): + +2008-08-21 Maxime Britto <britto@apple.com> + + Reviewed by Kevin McCullough. + + Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html + https://bugs.webkit.org/show_bug.cgi?id=20451 + + rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451) + When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe. + This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't. + + * page/EventHandler.cpp: + (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. + + (WebCore::EventHandler::handleMousePressEvent): ditto + +2008-08-21 Anthony Ricaud <rik24d@gmail.com> + + Small optimization for when the dividers in the Inspector's + Resources panel are updated. + + Reviewed by Tim Hatcher. + + * page/inspector/ResourcesPanel.js: + (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): + Combind a for loop and clone the divider element. + +2008-08-21 Chris Marrin <cmarrin@apple.com> + + Allow 0 (without units) for Time eg. duration + Fix for https://bugs.webkit.org/show_bug.cgi?id=20467 + + Reviewed by Dave Hyatt. + + Test: css1/units/zero-duration-without-units.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::validUnit): + +2008-08-21 Timothy Hatcher <timothy@apple.com> + + Make deleting all text while editing a DOM attribute in + the Inspector delete the attribute. This also fixes + an exception that would happen before. + + https://bugs.webkit.org/show_bug.cgi?id=20472 + + Reviewed by Kevin McCullough. + + * page/inspector/ElementsPanel.js: + (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted): + Don't check for hasAttributes on the parseElement, continuing + through the function will correctly remove the attribute. + If the parseElement is null, call _editingCancelled not + editingCancelled, this fixes an exception. + +2008-08-21 Timothy Hatcher <timothy@apple.com> + + Update the Inspector's Metrics pane when editing in + the Styles pane. This makes sure the metrics shown + always match what the Styles pane shows. + + https://bugs.webkit.org/show_bug.cgi?id=20470 + + Reviewed by Kevin McCullough. + + * page/inspector/ElementsPanel.js: + (WebInspector.ElementsPanel): Add event listeners for + the "style edited" and "style property toggled" events, + so the Metrics pane is updated. + (WebInspector.ElementsPanel.prototype._stylesPaneEdited): + Update the Metrics pane. + * page/inspector/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled): + Dispatch the "style property toggled" event. + (WebInspector.StylePropertyTreeElement.prototype.editingCancelled): + Dispatch the "style edited" event when the CSS text is restored. + (WebInspector.StylePropertyTreeElement.prototype.applyStyleText): + Dispatch the "style edited" event. + +2008-08-21 Timothy Hatcher <timothy@apple.com> + + Make the Inspector's Metrics sidebar pane editable. + + https://bugs.webkit.org/show_bug.cgi?id=17218 + rdar://problem/5732818 + + Reviewed by Kevin McCullough. + + * page/inspector/ElementsPanel.js: + (WebInspector.ElementsPanel): Add an event listener for + the "metrics edited" event, so the Styles pane is updated. + * page/inspector/MetricsSidebarPane.js: + (WebInspector.MetricsSidebarPane.prototype.update): Remember the node + so future updates work. Add a double click event listener for the + metric values to start editing. + (WebInspector.MetricsSidebarPane.prototype.startEditing): + Call WebInspector.startEditing with some context. + (WebInspector.MetricsSidebarPane.prototype.editingCancelled): + (WebInspector.MetricsSidebarPane.prototype.editingCommitted): + Set the user input on the elements inline style. Fire the + "metrics edited" event. + +2008-08-21 Steve Falkenburg <sfalken@apple.com> + + Fix a race condition in Windows timer code. + Timer function could end up being called with a 0 timer, leading to a Windows exception. + + Don't post a timer message if one is already pending. + + Reviewed by Ada Chan. + + * platform/win/SharedTimerWin.cpp: + (WebCore::TimerWindowWndProc): + (WebCore::clearTimer): + (WebCore::queueTimerProc): + (WebCore::setSharedTimerFireTime): + +2008-08-21 Anthony Ricaud <rik24d@gmail.com> + + After trying to add the expression, try again with quotes for + easier edition. + + https://bugs.webkit.org/show_bug.cgi?id=20466 + + Reviewed by Tim Hatcher. + + * page/inspector/ObjectPropertiesSection.js: Added an + evaluateExpression function. + +2008-08-21 Anthony Ricaud <rik24d@gmail.com> + + Perform Inspector searches on search event to clear results when + clicking the cross to empty it. Delete the lastQuery when the field + is emptied in order to perform the search if exactly the same query + is entered next. + + https://bugs.webkit.org/show_bug.cgi?id=20462 + + Reviewed by Tim Hatcher. + + * page/inspector/inspector.js: + +2008-08-21 Marco Barisione <marco.barisione@collabora.co.uk> + + Reviewed by Mark Rowe. + + http://bugs.webkit.org/show_bug.cgi?id=19656 + [SOUP] The gio code should call didFail() instead of + didFinishLoading() in case of error + + In case of error call didFail() instead of didReceiveResponse() and + didFinishLoading(). + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::networkErrorForFile): + (WebCore::readCallback): + (WebCore::openCallback): + (WebCore::queryInfoCallback): + +2008-08-20 Mark Rowe <mrowe@apple.com> + + Reviewed by Jon Honeycutt. + + Fix build failure. + + * bridge/c/c_instance.cpp: + (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned + as that is what NPEnumerationFunctionPtr is declared as accepting. + +2008-08-20 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + Build fix. Handle kCGInterpolationMedium in switch statements if it is available. + + * platform/graphics/GraphicsContext.h: + (WebCore::): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setImageInterpolationQuality): + (WebCore::GraphicsContext::imageInterpolationQuality): + +2008-08-20 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by John Sullivan. + + - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and + rename related methods and variables accordingly. + + * WebCore.base.exp: + * page/FrameView.cpp: + (WebCore::FrameViewPrivate::FrameViewPrivate): + (WebCore::FrameView::shouldUpdateWhileOffscreen): + (WebCore::FrameView::setShouldUpdateWhileOffscreen): + * page/FrameView.h: + * platform/ScrollView.h: + * platform/mac/ScrollViewMac.mm: + (WebCore::ScrollView::updateContents): + +2008-08-20 Brady Eidson <beidson@apple.com> + + Reviewed by Mitzpettel + + <rdar://problem/6163636> - Many images broken in Mail + + This can be traced back to the preload scanner. With that change, CachedResources are created a lot + sooner than before and confuse the WebArchive machinery. + + When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore + such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate + machinery and nothing is known about where the data will eventually come from. + + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is + CachedResource::PreloadReferenced. + +2008-08-20 Holger Hans Peter Freyther <zecke@selfish.org> + + Unreviewed compile fix + + Catch up with the JSValue::type elimination. + + * bridge/qt/qt_instance.cpp: + (KJS::Bindings::QtRuntimeObjectImp::construct): + (KJS::Bindings::QtInstance::defaultValue): + * bridge/qt/qt_runtime.cpp: + (KJS::Bindings::QtRuntimeConnectionMethod::call): + +2008-08-20 Chris Teague <chris.teague@gmail.com> + + Reviewed by Mark Rowe. + + Fix https://bugs.webkit.org/show_bug.cgi?id=20449 + Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined + + * ChangeLog: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): + +2008-08-20 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + getComputedStyle() for webkitTransform should return a transform + that does not have the transform origin baked into it. + https://bugs.webkit.org/show_bug.cgi?id=20464 + + Test: fast/css/getComputedStyle-transform.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::computedTransform): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::applyTransform): + * rendering/style/RenderStyle.h: + +2008-08-20 Josh Aas <joshmoz@gmail.com> + + Reviewed and landed by Anders. + + <rdar://problem/6163636> + rename NPCocoaEvent's "event" struct to "data" (20446) + + * bridge/npapi.h: + (_NPCocoaEvent::): + +2008-08-20 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/6145626> + This patch fixes a number of remaining problems getting + disconnected frames to work correctly with markAllMatchesForText() + and findString(). Details inline. + + This was a static helper function in Frame, but this patch requires + the same functionality in Editor, so I just added it as a function + on Node. + * dom/Node.cpp: + (WebCore::Node::isInShadowTree): + * dom/Node.h: + + * editing/Editor.cpp: + (WebCore::Editor::insideVisibleArea): Returns false if + excludeFromTextSearch() is true. + + In a normal (non-disconnected) frame, findString returns a range of + the document node if the text is not found in the frame. I changed + firstVisibleRange and lastVisibleRange to match that behavior when + the text is not found + (WebCore::Editor::firstVisibleRange): + (WebCore::Editor::lastVisibleRange): + + Here are the bulk of the changes in the patch. A lot of text was + not being found in disconnected frames because I failed to account + for all of the possible problems associated with shadow trees. That + is fixed here. + (WebCore::Editor::nextVisibleRange): + * editing/Editor.h: + + excludeFromTextSearch() is new. It allows a WebKit client to mark a + frame as not-text-searchable through SPI. + * WebCore.base.exp: + * page/Frame.cpp: + (WebCore::Frame::excludeFromTextSearch): + (WebCore::Frame::setExcludeFromTextSearch): + (WebCore::FramePrivate::FramePrivate): + * page/Frame.h: + * page/FramePrivate.h: + + (WebCore::Frame::findString): + (WebCore::Frame::markAllMatchesForText): I kept running into an + assertion failure in paining code because of the forced paint on + empty visible rects. + +2008-08-20 Timothy Hatcher <timothy@apple.com> + + Adds a positon box to the Inspector's Metrics sidebar + pane. When an element is not statically positioned, there + is now a position box that show top, right, bottom and + left computed values. + + Reviewed by Kevin McCullough. + + * English.lproj/localizedStrings.js: Updated the strings. + * page/inspector/MetricsSidebarPane.js: + (WebInspector.MetricsSidebarPane.prototype.update): + Renamed the boxPartValue function to createBoxPartElement + and made it create the entire element. Made it understand + how to get position style properties. Don't use the figure dash + when 0px is used for positions, since the 0 is meaningful there. + Instead use the figure dash when a position is auto. + * page/inspector/inspector.css: Added a new rule for position. + +2008-08-20 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin + + Qt build fix + + * WebCore.pro: + +2008-08-20 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + - avoid using a deprecated NSScroller method on Leopard + + * platform/mac/PlatformScrollBarMac.mm: + (WebCore::PlatformScrollbar::updateThumbPosition): + (WebCore::PlatformScrollbar::updateThumbProportion): + +2008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by Oliver Hunt. + + Gtk build fix + + * GNUmakefile.am: + * page/AccessibilityTable.cpp: Change nil to 0 + (WebCore::AccessibilityTable::cellForColumnAndRow): + +2008-08-19 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Geoff Garen. + + Bring back shared JSGlobalData and implicit locking, because too many clients rely on it. + + * ForwardingHeaders/kjs/JSLock.h: Added. + * WebCore.vcproj/WebCore.vcproj: + * bindings/js/GCController.cpp: + (WebCore::collect): + (WebCore::GCController::gcTimerFired): + (WebCore::GCController::garbageCollectNow): + * bindings/js/JSCustomSQLStatementCallback.cpp: + (WebCore::JSCustomSQLStatementCallback::handleEvent): + * bindings/js/JSCustomSQLStatementErrorCallback.cpp: + (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): + * bindings/js/JSCustomSQLTransactionCallback.cpp: + (WebCore::JSCustomSQLTransactionCallback::handleEvent): + * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: + (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): + * bindings/js/JSCustomVoidCallback.cpp: + (WebCore::JSCustomVoidCallback::handleEvent): + * bindings/js/JSCustomXPathNSResolver.cpp: + (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::DOMWindowTimer::~DOMWindowTimer): + (WebCore::JSDOMWindowBase::clear): + (WebCore::JSDOMWindowBase::timerFired): + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * bindings/js/JSEventListener.cpp: + (WebCore::JSAbstractEventListener::handleEvent): + * bindings/js/JSNSResolver.cpp: + (WebCore::JSNSResolver::lookupNamespaceURI): + * bindings/js/JSNodeFilterCondition.cpp: + (WebCore::JSNodeFilterCondition::acceptNode): + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::execute): + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluate): + (WebCore::ScriptController::clearWindowShell): + (WebCore::ScriptController::createHTMLEventHandler): + (WebCore::ScriptController::createSVGEventHandler): + (WebCore::ScriptController::initScript): + (WebCore::ScriptController::updateDocument): + (WebCore::ScriptController::bindingRootObject): + (WebCore::ScriptController::windowScriptNPObject): + (WebCore::ScriptController::createScriptObjectForPluginElement): + (WebCore::ScriptController::clearScriptObjects): + * bindings/js/ScriptControllerMac.mm: + (WebCore::ScriptController::windowScriptObject): + * bindings/objc/WebScriptObject.mm: + (_didExecute): + (-[WebScriptObject callWebScriptMethod:withArguments:]): + (-[WebScriptObject evaluateWebScript:]): + (-[WebScriptObject setValue:forKey:]): + (-[WebScriptObject valueForKey:]): + (-[WebScriptObject removeWebScriptKey:]): + (-[WebScriptObject stringRepresentation]): + (-[WebScriptObject webScriptValueAtIndex:]): + (-[WebScriptObject setWebScriptValueAtIndex:value:]): + (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): + * bridge/NP_jsobject.cpp: + (_NPN_InvokeDefault): + (_NPN_Invoke): + (_NPN_Evaluate): + (_NPN_GetProperty): + (_NPN_SetProperty): + (_NPN_RemoveProperty): + (_NPN_HasProperty): + (_NPN_HasMethod): + (_NPN_Enumerate): + * bridge/c/c_class.cpp: + (KJS::Bindings::CClass::~CClass): + (KJS::Bindings::CClass::methodsNamed): + (KJS::Bindings::CClass::fieldNamed): + * bridge/c/c_instance.cpp: + (KJS::Bindings::CInstance::invokeMethod): + (KJS::Bindings::CInstance::invokeDefaultMethod): + (KJS::Bindings::CInstance::getPropertyNames): + * bridge/c/c_runtime.cpp: + (KJS::Bindings::CField::valueFromInstance): + (KJS::Bindings::CField::setValueToInstance): + * bridge/c/c_utility.cpp: + (KJS::Bindings::convertValueToNPVariant): + (KJS::Bindings::convertNPVariantToValue): + * bridge/jni/jni_class.cpp: + (JavaClass::JavaClass): + (JavaClass::~JavaClass): + * bridge/jni/jni_instance.cpp: + (JavaInstance::stringValue): + * bridge/jni/jni_jsobject.mm: + (JavaJSObject::call): + (JavaJSObject::eval): + (JavaJSObject::getMember): + (JavaJSObject::setMember): + (JavaJSObject::removeMember): + (JavaJSObject::getSlot): + (JavaJSObject::setSlot): + (JavaJSObject::toString): + (JavaJSObject::convertValueToJObject): + (JavaJSObject::convertJObjectToValue): + * bridge/jni/jni_objc.mm: + (KJS::Bindings::dispatchJNICall): + * bridge/jni/jni_runtime.cpp: + (appendClassName): + (JavaMethod::signature): + * bridge/jni/jni_runtime.h: + (KJS::Bindings::JavaString::JavaString): + (KJS::Bindings::JavaString::_commonInit): + (KJS::Bindings::JavaString::~JavaString): + (KJS::Bindings::JavaString::UTF8String): + * bridge/jni/jni_utility.cpp: + (KJS::Bindings::convertValueToJValue): + * bridge/npruntime.cpp: + (_NPN_GetStringIdentifier): + * bridge/objc/objc_instance.mm: + (ObjcInstance::moveGlobalExceptionToExecState): + (ObjcInstance::invokeMethod): + (ObjcInstance::invokeDefaultMethod): + (ObjcInstance::setValueOfUndefinedField): + (ObjcInstance::getValueOfUndefinedField): + * bridge/objc/objc_runtime.mm: + (ObjcField::valueFromInstance): + (ObjcField::setValueToInstance): + * bridge/objc/objc_utility.mm: + (KJS::Bindings::convertValueToObjcValue): + (KJS::Bindings::convertNSStringToString): + (KJS::Bindings::convertObjcValueToValue): + * bridge/qt/qt_instance.cpp: + (KJS::Bindings::QtRuntimeObjectImp::removeFromCache): + (KJS::Bindings::QtInstance::~QtInstance): + (KJS::Bindings::QtInstance::getQtInstance): + (KJS::Bindings::QtInstance::getRuntimeObject): + * bridge/qt/qt_runtime.cpp: + (KJS::Bindings::convertValueToQVariant): + (KJS::Bindings::convertQVariantToValue): + (KJS::Bindings::QtRuntimeMetaMethod::call): + (KJS::Bindings::QtRuntimeConnectionMethod::call): + (KJS::Bindings::QtConnectionObject::QtConnectionObject): + (KJS::Bindings::QtConnectionObject::execute): + * bridge/runtime.cpp: + (KJS::Bindings::Instance::createRuntimeObject): + * bridge/testbindings.cpp: + (main): + * bridge/testbindings.mm: + (main): + * bridge/testqtbindings.cpp: + (main): + * dom/Document.cpp: + (WebCore::Document::~Document): + * dom/Node.cpp: + (WebCore::Node::setDocument): + * history/CachedPage.cpp: + (WebCore::CachedPage::CachedPage): + (WebCore::CachedPage::restore): + (WebCore::CachedPage::clear): + * loader/FrameLoader.cpp: + (WebCore::getString): + * page/InspectorController.cpp: + (WebCore::ConsoleMessage::ConsoleMessage): + (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): + (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): + (WebCore::getResourceDocumentNode): + (WebCore::search): + (WebCore::inspectedWindow): + (WebCore::wrapCallback): + (WebCore::currentCallFrame): + (WebCore::profiles): + (WebCore::InspectorController::focusNode): + (WebCore::InspectorController::inspectedWindowScriptObjectCleared): + (WebCore::InspectorController::addDatabaseScriptResource): + (WebCore::InspectorController::addScriptProfile): + * page/JavaScriptCallFrame.cpp: + (WebCore::JavaScriptCallFrame::evaluate): + * page/JavaScriptProfileNode.cpp: + (WebCore::getTotalTime): + (WebCore::getSelfTime): + (WebCore::getTotalPercent): + (WebCore::getSelfPercent): + (WebCore::getNumberOfCalls): + (WebCore::getChildren): + (WebCore::getVisible): + * page/Page.cpp: + * page/mac/FrameMac.mm: + * plugins/PluginView.cpp: + (WebCore::PluginView::start): + (WebCore::getString): + (WebCore::PluginView::performRequest): + (WebCore::PluginView::bindingInstance): + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::paint): + (WebCore::PluginView::handleKeyboardEvent): + (WebCore::PluginView::handleMouseEvent): + (WebCore::PluginView::setNPWindowRect): + (WebCore::PluginView::stop): + (WebCore::PluginView::init): + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::setNPWindowRect): + (WebCore::PluginView::stop): + (WebCore::PluginView::init): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::dispatchNPEvent): + (WebCore::PluginView::handleKeyboardEvent): + (WebCore::PluginView::handleMouseEvent): + (WebCore::PluginView::setNPWindowRect): + (WebCore::PluginView::stop): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::clearResponse): + (WebCore::XMLHttpRequest::didFinishLoading): + (WebCore::XMLHttpRequest::didReceiveData): + +2008-08-19 Eric Seidel <eric@webkit.org> + + Reviewed by Geoff Garen. + + Add the beginnings of Skia graphics support to WebCore + as I try to begin the long process of un-forking the changes + needed to WebCore to make Andriod's WebCore build. + + I'll follow this up with actual *Skia.cpp files in a separate patch. + + * platform/graphics/AffineTransform.h: + * platform/graphics/FloatPoint.h: + * platform/graphics/FloatRect.h: + * platform/graphics/Gradient.h: + * platform/graphics/GraphicsContext.h: + * platform/graphics/Image.h: + * platform/graphics/ImageBuffer.h: + * platform/graphics/ImageSource.h: + * platform/graphics/IntPoint.h: + * platform/graphics/IntRect.h: + * platform/graphics/Path.h: + * platform/graphics/Pattern.h: + * svg/graphics/SVGPaintServerPattern.h: + * svg/graphics/SVGPaintServerSolid.h: + +2008-08-19 Steve Falkenburg <sfalken@apple.com> + + Fix Windows build more. + + * WebCore.vcproj/WebCore.vcproj: + +2008-08-19 Steve Falkenburg <sfalken@apple.com> + + Fix Windows build. + + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::canSetFocusAttribute): + +2008-08-19 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + <rdar://problem/4003764> Expose tables as AXTables + + Tests: accessibility/table-attributes.html + accessibility/table-cell-spans.html + accessibility/table-cells.html + accessibility/table-detection.html + accessibility/table-sections.html + accessibility/table-with-rules.html + + * WebCore.xcodeproj/project.pbxproj: + * page/AXObjectCache.cpp: + (WebCore::AXObjectCache::get): + * page/AccessibilityObject.h: + (WebCore::): + (WebCore::AccessibilityObject::isDataTable): + (WebCore::AccessibilityObject::isTableRow): + (WebCore::AccessibilityObject::isTableColumn): + (WebCore::AccessibilityObject::isTableCell): + * page/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::canSetFocusAttribute): + * page/AccessibilityTable.cpp: Added. + (WebCore::AccessibilityTable::AccessibilityTable): + (WebCore::AccessibilityTable::~AccessibilityTable): + (WebCore::AccessibilityTable::create): + (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): + (WebCore::AccessibilityTable::clearChildren): + (WebCore::AccessibilityTable::addChildren): + (WebCore::AccessibilityTable::headerContainer): + (WebCore::AccessibilityTable::columns): + (WebCore::AccessibilityTable::rows): + (WebCore::AccessibilityTable::rowHeaders): + (WebCore::AccessibilityTable::columnHeaders): + (WebCore::AccessibilityTable::cells): + (WebCore::AccessibilityTable::columnCount): + (WebCore::AccessibilityTable::rowCount): + (WebCore::AccessibilityTable::cellForColumnAndRow): + (WebCore::AccessibilityTable::roleValue): + (WebCore::AccessibilityTable::accessibilityIsIgnored): + (WebCore::AccessibilityTable::title): + (WebCore::AccessibilityTable::isDataTable): + * page/AccessibilityTable.h: Added. + * page/AccessibilityTableCell.cpp: Added. + (WebCore::AccessibilityTableCell::AccessibilityTableCell): + (WebCore::AccessibilityTableCell::~AccessibilityTableCell): + (WebCore::AccessibilityTableCell::create): + (WebCore::AccessibilityTableCell::accessibilityIsIgnored): + (WebCore::AccessibilityTableCell::rowIndexRange): + (WebCore::AccessibilityTableCell::columnIndexRange): + * page/AccessibilityTableCell.h: Added. + (WebCore::AccessibilityTableCell::isTableCell): + (WebCore::AccessibilityTableCell::roleValue): + * page/AccessibilityTableColumn.cpp: Added. + (WebCore::AccessibilityTableColumn::AccessibilityTableColumn): + (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn): + (WebCore::AccessibilityTableColumn::create): + (WebCore::AccessibilityTableColumn::setParentTable): + (WebCore::AccessibilityTableColumn::elementRect): + (WebCore::AccessibilityTableColumn::size): + (WebCore::AccessibilityTableColumn::children): + (WebCore::AccessibilityTableColumn::headerObject): + (WebCore::AccessibilityTableColumn::headerObjectForSection): + (WebCore::AccessibilityTableColumn::addChildren): + * page/AccessibilityTableColumn.h: Added. + (WebCore::AccessibilityTableColumn::parentObject): + (WebCore::AccessibilityTableColumn::roleValue): + (WebCore::AccessibilityTableColumn::accessibilityIsIgnored): + (WebCore::AccessibilityTableColumn::isTableColumn): + (WebCore::AccessibilityTableColumn::setColumnIndex): + (WebCore::AccessibilityTableColumn::columnIndex): + * page/AccessibilityTableHeaderContainer.cpp: Added. + (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer): + (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer): + (WebCore::AccessibilityTableHeaderContainer::create): + (WebCore::AccessibilityTableHeaderContainer::children): + (WebCore::AccessibilityTableHeaderContainer::elementRect): + (WebCore::AccessibilityTableHeaderContainer::size): + (WebCore::AccessibilityTableHeaderContainer::addChildren): + * page/AccessibilityTableHeaderContainer.h: Added. + (WebCore::AccessibilityTableHeaderContainer::roleValue): + (WebCore::AccessibilityTableHeaderContainer::setParentTable): + (WebCore::AccessibilityTableHeaderContainer::parentObject): + (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored): + * page/AccessibilityTableRow.cpp: Added. + (WebCore::AccessibilityTableRow::AccessibilityTableRow): + (WebCore::AccessibilityTableRow::~AccessibilityTableRow): + (WebCore::AccessibilityTableRow::create): + (WebCore::AccessibilityTableRow::accessibilityIsIgnored): + (WebCore::AccessibilityTableRow::headerObject): + * page/AccessibilityTableRow.h: Added. + (WebCore::AccessibilityTableRow::isTableRow): + (WebCore::AccessibilityTableRow::roleValue): + (WebCore::AccessibilityTableRow::setRowIndex): + (WebCore::AccessibilityTableRow::rowIndex): + * page/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeNames]): + (RoleEntry::): + (-[AccessibilityObjectWrapper roleDescription]): + (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): + (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): + (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): + +2008-08-19 Steve Falkenburg <sfalken@apple.com> + + Build fix. + Add buildfailed support to stop builds early (preventing inaccurate error messages). + Add missing post-build rule to Release. + + * WebCore.vcproj/QTMovieWin.vcproj: + +2008-08-19 Keishi Hattori <casey.hattori@gmail.com> + + Added support for console.count in the inspector. + + Reviewed by Geoff Garen. + + * page/Console.cpp: + (WebCore::Console::count): + * page/Console.h: + * page/Console.idl: Added console.count. + * page/InspectorController.cpp: + (WebCore::InspectorController::didCommitLoad): Clears m_counts. + (WebCore::InspectorController::count): Updates the count number + sing "title@source:line" as the identifier, and adds a + message to the console. + * page/InspectorController.h: Added m_counts. + +2008-08-19 Keishi Hattori <casey.hattori@gmail.com> + + Clear console.time timers when changing page. + + Reviewed by Geoff Garen. + + * page/InspectorController.cpp: + (WebCore::InspectorController::didCommitLoad): + +2008-08-19 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Adele. + + Fix for <rdar://problem/6154695> Full-page movies flicker while playing + https://bugs.webkit.org/show_bug.cgi?id=20404 + + Ignore setVisible() when visibility doesn't change. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): + (WebCore::MediaPlayerPrivate::setVisible): + +2008-08-19 Timothy Hatcher <timothy@apple.com> + + Fixes a bug in the Profile view where switching sort order, then + switching from heavy to tree mode would show the tree in the + previous sort order. + + https://bugs.webkit.org/show_bug.cgi?id=20441 + + Reviewed by Kevin McCullough. + + * page/inspector/ProfileView.js: + (WebInspector.ProfileView.prototype._changeView): Call _sortProfile + on the next profile before assigning it to this.profile. + (WebInspector.ProfileView.prototype._sortData): Call _sortProfile. + (WebInspector.ProfileView.prototype._sortProfile): Moves from + _sortData and takes a profile argument. If the profile passed in + matches the this.profile, then call refresh. + +2008-08-18 Timothy Hatcher <timothy@apple.com> + + Changed the default sort order now that heavy view is the default. + Also fixes a bug where the heavy profile was not sorted at first. + + https://bugs.webkit.org/show_bug.cgi?id=20440 + + Reviewed by Kevin McCullough. + + * page/inspector/ProfileView.js: + (WebInspector.ProfileView): Changed the default sort column. Also assign + heavyProfile to profile, so the sortSelfTimeDescending call happens + on the heavy profile before assigning to this.profile. + +2008-08-18 Timothy Hatcher <timothy@apple.com> + + Add support for editing DOM properties and scope variables by double + clicking a property to enter edit mode. + + https://bugs.webkit.org/show_bug.cgi?id=20415 + + Reviewed by Kevin McCullough. + + * page/inspector/ObjectPropertiesSection.js: + (WebInspector.ObjectPropertiesSection): Set editable to true by default. + (WebInspector.ObjectPropertiesSection.prototype.onpopulate): + Factored out code into update, and calls update. + (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate. + Call removeChildren since this method can be called multiple times now. + (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title + gets made later in onattach. + (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early + if shouldRefreshChildren is true. Call removeChildren since this method can be + called multiple times now. + (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing. + (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update. + (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for + this element (code moved from the constructor.) + (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all + sibling property elements. + (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call + WebInspector.startEditing after rememebring some context. + (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft + for the list element, since it might have scrolled during editing. + (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded + then restore the state from the context. Then call update to restore the title. + (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled + if the user input and the previous input are the same. Call editingEnded, then call applyExpression + to commit the user input. + (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression + and stores the result on the object for the property name of this element. If the expression is + empty, delete the property and remove the tree element. + * page/inspector/ScopeChainSidebarPane.js: + (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused + property on each ObjectPropertiesSection. + (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach + since it is now implemented. + * page/inspector/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument + that defaults to true if omitted. It specifies whether to call update on the scope chain. + * page/inspector/inspector.css: New styles. + * page/inspector/treeoutline.js: + (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren + change. The nextSibling would exist but have a _listItemNode that didn't match the new parent. + +2008-08-18 Timothy Hatcher <timothy@apple.com> + + Surround the expression to be evaluated in parenthesis so the + result of the eval is the result of the whole expression not + the last potential sub-expression. So evaluating {x: 123} + will show the Object not 123. + + https://bugs.webkit.org/show_bug.cgi?id=20428 + + Reviewed by Kevin McCullough. + + * page/inspector/Console.js: + (Console.prototype._evalInInspectedWindow): Add parenthesis + around the expression. And add couple comments. + +2008-08-19 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Geoff. + + -Implement a page() function to extract a common code pattern. + + * WebCore.xcodeproj/project.pbxproj: + * page/Console.cpp: + (WebCore::Console::addMessage): + (WebCore::Console::error): + (WebCore::Console::info): + (WebCore::Console::log): + (WebCore::Console::dir): + (WebCore::Console::assertCondition): + (WebCore::Console::time): + (WebCore::Console::timeEnd): + (WebCore::Console::group): + (WebCore::Console::groupEnd): + (WebCore::Console::finishedProfiling): + (WebCore::Console::warn): + (WebCore::Console::framePage): + * page/Console.h: + +2008-08-12 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - eliminate JSValue::type() + + * bridge/c/c_instance.cpp: + (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType + argument instead of JSType argument. Removed unneeded code to handle + boolean, since that's never passed. + * bridge/c/c_instance.h: Ditto. + + * bridge/c/c_utility.cpp: + (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions + instead of JSValue::type(). Removed unneeded code to handle + "unspecified". + + * bridge/jni/jni_instance.cpp: + (JavaInstance::defaultValue): Take PreferredPrimitiveType argument + instead of JSType argument. Removed unneeded code to handle boolean. + * bridge/jni/jni_instance.h: Ditto. + + * bridge/jni/jni_jsobject.mm: + (JavaJSObject::convertValueToJObject): Use JSValue::is functions + instead of JSValue::type(). + + * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument + instead of JSType argument. Removed unused argument. + * bridge/objc/objc_instance.mm: + (ObjcInstance::getValueOfUndefinedField): Removed unused argument. + (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument + instead of JSType argument. Removed unneeded code to handle boolean + and another dead code path for unknown types. + + * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument + instead of JSType argument. Removed override of type() that caused + the fallback object to return "UndefinedType" when there is no + invokeUndefinedMethodFromWebScript:withArguments: method defined. + That didn't accomplish much, since most checks for undefined don't + ever call type(). + * bridge/objc/objc_runtime.mm: + (ObjcFallbackObjectImp::defaultValue): Ditto. + + * bridge/qt/qt_instance.cpp: + (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType + argument instead of JSType argument. Removed unneeded code to handle + boolean. + * bridge/qt/qt_instance.h: Ditto. + + * bridge/runtime.h: + (KJS::Bindings::Instance::getValueOfUndefinedField): Removed + unsed argument. + * bridge/runtime_object.cpp: + (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType + argument instead of JSType argument. + * bridge/runtime_object.h: Ditto. + +2008-08-18 Maxime Britto <britto@apple.com> + + Reviewed by Adele. + + <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window + Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning). + We shouldn't be able to create another window while we are in pan scrolling. + Other browsers behaviors : + FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode + IE7 : Keys are not disabled but stops immediately the panning. + This patch matches FF3 behavior by disabling every key but the esc key. + + * page/EventHandler.cpp: + (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped. + (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early. + +2008-08-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received + + Test: fast/replaced/max-width-percent.html + + Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth(). + When false, max-width is not factored into the + calculation. + Changed RenderReplaced and subclasses' calcPrefWidths() to call + calcReplacedWidth(false) and then apply max-width only if it has a + fixed, positive value. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calcReplacedWidth): + * rendering/RenderBox.h: + * rendering/RenderImage.cpp: + (WebCore::RenderImage::calcReplacedWidth): + (WebCore::RenderImage::calcPrefWidths): + * rendering/RenderImage.h: + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::calcPrefWidths): + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::calcPrefWidths): + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::calcReplacedWidth): + (WebCore::RenderVideo::calcPrefWidths): + * rendering/RenderVideo.h: + +2008-08-18 Daniel Macks <dmacks@netspace.org> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=20410 + More portable/self-documenting replacement for SIZE_MAX. + + * platform/network/curl/FormDataStreamCurl.cpp: + (WebCore::FormDataStream::read): + +2008-08-18 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + Need to make sure we have an Animation in the AnimationList + before setting the initial value. + https://bugs.webkit.org/show_bug.cgi?id=20408 + + Test: fast/css/transition_shorthand_parsing.html + + * css/CSSStyleSelector.cpp: + +2008-08-18 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim. + + <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there + is another profile. + + * page/inspector/ProfilesPanel.js: + +2008-08-18 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Geoff. + + <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears + all console messages + + * page/inspector/Console.js: + +2008-08-18 Dirk Schulze <vbs85@gmx.de> + + Reviewed by Eric Seidel. + + Fixed Canvas for Cairo. Stroke and fill colors didn't work after + the canvas clean up. + + https://bugs.webkit.org/show_bug.cgi?id=20405 + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::fill): + (WebCore::CanvasRenderingContext2D::stroke): + (WebCore::CanvasRenderingContext2D::fillRect): + +2008-08-17 Timothy Hatcher <timothy@apple.com> + + Complete in scope variables in the Console when paused. + + https://bugs.webkit.org/show_bug.cgi?id=19115 + + Reviewed by Geoffrey Garen. + + * page/inspector/Console.js: + (WebInspector.Console.prototype.completions): If the expressionString + is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame + to get an object that declares all the in scope variables. That way + "top level" expressions are completed. + * page/inspector/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame): + Return an object that has all the variables that are in scope for the + selected call frame. The value of each property is just true. + The return object is useful for quick lookups or auto completion. + +2008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca> + + Not reviewed. + + Speculative Qt build fix. + + * bridge/qt/qt_runtime.cpp: + (KJS::Bindings::convertValueToQVariant): + (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod): + +2008-08-17 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Cameron Zwarich. + + Updated project files to XCode 3.1. + + * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: + +2008-08-17 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Cameron Zwarich. + + Made room for a free word in JSCell. + + Changed JSDOMWindowBase to store its auxiliary data in a subclass of + JSGlobalData, so the two could share a pointer. + + Added a bunch of ASSERTs, to help catch over-sized objects. + +2008-08-15 Mark Rowe <mrowe@apple.com> + + Reviewed by Dan Bernstein. + + Disable dead code stripping in debug builds. + + * Configurations/Base.xcconfig: + * WebCore.xcodeproj/project.pbxproj: + +2008-08-15 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Geoff Garen. + + <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework + + * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared + between the Debug configuration and debug Production variant. + * WebCore.xcodeproj/project.pbxproj: Enable the debug variant. + +2008-08-15 Antti Koivisto <antti@apple.com> + + Reviewed by Anders. + + Don't start preloading body resources before the head is complete. This prevents + body preloads from slowing down initial display when there is limited amount + of bandwidth available. + + Works by queuing up found body preloads to DocLoader and only issuing them + after document has rendering. + + With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s + without affecting complete load time. + + * html/PreloadScanner.cpp: + (WebCore::PreloadScanner::PreloadScanner): + (WebCore::PreloadScanner::scanningBody): + (WebCore::PreloadScanner::emitTag): + (WebCore::PreloadScanner::emitCSSRule): + * html/PreloadScanner.h: + * loader/DocLoader.cpp: + (WebCore::DocLoader::preload): + (WebCore::DocLoader::checkForPendingPreloads): + (WebCore::DocLoader::requestPreload): + * loader/DocLoader.h: + * loader/loader.cpp: + (WebCore::Loader::Host::didFinishLoading): + (WebCore::Loader::Host::didFail): + +2008-08-15 Ada Chan <adachan@apple.com> + + Use item's computed style if the render style is 0 before falling back to the <select>'s style. + This way style set on an <hr> within a <select> will be honored. + + Reviewed by Dave Hyatt and Dan Bernstein. + + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::itemStyle): + +2008-08-15 Antti Koivisto <antti@apple.com> + + Reviewed by Oliver. + + Some loader performance tweaks: + - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets. + Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue + to not delay rendering. + - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup + can take long time when latency is high so it is good to get started early. + - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the + load queues. Issue remaining loads to the network layer. + + * loader/loader.cpp: + (WebCore::Loader::determinePriority): + (WebCore::Loader::load): + (WebCore::Loader::Host::servePendingRequests): + * loader/loader.h: + +2008-08-15 Timothy Hatcher <timothy@apple.com> + + Detach the script debugger when the Web Inspector's window closes. + This has always been the intended design, but never fully implemented. + + https://bugs.webkit.org/show_bug.cgi?id=20402 + + Reviewed by Adam Roben. + + * page/InspectorController.cpp: + (WebCore::InspectorController::setWindowVisible): Call stopDebugging() + if the window is no longer visible. + +2008-08-15 Håvard Wall <hwall@trolltech.com> + + Reviewed by Simon. + + Fixes: compile with QT_NO_CONTEXTMENU + + * platform/qt/PlatformMouseEventQt.cpp: + (WebCore::PlatformMouseEvent::PlatformMouseEvent): + * platform/qt/PlatformScrollBarQt.cpp: + (WebCore::PlatformScrollbar::handleMouseMoveEvent): + (WebCore::PlatformScrollbar::handleContextMenuEvent): + +2008-08-15 Håvard Wall <hwall@trolltech.com> + + Reviewed by Simon. + + Fixes: compile with QT_NO_WHEELEVENT + + * platform/qt/WheelEventQt.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + +2008-08-15 Keishi Hattori <casey.hattori@gmail.com> + + Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector + + https://bugs.webkit.org/show_bug.cgi?id=20210 + + Reviewed by Tim Hatcher. + + * page/Console.cpp: + (WebCore::Console::group): + (WebCore::Console::groupEnd): + * page/Console.h: + (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel. + * page/InspectorController.cpp: + (WebCore::InspectorController::startGroup): Increments group level by + one and adds console message with StartGroupMessaageLevel. + (WebCore::InspectorController::endGroup): Decrements group level by one + and adds console message with EndGroupMessaageLevel. + * page/InspectorController.h: + * page/inspector/Console.js: + (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup + if the message is StartGroupMessaageLevel. + (WebInspector.ConsoleMessage.prototype.toMessageElement): + (WebInspector.ConsoleGroup.prototype.addMessage): + * page/inspector/inspector.js: + +2008-08-15 Keishi Hattori <casey.hattori@gmail.com> + + Adds support for console.dir to the Inspector + + https://bugs.webkit.org/show_bug.cgi?id=19155 + + Reviewed by Tim Hatcher. + + * bindings/js/JSConsoleCustom.cpp: + (WebCore::JSConsole::dir): + * page/Console.cpp: + (WebCore::Console::dir): + * page/Console.h: Added ObjectMessageLevel. + * page/Console.idl: Added console.dir. + * page/inspector/Console.js: + (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an + ObjectPropertiesSection if the MessageLevel is Object. + * page/inspector/ObjectPropertiesSection.js: "in" operator can't be + used on primitive data types. + * page/inspector/inspector.css: + +2008-08-15 Keishi Hattori <casey.hattori@gmail.com> + + Adds support for clear() in the Inspector console. + + https://bugs.webkit.org/show_bug.cgi?id=19873 + + Reviewed by Tim Hatcher. + + * page/inspector/Console.js: + +2008-08-15 Anthony Ricaud <rik24d@gmail.com> + + Cmd-F on Mac or Ctrl-F on other platforms now focus the search field. + + Platform distinction and modifier key matching adjusted + by Daniel Jalkut <jalkut@red-sweater.com> + + Bug 16313: text search (find) keybindings should work in the Web Inspector + https://bugs.webkit.org/show_bug.cgi?id=16313 + + Reviewed by Tim Hatcher. + + * page/inspector/inspector.js: Added a case for the F key + +2008-08-15 Keishi Hattori <casey.hattori@gmail.com> + + Fix for error when the string doesn't contain a webkit-profile link. + + https://bugs.webkit.org/show_bug.cgi?id=20399 + + Reviewed by Tim Hatcher. + + * page/inspector/inspector.js: + +2008-08-15 Timothy Hatcher <timothy@apple.com> + + Fixes two bugs where JavaScript could be executed from the page + while the debugger is paused. + + The first issue was JSLazyEventListener not checking the paused + state before parsing the code. + + The second issue was with the PageGroup version of + JavaScriptDebugServer::setJavaScriptPaused always passing false + to the Page version of JavaScriptDebugServer::setJavaScriptPaused, + and not the paused argument. + + https://bugs.webkit.org/show_bug.cgi?id=20284 + + Reviewed by Adam Roben. + + * bindings/js/JSEventListener.cpp: + (WebCore::JSLazyEventListener::parseCode): Check the paused + state of the ScriptController. Return early if paused. + * manual-tests/inspector/debugger-execution-while-paused.html: Added. + * page/JavaScriptDebugServer.cpp: + (WebCore::JavaScriptDebugServer::setJavaScriptPaused): + Pass the paused argument to the Page version of setJavaScriptPaused. + +2008-08-15 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Geoff Garen. + + JSStringRef is created context-free, but can get linked to one via an identifier table, + breaking an implicit API contract. + + * page/InspectorController.cpp: + (WebCore::jsStringRef): + (WebCore::InspectorController::didParseSource): + (WebCore::InspectorController::failedToParseSource): + * page/JavaScriptProfile.cpp: + (WebCore::getTitleCallback): + Updated for JavaScriptCore changes. + +2008-08-14 Kevin Ollivier <kevino@theolliviers.com> + + wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with + an alternative that performs reasonably well. (GDI+ is too slow in many cases.) + + * platform/graphics/AffineTransform.h: + +2008-08-14 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Adele. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=20388 + <video> elements on Windows never becomes visible when a page is restored from the cache + + Always pass "set" calls down to MediaPlayerPrivate instead of only when the + value is different from the cached value. Let the implementation decide when + to avoid work because nothing has changed. + + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::setVolume): + (WebCore::MediaPlayer::setRate): + (WebCore::MediaPlayer::setRect): + (WebCore::MediaPlayer::setVisible): + +2008-08-14 Keishi Hattori <casey.hattori@gmail.com> + + Make Firebug command line API respect predefined variables. + + https://bugs.webkit.org/show_bug.cgi?id=20385 + + Reviewed by Tim Hatcher. + + * page/inspector/Console.js: + +2008-08-14 Sam Weinig <sam@webkit.org> + + Reviewed by Geoffrey Garen and Timothy Hatcher. + + Allow programatically setting the HTMLTokenizers time delay and chunk size + which are used for determining how aggressively we yield. + + * WebCore.base.exp: + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::begin): + (WebCore::HTMLTokenizer::continueProcessing): + * html/HTMLTokenizer.h: + * page/Page.cpp: + (WebCore::Page::Page): + (WebCore::Page::setCustomHTMLTokenizerTimeDelay): + (WebCore::Page::setCustomHTMLTokenizerChunkSize): + * page/Page.h: + (WebCore::Page::hasCustomHTMLTokenizerTimeDelay): + (WebCore::Page::customHTMLTokenizerTimeDelay): + (WebCore::Page::hasCustomHTMLTokenizerChunkSize): + (WebCore::Page::customHTMLTokenizerChunkSize): + +2008-08-14 Eric Seidel <eric@webkit.org> + + Reviewed by Beth. + + Move us one step closer to cross-platform svg/graphics code + + * WebCore.xcodeproj/project.pbxproj: + * html/CanvasStyle.cpp: + * platform/graphics/Color.cpp: + (WebCore::colorWithOverrideAlpha): + * platform/graphics/Color.h: + * svg/graphics/cg/CgSupport.cpp: + (WebCore::applyStrokeStyleToContext): + (WebCore::strokeBoundingBox): + * svg/graphics/cg/SVGPaintServerSolidCg.cpp: + (WebCore::SVGPaintServerSolid::setup): + +2008-08-14 Eric Seidel <eric@webkit.org> + + Reviewed by Alexey. + + Remove un-need includes from HTMLCanvas and use the + Gradient platform abstraction in one place in CanvasStyle + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::fillRect): + * html/CanvasStyle.cpp: + * html/HTMLCanvasElement.cpp: + +2008-08-14 Eric Seidel <eric@webkit.org> + + Reviewed by Alexey. + + Clean up GlyphBuffer.h, removing more #ifdefs + + * platform/graphics/GlyphBuffer.h: + (WebCore::GlyphBuffer::glyphAt): + (WebCore::GlyphBuffer::advanceAt): + (WebCore::GlyphBuffer::add): + +2008-08-14 Eric Seidel <eric@webkit.org> + + Reviewed by Sam. + + Clean up AffineTransform.h, removing #ifdefs + + * platform/graphics/AffineTransform.h: + * platform/graphics/cairo/AffineTransformCairo.cpp: + * platform/graphics/cg/AffineTransformCG.cpp: + * platform/graphics/qt/AffineTransformQt.cpp: + * platform/graphics/wx/AffineTransformWx.cpp: + +2008-08-14 Dan Bernstein <mitz@apple.com> + + - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size(). + + * platform/graphics/cairo/ImageSourceCairo.cpp: + (WebCore::ImageSource::frameSizeAtIndex): + * platform/graphics/qt/ImageSourceQt.cpp: + (WebCore::ImageSource::frameSizeAtIndex): + * platform/graphics/wx/ImageSourceWx.cpp: + (WebCore::ImageSource::frameSizeAtIndex): + +2008-08-14 Dan Bernstein <mitz@apple.com> + + Reviewed by Brady Eidson. + + - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::BitmapImage): Added initialization of + m_hasUniformFrameSize. + (WebCore::BitmapImage::cacheFrame): Added code to get the size of the + cached frame for use in decoded size computation and for setting + m_hasUniformFrameSize. + (WebCore::BitmapImage::currentFrameSize): Added. + (WebCore::BitmapImage::dataChanged): Added code to reset + m_hasUniformFrameSize. + * platform/graphics/BitmapImage.h: Added currentFrameSize() and + m_hasUniformFrameSize. + * platform/graphics/ImageSource.h: Added frameSizeAtIndex(). + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This + fixes the bug, which resulted from assuming that the frame being drawn + was the same size as the first frame. + * platform/graphics/cg/ImageSourceCG.cpp: + (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and + changed to get the size of the frame at the given index. + (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0). + +2008-08-13 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Eric Seidel + + Fix @font-face inside @media rule crash. + https://bugs.webkit.org/show_bug.cgi?id=20367 + + Test: fast/css/font-face-in-media-rule.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSRuleSet::addRulesFromSheet): + +2008-08-14 Kevin Ollivier <kevino@theolliviers.com> + + wx build fixes after recent changes to Canvas and Image classes. + + * platform/graphics/Pattern.h: + * platform/graphics/wx/GradientWx.cpp: + (WebCore::Gradient::fill): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::applyFillPattern): + (WebCore::GraphicsContext::applyStrokePattern): + * platform/graphics/wx/ImageBufferWx.cpp: + (WebCore::ImageBuffer::image): + * platform/graphics/wx/ImageWx.cpp: + (WebCore::Image::loadPlatformResource): + +2008-08-14 Maxime Britto <britto@apple.com> + + Reviewed by Sam Weinig. + + rdar://6102511 + When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored + IE and FF are both preventing the keyboard event to interact with the page while scrolling. + Some differences exist between them concerning the kind of key which is pressed : + IE7 : every key leads to a stop of the panning + FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive. + For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too. + + * page/EventHandler.cpp: + (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event. + +2008-08-14 Christian Dywan <christian@twotoasts.de> + + Gtk+/ Cairo build fix, patch by Dirk Schulze. + + * html/CanvasStyle.cpp: + * platform/graphics/cairo/PatternCairo.cpp: + (WebCore::Pattern::createPlatformPattern): + * svg/graphics/cairo/SVGResourceMaskerCairo.cpp: + +2008-08-14 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim. + + <rdar://problem/6115819> Notify of profile in console + + * page/InspectorController.cpp: + (WebCore::InspectorController::addProfile): + (WebCore::InspectorController::addProfileMessageToConsole): Called by + addProfile this is the function that adds a message to the console that + a profile finished. + * page/InspectorController.h: + * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match + the console log to the profile in the web inspector. + (WebCore::getUniqueIdCallback): + (WebCore::ProfileClass): + * page/inspector/ProfilesPanel.js: Created a map of all the profiles by + Id to bring up the requested profile. Also select and reveal the + profile in the profile panel. And created displayTitleForProfileLink() + which formats a title taking into account if it's user initiated or if + there are multiples. Lasty, I put the user initiated profile in a + variable. + * page/inspector/inspector.js: Make the profile title be a clickable + link that will take the user to the identified profile. Also expose + the count of user initiated profiles so they can be displayed in the + console with the correct count. + +2008-08-14 Timothy Hatcher <timothy@apple.com> + + Avoid formating ConsoleMessages twice unless the message will be + displayed in bubbles of a SourceFrame. + + Reviewed by Kevin McCullough. + + * page/inspector/Console.js: + (WebInspector.ConsoleMessage): Only format the plain text message + if the URL and line are valid and the level is error or warning. + (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added. + Helper to test for error or warning level. + * page/inspector/SourceFrame.js: + (WebInspector.SourceFrame.prototype.addMessage): Don't add the + message if there is no message or valid line or if the msg + isn't an error or warning. + +2008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org> + + partial Gtk build fix, not reviewed + + * platform/graphics/cairo/PatternCairo.cpp: + +2008-08-13 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Fix style issue. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::pickMedia): + +2008-08-13 Nikolas Zimmermann <zimmermann@kde.org> + + Build fix for Cairo, not reviewed. (exposed by gtk build slave) + Continue Erics build fixes, after the Image cleanup. + + * platform/graphics/cairo/ImageBufferCairo.cpp: + (WebCore::ImageBuffer::image): + +2008-08-13 Nikolas Zimmermann <zimmermann@kde.org> + + Build fix for Qt, not reviewed. + Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM. + + * dom/XMLTokenizer.cpp: + (WebCore::eventuallyMarkAsParserCreated): Was erre + +2008-08-13 Nikolas Zimmermann <zimmermann@kde.org> + + Build fix, not reviewed. + Add ScriptElement.cpp to Gtk build. + + * GNUmakefile.am: + +2008-08-13 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372 + + Refactor HTMLScriptElement's code into a common base class: ScriptElement. + SVGScriptElement will be converted to use ScriptElement in a follow-up patch. + + This resolves code duplications and allows us to completly replace the old + SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..) + + As ScriptElement, doesn't actually inherit from Element, we may want to rename + it, though StyleElement uses the same naming convention, so I left it as is for now. + Eventually we'll rename both files in future. + + No functional changes yet, as SVGScriptElement doesn't yet use the new base class. + + * WebCore.pro: Add new ScriptElement.cpp to build. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * WebCoreSources.bkl: Dutto. + * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement + (WebCore::ScriptElement::insertedIntoDocument): + (WebCore::ScriptElement::removedFromDocument): + (WebCore::ScriptElement::childrenChanged): + (WebCore::ScriptElement::finishParsingChildren): + (WebCore::ScriptElement::handleSourceAttribute): + (WebCore::isSupportedJavaScriptLanguage): + (WebCore::ScriptElementData::ScriptElementData): + (WebCore::ScriptElementData::~ScriptElementData): + (WebCore::ScriptElementData::requestScript): + (WebCore::ScriptElementData::evaluateScript): + (WebCore::ScriptElementData::stopLoadRequest): + (WebCore::ScriptElementData::notifyFinished): + (WebCore::ScriptElementData::ignoresLoadRequest): + (WebCore::ScriptElementData::shouldExecuteAsJavaScript): + (WebCore::ScriptElementData::scriptCharset): + (WebCore::ScriptElementData::scriptContent): + * dom/ScriptElement.h: Added. + (WebCore::ScriptElement::ScriptElement): + (WebCore::ScriptElement::~ScriptElement): + (WebCore::ScriptElementData::element): + (WebCore::ScriptElementData::createdByParser): + (WebCore::ScriptElementData::setCreatedByParser): + * dom/XMLTokenizer.cpp: + (WebCore::isScriptElement): + (WebCore::castToScriptElement): + (WebCore::eventuallyMarkAsParserCreated): + (WebCore::XMLTokenizer::startElementNs): + (WebCore::XMLTokenizer::endElementNs): + (WebCore::createXHTMLParserErrorHeader): + (WebCore::XMLTokenizer::insertErrorMessageBlock): + * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement. + (WebCore::HTMLScriptElement::HTMLScriptElement): + (WebCore::HTMLScriptElement::~HTMLScriptElement): + (WebCore::HTMLScriptElement::isURLAttribute): + (WebCore::HTMLScriptElement::setCreatedByParser): + (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript): + (WebCore::HTMLScriptElement::childrenChanged): + (WebCore::HTMLScriptElement::parseMappedAttribute): + (WebCore::HTMLScriptElement::finishParsingChildren): + (WebCore::HTMLScriptElement::insertedIntoDocument): + (WebCore::HTMLScriptElement::removedFromDocument): + (WebCore::HTMLScriptElement::text): + (WebCore::HTMLScriptElement::setText): + (WebCore::HTMLScriptElement::setHtmlFor): + (WebCore::HTMLScriptElement::setEvent): + (WebCore::HTMLScriptElement::charset): + (WebCore::HTMLScriptElement::src): + (WebCore::HTMLScriptElement::type): + (WebCore::HTMLScriptElement::scriptCharset): + (WebCore::HTMLScriptElement::scriptContent): + (WebCore::HTMLScriptElement::sourceAttributeValue): + (WebCore::HTMLScriptElement::charsetAttributeValue): + (WebCore::HTMLScriptElement::typeAttributeValue): + (WebCore::HTMLScriptElement::languageAttributeValue): + (WebCore::HTMLScriptElement::dispatchLoadEvent): + (WebCore::HTMLScriptElement::dispatchErrorEvent): + * html/HTMLScriptElement.h: + * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet. + * svg/SVGScriptElement.cpp: + (WebCore::SVGScriptElement::SVGScriptElement): + (WebCore::SVGScriptElement::scriptContent): + (WebCore::SVGScriptElement::sourceAttributeValue): + (WebCore::SVGScriptElement::charsetAttributeValue): + (WebCore::SVGScriptElement::typeAttributeValue): + (WebCore::SVGScriptElement::languageAttributeValue): + (WebCore::SVGScriptElement::dispatchLoadEvent): + (WebCore::SVGScriptElement::dispatchErrorEvent): + * svg/SVGScriptElement.h: + (WebCore::SVGScriptElement::setCreatedByParser): + +2008-08-13 Eric Seidel <eric@webkit.org> + + Attempt to fix the Gtk build, no review. + + I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process. + + * platform/graphics/GraphicsContext.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + * platform/graphics/qt/GradientQt.cpp: + * platform/graphics/qt/GraphicsContextQt.cpp: + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::paintMozWidget): + +2008-08-13 Eric Seidel <eric@webkit.org> + + Yet another attempt to fix the Qt build, no review. + + * platform/graphics/qt/GradientQt.cpp: + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::applyStrokePattern): + (WebCore::GraphicsContext::applyFillPattern): + +2008-08-13 Eric Seidel <eric@webkit.org> + + Attempt to fix the Windows build, no review. + + * platform/win/CursorWin.cpp: + (WebCore::loadCursorByName): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::paint): + +2008-08-13 Eric Seidel <eric@webkit.org> + + Attempt to fix the Windows build, no review. + + * platform/win/CursorWin.cpp: + (WebCore::loadCursorByName): + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::paint): + +2008-08-13 Eric Seidel <eric@webkit.org> + + Attempt to fix the Qt build, no review. + + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBuffer::image): + +2008-08-13 Eric Seidel <eric@webkit.org> + + Attempt to fix the Windows build, no review. + + * platform/graphics/win/ImageWin.cpp: + (WebCore::Image::loadPlatformResource): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::paintMissingPluginIcon): + +2008-08-13 Eric Seidel <eric@webkit.org> + + Another attempt to fix the Qt build, no review. + + * platform/graphics/qt/ImageQt.cpp: + * platform/graphics/qt/StillImageQt.h: + +2008-08-13 Eric Seidel <eric@webkit.org> + + No review, build fix only. + + Fix mac build, due to change in new code since my patch was written. + + * svg/graphics/cg/SVGResourceMaskerCg.mm: + (WebCore::SVGResourceMasker::applyMask): + +2008-08-13 Eric Seidel <eric@webkit.org> + + Build fix only, no review. + + Attempt to fix the Qt build. + + * platform/graphics/qt/ImageBufferQt.cpp: + * platform/graphics/qt/StillImageQt.h: + (WebCore::StillImage::create): + (WebCore::StillImage::destroyDecodedData): + (WebCore::StillImage::decodedSize): + +2008-08-13 Eric Seidel <eric@webkit.org> + + Build fix only, no review. + + Attempt to fix the Qt build. + + * html/CanvasStyle.cpp: + (WebCore::CanvasStyle::applyStrokeColor): + (WebCore::CanvasStyle::applyFillColor): + +2008-08-13 Eric Seidel <eric@webkit.org> + + Reviewed by Sam. + + Match HTML5 spec by throwing INVALID_STATE_ERR when + createPattern is called and the HTMLImageElement is not + yet done loading the image (!isComplete) + https://bugs.webkit.org/show_bug.cgi?id=20351 + + Test: http/misc/canvas-pattern-from-incremental-image.html + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::createPattern): + +2008-08-13 Eric Seidel <eric@webkit.org> + + Reviewed by Niko. + + Split out a Pattern class from CanvasPattern + and remove all the Pattern-related #ifdefs + (This will break non-mac platforms! I will fix them.) + https://bugs.webkit.org/show_bug.cgi?id=20351 + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * html/CanvasPattern.cpp: + (WebCore::CanvasPattern::parseRepetitionType): + (WebCore::CanvasPattern::CanvasPattern): + * html/CanvasPattern.h: + (WebCore::CanvasPattern::create): + (WebCore::CanvasPattern::pattern): + (WebCore::CanvasPattern::originClean): + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::createPattern): + (WebCore::CanvasRenderingContext2D::applyStrokePattern): + (WebCore::CanvasRenderingContext2D::applyFillPattern): + * html/CanvasRenderingContext2D.h: + * html/HTMLCanvasElement.cpp: + * html/HTMLCanvasElement.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::createHistoryItem): + * platform/graphics/GraphicsContext.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::applyStrokePattern): + (WebCore::GraphicsContext::applyFillPattern): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::clipToImageBuffer): + (WebCore::GraphicsContext::applyStrokePattern): + (WebCore::GraphicsContext::applyFillPattern): + +2008-08-13 Eric Seidel <eric@webkit.org> + + Reviewed by Niko. + + Make Images RefCounted (and clean up callers) + https://bugs.webkit.org/show_bug.cgi?id=20351 + + * editing/DeleteButtonController.cpp: + (WebCore::DeleteButtonController::createDeletionUI): + * loader/CachedImage.cpp: + (WebCore::CachedImage::CachedImage): + (WebCore::brokenImage): + (WebCore::nullImage): + (WebCore::CachedImage::image): + (WebCore::CachedImage::notifyObservers): + (WebCore::CachedImage::createImage): + * loader/CachedImage.h: + * loader/icon/IconRecord.cpp: + (WebCore::IconRecord::setImageData): + (WebCore::IconRecord::loadImageFromResource): + * loader/icon/IconRecord.h: + * platform/graphics/BitmapImage.h: + (WebCore::BitmapImage::create): + * platform/graphics/GeneratedImage.h: + * platform/graphics/Gradient.cpp: + * platform/graphics/Gradient.h: + * platform/graphics/Image.cpp: + (WebCore::Image::nullImage): + * platform/graphics/Image.h: + * platform/graphics/ImageBuffer.h: + * platform/graphics/cairo/ImageBufferCairo.cpp: + (WebCore::ImageBuffer::image): + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::ImageBuffer::image): + (WebCore::ImageBuffer::getImageData): + (WebCore::ImageBuffer::putImageData): + * platform/graphics/cg/PDFDocumentImage.h: + (WebCore::PDFDocumentImage::create): + (WebCore::PDFDocumentImage::destroyDecodedData): + (WebCore::PDFDocumentImage::decodedSize): + * platform/graphics/gtk/ImageGtk.cpp: + (WebCore::Image::loadPlatformResource): + * platform/graphics/mac/ImageMac.mm: + (WebCore::Image::loadPlatformResource): + * rendering/RenderImage.cpp: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintOverflowControls): + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::nativeImageForCurrentFrame): + * svg/graphics/SVGImage.h: + (WebCore::SVGImage::create): + (WebCore::SVGImage::destroyDecodedData): + (WebCore::SVGImage::decodedSize): + (WebCore::SVGImage::frameAtIndex): + * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp: + (WebCore::SVGPaintServerPattern::setup): + * svg/graphics/cairo/SVGResourceMaskerCairo.cpp: + (WebCore::SVGResourceMasker::applyMask): + * svg/graphics/cg/SVGPaintServerPatternCg.cpp: + (WebCore::patternCallback): + * svg/graphics/cg/SVGResourceMaskerCg.mm: + (WebCore::SVGResourceMasker::applyMask): + +2008-08-13 Eric Seidel <eric@webkit.org> + + Reviewed by Niko. + + Remove #ifdefs from CanvasStyle by using platform/Color.h + https://bugs.webkit.org/show_bug.cgi?id=20351 + + There are some down-sides to this commit. + This commit limits us to 255 levels of grey for calls like: + context.setStrokeStyle(.37, 1.0) + previously CG might have used up to 32bits to store the grey level + Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice. + + Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited + to RGBA32 (like all the rest of colors in WebCore), thus: + context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as: + context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32 + + If this is a problem for Dashboard, we can either roll out this commit + or add a beefier Color abstraction, which can be used internally by GraphicsContext + when keeping state, and then GraphicsContext can grow some additional set* routines + for setting the a grey/float/whatever fill and stroke. + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setFillStyle): + * html/CanvasStyle.cpp: + (WebCore::CanvasStyle::CanvasStyle): + (WebCore::colorWithOverrideAlpha): + (WebCore::CanvasStyle::applyStrokeColor): + (WebCore::CanvasStyle::applyFillColor): + * html/CanvasStyle.h: + * platform/graphics/Color.cpp: + (WebCore::colorFloatToRGBAByte): + (WebCore::makeRGBA32FromFloats): + * platform/graphics/Color.h: + +2008-08-13 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Adele Peterson. + + Fix for <rdar://problem/6137931> + https://bugs.webkit.org/show_bug.cgi?id=20360 + Remove all parameters from the MIME type before checking with the MIME type registry + + Tests: media/video-source-type-params.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';' + to isSupportedMediaMIMEType() + +2008-08-13 Beth Dakin <bdakin@apple.com> + + Reviewed by Sam Weinig. + + Fix for <rdar://problem/6141345> + + This patch refines findString and markAllMatchesForText functions' + interactions with disconnected frames. They no longer rely on + knowing where a range is relative to the visible region and work + with disconnected frames that contain frames. + + * editing/Editor.cpp: + (WebCore::Editor::insideVisibleArea): Now returns a bool instead of + the visiblity enum. + (WebCore::Editor::firstVisibleRange): This now returns the very + first visible range in the document. It's no longer dependent on + searching forward. + (WebCore::Editor::lastVisibleRange): This now returns the very last + visible range in the document. It's no longer dependent on + searching backwards. + (WebCore::Editor::nextVisibleRange): This returns the next visible + range in the appropriate direction from the current range. + * editing/Editor.h: + * page/Frame.cpp: + (WebCore::Frame::findString): + (WebCore::Frame::markAllMatchesForText): + +2008-08-13 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix for case-sensitive platforms, like Linux. + + * WebCoreSources.bkl: + +2008-08-13 Marco Barisione <marco.barisione@collabora.co.uk> + + Reviewed by Holger Freyther. + + http://bugs.webkit.org/show_bug.cgi?id=16881 + [GTK] PlatformScreenGtk is unimplemented + + Original patch by Christian Dywan. + + * platform/gtk/PlatformScreenGtk.cpp: + (WebCore::screenDepth): + (WebCore::screenDepthPerComponent): + (WebCore::screenIsMonochrome): + (WebCore::screenRect): + (WebCore::screenAvailableRect): + +2008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by Holger Freyther. + + http://bugs.webkit.org/show_bug.cgi?id=20318 + SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add + + g_idle_add is the same as g_idle_add_full with a priority of + G_PRIORITY_DEFAULT_IDLE, so we can safely use that. + + * platform/gtk/SharedTimerGtk.cpp: + (WebCore::setSharedTimerFireTime): + +2008-08-13 Timothy Hatcher <timothy@apple.com> + + Changed the InspectorController so it can be notified when the + attached state of the Inspector changes in WebKit. + + Reviewed by Kevin McCullough. + + * WebCore.base.exp: Updated the symbol for setWindowVisible. + * page/InspectorController.cpp: + (WebCore::InspectorController::setWindowVisible): Added an attached argument, + that defaults to false.Call setAttachedWindow with the attached argument. + (WebCore::InspectorController::setAttachedWindow): Call the script version + of setAttachedWindow. + * page/InspectorController.h: + * page/inspector/inspector.js: + (WebInspector.setAttachedWindow): Set the attached property. + +2008-08-12 Timothy Hatcher <timothy@apple.com> + + Added a close button to the Inspector's toolbar when docked. + + https://bugs.webkit.org/show_bug.cgi?id=14270 + + Reviewed by Kevin McCullough. + + * page/InspectorController.cpp: + (WebCore::closeWindow): Call InspectorController::closeWindow. + (WebCore::InspectorController::windowScriptObjectAvailable): + Added closeWindow to the script class. + * page/InspectorController.h: + * page/inspector/Images/closeButtons.png: Added. + * page/inspector/inspector.css: Added and changed styles. + * page/inspector/inspector.html: Added the close button. + * page/inspector/inspector.js: + (WebInspector.loaded): Added click event listener to the close button. + (WebInspector.close): Call InspectorController.closeWindow. + +2008-08-12 Timothy Hatcher <timothy@apple.com> + + Make the docked Web Inspector resizable. This is the cross platform + portion of the code. Each InspectorClient needs to implement the + real resize code. + + https://bugs.webkit.org/show_bug.cgi?id=14282 + + Reviewed by Kevin McCullough. + + * loader/EmptyClients.h: Added an empty setAttachedWindowHeight. + * page/InspectorClient.h: Added setAttachedWindowHeight. + * page/InspectorController.cpp: + (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight + on the InspectorController. + (WebCore::InspectorController::setAttachedWindowHeight): Call + setAttachedWindowHeight on the client. + (WebCore::InspectorController::windowScriptObjectAvailable): + Added setAttachedWindowHeight to the script class. + * page/InspectorController.h: + * page/inspector/inspector.css: Make the cursor on the toolbar be + row-resize when docked. + * page/inspector/inspector.js: + (WebInspector.loaded): Always add the toolbarDragStart event listener. + (WebInspector.toolbarDragStart): Return early if we are not attached + and not on Leopard. Call WebInspector.elementDragStart. + (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd. + (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight, + otherwise call moveByUnrestricted. + +2008-08-13 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Initialize m_zoomsTextOnly in the Settings constructor. + + * page/Settings.cpp: + (WebCore::Settings::Settings): + +2008-08-13 Brad Hughes <bhughes@trolltech.com> + + Reviewed by Simon. + + Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux + + The latest upgrade of the intel compiler allows us to compile all of + Qt with optimizations enabled (yay!). + + * WebCore.pro: + +2008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com> + + Reviewed by Simon. + + Fix QtWebKit not displaying content on 403 HTTP responses + + Just like with 404 responses also display content with 403, as + used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/ + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::finish): + +2008-08-13 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994 + + Make the formatting of String::format() locale independent through the use of QString::vsprintf. + + * platform/text/String.cpp: + (WebCore::String::format): + +2008-08-13 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Lars. + + Fix QWebFrame::setHtml() not setting the new contents immediately. + + Added a setter to the DocumentLoader to toggle the deferred loading of the main + resource when it comes from substitute data. + + Disable deferred loading of the main resource when we have valid substitute data, + as used by QWebFrame::setHtml. + + * loader/DocumentLoader.h: + +2008-08-13 Mark Rowe <mrowe@apple.com> + + Speculative GTK build fix. + + * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp. + +2008-08-13 Thiago Macieira <tjmaciei@trolltech.com> + + Reviewed by Simon. + + Fix encoding of [ and ] in the host part of the URL + + Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to + add this workaround to the QUrl <> WebCore::KURL conversion operator so that it + doesn't encode [ and ] when they are found in the host part. That is, the + following URL: + http://[::1]/ + is valid and should not be reencoded to: + http://%5b::1%5d/ + + * platform/qt/KURLQt.cpp: + (WebCore::KURL::operator QUrl): + +2008-08-12 Mihnea Ovidenie <mihnea@adobe.com> + + Fix for https://bugs.webkit.org/show_bug.cgi?id=19891 + Broken HTML object elements cause de-reference of pointer to freed memory. + If we fail to load an image for an object tag and we no longer believe the object tag points at + an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the + fall back content. + + Reviewed by Dave Hyatt and Alexey Proskuryakov. + + Test: http/tests/misc/object-image-error-with-onload.html + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::renderFallbackContent): + * page/Frame.cpp: + (WebCore::Frame::Frame): + +2008-08-12 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Dave. + + Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798 + Masks are translated, and the mask images are swapped on the y-axis. + + Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm + is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want. + + Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate + the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before. + + * svg/graphics/cg/SVGResourceMaskerCg.mm: + (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again. + +2008-08-12 Dan Bernstein <mitz@apple.com> + + - WebCore part of <rdar://problem/6121636> + Make fast*alloc() abort() on failure and add "try" variants that + return NULL on failure. + + Reviewed by Darin Adler. + + * platform/Arena.cpp: + (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s + result. + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::ImageBuffer::create): Changed to use tryFastCalloc(). + +2008-08-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix https://bugs.webkit.org/show_bug.cgi?id=19348 + <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works + + Test: fast/frames/frameset-style-recalc.html + + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base + class implementation after marking for layout. + +2008-08-12 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden + + * WebCore.base.exp: + * page/FrameView.cpp: + (WebCore::FrameViewPrivate::FrameViewPrivate): + (WebCore::FrameView::shouldUpdateWhileHidden): + (WebCore::FrameView::setShouldUpdateWhileHidden): + * page/FrameView.h: + * page/Settings.cpp: + * page/Settings.h: + +2008-08-12 Adam Roben <aroben@apple.com> + + Windows build fix + + * bindings/js/JSSVGPODTypeWrapper.h: Align + JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's + members on 16-byte boundaries to avoid an alignment warning. + +2008-08-12 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. + + Add new dynamice-update layout tests covering SVGMarkerElement. + Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering. + Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle. + + Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html + svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html + svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html + svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html + svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html + svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html + svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html + svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html + svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html + svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html + svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html + svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html + svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html + svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html + svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html + + * svg/SVGMarkerElement.cpp: + (WebCore::SVGMarkerElement::SVGMarkerElement): + (WebCore::SVGMarkerElement::parseMappedAttribute): + (WebCore::SVGMarkerElement::svgAttributeChanged): + (WebCore::SVGMarkerElement::childrenChanged): + (WebCore::SVGMarkerElement::setOrientToAuto): + (WebCore::SVGMarkerElement::setOrientToAngle): + (WebCore::SVGMarkerElement::canvasResource): + +2008-08-12 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. + + Add new dynamic-update layout tests covering SVGImageElement. + Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes. + + Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html + svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html + svg/dynamic-updates/SVGImageElement-dom-width-attr.html + svg/dynamic-updates/SVGImageElement-dom-x-attr.html + svg/dynamic-updates/SVGImageElement-dom-y-attr.html + svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html + svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html + svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html + svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html + svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html + + * svg/SVGImageElement.cpp: + (WebCore::SVGImageElement::svgAttributeChanged): + +2008-08-11 Anthony Ricaud <rik24d@gmail.com> + + Changed Option/Alt-Up or Down in CSS editing when the value is + near zero to jump to the next integer. + + Reviewed by Tim Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=20326 + + * page/inspector/StylesSidebarPane.js: + +2008-08-11 Anthony Ricaud <rik24d@gmail.com> + + Changed the line highlight transition for an easier animation. + + Reviewed by Tim Hatcher. + + * page/inspector/SourceFrame.js: + +2008-08-11 Keishi Hattori <casey.hattori@gmail.com> + + Added support for some Firebug Command Line APIs. + + Reviewed by Tim Hatcher. + + https://bugs.webkit.org/show_bug.cgi?id=19867 + https://bugs.webkit.org/show_bug.cgi?id=19868 + https://bugs.webkit.org/show_bug.cgi?id=19869 + https://bugs.webkit.org/show_bug.cgi?id=19875 + https://bugs.webkit.org/show_bug.cgi?id=19876 + https://bugs.webkit.org/show_bug.cgi?id=19880 + + * page/inspector/Console.js: + (WebInspector.Console.prototype._evalInInspectedWindow): + Create an object on the inspected window that holds the console + command line API functions. This object is used in a with statement + around the typed expression. + +2008-08-11 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Antti. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736 + + JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties + failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect) + + Added tests: svg/custom/svg-modify-currentTranslate.html + svg/custom/tearoffs-with-tearoffs.html + svg/custom/immutable-properties.html + + Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html + + * bindings/js/JSSVGPODTypeWrapper.h: + (WebCore::JSSVGDynamicPODTypeWrapper::commitChange): + (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create): + (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange): + (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent): + (WebCore::JSSVGStaticPODTypeWrapperWithParent::create): + (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType): + (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange): + (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent): + * bindings/scripts/CodeGenerator.pm: + * bindings/scripts/CodeGeneratorJS.pm: + * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes. + * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content. + +2008-08-11 Brady Eidson <beidson@apple.com> + + Reviewed by John and Anders + + Fix for <rdar://problem/6141797> + + When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource + would never have nil data. + + When they were pushed down into WebCore, that guarantee was lost, subtly changing a few + semantics with some WebKit applications. + + The guarantee was a good one and should be restored. + + Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already + creates an empty data object in the case of null data for its own purposes. + + * loader/SubstituteResource.h: + (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This + well help any future subclassers not make this mistake. + + * loader/archive/ArchiveResource.cpp: + (WebCore::ArchiveResource::create): Return 0 if the data is null. + +2008-08-11 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dave Hyatt + + https://bugs.webkit.org/show_bug.cgi?id=20328 + Fix a problem when an 'all' transition transition with more than + one property changing is interrupted, and did some AnimationController + cleanup. + + Test: transitions/interrupted-all-transition.html + + * page/AnimationController.cpp: + (WebCore::ImplicitAnimation::ImplicitAnimation): + (WebCore::AnimationControllerPrivate::blendProperties): + (WebCore::CompositeAnimation::updateTransitions): + (WebCore::CompositeAnimation::cleanupFinishedAnimations): + (WebCore::CompositeAnimation::setTransitionStartTime): + (WebCore::CompositeAnimation::overrideImplicitAnimations): + (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations): + (WebCore::ImplicitAnimation::animate): + (WebCore::ImplicitAnimation::onAnimationEnd): + (WebCore::ImplicitAnimation::sendTransitionEvent): + (WebCore::ImplicitAnimation::affectsProperty): + (WebCore::KeyframeAnimation::endAnimation): + (WebCore::KeyframeAnimation::onAnimationEnd): + +2008-08-11 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Tim. + + - Because console messages have group levels now, newly created messages + that do not specify the level lose their message since the number of + arguments is wrong. + + * page/inspector/Console.js: + * page/inspector/Resource.js: + +2008-08-11 Alp Toker <alp@nuanti.com> + + Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take + the opportunity to sort the sources lists. + + * GNUmakefile.am: + +2008-08-11 Timothy Hatcher <timothy@apple.com> + + Speed up the the JavaScript syntax highlighter by generating + the finders only once per script instead of per line. + + https://bugs.webkit.org/show_bug.cgi?id=20346 + + Reviewed by Adam Roben. + + * page/inspector/SourceFrame.js: + (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine): + Removed, factored into syntaxHighlightJavascript as an inline function. + (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): + Pulled in the _syntaxHighlightJavascriptLine so it will create a closure. + Generate the finders before iterating the lines. + +2008-08-11 Adam Roben <aroben@apple.com> + + Windows build fix + + * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and + JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file, + too. + +2008-08-11 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc + + Test: fast/css/counters/invalidate-cached-counter-node.html + + * rendering/RenderContainer.cpp: + (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all + RenderCounters in :before and :after content. + * rendering/RenderContainer.h: + * rendering/RenderCounter.cpp: + (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this + to match the RenderObject method. + (WebCore::RenderCounter::invalidate): Added. Resets the cached + CounterNode and invalidates the object's layout and preferred widths. + (WebCore::destroyCounterNodeChildren): Added a call to + invalidateCounters(). + * rendering/RenderCounter.h: + * rendering/RenderObject.h: + (WebCore::RenderObject::invalidateCounters): + +2008-08-11 Dean Jackson <dino@apple.com> + + Implement CSS Animation and Transition Events + https://bugs.webkit.org/show_bug.cgi?id=20337 + + Implement the events defined in the CSS Animations + and Transitions specifications so code can react + to animations and transitions. + + Reviewed by Tim Hatcher and Dave Hyatt. + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + Build configs for new files + + * bindings/js/JSDOMWindowBase.cpp: + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSEventCustom.cpp: + * dom/Document.h: + * dom/Event.cpp: + * dom/Event.h: + * dom/EventTarget.cpp: + * dom/EventTargetNode.cpp: + * dom/EventTargetNode.h: + * html/HTMLElement.cpp: + * page/AnimationController.cpp: + do all the new event stuff + + * html/HTMLAttributeNames.in: + the onwebkitanimation* and onwebkittransitionend attrs + + * dom/WebKitAnimationEvent.cpp: Added. + * dom/WebKitAnimationEvent.h: Added. + * dom/WebKitAnimationEvent.idl: Added. + * dom/WebKitTransitionEvent.cpp: Added. + * dom/WebKitTransitionEvent.h: Added. + * dom/WebKitTransitionEvent.idl: Added. + New files for the events + + * manual-tests/transition-events.html: Added. + New testfile + +2008-08-11 Adam Roben <aroben@apple.com> + + Add a ForwardingHeader for wtf/NotFound.h + + Rubberstamped by Darin Adler. + + * ForwardingHeaders/wtf/NotFound.h: Added. + +2008-08-11 Timothy Hatcher <timothy@apple.com> + + Fixes a bug where error bubbles in JavaScript resources would + be clobbered by the syntax highlighter. + + https://bugs.webkit.org/show_bug.cgi?id=20345 + + Reviewed by Adam Roben. + + * manual-tests/inspector/resources/script-error.js: Added. + * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added. + * page/inspector/SourceFrame.js: + (WebInspector.SourceFrame.prototype._addMessageToSource): + Check the nodeType and not the nodeName, this is less fragile. + (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine): + Check if the lastChild is an error bubble, if so remove it before + getting the line's textContent. Add the error bubble back at the end. + +== Rolled over to ChangeLog-2008-08-10 == |
