JavaScriptCore:
[WebKit-https.git] / WebCore / ChangeLog
index bf90e6c..454d3fe 100644 (file)
+2008-11-15  Darin Adler  <darin@apple.com>
+
+        Rubber stamped by Geoff Garen.
+
+        - do the long-planned StructureID -> Structure rename
+
+        * ForwardingHeaders/runtime/Structure.h: Copied from WebCore/ForwardingHeaders/runtime/StructureID.h.
+        * ForwardingHeaders/runtime/StructureID.h: Removed.
+        * bindings/js/JSAudioConstructor.cpp:
+        (WebCore::JSAudioConstructor::JSAudioConstructor):
+        * bindings/js/JSDOMBinding.cpp:
+        (WebCore::getCachedDOMStructure):
+        (WebCore::cacheDOMStructure):
+        * bindings/js/JSDOMBinding.h:
+        (WebCore::DOMObject::DOMObject):
+        (WebCore::getDOMStructure):
+        * bindings/js/JSDOMGlobalObject.cpp:
+        (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
+        * bindings/js/JSDOMGlobalObject.h:
+        * bindings/js/JSDOMWindowBase.cpp:
+        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
+        * bindings/js/JSDOMWindowBase.h:
+        * bindings/js/JSDOMWindowShell.cpp:
+        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
+        (WebCore::JSDOMWindowShell::setWindow):
+        * bindings/js/JSDOMWindowShell.h:
+        (WebCore::JSDOMWindowShell::createStructure):
+        * bindings/js/JSDedicatedWorkerConstructor.cpp:
+        (WebCore::JSDedicatedWorkerConstructor::JSDedicatedWorkerConstructor):
+        * bindings/js/JSHTMLAllCollection.h:
+        (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
+        (WebCore::JSHTMLAllCollection::createStructure):
+        * bindings/js/JSImageConstructor.cpp:
+        (WebCore::JSImageConstructor::JSImageConstructor):
+        * bindings/js/JSInspectedObjectWrapper.cpp:
+        (WebCore::JSInspectedObjectWrapper::wrap):
+        (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
+        * bindings/js/JSInspectedObjectWrapper.h:
+        * bindings/js/JSInspectorCallbackWrapper.cpp:
+        (WebCore::leakInspectorCallbackWrapperStructure):
+        (WebCore::JSInspectorCallbackWrapper::wrap):
+        (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
+        * bindings/js/JSInspectorCallbackWrapper.h:
+        * bindings/js/JSMessageChannelConstructor.cpp:
+        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
+        * bindings/js/JSNamedNodesCollection.h:
+        (WebCore::JSNamedNodesCollection::createStructure):
+        * bindings/js/JSOptionConstructor.cpp:
+        (WebCore::JSOptionConstructor::JSOptionConstructor):
+        * bindings/js/JSQuarantinedObjectWrapper.cpp:
+        (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
+        * bindings/js/JSQuarantinedObjectWrapper.h:
+        (WebCore::JSQuarantinedObjectWrapper::createStructure):
+        * bindings/js/JSRGBColor.h:
+        (WebCore::JSRGBColor::createStructure):
+        * bindings/js/JSWorkerContext.cpp:
+        (WebCore::createJSWorkerContextStructure):
+        (WebCore::JSWorkerContext::JSWorkerContext):
+        (WebCore::JSWorkerContext::createPrototype):
+        * bindings/js/JSWorkerContext.h:
+        (WebCore::JSWorkerContext::createStructure):
+        (WebCore::JSWorkerContextPrototype::JSWorkerContextPrototype):
+        (WebCore::JSWorkerContextPrototype::createStructure):
+        * bindings/js/JSXMLHttpRequestConstructor.cpp:
+        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
+        * bindings/js/JSXSLTProcessorConstructor.cpp:
+        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
+        * bindings/scripts/CodeGeneratorJS.pm:
+        * bridge/objc/objc_runtime.h:
+        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
+        * bridge/qt/qt_runtime.cpp:
+        (JSC::Bindings::QtConnectionObject::execute):
+        * bridge/qt/qt_runtime.h:
+        (JSC::Bindings::QtRuntimeMethod::createStructure):
+        * bridge/runtime_array.h:
+        (JSC::RuntimeArray::createStructure):
+        * bridge/runtime_method.h:
+        (JSC::RuntimeMethod::createStructure):
+        * bridge/runtime_object.cpp:
+        (JSC::RuntimeObjectImp::RuntimeObjectImp):
+        * bridge/runtime_object.h:
+        (JSC::RuntimeObjectImp::createStructure):
+
+2008-11-15  Darin Adler  <darin@apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        - fix just-introduced crash in the svg/custom/svg-fonts-in-html.html test
+
+        This gets rid of the crash. It restores the behavior of the CG case from before Dirk
+        Shulze removed the platorm-dependent code, but perhaps it should be changed further
+        in the future so that the default for no style is "no stroke". I think the patch is
+        fine for fill.
+
+        * svg/graphics/SVGPaintServerSolid.cpp:
+        (WebCore::SVGPaintServerSolid::setup): Added null checks for svgStyle.
+        (WebCore::SVGPaintServerSolid::renderPath): Added null checks for style and svgStyle.
+
+2008-11-15  Kevin Ollivier  <kevino@theolliviers.com>
+
+        Reviewed by Timothy Hatcher.
+
+        Initialize m_networkStateChangedFunction to 0 as otherwise the check for null will fail.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=22284
+
+        * platform/network/NetworkStateNotifier.h:
+        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
+
+2008-11-15  Dirk Schulze  <krit@webkit.org>
+
+        Reviewed by Geoffrey Garen.
+
+        r38426 caused a wrong drawing of a LayoutTest. Use another
+        way to set the color to pass this test again.
+
+        * svg/graphics/SVGPaintServerSolid.cpp:
+        (WebCore::SVGPaintServerSolid::setup):
+
+2008-11-15  Dirk Schulze  <krit@webkit.org>
+
+        Reviewed by Darin Adler.
+
+        Removed platform dependent code on SVGPaintServerSolid.
+
+        * GNUmakefile.am:
+        * WebCore.pro:
+        * WebCore.vcproj/WebCore.vcproj:
+        * WebCore.xcodeproj/project.pbxproj:
+        * svg/graphics/SVGPaintServerSolid.cpp:
+        (WebCore::SVGPaintServerSolid::setup):
+        (WebCore::SVGPaintServerSolid::renderPath):
+        * svg/graphics/SVGPaintServerSolid.h:
+        * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: Removed.
+        * svg/graphics/cg/SVGPaintServerSolidCg.cpp: Removed.
+        * svg/graphics/qt/SVGPaintServerSolidQt.cpp: Removed.
+
+2008-11-15  Geoffrey Garen  <ggaren@apple.com>
+
+        Reviewed by Sam Weinig.
+        
+        Updated for JavaScriptCore renames.
+
+        * bindings/js/JSNodeCustom.cpp:
+        (WebCore::JSNode::mark):
+        * bindings/js/JSXMLHttpRequestCustom.cpp:
+        (WebCore::JSXMLHttpRequest::send):
+        * bindings/js/ScriptController.cpp:
+        (WebCore::ScriptController::evaluate):
+        * bindings/js/WorkerScriptController.cpp:
+        (WebCore::WorkerScriptController::evaluate):
+        * bindings/objc/WebScriptObject.mm:
+        (-[WebScriptObject evaluateWebScript:]):
+        * bridge/NP_jsobject.cpp:
+        (_NPN_Evaluate):
+        * bridge/jni/jni_jsobject.mm:
+        (JavaJSObject::eval):
+        * page/Console.cpp:
+        (WebCore::retrieveLastCaller):
+        (WebCore::Console::trace):
+
+2008-11-14  Greg Bolsinga  <bolsinga@apple.com>
+
+        Reviewed by Darin Adler.
+
+        https://bugs.webkit.org/show_bug.cgi?id=21810
+        Remove use of static C++ objects that are destroyed at exit time (destructors)
+
+        Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid 
+        exit-time destructor. Update code that was changed to fix this issue that ran 
+        into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference 
+        in gcc build 5465). Also typdefs for template types needed to be added in some 
+        cases so the type could make it through the macro successfully.
+
+        Basically code of the form:
+        static T m;
+        becomes:
+        DEFINE_STATIC_LOCAL(T, m, ());
+
+        Also any code of the form:
+        static T& m = *new T;
+        also becomes:
+        DEFINE_STATIC_LOCAL(T, m, ());
+
+        * ForwardingHeaders/wtf/StdLibExtras.h: Added.
+        * bindings/js/GCController.cpp:
+        (WebCore::gcController):
+        * bindings/js/JSDOMBinding.cpp:
+        (WebCore::wrapperSet):
+        * bindings/js/JSInspectedObjectWrapper.cpp:
+        (WebCore::wrappers):
+        * bindings/js/JSInspectorCallbackWrapper.cpp:
+        (WebCore::wrappers):
+        * bindings/js/JSNavigatorCustom.cpp:
+        (WebCore::needsYouTubeQuirk):
+        * bridge/runtime_root.cpp:
+        (JSC::Bindings::rootObjectSet):
+        * css/CSSMutableStyleDeclaration.cpp:
+        (WebCore::initShorthandMap):
+        (WebCore::CSSMutableStyleDeclaration::removeProperty):
+        * css/CSSPrimitiveValue.cpp:
+        (WebCore::CSSPrimitiveValue::cssText):
+        * css/CSSSelector.cpp:
+        (WebCore::CSSSelector::extractPseudoType):
+        * css/CSSStyleSelector.cpp:
+        (WebCore::screenEval):
+        (WebCore::printEval):
+        * dom/DOMImplementation.cpp:
+        (WebCore::addString):
+        (WebCore::isSVG10Feature):
+        (WebCore::isSVG11Feature):
+        (WebCore::DOMImplementation::isXMLMIMEType):
+        * dom/Document.cpp:
+        (WebCore::Document::hasPrefixNamespaceMismatch):
+        * dom/ScriptElement.cpp:
+        (WebCore::isSupportedJavaScriptLanguage):
+        * editing/ApplyStyleCommand.cpp:
+        (WebCore::styleSpanClassString):
+        * editing/HTMLInterchange.cpp:
+        (WebCore::):
+        * editing/IndentOutdentCommand.cpp:
+        (WebCore::indentBlockquoteString):
+        * editing/ReplaceSelectionCommand.cpp:
+        (WebCore::isInterchangeNewlineNode):
+        (WebCore::isInterchangeConvertedSpaceSpan):
+        * editing/htmlediting.cpp:
+        (WebCore::stringWithRebalancedWhitespace):
+        (WebCore::nonBreakingSpaceString):
+        * editing/markup.cpp:
+        (WebCore::appendAttributeValue):
+        (WebCore::appendEscapedContent):
+        (WebCore::shouldAddNamespaceAttr):
+        (WebCore::appendNamespace):
+        (WebCore::appendStartMarkup):
+        (WebCore::createMarkup):
+        * html/HTMLButtonElement.cpp:
+        (WebCore::HTMLButtonElement::type):
+        * html/HTMLElement.cpp:
+        (WebCore::HTMLElement::isRecognizedTagName):
+        (WebCore::inlineTagList):
+        (WebCore::blockTagList):
+        * html/HTMLFieldSetElement.cpp:
+        (WebCore::HTMLFieldSetElement::type):
+        * html/HTMLInputElement.cpp:
+        (WebCore::HTMLInputElement::type):
+        * html/HTMLKeygenElement.cpp:
+        (WebCore::HTMLKeygenElement::type):
+        * html/HTMLLegendElement.cpp:
+        (WebCore::HTMLLegendElement::type):
+        * html/HTMLOptGroupElement.cpp:
+        (WebCore::HTMLOptGroupElement::type):
+        * html/HTMLOptionElement.cpp:
+        (WebCore::HTMLOptionElement::type):
+        * html/HTMLParser.cpp:
+        (WebCore::HTMLParser::getNode):
+        (WebCore::HTMLParser::isHeaderTag):
+        (WebCore::HTMLParser::isResidualStyleTag):
+        (WebCore::HTMLParser::isAffectedByResidualStyle):
+        * html/HTMLSelectElement.cpp:
+        (WebCore::HTMLSelectElement::type):
+        * html/HTMLTextAreaElement.cpp:
+        (WebCore::HTMLTextAreaElement::type):
+        * inspector/InspectorController.cpp:
+        (WebCore::platform):
+        * inspector/JavaScriptDebugServer.cpp:
+        (WebCore::JavaScriptDebugServer::shared):
+        * inspector/JavaScriptProfile.cpp:
+        (WebCore::profileCache):
+        * inspector/JavaScriptProfileNode.cpp:
+        (WebCore::profileNodeCache):
+        * loader/FrameLoader.cpp:
+        (WebCore::localSchemes):
+        * loader/appcache/ApplicationCacheStorage.cpp:
+        (WebCore::cacheStorage):
+        * loader/archive/ArchiveFactory.cpp:
+        (WebCore::archiveMIMETypes):
+        (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
+        * loader/icon/IconDatabase.cpp:
+        (WebCore::IconDatabase::defaultDatabaseFilename):
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::dragState):
+        * page/Frame.cpp:
+        (WebCore::createRegExpForLabels):
+        (WebCore::keepAliveSet):
+        * page/Page.cpp:
+        (WebCore::Page::groupName):
+        * page/SecurityOrigin.cpp:
+        (WebCore::isDefaultPortForProtocol):
+        (WebCore::SecurityOrigin::databaseIdentifier):
+        * page/mac/FrameMac.mm:
+        (WebCore::regExpForLabels):
+        * platform/KURL.cpp:
+        (WebCore::blankURL):
+        * platform/graphics/FontCache.cpp:
+        (WebCore::alternateFamilyName):
+        * platform/graphics/mac/FontCacheMac.mm:
+        (WebCore::FontCache::getSimilarFontPlatformData):
+        (WebCore::FontCache::getLastResortFallbackFont):
+        * platform/mac/CursorMac.mm:
+        (WebCore::leakNamedCursor):
+        (WebCore::pointerCursor):
+        (WebCore::crossCursor):
+        (WebCore::handCursor):
+        (WebCore::moveCursor):
+        (WebCore::verticalTextCursor):
+        (WebCore::cellCursor):
+        (WebCore::contextMenuCursor):
+        (WebCore::aliasCursor):
+        (WebCore::zoomInCursor):
+        (WebCore::zoomOutCursor):
+        (WebCore::copyCursor):
+        (WebCore::noneCursor):
+        (WebCore::progressCursor):
+        (WebCore::noDropCursor):
+        (WebCore::notAllowedCursor):
+        (WebCore::iBeamCursor):
+        (WebCore::waitCursor):
+        (WebCore::helpCursor):
+        (WebCore::eastResizeCursor):
+        (WebCore::northResizeCursor):
+        (WebCore::northEastResizeCursor):
+        (WebCore::northWestResizeCursor):
+        (WebCore::southResizeCursor):
+        (WebCore::southEastResizeCursor):
+        (WebCore::southWestResizeCursor):
+        (WebCore::westResizeCursor):
+        (WebCore::northSouthResizeCursor):
+        (WebCore::eastWestResizeCursor):
+        (WebCore::northEastSouthWestResizeCursor):
+        (WebCore::northWestSouthEastResizeCursor):
+        (WebCore::columnResizeCursor):
+        (WebCore::rowResizeCursor):
+        (WebCore::grabCursor):
+        (WebCore::grabbingCursor):
+        * platform/mac/ScrollbarThemeMac.mm:
+        (WebCore::ScrollbarTheme::nativeTheme):
+        * platform/mac/ThemeMac.mm:
+        (WebCore::platformTheme):
+        * platform/mac/ThreadCheck.mm:
+        (WebCoreReportThreadViolation):
+        * platform/network/NetworkStateNotifier.cpp:
+        (WebCore::networkStateNotifier):
+        * platform/network/mac/FormDataStreamMac.mm:
+        (WebCore::getStreamFormDataMap):
+        (WebCore::getStreamResourceHandleMap):
+        * platform/network/mac/ResourceResponseMac.mm:
+        (WebCore::ResourceResponse::platformLazyInit):
+        * platform/text/TextEncoding.cpp:
+        (WebCore::TextEncoding::isJapanese):
+        * plugins/PluginMainThreadScheduler.cpp:
+        (WebCore::PluginMainThreadScheduler::scheduler):
+        * rendering/RenderBlock.cpp:
+        (WebCore::continuationOutlineTable):
+        (WebCore::RenderBlock::addContinuationWithOutline):
+        (WebCore::RenderBlock::paintContinuationOutlines):
+        * rendering/RenderCounter.cpp:
+        (WebCore::counterMaps):
+        * rendering/RenderFlexibleBox.cpp:
+        (WebCore::RenderFlexibleBox::layoutVerticalBox):
+        * rendering/RenderListItem.cpp:
+        (WebCore::RenderListItem::markerText):
+        * rendering/RenderScrollbarTheme.cpp:
+        (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
+        * rendering/RenderThemeMac.mm:
+        (WebCore::RenderThemeMac::systemFont):
+        * rendering/bidi.cpp:
+        (WebCore::RenderBlock::checkLinesForTextOverflow):
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::RenderStyle::initialDashboardRegions):
+        (WebCore::RenderStyle::noneDashboardRegions):
+        * storage/Database.cpp:
+        (WebCore::guidMutex):
+        (WebCore::guidToVersionMap):
+        (WebCore::guidToDatabaseMap):
+        (WebCore::Database::databaseInfoTableName):
+        (WebCore::databaseVersionKey):
+        (WebCore::Database::getVersionFromDatabase):
+        (WebCore::Database::setVersionInDatabase):
+        (WebCore::guidForOriginAndName):
+        * storage/DatabaseTracker.cpp:
+        (WebCore::DatabaseTracker::tracker):
+        (WebCore::notificationMutex):
+        (WebCore::notificationQueue):
+        * storage/LocalStorage.cpp:
+        (WebCore::localStorageMap):
+        * svg/SVGAnimateMotionElement.cpp:
+        (WebCore::SVGAnimateMotionElement::rotateMode):
+        * svg/SVGAnimationElement.cpp:
+        (WebCore::SVGAnimationElement::calcMode):
+        (WebCore::SVGAnimationElement::attributeType):
+        (WebCore::SVGAnimationElement::isAdditive):
+        (WebCore::SVGAnimationElement::isAccumulated):
+        * svg/SVGLangSpace.cpp:
+        (WebCore::SVGLangSpace::xmlspace):
+        * svg/SVGSVGElement.cpp:
+        (WebCore::SVGSVGElement::contentScriptType):
+        (WebCore::SVGSVGElement::contentStyleType):
+        * svg/SVGStyleElement.cpp:
+        (WebCore::SVGStyleElement::type):
+        (WebCore::SVGStyleElement::media):
+        * svg/SVGTextContentElement.cpp:
+        (WebCore::SVGTextContentElement::parseMappedAttribute):
+        * svg/animation/SVGSMILElement.cpp:
+        (WebCore::SVGSMILElement::parseClockValue):
+        (WebCore::SVGSMILElement::restart):
+        (WebCore::SVGSMILElement::fill):
+        (WebCore::SVGSMILElement::repeatCount):
+        (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
+        * svg/graphics/SVGResource.cpp:
+        (WebCore::clientMap):
+        (WebCore::SVGResource::removeClient):
+        * svg/graphics/SVGResourceMarker.cpp:
+        (WebCore::SVGResourceMarker::draw):
+        * xml/XMLHttpRequest.cpp:
+        (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
+        (WebCore::preflightResultCache):
+        (WebCore::appendPreflightResultCacheEntry):
+        (WebCore::isSafeRequestHeader):
+        (WebCore::isOnAccessControlResponseHeaderWhitelist):
+        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
+        * xml/XPathExpressionNode.cpp:
+        (WebCore::XPath::Expression::evaluationContext):
+        * xml/XPathParser.cpp:
+        (WebCore::XPath::setUpAxisNamesMap):
+        (WebCore::XPath::isAxisName):
+        (WebCore::XPath::isNodeTypeName):
+        * xml/XPathValue.cpp:
+        (WebCore::XPath::Value::toNodeSet):
+
+2008-11-14  Dan Bernstein  <mitz@apple.com>
+
+        - attempt to fix the Qt build
+
+        * platform/qt/Localizations.cpp:
+        (WebCore::contextMenuItemTagTextDirectionMenu): Added. Maybe this string
+        needs to go somewhere else in addition to here.
+
+2008-11-14  Kevin Ollivier  <kevino@theolliviers.com>
+
+        wx build fix.
+
+        * platform/wx/LocalizedStringsWx.cpp:
+        (WebCore::contextMenuItemTagTextDirectionMenu):
+
+2008-11-14  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Darin Adler.
+
+        - <rdar://problem/6234307> Support action methods for setting and clearing character-level directionality
+        - WebCore part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
+
+        * WebCore.base.exp: Exported
+        WebCore::Settings::setTextDirectionSubmenuInclusionBehavior().
+
+        * editing/ApplyStyleCommand.cpp:
+        (StyleChange::init): Changed to always include the direction property
+        in the result if the unicode-bidi property is included.
+        (ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Added. Finds the
+        highest ancestor of the given node that establishes bidi embedding. If
+        that embedding agrees with the given allowed direction, finds the
+        second-highest embedding ancestor. Splits all nodes through that
+        ancestor. If the highest embedding ancestor did not need to be split,
+        it is returned.
+        (ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Added. Removes
+        bidi embedding attributes and styles from all ancestors of the given
+        node up to its enclosing block or the given node.
+        (ApplyStyleCommand::applyInlineStyle): Added code to handle the
+        unicode-bidi property. Applying style the includes this property
+        involves removing all bidi embedding in effect, except  for one-level
+        embedding that agrees with the desired embedding, then applying the
+        desired embedding where it is not already in effect.
+        (ApplyStyleCommand::applyInlineStyleToRange): Factored out from
+        applyInlineStyle().
+        (ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added. Removed the
+        "dir" attribute if necessary and the element if it becomes an unstyled
+        style span.
+        (ApplyStyleCommand::removeCSSStyle): Changed to remove the direction
+        property when removing the unicode-bidi property.
+        (ApplyStyleCommand::removeInlineStyle): Added a call to
+        removeHTMLBidiEmbeddingStyle().
+
+        * editing/ApplyStyleCommand.h:
+        * editing/Editor.cpp:
+        (Editor::textDirectionForSelection): Added. Returns the character-level
+        writing direction of the selection if it is uniform and simple (at most
+        one level of embedding).
+        (Editor::hasBidiSelection): Added. Returns true if the selection lies
+        entirely within a single block, and that block has direction:rtl or
+        contains any inline boxes with non-zero bidi embedding level.
+
+        * editing/Editor.h:
+        * editing/EditorCommand.cpp:
+        (stateTextWritingDirection): Added this helper function for deciding
+        the state of Text Direction submenu items.
+        (executeMakeTextWritingDirectionLeftToRight): Added. Applies
+        "unicode-bidi: embed; direction: ltr;".
+        (executeMakeTextWritingDirectionNatural): Added. Applies
+        "unicode-bidi: normal;"
+        (executeMakeTextWritingDirectionRightToLeft): Added. Applies
+        "unicode-bidi: embed; direction: rtl;".
+        (stateTextWritingDirectionLeftToRight): Added.
+        (stateTextWritingDirectionNatural): Added.
+        (stateTextWritingDirectionRightToLeft): Added.
+        (createCommandMap): Added "MakeTextWritingDirectionLeftToRight",
+        "MakeTextWritingDirectionNatural",
+        and "MakeTextWritingDirectionRightToLeft".
+
+        * editing/InsertTextCommand.cpp:
+        (InsertTextCommand::input): Added code to maintain the unicode-bidi
+        and direction properties in the typing style. Even if they have the
+        same values as the computed style at the caret, they need to be included
+        in the typing style so that inserted text will not inherit any nested
+        embedding.
+
+        * page/ContextMenuController.cpp:
+        (ContextMenuController::contextMenuItemSelected): Added calls to
+        the editor for the text direction menu items.
+
+        * page/Frame.cpp
+        (Frame::computeAndSetTypingStyle): Added code to maintain the
+        unicode-bidi and direction properties in the typing style.
+
+        * page/Settings.cpp:
+        (Settings::setTextDirectionSubmenuInclusionBehavior): Added this setter.
+
+        * page/Settings.h: Added a TextDirectionSubmenuInclusionBehavior enum,
+        an m_textDirectionSubmenuInclusionBehavior member, and accessors.
+
+        * page/mac/WebCoreViewFactory.h:
+        * platform/ContextMenu.cpp:
+        (WebCore::createAndAppendTextDirectionSubMenu): Added.
+        (ContextMenu::populate): Added the Text Direction submenu item based on
+        the inclusion behavior and the existence of a bidi selection.
+        (ContextMenu::checkOrEnableIfNeeded): Added code for the text direction
+        menu items.
+
+        * platform/ContextMenuItem.h:
+        * platform/LocalizedStrings.h: Declared
+        contextMenuItemTagTextDirectionMenu().
+
+        * platform/mac/LocalizedStringsMac.mm: Defined
+        contextMenuItemTagTextDirectionMenu().
+
+        * rendering/RenderBlock.cpp:
+        (RenderBlock::containsNonZeroBidiLevel): Added.
+        * rendering/RenderBlock.h:
+
+2008-11-14  Greg Bolsinga  <bolsinga@apple.com>
+
+        Reviewed by Darin Adler.
+
+        https://bugs.webkit.org/show_bug.cgi?id=22264
+        Need to update to latest Geolocation spec (13 November 2008)
+        
+        Update to new error code constants and values.
+
+        * page/Geolocation.cpp: Use new named ErrorCode enums
+        (WebCore::Geolocation::GeoNotifier::timerFired):
+        (WebCore::Geolocation::getCurrentPosition):
+        (WebCore::Geolocation::watchPosition):
+        * page/PositionError.h: Have ErrorCode enum names match new error constant names and values
+        (WebCore::PositionError::):
+        * page/PositionError.idl: Add new named error constants
+
+2008-11-14  Beth Dakin  <bdakin@apple.com>
+
+        Reviewed by Justin Garcia.
+
+        Fix (again) for <rdar://problem/5089327> Too much indentation when 
+        pasting quoted paragraphs
+
+        This patch goes back to Justin's original approach to fix this bug, 
+        written in revision 38273. That fix was mostly rolled out by 
+        revision 38310 because of styling issues created by the addition of 
+        extra blockquote nodes. This patch again goes back to Justin's 
+        original fix because of cases we discovered the newer fix could not 
+        possibly cover. This version of the patch minimizes the styling 
+        issues of extra blockquotes by opting into the merge start code. 
+
+        * editing/ReplaceSelectionCommand.cpp:
+        (WebCore::hasMatchingQuoteLevel): We want shouldMergeStart to 
+        return true when the quoting level of the end of the inserted 
+        content matches the quoting level of the end of the existing 
+        content.
+        (WebCore::ReplaceSelectionCommand::shouldMergeStart): Now calls 
+        hasMatchingQuoteLevel
+        (WebCore::ReplaceSelectionCommand::doApply):
+
+2008-11-14  Dirk Schulze  <vbs85@gmx.de>
+
+        Reviewed by Eric Seidel.
+
+        Made SVGResourceClipper platform independent.
+        https://bugs.webkit.org/show_bug.cgi?id=21444
+
+        * GNUmakefile.am:
+        * WebCore.pro:
+        * WebCore.vcproj/WebCore.vcproj:
+        * WebCore.xcodeproj/project.pbxproj:
+        * platform/graphics/GraphicsContext.h:
+        * platform/graphics/cairo/GraphicsContextCairo.cpp:
+        (WebCore::GraphicsContext::clipPath):
+        * platform/graphics/cg/GraphicsContextCG.cpp:
+        (WebCore::GraphicsContext::clipPath):
+        * platform/graphics/qt/GraphicsContextQt.cpp:
+        (WebCore::GraphicsContext::addPath):
+        (WebCore::GraphicsContext::clipPath):
+        * svg/graphics/SVGResourceClipper.cpp:
+        (WebCore::SVGResourceClipper::applyClip):
+        * svg/graphics/cairo/SVGResourceClipperCairo.cpp: Removed.
+        * svg/graphics/cg/SVGResourceClipperCg.cpp: Removed.
+        * svg/graphics/qt/SVGResourceClipperQt.cpp: Removed.
+
+2008-11-14  Antti Koivisto  <antti@apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        Combine loadFrameRequestWithFormState to loadFrameRequestWithFormAndValues.
+
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
+        * loader/FrameLoader.h:
+
+2008-11-14  Sam Weinig  <sam@webkit.org>
+
+        Reviewed by Eric Seidel.
+
+        Remove unneeded forward declaration.
+
+        * plugins/Plugin.h:
+
+2008-11-14  Darin Fisher  <darin@chromium.org>
+
+        Reviewed by Darin Adler.
+
+        https://bugs.webkit.org/show_bug.cgi?id=22251
+        HTMLCanvasElement.cpp unnecessarily includes runtime/Interpreter.h
+
+        * html/HTMLCanvasElement.cpp:
+
+2008-11-14  Yael Aharon  <yael.aharon@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        Add new files from the Qt port to the build.
+
+        * WebCore.pro:
+
+2008-11-14  Yael Aharon  <yael.aharon@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        Made DatabaseTracker::hasEntryForOrigin() public. This allows the Qt
+        port to apply a default quota only if there is no entry in the
+        database for a given origin yet.
+
+        * storage/DatabaseTracker.h:
+
+2008-11-14  Yael Aharon  <yael.aharon@nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        Make it possible to get the cache directory set in the application
+        cache storage.
+
+        * loader/appcache/ApplicationCacheStorage.cpp:
+        (WebCore::ApplicationCacheStorage::cacheDirectory): Added.
+        * loader/appcache/ApplicationCacheStorage.h:
+
+2008-11-14  Justin Garcia  <justin.garcia@apple.com>
+
+        Reviewed by Beth Dakin.
+
+        <rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages
+        
+        When applying block styles, we would add block properties to the body element, and Mail's
+        Make Plain Text feature isn't equipped to remove those.  This could have been fixed on our side,
+        but this change has the advantage that it fixes the bug on Tiger, where Mail does not plan future updates.
+        
+        We have code that puts the paragraphs that we're operating on into blocks of their own before
+        adding or removing block properties from the blocks that enclose them.  We need to run this code 
+        when the enclosing block is the body element.
+        
+        * editing/CompositeEditCommand.cpp:
+        (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Added, moved code from moveParagraphContents
+        to here.
+        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Renamed some variables for clarity.
+        Added a few comments.  Fixed bug by not bailing out when the block about to be used is the body element.
+        * editing/CompositeEditCommand.h:
+
+2008-11-14  Cameron Zwarich  <zwarich@apple.com>
+
+        Reviewed by Darin Adler.
+
+        Bug 22245: Move wtf/dtoa.h into the WTF namespace
+        <https://bugs.webkit.org/show_bug.cgi?id=22245>
+
+        Move wtf/dtoa.h into the WTF namespace from the JSC namespace.
+
+        * platform/text/String.cpp:
+        (WebCore::charactersToDouble):
+
+2008-11-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
+
+        Rubber-stamped by Simon Hausmann.
+
+        Make sure Qt scrollbars follow the style with regard to context menus
+
+        * platform/qt/ScrollbarQt.cpp:
+        (WebCore::Scrollbar::contextMenu):
+
+2008-11-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
+
+        Rubber-stamped by Simon Hausmann.
+
+        Make scrollbar look active when the window is active on Qt/Mac
+
+        * platform/qt/ScrollbarThemeQt.cpp:
+        (WebCore::styleOptionSlider):
+        (WebCore::ScrollbarThemeQt::paint):
+
+2008-11-13  Eric Seidel  <eric@webkit.org>
+
+        Reviewed by Adam Roben.
+
+        Add a basic Scons-based build system for building
+        Chromium-Mac WebCore.
+        https://bugs.webkit.org/show_bug.cgi?id=21991
+
+        The build currently fails due to missing files from our
+        platform directory (platform skia and platform chromium)
+        I will be sending those up shortly in separate patches.
+        I expect it will be a while before our WebCore build links.
+
+        * SConstruct: Added.
+        * WebCore.scons: Added.
+
+2008-11-13  Darin Fisher  <darin@chromium.org>
+
+        Reviewed by Darin Adler.
+
+        https://bugs.webkit.org/show_bug.cgi?id=22248
+        AtomicString.cpp uses JSC types outside of #if USE(JSC)
+
+        * platform/text/AtomicString.cpp:
+        (WebCore::AtomicString::add):
+        
+2008-11-13  Justin Garcia  <justin.garcia@apple.com>
+
+        Reviewed by Darin Adler.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=18620
+        Long hang under TextIterator::advance() when loading http://www.lsvd.de/
+
+        A huge section at the beginning of this document is invisible.  As we iterate through it,
+        we create VisiblePositions unnecessarily.
+
+        * editing/TextIterator.cpp:
+        (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition 
+        creation if m_node is unrendered or invisible.  The answers wouldn't have much meaning 
+        and would be wasteful.  Also fixed some comments to reflect the fact that this function
+        isn't specifically about emitting a newline.
+
+2008-11-13  Pierre-Olivier Latour  <pol@apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Remove unused or unnecessary code from AnimationBase class.
+
+        * page/animation/AnimationBase.cpp:
+        (WebCore::AnimationBase::AnimationBase):
+        (WebCore::AnimationBase::playStatePlaying):
+        * page/animation/AnimationBase.h:
+
+2008-11-12  Tor Arne Vestbø  <tavestbo@trolltech.com>
+
+        Reviewed by Simon Hausmann.
+
+        Inital implementation of PluginPackage and PluginView for Mac NPAPI support in WebCore
+
+        Currently only used by QtWebKit. See also:
+
+        https://bugs.webkit.org/show_bug.cgi?id=21427
+
+        * WebCore.pro:
+        * platform/qt/TemporaryLinkStubs.cpp:
+        (PluginView::userAgentStatic):
+        (PluginView::getValueStatic):
+        * plugins/PluginView.cpp:
+        (WebCore::PluginView::handleEvent):
+        (WebCore::PluginView::setValue):
+        (WebCore::PluginView::PluginView):
+        * plugins/PluginView.h:
+        (WebCore::PluginView::setPlatformPluginWidget):
+        * plugins/mac/PluginPackageMac.cpp: Added.
+        (WebCore::PluginPackage::determineQuirks):
+        (WebCore::readPListFile):
+        (WebCore::stringListFromResourceId):
+        (WebCore::PluginPackage::fetchInfo):
+        (WebCore::PluginPackage::load):
+        (WebCore::PluginPackage::hash):
+        (WebCore::PluginPackage::equal):
+        (WebCore::PluginPackage::compareFileVersion):
+        * plugins/mac/PluginViewMac.cpp: Added.
+        (WebCore::nativeWindowFor):
+        (WebCore::cgHandleFor):
+        (WebCore::topLevelOffsetFor):
+        (WebCore::PluginView::init):
+        (WebCore::PluginView::~PluginView):
+        (WebCore::PluginView::stop):
+        (WebCore::PluginView::getValueStatic):
+        (WebCore::PluginView::getValue):
+        (WebCore::PluginView::setParent):
+        (WebCore::PluginView::show):
+        (WebCore::PluginView::hide):
+        (WebCore::PluginView::setFocus):
+        (WebCore::PluginView::setParentVisible):
+        (WebCore::PluginView::setNPWindowRect):
+        (WebCore::PluginView::setNPWindowIfNeeded):
+        (WebCore::PluginView::updatePluginWidget):
+        (WebCore::PluginView::paint):
+        (WebCore::PluginView::invalidateRect):
+        (WebCore::PluginView::invalidateRegion):
+        (WebCore::PluginView::forceRedraw):
+        (WebCore::PluginView::handleMouseEvent):
+        (WebCore::PluginView::handleKeyboardEvent):
+        (WebCore::PluginView::nullEventTimerFired):
+        (WebCore::modifiersForEvent):
+        (WebCore::PluginView::globalMousePosForPlugin):
+        (WebCore::PluginView::dispatchNPEvent):
+        (WebCore::PluginView::userAgent):
+        (WebCore::PluginView::userAgentStatic):
+        (WebCore::PluginView::handlePostReadFile):
+
+2008-11-12  Alexey Proskuryakov  <ap@webkit.org>
+
+        Reviewed by Darin Adler.
+
+        https://bugs.webkit.org/show_bug.cgi?id=22200
+        Crash when close event is dispatched to MessagePort due to document destruction
+
+        Test: fast/events/message-port-onclose.html
+
+        * dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed):
+        Don't dispatch close event, even though HTML5 currently says that we should. It is not
+        right for GC to have observable effects.
+
+2008-11-12  Alexey Proskuryakov  <ap@webkit.org>
+
+        Reviewed by Darin Adler.
+
+        https://bugs.webkit.org/show_bug.cgi?id=22203
+        Implement Worker messaging
+
+        No test cases included, because this functionality is disabled by default.
+
+        The implementation is known to still have many race condition, but works quite well for
+        testing.
+
+        * WebCore.xcodeproj/project.pbxproj: Added WorkerTask.{h,cpp}.
+
+        * bindings/js/JSDOMBinding.cpp:
+        (WebCore::markActiveObjectsForContext): Re-worded comments a little.
+        (WebCore::markCrossHeapDependentObjectsForContext): Existing cross-heap GC protocol was
+        incorrect, changed it to a much simpler (but still incorrect) version.
+
+        * dom/WorkerTask.cpp: Added.
+        (WebCore::WorkerTask::~WorkerTask):
+        * dom/WorkerTask.h: Added.
+        Tasks posted to workers implement this new interface.
+
+        * bindings/js/JSDedicatedWorkerCustom.cpp:
+        (WebCore::JSDedicatedWorker::mark):
+        (WebCore::JSDedicatedWorker::connect):
+        * dom/DedicatedWorker.h:
+        * dom/DedicatedWorker.idl:
+        Auto-generate event listener attributes. Renamed startConversation() to connect(), tracking
+        WHATWG discussions.
+
+        * dom/DedicatedWorker.cpp:
+        (WebCore::WorkerConnectTask::WorkerConnectTask): A task that performs worker-side connect()
+        operations.
+        (WebCore::DedicatedWorker::DedicatedWorker): Initialize WorkerThread pointer.
+        (WebCore::DedicatedWorker::connect): Connect() creates a pair of entangled ports, and posts
+        one to worker. Since message port registration in ScriptExecutionContext is not thread safe,
+        this port starts with a null context pointer.
+        (WebCore::DedicatedWorker::notifyFinished): Since Worker methods should work immediately
+        after creation, we have to queue tasks until after a WorkerThread object is created. Then we
+        forward all queued tasks to its queue.
+
+        * dom/EventTarget.cpp: (WebCore::EventTarget::toWorkerContext):
+        * dom/EventTarget.h:
+        * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
+        Added cases for WorkerContext, which is now an EventTarget, too.
+
+        * bindings/js/JSWorkerContext.h: Added JSWorkerContext::put() to make onconnect settable.
+        * bindings/js/JSWorkerContext.cpp:
+        (WebCore::JSWorkerContext::mark): Mark event listeners.
+        (WebCore::JSWorkerContext::createPrototype): Fixed a typo, use the right StructureID.
+        (WebCore::JSWorkerContext::put): Implemented.
+        (WebCore::jsWorkerContextPrototypeFunctionAddEventListener): Added an EventTarget implementation.
+        (WebCore::jsWorkerContextPrototypeFunctionRemoveEventListener): Ditto.
+        (WebCore::jsWorkerContextPrototypeFunctionDispatchEvent): Ditto.
+        (WebCore::jsWorkerContextOnconnect): Added.
+        (WebCore::setJSWorkerContextOnconnect): Added.
+
+        * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
+        Made it actually work by adding necessary setup.
+
+        * bindings/js/WorkerScriptController.h: (WebCore::WorkerScriptController::initScriptIfNeeded):
+        Check the right variable - it is the wrapper that may not be initialized yet.
+
+        * dom/ActiveDOMObject.cpp:
+        (WebCore::ActiveDOMObject::ActiveDOMObject):
+        (WebCore::ActiveDOMObject::~ActiveDOMObject):
+        Assert being called from the correct thread, as active DOM object tracking is not thread safe.
+
+        * dom/ScriptExecutionContext.h: Added a Task interface and a postTask() method, to be used
+        for asynchronously executing tasks in context's thread.
+
+        * dom/ScriptExecutionContext.cpp:
+        (WebCore::ProcessMessagesSoonTask): Changed from a Timer to a Task
+        (WebCore::ScriptExecutionContext::ScriptExecutionContext): Removed m_firedMessagePortTimer.
+        It was an optimization that couldn't be easily preserved without introducing race conditions
+        in multithreading case.
+        (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon): Use postTask().
+        (WebCore::ScriptExecutionContext::dispatchMessagePortEvents): Added a comment explaining
+        why it's OK to not ref() ports in a frozen copy.
+        (WebCore::ScriptExecutionContext::createdMessagePort): Assert that we're not being called
+        from a wrong thread.
+        (WebCore::ScriptExecutionContext::destroyedMessagePort): Ditto.
+        (WebCore::ScriptExecutionContextTaskTimer): Part of
+        ScriptExecutionContext::Task implementation - use Timer if posting from main thread to main
+        thread.
+        (WebCore::ScriptExecutionContextTaskWorkerTask): Another part - use WorkerTask if posting
+        to a worker.
+        (WebCore::PerformTaskContext::PerformTaskContext): Finally, use callOnMainThread() if posting
+        to main thread from a secondary one.
+        (WebCore::performTask): A helper function for callOnMainThread().
+        (WebCore::ScriptExecutionContext::postTask): Use one of the above implementations.
+
+        * dom/MessagePort.h: Fixed message queue to keep EventData pointers - otherwise, we would
+        ref/deref EventData::message from different threads, which is not allowed.
+
+        * dom/MessagePort.cpp:
+        (WebCore::MessagePortCloseEventTask): Use a task instead of a timer to work across threads.
+        (WebCore::MessagePort::EventData::create): Updated for EventData being refcountable now.
+        (WebCore::MessagePort::EventData::EventData): Ditto.
+        (WebCore::MessagePort::MessagePort): ScriptExecutionContext is now allowed to be null at
+        first, because we need to create ports for posting to other threads, and it is not possible
+        to register in a context from another thread.
+        (WebCore::MessagePort::clone): Always create ports with null contexts - it is now message
+        receiver's job to set the context.
+        (WebCore::MessagePort::postMessage): Enable posting to ports that are not attached to any
+        context yet.
+        (WebCore::MessagePort::startConversation): Ditto. Data port is always posted unattached.
+        (WebCore::MessagePort::contextDestroyed): Assert that we had a context.
+        (WebCore::MessagePort::attachToContext): Called when receiving a data port to register in
+        context.
+        (WebCore::MessagePort::scriptExecutionContext): Moved from header, as the function is virtual.
+        (WebCore::MessagePort::dispatchMessages): Attach data port to receiving context. Use postTask().
+        (WebCore::MessagePort::queueCloseEvent): Use postTask().
+        (WebCore::MessagePort::hasPendingActivity): Reworded comment a little. As mentioned above,
+        MessagePort cross-heap GC is still quite wrong.
+
+        * dom/WorkerContext.h: Made WorkerContext an event target, added onconnect attribute.
+        * dom/WorkerContext.cpp: Keep a pointer to WorkerThread. It is only used for debug assertions
+        now, but there is no harm in tracking it in release builds, too.
+
+        * dom/WorkerThread.cpp:
+        (WebCore::WorkerThread::create): WorkerThread is refcountable, construct with create().
+        (WebCore::WorkerThread::workerThread): Implemented a message loop.
+        * dom/WorkerThread.h:
+        (WebCore::WorkerThread::threadID): Also only used for assertions.
+        (WebCore::WorkerThread::messageQueue): Return a reference to queue, so clients can post to it.
+
+        * page/DOMWindow.cpp:
+        (WebCore::DOMWindow::postMessage): MessagePort::clone() no longer takes a context, as it
+        always sets it to null.
+        (WebCore::DOMWindow::postMessageTimerFired): Attach data port to receiving context.
+
+2008-11-12  Dirk Schulze  <vbs85@gmx.de>
+
+        Reviewed Darin Adler.
+
+        use strokeColor.alpha() instead of fillColor.alpha()
+        on GraphicsContext::strokePath()
+
+        [Canvas] Transparent fillStyle stops line rendering
+        https://bugs.webkit.org/show_bug.cgi?id=21888
+
+        Test: fast/canvas/canvas-stroke-empty-fill.html
+
+        * ChangeLog:
+        * platform/graphics/cg/GraphicsContextCG.cpp:
+        (WebCore::GraphicsContext::strokePath):
+
+2008-11-12  Stephanie  <slewis@apple.com>
+
+        Reviewed by Mark Rowe.
+
+        Fix context leak in XSLStyleSheets.
+        See bug https://bugs.webkit.org/show_bug.cgi?id=15715
+
+        * xml/XSLStyleSheet.cpp:
+        (WebCore::XSLStyleSheet::parseString):
+
+2008-11-12  Alp Toker  <alp@nuanti.com>
+
+        autotools: List web worker-related headers needed for a successful
+        build. distcheck is passing again with this change.
+
+        * GNUmakefile.am:
+
+2008-11-12  Alp Toker  <alp@nuanti.com>
+
+        autotools build system fix-up only. Add FloatQuad.h to the source
+        lists and sort them.
+
+        * GNUmakefile.am:
+
+2008-11-12  Alp Toker  <alp@nuanti.com>
+
+        Build fixes for r38346. FloatQuad.cpp is missing:
+
+        1) #include "config.h"
+        2) #include <algorithm> for various mathematical definitions it uses.
+
+        * platform/graphics/FloatQuad.cpp:
+
+2008-11-12  Simon Fraser  <simon.fraser@apple.com>
+
+        Reviewed by Dan Bernstein
+
+        https://bugs.webkit.org/show_bug.cgi?id=22212
+
+        Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that
+        it may be the bounding outline box of a transformed element, and fix it
+        to respect transforms by mapping the outline box to an absolute quad and
+        taking the enclosing rect.
+        
+        RenderBox::localToAbsoluteQuad() can no longer assert that there is no
+        LayoutState, but LayoutState cannot be used during quad mapping (it knows
+        nothing about transforms).
+        
+        Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting
+        borderTopExtra() from the object, rather than its container (as localToAbsolute()
+        does).
+        
+        Test: fast/repaint/transform-absolute-child.html
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::layoutBlock):
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::localToAbsoluteQuad):
+        * rendering/RenderFlexibleBox.cpp:
+        (WebCore::RenderFlexibleBox::layoutBlock):
+        * rendering/RenderForeignObject.cpp:
+        (WebCore::RenderForeignObject::layout):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::updateLayerPositions):
+        (WebCore::RenderLayer::setHasVisibleContent):
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
+        (WebCore::RenderObject::absoluteOutlineBounds):
+        * rendering/RenderObject.h:
+        * rendering/RenderPath.cpp:
+        (WebCore::RenderPath::layout):
+        * rendering/RenderReplaced.cpp:
+        (WebCore::RenderReplaced::layout):
+        * rendering/RenderSVGContainer.cpp:
+        (WebCore::RenderSVGContainer::layout):
+        * rendering/RenderSVGImage.cpp:
+        (WebCore::RenderSVGImage::layout):
+        * rendering/RenderSVGRoot.cpp:
+        (WebCore::RenderSVGRoot::layout):
+        * rendering/RenderSVGText.cpp:
+        (WebCore::RenderSVGText::layout):
+        * rendering/RenderSVGViewportContainer.cpp:
+        (WebCore::RenderSVGViewportContainer::layout):
+        * rendering/RenderTable.cpp:
+        (WebCore::RenderTable::layout):
+
+2008-11-12  Simon Fraser  <simon.fraser@apple.com>
+
+        Reviewed by Dave Hyatt
+
+        https://bugs.webkit.org/show_bug.cgi?id=21942
+        https://bugs.webkit.org/show_bug.cgi?id=18557
+        
+        Add methods which can be used to map renderer-local rectangles
+        to quads in absolute coordinates, taking transforms into account:
+            localToAbsoluteQuad() converts a local rect into an absolute quad.
+            collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects()
+                that works with quads.
+            absoluteQuads() is an analogue of absoluteRects(), for quads.
+        
+        Use the quad methods to fix the inspector highlight for transformed
+        elements.
+
+        * GNUmakefile.am:
+        * WebCore.pro:
+        * WebCore.vcproj/WebCore.vcproj:
+        * WebCore.xcodeproj/project.pbxproj:
+        * WebCoreSources.bkl:
+        * inspector/InspectorController.cpp:
+        (WebCore::drawOutlinedQuad):
+        (WebCore::drawHighlightForBoxes):
+        (WebCore::frameToMainFrameOffset):
+        (WebCore::InspectorController::drawNodeHighlight):
+        * platform/graphics/AffineTransform.cpp:
+        (WebCore::AffineTransform::mapQuad):
+        * platform/graphics/AffineTransform.h:
+        * platform/graphics/FloatQuad.cpp: Added.
+        (WebCore::min4):
+        (WebCore::max4):
+        (WebCore::FloatQuad::boundingBox):
+        * platform/graphics/FloatQuad.h: Added.
+        (WebCore::FloatQuad::FloatQuad):
+        (WebCore::FloatQuad::p1):
+        (WebCore::FloatQuad::p2):
+        (WebCore::FloatQuad::p3):
+        (WebCore::FloatQuad::p4):
+        (WebCore::FloatQuad::setP1):
+        (WebCore::FloatQuad::setP2):
+        (WebCore::FloatQuad::setP3):
+        (WebCore::FloatQuad::setP4):
+        (WebCore::FloatQuad::isEmpty):
+        (WebCore::FloatQuad::enclosingBoundingBox):
+        (WebCore::FloatQuad::move):
+        (WebCore::operator+=):
+        (WebCore::operator-=):
+        (WebCore::operator==):
+        (WebCore::operator!=):
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::localToAbsoluteQuad):
+        * rendering/RenderBox.h:
+        * rendering/RenderContainer.cpp:
+        (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
+        * rendering/RenderContainer.h:
+        * rendering/RenderInline.cpp:
+        (WebCore::RenderInline::absoluteQuads):
+        * rendering/RenderInline.h:
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::absoluteBoundingBoxRect):
+        (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
+        (WebCore::RenderObject::absoluteQuads):
+        (WebCore::RenderObject::localToAbsoluteQuad):
+        (WebCore::RenderObject::absoluteContentQuad):
+        * rendering/RenderObject.h:
+        * rendering/RenderPath.cpp:
+        (WebCore::RenderPath::absoluteQuads):
+        * rendering/RenderPath.h:
+        * rendering/RenderSVGContainer.cpp:
+        (WebCore::RenderSVGContainer::absoluteQuads):
+        * rendering/RenderSVGContainer.h:
+        * rendering/RenderSVGHiddenContainer.cpp:
+        (WebCore::RenderSVGHiddenContainer::absoluteQuads):
+        * rendering/RenderSVGHiddenContainer.h:
+        * rendering/RenderSVGImage.cpp:
+        (WebCore::RenderSVGImage::calculateAbsoluteBounds):
+        (WebCore::RenderSVGImage::absoluteQuads):
+        * rendering/RenderSVGImage.h:
+        * rendering/RenderSVGInlineText.cpp:
+        (WebCore::RenderSVGInlineText::absoluteQuads):
+        (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
+        * rendering/RenderSVGInlineText.h:
+        * rendering/RenderSVGRoot.cpp:
+        (WebCore::RenderSVGRoot::absoluteQuads):
+        * rendering/RenderSVGRoot.h:
+        * rendering/RenderSVGTSpan.cpp:
+        (WebCore::RenderSVGTSpan::absoluteRects):
+        (WebCore::RenderSVGTSpan::absoluteQuads):
+        * rendering/RenderSVGTSpan.h:
+        * rendering/RenderSVGText.cpp:
+        (WebCore::RenderSVGText::absoluteRects):
+        (WebCore::RenderSVGText::absoluteQuads):
+        * rendering/RenderSVGText.h:
+        * rendering/RenderSVGTextPath.cpp:
+        (WebCore::RenderSVGTextPath::absoluteRects):
+        (WebCore::RenderSVGTextPath::absoluteQuads):
+        * rendering/RenderSVGTextPath.h:
+        * rendering/RenderTableCell.cpp:
+        (WebCore::RenderTableCell::localToAbsolute):
+        (WebCore::RenderTableCell::localToAbsoluteQuad):
+        * rendering/RenderTableCell.h:
+        * rendering/RenderText.cpp:
+        (WebCore::RenderText::absoluteQuads):
+        (WebCore::RenderText::collectAbsoluteLineBoxQuads):
+        * rendering/RenderText.h:
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::localToAbsoluteQuad):
+        (WebCore::RenderView::absoluteQuads):
+        * rendering/RenderView.h:
+
+2008-11-12  Brent Fulgham <bfulgham@gmail.com>
+
+        Fix Bug 22178: Build errors in WebKit Cairo port
+
+        <https://bugs.webkit.org/show_bug.cgi?id=22178>
+
+        Reviewed by Mark Rowe.
+
+        * platform/graphics/cairo/PatternCairo.cpp: Correct build error under
+        Visual Studio.
+        (WebCore::Pattern::createPlatformPattern):
+
+2008-11-12  Adam Roben  <aroben@apple.com>
+
+        Fix a typo in the include path for the Release_Cairo configuration
+
+        * WebCore.vcproj/WebCore.vcproj: Fixed "caro" -> "cairo" typo.
+
+2008-11-12  Simon Fraser  <simon.fraser@apple.com>
+
+        Reviewed by Dave Hyatt
+
+        https://bugs.webkit.org/show_bug.cgi?id=17840
+        Patch 2
+        
+        Code cleanup in RenderBox::computeAbsoluteRepaintRect().
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::computeAbsoluteRepaintRect):
+
+2008-11-12  Simon Fraser  <simon.fraser@apple.com>
+
+        Reviewed by Dave Hyatt
+
+        https://bugs.webkit.org/show_bug.cgi?id=17840
+
+        Fix repainting when the transform on a positioned element changes.
+        In computeAbsoluteRepaintRect(), add the offsets due to relative positioning,
+        and being in a positioned container after applying the transform to the local
+        rect.
+
+        Tests: fast/repaint/transform-absolute-in-positioned-container.html
+               fast/repaint/transform-relative-position.html
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::computeAbsoluteRepaintRect):
+
+2008-11-12  Justin Garcia  <justin.garcia@apple.com>
+        Reviewed by Beth Dakin.
+        <rdar://problem/5495723> Selecting and deleting quoted text quotes other text
+        <rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted
+        
+        We don't want to merge into a block if it will mean changing the quote level of content after deleting 
+        selections that contain a whole number paragraphs plus a line break, since it is unclear to most users 
+        that such a selection actually ends at the start of the next paragraph.  Instead we want to completely
+        remove the selected paragraph(s) and all evidence of the first one's quote level.  This matches TextEdit behavior 
+        for indented paragraphs.
+        * editing/DeleteSelectionCommand.cpp:
+        (WebCore::DeleteSelectionCommand::initializePositionData): For the selections described above, do not
+        try to merge after the deletion.  Instead try and prune the start block or blocks if they've been emptied
+        so that we remove evidence of the deleted paragraphs' quote level.
+        (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary.  Also 
+        make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection 
+        started on, instead of one higher.
+        * editing/DeleteSelectionCommand.h:
+        * editing/htmlediting.cpp:
+        (WebCore::numEnclosingMailBlockquotes): Added.
+        * editing/htmlediting.h:
+
+2008-11-10  Tor Arne Vestbø  <tavestbo@trolltech.com>
+
+        Reviewed by Simon Hausmann.
+
+        Move _web_encodingForResource from WebKit into WebCore and change return type
+
+        This change is needed to implement NSAPI in WebCore for Mac, see:
+
+        https://bugs.webkit.org/show_bug.cgi?id=21427
+
+        * WebCore.base.exp:
+        * platform/mac/WebCoreNSStringExtras.h:
+        * platform/mac/WebCoreNSStringExtras.mm:
+        (stringEncodingForResource):
+
+2008-11-10  Tor Arne Vestbø  <tavestbo@trolltech.com>
+
+        Reviewed by Simon Hausmann.
+
+        Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
+        WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
+
+        This change is needed to implement NSAPI in WebCore for Mac, see:
+
+        https://bugs.webkit.org/show_bug.cgi?id=21427
+
+        * WebCore.base.exp:
+        * platform/mac/WebCoreNSStringExtras.h:
+        * platform/mac/WebCoreNSStringExtras.mm:
+        (stringIsCaseInsensitiveEqualToString):
+
+2008-11-11  Stephanie  <slewis@apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        Null check image data before setting it as image source.
+
+        Test: fast/images/image-empty-data.html
+
+        * platform/graphics/BitmapImage.cpp:
+        (WebCore::BitmapImage::destroyDecodedData):
+
+2008-11-11  Adele Peterson  <adele@apple.com>
+
+        Reviewed by Tim Hatcher.
+
+        Remove ifdef so future OS versions can use the new delegate method.
+
+        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
+
+2008-11-11  Eric Seidel  <eric@webkit.org>
+
+        Reviewed by Antti Koivisto and Sam Weinig.
+
+        Clean up HTMLTokenizer a litle
+        https://bugs.webkit.org/show_bug.cgi?id=22188
+
+        Rename pendingScripts to m_pendingScripts
+        Rename scriptNode to m_scriptNode make the type specific
+        Rename pendingSrc to m_pendingSrc
+        Rename currentPrependingSrc to m_currentPrependingSrc
+        Rename noMoreData to m_noMoreData and cBuffer to m_cBuffer
+        Remove long-since-dead kdDebug and qDebug calls
+        Rename brokenComments to m_brokenComments
+        Remove HTMLTokenizer includes and document the rest
+        Rename src to m_src
+        Rename parser to m_parser and make it an OwnPtr
+        Rename inWrite to m_inWrite and jsProxy to scriptController
+        Rename brokenServer to m_brokenServer
+        Rename buffer to m_buffer and dest to m_dest
+        Rename size to m_bufferSize
+        Rename attrName to m_attrName
+        Rename searchStopper to m_searchStopper and searchStopperLen to m_searchStopperLen
+        Rename scriptCode* to m_scriptCode* and change scriptCodeMax to m_scriptCodeCapacity
+        Rename scriptStartLineno to m_currentScriptTagStartLineNumber and tagStartLineno to m_currentTagStartLineNumber
+        Rename scriptSrc to m_scriptTagSrcAttrValue and scriptSrcCharset to m_scriptTagCharsetAttrValue -- a bit unwieldy, but more precise
+        Rename flat to selfClosingTag
+        Rename currToken to m_currentToken
+
+        * css/CSSParser.cpp:
+        * dom/XMLTokenizer.cpp:
+        * dom/XMLTokenizerLibxml2.cpp:
+        * html/HTMLDocument.cpp:
+        * html/HTMLElement.cpp:
+        * html/HTMLFormControlElement.cpp:
+        * html/HTMLParser.h:
+        * html/HTMLTokenizer.cpp:
+        (WebCore::Token::addAttribute):
+        (WebCore::HTMLTokenizer::HTMLTokenizer):
+        (WebCore::HTMLTokenizer::reset):
+        (WebCore::HTMLTokenizer::begin):
+        (WebCore::HTMLTokenizer::processListing):
+        (WebCore::HTMLTokenizer::parseSpecial):
+        (WebCore::HTMLTokenizer::scriptHandler):
+        (WebCore::HTMLTokenizer::scriptExecution):
+        (WebCore::HTMLTokenizer::parseComment):
+        (WebCore::HTMLTokenizer::parseServer):
+        (WebCore::HTMLTokenizer::parseProcessingInstruction):
+        (WebCore::HTMLTokenizer::parseText):
+        (WebCore::HTMLTokenizer::parseEntity):
+        (WebCore::HTMLTokenizer::parseTag):
+        (WebCore::HTMLTokenizer::write):
+        (WebCore::HTMLTokenizer::processingData):
+        (WebCore::HTMLTokenizer::end):
+        (WebCore::HTMLTokenizer::finish):
+        (WebCore::HTMLTokenizer::processToken):
+        (WebCore::HTMLTokenizer::processDoctypeToken):
+        (WebCore::HTMLTokenizer::~HTMLTokenizer):
+        (WebCore::HTMLTokenizer::enlargeBuffer):
+        (WebCore::HTMLTokenizer::enlargeScriptBuffer):
+        (WebCore::HTMLTokenizer::notifyFinished):
+        (WebCore::HTMLTokenizer::setSrc):
+        * html/HTMLTokenizer.h:
+        (WebCore::Token::Token):
+        (WebCore::Token::reset):
+        (WebCore::HTMLTokenizer::processingContentWrittenByScript):
+        (WebCore::HTMLTokenizer::htmlParser):
+        (WebCore::HTMLTokenizer::checkBuffer):
+        (WebCore::HTMLTokenizer::checkScriptBuffer):
+        * html/HTMLViewSourceDocument.h:
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::leftRelOffset):
+        (WebCore::RenderBlock::rightRelOffset):
+        (WebCore::RenderBlock::lineWidth):
+        * xml/XSLTProcessor.cpp:
+
+2008-11-11  Sam Weinig  <sam@webkit.org>
+
+        Reviewed by Dan Bernstein.
+
+        Fix for https://bugs.webkit.org/show_bug.cgi?id=22189
+        Track CachedScript decoded data
+
+        We now track the decoded size of CachedScripts in the Cache allowing
+        them to accounted for when deciding when to evict data.  The decoded
+        data itself can be evicted when Cache pressure gets high enough through
+        CachedScript::destroyDecodedData.
+
+        * loader/CachedResource.h:
+        (WebCore::CachedResource::allClientsRemoved):
+        (WebCore::CachedResource::destroyDecodedData):
+        * loader/CachedScript.cpp:
+        (WebCore::CachedScript::script):
+        (WebCore::CachedScript::data):
+        (WebCore::CachedScript::destroyDecodedData):
+        * loader/CachedScript.h:
+
+2008-11-11  Cameron Zwarich  <zwarich@apple.com>
+
+        Reviewed by Geoff Garen.
+
+        Remove pointless dependencies on the now-deleted kjs directory and
+        mentions of it in comments that are no longer relevant.
+
+        * WebCore.pro:
+        * webcore-base.bkl:
+
+2008-11-11  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Adam Roben.
+
+        WebCore part of adding a master volume control for media elements in a WebView
+
+        * WebCore.base.exp: Exported WebCore::Page::setMediaVolume().
+        * dom/Document.cpp:
+        (WebCore::Document::mediaVolumeDidChange): Added. Called by the Page
+        when the media volume is changed.
+        (WebCore::Document::registerForMediaVolumeCallbacks): Added. Allows
+        elements to register for a callback when the media volume is changed.
+        (WebCore::Document::unregisterForMediaVolumeCallbacks): Added. Allows
+        elements to unregister for the callback.
+        * dom/Document.h:
+        * dom/Element.h:
+        (WebCore::Element::mediaVolumeDidChange): Added an empty implementation.
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::HTMLMediaElement): Added a call to
+        registerForMediaVolumeCallbacks().
+        (WebCore::HTMLMediaElement::~HTMLMediaElement): Added a call to
+        unregisterForMediaVolumeCallbacks().
+        (WebCore::HTMLMediaElement::updateVolume): Changed to multiply the
+        element's intrinsic volume by the master volume from the page.
+        (WebCore::HTMLMediaElement::mediaVolumeDidChange): Added. Calls
+        updateVolume().
+        * html/HTMLMediaElement.h:
+        * page/Page.cpp:
+        (WebCore::Page::Page): Initialize m_mediaVolume to 1.
+        (WebCore::Page::setMediaVolume): Added. Calls mediaVolumeDidChange() on
+        every document in the page when the master volume changes.
+        * page/Page.h:
+        (WebCore::Page::mediaVolume): Added this getter.
+
+2008-11-11  David Hyatt  <hyatt@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=22182
+
+        Fix problems with scrollbars when the OS setting for clicks in the track jumping the thumb to that location
+        is turned on.  Make sure to only jump the thumb if the click happens in the track.  Also fix some math
+        errors when jumping the thumb that cause dragging after the jump to incorrectly jump the thumb again.
+
+        Reviewed by Adele
+
+        * platform/Scrollbar.cpp:
+        (WebCore::Scrollbar::mouseDown):
+
+2008-11-11  Beth Dakin  <bdakin@apple.com>
+
+        Reviewed by Darin Adler.
+
+        Fix for <rdar://problem/5089327> Too much indentation when pasting 
+        quoted paragraphs
+
+        This patch re-addresses pasting blockquotes into blockquotes. It 
+        backs out most of revision 38273. 38273 fixed the bug by inserting 
+        the pasted content as a sibling blockquote node to the pre-existing 
+        blockquote node. The problem with that is that by default, 
+        blockquotes have a giant margin, so visually, this can be weird. 
+        This patch instead inserts the pasted content as siblings of the 
+        the content already inside the outer blockquote, and then removes 
+        the blockquote node from the pasted content itself, so that it 
+        doesn't nest itself into the outer blockquote.
+        * editing/ReplaceSelectionCommand.cpp:
+        (WebCore::ReplaceSelectionCommand::doApply):
+
+        Move contains() from Element to Node since there is nothing 
+        Element-specific about it.
+        * dom/Element.cpp:
+        * dom/Element.h:
+        * dom/Node.cpp:
+        (WebCore::Node::contains):
+        * dom/Node.h:
+
+2008-11-11  David Hyatt  <hyatt@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=17997
+
+        Stop using the new Leopard API tiling call for scaled tiles when drawing background images.  The method
+        is buggy.  Fall back to using the slower (and more correct) pattern tiling that Tiger still uses.  This
+        is a Leopard-only workaround, since the API has been fixed on Snow Leopard.
+
+        Reviewed by John Sullivan
+
+        * platform/graphics/cg/ImageCG.cpp:
+        (WebCore::Image::drawPattern):
+
+2008-11-10  David Hyatt  <hyatt@apple.com>
+
+        Disable the Aqua look for menu lists when full page zoom is turned on.  Because the control is buggy
+        when scaling and because it's impossible to paint into an offscreen bitmap without completely rewriting
+        how we draw the control on Mac, our only real option for now is to just switch to our styled look when zoomed.
+
+        Reviewed by Adam Roben
+
+        * rendering/RenderThemeMac.mm:
+        (WebCore::RenderThemeMac::isControlStyled):
+
+2008-11-11  Darin Adler  <darin@apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        - https://bugs.webkit.org/show_bug.cgi?id=22160
+        speculative fix for <rdar://problem/5995450> Nil deref because nextLinePosition
+        (previousLinePosition, too) uses a nil node
+
+        * editing/visible_units.cpp:
+        (WebCore::nextLinePosition): Use RenderObject::node instead of RenderObject::element
+        to check editingIgnoresContent. It makes sense to use the associated DOM node for
+        this, even in cases of anonymous content, and it avoids the case where element() can
+        be 0.
+        (WebCore::previousLinePosition): Ditto.
+
+2008-11-11  Dirk Schulze  <vbs85@gmx.de>
+
+        Reviewed by Darin Adler.
+
+        Removed default: in applySpreadMethod. This causes the problems
+        in radial gradients. We don't need CAIRO_EXTEND_NONE in SVG, Canvas
+        or CSS.
+
+        * platform/graphics/cairo/GraphicsContextCairo.cpp:
+        (WebCore::applySpreadMethod):
+
+2008-11-11  Ariya Hidayat  <ariya.hidayat@trolltech.com>
+
+        Reviewed by Tor Arne Vestbø.
+
+        Fix crash when rendering the file chooser.
+        Also proper implementation for multi-selected files.
+
+        * platform/qt/FileChooserQt.cpp:
+        (WebCore::FileChooser::basenameForWidth):
+
+2008-11-11  Dirk Schulze  <vbs85@gmx.de>
+
+        Reviewed by Oliver Hunt.
+
+        PatternCairo needs to invert the pattern matrix because
+        of transformation from user space to pattern space.
+        Give a identity matrix to pattern for Qt and Cairo. Because the 
+        context is transformed already.
+
+        [CAIRO][QT] Canvas transformations applied twice to Patterns
+        https://bugs.webkit.org/show_bug.cgi?id=21555
+
+        * platform/graphics/cairo/GraphicsContextCairo.cpp:
+        (WebCore::GraphicsContext::fillPath):
+        (WebCore::GraphicsContext::strokePath):
+        * platform/graphics/cairo/PatternCairo.cpp:
+        (WebCore::Pattern::createPlatformPattern):
+        * platform/graphics/qt/GraphicsContextQt.cpp:
+        (WebCore::GraphicsContext::strokePath):
+        (WebCore::GraphicsContext::fillRect):
+
+2008-11-10  Stephanie Lewis  <slewis@apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        Clear the image source cache even if we haven't decoded any of the image data.
+        We use the image source cache when calculating layout.
+
+        * loader/Cache.cpp:
+        (WebCore::Cache::pruneDeadResources):
+        * platform/graphics/BitmapImage.cpp:
+        (WebCore::BitmapImage::destroyDecodedData):
+
+2008-11-10  Adam Roben  <aroben@apple.com>
+
+        Fix Bug 22161: Assertion failure in RenderThemeWin::systemColor when
+        loading microsoftpdc.com
+
+        <https://bugs.webkit.org/show_bug.cgi?id=22161>
+
+        Reviewed by Dan Bernstein.
+
+        Test: fast/css/outline-invert-assertion.html
+
+        * rendering/RenderThemeWin.cpp:
+        (WebCore::RenderThemeWin::systemColor): If we can't determine a good
+        Win32 system color to use, defer to RenderTheme instead of asserting.
+        This matches what RenderThemeMac does.
+
+2008-11-10  Justin Garcia  <justin.garcia@apple.com>
+
+        Reviewed by Beth Dakin.
+
+        <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text 
+        into quoted text yields double-quoting
+        
+        Don't nest inserted content in Mail blockquotes.  Perform a 
+        BreakBlockquoteCommand if we're in
+        one and insert the incoming fragment between the split blockquotes.
+
+        * editing/ReplaceSelectionCommand.cpp:
+        (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from -> 
+        source and to -> destination.
+        (WebCore::ReplaceSelectionCommand::doApply):
+
+2008-11-10  Adam Roben  <aroben@apple.com>
+
+        Fix Bug 22158: Would like to turn on WebCore logging channels via an
+        environment variable
+
+        <https://bugs.webkit.org/show_bug.cgi?id=22158>
+
+        Logging channels can now be enabled by setting the WebCoreLogLevel
+        environment variable to a hexadecimal number.
+
+        Reviewed by Anders Carlsson.
+
+        * WebCore.vcproj/WebCore.vcproj: Added LoggingWin.cpp.
+        * platform/win/LoggingWin.cpp: Copied from WebCore/platform/mac/LoggingMac.mm.
+        (WebCore::initializeWithUserDefault): Read in the WebCoreLogLevel
+        environment variable, parse its value as a hexadecimal number, and
+        turn the channel on/off based on whether the mask bit is set.
+        (WebCore::InitializeLoggingChannelsIfNecessary): Initialize each
+        logging channel in turn.
+
+2008-11-10  Darin Adler  <darin@apple.com>
+
+        Reviewed by Adam Roben.
+
+        - fix https://bugs.webkit.org/show_bug.cgi?id=22103
+          Changing fonts in preferences does not immediately update WebViews
+
+        This broke when the meaning of FrameView::invalidate changed.
+        I changed setNeedsReapplyStyles to no longer depend on invalidate.
+
+        * dom/Document.cpp: (WebCore::Document::shouldScheduleLayout):
+        Removed the part of this function that duplicated what's already in
+        FrameView::needsLayout, since the copy here left out a few key things.
+        For example, it didn't handle the fact that "needs reapply styles"
+        counts as needing layout.
+
+        * page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles): This called
+        FrameView::invalidate before. There were two things wrong with that.
+        1) It requested that the entire view repaint even if the style change
+        didn't necessitate that. 2) FrameView::invalidate no longer causes any
+        repainting at all in certain cases, because of Hyatt's changes to how
+        widgets and the host window are involved in the repainting process.
+        So call FrameView::scheduleRelayout instead, which is more precisely
+        what we want and need here.
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::scheduleRelayout): Add a call to needsLayout here
+        so that Document::shouldScheduleLayout doesn't have to replicate the
+        logic that's in needsLayout and can instead rely on the fact that it
+        was already called.
+        (WebCore::FrameView::needsLayout): Tweaked the comments and formatting
+        in this function.
+
+2008-11-10  Darin Adler  <darin@apple.com>
+
+        Reviewed by Adam Roben.
+
+        - speculative fix for <rdar://problem/5557243> crashes in Safari at
+          WebCore::HTMLSelectElement::updateListBoxSelection + 280
+
+        * html/HTMLSelectElement.cpp:
+        (WebCore::HTMLSelectElement::updateListBoxSelection):
+        Check index against size of vector before indexing into the vector.
+
+2008-11-10  Tom Cooksey  <thomas.cooksey@trolltech.com>
+
+        Reviewed by Tor Arne Vestbø.
+
+        Fix QtWebkit build failure on arm.
+
+        pen.widthF() is a qreal, which means it's a float on arm.
+
+        * platform/graphics/qt/GraphicsContextQt.cpp:
+        (WebCore::GraphicsContext::setLineDash):
+
+2008-11-10  Morten Sørvig  <msorvig@trolltech.com>
+
+        Reviewed by Simon Hausmann.
+
+        Improve mouse wheel scolling on Qt/Cocoa.
+        Cocoa differs from Carbon (and other platforms I think) in that the
+        mouse wheel events we get have a much higher acceleration factor.
+
+        This submit switches over to scroll-per-pixel from scroll-per-line
+        for most of our scrolling views. This matches the native views
+        and works well with the increased acceleration.
+
+        * platform/qt/WheelEventQt.cpp:
+
+2008-11-09  Cameron Zwarich  <zwarich@apple.com>
+
+        Reviewed by Darin Adler.
+
+        Bug 19541: Null pointer in showModalDialog()
+        <https://bugs.webkit.org/show_bug.cgi?id=19541>
+
+        Add null frame->page() checks to JSDOMWindowBase::canShowModalDialog()
+        and JSDOMWindowBase::canShowModalDialogNow()C
+
+        * bindings/js/JSDOMWindowBase.cpp:
+        (WebCore::canShowModalDialog):
+        (WebCore::canShowModalDialogNow):
+
+2008-11-09  Darin Adler  <darin@apple.com>
+
+        - try to fix Windows build
+
+        * platform/graphics/Color.cpp: For some reason MSVC doesn't follow the rules
+        about needed a separate definition for static const integer data members.
+        Until I get to the bottom of this, put the definitions inside an ifdef.
+
+2008-11-09  David Kilzer  <ddkilzer@apple.com>
+
+        BUILD FIX: Qt build broke after r38235.
+
+        Added HAVE(ACCESSIBILITY) header guards to platform implementation
+        source files.
+
+        * page/gtk/AccessibilityObjectAtk.cpp: Added HAVE(ACCESSIBILITY)
+        guards.
+        * page/gtk/AccessibilityObjectWrapperAtk.cpp: Ditto.
+        * page/qt/AccessibilityObjectQt.cpp: Ditto.
+        * page/win/AccessibilityObjectWin.cpp: Ditto.
+        * page/wx/AccessibilityObjectWx.cpp: Ditto.
+
+2008-11-09  Alexey Proskuryakov  <ap@webkit.org>
+
+        Reviewed by Darin Adler.
+
+        https://bugs.webkit.org/show_bug.cgi?id=22104
+        Javascript URL percent encoding/decoding broken by some characters
+
+        Test: fast/loader/javascript-url-encoding-2.html
+
+        * platform/KURL.cpp: (WebCore::encodeRelativeString): Don't try to break down javascript URLs.
+
+2008-11-09  Holger Hans Peter Freyther  <zecke@selfish.org>
+
+        Reviewed and tweaked by Darin Adler.
+
+        * platform/graphics/Color.cpp: Added definitions for the static data members
+        in this class. Static data members need a definition, even when they are the
+        simple integer constant kind that can be initialized in the header.
+
+2008-11-08  Antti Koivisto  <antti@apple.com>
+
+        Reviewed by Sam Weinig.
+        
+        Fix https://bugs.webkit.org/show_bug.cgi?id=22141
+        REGRESSION: Safari error page is not fully styled when loaded from cache
+        
+        Reset text decoder on flush so it does not pass through the BOM when it is reused.
+
+        Test: fast/encoding/css-cached-bom.html
+
+        * loader/TextResourceDecoder.cpp:
+        (WebCore::TextResourceDecoder::flush):
+
+2008-11-08  Kevin Ollivier  <kevino@theolliviers.com>
+        Reviewed by Mark Rowe.
+
+        Send URL errors to stderr rather than stdout. While debugging wx DumpRenderTree,
+        it was causing these errors to end up in the page's text representation.
+
+        * platform/network/curl/ResourceHandleManager.cpp:
+        (WebCore::ResourceHandleManager::downloadTimerCallback):
+
 2008-11-08  Kevin Ollivier  <kevino@theolliviers.com>
 
         wx build fixes after addition of JSCore parser and bycompiler dirs.