- 14 Nov, 2008 2 commits
-
-
bolsinga@apple.com authored
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, ()); git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38418 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mitz@apple.com authored
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: WebKit: Reviewed by Darin Adler. - part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate * English.lproj/Localizable.strings: Added the Text Direction submenu title. WebKit/mac: Reviewed by Darin Adler. - <rdar://problem/6234333> Implement action methods for setting and clearing character-level directionality - part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate * WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory contextMenuItemTagTextDirectionMenu]): Added. * WebView/WebFrame.mm: (core): Added a convertor from WebTextDirectionSubmenuInclusionBehavior to WebCore::TextDirectionSubmenuInclusionBehavior. * WebView/WebFrameInternal.h: * WebView/WebHTMLView.mm: Added makeTextWritingDirectionLeftToRight:, makeTextWritingDirectionNatural: and makeTextWritingDirectionRightToLeft: using the WEBCORE_COMMAND macro. * WebView/WebPreferenceKeysPrivate.h: Added WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Set the default Text Direction submenu inclusion behavior to never include. (-[WebPreferences textDirectionSubmenuInclusionBehavior]): Added this accessor. (-[WebPreferences setTextDirectionSubmenuInclusionBehavior:]): Ditto. * WebView/WebPreferencesPrivate.h: Defined the WebTextDirectionSubmenuInclusionBehavior enum and declared accessors. * WebView/WebUIDelegatePrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): Added code to transfer the Text Direction submenu inclusion behavior preference to WebCore settings. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 12 Nov, 2008 1 commit
-
-
simon.fraser@apple.com authored
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 git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 11 Nov, 2008 1 commit
-
-
eric@webkit.org authored
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: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 07 Nov, 2008 1 commit
-
-
simon.fraser@apple.com authored
Reviewed by Dan Bernstein https://bugs.webkit.org/show_bug.cgi?id=22122 Use a stack-based object to simplify the pushLayoutState/popLayoutState code. LayoutStateMaintainer either pushes in the constructor, or allows an explicit push() later. Both cases require an explicit pop(). * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::layoutOnlyPositionedObjects): * rendering/RenderContainer.cpp: (WebCore::RenderContainer::layout): * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::layout): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::setCellWidths): (WebCore::RenderTableSection::calcRowHeight): (WebCore::RenderTableSection::layoutRows): * rendering/RenderView.h: (WebCore::LayoutStateMaintainer::LayoutStateMaintainer): (WebCore::LayoutStateMaintainer::~LayoutStateMaintainer): (WebCore::LayoutStateMaintainer::pop): (WebCore::LayoutStateMaintainer::push): (WebCore::LayoutStateMaintainer::didPush): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38227 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 06 Nov, 2008 4 commits
-
-
ddkilzer@apple.com authored
WebCore: BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0. Apparently older versions of gcc have issues with this patch. Backing out a second time until the issues are resolved. WebKit/mac: BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0. Apparently older versions of gcc have issues with this patch. Backing out a second time until the issues are resolved. WebKitTools: BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0. Apparently older versions of gcc have issues with this patch. Backing out a second time until the issues are resolved. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38207 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ddkilzer@apple.com authored
WebCore: BUILD WAS NOT BROKEN: Rolling r38189 back in. Please perform a clean build if you see crashes. WebKit/mac: BUILD WAS NOT BROKEN: Rolling r38189 back in. Please perform a clean build if you see crashes. WebKitTools: BUILD WAS NOT BROKEN: Rolling r38189 back in. Please perform a clean build if you see crashes. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ddkilzer@apple.com authored
WebCore: BUILD FIX: Backed out r38189 since it apparently broke the world. WebKit/mac: BUILD FIX: Backed out r38189 since it apparently broke the world. WebKitTools: BUILD FIX: Backed out r38189 since it apparently broke the world. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ddkilzer@apple.com authored
WebCore: 2008-11-06 Greg Bolsinga <bolsinga@apple.com> Reviewed by Darin Adler. Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors) https://bugs.webkit.org/show_bug.cgi?id=21810 * bindings/js/GCController.cpp: (WebCore::gcController): Changed to leak an object to avoid an exit-time destructor. * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet): Ditto * bindings/js/JSInspectedObjectWrapper.cpp: (WebCore::wrappers): Ditto * bindings/js/JSInspectorCallbackWrapper.cpp: (WebCore::wrappers): Ditto * bridge/runtime_root.cpp: (JSC::Bindings::rootObjectSet): Ditto * css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::removeProperty): Ditto * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText): Ditto * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Ditto * css/CSSStyleSelector.cpp: (WebCore::screenEval): Ditto (WebCore::printEval): Ditto * dom/DOMImplementation.cpp: (WebCore::isSVG10Feature): Ditto (WebCore::isSVG11Feature): Ditto (WebCore::DOMImplementation::isXMLMIMEType): Ditto * dom/Document.cpp: (WebCore::Document::hasPrefixNamespaceMismatch): Ditto * dom/ScriptElement.cpp: (WebCore::isSupportedJavaScriptLanguage): Ditto * editing/ApplyStyleCommand.cpp: (WebCore::styleSpanClassString): Ditto * editing/HTMLInterchange.cpp: (WebCore::): Ditto * editing/IndentOutdentCommand.cpp: (WebCore::indentBlockquoteString): Ditto * editing/ReplaceSelectionCommand.cpp: (WebCore::isInterchangeNewlineNode): Ditto (WebCore::isInterchangeConvertedSpaceSpan): Ditto * editing/htmlediting.cpp: (WebCore::stringWithRebalancedWhitespace): Ditto (WebCore::nonBreakingSpaceString): Ditto * editing/markup.cpp: (WebCore::appendAttributeValue): Ditto (WebCore::appendEscapedContent): Ditto (WebCore::shouldAddNamespaceAttr): Ditto (WebCore::appendNamespace): Ditto (WebCore::appendStartMarkup): Ditto (WebCore::createMarkup): Ditto * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::type): Ditto * html/HTMLElement.cpp: (WebCore::HTMLElement::isRecognizedTagName): Ditto (WebCore::inlineTagList): Ditto (WebCore::blockTagList): Ditto * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::type): Ditto * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::type): Ditto * html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::type): Ditto * html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::type): Ditto * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::type): Ditto * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::type): Ditto * html/HTMLParser.cpp: (WebCore::HTMLParser::getNode): Ditto (WebCore::HTMLParser::isHeaderTag): Ditto (WebCore::HTMLParser::isResidualStyleTag): Ditto (WebCore::HTMLParser::isAffectedByResidualStyle): Ditto * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::type): Ditto * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::type): Ditto * inspector/InspectorController.cpp: (WebCore::platform): Ditto * inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::shared): Ditto * inspector/JavaScriptProfile.cpp: (WebCore::profileCache): Ditto * inspector/JavaScriptProfileNode.cpp: (WebCore::profileNodeCache): Ditto * loader/FrameLoader.cpp: (WebCore::localSchemes): Ditto * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::cacheStorage): Ditto * loader/archive/ArchiveFactory.cpp: (WebCore::archiveMIMETypes): Ditto * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::defaultDatabaseFilename): Ditto * page/EventHandler.cpp: (WebCore::EventHandler::dragState): Ditto * page/Frame.cpp: (WebCore::createRegExpForLabels): Ditto (WebCore::keepAliveSet): Ditto * page/Page.cpp: (WebCore::Page::groupName): Ditto * page/SecurityOrigin.cpp: (WebCore::isDefaultPortForProtocol): Ditto (WebCore::SecurityOrigin::databaseIdentifier): Ditto * page/mac/FrameMac.mm: (WebCore::regExpForLabels): Ditto * platform/KURL.cpp: (WebCore::blankURL): Ditto * platform/graphics/FontCache.cpp: (WebCore::alternateFamilyName): Ditto * platform/graphics/mac/FontCacheMac.mm: (WebCore::FontCache::getSimilarFontPlatformData): Ditto (WebCore::FontCache::getLastResortFallbackFont): Ditto * platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarTheme::nativeTheme): Ditto * platform/mac/ThemeMac.mm: (WebCore::platformTheme): Ditto * platform/mac/ThreadCheck.mm: (WebCoreReportThreadViolation): Ditto * platform/network/NetworkStateNotifier.cpp: (WebCore::networkStateNotifier): Ditto * platform/network/mac/FormDataStreamMac.mm: (WebCore::getStreamFormDataMap): Ditto (WebCore::getStreamResourceHandleMap): Ditto * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit): Ditto * platform/text/TextEncoding.cpp: (WebCore::TextEncoding::isJapanese): Ditto * rendering/RenderBlock.cpp: (WebCore::continuationOutlineTable): Ditto * rendering/RenderCounter.cpp: (WebCore::counterMaps): Ditto * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto * rendering/RenderListItem.cpp: (WebCore::RenderListItem::markerText): Ditto * rendering/RenderScrollbarTheme.cpp: (WebCore::RenderScrollbarTheme::renderScrollbarTheme): Ditto * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::systemFont): Ditto * rendering/bidi.cpp: (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::initialDashboardRegions): Ditto (WebCore::RenderStyle::noneDashboardRegions): Ditto * storage/LocalStorage.cpp: (WebCore::localStorageMap): Ditto * svg/SVGAnimateMotionElement.cpp: (WebCore::SVGAnimateMotionElement::rotateMode): Ditto * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::calcMode): Ditto (WebCore::SVGAnimationElement::attributeType): Ditto (WebCore::SVGAnimationElement::isAdditive): Ditto (WebCore::SVGAnimationElement::isAccumulated): Ditto * svg/SVGLangSpace.cpp: (WebCore::SVGLangSpace::xmlspace): Ditto * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::contentScriptType): Ditto (WebCore::SVGSVGElement::contentStyleType): Ditto * svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::type): Ditto (WebCore::SVGStyleElement::media): Ditto * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::parseMappedAttribute): Ditto * svg/animation/SVGSMILElement.cpp: (WebCore::SVGSMILElement::parseClockValue): Ditto (WebCore::SVGSMILElement::restart): Ditto (WebCore::SVGSMILElement::fill): Ditto (WebCore::SVGSMILElement::repeatCount): Ditto (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): Ditto * svg/graphics/SVGResource.cpp: (WebCore::clientMap): Ditto * svg/graphics/SVGResourceMarker.cpp: (WebCore::SVGResourceMarker::draw): Ditto * xml/XMLHttpRequest.cpp: (WebCore::preflightResultCache): Ditto (WebCore::isSafeRequestHeader): Ditto (WebCore::isOnAccessControlResponseHeaderWhitelist): Ditto * xml/XPathExpressionNode.cpp: (WebCore::XPath::Expression::evaluationContext): Ditto * xml/XPathParser.cpp: (WebCore::XPath::isAxisName): Ditto (WebCore::XPath::isNodeTypeName): Ditto * xml/XPathValue.cpp: (WebCore::XPath::Value::toNodeSet): Ditto WebKit/mac: 2008-11-06 Greg Bolsinga <bolsinga@apple.com> Reviewed by Darin Adler. Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors) https://bugs.webkit.org/show_bug.cgi?id=21810 * History/WebBackForwardList.mm: (backForwardLists): Changed to leak an object to avoid an exit-time destructor. * History/WebHistoryItem.mm: (historyItemWrappers): Ditto * Misc/WebStringTruncator.m: (fontFromNSFont): Ditto * Plugins/WebBaseNetscapePluginStream.mm: (streams): Ditto * WebView/WebView.mm: (aeDescFromJSValue): Ditto WebKitTools: 2008-11-06 Greg Bolsinga <bolsinga@apple.com> Reviewed by Darin Adler. Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors) https://bugs.webkit.org/show_bug.cgi?id=21810 Remove .o files from the exclude list that have had their exit-time destructors removed. * Scripts/check-for-exit-time-destructors: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 04 Nov, 2008 1 commit
-
-
simon.fraser@apple.com authored
Reviewed by Dave Hyatt https://bugs.webkit.org/show_bug.cgi?id=21941 Rename absolutePosition() to localToAbsolute(), and add the ability to optionally take transforms into account (which will eventually be the default behavior). git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 16 Oct, 2008 1 commit
-
-
hyatt@apple.com authored
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): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 09 Oct, 2008 1 commit
-
-
simon.fraser@apple.com authored
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. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 03 Oct, 2008 1 commit
-
-
simon.fraser@apple.com authored
Reviewed by Dave Hyatt Make setStyle() take a const RenderStyle, to ensure that an earlier RenderStyle::diff() remains valid. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37252 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 02 Oct, 2008 1 commit
-
-
simon.fraser@apple.com authored
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): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 28 Sep, 2008 1 commit
-
-
darin@apple.com authored
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. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 25 Sep, 2008 1 commit
-
-
hyatt@apple.com authored
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): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36925 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 16 Sep, 2008 2 commits
-
-
mitz@apple.com authored
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. LayoutTests: Reviewed by Darin Adler. - updated results for https://bugs.webkit.org/show_bug.cgi?id=15129 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint * platform/mac/fast/repaint/4776765-expected.checksum: * platform/mac/fast/repaint/4776765-expected.png: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mitz@apple.com authored
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. LayoutTests: Reviewed by Dave Hyatt. - test for https://bugs.webkit.org/show_bug.cgi?id=15384 Div does not notice when grandparent changes height - test for https://bugs.webkit.org/show_bug.cgi?id=20714 Resizing Gmail inbox vertically results in whitespace at the bottom of the window * fast/block/basic/quirk-percent-height-grandchild.html: Added. * fast/replaced/percent-height-in-anonymous-block.html: Added. * platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.checksum: Added. * platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.png: Added. * platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.txt: Added. * platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.checksum: Added. * platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.png: Added. * platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 14 Sep, 2008 1 commit
-
-
weinig@apple.com authored
2008-09-14 Sam Weinig <sam@webkit.org> Reviewed by Mark Rowe. Remove extraneous semicolons. * kjs/nodes.cpp: (JSC::PrefixResolveNode::emitCode): * wtf/FastMalloc.cpp: (WTF::TCMalloc_PageHeap::GrowHeap): WebCore: 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): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 04 Sep, 2008 1 commit
-
-
mitz@apple.com authored
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. LayoutTests: Reviewed by Dave Hyatt. - test for https://bugs.webkit.org/show_bug.cgi?id=19717 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist * fast/block/positioning/move-with-auto-width.html: Added. * platform/mac/fast/block/positioning/move-with-auto-width-expected.checksum: Added. * platform/mac/fast/block/positioning/move-with-auto-width-expected.png: Added. * platform/mac/fast/block/positioning/move-with-auto-width-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 03 Sep, 2008 1 commit
-
-
hyatt@apple.com authored
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): LayoutTests: 2008-09-03 David Hyatt <hyatt@apple.com> Fix for bug 18203. Reviewed by Darin (ages ago). * fast/block/float/clamped-right-float.html: Added. * platform/mac/fast/block/float/clamped-right-float-expected.checksum: Added. * platform/mac/fast/block/float/clamped-right-float-expected.png: Added. * platform/mac/fast/block/float/clamped-right-float-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36061 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 07 Aug, 2008 1 commit
-
-
simon.fraser@apple.com authored
Reviewed by Sam Weinig Rename Marquee to RenderMarquee and move to its own file. https://bugs.webkit.org/show_bug.cgi?id=20319 * GNUmakefile.am: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * html/HTMLMarqueeElement.cpp: * rendering/RenderBlock.cpp: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::styleChanged): * rendering/RenderLayer.h: * rendering/RenderMarquee.cpp: Added. (WebCore::RenderMarquee::RenderMarquee): (WebCore::RenderMarquee::marqueeSpeed): (WebCore::RenderMarquee::direction): (WebCore::RenderMarquee::isHorizontal): (WebCore::RenderMarquee::computePosition): (WebCore::RenderMarquee::start): (WebCore::RenderMarquee::suspend): (WebCore::RenderMarquee::stop): (WebCore::RenderMarquee::updateMarqueePosition): (WebCore::RenderMarquee::updateMarqueeStyle): (WebCore::RenderMarquee::timerFired): * rendering/RenderMarquee.h: Added. (WebCore::RenderMarquee::speed): (WebCore::RenderMarquee::reverseDirection): (WebCore::RenderMarquee::setEnd): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35627 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 01 Aug, 2008 1 commit
-
-
hyatt@apple.com authored
Improvements to selection drawing. Clip out floating and positioned objects when drawing selection so that there is no "double painting" of selection when the selection spans both the space behind the positioned/floating object and the positioned/floating object itself. Improves most Web pages. Do not paint left/right selection gaps if the object's edge is already outside the boundary (at a negative position). Significantly improves the look of selections on digg.com, since it uses giant negative text-indent. Reviewed by Dan Covered by existing selection pixel tests. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::isSelectionRoot): (WebCore::RenderBlock::paintSelection): (WebCore::clipOutPositionedObjects): (WebCore::RenderBlock::fillSelectionGaps): (WebCore::RenderBlock::fillLeftSelectionGap): (WebCore::RenderBlock::fillRightSelectionGap): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 29 Jul, 2008 1 commit
-
-
mitz@apple.com authored
Reviewed by Dave Hyatt. - fix <rdar://problem/6059648> Some content not visible when the window is short at courtneyalbright.com Test: fast/overflow/float-in-relpositioned.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::lowestPosition): Add this block's relative offset to floats' and positioned objects' lowest position. (WebCore::RenderBlock::rightmostPosition): Ditto. (WebCore::RenderBlock::leftmostPosition): Ditto. * rendering/RenderBox.cpp: (WebCore::RenderBox::lowestPosition): Removed redundant test. (WebCore::RenderBox::rightmostPosition): Ditto. (WebCore::RenderBox::leftmostPosition): Ditto. LayoutTests: Reviewed by Dave Hyatt. - test, updated test and results for <rdar://problem/6059648> Some content not visible when the window is short at courtneyalbright.com * fast/overflow/float-in-relpositioned.html: Added. * fast/repaint/containing-block-position-change.html: Changed to avoid a full repaint due to a scroll bar appearing. * platform/mac/fast/clip/015-expected.txt: * platform/mac/fast/overflow/float-in-relpositioned-expected.checksum: Added. * platform/mac/fast/overflow/float-in-relpositioned-expected.png: Added. * platform/mac/fast/overflow/float-in-relpositioned-expected.txt: Added. * platform/mac/fast/repaint/clipped-relative-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 12 Jul, 2008 1 commit
-
-
mitz@apple.com authored
Reviewed by Oliver Hunt. - fix https://bugs.webkit.org/show_bug.cgi?id=18088 <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue Test: fast/block/basic/min-pref-width-nowrap-floats.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a float's width was added to the minimum preferred widths instead of just acting as a lower bound on the minimum preferred width (since the float can always be pushed down to be the only thing on the line). LayoutTests: Reviewed by Oliver Hunt. - test for https://bugs.webkit.org/show_bug.cgi?id=18088 <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue * fast/block/basic/min-pref-width-nowrap-floats.html: Added. * platform/mac/fast/block/basic/min-pref-width-nowrap-floats-expected.checksum: Added. * platform/mac/fast/block/basic/min-pref-width-nowrap-floats-expected.png: Added. * platform/mac/fast/block/basic/min-pref-width-nowrap-floats-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 20 Jun, 2008 2 commits
-
-
timothy@apple.com authored
WebCore: 2008-06-19 Timothy Hatcher <timothy@apple.com> Changed all lineHeight, baselinePosition and verticalPositionHint calls to return int instead of short. The short was overflowing when a value greater than 32,767 was encountered. Fixes: iframes with a height of 32,768px or greater do not layout correctly https://bugs.webkit.org/show_bug.cgi?id=19679 Reviewed by Dave Hyatt. Test: fast/css/line-height-overflow.html * rendering/RenderBR.cpp: (WebCore::RenderBR::baselinePosition): * rendering/RenderBR.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::lineHeight): * rendering/RenderBlock.h: * rendering/RenderFlow.cpp: * rendering/RenderFlow.h: * rendering/RenderListBox.cpp: * rendering/RenderListBox.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::lineHeight): * rendering/RenderListMarker.h: * rendering/RenderObject.cpp: (WebCore::RenderObject::verticalPositionHint): * rendering/RenderObject.h: (WebCore::): * rendering/RenderPath.cpp: (WebCore::RenderPath::lineHeight): * rendering/RenderPath.h: * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::lineHeight): * rendering/RenderReplaced.h: * rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::lineHeight): * rendering/RenderSVGContainer.h: * rendering/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::lineHeight): * rendering/RenderSVGHiddenContainer.h: * rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::lineHeight): * rendering/RenderSVGRoot.h: * rendering/RenderSlider.cpp: * rendering/RenderSlider.h: * rendering/RenderTableCell.cpp: * rendering/RenderTableCell.h: * rendering/RenderTableCol.h: * rendering/RenderTableRow.h: * rendering/RenderTableSection.h: * rendering/RenderText.cpp: * rendering/RenderText.h: * rendering/RenderTextControl.cpp: * rendering/RenderTextControl.h: * rendering/RenderTheme.cpp: * rendering/RenderTheme.h: * rendering/RenderThemeMac.h: * rendering/RenderThemeMac.mm: * rendering/RenderThemeSafari.cpp: * rendering/RenderThemeSafari.h: LayoutTests: 2008-06-19 Timothy Hatcher <timothy@apple.com> Test for: iframes with a height of 32,768px or greater do not layout correctly https://bugs.webkit.org/show_bug.cgi?id=19679 Reviewed by Dave Hyatt. * fast/css/line-height-overflow.html: Added. * platform/mac/fast/css/line-height-overflow-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mitz@apple.com authored
Reviewed by Darin Adler. - fix https://bugs.webkit.org/show_bug.cgi?id=19519 <rdar://problem/6007345> DOM modification causes stack exhaustion (BUTTON OBJECT COLGROUP) Test: fast/table/prepend-in-anonymous-table.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::addChildToFlow): Added code to handle the case of inserting before a child that has been wrapped by an anonymous table, in which case if the new child is the type that needs to be in a table, it is inserted into the table, and otherwise it is inserted before the table. * rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): Added table-column-group alongside table-caption as content that can exist inside an anonymous table without being wrapped in a table section. LayoutTests: Reviewed by Darin Adler. - test for https://bugs.webkit.org/show_bug.cgi?id=19519 <rdar://problem/6007345> DOM modification causes stack exhaustion (BUTTON OBJECT COLGROUP) * fast/table/prepend-in-anonymous-table.html: Added. * platform/mac/fast/table/prepend-in-anonymous-table-expected.checksum: Added. * platform/mac/fast/table/prepend-in-anonymous-table-expected.png: Added. * platform/mac/fast/table/prepend-in-anonymous-table-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34692 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 16 Jun, 2008 1 commit
-
-
darin@apple.com authored
2008-06-15 Darin Adler <darin@apple.com> - give Frame object functions shorter names: scriptProxy() -> script(), selectionController() -> selection(), animationController() -> animation() * WebCore.base.exp: * 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::JSDOMWindowBase::~JSDOMWindowBase): (WebCore::allowPopUp): (WebCore::createWindow): (WebCore::windowProtoFuncOpen): (WebCore::toJS): (WebCore::toJSDOMWindow): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::setLocation): * bindings/js/JSDOMWindowShell.cpp: (WebCore::toJS): (WebCore::toJSDOMWindowShell): * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::setLocation): * bindings/js/JSLocationCustom.cpp: (WebCore::navigateIfAllowed): (WebCore::JSLocation::reload): * bindings/js/JSNodeFilterCondition.cpp: (WebCore::JSNodeFilterCondition::acceptNode): * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute): * bindings/js/kjs_events.cpp: (WebCore::JSAbstractEventListener::handleEvent): (WebCore::JSLazyEventListener::parseCode): * bindings/js/kjs_html.cpp: (WebCore::runtimeObjectImplementsCall): * bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * bridge/jni/jni_jsobject.mm: (createRootObject): * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): * dom/Document.cpp: (WebCore::Document::nodeWillBeRemoved): (WebCore::Document::createHTMLEventListener): * dom/Element.cpp: (WebCore::Element::updateFocusAppearance): * dom/EventTarget.cpp: (WebCore::EventTarget::dispatchGenericEvent): * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::startElementNs): * editing/DeleteButtonController.cpp: (WebCore::DeleteButtonController::respondToChangedSelection): (WebCore::DeleteButtonController::enable): (WebCore::DeleteButtonController::deleteTarget): * editing/EditCommand.cpp: (WebCore::EditCommand::EditCommand): * editing/Editor.cpp: (WebCore::Editor::selectionForCommand): (WebCore::Editor::canEdit): (WebCore::Editor::canEditRichly): (WebCore::Editor::canDHTMLCut): (WebCore::Editor::canDHTMLCopy): (WebCore::Editor::canCopy): (WebCore::Editor::canDelete): (WebCore::Editor::deleteWithDirection): (WebCore::Editor::deleteSelectionWithSmartDelete): (WebCore::Editor::replaceSelectionWithFragment): (WebCore::Editor::selectedRange): (WebCore::Editor::tryDHTMLCopy): (WebCore::Editor::tryDHTMLCut): (WebCore::Editor::fontForSelection): (WebCore::Editor::selectionUnorderedListState): (WebCore::Editor::selectionOrderedListState): (WebCore::Editor::increaseSelectionListLevel): (WebCore::Editor::increaseSelectionListLevelOrdered): (WebCore::Editor::increaseSelectionListLevelUnordered): (WebCore::Editor::decreaseSelectionListLevel): (WebCore::Editor::dispatchCPPEvent): (WebCore::Editor::applyStyle): (WebCore::Editor::applyParagraphStyle): (WebCore::Editor::applyStyleToSelection): (WebCore::Editor::applyParagraphStyleToSelection): (WebCore::Editor::selectionHasStyle): (WebCore::Editor::appliedEditing): (WebCore::Editor::unappliedEditing): (WebCore::Editor::reappliedEditing): (WebCore::Editor::insertLineBreak): (WebCore::Editor::insertParagraphSeparator): (WebCore::Editor::paste): (WebCore::Editor::selectComposition): (WebCore::Editor::confirmComposition): (WebCore::Editor::setComposition): (WebCore::Editor::advanceToNextMisspelling): (WebCore::Editor::isSelectionUngrammatical): (WebCore::Editor::guessesForUngrammaticalSelection): (WebCore::Editor::getCompositionSelection): (WebCore::Editor::transpose): * editing/EditorCommand.cpp: (WebCore::expandSelectionToGranularity): (WebCore::executeDeleteToMark): (WebCore::executeMoveBackward): (WebCore::executeMoveBackwardAndModifySelection): (WebCore::executeMoveDown): (WebCore::executeMoveDownAndModifySelection): (WebCore::executeMoveForward): (WebCore::executeMoveForwardAndModifySelection): (WebCore::executeMoveLeft): (WebCore::executeMoveLeftAndModifySelection): (WebCore::executeMovePageDown): (WebCore::executeMovePageDownAndModifySelection): (WebCore::executeMovePageUp): (WebCore::executeMovePageUpAndModifySelection): (WebCore::executeMoveRight): (WebCore::executeMoveRightAndModifySelection): (WebCore::executeMoveToBeginningOfDocument): (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): (WebCore::executeMoveToBeginningOfLine): (WebCore::executeMoveToBeginningOfLineAndModifySelection): (WebCore::executeMoveToBeginningOfParagraph): (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): (WebCore::executeMoveToBeginningOfSentence): (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): (WebCore::executeMoveToEndOfDocument): (WebCore::executeMoveToEndOfDocumentAndModifySelection): (WebCore::executeMoveToEndOfSentence): (WebCore::executeMoveToEndOfSentenceAndModifySelection): (WebCore::executeMoveToEndOfLine): (WebCore::executeMoveToEndOfLineAndModifySelection): (WebCore::executeMoveToEndOfParagraph): (WebCore::executeMoveToEndOfParagraphAndModifySelection): (WebCore::executeMoveParagraphBackwardAndModifySelection): (WebCore::executeMoveParagraphForwardAndModifySelection): (WebCore::executeMoveUp): (WebCore::executeMoveUpAndModifySelection): (WebCore::executeMoveWordBackward): (WebCore::executeMoveWordBackwardAndModifySelection): (WebCore::executeMoveWordForward): (WebCore::executeMoveWordForwardAndModifySelection): (WebCore::executeMoveWordLeft): (WebCore::executeMoveWordLeftAndModifySelection): (WebCore::executeMoveWordRight): (WebCore::executeMoveWordRightAndModifySelection): (WebCore::executeSelectAll): (WebCore::executeSelectToMark): (WebCore::executeSetMark): (WebCore::executeSwapWithMark): (WebCore::executeUnselect): (WebCore::enabledAnySelection): (WebCore::enabledAnySelectionAndMark): (WebCore::enabledInRichlyEditableText): (WebCore::enabledRangeInEditableText): (WebCore::enabledRangeInRichlyEditableText): * editing/ModifySelectionListLevel.cpp: (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel): (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel): * editing/RemoveFormatCommand.cpp: (WebCore::RemoveFormatCommand::doApply): * editing/SelectionController.cpp: (WebCore::SelectionController::setSelection): (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): * editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteSelection): (WebCore::TypingCommand::insertText): (WebCore::TypingCommand::deleteKeyPressed): (WebCore::TypingCommand::forwardDeleteKeyPressed): * history/CachedPage.cpp: (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::restore): * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler): (WebCore::HTMLAnchorElement::setActive): * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createNPObject): * html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::evaluateScript): * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): (WebCore::HTMLTokenizer::processToken): * loader/FrameLoader.cpp: (WebCore::FrameLoader::executeScript): (WebCore::FrameLoader::clear): (WebCore::FrameLoader::userGestureHint): (WebCore::FrameLoader::open): (WebCore::FrameLoader::dispatchWindowObjectAvailable): (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): * loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::createFromSelection): * page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::selection): (WebCore::AccessibilityRenderObject::setSelectedTextRange): (WebCore::AccessibilityRenderObject::isFocused): (WebCore::AccessibilityRenderObject::doAXTextMarkerRangeForLine): (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange): (WebCore::AccessibilityRenderObject::doAXRangeForLine): (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged): * page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected): * page/DOMSelection.cpp: (WebCore::DOMSelection::anchorNode): (WebCore::DOMSelection::baseNode): (WebCore::DOMSelection::anchorOffset): (WebCore::DOMSelection::baseOffset): (WebCore::DOMSelection::focusNode): (WebCore::DOMSelection::extentNode): (WebCore::DOMSelection::focusOffset): (WebCore::DOMSelection::extentOffset): (WebCore::DOMSelection::isCollapsed): (WebCore::DOMSelection::type): (WebCore::DOMSelection::rangeCount): (WebCore::DOMSelection::collapse): (WebCore::DOMSelection::collapseToEnd): (WebCore::DOMSelection::collapseToStart): (WebCore::DOMSelection::empty): (WebCore::DOMSelection::setBaseAndExtent): (WebCore::DOMSelection::setPosition): (WebCore::DOMSelection::modify): (WebCore::DOMSelection::extend): (WebCore::DOMSelection::getRangeAt): (WebCore::DOMSelection::removeAllRanges): (WebCore::DOMSelection::addRange): (WebCore::DOMSelection::deleteFromDocument): (WebCore::DOMSelection::containsNode): (WebCore::DOMSelection::toString): * page/DragController.cpp: (WebCore::DragController::dragIsMove): (WebCore::DragController::tryDocumentDrag): (WebCore::setSelectionToDragCaret): (WebCore::DragController::concludeDrag): (WebCore::prepareClipboardForImageDrag): (WebCore::DragController::startDrag): * page/EventHandler.cpp: (WebCore::EventHandler::selectClosestWordFromMouseEvent): (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): (WebCore::EventHandler::handleMousePressEventDoubleClick): (WebCore::EventHandler::handleMousePressEventTripleClick): (WebCore::EventHandler::handleMousePressEventSingleClick): (WebCore::EventHandler::handleMousePressEvent): (WebCore::EventHandler::updateSelectionForMouseDrag): (WebCore::EventHandler::handleMouseReleaseEvent): (WebCore::nodeIsNotBeingEdited): (WebCore::EventHandler::selectCursor): (WebCore::EventHandler::dispatchMouseEvent): (WebCore::EventHandler::sendContextMenuEvent): (WebCore::EventHandler::handleKeyboardSelectionMovement): (WebCore::EventHandler::handleDrag): * page/FocusController.cpp: (WebCore::FocusController::setFocusedFrame): (WebCore::clearSelectionIfNeeded): (WebCore::FocusController::setActive): * page/Frame.cpp: (WebCore::Frame::~Frame): (WebCore::Frame::script): (WebCore::Frame::setDocument): (WebCore::Frame::selectedText): (WebCore::Frame::selection): (WebCore::Frame::animation): (WebCore::Frame::notifyRendererOfSelectionChange): (WebCore::Frame::invalidateSelection): (WebCore::Frame::clearCaretRectIfNeeded): (WebCore::Frame::setFocusedNodeIfNeeded): (WebCore::Frame::selectionLayoutChanged): (WebCore::Frame::caretBlinkTimerFired): (WebCore::Frame::paintCaret): (WebCore::Frame::shouldChangeSelection): (WebCore::Frame::updateSecureKeyboardEntryIfActive): (WebCore::Frame::computeAndSetTypingStyle): (WebCore::Frame::selectionComputedStyle): (WebCore::Frame::bindingRootObject): (WebCore::Frame::windowScriptNPObject): (WebCore::Frame::clearScriptController): (WebCore::Frame::selectionTextRects): (WebCore::Frame::currentForm): (WebCore::Frame::revealSelection): (WebCore::Frame::revealCaret): (WebCore::Frame::clearTimers): (WebCore::Frame::styleForSelectionStart): (WebCore::Frame::setSelectionFromNone): (WebCore::Frame::findString): (WebCore::Frame::pageDestroyed): (WebCore::Frame::respondToChangedSelection): (WebCore::FramePrivate::FramePrivate): * page/Frame.h: * page/FramePrivate.h: * page/InspectorController.cpp: (WebCore::canPassNodeToJavaScript): (WebCore::InspectorController::windowScriptObjectAvailable): * page/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::setJavaScriptPaused): * page/Page.cpp: (WebCore::Page::findString): (WebCore::Page::selection): (WebCore::Page::setDebugger): * page/mac/FrameMac.mm: (WebCore::Frame::baseWritingDirectionForSelectionStart): (WebCore::Frame::dragImageForSelection): (WebCore::Frame::createScriptInstanceForWidget): (WebCore::Frame::windowScriptObject): * page/win/FrameWin.cpp: (WebCore::Frame::dragImageForSelection): * platform/ContextMenu.cpp: (WebCore::selectionContainsPossibleWord): (WebCore::ContextMenu::populate): (WebCore::ContextMenu::checkOrEnableIfNeeded): * plugins/PluginView.cpp: (WebCore::PluginView::performRequest): (WebCore::PluginView::bindingInstance): * rendering/HitTestResult.cpp: (WebCore::HitTestResult::isSelected): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintCaret): * rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintItemForeground): (WebCore::RenderListBox::paintItemBackground): * rendering/RenderObject.cpp: (WebCore::RenderObject::selectionBackgroundColor): (WebCore::RenderObject::selectionForegroundColor): (WebCore::RenderObject::setAnimatableStyle): (WebCore::RenderObject::destroy): (WebCore::RenderObject::animation): * rendering/RenderObject.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::selectionStart): (WebCore::RenderTextControl::selectionEnd): (WebCore::RenderTextControl::setSelectionRange): (WebCore::RenderTextControl::selectionChanged): (WebCore::RenderTextControl::capsLockStateMayHaveChanged): * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isFocused): * rendering/RenderTreeAsText.cpp: (WebCore::writeSelection): * rendering/RenderWidget.cpp: (WebCore::RenderWidget::destroy): * svg/SVGDocumentExtensions.cpp: (WebCore::SVGDocumentExtensions::createSVGEventListener): * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::deselectAll): * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::selectSubString): WebKit/gtk: 2008-06-15 Darin Adler <darin@apple.com> - give Frame object functions shorter names: scriptProxy() -> script(), selectionController() -> selection(), animationController() -> animation() * WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::handleKeyboardEvent): * WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::windowObjectCleared): * webkit/webkitwebframe.cpp: * webkit/webkitwebview.cpp: WebKit/mac: 2008-06-15 Darin Adler <darin@apple.com> - give Frame object functions shorter names: scriptProxy() -> script(), selectionController() -> selection(), animationController() -> animation() * Plugins/WebPluginController.mm: (-[WebPluginController webPlugInContainerSelectionColor]): * WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]): (-[WebFrame _hasSelection]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]): (-[WebFrame _convertToNSRange:]): (-[WebFrame _convertToDOMRange:]): (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): (-[WebFrame _insertParagraphSeparatorInQuotedContent]): (-[WebFrame _selectedNSRange]): (-[WebFrame _selectNSRange:]): (-[WebFrame globalContext]): * WebView/WebHTMLView.mm: (-[WebHTMLView _selectedRange]): (-[WebHTMLView _hasSelection]): (-[WebHTMLView _hasSelectionOrInsertionPoint]): (-[WebHTMLView _hasInsertionPoint]): (-[WebHTMLView _isEditable]): (-[WebHTMLView _updateFocusedAndActiveState]): (-[WebHTMLView readSelectionFromPasteboard:]): (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): (-[WebHTMLView maintainsInactiveSelection]): (-[WebHTMLView paste:]): (isTextInput): (-[WebHTMLView inputContext]): (-[WebTextCompleteController doCompletion]): (-[WebHTMLView selectAll]): (-[WebHTMLView deselectAll]): (-[WebHTMLView selectedAttributedString]): * WebView/WebView.mm: (-[WebView aeDescByEvaluatingJavaScriptFromString:]): (-[WebView setSelectedDOMRange:affinity:]): (-[WebView selectedDOMRange]): (-[WebView selectionAffinity]): WebKit/qt: 2008-06-15 Darin Adler <darin@apple.com> - give Frame object functions shorter names: scriptProxy() -> script(), selectionController() -> selection(), animationController() -> animation() * Api/qwebframe.cpp: (QWebFrame::evaluateJavaScript): * Api/qwebpage.cpp: (QWebPagePrivate::focusInEvent): (QWebPagePrivate::focusOutEvent): (QWebPage::inputMethodQuery): * WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::handleKeyboardEvent): WebKit/win: 2008-06-15 Darin Adler <darin@apple.com> - give Frame object functions shorter names: scriptProxy() -> script(), selectionController() -> selection(), animationController() -> animation() * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::windowObjectCleared): * WebView.cpp: (WebView::handleContextMenuEvent): (WebViewWndProc): (WebView::updateFocusedAndActiveState): (WebView::hasSelectedRange): (WebView::replaceSelectionWithText): (WebView::clearSelection): (WebView::prepareCandidateWindow): (WebView::onIMERequestCharPosition): (WebView::onIMERequestReconvertString): WebKit/wx: 2008-06-15 Darin Adler <darin@apple.com> - give Frame object functions shorter names: scriptProxy() -> script(), selectionController() -> selection(), animationController() -> animation() * WebKitSupport/EditorClientWx.cpp: (WebCore::EditorClientWx::handleKeyboardEvent): * WebView.cpp: (wxWebView::RunScript): (wxWebView::OnSetFocus): (wxWebView::OnKillFocus): WebKitTools: 2008-06-15 Darin Adler <darin@apple.com> * Scripts/do-webcore-rename: Updated for the latest round of renaming. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34589 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 08 Jun, 2008 1 commit
-
-
mitz@apple.com authored
Reviewed by Darin Adler. - fix <rdar://problem/5961977> Crash in RenderBlock::layoutColumns() Test: fast/multicol/content-height-zero-crash.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutColumns): Changed to not keep creating overflow columns that have zero height, because they do not help with fitting content in. LayoutTests: - test for <rdar://problem/5961977> Crash in RenderBlock::layoutColumns() Reviewed by Darin Adler. * fast/multicol/content-height-zero-crash-expected.txt: Added. * fast/multicol/content-height-zero-crash.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 30 May, 2008 1 commit
-
-
mitz@apple.com authored
Reviewed by Darin Adler and Dave Hyatt. - eliminate excessive repainting when an object's final position after layout is unchanged * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlockChildren): Removed the full repaint for the case that the final position is unchanged but the position at which an intermediate layout occurred was different. Any repainting done during the intermediate layout would have happened at the object's initial (and also final) coordinates, since layoutDelta is factored into repaint rect calculations. LayoutTests: Reviewed by Darin Adler. - updated pixel results for "eliminate excessive repainting when an object's final position after layout is unchanged" * platform/mac/fast/repaint/intermediate-layout-position-clip-expected.checksum: * platform/mac/fast/repaint/intermediate-layout-position-clip-expected.png: * platform/mac/fast/repaint/intermediate-layout-position-expected.checksum: * platform/mac/fast/repaint/intermediate-layout-position-expected.png: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34267 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 08 May, 2008 1 commit
-
-
mitz@apple.com authored
Reviewed by Mark Rowe. - fix https://bugs.webkit.org/show_bug.cgi?id=18818 <rdar://problem/5901544> REGRESSION (3.1.1-TOT): Character order (float:left ordered after the first letter) Test: fast/css/first-letter-float-after-float.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateFirstLetter): Changed to add the first letter container right before the rest of the text it is taken from, instead of at the beginning of the block. LayoutTests: Reviewed by Mark Rowe. - test and updated results for https://bugs.webkit.org/show_bug.cgi?id=18818 <rdar://problem/5901544> REGRESSION (3.1.1-TOT): Character order (float:left ordered after the first letter) * ChangeLog: * fast/css/first-letter-float-after-float.html: Added. * platform/mac-leopard/fast/css/first-letter-skip-out-of-flow-expected.checksum: * platform/mac-leopard/fast/css/first-letter-skip-out-of-flow-expected.png: * platform/mac/fast/css/first-letter-float-after-float-expected.checksum: Added. * platform/mac/fast/css/first-letter-float-after-float-expected.png: Added. * platform/mac/fast/css/first-letter-float-after-float-expected.txt: Added. * platform/mac/fast/css/first-letter-skip-out-of-flow-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32992 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 07 May, 2008 2 commits
-
-
mitz@apple.com authored
Reviewed by John Sullivan. - fix https://bugs.webkit.org/show_bug.cgi?id=18909 <rdar://problem/5914165> REGRESSION (r31872-r31878): Viewed photos not closing completely at indycar.com Test: fast/dynamic/positioned-movement-with-positioned-children.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutOnlyPositionedObjects): Cover the case of a positioned object that has only moved and has only positioned children that have changed. * rendering/RenderObject.h: (WebCore::RenderObject::needsPositionedMovementLayout): Added this accessor. LayoutTests: Reviewed by John Sullivan. - test for https://bugs.webkit.org/show_bug.cgi?id=18909 <rdar://problem/5914165> REGRESSION (r31872-r31878): Viewed photos not closing completely at indycar.com * fast/dynamic/positioned-movement-with-positioned-children.html: Added. * platform/mac/fast/dynamic/positioned-movement-with-positioned-children-expected.checksum: Added. * platform/mac/fast/dynamic/positioned-movement-with-positioned-children-expected.png: Added. * platform/mac/fast/dynamic/positioned-movement-with-positioned-children-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32966 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mitz@apple.com authored
Reviewed by Darin Adler. - fix <rdar://problem/5914544> Crash in layoutInlineChildren() Test: fast/block/float/float-on-zero-height-line.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::markLinesDirtyInVerticalRange): LayoutTests: Reviewed by Darin Adler. - test for <rdar://problem/5914544> Crash in layoutInlineChildren() * fast/block/float/float-on-zero-height-line.html: Added. * platform/mac/fast/block/float/float-on-zero-height-line-expected.checksum: Added. * platform/mac/fast/block/float/float-on-zero-height-line-expected.png: Added. * platform/mac/fast/block/float/float-on-zero-height-line-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 05 May, 2008 1 commit
-
-
mitz@apple.com authored
Reviewed by Dave Hyatt. - fix https://bugs.webkit.org/show_bug.cgi?id=18809 Forms with block level generated content and absolutely positioned labels break inline layout (fixed on reflow) Test: fast/block/basic/adding-near-anonymous-block.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::addChildToFlow): When adding a floating or positioned object, if it follows an anonymous block, put it inside the anonymous block. When adding an inline, check if it comes after an anonymous block and put it in the anonymous block. LayoutTests: Reviewed by Dave Hyatt. - test, updated test and updated results for https://bugs.webkit.org/show_bug.cgi?id=18809 Forms with block level generated content and absolutely positioned labels break inline layout (fixed on reflow) * fast/block/basic/adding-near-anonymous-block.html: Added. * media/video-controls-rendering.html: Changed to work around https://bugs.webkit.org/show_bug.cgi?id=18857 which now affects this test in its original form. * platform/mac/css1/box_properties/clear-expected.txt: * platform/mac/fast/block/basic/adding-near-anonymous-block-expected.checksum: Added. * platform/mac/fast/block/basic/adding-near-anonymous-block-expected.png: Added. * platform/mac/fast/block/basic/adding-near-anonymous-block-expected.txt: Added. * platform/mac/fast/forms/input-align-image-expected.txt: * platform/mac/media/audio-controls-rendering-expected.txt: * platform/mac/media/video-controls-rendering-expected.txt: * platform/mac/tables/mozilla/bugs/bug51140-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 29 Apr, 2008 1 commit
-
-
hyatt@apple.com authored
2008-04-29 David Hyatt <hyatt@apple.com> Implement the new box-reflect property in CSS. This property enables real-time reflections on objects (yes you can reflect <video>!). Reviewed by Dan Bernstein Test cases added in fast/reflections/ * GNUmakefile.am: * WebCore.pro: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::valueForReflection): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseReflect): (WebCore::BorderImageParseContext::commitBorderImage): (WebCore::CSSParser::parseBorderImage): (WebCore::parseGradientColorStop): (WebCore::CSSParser::parseTransform): * css/CSSParser.h: * css/CSSPropertyNames.in: * css/CSSReflectValue.cpp: Added. (WebCore::CSSReflectValue::cssText): * css/CSSReflectValue.h: Added. (WebCore::): (WebCore::CSSReflectValue::CSSReflectValue): (WebCore::CSSReflectValue::direction): (WebCore::CSSReflectValue::offset): (WebCore::CSSReflectValue::mask): (WebCore::CSSReflectValue::setDirection): (WebCore::CSSReflectValue::setOffset): (WebCore::CSSReflectValue::setMask): * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::mapNinePieceImage): * css/CSSStyleSelector.h: * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesVertically): (WebCore::InlineFlowBox::paintMask): * rendering/Length.h: (WebCore::Length::calcFloatValue): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::overflowHeight): (WebCore::RenderBlock::overflowWidth): (WebCore::RenderBlock::overflowLeft): (WebCore::RenderBlock::overflowTop): (WebCore::RenderBlock::overflowRect): (WebCore::RenderBlock::layoutBlock): * rendering/RenderBox.cpp: (WebCore::RenderBox::setStyle): (WebCore::RenderBox::paintMask): (WebCore::RenderBox::imageChanged): (WebCore::RenderBox::computeAbsoluteRepaintRect): * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::~RenderLayer): (WebCore::RenderLayer::updateLayerPositions): (WebCore::RenderLayer::enclosingPositionedAncestor): (WebCore::RenderLayer::enclosingTransformedAncestor): (WebCore::RenderLayer::isTransparent): (WebCore::transparencyClipBox): (WebCore::RenderLayer::operator delete): (WebCore::RenderLayer::destroy): (WebCore::RenderLayer::removeOnlyThisLayer): (WebCore::RenderLayer::insertOnlyThisLayer): (WebCore::RenderLayer::paintLayer): (WebCore::RenderLayer::updateZOrderLists): (WebCore::RenderLayer::updateOverflowList): (WebCore::RenderLayer::collectLayers): (WebCore::RenderLayer::shouldBeOverflowOnly): (WebCore::RenderLayer::styleChanged): (WebCore::RenderLayer::reflectionLayer): (WebCore::RenderLayer::createReflection): (WebCore::RenderLayer::updateReflectionStyle): * rendering/RenderLayer.h: (WebCore::RenderLayer::hasReflection): (WebCore::RenderLayer::reflection): (WebCore::RenderLayer::paintingInsideReflection): * rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): (WebCore::RenderObject::requiresLayer): (WebCore::RenderObject::setStyle): (WebCore::RenderObject::updateImage): (WebCore::RenderObject::reflectionBox): (WebCore::RenderObject::reflectionOffset): * rendering/RenderObject.h: (WebCore::RenderObject::hasTransform): (WebCore::RenderObject::setHasReflection): (WebCore::RenderObject::hasReflection): * rendering/RenderReplica.cpp: Added. (WebCore::RenderReplica::RenderReplica): (WebCore::RenderReplica::~RenderReplica): (WebCore::RenderReplica::layout): (WebCore::RenderReplica::calcPrefWidths): (WebCore::RenderReplica::paint): * rendering/RenderReplica.h: Added. (WebCore::RenderReplica::renderName): (WebCore::RenderReplica::requiresLayer): * rendering/RenderStyle.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator==): (WebCore::StyleRareNonInheritedData::reflectionDataEquivalent): (WebCore::RenderStyle::diff): (WebCore::RenderStyle::applyTransform): * rendering/RenderStyle.h: (WebCore::TranslateTransformOperation::apply): (WebCore::StyleReflection::StyleReflection): (WebCore::StyleReflection::operator==): (WebCore::StyleReflection::operator!=): (WebCore::StyleReflection::direction): (WebCore::StyleReflection::offset): (WebCore::StyleReflection::mask): (WebCore::StyleReflection::setDirection): (WebCore::StyleReflection::setOffset): (WebCore::StyleReflection::setMask): (WebCore::RenderStyle::boxReflect): (WebCore::RenderStyle::setBoxReflect): (WebCore::RenderStyle::initialBoxReflect): * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): (WebCore::RenderTable::paintMask): * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::requiresLayer): (WebCore::RenderTableCell::paintMask): LayoutTests: 2008-04-29 David Hyatt <hyatt@apple.com> Implement support for the new box-reflect property. Tests of the new property. Reviewed by Dan Bernstein * fast/reflections: Added. * fast/reflections/reflection-computed-style-expected.txt: Added. * fast/reflections/reflection-computed-style.html: Added. * fast/reflections/reflection-direction.html: Added. * fast/reflections/reflection-masks.html: Added. * fast/reflections/reflection-nesting.html: Added. * fast/reflections/resources: Added. * fast/reflections/resources/kate.png: Added. * fast/reflections/resources/vignette-mask.png: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32695 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 28 Apr, 2008 1 commit
-
-
mitz@apple.com authored
Reviewed by Dave Hyatt. - support multiple box- and text-shadows Tests: fast/css/shadow-multiple.html fast/repaint/shadow-multiple-horizontal.html fast/repaint/shadow-multiple-strict-horizontal.html fast/repaint/shadow-multiple-strict-vertical.html fast/repaint/shadow-multiple-vertical.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForShadow): Changed to account for reversing the order of the shadow values in the ShadowData list. * css/CSSValueList.cpp: (WebCore::CSSValueList::prepend): Added. * css/CSSValueList.h: * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally): Changed to account for all shadows in overflow calculation. (WebCore::InlineFlowBox::placeBoxesVertically): Ditto. (WebCore::InlineFlowBox::paint): Changed to account for all shadows when testing for intersection with the damage rect. (WebCore::InlineFlowBox::paintTextDecorations): Changed to paint all shadows. * rendering/InlineTextBox.cpp: (WebCore::paintTextWithShadows): Factored out from paint() and changed to paint all shadows. (WebCore::InlineTextBox::paint): Moved the text painting code out to paintTextWithShadows(). Changed to not paint shadows for markers and composition underlines and in "force black text" mode. (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintCompositionBackground): (WebCore::InlineTextBox::paintDecoration): Changed to paint all shadows. * rendering/InlineTextBox.h: Changed some public methods to private or protected. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::overflowHeight): Changed to account for all shadows. (WebCore::RenderBlock::overflowWidth): Ditto. (WebCore::RenderBlock::overflowLeft): Ditto. (WebCore::RenderBlock::overflowTop): Ditto. (WebCore::RenderBlock::overflowRect): Ditto. (WebCore::RenderBlock::layoutBlock): Ditto. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): Ditto. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateRects): Ditto. * rendering/RenderObject.cpp: (WebCore::RenderObject::paintBoxShadow): Changed to paint all shadows. Changed to avoid clipping out the box if it has a fully opaque background. (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Changed to account for all shadows. (WebCore::RenderObject::selectionForegroundColor): Cleaned up. (WebCore::RenderObject::adjustRectForOutlineAndShadow): Changed to account for all shadows. * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::adjustOverflowForBoxShadow): Ditto. * rendering/RenderStyle.cpp: (WebCore::RenderStyle::setTextShadow): Changed to prepend when adding so that the stacking order of shadows when painting will be "first o top". (WebCore::RenderStyle::setBoxShadow): Ditto. * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): Changed to account for all shadows. LayoutTests: Reviewed by Dave Hyatt. - add rendering and invalidation tests for multiple shadows * fast/css/shadow-multiple.html: Added. * fast/repaint/shadow-multiple-horizontal.html: Added. * fast/repaint/shadow-multiple-strict-horizontal.html: Added. * fast/repaint/shadow-multiple-strict-vertical.html: Added. * fast/repaint/shadow-multiple-vertical.html: Added. * platform/mac/fast/css/shadow-multiple-expected.checksum: Added. * platform/mac/fast/css/shadow-multiple-expected.png: Added. * platform/mac/fast/css/shadow-multiple-expected.txt: Added. * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.checksum: Added. * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png: Added. * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.txt: Added. * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.checksum: Added. * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added. * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.txt: Added. * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.checksum: Added. * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added. * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.txt: Added. * platform/mac/fast/repaint/shadow-multiple-vertical-expected.checksum: Added. * platform/mac/fast/repaint/shadow-multiple-vertical-expected.png: Added. * platform/mac/fast/repaint/shadow-multiple-vertical-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 22 Apr, 2008 1 commit
-
-
hyatt@apple.com authored
2008-04-22 David Hyatt <hyatt@apple.com> Fix for <rdar://5589634>. Implement CSS alpha masks. The syntax is very similar to that used for backgrounds. Multiple mask images can be specified, and each one can be tiled, positioned, etc. The following new properties have been added (all of which are analogous to their background-* counterparts). mask, mask-image, mask-clip, mask-origin, mask-repeat, mask-attachment, mask-position The alpha values in the final composite image are used to determine how the mask applies (alpha of 1 = show, alpha of 0 = don't show). SVG images and CSS gradients can also be used as masks. Reviewed by Dan Added fast/backgrounds/repeat/mask-negative-offset-repeat.html, fast/backgrounds/svg-as-mask.html * css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::getPropertyValue): (WebCore::initShorthandMap): * css/CSSParser.cpp: (WebCore::CSSParser::parseFillProperty): (WebCore::CSSParser::parseTransformOrigin): * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): (WebCore::CSSStyleSelector::applyProperty): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paint): (WebCore::InlineFlowBox::paintFillLayers): (WebCore::InlineFlowBox::paintFillLayer): (WebCore::InlineFlowBox::paintBoxDecorations): (WebCore::InlineFlowBox::paintMask): * rendering/InlineFlowBox.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::paint): (WebCore::RenderBlock::paintObject): * rendering/RenderBox.cpp: (WebCore::RenderBox::paintRootBoxDecorations): (WebCore::RenderBox::paintBoxDecorations): (WebCore::RenderBox::paintMask): (WebCore::RenderBox::paintFillLayers): (WebCore::RenderBox::paintFillLayer): (WebCore::RenderBox::paintFillLayerExtended): * rendering/RenderBox.h: * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::paintBoxDecorations): (WebCore::RenderFieldset::paintMask): * rendering/RenderFieldset.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::requiresLayer): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::isTransparent): (WebCore::RenderLayer::paintLayer): * rendering/RenderObject.cpp: (WebCore::RenderObject::requiresLayer): (WebCore::mustRepaintFillLayers): (WebCore::RenderObject::mustRepaintBackgroundOrBorder): (WebCore::RenderObject::setStyle): (WebCore::RenderObject::updateFillImages): * rendering/RenderObject.h: (WebCore::): (WebCore::RenderObject::hasMask): (WebCore::RenderObject::paintMask): (WebCore::RenderObject::paintFillExtended): * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::paint): * rendering/RenderStyle.cpp: (WebCore::FillLayer::FillLayer): (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): * rendering/RenderStyle.h: (WebCore::FillLayer::initialFillComposite): (WebCore::FillLayer::initialFillSize): (WebCore::FillLayer::FillLayer): (WebCore::RenderStyle::hasMask): * rendering/RenderTable.cpp: (WebCore::RenderTable::paint): (WebCore::RenderTable::paintBoxDecorations): (WebCore::RenderTable::paintMask): * rendering/RenderTable.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::requiresLayer): (WebCore::RenderTableCell::paintBackgroundsBehindCell): (WebCore::RenderTableCell::paintMask): * rendering/RenderTableCell.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::paint): * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::draw): (WebCore::SVGImage::dataChanged): LayoutTests: 2008-04-22 David Hyatt <hyatt@apple.com> Add support for CSS alpha masks. Test cases. Reviewed by Dan * fast/backgrounds/repeat/mask-negative-offset-repeat.html: Added. * fast/backgrounds/repeat/resources/white.gif: Added. * fast/backgrounds/svg-as-mask.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 14 Apr, 2008 1 commit
-
-
hyatt@apple.com authored
Add a new optimized layout path for positioned objects that move. Also avoid always marking the <html> object for layout when it has a percentage height, since the RenderView already does that when its size changes. Reviewed by mjs * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlockChildren): (WebCore::RenderBlock::layoutPositionedObjects): * rendering/RenderBox.h: (WebCore::RenderBox::layoutDoingPositionedMovementOnly): * rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): (WebCore::RenderObject::setNeedsLayout): (WebCore::RenderObject::setChildNeedsLayout): (WebCore::RenderObject::setNeedsPositionedMovementLayout): (WebCore::RenderObject::setStyle): * rendering/RenderObject.h: (WebCore::RenderObject::needsLayout): (WebCore::RenderObject::needsPositionedMovementLayoutOnly): (WebCore::RenderObject::layoutDoingPositionedMovementOnly): * rendering/RenderStyle.cpp: (WebCore::positionedObjectMoved): (WebCore::RenderStyle::diff): * rendering/RenderStyle.h: (WebCore::RenderStyle::): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 28 Mar, 2008 2 commits
-
-
hyatt@apple.com authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt@apple.com authored
Back out the Ahem font antialiasing hack, since it is now no longer required for LCD antialiased text to match the reference rendering on Acid 3. * platform/graphics/SimpleFontData.h: * platform/graphics/mac/FontMac.mm: (WebCore::Font::drawGlyphs): * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit): * platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs): * platform/graphics/win/SimpleFontDataCGWin.cpp: (WebCore::SimpleFontData::platformInit): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionNewFloats): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31424 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-