1. 20 Jun, 2008 2 commits
    • timothy@apple.com's avatar
      Fixes: Bug 19679: iframes with a height of 32,768px or greater do not layout correctly · c59ad194
      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
      c59ad194
    • mitz@apple.com's avatar
      WebCore: · 9f7cc0e3
      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
      9f7cc0e3
  2. 16 Jun, 2008 1 commit
    • darin@apple.com's avatar
      WebCore: · 60d3e9f9
      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
      60d3e9f9
  3. 08 Jun, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · ce2c3011
      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
      ce2c3011
  4. 30 May, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · 88c7b054
      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
      88c7b054
  5. 08 May, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · c2266d1a
      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
      c2266d1a
  6. 07 May, 2008 2 commits
    • mitz@apple.com's avatar
      WebCore: · a801ef1d
      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
      a801ef1d
    • mitz@apple.com's avatar
      WebCore: · 0676eebf
      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
      0676eebf
  7. 05 May, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · cd6deb7d
      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
      cd6deb7d
  8. 29 Apr, 2008 1 commit
    • hyatt@apple.com's avatar
      WebCore: · 7eb14abd
      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
      7eb14abd
  9. 28 Apr, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · 1e72e8ad
      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
      1e72e8ad
  10. 22 Apr, 2008 1 commit
    • hyatt@apple.com's avatar
      WebCore: · 3fec3561
      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
      3fec3561
  11. 14 Apr, 2008 1 commit
    • hyatt@apple.com's avatar
      2008-04-14 David Hyatt <hyatt@apple.com> · 2ddd9396
      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
      2ddd9396
  12. 28 Mar, 2008 2 commits
  13. 24 Mar, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · daded4d0
      mitz@apple.com authored
              Reviewed by Sam Weinig.
      
              - fix <rdar://problem/5812292> CrashTracer: [REGRESSION] 60 crashes in Safari at com.apple.WebCore: WebCore::RenderObject::repaintRectangle + 47
      
              Test: fast/repaint/renderer-destruction-by-invalidateSelection-crash.html
      
              * page/FrameView.cpp:
              (WebCore::FrameViewPrivate::reset): Removed repaintRects code.
              (WebCore::FrameView::layout): Ditto.
              (WebCore::FrameView::addRepaintInfo): Removed.
      
              * page/FrameView.h: Removed addRepaintInfo().
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutBlock): Changed to call repaintRectangle
              instead of FrameView::addRepaintInfo().
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::layout): Ditto.
      
      LayoutTests:
      
              Reviewed by Sam Weinig.
      
              - test for <rdar://problem/5812292> CrashTracer: [REGRESSION] 60 crashes in Safari at com.apple.WebCore: WebCore::RenderObject::repaintRectangle + 47
      
              * fast/repaint/renderer-destruction-by-invalidateSelection-crash.html: Added.
              * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.checksum: Added.
              * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png: Added.
              * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31250 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      daded4d0
  14. 20 Mar, 2008 1 commit
    • hyatt@apple.com's avatar
      2008-03-20 David Hyatt <hyatt@apple.com> · 861325fe
      hyatt@apple.com authored
              Add a new value to background-clip, "text", that allows backgrounds to be clipped to foreground text (and
              associated text decorations like shadows and underlines).
      
              Reviewed by Beth
      
              * css/CSSParser.cpp:
              (WebCore::CSSParser::parseBackgroundProperty):
              * css/CSSPrimitiveValueMappings.h:
              (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
              (WebCore::CSSPrimitiveValue::operator EBackgroundBox):
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::clipToImageBuffer):
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::clipToImageBuffer):
              * rendering/InlineBox.cpp:
              (WebCore::InlineBox::paint):
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::paintBackgrounds):
              (WebCore::InlineFlowBox::paintBackground):
              (WebCore::InlineFlowBox::paintBoxDecorations):
              * rendering/InlineFlowBox.h:
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::paintColumns):
              (WebCore::RenderBlock::paintObject):
              (WebCore::RenderBlock::paintFloats):
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::paintRootBoxDecorations):
              (WebCore::RenderBox::paintBoxDecorations):
              (WebCore::RenderBox::paintBackgrounds):
              (WebCore::RenderBox::paintBackground):
              (WebCore::RenderBox::paintBackgroundExtended):
              * rendering/RenderBox.h:
              * rendering/RenderFieldset.cpp:
              (WebCore::RenderFieldset::paintBoxDecorations):
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::paintLines):
              * rendering/RenderObject.h:
              (WebCore::):
              (WebCore::RenderObject::paintBackgroundExtended):
              * rendering/RenderStyle.h:
              (WebCore::):
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::paintBoxDecorations):
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::paintBackgroundsBehindCell):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31200 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      861325fe
  15. 18 Mar, 2008 1 commit
    • mitz@apple.com's avatar
      2008-03-18 Dan Bernstein <mitz@apple.com> · 71e30844
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - eliminate RenderFlow::m_clear
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutBlock): Removed code to set m_clear.
              (WebCore::RenderBlock::newLine): Added a 'clear' parameter.
              * rendering/RenderBlock.h:
              * rendering/RenderFlow.h:
              (WebCore::RenderFlow::RenderFlow): Removed initialization of m_clear.
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::layoutInlineChildren): Added a local 'clear'
              variable, passing a pointer to it to findNextLineBreak() and its value
              to newLine(). 
              (WebCore::RenderBlock::findNextLineBreak): Added a 'clear' parameter,
              which this method adjusts when it encounters a <br>.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71e30844
  16. 17 Mar, 2008 2 commits
    • mitz@apple.com's avatar
      2008-03-17 Dan Bernstein <mitz@apple.com> · 93526598
      mitz@apple.com authored
              Rubber-stamped by Dave Hyatt.
      
              - FloatingObject cleanup
      
              Renamed FloatingObject's data members as follows: node -> m_renderer,
              startY -> m_top, endY -> m_bottom, left -> m_left, width -> m_width,
              and noPaint -> !m_shouldPaint, reversing the meaning of the flag.
      
              Also addressed the FIXME in RenderBlock::containsFloat().
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::repaintOverhangingFloats):
              (WebCore::RenderBlock::paintFloats):
              (WebCore::RenderBlock::insertFloatingObject):
              (WebCore::RenderBlock::removeFloatingObject):
              (WebCore::RenderBlock::positionNewFloats):
              (WebCore::RenderBlock::leftRelOffset):
              (WebCore::RenderBlock::rightRelOffset):
              (WebCore::RenderBlock::nextFloatBottomBelow):
              (WebCore::RenderBlock::floatBottom):
              (WebCore::RenderBlock::floatRect):
              (WebCore::RenderBlock::lowestPosition):
              (WebCore::RenderBlock::rightmostPosition):
              (WebCore::RenderBlock::leftmostPosition):
              (WebCore::RenderBlock::leftBottom):
              (WebCore::RenderBlock::rightBottom):
              (WebCore::RenderBlock::clearFloats):
              (WebCore::RenderBlock::addOverhangingFloats):
              (WebCore::RenderBlock::addIntrudingFloats):
              (WebCore::RenderBlock::containsFloat): Changed to return false if the
              floats lists exists but is empty, since line layout code no longer
              relies on the buggy behavior.
              (WebCore::RenderBlock::nodeAtPoint):
              (WebCore::RenderBlock::adjustForBorderFit):
              * rendering/RenderBlock.h:
              (WebCore::RenderBlock::containsFloats):
              (WebCore::RenderBlock::FloatingObject::FloatingObject):
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::layoutInlineChildren):
              (WebCore::RenderBlock::matchedEndLine):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31117 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93526598
    • mitz@apple.com's avatar
      WebCore: · 40547b31
      mitz@apple.com authored
      2008-03-17  Dan Bernstein  <mitz@apple.com>
      
              Reviewed by Dave Hyatt.
      
              - allow incremental relayout of blocks that contain floats
      
              Tests: fast/repaint/line-flow-with-floats-[1-9].html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::clearFloatsIfNeeded): Cleaned up by moving most
              of the function body out of an if statement which was replaced with an
              early return.
              (WebCore::RenderBlock::insertFloatingObject): Cleaned up by moving most
              of the function body out of an if statement and moving the ASSERT, which
              is a crash in release builds, to the beginning. Made this function set
              the m_isDescendant flag of floating objects it creates.
              (WebCore::RenderBlock::removeFloatingObject): Added a call to
              markLinesDirtyInVerticalRange() when removing a float from a block with
              inline children.
              (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added. Marks the
              lines in the given range as dirty.
              (WebCore::RenderBlock::clearFloats): Added code to detect changes to
              the geometry of floats intruding into this block from other blocks and
              mark any lines whose available width has changed as a result as dirty.
      
              * rendering/RenderBlock.h:
              (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added a structure
              to cache a float with its position and size.
              (WebCore::RenderBlock::FloatingObject::FloatingObject): Added an
              m_isDescendant flag, used by clearFloats() to distinguish between floats
              entering the block from outside and floats internal to the block.
      
              * rendering/RootInlineBox.h:
              (WebCore::RootInlineBox::floats): Added.
              (WebCore::RootInlineBox::floatsPtr): Added.
              (WebCore::RootInlineBox::Overflow::Overflow): Added a data member to
              hold the floats originating on the line.
      
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::layoutInlineChildren): Made the existence of
              floats not force a full layout. Changed to cache the geometry of floats
              in the block and detect changes to it. If a float's size or position
              changes, all lines from that point on are treated as dirty. An exception
              is a change in the dimensions of a float on an otherwise-clean line,
              which only dirties lines potentially affected by the change (see
              determineStartPosition()). Added code to update each RootInlineBox's
              set of floats as lines are laid out. Added code to shift floats
              belonging to clean lines in the end along with the lines.
              (WebCore::RenderBlock::determineStartPosition): Made this function look
              for changes to floats' dimensions and mark lines as dirty accordingly.
              Also look for new floats and if found, cause a full layout. Added code
              to re-add floats belonging to clean lines.
              (WebCore::RenderBlock::matchedEndLine): Added checking that the clean
              lines in the end can be shifted vertically as needed, i.e. that the
              available width along the way is uniform.
      
      LayoutTests:
      
      2008-03-17  Dan Bernstein  <mitz@apple.com>
      
              Reviewed by Dave Hyatt.
      
              - test incremental relayout of blocks that contain floats
      
              * fast/repaint/line-flow-with-floats-1.html: Added.
              * fast/repaint/line-flow-with-floats-2.html: Added.
              * fast/repaint/line-flow-with-floats-3.html: Added.
              * fast/repaint/line-flow-with-floats-4.html: Added.
              * fast/repaint/line-flow-with-floats-5.html: Added.
              * fast/repaint/line-flow-with-floats-6.html: Added.
              * fast/repaint/line-flow-with-floats-7.html: Added.
              * fast/repaint/line-flow-with-floats-8.html: Added.
              * fast/repaint/line-flow-with-floats-9.html: Added.
              * fast/repaint/resources/line-flow-with-floats.html: Added.
              * fast/repaint/resources/line-flow-with-floats.js: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-1-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-1-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-1-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-2-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-2-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-2-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-3-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-3-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-3-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-4-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-4-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-4-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-5-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-5-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-5-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-6-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-6-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-6-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-7-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-7-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-7-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-8-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-8-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-8-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-9-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-9-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31116 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40547b31
  17. 14 Mar, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · 20fdf975
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=17834
                REGRESSION: floated first-letter does not work when included in table
      
              Test: fast/css/first-letter-float.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::updateFirstLetter): Changed the search for the
              first text node to stop at a float if that float is an existing first-
              letter.
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=17834
                REGRESSION: floated first-letter does not work when included in table
      
              * fast/css/first-letter-float.html: Added.
              * platform/mac-leopard/fast/css/first-letter-float-expected.checksum: Added.
              * platform/mac-leopard/fast/css/first-letter-float-expected.png: Added.
              * platform/mac/fast/css/first-letter-float-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      20fdf975
  18. 03 Mar, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · c76605ad
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - make :first-letter apply to the first letter in normal flow, skipping
                floats and positioned objects
      
              Test: fast/css/first-letter-skip-out-of-flow.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::updateFirstLetter):
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - test that :first-letter applies to the first letter in normal flow,
                skipping floats and positioned objects
      
              * fast/css/first-letter-skip-out-of-flow.html: Added.
              * platform/mac-leopard/fast/css/first-letter-skip-out-of-flow-expected.checksum: Added.
              * platform/mac-leopard/fast/css/first-letter-skip-out-of-flow-expected.png: Added.
              * platform/mac/fast/css/first-letter-skip-out-of-flow-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30724 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c76605ad
  19. 23 Feb, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · cfd9b7b0
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - make non-autowrapping text clear floats
      
              Test: fast/text/whitespace/nowrap-clear-float.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::nextFloatBottomBelow): Renamed nearestFloat() to
              this and changed to avoid comparing bottom to 0 in each iteration.
              (WebCore::RenderBlock::getClearDelta): Updated comment for the rename.
              * rendering/RenderBlock.h:
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::fitBelowFloats): Added. Factored out of
              findNextLineBreak() and simplified.
              (WebCore::RenderBlock::findNextLineBreak): Changed to call
              fitBelowFloats(). Fixed the bug by trying to fit below floats in the
              case of non-wrapping text. Removed some redundancy.
      
      LayoutTests:
      
              Reviewed by Dave Hyatt.
      
              - test that non-autowrapping text clear floats
      
              * fast/text/whitespace/nowrap-clear-float.html: Added.
              * platform/mac-leopard/fast/text/whitespace: Added.
              * platform/mac-leopard/fast/text/whitespace/nowrap-clear-float-expected.checksum: Added.
              * platform/mac-leopard/fast/text/whitespace/nowrap-clear-float-expected.png: Added.
              * platform/mac/fast/text/whitespace/nowrap-clear-float-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cfd9b7b0
  20. 19 Feb, 2008 3 commits
    • darin@apple.com's avatar
      Reviewed by Sam. · d694331c
      darin@apple.com authored
              - Removed old debugging aids, Node::dump, RenderObject::dump, and
                RenderObject::information, that used DeprecatedString.
      
              * dom/CharacterData.cpp: Removed override of Node::dump.
              * dom/CharacterData.h: Ditto.
              * dom/Element.cpp: Ditto.
              * dom/Element.h: Ditto.
              * dom/EventTargetNode.cpp: Ditto.
              * dom/EventTargetNode.h: Ditto.
              * dom/Node.cpp: Removed Node::dump.
              * dom/Node.h: Ditto.
      
              * rendering/RenderBlock.cpp: Removed override of RenderObject::dump.
              * rendering/RenderBlock.h: Ditto.
              * rendering/RenderFrameSet.cpp: Ditto.
              * rendering/RenderFrameSet.h: Ditto.
              * rendering/RenderObject.cpp: Removed RenderObject::dump and
              RenderObject::information.
              * rendering/RenderObject.h: Ditto.
              * rendering/RenderTable.cpp: Removed override of RenderObject::dump.
              * rendering/RenderTable.h: Ditto.
              * rendering/RenderTableCell.cpp: Ditto.
              * rendering/RenderTableCell.h: Ditto.
              * rendering/RenderTableCol.cpp: Ditto.
              * rendering/RenderTableCol.h: Ditto.
              * rendering/RenderTableSection.cpp: Ditto.
              * rendering/RenderTableSection.h: Ditto.
      
              * rendering/RenderTreeAsText.h: Removed unneeded include of TextStream.h
              and added forward declarations as appropriate.
      
              * svg/SVGSVGElement.cpp: Removed unneeded include of TextStream.h.
              * svg/graphics/SVGResourceClipper.cpp: And here.
              * svg/graphics/SVGResourceFilter.cpp: Ditto.
              * svg/graphics/filters/SVGFEBlend.cpp: Ditto.
              * svg/graphics/filters/SVGFEComponentTransfer.cpp: Ditto.
              * svg/graphics/filters/SVGFEComposite.cpp: Ditto.
              * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
              * svg/graphics/filters/SVGFEGaussianBlur.cpp: Ditto.
              * svg/graphics/filters/SVGFEImage.cpp: Ditto.
              * svg/graphics/filters/SVGFEMerge.cpp: Ditto.
              * svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
              * svg/graphics/filters/SVGFEOffset.cpp: Ditto.
              * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
              * svg/graphics/filters/SVGFETurbulence.cpp: Ditto.
              * svg/graphics/filters/SVGFilterEffect.cpp: Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30415 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d694331c
    • bdakin@apple.com's avatar
      WebCore: · ff39ce21
      bdakin@apple.com authored
              Reviewed by Sam.
      
              Fix for <rdar://problem/5729674> Seed: Crash in 
              RenderButton::setStyle at http://www.dinorpg.com
      
              Inputs should not honor first-letter.
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::updateFirstLetter):
      
      LayoutTests:
      
              Reviewed by Sam.
      
              Test for <rdar://problem/5729674> Seed: Crash in 
              RenderButton::setStyle at http://www.dinorpg.com
      
              * fast/forms/input-first-letter.html: Added.
              * platform/mac/fast/forms/input-first-letter-expected.checksum: Added.
              * platform/mac/fast/forms/input-first-letter-expected.png: Added.
              * platform/mac/fast/forms/input-first-letter-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30414 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff39ce21
    • mitz@apple.com's avatar
      WebCore: · fb8da4e3
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix <rdar://problem/5637569> CrashTracer: [REGRESSION] 620 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::setStaticY + 15
      
              Test: fast/text/wbr-styled.html
      
              Changed RenderWordBreak to inherit from RenderText instead of
              RenderInline.
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::calcInlinePrefWidths):
              * rendering/RenderFlow.h:
              * rendering/RenderText.cpp:
              (WebCore::RenderText::renderName):
              (WebCore::RenderText::isTextFragment):
              (WebCore::RenderText::isWordBreak):
              * rendering/RenderText.h:
              * rendering/RenderWordBreak.cpp:
              (WebCore::RenderWordBreak::RenderWordBreak):
              * rendering/RenderWordBreak.h:
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::findNextLineBreak):
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - test for <rdar://problem/5637569> CrashTracer: [REGRESSION] 620 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::setStaticY + 15
      
              * fast/text/wbr-styled.html: Added.
              * platform/mac-leopard/fast/text/wbr-styled-expected.checksum: Added.
              * platform/mac-leopard/fast/text/wbr-styled-expected.png: Added.
              * platform/mac/fast/css-generated-content/wbr-with-before-content-expected.txt:
              * platform/mac/fast/text/wbr-pre-expected.txt:
              * platform/mac/fast/text/wbr-styled-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fb8da4e3
  21. 07 Feb, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · 4d13840b
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - fix <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice
      
              Test: fast/block/float/relative-painted-twice.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::addOverhangingFloats): Added another case where
              the child should not take over painting the float: when they do not have
              the same enclosing layer. In that case, the float is already being
              painted by one of its closer ancestors.
      
      LayoutTests:
      
              Reviewed by Dave Hyatt.
      
              - test for <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice
      
              * fast/block/float/relative-painted-twice.html: Added.
              * platform/mac-leopard/fast/block/float/relative-painted-twice-expected.checksum: Added.
              * platform/mac-leopard/fast/block/float/relative-painted-twice-expected.png: Added.
              * platform/mac/fast/block/float/relative-painted-twice-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d13840b
  22. 31 Jan, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · 1d9f3043
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=17107
                <rdar://problem/5716722> REGRESSION (r29834): Article text on redhat.com magazine site appears to be painting twice
      
              Test: fast/block/float/intruding-painted-twice.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutBlock): Pass 'false' for the new
              makeChildPaintOtherFloats parameter to addOverhangingFloats() because at
              this point we are only taking away floats from the child.
              (WebCore::RenderBlock::layoutBlockChildren): Pass 'true' for the new
              makeChildPaintOtherFloats parameter to addOverhangingFloats() iff the
              child was not laid out again. Only in that case, it may have overhanging
              floats that it does not paint because they used to be overhanging from
              the parent, but now they are not.
              (WebCore::RenderBlock::addOverhangingFloats): Refined the conditions for
              making the child paint the float: require that the float be a descendant
              of the child (the other case is when it intrudes into the child from
              another sibling) and that it does not have a layer (in which case it
              paints itself). In addition, do the check only if the caller passed
              'true' for the makeChildPaintOtherFloats parameter.
              * rendering/RenderBlock.h:
      
      LayoutTests:
      
              Reviewed by Dave Hyatt.
      
              - pixel test for http://bugs.webkit.org/show_bug.cgi?id=17107
                <rdar://problem/5716722> REGRESSION (r29834): Article text on redhat.com magazine site appears to be painting twice
      
              * fast/block/float/intruding-painted-twice.html: Added.
              * platform/mac-leopard/fast/block/float/intruding-painted-twice-expected.checksum: Added.
              * platform/mac-leopard/fast/block/float/intruding-painted-twice-expected.png: Added.
              * platform/mac/fast/block/float/intruding-painted-twice-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1d9f3043
  23. 28 Jan, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · 089558e2
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=16774
                REGRESSION (r27464-r27504) javascript popup menu does not display 'close' button
      
              Test: fast/dynamic/float-no-longer-overhanging.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::addOverhangingFloats): If a child's float turns
              out not to be overhanging at this time, ensure that the child paints it.
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - pixel test for http://bugs.webkit.org/show_bug.cgi?id=16774
                REGRESSION (r27464-r27504) javascript popup menu does not display 'close' button
      
              * fast/dynamic/float-no-longer-overhanging.html: Added.
              * platform/mac/fast/dynamic/float-no-longer-overhanging-expected.checksum: Added.
              * platform/mac/fast/dynamic/float-no-longer-overhanging-expected.png: Added.
              * platform/mac/fast/dynamic/float-no-longer-overhanging-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29834 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      089558e2
  24. 26 Jan, 2008 1 commit
    • eric@webkit.org's avatar
      Reviewed by Sam and Darin. · c79eaef4
      eric@webkit.org authored
              Fire a warning shot in DeprecatedChar's direction.
      
              Remove DeprecatedChar::isSpace() usage, in preparation for removing DeprecatedChar
              Remove a needless String -> DeprecatedString -> String conversion for <script> tags
      
              * css/MediaQueryEvaluator.cpp:
              (WebCore::parseAspectRatio):
              * css/SVGCSSParser.cpp:
              * dom/Position.cpp:
              (WebCore::Position::leadingWhitespacePosition):
              (WebCore::Position::trailingWhitespacePosition):
              * editing/TextIterator.cpp:
              (WebCore::WordAwareIterator::advance):
              * html/HTMLFontElement.cpp:
              (WebCore::parseFontSizeNumber):
              * html/HTMLTokenizer.cpp:
              (WebCore::HTMLTokenizer::scriptHandler):
              (WebCore::HTMLTokenizer::scriptExecution):
              (WebCore::HTMLTokenizer::notifyFinished):
              * html/HTMLTokenizer.h:
              * loader/CachedCSSStyleSheet.cpp:
              * loader/TextResourceDecoder.cpp:
              * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
              * platform/mac/ClipboardMac.mm:
              (WebCore::ClipboardMac::getData):
              * platform/network/HTTPParsers.cpp:
              (WebCore::extractMIMETypeFromMediaType):
              * platform/text/PlatformString.h:
              * platform/text/StringImpl.cpp:
              (WebCore::parseLength):
              (WebCore::StringImpl::stripWhiteSpace):
              (WebCore::StringImpl::simplifyWhiteSpace):
              (WebCore::StringImpl::toInt):
              (WebCore::StringImpl::toInt64):
              (WebCore::StringImpl::toUInt64):
              * platform/text/StringImpl.h:
              (WebCore::isSpaceOrNewline):
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::placeBoxesHorizontally):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::updateFirstLetter):
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::computeHorizontalPositionsForLine):
              * svg/SVGFontFaceElement.cpp:
              (WebCore::mapAttributeToCSSProperty):
              * svg/SVGLength.cpp:
              * svg/SVGStyledElement.cpp:
              (WebCore::mapAttributeToCSSProperty):
              * xml/XPathParser.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c79eaef4
  25. 16 Jan, 2008 1 commit
    • hyatt@apple.com's avatar
      Fix for <rdar://problem/5681647> Item pages on http://www.stendmarsofa.com/ hang Safari · edff4239
      hyatt@apple.com authored
              This regression was caused by an attempt to implement a WinIE quirk in RenderBlock::calcInlinePrefWidths.
              The original patch introduced pathological O(n^2) behavior into this function even when the quirk didn't need
              to apply.  In addition the quirk was only partially implemented (the full quirk did not care what was adjacent
              to images and also needed bidi.cpp patched, since the quirk applies both when computing pref widths and when
              laying out).
      
              This new patch rewrites the quirk to be complete.  The original test case attached to the bug that tested a variety
              of image/text combinations now fully matches WinIE.
      
              Reviewed by Beth
      
              Added fast/table/unbreakable-images-quirk.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::calcInlinePrefWidths):
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::findNextLineBreak):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@29536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      edff4239
  26. 26 Nov, 2007 1 commit
    • mitz@apple.com's avatar
      WebCore: · b028d809
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - fix <rdar://problem/5609337> Making a float shorter does not remove it from the floating object list of a nested block it intruded into
      
              Test: fast/dynamic/float-withdrawal-2.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutBlockChildren): When a float may have
              been withdrawn from a child, mark all descendants if necessary and not
              just the child.
      
      LayoutTests:
      
              Reviewed by Dave Hyatt.
      
              - test for <rdar://problem/5609337> Making a float shorter does not remove it from the floating object list of a nested block it intruded into
      
              * fast/dynamic/float-withdrawal-2.html: Added.
              * platform/mac/fast/dynamic/float-withdrawal-2-expected.checksum: Added.
              * platform/mac/fast/dynamic/float-withdrawal-2-expected.png: Added.
              * platform/mac/fast/dynamic/float-withdrawal-2-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b028d809
  27. 21 Nov, 2007 1 commit
  28. 12 Nov, 2007 1 commit
    • mitz@apple.com's avatar
      WebCore: · 698099cc
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - <http://bugs.webkit.org/show_bug.cgi?id=15890>
                Most of www.aol.com still redraws unnecessarily when headline/photo section changes
      
              Test: fast/repaint/invisible-objects.html
      
              Avoid repainting invisible blocks if they are enclosed in a layer that
              contains no visible objects.
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutBlock):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::absoluteClippedOverflowRect):
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - no-repaint test for <http://bugs.webkit.org/show_bug.cgi?id=15890>
                Most of www.aol.com still redraws unnecessarily when headline/photo section changes
      
              * fast/repaint/invisible-objects.html: Added.
              * platform/mac/fast/repaint/invisible-objects-expected.checksum: Added.
              * platform/mac/fast/repaint/invisible-objects-expected.png: Added.
              * platform/mac/fast/repaint/invisible-objects-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      698099cc
  29. 11 Nov, 2007 1 commit
    • ap@webkit.org's avatar
      Reviewed by Darin. · ff51b523
      ap@webkit.org authored
              http://bugs.webkit.org/show_bug.cgi?id=15896
              More editing cleanup
      
              No functionality changes.
      
              * dom/Node.h: Moved several editing-related methods elsewhere.
              * dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset()
              to highlight that it is a match to offsetInCharacters(), and much different from other
              offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check
              offsetInCharacters() before calling this.
      
              * dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
              * dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode):
              Updated for above renamings.
      
              * dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
      
              * dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
      
              * dom/Position.h:
              * dom/Position.cpp:
              (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset().
              (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset().
              (WebCore::Position::previous): Adapted to the above move.
              (WebCore::Position::next): Ditto.
              (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think),
              and BR elements are covered by editingIgnoresContent().
              (WebCore::Position::downstream): Ditto.
              (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset().
              (WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
      
              * dom/PositionIterator.h: Added a comment describing this class from the original check-in.
              * dom/PositionIterator.cpp:
              (WebCore::PositionIterator::increment): Updated for the above moves.
              (WebCore::PositionIterator::decrement): Ditto.
      
              * dom/ProcessingInstruction.h:
              * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset):
              ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset().
              I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
      
              * dom/Range.cpp:
              (WebCore::Range::selectNodeContents):
              * editing/ApplyStyleCommand.cpp:
              (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
              (WebCore::ApplyStyleCommand::applyInlineStyle):
              (WebCore::maxRangeOffset):
              (WebCore::ApplyStyleCommand::removeInlineStyle):
              (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
              (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
              (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
              (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
              (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::insertNodeAt):
              (WebCore::CompositeEditCommand::positionOutsideTabSpan):
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::DeleteSelectionCommand::handleGeneralDelete):
              * editing/InsertLineBreakCommand.cpp:
              (WebCore::InsertLineBreakCommand::doApply):
              * editing/InsertParagraphSeparatorCommand.cpp:
              (WebCore::InsertParagraphSeparatorCommand::doApply):
              * editing/InsertTextCommand.cpp:
              (WebCore::InsertTextCommand::insertTab):
              * editing/visible_units.cpp:
              (WebCore::previousLinePosition):
              (WebCore::nextLinePosition):
              Updated for the above moves.
      
              * editing/Editor.cpp:
              (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
      
              * editing/TextIterator.cpp:
              (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously
              match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases.
              (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
      
              * editing/htmlediting.h:
              * editing/htmlediting.cpp:
              (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept
              child nodes, other than via DOM manipulation, which is not specific to BRs.
              (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent().
              (WebCore::maxDeepOffset): Ditto.
              (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions.
              (WebCore::caretMaxOffset): Ditto.
      
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of
              caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor
              will take care of adjusting the offset.
      
              * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
              * page/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
              * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing.
              Changed some runtime checks that seemingly cannot fail into assertions.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff51b523
  30. 07 Nov, 2007 1 commit
    • mitz@apple.com's avatar
      WebCore: · f189f829
      mitz@apple.com authored
              Reviewed by Brady Eidson.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=15877
                REGRESSION: r27486 caused a layout regression at my bank's website
      
              Test: fast/block/float/overhanging-after-height-decrease-offsets.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutBlock):
      
      LayoutTests:
      
              Reviewed by Brady Eidson.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=15877
                REGRESSION: r27486 caused a layout regression at my bank's website
      
              * fast/block/float/overhanging-after-height-decrease-offsets.html: Added.
              * platform/mac-leopard/fast/block/float/overhanging-after-height-decrease-offsets-expected.checksum: Added.
              * platform/mac-leopard/fast/block/float/overhanging-after-height-decrease-offsets-expected.png: Added.
              * platform/mac/fast/block/float/overhanging-after-height-decrease-offsets-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f189f829
  31. 06 Nov, 2007 2 commits
    • mitz@apple.com's avatar
      WebCore: · 0652c894
      mitz@apple.com authored
              Reviewed by Antti Koivisto and Dave Hyatt.
      
              - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
      
              Test: fast/block/float/overhanging-after-height-decrease.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutBlock): If after calculating the height
              it turns out that there are overhanging floats that were not overhanging
              before, rescan children with overhanging floats and add them. 
              (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that
              returns the lowest float bottom of any of the children.
              (WebCore::RenderBlock::addOverhangingFloats): Changed to return the
              lowest float bottom.
              * rendering/RenderBlock.h:
      
      LayoutTests:
      
              Reviewed by Antti Koivisto and Dave Hyatt.
      
              - test for <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
      
              * fast/block/float/overhanging-after-height-decrease.html: Added.
              * platform/mac-leopard/fast/block: Added.
              * platform/mac-leopard/fast/block/float: Added.
              * platform/mac-leopard/fast/block/float/overhanging-after-height-decrease-expected.checksum: Added.
              * platform/mac-leopard/fast/block/float/overhanging-after-height-decrease-expected.png: Added.
              * platform/mac/fast/block/float/overhanging-after-height-decrease-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27486 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0652c894
    • mitz@apple.com's avatar
      WebCore: · 13455a10
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=15838
                Incomplete repaint toggling "How you know this person" on Facebook
      
              Test: fast/repaint/make-children-non-inline.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
              is needed because the inline children may be repositioned as they move
              into new anonymous blocks, but those blocks have no knowledge of where
              their children used to be, so they cannot invalidate those areas.
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - repaint test for http://bugs.webkit.org/show_bug.cgi?id=15838
                Incomplete repaint toggling "How you know this person" on Facebook
      
              * fast/repaint/make-children-non-inline.html: Added.
              * platform/mac/fast/repaint/make-children-non-inline-expected.txt: Added.
              * platform/mac-leopard/fast/repaint: Added.
              * platform/mac-leopard/fast/repaint/make-children-non-inline-expected.checksum: Added.
              * platform/mac-leopard/fast/repaint/make-children-non-inline-expected.png: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27478 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13455a10
  32. 02 Nov, 2007 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · 387d7a0e
      darin@apple.com authored
              Reviewed by Maciej.
      
              - http://bugs.webkit.org/show_bug.cgi?id=15807
                HashMap needs a take() function that combines get and remove
      
              * wtf/HashMap.h: Added take function. Simplistic implementation for now,
              but still does only one hash table lookup.
      
              * kjs/array_instance.cpp: (KJS::ArrayInstance::put): Use take rather than
              a find followed by a remove.
      
      WebCore:
      
              Reviewed by Maciej.
      
              - use the new HashMap::take function where appropriate
      
              * bindings/js/kjs_binding.cpp:
              (KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad.
              (KJS::removeWrapper): Ditto.
              (KJS::removeWrappers): Ditto.
              (KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro.
              (KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead
              of remove -- in theory ever so slightly less efficient, but I think it's fine.
              (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto.
              (KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro.
              (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove.
              (KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros.
      
              * bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove.
              * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto.
              * page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto.
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::~RenderBlock): Ditto.
              (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto.
              * rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27385 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      387d7a0e
  33. 29 Oct, 2007 1 commit
    • mitz's avatar
      WebCore: · 1825fe1f
      mitz authored
              Reviewed by John Sullivan.
      
              - fix <rdar://problem/5424455> REGRESSION (r21168-r21193, Tiger only): Safari scrollbar is clipped at top when loading particular RSS page
      
              Test: fast/repaint/layout-state-only-posiitoned.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutOnlyPositionedObjects): Pop layout state
              before updating scroll info, which possibly repaints us.
      
      LayoutTests:
      
              Reviewed by John Sullivan,
      
              - repaint test for <rdar://problem/5424455> REGRESSION (r21168-r21193, Tiger only): Safari scrollbar is clipped at top when loading particular RSS page
      
              * fast/repaint/layout-state-only-posiitoned.html: Added.
              * platform/mac/fast/repaint/layout-state-only-posiitoned-expected.checksum: Added.
              * platform/mac/fast/repaint/layout-state-only-posiitoned-expected.png: Added.
              * platform/mac/fast/repaint/layout-state-only-posiitoned-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27224 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1825fe1f