1. 31 Jul, 2009 1 commit
    • darin@apple.com's avatar
      WebCore: · 445c34f5
      darin@apple.com authored
      2009-07-30  Darin Adler  <darin@apple.com>
      
              Reviewed by David Levin.
      
              Use checked casts for render tree
              https://bugs.webkit.org/show_bug.cgi?id=23522
      
              Next step: Add casts for all the RenderTable classes and use them everywhere.
      
              Also added a few uses in places that were still using static_cast.
              Also made some virtual member functions private.
              Also changed RenderTable::m_tableLayout to use OwnPtr.
      
              * accessibility/AccessibilityTable.cpp:
              (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
              (WebCore::AccessibilityTable::addChildren):
              (WebCore::AccessibilityTable::cellForColumnAndRow):
              * accessibility/AccessibilityTableCell.cpp:
              (WebCore::AccessibilityTableCell::parentTable):
              (WebCore::AccessibilityTableCell::rowIndexRange):
              (WebCore::AccessibilityTableCell::columnIndexRange):
              (WebCore::AccessibilityTableCell::titleUIElement):
              * accessibility/AccessibilityTableColumn.cpp:
              (WebCore::AccessibilityTableColumn::headerObject):
              * accessibility/AccessibilityTableRow.cpp:
              (WebCore::AccessibilityTableRow::parentTable):
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::DeleteSelectionCommand::removeNode):
              * editing/TextIterator.cpp:
              (WebCore::shouldEmitTabBeforeNode):
              (WebCore::shouldEmitNewlinesBeforeAndAfterNode):
              * html/HTMLTableCellElement.cpp:
              (WebCore::HTMLTableCellElement::parseMappedAttribute):
              * html/HTMLTableColElement.cpp:
              (WebCore::HTMLTableColElement::parseMappedAttribute):
              * page/Frame.cpp:
              (WebCore::Frame::searchForLabelsAboveCell):
              * page/mac/FrameMac.mm:
              (WebCore::Frame::searchForNSLabelsAboveCell):
              * rendering/AutoTableLayout.cpp:
              (WebCore::AutoTableLayout::recalcColumn):
              (WebCore::AutoTableLayout::fullRecalc):
              (WebCore::shouldScaleColumns):
              * rendering/FixedTableLayout.cpp:
              (WebCore::FixedTableLayout::calcWidthArray):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::calcPrefWidths):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::calcPercentageHeight):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::addChild):
              (WebCore::RenderObject::containingBlock):
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::collapsedBottomBorder):
              * rendering/RenderTableCol.cpp:
              (WebCore::RenderTableCol::table):
              * rendering/RenderTableRow.cpp:
              (WebCore::RenderTableRow::addChild):
              (WebCore::RenderTableRow::layout):
              (WebCore::RenderTableRow::paint):
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::addChild):
              (WebCore::RenderTableSection::layoutRows):
              (WebCore::RenderTableSection::lowestPosition):
              (WebCore::RenderTableSection::rightmostPosition):
              (WebCore::RenderTableSection::leftmostPosition):
              (WebCore::RenderTableSection::paintObject):
              (WebCore::RenderTableSection::recalcCells):
              * rendering/RenderTreeAsText.cpp:
              (WebCore::operator<<):
              (WebCore::writeTextRun):
              Use checked casts.
      
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::styleDidChange): Updated to use OwnPtr.
              (WebCore::RenderTable::addChild): Use checked cast.
              (WebCore::RenderTable::layout): Ditto.
              (WebCore::RenderTable::setCellWidths): Ditto.
              (WebCore::RenderTable::paintObject): Ditto.
              (WebCore::RenderTable::splitColumn): Ditto.
              (WebCore::RenderTable::appendColumn): Ditto.
              (WebCore::RenderTable::colElement): Ditto.
              (WebCore::RenderTable::recalcSections): Ditto.
              (WebCore::RenderTable::outerBorderBottom): Ditto.
              (WebCore::RenderTable::outerBorderLeft): Ditto.
              (WebCore::RenderTable::outerBorderRight): Ditto.
              (WebCore::RenderTable::sectionAbove): Ditto.
              (WebCore::RenderTable::sectionBelow): Ditto.
      
              * rendering/RenderTable.h: Added checked cast. Made virtual
              functions private. Changed m_tableLayout to be a OwnPtr.
      
              * rendering/RenderTableCell.h: Added checked cast.
              * rendering/RenderTableCol.h: Ditto. Made virtual functions private.
              * rendering/RenderTableRow.h: Ditto.
              * rendering/RenderTableSection.h: Ditto.
      
      WebKit/mac:
      
      2009-07-30  Darin Adler  <darin@apple.com>
      
              Reviewed by David Levin.
      
              Use checked casts for render tree
              https://bugs.webkit.org/show_bug.cgi?id=23522
      
              * Misc/WebNSAttributedStringExtras.mm:
              (fileWrapperForElement):
              * Misc/WebNSPasteboardExtras.mm:
              (imageFromElement):
              (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
              * WebView/WebFrame.mm:
              (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
              (-[WebFrame _accessibilityTree]):
              * WebView/WebRenderNode.mm:
              (copyRenderNode):
              Use checked casts.
      
      WebKit/win:
      
      2009-07-30  Darin Adler  <darin@apple.com>
      
              Reviewed by David Levin.
      
              Use checked casts for render tree
              https://bugs.webkit.org/show_bug.cgi?id=23522
      
              * DOMHTMLClasses.cpp:
              (DOMHTMLInputElement::isUserEdited):
              (DOMHTMLTextAreaElement::isUserEdited):
              Use checked casts.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@46647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      445c34f5
  2. 25 Mar, 2009 1 commit
    • dino@apple.com's avatar
      2009-03-25 Dean Jackson <dino@apple.com> · ce3a4e00
      dino@apple.com authored
              Reviewed by Simon Fraser
      
              https://bugs.webkit.org/show_bug.cgi?id=23361
      
              When using hardware compositing, some images can be directly
              rendered by the hardware - no need to draw them into a separate
              context, therefore saving memory.
              Only images with certain style properties can be directly
              composited - basically anything that is not a simple image requires
              the usual rendering path (eg. if the image has borders).
      
              Test: compositing/direct-image-compositing.html
      
              * manual-tests/resources/simple_image.png: Added.
              * manual-tests/simple-image-compositing.html: Added.
              * platform/graphics/Image.h:
              (WebCore::Image::startAnimation):
                  - move this to public
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::imageChanged):
                  - poke compositing layer if image has changed
              (WebCore::RenderImage::notifyFinished):
                  - let t...
      ce3a4e00
  3. 04 Feb, 2009 1 commit
    • weinig@apple.com's avatar
      2009-02-04 Sam Weinig <sam@webkit.org> · bcce4080
      weinig@apple.com authored
              Reviewed by David Hyatt.
      
              Add toRenderImage methods for casting RenderObjects to RenderImages.  The methods will assert if the object
              is not a RenderImage.  Also add a toRenderImage method that takes a RenderImage but returns void and that
              is unimplemented.  This method will catch anyone trying to do a cast when the object is already a RenderImage.
      
              * html/HTMLAnchorElement.cpp:
              (WebCore::HTMLAnchorElement::defaultEventHandler):
              * html/HTMLEmbedElement.cpp:
              (WebCore::HTMLEmbedElement::attach):
              * html/HTMLImageElement.cpp:
              (WebCore::HTMLImageElement::parseMappedAttribute):
              (WebCore::HTMLImageElement::attach):
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::parseMappedAttribute):
              (WebCore::HTMLInputElement::attach):
              * html/HTMLObjectElement.cpp:
              (WebCore::HTMLObjectElement::attach):
              * html/HTMLVideoElement.cpp:
              (WebCore::HTMLVideoElement::attach):
              * loader/ImageLoader.cpp:
              (WebCore::ImageLoader::setImage):
              (WebCore::ImageLoader::updateFromElement):
              (WebCore::ImageLoader::notifyFinished):
              * page/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
              (WebCore::AccessibilityRenderObject::addChildren):
              * page/DragController.cpp:
              (WebCore::getCachedImage):
              (WebCore::getImage):
              * platform/mac/PasteboardMac.mm:
              (WebCore::Pasteboard::writeImage):
              * rendering/RenderImage.h:
              (WebCore::toRenderImage):
              * wml/WMLImageElement.cpp:
              (WebCore::WMLImageElement::parseMappedAttribute):
              (WebCore::WMLImageElement::attach):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bcce4080
  4. 05 Jan, 2009 1 commit
  5. 02 Jan, 2009 1 commit
    • simon.fraser@apple.com's avatar
      2009-01-02 Simon Fraser <simon.fraser@apple.com> · f7d140d5
      simon.fraser@apple.com authored
              Reviewed by Darin Adler
      
              https://bugs.webkit.org/show_bug.cgi?id=22981
      
              Repaints inside of an SVGImage were thrown on the floor,
              which broke incremental painting due to loading, or SVG animation.
              Fix this by assigning the SVGImage a ChromeClient subclass that passes
              along repaints via a new method on ImageObserver, which also takes
              a rect parameter for the changed rect, allowing incremental repaints.
              Fix RenderImage::imageChanged to take advantage of this changedRect to
              only repaint the changed parts of the image.
      
              This also enables incremental painting for canvas-as-image, so
              add tests for that too.
      
              Tests: fast/backgrounds/animated-svg-as-background.html
                     fast/backgrounds/animated-svg-as-mask.html
                     fast/canvas/canvas-as-image-incremental-repaint.html
                     fast/canvas/canvas-as-image.html
                     fast/images/animated-svg-as-image.html
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39555 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f7d140d5
  6. 05 Sep, 2008 1 commit
    • antti@apple.com's avatar
      2008-09-05 Antti Koivisto <antti@apple.com> · 72e4a841
      antti@apple.com authored
              Reviewed by Darin.
      
              Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
              When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
      
              Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
              not yet enable it for the biggest use case, reloading. However it is good for general browsing as
              well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
              we avoid re-decoding resources, especially images. 
              
              To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
              CacheControl: max-age=0 header. That would be added in reload case.
              
              The approach for revalidation is to kick the original resource out from the memory cache
              and create a new CachedResource that represents the revalidation request. In case
              we get 304 back for the request we put the original resource back to the cache, update 
              its expiration date and switch the clients registered to revalidation resource to be
              clients of the original resource.
              
              All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
              This allows updating the handles to point to the original resource when the revalidation succeeds. It
              also acts as refcounting smart pointer.
      
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * css/CSSFontFaceSource.h:
              * css/CSSImportRule.h:
              * dom/Clipboard.h:
              (WebCore::Clipboard::dragImage):
              * dom/ProcessingInstruction.h:
              * dom/ScriptElement.h:
              * dom/XMLTokenizer.cpp:
              (WebCore::XMLTokenizer::isWaitingForScripts):
              * dom/XMLTokenizer.h:
              * html/HTMLImageLoader.cpp:
              (WebCore::HTMLImageLoader::setImage):
              (WebCore::HTMLImageLoader::updateFromElement):
              (WebCore::HTMLImageLoader::notifyFinished):
              * html/HTMLImageLoader.h:
              (WebCore::HTMLImageLoader::image):
              * html/HTMLLinkElement.h:
              * html/HTMLTokenizer.cpp:
              (WebCore::HTMLTokenizer::reset):
              (WebCore::HTMLTokenizer::scriptHandler):
              (WebCore::HTMLTokenizer::notifyFinished):
              * html/HTMLTokenizer.h:
              * loader/Cache.cpp:
              (WebCore::Cache::revalidateResource):
              (WebCore::Cache::revalidationSucceeded):
              (WebCore::Cache::revalidationFailed):
              * loader/Cache.h:
              * loader/CachedResource.cpp:
              (WebCore::CachedResource::CachedResource):
              (WebCore::CachedResource::~CachedResource):
              (WebCore::CachedResource::isExpired):
              (WebCore::CachedResource::setResponse):
              (WebCore::CachedResource::deleteIfPossible):
              (WebCore::CachedResource::setResourceToRevalidate):
              (WebCore::CachedResource::clearResourceToRevalidate):
              (WebCore::CachedResource::switchClientsToRevalidatedResource):
              (WebCore::CachedResource::canUseCacheValidator):
              (WebCore::CachedResource::mustRevalidate):
              * loader/CachedResource.h:
              (WebCore::CachedResource::canDelete):
              (WebCore::CachedResource::registerHandle):
              (WebCore::CachedResource::unregisterHandle):
              (WebCore::CachedResource::isCacheValidator):
              (WebCore::CachedResource::resourceToRevalidate):
              (WebCore::CachedResource::setExpirationDate):
              * loader/CachedResourceHandle.cpp: Added.
              (WebCore::CachedResourceHandleBase::setResource):
              * loader/CachedResourceHandle.h: Added.
              (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
              (WebCore::CachedResourceHandleBase::get):
              (WebCore::CachedResourceHandleBase::operator!):
              (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
              (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
              (WebCore::CachedResourceHandleBase::operator=):
              (WebCore::CachedResourceHandle::CachedResourceHandle):
              (WebCore::CachedResourceHandle::get):
              (WebCore::CachedResourceHandle::operator->):
              (WebCore::CachedResourceHandle::operator=):
              (WebCore::CachedResourceHandle::operator==):
              (WebCore::CachedResourceHandle::operator!=):
              (WebCore::operator==):
              (WebCore::operator!=):
              * loader/DocLoader.cpp:
              (WebCore::DocLoader::checkForReload):
              * loader/UserStyleSheetLoader.h:
              * loader/loader.cpp:
              (WebCore::Loader::Host::servePendingRequests):
              (WebCore::Loader::Host::didFinishLoading):
              (WebCore::Loader::Host::didFail):
              (WebCore::Loader::Host::didReceiveResponse):
              (WebCore::Loader::Host::didReceiveData):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::selectCursor):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::setCachedImage):
              (WebCore::RenderImage::imageChanged):
              * rendering/RenderImage.h:
              (WebCore::RenderImage::cachedImage):
              (WebCore::RenderImage::imagePtr):
              * rendering/style/RenderStyle.h:
              * rendering/style/StyleCachedImage.h:
              (WebCore::StyleCachedImage::data):
              (WebCore::StyleCachedImage::cachedImage):
              * svg/SVGFEImageElement.h:
              * svg/graphics/filters/SVGFEImage.h:
              * xml/XSLImportRule.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36109 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      72e4a841
  7. 18 Aug, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · 12404d8a
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
      
              Test: fast/replaced/max-width-percent.html
      
              Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
              When false, max-width is not factored into the
              calculation.
              Changed RenderReplaced and subclasses' calcPrefWidths() to call
              calcReplacedWidth(false) and then apply max-width only if it has a
              fixed, positive value.
      
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::calcReplacedWidth):
              * rendering/RenderBox.h:
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::calcReplacedWidth):
              (WebCore::RenderImage::calcPrefWidths): 
              * rendering/RenderImage.h:
              * rendering/RenderReplaced.cpp:
              (WebCore::RenderReplaced::calcPrefWidths):
              * rendering/RenderSVGRoot.cpp:
              (WebCore::RenderSVGRoot::calcPrefWidths):
              * rendering/RenderVideo.cpp:
              (WebCore::RenderVideo::calcReplacedWidth):
              (WebCore::RenderVideo::calcPrefWidths):
              * rendering/RenderVideo.h:
      
      LayoutTests:
      
              Reviewed by Dave Hyatt.
      
              - test for <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
      
              * fast/replaced/max-width-percent.html: Added.
              * platform/mac/fast/replaced/max-width-percent-expected.checksum: Added.
              * platform/mac/fast/replaced/max-width-percent-expected.png: Added.
              * platform/mac/fast/replaced/max-width-percent-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      12404d8a
  8. 29 May, 2008 1 commit
    • hyatt@apple.com's avatar
      2008-05-29 David Hyatt <hyatt@apple.com> · 7d2be025
      hyatt@apple.com authored
              Improve the performance of the GUIMark benchmark by 2x in the CoreGraphics code path.
      
              Whenever a foreground image changes size rapidly, we will now dynamically shift into rendering it
              using low quality scaling.  Once the animation completes, the image will repaint at high quality.
              Scaled images will still render at high quality by default, only shifting into low quality if
              the scale factor is rapidly changing.  This change raises GUIMark from 21fps to 34fps on my machine.
      
              Rewrite the Image draw method to avoid the use of throwaway CG subimages.  Instead the entire image is
              always drawn (with the appropriate clip and scale set up to make sure the correct subimage portion shows up
              in the destination rect).  This change raises GUIMark from 34fps to 43fps on my machine.
      
              Reviewed by Darin
      
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::drawImage):
              * platform/graphics/cg/ImageCG.cpp:
              (WebCore::BitmapImage::draw):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImageScaleData::RenderImageScaleData):
              (WebCore::RenderImageScaleData::~RenderImageScaleData):
              (WebCore::RenderImageScaleData::size):
              (WebCore::RenderImageScaleData::time):
              (WebCore::RenderImageScaleData::useLowQualityScale):
              (WebCore::RenderImageScaleData::hiqhQualityRepaintTimer):
              (WebCore::RenderImageScaleData::setSize):
              (WebCore::RenderImageScaleData::setTime):
              (WebCore::RenderImageScaleData::setUseLowQualityScale):
              (WebCore::RenderImageScaleObserver::shouldImagePaintAtLowQuality):
              (WebCore::RenderImageScaleObserver::imageDestroyed):
              (WebCore::RenderImageScaleObserver::highQualityRepaintTimerFired):
              (WebCore::RenderImage::highQualityRepaintTimerFired):
              (WebCore::RenderImage::~RenderImage):
              (WebCore::RenderImage::paintReplaced):
              * rendering/RenderImage.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7d2be025
  9. 16 Apr, 2008 1 commit
    • hyatt@apple.com's avatar
      2008-04-16 David Hyatt <hyatt@apple.com> · 6838215c
      hyatt@apple.com authored
              Add support for the ability to draw directly into CSS images using CanvasRenderingContext2D.
      
              Reviewed by olliej
      
              Added fast/canvas/canvas-bg.html
      
              * GNUmakefile.am:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * WebCoreSources.bkl:
              * css/CSSCanvasValue.cpp: Added.
              (WebCore::CSSCanvasValue::~CSSCanvasValue):
              (WebCore::CSSCanvasValue::cssText):
              (WebCore::CSSCanvasValue::canvasChanged):
              (WebCore::CSSCanvasValue::canvasResized):
              (WebCore::CSSCanvasValue::fixedSize):
              (WebCore::CSSCanvasValue::element):
              (WebCore::CSSCanvasValue::image):
              * css/CSSCanvasValue.h: Added.
              (WebCore::CSSCanvasValue::CSSCanvasValue):
              (WebCore::CSSCanvasValue::isFixedSize):
              (WebCore::CSSCanvasValue::setName):
              * css/CSSGradientValue.cpp:
              * css/CSSGradientValue.h:
              * css/CSSImageGeneratorValue.cpp:
              (WebCore::CSSImageGeneratorValue::generatedImage):
              * css/CSSImageGeneratorValue.h:
              (WebCore::CSSImageGeneratorValue::isFixedSize):
              (WebCore::CSSImageGeneratorValue::fixedSize):
              * css/CSSParser.cpp:
              (WebCore::CSSParser::parseContent):
              (WebCore::CSSParser::parseBackgroundImage):
              (WebCore::CSSParser::parseBorderImage):
              (WebCore::CSSParser::parseCanvas):
              * css/CSSParser.h:
              * dom/Document.cpp:
              (WebCore::Document::getCSSCanvasContext):
              (WebCore::Document::getCSSCanvasElement):
              * dom/Document.h:
              * dom/Document.idl:
              * html/HTMLCanvasElement.cpp:
              (WebCore::HTMLCanvasElement::HTMLCanvasElement):
              (WebCore::HTMLCanvasElement::reset):
              * html/HTMLCanvasElement.h:
              (WebCore::HTMLCanvasElement::setSize):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::calculateBackgroundSize):
              (WebCore::RenderBox::imageChanged):
              * rendering/RenderBox.h:
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::imageChanged):
              * rendering/RenderImage.h:
              (WebCore::RenderImage::imagePtr):
              (WebCore::RenderImage::intrinsicSizeChanged):
              * rendering/RenderImageGeneratedContent.h:
              (WebCore::RenderImageGeneratedContent::imageSize):
              (WebCore::RenderImageGeneratedContent::imagePtr):
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::layout):
              (WebCore::RenderListMarker::imageChanged):
              (WebCore::RenderListMarker::calcPrefWidths):
              (WebCore::RenderListMarker::getRelativeMarkerRect):
              * rendering/RenderListMarker.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::paintBorderImage):
              (WebCore::RenderObject::imageChanged):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::imageChanged):
              * rendering/RenderSVGImage.cpp:
              (WebCore::RenderSVGImage::imageChanged):
              * rendering/RenderSVGImage.h:
              * rendering/RenderStyle.cpp:
              (WebCore::StyleCachedImage::imageSize):
              (WebCore::StyleGeneratedImage::imageSize):
              * rendering/RenderStyle.h:
              (WebCore::StyleCachedImage::data):
              (WebCore::StyleGeneratedImage::StyleGeneratedImage):
              (WebCore::StyleGeneratedImage::data):
              (WebCore::StyleGeneratedImage::imageHasRelativeWidth):
              (WebCore::StyleGeneratedImage::imageHasRelativeHeight):
              (WebCore::StyleGeneratedImage::usesImageContainerSize):
              * rendering/RenderTableCol.cpp:
              (WebCore::RenderTableCol::imageChanged):
              * rendering/RenderTableCol.h:
              * rendering/RenderTableRow.cpp:
              (WebCore::RenderTableRow::imageChanged):
              * rendering/RenderTableRow.h:
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::imageChanged):
              * rendering/RenderTableSection.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31981 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6838215c
  10. 14 Apr, 2008 1 commit
    • hyatt@apple.com's avatar
      2008-04-14 David Hyatt <hyatt@apple.com> · 82b7dbbd
      hyatt@apple.com authored
              Add support for gradients in the CSS content property.
      
              Reviewed by olliej
      
              Added fast/gradients/generated-gradients.html
      
              * GNUmakefile.am:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * WebCoreSources.bkl:
              * css/CSSParser.cpp:
              (WebCore::CSSParser::parseContent):
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::applyProperty):
              (WebCore::CSSStyleSelector::styleImage):
              (WebCore::CSSStyleSelector::mapBackgroundImage):
              * css/CSSStyleSelector.h:
              * html/HTMLImageElement.cpp:
              (WebCore::HTMLImageElement::attach):
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::RenderImage):
              (WebCore::RenderImage::setCachedImage):
              (WebCore::RenderImage::paintReplaced):
              (WebCore::RenderImage::calcReplacedWidth):
              (WebCore::RenderImage::calcReplacedHeight):
              (WebCore::RenderImage::calcAspectRatioWidth):
              (WebCore::RenderImage::calcAspectRatioHeight):
              * rendering/RenderImage.h:
              (WebCore::RenderImage::hasImage):
              (WebCore::RenderImage::image):
              (WebCore::RenderImage::errorOccurred):
              (WebCore::RenderImage::usesImageContainerSize):
              (WebCore::RenderImage::setImageContainerSize):
              (WebCore::RenderImage::imageHasRelativeWidth):
              (WebCore::RenderImage::imageHasRelativeHeight):
              (WebCore::RenderImage::imageSize):
              * rendering/RenderImageGeneratedContent.cpp: Added.
              (WebCore::RenderImageGeneratedContent::RenderImageGeneratedContent):
              (WebCore::RenderImageGeneratedContent::~RenderImageGeneratedContent):
              (WebCore::RenderImageGeneratedContent::setStyleImage):
              * rendering/RenderImageGeneratedContent.h: Added.
              (WebCore::RenderImageGeneratedContent::hasImage):
              (WebCore::RenderImageGeneratedContent::image):
              (WebCore::RenderImageGeneratedContent::errorOccurred):
              (WebCore::RenderImageGeneratedContent::usesImageContainerSize):
              (WebCore::RenderImageGeneratedContent::setImageContainerSize):
              (WebCore::RenderImageGeneratedContent::imageHasRelativeWidth):
              (WebCore::RenderImageGeneratedContent::imageHasRelativeHeight):
              (WebCore::RenderImageGeneratedContent::imageSize):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::createObject):
              * rendering/RenderStyle.cpp:
              (WebCore::StyleCachedImage::imageHasRelativeWidth):
              (WebCore::StyleCachedImage::imageHasRelativeHeight):
              (WebCore::StyleCachedImage::usesImageContainerSize):
              (WebCore::RenderStyle::contentDataEquivalent):
              (WebCore::RenderStyle::setContent):
              (WebCore::ContentData::clear):
              * rendering/RenderStyle.h:
              (WebCore::StyleGeneratedImage::imageHasRelativeWidth):
              (WebCore::StyleGeneratedImage::imageHasRelativeHeight):
              (WebCore::StyleGeneratedImage::usesImageContainerSize):
              (WebCore::BackgroundLayer::setBackgroundImage):
              (WebCore::ContentData::):
              (WebCore::RenderStyle::setListStyleImage):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31873 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82b7dbbd
  11. 04 Apr, 2008 1 commit
    • jhoneycutt@apple.com's avatar
      2008-04-04 Jon Honeycutt <jhoneycutt@apple.com> · 3da811d0
      jhoneycutt@apple.com authored
              Reviewed by Oliver.
      
              Replace AccessibilityObject::isRenderImage() with a virtual
              RenderObject::isRenderImage().
      
              * page/AccessibilityObject.cpp:
              (WebCore::AccessibilityObject::accessibilityIsIgnored):
              (WebCore::AccessibilityObject::addChildren):
              * page/AccessibilityObject.h:
              (WebCore::AccessibilityObject::isDetached):
              * rendering/RenderImage.h:
              (WebCore::RenderImage::isRenderImage):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::isRenderImage):
      
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3da811d0
  12. 19 Mar, 2008 1 commit
    • hyatt@apple.com's avatar
      2008-03-19 David Hyatt <hyatt@apple.com> · a8031486
      hyatt@apple.com authored
              New implementation of full page zoom.  Because of how much doesn't transform when zooming, and because
              of the need to obey viewport constraints, I decided to take a completely different approach.  Now CSS
              lengths and intrinsic sizes are simply adjusted by the zoom factor.  This approach works much better and
              avoids pixel cracks more than the old approach.   In addition widgets "just work", namely plugins zoom
              and scrollbars do not.
      
              This patch also implements the IE zoom CSS property.  This property allows fine-grained control over
              zooming at the element level.  It takes values of normal | <number> | <percentage> to match WinIE.  In
              addition, in the vein of text-size-adjust for text zooming, I have extended the zoom property with an
              extra value, reset.  The reset keyword can be used to prevent a section of the page from scaling at all
              when a zoom is applied.
      
              Reviewed by olliej
      
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::):
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
              Support the new 'zoom' property for getComputedStyle.
      
              * css/CSSParser.cpp:
              (WebCore::CSSParser::parseValue):
              Code that parses the 'zoom' property.
      
              * css/CSSPrimitiveValue.cpp:
              (WebCore::CSSPrimitiveValue::computeLengthInt):
              (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
              (WebCore::CSSPrimitiveValue::computeLengthShort):
              (WebCore::CSSPrimitiveValue::computeLengthFloat):
              (WebCore::CSSPrimitiveValue::computeLengthDouble):
              * css/CSSPrimitiveValue.h:
              Extend all of the computeLength methods to take a multiplier so that lengths can be adjusted by the
              zoom factor.
      
              * css/CSSPropertyNames.in:
              Add the new zoom property to the list of properties we understand.
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::applyDeclarations):
              (WebCore::CSSStyleSelector::applyProperty):
              (WebCore::CSSStyleSelector::mapBackgroundSize):
              (WebCore::CSSStyleSelector::mapBackgroundXPosition):
              (WebCore::CSSStyleSelector::mapBackgroundYPosition):
              (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
              * css/CSSStyleSelector.h:
              (WebCore::CSSStyleSelector::setStyle):
              Pass in the zoom factor when computing all lengths in CSS.
      
              * css/CSSValueKeywords.in:
              Add support for the 'reset' keyword of the zoom property.
      
              * dom/Document.cpp:
              (WebCore::Document::recalcStyle):
              Set the 'zoom' CSS property on the RenderView.  This is how we implement full page zoom.
      
              * html/CanvasRenderingContext2D.cpp:
              (WebCore::size):
              Make sure the back end canvas size ignores zooming when rendering images.
      
              * html/HTMLImageElement.cpp:
              (WebCore::HTMLImageElement::width):
              (WebCore::HTMLImageElement::height):
              (WebCore::HTMLImageElement::naturalWidth):
              (WebCore::HTMLImageElement::naturalHeight):
              Use the unzoomed width/height if we have no style information in HTMLImageElement.cpp.
      
              * loader/CachedImage.cpp:
              (WebCore::CachedImage::ref):
              (WebCore::CachedImage::imageSize):
              (WebCore::CachedImage::imageRect):
              * loader/CachedImage.h:
              (WebCore::CachedImage::canRender):
              Force access to the CachedImage metrics to take a multiplier so that people have to think about
              the zoom factor.  The "intrinsic size" of the image then takes that into account.
      
              * loader/ImageDocument.cpp:
              (WebCore::ImageTokenizer::finish):
              (WebCore::ImageDocument::scale):
              (WebCore::ImageDocument::resizeImageToFit):
              (WebCore::ImageDocument::imageChanged):
              (WebCore::ImageDocument::restoreImageSize):
              (WebCore::ImageDocument::imageFitsInWindow):
              Make sure image documents respect the zoom.
      
              * page/AnimationController.cpp:
              (WebCore::ImplicitAnimation::animate):
              Make the 'zoom' CSS property work with CSS transitions.
      
              * page/Frame.h:
              (WebCore::Frame::pageZoomFactor):
              (WebCore::Frame::textZoomFactor):
              Add accessors for obtaining the pageZoom vs. textZoom.
      
              * page/FrameView.cpp:
              (WebCore::FrameView::adjustViewSize):
              Remove the old zoom implementation that used transforms.
      
              * page/mac/WebCoreAXObject.mm:
              (-[WebCoreAXObject accessibilityIsIgnored]):
              Pass in the zoom factor.
      
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::paintBackground):
              (WebCore::InlineFlowBox::paintBoxDecorations):
              Pass in the zoom factor when testing for size.
      
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::calculateBackgroundSize):
              (WebCore::RenderBox::imageChanged):
              (WebCore::RenderBox::paintBackgroundExtended):
              (WebCore::RenderBox::calcHeight):
              * rendering/RenderFrameSet.cpp:
              (WebCore::RenderFrameSet::layout):
              * rendering/RenderHTMLCanvas.cpp:
              (WebCore::RenderHTMLCanvas::canvasSizeChanged):
              * rendering/RenderHTMLCanvas.h:
              (WebCore::RenderHTMLCanvas::renderName):
              (WebCore::RenderHTMLCanvas::intrinsicSizeChanged):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::setImageSizeForAltText):
              (WebCore::RenderImage::imageChanged):
              (WebCore::RenderImage::calcReplacedWidth):
              (WebCore::RenderImage::calcReplacedHeight):
              * rendering/RenderImage.h:
              (WebCore::RenderImage::intrinsicSizeChanged):
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::layout):
              (WebCore::RenderListMarker::imageChanged):
              (WebCore::RenderListMarker::getRelativeMarkerRect):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
              (WebCore::RenderObject::paintBorder):
              Pass in the zoom factor when testing for size.
      
              * rendering/RenderReplaced.cpp:
              (WebCore::RenderReplaced::RenderReplaced):
              (WebCore::RenderReplaced::setStyle):
              (WebCore::RenderReplaced::intrinsicSizeChanged):
              * rendering/RenderReplaced.h:
              Added a new call when the zoom factor changes, intrinsicSizeChanged().  Replaced element subclasses
              respond to this via overrides.
      
              * rendering/RenderStyle.cpp:
              (WebCore::StyleVisualData::StyleVisualData):
              (WebCore::StyleInheritedData::StyleInheritedData):
              (WebCore::StyleInheritedData::operator==):
              (WebCore::RenderStyle::diff):
              * rendering/RenderStyle.h:
              (WebCore::StyleVisualData::operator==):
              (WebCore::RenderStyle::zoom):
              (WebCore::RenderStyle::zoomInEffect):
              (WebCore::RenderStyle::setZoom):
              (WebCore::RenderStyle::setZoomInEffect):
              (WebCore::RenderStyle::initialZoom):
              Support for 'zoom' in the RenderStyle.  "zoomInEffect" represents the computed zoom taking into account
              all the zooms specified on ancestors.
      
              * rendering/RenderTableCol.cpp:
              (WebCore::RenderTableCol::imageChanged):
              * rendering/RenderTableRow.cpp:
              (WebCore::RenderTableRow::imageChanged):
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::imageChanged):
              * rendering/RenderVideo.h:
              (WebCore::RenderVideo::intrinsicSizeChanged):
              Pass in the zoom factor.
      
              * rendering/RenderView.cpp:
              (WebCore::RenderView::calcHeight):
              (WebCore::RenderView::calcWidth):
              (WebCore::RenderView::layout):
              (WebCore::RenderView::viewHeight):
              (WebCore::RenderView::viewWidth):
              * rendering/RenderView.h:
              (WebCore::RenderView::zoomFactor):
              Back out the old implementation.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31155 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8031486
  13. 04 Dec, 2007 1 commit
    • antti@apple.com's avatar
      WebCore: · 7f6c5da8
      antti@apple.com authored
              Reviewed by Adele.
              
              Fix <rdar://problem/5624802> 
              Controller displays outside of <video> element when width and height aren't specified 
      
              - Explicitly adjust size of the controls tree root.
              - Switch RenderMedia base class back to RenderReplaced. It is easier to manage the shadow tree
                by hand. This also allows better code sharing with other replaced element classes.
              - Move duplicated layout and painting code from subclasses up to RenderReplaced.
      
              Test: media/video-controls-rendering.html
      
              * rendering/RenderHTMLCanvas.cpp:
              (WebCore::RenderHTMLCanvas::paintReplaced):
              * rendering/RenderHTMLCanvas.h:
                  Share code.
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::paintReplaced):
              (WebCore::RenderImage::minimumReplacedHeight):
              * rendering/RenderImage.h:
                  Share code.
              * rendering/RenderMedia.cpp:
              (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
              (WebCore::RenderMediaControlShadowRoot::setParent):
                  Add a subclass just to get through encapsulation to use setParent().
              (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
                  Move initialization to the constructor.
              (WebCore::RenderMedia::RenderMedia):
              (WebCore::RenderMedia::~RenderMedia):
              (WebCore::RenderMedia::layout):
                  Resize and layout the controller root by hand.
              (WebCore::RenderMedia::firstChild):
              (WebCore::RenderMedia::lastChild):
              (WebCore::RenderMedia::removeChild):
                  Support one child renderer for controls.
              (WebCore::RenderMedia::createControlsShadowRoot):
              * rendering/RenderMedia.h:
              (WebCore::RenderMedia::isMedia):
                  Switch base class to RenderReplaced, delete the now unnecessary stuff.
              * rendering/RenderReplaced.cpp:
              (WebCore::RenderReplaced::layout):
              (WebCore::RenderReplaced::paint):
              * rendering/RenderReplaced.h:
              (WebCore::RenderReplaced::minimumReplacedHeight):
              (WebCore::RenderReplaced::paintReplaced):
                  Share code.
              * rendering/RenderVideo.cpp:
              (WebCore::RenderVideo::videoSizeChanged):
                  Simplify, just request relayout.
              (WebCore::RenderVideo::paintReplaced):
              (WebCore::RenderVideo::layout):
              * rendering/RenderVideo.h:
                  Share code.
      
      LayoutTests:
      
              Reviewed by Adele.
              
              Test for <rdar://problem/5624802> 
              Controller displays outside of <video> element when width and height aren't specified 
      
              * media/remove-from-document.html: Improve coverage by doing relayout before finishing.
              * media/video-controls-rendering.html: Added.
              * platform/mac/media/video-controls-rendering-expected.checksum: Added.
              * platform/mac/media/video-controls-rendering-expected.png: Added.
              * platform/mac/media/video-controls-rendering-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28397 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7f6c5da8
  14. 12 Oct, 2007 1 commit
    • oliver's avatar
      2007-10-10 Eric Seidel <eric@webkit.org> · 09e98ea0
      oliver authored
              Reviewed by Oliver.
      
              Make renderers pull localTransform instead of depending on DOM elements to push
              This allows for cleaner invalidation code, and makes writing animation easier.
              Also fixed a tiny bug in SVGRenderImage focus ring calculations while there
      
              Updated test results for svg/custom/focus-ring.svg
      
              * WebCore.xcodeproj/project.pbxproj:
              * ksvg2/svg/SVGAElement.cpp:
              (WebCore::SVGAElement::createRenderer):
              * ksvg2/svg/SVGAnimateMotionElement.cpp:
              (WebCore::SVGAnimateMotionElement::applyAnimatedValueToElement):
              * ksvg2/svg/SVGAnimateTransformElement.cpp:
              (WebCore::SVGAnimateTransformElement::applyAnimatedValueToElement):
              * ksvg2/svg/SVGClipPathElement.cpp:
              (WebCore::SVGClipPathElement::canvasResource):
              * ksvg2/svg/SVGElement.h:
              * ksvg2/svg/SVGGElement.cpp:
              (WebCore::SVGGElement::createRenderer):
              * ksvg2/svg/SVGImageElement.cpp:
              * ksvg2/svg/SVGLocatable.cpp:
              (WebCore::SVGLocatable::getCTM):
              (WebCore::SVGLocatable::getScreenCTM):
              * ksvg2/svg/SVGMarkerElement.cpp:
              (WebCore::SVGMarkerElement::canvasResource):
              (WebCore::SVGMarkerElement::notifyAttributeChange):
              * ksvg2/svg/SVGSVGElement.h:
              * ksvg2/svg/SVGStyledElement.cpp:
              (WebCore::SVGStyledElement::rendererIsNeeded):
              (WebCore::SVGStyledElement::notifyResourceParentIfExistant):
              * ksvg2/svg/SVGStyledElement.h:
              (WebCore::SVGStyledElement::style):
              * ksvg2/svg/SVGStyledTransformableElement.cpp:
              (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
              (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
              (WebCore::SVGStyledTransformableElement::notifyAttributeChange):
              (WebCore::SVGStyledTransformableElement::createRenderer):
              * ksvg2/svg/SVGStyledTransformableElement.h:
              (WebCore::SVGStyledTransformableElement::toPathData):
              * ksvg2/svg/SVGSwitchElement.cpp:
              (WebCore::SVGSwitchElement::createRenderer):
              * ksvg2/svg/SVGTRefElement.cpp:
              (WebCore::SVGTRefElement::updateReferencedText):
              * ksvg2/svg/SVGTextElement.cpp:
              (WebCore::SVGTextElement::parseMappedAttribute):
              (WebCore::SVGTextElement::animatedLocalTransform):
              * ksvg2/svg/SVGTextElement.h:
              * ksvg2/svg/SVGTextPathElement.cpp:
              * ksvg2/svg/SVGTextPathElement.h:
              * ksvg2/svg/SVGTransformable.cpp:
              (WebCore::SVGTransformable::getCTM):
              (WebCore::SVGTransformable::getScreenCTM):
              * ksvg2/svg/SVGTransformable.h:
              * ksvg2/svg/SVGUseElement.cpp:
              (WebCore::SVGUseElement::createRenderer):
              (WebCore::SVGUseElement::attachShadowTree):
              * platform/graphics/AffineTransform.h:
              (WebCore::AffineTransform::operator!=):
              * platform/graphics/svg/SVGResourceMarker.cpp:
              (WebCore::SVGResourceMarker::setMarker):
              * platform/graphics/svg/SVGResourceMarker.h:
              * rendering/RenderForeignObject.cpp:
              (WebCore::RenderForeignObject::calculateLocalTransform):
              (WebCore::RenderForeignObject::layout):
              * rendering/RenderForeignObject.h:
              (WebCore::RenderForeignObject::localTransform):
              * rendering/RenderObject.cpp:
              * rendering/RenderObject.h:
              * rendering/RenderPath.cpp:
              (WebCore::RenderPath::RenderPath):
              (WebCore::RenderPath::localTransform):
              (WebCore::RenderPath::calculateLocalTransform):
              (WebCore::RenderPath::layout):
              * rendering/RenderPath.h:
              * rendering/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::localTransform):
              (WebCore::RenderSVGContainer::calculateLocalTransform):
              (WebCore::RenderSVGContainer::layout):
              * rendering/RenderSVGContainer.h:
              * rendering/RenderSVGImage.h:
              (WebCore::RenderSVGImage::localTransform):
              * rendering/RenderSVGText.cpp:
              (WebCore::RenderSVGText::calculateLocalTransform):
              (WebCore::RenderSVGText::layout):
              * rendering/RenderSVGText.h:
              (WebCore::RenderSVGText::isSVGText):
              (WebCore::RenderSVGText::localTransform):
              * rendering/RenderSVGTextPath.cpp:
              (WebCore::RenderSVGTextPath::layoutPath):
              (WebCore::RenderSVGTextPath::startOffset):
              (WebCore::RenderSVGTextPath::exactAlignment):
              (WebCore::RenderSVGTextPath::stretchMethod):
              * rendering/RenderSVGTextPath.h:
              * rendering/RenderSVGTransformableContainer.cpp: Added.
              (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer):
              (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
              * rendering/RenderSVGTransformableContainer.h: Added.
              * rendering/RenderSVGViewportContainer.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@26534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      09e98ea0
  15. 25 Sep, 2007 1 commit
    • ddkilzer's avatar
      JavaScriptCore: · c8eccecd
      ddkilzer authored
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * COPYING.LIB:
              * bindings/testbindings.cpp:
              * kjs/AllInOneFile.cpp:
              * kjs/DateMath.cpp:
              * kjs/PropertyNameArray.cpp:
              * kjs/PropertyNameArray.h:
              * kjs/config.h:
      
      WebCore:
      
              Reviewed by Adam.
      
              - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
                LGPL'ed files contain incorrect FSF address
      
              * LICENSE-LGPL-2:
              * LICENSE-LGPL-2.1:
              * WebCorePrefix.h:
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              * bindings/js/JSDOMWindowCustom.cpp:
              * bindings/js/JSDocumentCustom.cpp:
              * bindings/js/JSHTMLCollectionCustom.cpp:
              * bindings/js/JSHTMLElementWrapperFactory.cpp:
              * bindings/js/JSHTMLElementWrapperFactory.h:
              * bindings/js/JSHTMLInputElementBase.cpp:
              * bindings/js/JSHTMLInputElementBase.h:
              *...
      c8eccecd
  16. 24 Apr, 2007 1 commit
    • darin's avatar
      Reviewed by Adele. · 7e7c8e41
      darin authored
              - first round of preparation for Hyatt's "lazy minMaxWidth" change
                http://bugs.webkit.org/show_bug.cgi?id=13431
      
              This patch limits itself to renaming and making other super-simple
              changes so that the above change will be smaller and easier to review
              and understand.
      
              Rename:
      
                  calcHorizontalMinMaxWidth -> calcHorizontalPrefWidths
                  calcMinMaxWidth -> calcPrefWidths
                  calcMinMaxWidthInternal -> calcPrefWidthsInternal
                  calcVerticalMinMaxWidth -> calcVerticalPrefWidths
                  setNeedsLayoutAndMinMaxRecalc -> setNeedsLayoutAndPrefWidthsRecalc
                  trimmedMinMaxWidth -> trimmedPrefWidths
      
                  RenderObject::m_maxWidth -> RenderObject::m_maxPrefWidth
                  RenderObject::m_minWidth -> RenderObject::m_minPrefWidth
                  RenderObject::maxWidth() -> RenderObject::maxPrefWidth()
                  RenderObject::minWidth() -> RenderObject::minPrefWidth()
      
              Replace m_minMaxKnown, minMaxKnown(), and setMinMaxKnown() with
              m_prefWidthsDirty, prefWidthsDirty(), and setPrefWidthsDirty(),
              a boolean with the opposite sense.
      
              Convert some uses of if statements into "max".
      
              Change many uses of layer() to hasLayer(). For now it's just a boolean
              version of layer(), but Hyatt's patch makes it faster by using a bit.
      
              Added a guard to use of axObjectCache() to make RenderObject destruction
              a little faster for the normal case.
      
              Removed some assertions that will be removed in Hyatt's patch.
      
              Made some functions const that will be const in Hyatt's patch.
      
              Put in some revised comments from Hyatt's patch.
      
              Removed an unneeded nil check from RenderListMarker::setStyle.
      
              Moved RootInlineBox::setHorizontalOverflowPositions and
              RootInlineBox::setVerticalSelectionPositions to the RootInlineBox.h
              header and marked them inline.
      
              * dom/Document.cpp:
              (WebCore::Document::updateStyleSelector):
              * html/HTMLTextAreaElement.cpp:
              (WebCore::HTMLTextAreaElement::parseMappedAttribute):
              * page/Frame.cpp:
              (WebCore::Frame::forceLayoutWithPageWidthRange):
              * rendering/AutoTableLayout.cpp:
              (WebCore::AutoTableLayout::recalcColumn):
              (WebCore::AutoTableLayout::calcPrefWidths):
              (WebCore::AutoTableLayout::calcEffectiveWidth):
              * rendering/AutoTableLayout.h:
              * rendering/CounterNode.cpp:
              (WebCore::CounterNode::recount):
              * rendering/FixedTableLayout.cpp:
              (WebCore::FixedTableLayout::calcPrefWidths):
              * rendering/FixedTableLayout.h:
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::paint):
              * rendering/RenderApplet.cpp:
              (WebCore::RenderApplet::layout):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::removeChild):
              (WebCore::RenderBlock::layoutBlock):
              (WebCore::RenderBlock::handleCompactChild):
              (WebCore::RenderBlock::getClearDelta):
              (WebCore::RenderBlock::calcPrefWidths):
              (WebCore::RenderBlock::calcInlinePrefWidths):
              (WebCore::RenderBlock::calcBlockPrefWidths):
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::RenderBox):
              (WebCore::RenderBox::nodeAtPoint):
              (WebCore::RenderBox::calcWidth):
              (WebCore::RenderBox::calcWidthUsing):
              (WebCore::RenderBox::calcAbsoluteHorizontal):
              (WebCore::RenderBox::calcAbsoluteHorizontalValues):
              * rendering/RenderBox.h:
              (WebCore::RenderBox::minPrefWidth):
              (WebCore::RenderBox::maxPrefWidth):
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::removeChildNode):
              (WebCore::RenderContainer::appendChildNode):
              (WebCore::RenderContainer::insertChildNode):
              (WebCore::RenderContainer::layout):
              * rendering/RenderContainer.h:
              (WebCore::RenderContainer::calcPrefWidths):
              * rendering/RenderCounter.cpp:
              (WebCore::RenderCounter::calcPrefWidths):
              * rendering/RenderCounter.h:
              * rendering/RenderFieldset.cpp:
              (WebCore::RenderFieldset::calcPrefWidths):
              * rendering/RenderFieldset.h:
              * rendering/RenderFileUploadControl.cpp:
              (WebCore::RenderFileUploadControl::calcPrefWidths):
              * rendering/RenderFileUploadControl.h:
              * rendering/RenderFlexibleBox.cpp:
              (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
              (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
              (WebCore::RenderFlexibleBox::calcPrefWidths):
              (WebCore::RenderFlexibleBox::layoutBlock):
              (WebCore::RenderFlexibleBox::allowedChildFlex):
              * rendering/RenderFlexibleBox.h:
              (WebCore::RenderFlexibleBox::hasMultipleLines):
              (WebCore::RenderFlexibleBox::isVertical):
              (WebCore::RenderFlexibleBox::isHorizontal):
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::absoluteClippedOverflowRect):
              * rendering/RenderForeignObject.cpp:
              (WebCore::RenderForeignObject::layout):
              * rendering/RenderFrameSet.cpp:
              (WebCore::RenderFrameSet::layout):
              * rendering/RenderHTMLCanvas.cpp:
              (WebCore::RenderHTMLCanvas::layout):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::imageChanged):
              (WebCore::RenderImage::layout):
              (WebCore::RenderImage::calcPrefWidths):
              * rendering/RenderImage.h:
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::addChildToFlow):
              (WebCore::RenderInline::splitInlines):
              (WebCore::RenderInline::splitFlow):
              (WebCore::RenderInline::calcPrefWidths):
              * rendering/RenderInline.h:
              * rendering/RenderListBox.cpp:
              (WebCore::RenderListBox::updateFromElement):
              (WebCore::RenderListBox::calcPrefWidths):
              * rendering/RenderListBox.h:
              * rendering/RenderListItem.cpp:
              (WebCore::RenderListItem::updateValue):
              (WebCore::RenderListItem::updateMarkerLocation):
              (WebCore::RenderListItem::calcPrefWidths):
              (WebCore::RenderListItem::layout):
              (WebCore::RenderListItem::explicitValueChanged):
              * rendering/RenderListItem.h:
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::setStyle):
              (WebCore::RenderListMarker::layout):
              (WebCore::RenderListMarker::imageChanged):
              (WebCore::RenderListMarker::calcPrefWidths):
              (WebCore::RenderListMarker::calcWidth):
              * rendering/RenderListMarker.h:
              * rendering/RenderMenuList.cpp:
              (WebCore::RenderMenuList::updateOptionsWidth):
              (WebCore::RenderMenuList::calcPrefWidths):
              * rendering/RenderMenuList.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::RenderObject):
              (WebCore::addLayers):
              (WebCore::RenderObject::removeLayers):
              (WebCore::RenderObject::moveLayers):
              (WebCore::RenderObject::addAbsoluteRectForLayer):
              (WebCore::RenderObject::checkForRepaintDuringLayout):
              (WebCore::RenderObject::dump):
              (WebCore::RenderObject::setStyle):
              (WebCore::RenderObject::destroy):
              (WebCore::RenderObject::recalcMinMaxWidths):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::hasLayer):
              (WebCore::RenderObject::prefWidthsDirty):
              (WebCore::RenderObject::setPrefWidthsDirty):
              (WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc):
              (WebCore::RenderObject::calcPrefWidths):
              (WebCore::RenderObject::minPrefWidth):
              (WebCore::RenderObject::maxPrefWidth):
              * rendering/RenderPart.cpp:
              (WebCore::RenderPart::setWidget):
              * rendering/RenderPartObject.cpp:
              (WebCore::RenderPartObject::updateWidget):
              (WebCore::RenderPartObject::layout):
              * rendering/RenderReplaced.cpp:
              (WebCore::RenderReplaced::calcPrefWidths):
              * rendering/RenderReplaced.h:
              * rendering/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::calcPrefWidths):
              (WebCore::RenderSVGContainer::layout):
              * rendering/RenderSVGContainer.h:
              * rendering/RenderSVGHiddenContainer.cpp:
              (WebCore::RenderSVGHiddenContainer::calcPrefWidths):
              * rendering/RenderSVGHiddenContainer.h:
              * rendering/RenderSVGText.cpp:
              (WebCore::RenderSVGText::layout):
              * rendering/RenderSlider.cpp:
              (WebCore::RenderSlider::calcPrefWidths):
              * rendering/RenderSlider.h:
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::calcWidth):
              (WebCore::RenderTable::layout):
              (WebCore::RenderTable::calcPrefWidths):
              (WebCore::RenderTable::splitColumn):
              (WebCore::RenderTable::appendColumn):
              * rendering/RenderTable.h:
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::updateFromElement):
              (WebCore::RenderTableCell::styleOrColWidth):
              (WebCore::RenderTableCell::calcPrefWidths):
              * rendering/RenderTableCell.h:
              * rendering/RenderTableCol.cpp:
              (WebCore::RenderTableCol::updateFromElement):
              * rendering/RenderTableRow.cpp:
              (WebCore::RenderTableRow::layout):
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::paint):
              * rendering/RenderText.cpp:
              (WebCore::RenderText::trimmedPrefWidths):
              (WebCore::RenderText::calcPrefWidths):
              (WebCore::RenderText::calcPrefWidthsInternal):
              (WebCore::RenderText::setText):
              * rendering/RenderText.h:
              (WebCore::RenderText::minPrefWidth):
              (WebCore::RenderText::maxPrefWidth):
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::calcPrefWidths):
              * rendering/RenderTextControl.h:
              * rendering/RenderView.cpp:
              (WebCore::RenderView::RenderView):
              (WebCore::RenderView::calcPrefWidths):
              (WebCore::RenderView::layout):
              * rendering/RenderView.h:
              * rendering/RenderWidget.cpp:
              (WebCore::RenderWidget::layout):
              * rendering/RootInlineBox.cpp:
              * rendering/RootInlineBox.h:
              (WebCore::RootInlineBox::setHorizontalOverflowPositions):
              (WebCore::RootInlineBox::setVerticalSelectionPositions):
              * rendering/TableLayout.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21079 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e7c8e41
  17. 02 Mar, 2007 1 commit
    • kmccullo's avatar
      LayoutTests: · adfd67da
      kmccullo authored
              Reviewed by Geoff.
      
              - rdar://problem/4922454
              - This fixes a security issue by making remote referrers not able to access local
              resources, unless they register their schemes to be treated as local. The result is
              that those schemes can access local resources and cannot be accessed by remote
              referrers.
              Because this behavior is new a link-on-or-after check is made to determine if the
              app should use the older, less safe, behavior.
      
              * fast/loader/local-CSS-from-local-expected.txt: Added.
              * fast/loader/local-CSS-from-local.html: Added.
              * fast/loader/local-JavaScript-from-local-expected.txt: Added.
              * fast/loader/local-JavaScript-from-local.html: Added.
              * fast/loader/local-iFrame-source-from-local-expected.txt: Added.
              * fast/loader/local-iFrame-source-from-local.html: Added.
              * fast/loader/local-image-from-local-expected.txt: Added.
              * fast/loader/local-image-from-local.html: A...
      adfd67da
  18. 12 Feb, 2007 1 commit
    • kmccullo's avatar
      LayoutTests: · 21cb3fd7
      kmccullo authored
              Reviewed by .
      
              - reverting change to not cause regressions and performance problems.
      
              * fast/loader/local-JavaScript-from-local-expected.txt: Removed.
              * fast/loader/local-JavaScript-from-local.html: Removed.
              * fast/loader/local-iFrame-source-from-local-expected.txt: Removed.
              * fast/loader/local-iFrame-source-from-local.html: Removed.
              * fast/loader/local-image-from-local-expected.txt: Removed.
              * fast/loader/local-image-from-local.html: Removed.
      
      WebCore:
      
              Reviewed by .
      
              - reverting change to not cause regressions and performance problems.
      
              * bindings/objc/DOM.mm:
              (-[DOMElement image]):
              (-[DOMElement _imageTIFFRepresentation]):
              * dom/XMLTokenizer.cpp:
              (WebCore::XMLTokenizer::notifyFinished):
              * html/HTMLImageLoader.cpp:
              (WebCore::HTMLImageLoader::dispatchLoadEvent):
              * html/HTMLTokenizer.cpp:
              (WebCore::HTMLTokenizer::reset):
              (WebCore::HTML...
      21cb3fd7
  19. 08 Feb, 2007 1 commit
    • kmccullo's avatar
      LayoutTests: · be8d4a65
      kmccullo authored
              Reviewed by Maciej, Darin and Mark.
      
              rdar://problem/4922454
              - No longer allow remote sites to access local resources.
      
              * fast/loader/local-JavaScript-from-local-expected.txt: Added.
              * fast/loader/local-JavaScript-from-local.html: Added.
              * fast/loader/local-iFrame-source-from-local-expected.txt: Added.
              * fast/loader/local-iFrame-source-from-local.html: Added.
              * fast/loader/local-image-from-local-expected.txt: Added.
              * fast/loader/local-image-from-local.html: Added.
              * http/tests/security/local-JavaScript-from-remote-expected.txt: Added.
              * http/tests/security/local-JavaScript-from-remote.html: Added.
              * http/tests/security/local-iFrame-from-remote-expected.txt: Added.
              * http/tests/security/local-iFrame-from-remote.html: Added.
              * http/tests/security/local-image-from-remote-expected.txt: Added.
              * http/tests/security/local-image-from-remote.html: Added.
              * http/tests/security/resources/compass.jpg: Added.
              * http/tests/security/resources/localPage.html: Added.
              * http/tests/security/resources/localPage.html.orig: Added.
              * http/tests/security/resources/localScript.js: Added.
      
      WebCore:
      
              Reviewed by Maciej, Darin, and Mark.
      
              rdar://problem/4922454
              - Prevents remote sites from executing local scripts.
      
              * bindings/objc/DOM.mm: - renamed a function that is now in the base class
              (-[DOMElement image]):
              (-[DOMElement _imageTIFFRepresentation]):
              * dom/XMLTokenizer.cpp: - removed needless asserts
              (WebCore::XMLTokenizer::notifyFinished):
              * html/HTMLImageLoader.cpp: - renamed a function that is now in the base class
              (WebCore::HTMLImageLoader::dispatchLoadEvent):
              * html/HTMLTokenizer.cpp: - removed needless asserts
              (WebCore::HTMLTokenizer::reset):
              (WebCore::HTMLTokenizer::notifyFinished):
              * ksvg2/misc/SVGImageLoader.cpp: - renamed a function that is now in the base class
              (WebCore::SVGImageLoader::dispatchLoadEvent):
              * loader/Cache.cpp: - return early if an error occured
              (WebCore::Cache::requestResource):
              (WebCore::Cache::remove):
              * loader/CachedImage.h: - renamed a function that is now in the base class
              (WebCore::CachedImage::canRender):
              * loader/CachedResource.h: - renamed a function that is now in the base class
              (WebCore::CachedResource::errorOccurred):
              * loader/CachedScript.h: - renamed a function that is now in the base class 
              (WebCore::CachedScript::schedule):
              * loader/DocLoader.cpp: - The heart of the fix, prevents resources from being created or retrieved from the cache if a remote site is requesting the local resource.
              (WebCore::DocLoader::requestResource):
              (WebCore::DocLoader::setLoadInProgress):
              * page/EventHandler.cpp: - renamed a function that is now in the base class
              (WebCore::selectCursor):
              * rendering/HitTestResult.cpp: - renamed a function that is now in the base class
              (WebCore::HitTestResult::image):
              * rendering/RenderImage.cpp: - renamed a function that is now in the base class
              (WebCore::RenderImage::setCachedImage):
              (WebCore::RenderImage::imageChanged):
              (WebCore::RenderImage::paint):
              (WebCore::RenderImage::layout):
              (WebCore::RenderImage::calcAspectRatioWidth):
              (WebCore::RenderImage::calcAspectRatioHeight):
              * rendering/RenderImage.h: - renamed a function that is now in the base class
              (WebCore::RenderImage::errorOccurred):
              * rendering/RenderListItem.cpp: - renamed a function that is now in the base class
              (WebCore::RenderListItem::setStyle):
              * rendering/RenderListMarker.cpp: - renamed a function that is now in the base class
              (WebCore::RenderListMarker::isImage):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      be8d4a65
  20. 10 Jan, 2007 1 commit
    • bdash's avatar
      2007-01-10 Kirby White <KWhiteRight@gmail.com> · 58feef6d
      bdash authored
              Reviewed by Darin.
      
              Fixes for http://bugs.webkit.org/show_bug.cgi?id=11841
      
              Set image size to fit alt text when image or input-image element
              has no src attribute, so that those images show their alt text instead
              of showing nothing at all.
      
              * html/HTMLImageElement.cpp:
              (WebCore::HTMLImageElement::attach):
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::attach):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::setImageSizeForAltText):
              (WebCore::RenderImage::imageChanged):
              * rendering/RenderImage.h:
      
      2007-01-10  Kirby White  <KWhiteRight@gmail.com>
      
              Reviewed by Darin.
      
              New and adjusted test cases for
              http://bugs.webkit.org/show_bug.cgi?id=11841
      
              * fast/dom/HTMLImageElement/image-alt-text-expected.checksum: Added.
              * fast/dom/HTMLImageElement/image-alt-text-expected.png: Added.
              * fast/dom/HTMLImageElement/image-alt-text-expected.txt: Added.
              * fast/dom/HTMLImageElement/image-alt-text.html: Added.
              * fast/dom/HTMLImageElement/resources/blue_rect.jpg: Added.
              * fast/dom/HTMLInputElement/input-image-alt-text-expected.checksum: Added.
              * fast/dom/HTMLInputElement/input-image-alt-text-expected.png: Added.
              * fast/dom/HTMLInputElement/input-image-alt-text-expected.txt: Added.
              * fast/dom/HTMLInputElement/input-image-alt-text.html: Added.
              * fast/dom/HTMLInputElement/resources/blue_rect.jpg: Added.
              * fast/forms/focus2-expected.txt:
              * fast/forms/focus2.html:
              * fast/forms/input-value-expected.checksum:
              * fast/forms/input-value-expected.png:
              * fast/forms/input-value-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18755 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      58feef6d
  21. 09 Jan, 2007 1 commit
    • darin's avatar
      JavaScriptCore: · b5a0e3df
      darin authored
              - update 2007 Apple copyright for the new company name
      
              * kjs/DateMath.cpp:
      
      WebCore:
      
              - update all 2007 Apple copyrights for the new company name
      
              * css/cssstyleselector.cpp:
              * html/HTMLLIElement.cpp:
              * platform/CharacterNames.h:
              * platform/TextBreakIterator.h:
              * platform/TextBreakIteratorICU.cpp:
              * platform/graphics/ImageBuffer.h:
              * rendering/CounterNode.cpp:
              * rendering/CounterNode.h:
              * rendering/RenderBox.h:
              * rendering/RenderContainer.cpp:
              * rendering/RenderCounter.cpp:
              * rendering/RenderCounter.h:
              * rendering/RenderImage.h:
              * rendering/RenderListItem.h:
              * rendering/RenderListMarker.h:
              * rendering/RenderObject.cpp:
              * rendering/RenderObject.h:
              * rendering/RenderStyle.cpp:
              * rendering/RenderStyle.h:
              * rendering/RenderTable.cpp:
              * rendering/RenderTableCell.cpp:
              * rendering/RenderTableCell.h:
              * rendering/RenderText.cpp:
              * rendering/RenderText.h:
              * rendering/RenderTreeAsText.cpp:
              * rendering/SVGRenderTreeAsText.cpp:
              * rendering/break_lines.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18724 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b5a0e3df
  22. 07 Jan, 2007 1 commit
    • hyatt's avatar
      LayoutTests: · 3b5fdf3d
      hyatt authored
              Add support for the CSS3 box-shadow property.
      
              Reviewed by olliej
      
              * fast/box-shadow/basic-shadows-expected.checksum: Added.
              * fast/box-shadow/basic-shadows-expected.png: Added.
              * fast/box-shadow/basic-shadows-expected.txt: Added.
              * fast/box-shadow/basic-shadows.html: Added.
      
      WebCore:
      
              Add support for the CSS3 box-shadow property.
      
              Reviewed by olliej
      
              fast/box-shadow/ contains the tests for this feature.
      
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::clipOutRoundedRect):
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::fillRoundedRect):
              (WebCore::GraphicsContext::clipOut):
              (WebCore::GraphicsContext::clipOutEllipseInRect):
              * platform/graphics/qt/GraphicsContextQt.cpp:
              (WebCore::GraphicsContext::fillRoundedRect):
              (WebCore::GraphicsContext::clipOut):
              (WebCore::GraphicsContext::clipOutEllipseInRect):
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::paint):
              (WebCore::InlineFlowBox::paintBoxShadow):
              (WebCore::InlineFlowBox::paintBoxDecorations):
              (WebCore::shouldDrawTextDecoration):
              (WebCore::InlineFlowBox::paintTextDecorations):
              * rendering/InlineFlowBox.h:
              * rendering/InlineRunBox.h:
              (WebCore::InlineRunBox::paintBoxDecorations):
              (WebCore::InlineRunBox::paintTextDecorations):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::paintObject):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::setStyle):
              (WebCore::RenderBox::paintBoxDecorations):
              (WebCore::RenderBox::paintBackgroundExtended):
              * rendering/RenderFieldset.cpp:
              (WebCore::RenderFieldset::paintBoxDecorations):
              * rendering/RenderHTMLCanvas.cpp:
              (WebCore::RenderHTMLCanvas::paint):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::paint):
              * rendering/RenderImage.h:
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::paint):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
              (WebCore::RenderObject::paintBoxShadow):
              (WebCore::RenderObject::dump):
              (WebCore::RenderObject::setStyle):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::hasBoxDecorations):
              (WebCore::RenderObject::setHasBoxDecorations):
              * rendering/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::paint):
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::paint):
              (WebCore::RenderTable::paintBoxDecorations):
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::RenderTableCell):
              (WebCore::RenderTableCell::setStyle):
              (WebCore::RenderTableCell::paintBoxDecorations):
              * rendering/RenderWidget.cpp:
              (WebCore::RenderWidget::paint):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b5fdf3d
  23. 05 Jan, 2007 1 commit
    • darin's avatar
      LayoutTests: · ec37548b
      darin authored
              Reviewed by Hyatt.
      
              - added a new version of the CSS 2.1 test from the W3C site
              - added counters, list, and other CSS tests for my counter-related check-in
      
              * css2.1: Updated to the 2006-10-11 version of the test suite.
              I downloaded it from http://www.w3.org/Style/CSS/Test/CSS2.1/20061011/
              added UTF-8 BOMs to the beginning of all the files, and generated expected
              results.
      
              * fast/css-generated-content/reset-content-to-initial-expected.txt: Updated
              to reflect a bug fix in CSS content property support.
      
              * fast/css/counters/*: Removed all the existing tests since they are now part
              of the CSS 2.1 test suite.
      
              * fast/css/counters/counter-text-security-expected.checksum:  Added. New test.
              * fast/css/counters/counter-text-security-expected.png: Ditto.
              * fast/css/counters/counter-text-security-expected.txt: Ditto.
              * fast/css/counters/counter-text-security.html: Ditto.
      
              * fast/css/counters/counter-text-transform-expected.checksum: Added. New test.
              * fast/css/counters/counter-text-transform-expected.png: Ditto.
              * fast/css/counters/counter-text-transform-expected.txt: Ditto.
              * fast/css/counters/counter-text-transform.html: Ditto.
      
              * fast/lists/decimal-leading-zero-expected.checksum: Added. New test.
              * fast/lists/decimal-leading-zero-expected.png: Ditto.
              * fast/lists/decimal-leading-zero-expected.txt: Ditto.
              * fast/lists/decimal-leading-zero.html: Ditto.
      
              * fast/css/text-security-expected.checksum:  Added. New test.
              * fast/css/text-security-expected.png: Ditto.
              * fast/css/text-security-expected.txt: Ditto.
              * fast/css/text-security.html: Ditto.
      
              * fast/lists/decimal-leading-zero-expected.checksum: Added. New test.
              * fast/lists/decimal-leading-zero-expected.png: Ditto.
              * fast/lists/decimal-leading-zero-expected.txt: Ditto.
              * fast/lists/decimal-leading-zero.html: Ditto.
      
              * fast/lists/li-values-expected.checksum: Added. New test.
              * fast/lists/li-values-expected.png: Ditto.
              * fast/lists/li-values-expected.txt: Ditto.
              * fast/lists/li-values.html: Ditto.
      
              * fast/css/import-rule-regression-11590-expected.checksum: Added. Missing
              pixel-test results.
              * fast/css/import-rule-regression-11590-expected.png: Ditto.
              * fast/dom/css-insert-import-rule-expected.checksum: Ditto.
              * fast/dom/css-insert-import-rule-expected.png: Ditto.
              * fast/forms/encoding-test-expected.checksum: Ditto.
              * fast/forms/encoding-test-expected.png: Ditto.
              * fast/frames/frame-src-attribute-expected.checksum: Ditto.
              * fast/frames/frame-src-attribute-expected.png: Ditto.
              * fast/frames/onlyCommentInIFrame-expected.png: Ditto.
              * fast/frames/viewsource-attribute-expected.checksum: Ditto.
              * fast/frames/viewsource-attribute-expected.png: Ditto.
              * fast/loader/start-load-in-unload-expected.checksum: Ditto.
              * fast/loader/start-load-in-unload-expected.png: Ditto.
      
      WebCore:
      
              Reviewed by Hyatt.
      
              - eliminated use of DeprecatedString for list item markers
              - eliminated use of DeprecatedValueList for border style collapsing
              - made many members private instead of protected or public
      
              - reworked counter implementation to fix most of the CSS 2.1 counter tests;
                  made CounterNode be a simple non-polymorphic class, moved most counter-
                  specific code out of RenderObject into RenderCounter, changed the data
                  structure in RenderStyle to be more speed-efficient but less space-
                  efficient for nodes with counter styles
              - fixed http://bugs.webkit.org/show_bug.cgi?id=11557
      
              Tests: css2.1
      
              - fixed a bug where counter text did not have text transform or text security
                applied to it
      
              Test: fast/css/counters/counter-text-security.html
              Test: fast/css/counters/counter-text-transform.html
      
              - improved handling of CSS content property values with data of the wrong
                type; this probably needs a bit more refinement
      
              Test: fast/css-generated-content/reset-content-to-initial-expected.txt
      
              - fixed a bug where removing the value attribute from an HTMLLIElement would
                set the list item's value to 0 instead of restoring it to normal
      
              Test: fast/lists/li-values.html
      
              - fixed a bug where changing the text security style from one style to another
                would not change the displayed text
      
              Test: fast/css/text-security.html
      
              - fixed some problems handling long sequences of counter-related styles;
                still needs more work and some super-large test cases to check if
                recursive algorithms for these that will overflow stack remain
      
              - added support for list styles decimal-leading-zero, hiragana, hirigana-iroha,
                katakana, katakana-iroha, cjk-ideographic, armenian, and georgian
      
              Test: fast/lists/decimal-leading-zero.html
      
              - minor tweaks and bug fixes for other list styles, including range checking
      
              * WebCore.exp: Updated for RenderListItem change.
      
              * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject value]): Updated to use
              String instead of DeprecatedString.
      
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Removed
              implementation for counter styles for now. We should probably restore it
              later, but we need to make sure the returned list is separate from the
              original list in the DOM -- modifying the list should not change the element
              it was computed from.
      
              * css/Counter.h: Removed unneeded empty constructor and destructor.
      
              * css/cssstyleselector.cpp:
              (WebCore::applyCounterList): Added. Stores counter directives in hash tables
              that should allow us to efficiently implement dynamic counter changes. Full
              support will have to wait for a future check-in.
              (WebCore::CSSStyleSelector::applyProperty): Changed counter properties to
              call applyCounterList. Reformatted the code to parse the content property for
              changes to RenderStyle and to handle the case where some the items in the
              content list don't generate any content.
      
              * editing/visible_units.cpp:
              * rendering/RenderBox.cpp:
              * rendering/RenderFlexibleBox.cpp:
              * rendering/RenderFlow.cpp:
              * rendering/RenderSlider.cpp:
              Added includes needed because of header changes.
      
              * html/HTMLLIElement.H: Removed unneeded m_isValued.
              * html/HTMLLIElement.cpp:
              (WebCore::HTMLLIElement::parseMappedAttribute): To match test results seen
              in WinIE, ignore values that are 0 or negative, and use new functions in
              RenderListItem to communicate the lack of a valid value.
              (WebCore::HTMLLIElement::attach): More of the same.
      
              * rendering/CounterNode.h: Made CounterNode be a non-polymorphic class,
              removing all the subclasses. Merged in CounterResetNode. Removed
              m_total from CounterResetNode, because it isn't needed for any of
              the styles (decimal-leading-zero always uses two digits). Removed
              m_hasSeparator and m_willNeedLayout since they aren't needed any more.
              Renamed m_count to m_countInParent for clarify, and named the list
              links the same as their associated functions. Removed many functions
              as well.
              * rendering/CounterNode.cpp:
              (WebCore::CounterNode::CounterNode): Added new fields.
              (WebCore::CounterNode::computeCountInParent): Added. Used by recount.
              (WebCore::CounterNode::recount): Simplified by removing unused parameter and the
              "get next" idiom. Changed to be iterative instead of recursive so we can handle
              arbitrarily long lists.
              (WebCore::CounterNode::insertAfter): Moved here from CounterResetNode. Updated
              for field name changes. Corrected rule for when to recount.
              (WebCore::CounterNode::removeChild): Moved here from CounterResetNode. Changed
              to only work on nodes without children. Corrected rule for when to recount.
              (WebCore::nextInPreOrderAfterChildren): Added. For debugging only.
              (WebCore::nextInPreOrder): Ditto.
              (WebCore::showTreeAndMark): Ditto.
              (showTree): Ditto.
      
              * rendering/CounterListItem.h:
              * rendering/CounterResetNode.h:
              * rendering/CounterResetNode.cpp:
              Marked ready to remove. I'll do the remove in a separate patch, since I have
              to update a lot of different make files when I do.
      
              * rendering/ListMarkerBox.cpp: (WebCore::ListMarkerBox::isText): Changed for the
              change to RenderListMarker.
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::addChildToFlow): Changed to use functions instead of
              direct field access so the fields can be private and we don't need to be friends.
              (WebCore::RenderBlock::getBaselineOfFirstLineBox): Ditto.
              (WebCore::RenderBlock::getBaselineOfLastLineBox): Ditto.
              * rendering/RenderBlock.h:
              (WebCore::RenderBlock::initMaxMarginValues): Ditto.
              (WebCore::RenderBlock::firstRootBox): Ditto.
              (WebCore::RenderBlock::lastRootBox): Ditto.
              * rendering/RenderBox.h:
              (WebCore::RenderBox::setWidth): Ditto.
              (WebCore::RenderBox::setHeight): Ditto.
              * rendering/RenderButton.cpp:
              (WebCore::RenderButton::addChild): Ditto.
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::determineStartPosition): Ditto.
      
              * rendering/RenderContainer.h: Renamed m_first and m_last to m_firstChild
              and m_lastChild. Made them private instead of proected. Removed the
              setFirstChild and setLastChild functions.
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::RenderContainer): Updated for field name change.
              Changed all calls to get at fields directly instead of using functions.
              (WebCore::RenderContainer::destroyLeftoverChildren): Ditto.
              (WebCore::updateListMarkerNumbers): Updated for RenderListItem change.
              (WebCore::RenderContainer::addChild): Changed to get at fields directly
              instead of using functions. Also used release() since RenderText::setText
              now takes PassRefPtr.
              (WebCore::RenderContainer::removeChildNode): Changed to get at fields directly
              instead of using functions.
              (WebCore::RenderContainer::updatePseudoChildForObject): Create the anonymous
              box only if at least one of of the items in the content list actually
              generates content. Since a RenderCounter is a RenderText, don't bother making
              a new style for it -- it just shares the style with its parent. Changed code
              to use RenderImage::setCachedImage() instead of of setContentObject().
              Added a call to setIsAnonymousImage() here, which was the only special thing
              that setContentObject() used to do. Pass a reference to the counter to the
              RenderCounter rather than a pointer. Pass document() as the node instead of
              passing the element to RenderCounter, which makes it anonymous automatically,
              and removed the setIsAnonymous call.
              (WebCore::RenderContainer::appendChildNode): Chagned to get at fields directly
              instead of using functions.
              (WebCore::RenderContainer::insertChildNode): Ditto.
              (WebCore::RenderContainer::layout): Ditto.
              (WebCore::RenderContainer::removeLeftoverAnonymousBoxes): Ditto.
              (WebCore::RenderContainer::positionForCoordinates): Ditto.
              (WebCore::RenderContainer::addLineBoxRects): Ditto.
      
              * rendering/RenderCounter.h: Removed unneeded layout override, never called on a
              text node. Added override of originalString. Replaced CounterData* with a copy of
              the CounterContent -- it's two atomic strings and an integer so it's efficient
              enough to store all three in the render object, and this eliminates the lifetime
              problems we could have if we used a pointer.
              * rendering/RenderCounter.cpp: Removed duplicate copy of list marker code.
              (WebCore::counterMaps): Moved these maps here from RenderObject.
              (WebCore::previousSiblingOrParent): Added.
              (WebCore::lastDescendant): Added.
              (WebCore::previousInPreOrder): Added.
              (WebCore::planCounter): Added.
              (WebCore::findPlaceForCounter): Added.
              (WebCore::counter): New name of function that was named RenderObject::findCounter.
              Also uses a new algorithm that passes all the CSS 2.1 tests.
              (WebCore::RenderCounter::RenderCounter): Changed to take a Document* instead of a
              Node*, since at the moment counters are always anonymous.
              (WebCore::RenderCounter::originalString): Added. This overrides the originalString
              in the RenderText base class so that any text transforms will use the counter's
              value. This code was previously in calcMinMaxWidth.
              (WebCore::RenderCounter::calcMinMaxWidth): Changed to call setInternalString and
              pass originalString -- this uses the counter's value from the counter tree.
              (WebCore::destroyCounterNodeChildren): Added.
              (WebCore::RenderCounter::destroyCounterNodes): Added. Called as needed from
              RenderObject::destroy for objects that have counter nodes.
      
              * rendering/RenderFlow.h: Made m_continuation private instead of protected.
      
              * rendering/RenderImage.h: Removed unneeded includes, and unnecessary element()
              function that casts to HTMLElement*. Made image() protected, and made the two
              calcAspectRatio functions private. Removed setContentObject(). Renamed the
              errorOccured() function to isErrorImage() and made it private.
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::RenderImage): Removed initialization of removed
              m_selectionState field.
              (WebCore::RenderImage::setCachedImage): Rearrange code so it won't try to
              call isErrorImage() on a null image.
              (WebCore::RenderImage::paint): Updated for name change.
      
              * rendering/RenderListBox.h: Removed unneeded forward declarations.
      
              * rendering/RenderListItem.h:
              Renamed markerStringValue() to markerText() and made it return a String instead of
              a DeprecatedString. Renamed m_prededfVal to m_explicitValue. Added booleans named
              m_hasExplicitValue and m_isValueUpToDate and marked m_value mutable so it can be
              computed in const member functions.
              (WebCore::RenderListItem::value): Changed to update value on demand at the time
              you ask for it.
              (WebCore::RenderListItem::hasExplicitValue): Added. Use instead of magic -1 value
              to indicate that the item does or does not have an explicit value.
              (WebCore::RenderListItem::explicitValue): Added.
              (WebCore::RenderListItem::setExplicitValue): Added.
              (WebCore::RenderListItem::clearExplicitValue): Added.
              * rendering/RenderListItem.cpp:
              (WebCore::RenderListItem::RenderListItem): Updated to not use magic -1 values.
              (WebCore::RenderListItem::setStyle): Removed call to RenderListMarker::setListItem
              since it's not needed any more, and instead pass the list item to the constructor.
              (WebCore::previousListItem): Made parameter const.
              (WebCore::RenderListItem::calcValue): Restructed the function a bit.
              (WebCore::RenderListItem::updateValueNow): Added. Calls calcValue.
              (WebCore::RenderListItem::updateValue): Added. New name for resetValue(). Unlike
              the old version, this no longer calculates the value until it's asked-for later.
              (WebCore::RenderListItem::markerText): Changed to return String rather than a
              DeprecatedString and to return a null string rather than empty string when there
              is no marker.
      
              * rendering/RenderListMarker.h: Added listMarkerText function -- common code shared
              with anyone who needs to convert a value into text given a list style.
              Changed constructor to take a RenderListItem and figure out the document from that.
              Added isImage() and isText() functions and removed listImage() function. Changed the
              type of the text() function from DeprecatedString to String. Removed the listItem()
              and seListeItem() functions. Made the getRelativeMarkerRect() function private.
              Renamed m_item to m_text and chagned it from DeprecatedString to String. Renamed
              m_listImage to m_image.
              * rendering/RenderListMarker.cpp:
              (WebCore::toRoman): Added range checking to fix buffer overrun for large or negative
              numbers. Rewrote to use a local UChar array and String rather than prepending to a
              DeprecatedString.
              (WebCore::toAlphabetic): Replaces toLetterString, and is more flexible since it takes
              an alphabet array. Changed to match CSS 3 specification by using decimal numbering for
              0 and negative numbers. Rewrote to use a local UChar array and String rather than
              prepending to a DeprecatedString.
              (WebCore::toHebrewUnder1000): Added. Helper function for Hebrew numbers so we can
              handle numbers up to a million.
              (WebCore::toHebrew): Changed to use toHebrewUnder1000, added a special case for
              zero, negative, and too-large numbers.
              (WebCore::toArmenianUnder10000): Added. Used by toArmenian.
              (WebCore::toArmenian): Added.
              (WebCore::toGeorgian): Added.
              (WebCore::toCJKIdeographic): Added.
              (WebCore::listMarkerText): Added. Moved the code here from calcMinMaxWidth, but added
              support for text for the styles disc, circle, square, decimal-leading-zero, hiragana,
              hirigana-iroha, katakana, katakana-iroha, cjk-ideographic, armenian, and georgian.
              Also changed some of the styles to share the new toAlphabetic function.
              (WebCore::RenderListMarker::RenderListMarker): Updated for name changes and list
              item parameter.
              (WebCore::RenderListMarker::~RenderListMarker): Updated for name changes.
              (WebCore::RenderListMarker::setStyle): Updated for name changes.
              (WebCore::RenderListMarker::isImage): Added. Useful helper that unifies the check
              for no image and the error image.
              (WebCore::RenderListMarker::paint): Updated for name changes to to use isImage()
              and rearranged the code a bit.
              (WebCore::RenderListMarker::imageChanged): Updated for name change
              (WebCore::RenderListMarker::calcMinMaxWidth): Updated for name change, fixed a bug
              where we'd leave the old text around if we were using an image-based marker. Also
              changed the code to use isImage() instead of checking m_listImage.
              (WebCore::RenderListMarker::calcWidth): Changed to use isImage().
              (WebCore::RenderListMarker::lineHeight): Changed to use isImage().
              (WebCore::RenderListMarker::baselinePosition): Changed to use isImage().
              (WebCore::RenderListMarker::getRelativeMarkerRect): Changed to use isImage(),
              restructured the code a little.
      
              * rendering/RenderObject.h: Removed now-uneeded includes. Removed collectBorders()
              and isFormElement(). Made remove() function and m_hasCounterNodeMap public so
              we could remove friend declarations for RenderListItem and RenderView.
              Moved findCounter() to become a private function inside RenderCounter.cpp.
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::createObject): Fix bug where a contentData() with
              CONTENT_NONE is treated as image content -- only look at the content property
              if it has exactly one entry which is a CONTENT_OBJECT.
              (WebCore::RenderObject::selectionStartEnd): Add const.
              (WebCore::RenderObject::destroy): Moved counter-specific code to
              RenderCounter::destroyCounterNodes.
              (WebCore::RenderObject::recalcMinMaxWidths): Changed code to set m_recalcMinMax
              near the top of the function -- the old code would potentially reset it after it
              was set by the calcMinMaxWidths functions, and possibly skip a future needed
              recalc. That came up in counter test cases. Removed unneeded boolean check right
              after an assertion.
      
              * rendering/RenderPart.h: Marked two virtual functions virtual for clarity.
      
              * rendering/RenderReplaced.h: Made shouldPaint be protected, and made
              m_intrinsicWidth, m_intrinsicHeight, and m_selectionState be private.
              Also marked isSelected() const.
              * rendering/RenderReplaced.cpp: Added newly-needed include.
              (WebCore::RenderReplaced::RenderReplaced): Use constructor syntax.
              (WebCore::RenderReplaced::isSelected): Made const and changed to call the
              selectionStartEnd function in the straightforward way.
      
              * rendering/RenderSVGText.cpp:
              (WebCore::RenderSVGText::absoluteRects): Use functions instead of direct field
              access so the fields can be private.
              (WebCore::RenderSVGText::relativeBBox): Ditto.
      
              * rendering/RenderStyle.h: Tweaked formatting. Changed names of CSS3 holders
              to say "rare" instead, since it's not all CSS 3. Renamed CounterData to
              CounterContent, since it's used inside ContentData. Changed names of fields in
              ContentData to have m prefix. Moved content and counter fields into the rare
              non-inherited data object. Removed unneeded assignment operator from a class
              that already inherits from Shared which makes it start out noncopyable.
              * rendering/RenderStyle.cpp: Name changes, plus:
              (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
              Updated for added fields (content, counter-reset, counter-increment).
              (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData): Ditto.
              (WebCore::StyleRareNonInheritedData::operator==): Reformatted and sorted so it's
              easy to see if any fields are missing.
              (WebCore::operator!=): Added. Compares two CounterContent objects.
              (WebCore::RenderStyle::arenaDelete): Removed code to handle content, which is
              now in the rareNonInheritedData structure.
              (WebCore::RenderStyle::RenderStyle): Ditto.
              (WebCore::RenderStyle::inheritFrom): Ditto.
              (WebCore::RenderStyle::operator==): Ditto.
              (WebCore::RenderStyle::inheritedNotEqual):
              (WebCore::RenderStyle::diff):
              (WebCore::RenderStyle::contentDataEquivalent): Added case for counter,
              which previously would be ignored when determining if content is equivalent.
              (WebCore::RenderStyle::clearContent): Added.
              (WebCore::RenderStyle::setContent): Updated for change in content location.
              (WebCore::ContentData::clear): Changed algorithm so that it's not recursive
              and thus can handle a very long list of ContentData.
              (WebCore::operator==): Added. Compares two CounterDirective objects.
              (WebCore::RenderStyle::counterDirectives): Added.
              (WebCore::RenderStyle::accessCounterDirectives): Added.
      
              * rendering/RenderTable.h: Made m_currentBorder const to better reflect the
              paint algorithm.
              * rendering/RenderTable.cpp: (WebCore::RenderTable::paint): Changed to use
              Vector instead of DeprecatedValueList for the border styles, and to sort
              rather than inserting in sorted order as we go. Put the code to loop through
              the nodes and collect border styles here instead of in a RenderObject virtual
              function. Also set m_currentBorder to 0 after the loop for greater clarity.
      
              * rendering/RenderTableCell.h: Added a typedef for a vector of border values.
              Removed the virtual collectBorders and replaced with the non-virtual named
              collectBorderStyles. Also added a static member function named sortBorderStyles.
              * rendering/RenderTableCell.cpp:
              (WebCore::CollapsedBorders::CollapsedBorders): Removed unneeded constructor
              parameter.
              (WebCore::addBorderStyle): Changed to use a vector instead of a
              DeprecatedValueList. Wrote out a loop since Vector doesn't have a contains
              member function. Removed the code to insert the border at a sorted location;
              instead we have a separate call to sort the border styles
              (WebCore::RenderTableCell::collectBorderStyles): Renamed, and changed the
              parameter type.
              (WebCore::compareBorderStylesForQSort): Added.
              (WebCore::RenderTableCell::sortBorderStyles): Added.
      
              * rendering/RenderText.h: Changed StringImpl parameters in setText functions
              to be PassRefPtr; added a new setInternalString function. Made a bunch of the
              member functions private and made all the data members private instead of
              protected.
              * rendering/RenderText.cpp:
              (WebCore::RenderText::setStyle): Restructure a bit for clarity. Fix case where
              the old style has a different security than the new style. Use release() since
              RenderText::setText now takes PassRefPtr. Always call cacheWidths here.
              (WebCore::RenderText::setTextWithOffset): Changed to take the string as a
              PassRefPtr instead of a raw pointer.
              (WebCore::isInlineFlowOrEmptyText): Added.
              (WebCore::RenderText::setInternalString): Refactored core of setText into a
              separate protected member function that can be used RenderCounter. Changed
              the text security square character to match what's used in list markers.
              Changed the text transform switch statement so that gcc will warn us if we add
              a new value and don't add a case for it.
              (WebCore::RenderText::setText): Refactored most of the function into
              setInternalString. Removed the call to cacheWidths -- that's now done in the
              setStyle function only.
      
              * rendering/RenderView.h:
              * rendering/RenderView.cpp: (WebCore::RenderView::selectionStartEnd): Now const.
      
              * rendering/RenderWidget.cpp: Added newly-needed include.
              (WebCore::RenderWidget::setSelectionState): Don't bother setting m_selectionState
              here since RenderReplaced::setSelectionState already does that.
      
      WebKit:
      
              Reviewed by Hyatt.
      
              * Misc/WebNSAttributedStringExtras.m:
              (+[NSAttributedString _web_attributedStringFromRange:]):
              Updated to use new list marker text API that is String rather than
              DeprecatedString. Also removed code to do text form of non-text list
              markers since the list marker class now deals with that.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ec37548b
  24. 31 Oct, 2006 1 commit
    • bdakin's avatar
      WebCore: · c4d8acc9
      bdakin authored
              Reviewed by Maciej.
      
              Fix for http://bugs.webkit.org/show_bug.cgi?id=11461 HitTestResult 
              should be split into HitTestRequest and HitTestResult
      
              This patch creates a new struct called HitTestRequest that holds 
              the three boolean values (readonly, active, and mouseMove) that 
              were formerly a part of HitTestRequest. all hitTest() and 
              nodeAtPoint() functions now take a HitTestRequest in addition to 
              the HitTestResult.
      
      WebKit:
              Reviewed by Maciej.
      
              Small tweaks to WebKit because of http://bugs.webkit.org/
              show_bug.cgi?id=11461 HitTestResult should be split into 
              HitTestRequest and HitTestResult
      
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebHTMLView.m:
              (-[WebHTMLView elementAtPoint:allowShadowContent:]): The 
              HitTestResult initializer now just takes a point.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4d8acc9
  25. 30 Oct, 2006 1 commit
    • weinig's avatar
      Reviewed by Mitz. · c24ab182
      weinig authored
              Fix for http://bugs.webkit.org/show_bug.cgi?id=11441
              More rendering code cleaning
      
              * WebCore.xcodeproj/project.pbxproj:
              * rendering/RenderApplet.cpp:
              (WebCore::RenderApplet::RenderApplet):
              (WebCore::RenderApplet::createWidgetIfNecessary):
              * rendering/RenderApplet.h:
              * rendering/RenderArena.cpp:
              (WebCore::):
              (WebCore::RenderArena::RenderArena):
              (WebCore::RenderArena::allocate):
              (WebCore::RenderArena::free):
              * rendering/RenderArena.h:
              * rendering/RenderBR.cpp:
              (WebCore::RenderBR::RenderBR):
              (WebCore::RenderBR::baselinePosition):
              (WebCore::RenderBR::lineHeight):
              (WebCore::RenderBR::setStyle):
              (WebCore::RenderBR::caretMinOffset):
              (WebCore::RenderBR::positionForCoordinates):
              (WebCore::RenderBR::inlineBox):
              * rendering/RenderBR.h:
              * rendering/RenderBlock.cpp:
              * rendering/RenderBlock.h:
              (WebCore::RenderBlock::maxTopMargin):
              (WebCore::RenderBlock::maxBottomMargin):
              (WebCore::RenderBlock::initMaxMarginValues):
              (WebCore::RenderBlock::containsFloats):
              (WebCore::RenderBlock::setHasMarkupTruncation):
              (WebCore::RenderBlock::BlockSelectionInfo::BlockSelectionInfo):
              (WebCore::RenderBlock::BlockSelectionInfo::block):
              (WebCore::RenderBlock::BlockSelectionInfo::state):
              (WebCore::RenderBlock::FloatingObject::FloatingObject):
              (WebCore::RenderBlock::CompactInfo::clear):
              * rendering/RenderButton.cpp:
              (WebCore::RenderButton::removeChild):
              (WebCore::RenderButton::paintObject):
              * rendering/RenderButton.h:
              (WebCore::RenderButton::renderName):
              (WebCore::RenderButton::removeLeftoverAnonymousBoxes):
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::RenderContainer):
              * rendering/RenderContainer.h:
              (WebCore::RenderContainer::firstChild):
              (WebCore::RenderContainer::lastChild):
              (WebCore::RenderContainer::calcMinMaxWidth):
              * rendering/RenderCounter.cpp:
              (WebCore::RenderCounter::RenderCounter):
              (WebCore::toRoman):
              (WebCore::toHebrew):
              (WebCore::RenderCounter::calcMinMaxWidth):
              * rendering/RenderCounter.h:
              * rendering/RenderFieldset.cpp:
              (WebCore::RenderFieldset::paintBoxDecorations):
              (WebCore::RenderFieldset::paintBorderMinusLegend):
              (WebCore::RenderFieldset::setStyle):
              * rendering/RenderFileUploadControl.cpp:
              (WebCore::RenderFileUploadControl::~RenderFileUploadControl):
              (WebCore::RenderFileUploadControl::setStyle):
              (WebCore::RenderFileUploadControl::paintObject):
              (WebCore::RenderFileUploadControl::calcMinMaxWidth):
              * rendering/RenderFileUploadControl.h:
              (WebCore::RenderFileUploadControl::renderName):
              * rendering/RenderFlexibleBox.h:
              * rendering/RenderFlow.cpp:
              * rendering/RenderFlow.h:
              * rendering/RenderForeignObject.cpp:
              (WebCore::RenderForeignObject::RenderForeignObject):
              (WebCore::RenderForeignObject::paint):
              (WebCore::RenderForeignObject::computeAbsoluteRepaintRect):
              (WebCore::RenderForeignObject::layout):
              (WebCore::RenderForeignObject::nodeAtPoint):
              * rendering/RenderForeignObject.h:
              (WebCore::RenderForeignObject::renderName):
              * rendering/RenderFormElement.cpp:
              (WebCore::RenderFormElement::setStyle):
              (WebCore::RenderFormElement::layout):
              (WebCore::RenderFormElement::textAlignment):
              * rendering/RenderFormElement.h:
              * rendering/RenderFrame.cpp:
              * rendering/RenderFrame.h:
              (WebCore::RenderFrame::element):
              * rendering/RenderFrameSet.cpp:
              * rendering/RenderFrameSet.h:
              (WebCore::RenderFrameSet::element):
              * rendering/RenderHTMLCanvas.cpp:
              (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
              (WebCore::RenderHTMLCanvas::paint):
              * rendering/RenderHTMLCanvas.h:
              (WebCore::RenderHTMLCanvas::renderName):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::RenderImage):
              (WebCore::RenderImage::setStyle):
              (WebCore::RenderImage::setContentObject):
              (WebCore::RenderImage::setCachedImage):
              (WebCore::RenderImage::imageChanged):
              (WebCore::RenderImage::paint):
              (WebCore::RenderImage::layout):
              (WebCore::RenderImage::updateAltText):
              * rendering/RenderImage.h:
              (WebCore::RenderImage::element):
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::RenderInline):
              (WebCore::RenderInline::~RenderInline):
              (WebCore::RenderInline::setStyle):
              (WebCore::RenderInline::addChildToFlow):
              (WebCore::RenderInline::cloneInline):
              (WebCore::RenderInline::splitInlines):
              (WebCore::RenderInline::splitFlow):
              (WebCore::RenderInline::paint):
              (WebCore::RenderInline::absoluteRects):
              (WebCore::RenderInline::calcMinMaxWidth):
              (WebCore::RenderInline::requiresLayer):
              (WebCore::RenderInline::width):
              (WebCore::RenderInline::height):
              (WebCore::RenderInline::renderName):
              (WebCore::RenderInline::nodeAtPoint):
              (WebCore::RenderInline::positionForCoordinates):
              * rendering/RenderInline.h:
              (WebCore::RenderInline::layout):
              * rendering/RenderLayer.cpp:
              * rendering/RenderLayer.h:
              (WebCore::ClipRects::ClipRects):
              (WebCore::RenderLayer::nextSibling):
              (WebCore::RenderLayer::root):
              (WebCore::RenderLayer::setPos):
              (WebCore::RenderLayer::height):
              (WebCore::RenderLayer::relativePositionOffset):
              * rendering/RenderLineEdit.cpp:
              (WebCore::RenderLineEdit::setStyle):
              (WebCore::RenderLineEdit::updateFromElement):
              (WebCore::RenderLineEdit::selectionStart):
              (WebCore::RenderLineEdit::selectionEnd):
              (WebCore::RenderLineEdit::setSelectionStart):
              (WebCore::RenderLineEdit::setSelectionEnd):
              (WebCore::RenderLineEdit::setSelectionRange):
              * rendering/RenderLineEdit.h:
              * rendering/RenderListBox.cpp:
              * rendering/RenderListBox.h:
              (WebCore::RenderListBox::renderName):
              * rendering/RenderListItem.cpp:
              (WebCore::RenderListItem::setStyle):
              (WebCore::getParentOfFirstLineBox):
              (WebCore::RenderListItem::updateMarkerLocation):
              (WebCore::RenderListItem::positionListMarker):
              (WebCore::RenderListItem::paint):
              * rendering/RenderListItem.h:
              * rendering/RenderListMarker.cpp:
              * rendering/RenderListMarker.h:
              (WebCore::RenderListMarker::renderName):
              (WebCore::RenderListMarker::isListMarker):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17448 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c24ab182
  26. 28 Oct, 2006 1 commit
    • bdakin's avatar
      WebCore: · c1a5a83b
      bdakin authored
              Reviewed by Darin.
      
              This is the WebCore half of pushing elementAtPoint and the backend 
              of WebElementDictionary into WebCore. Most of the changes below are 
              to accommodate one of the following:
                      
              -NodeInfo is now a stand-alone class called HitTestResult. 
                      Previously it was defined in RenderObject.h, but not for 
                      any particular reason. The WebElementDictionary 
                      functionality that was pushed into WebCore has been pushed 
                      specifically into the this class. In fact, 
                      WebElementDictionary now keeps a HitTestResult as a member 
                      varibale.
                      
              -The enumeration AccessPolicy is now called 
                      ClipboardAccessPolicy and is defined in its own header. It 
                      was previously defined in ClipboardMac.h, but is now 
                      defined independently to avoid including ClipboardMac.h 
                      from within FrameMac.h since FrameMac.h is now included in 
                      WebElementDictionary.m in WebKit.
                      
              -Element now has a virtual target() for the sake of 
                      NodeInfo::targetFrame() 
      
              * WebCore.exp: Several WebCore functions are newly called from 
              WebKit, so they have been added here. 
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/objc/DOM.mm: Must include Image.h because of adjustments 
              to ClipboardMac.
              * bridge/mac/FrameMac.h: Adjust to HitTestResult changes.
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::freeClipboard): Adjust to ClipboardAccessPolicy 
              and HitTestResult changes.
              (WebCore::FrameMac::eventMayStartDrag): Same.
              (WebCore::FrameMac::handleMouseMoveEvent): Same.
              (WebCore::FrameMac::dispatchCPPEvent): Same.
              (WebCore::FrameMac::mayDHTMLCut): Same.
              (WebCore::FrameMac::mayDHTMLCopy): Same.
              (WebCore::FrameMac::mayDHTMLPaste): Same.
              (WebCore::FrameMac::tryDHTMLCut): Same
              (WebCore::FrameMac::tryDHTMLCopy): Same.
              (WebCore::FrameMac::tryDHTMLPaste): Same.
              * bridge/mac/WebCoreAXObject.mm:
              (-[WebCoreAXObject doAXTextMarkerForPosition:]): Adjust to 
              HitTestResult changes.
              (-[WebCoreAXObject accessibilityHitTest:]): Same.
              * bridge/mac/WebCoreFrameBridge.h: Same.
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge dragOperationForDraggingInfo:]): Adjust for 
              ClipboardAccessPolicy changes.
              (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]): Same.
              (-[WebCoreFrameBridge concludeDragForDraggingInfo:]): Same.
              * dom/Document.cpp:
              (WebCore::Document::elementFromPoint): Adjust for HitTestResult 
              changes.
              (WebCore::Document::prepareMouseEvent): Same.
              * dom/Element.h:
              (WebCore::Element::target): Now has a virtual target()
              * html/HTMLAnchorElement.h: Same.
              * html/HTMLAreaElement.cpp:
              (WebCore::HTMLAreaElement::mapMouseEvent): Adjust for HitTestResult 
              changes.
              * html/HTMLAreaElement.h: Virtual target()
              * html/HTMLBaseElement.h:
              (WebCore::HTMLBaseElement::target): Same.
              * html/HTMLFormElement.h: Same.
              * html/HTMLLinkElement.h: Same.
              * html/HTMLMapElement.cpp:
              (WebCore::HTMLMapElement::mapMouseEvent): Adjust for HitTestResult 
              changes.
              * html/HTMLMapElement.h: Same.
              * page/Frame.cpp:
              (WebCore::Frame::isPointInsideSelection): Same.
              (WebCore::Frame::hitTestResultAtPoint): Same. 
              * page/Frame.h: Same.
              * page/FrameView.cpp:
              (WebCore::FrameView::handleWheelEvent): Same.
              * platform/mac/ClipboardAccessPolicy.h: Added.
              (WebCore::):
              * platform/mac/ClipboardMac.h: Remove definition of AccessPolicy, 
              include ClipboardAccessPolicy.h, and rename AccessPolicy to 
              ClipboardAccessPolicy.
              * platform/mac/ClipboardMac.mm: Rename ClipboardAccessPolicy.
              (WebCore::ClipboardMac::ClipboardMac):
              (WebCore::ClipboardMac::setAccessPolicy):
              (WebCore::ClipboardMac::clearData):
              (WebCore::ClipboardMac::clearAllData):
              (WebCore::ClipboardMac::getData):
              (WebCore::ClipboardMac::setData):
              (WebCore::ClipboardMac::types):
              (WebCore::ClipboardMac::setDragImage):
              (WebCore::ClipboardMac::setDropEffect):
              (WebCore::ClipboardMac::setEffectAllowed):
              * rendering/EllipsisBox.cpp:
              (WebCore::EllipsisBox::nodeAtPoint): Adjust for HitTestResult 
              changes.
              * rendering/EllipsisBox.h:
              * rendering/HitTestResult.cpp: Added.
              (WebCore::HitTestResult::HitTestResult):
              (WebCore::HitTestResult::~HitTestResult):
              (WebCore::HitTestResult::operator=):
              (WebCore::HitTestResult::setInnerNode):
              (WebCore::HitTestResult::setInnerNonSharedNode):
              (WebCore::HitTestResult::setURLElement):
              (WebCore::HitTestResult::setScrollbar):
              (WebCore::HitTestResult::targetFrame):
              (WebCore::HitTestResult::boundingBox):
              (WebCore::HitTestResult::isSelected):
              (WebCore::HitTestResult::title):
              * rendering/HitTestResult.h: Added.
              (WebCore::HitTestResult::readonly):
              (WebCore::HitTestResult::active):
              (WebCore::HitTestResult::mouseMove):
              (WebCore::HitTestResult::innerNode):
              (WebCore::HitTestResult::innerNonSharedNode):
              (WebCore::HitTestResult::point):
              (WebCore::HitTestResult::URLElement):
              (WebCore::HitTestResult::scrollbar):
              (WebCore::HitTestResult::setPoint):
              (WebCore::HitTestResult::setReadonly):
              (WebCore::HitTestResult::setActive):
              (WebCore::HitTestResult::setMouseMove):
              * rendering/InlineBox.cpp:
              (WebCore::InlineBox::nodeAtPoint): Adjust to HitTestResult changes.
              * rendering/InlineBox.h: Same.
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::nodeAtPoint): Same.
              * rendering/InlineFlowBox.h: Same.
              * rendering/InlineTextBox.cpp: 
              (WebCore::InlineTextBox::nodeAtPoint): Same.
              * rendering/InlineTextBox.h: Same.
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::isPointInScrollbar): Same.
              (WebCore::RenderBlock::nodeAtPoint): Same.
              * rendering/RenderBlock.h: Same.
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::nodeAtPoint): Same.
              * rendering/RenderBox.h: Same.
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::hitTestLines): Same.
              * rendering/RenderFlow.h: Same.
              * rendering/RenderForeignObject.cpp:
              (WebCore::RenderForeignObject::nodeAtPoint): Same.
              * rendering/RenderForeignObject.h: Same.
              * rendering/RenderFrameSet.cpp:
              (WebCore::RenderFrameSet::nodeAtPoint): Same.
              * rendering/RenderFrameSet.h: Same.
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::nodeAtPoint): Same.
              * rendering/RenderImage.h: Same.
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::nodeAtPoint): Same.
              * rendering/RenderInline.h: Same.
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::autoscroll): Same.
              (WebCore::RenderLayer::hitTest): Same.
              (WebCore::RenderLayer::hitTestLayer): Same.
              (WebCore::RenderLayer::updateHoverActiveState): Same.
              * rendering/RenderLayer.h: Same.
              * rendering/RenderListBox.cpp:
              (WebCore::RenderListBox::isPointInScrollbar): Same.
              * rendering/RenderListBox.h: Same.
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::hitTest): Same.
              (WebCore::RenderObject::setInnerNode): Same.
              (WebCore::RenderObject::nodeAtPoint): Same.
              * rendering/RenderObject.h: Remove NodeInfo class and forward 
              declare HitTestResult.
              * rendering/RenderPath.cpp:
              (WebCore::RenderPath::nodeAtPoint): Adjust to HitTestResult 
              changes.
              * rendering/RenderPath.h: Same.
              * rendering/RenderSVGImage.cpp:
              (WebCore::RenderSVGImage::nodeAtPoint): Same.
              * rendering/RenderSVGImage.h: Same
              * rendering/RenderSVGText.cpp:
              (WebCore::RenderSVGText::nodeAtPoint): Same.
              * rendering/RenderSVGText.h: Same.
              * rendering/RenderTableRow.cpp:
              (WebCore::RenderTableRow::nodeAtPoint): Same.
              * rendering/RenderTableRow.h: Same.
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::nodeAtPoint): Same.
              * rendering/RenderTableSection.h: Same.
              * rendering/RenderText.h: Same.
              (WebCore::RenderText::nodeAtPoint): Same.
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::nodeAtPoint): Same.
              * rendering/RenderTextControl.h: Same.
              * rendering/RootInlineBox.cpp:
              (WebCore::RootInlineBox::nodeAtPoint): Same.
              * rendering/RootInlineBox.h: Same.
      
      WebKit:
              Reviewed by Darin.
      
              This is the WebKit half of pushing the guts of elementAtPoint and 
              WebElementDictionary into WebCore. Among other things, this patch 
              makes WebElementDictionary.m and WebHTMLView.m Objective-C++
      
              * MigrateHeaders.make: Add DOMElementInternal.h to the list of 
              headers to migrate.
              * Misc/WebElementDictionary.h: Replaced DOMNode, DOMElement, and 
              NSPoint member variables with a HitTestResult member variable.
              * Misc/WebElementDictionary.m:
              (addLookupKey): Formatting.
              (-[WebElementDictionary initWithHitTestResult:]): Constructor just 
              takes a HitTestResult now and sets the member variable.
              (-[WebElementDictionary dealloc]): delete HitTestResult.
              (-[WebElementDictionary finalize]): Address HitTestResult.
              (-[WebElementDictionary _domNode]): Use HitTestResult and call into 
              WebCore.
              (-[WebElementDictionary objectForKey:]): Same.
              (-[WebElementDictionary _webFrame]): Same.
              (-[WebElementDictionary _targetWebFrame]): Same.
              (-[WebElementDictionary _title]): Same.
              (-[WebElementDictionary _imageRect]): Same.
              (-[WebElementDictionary _isSelected]): Same.
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebFrame.mm:
              (core): Convert from DOMNode* to Node*
              (kit): Convert from Node* to DOMNode*
              * WebView/WebFrameInternal.h: Support for the above.
              * WebView/WebHTMLView.m:
              (-[WebHTMLView elementAtPoint:allowShadowContent:]): Call directly 
              into Frame.cpp to get HitTestResult.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17399 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c1a5a83b
  27. 11 Aug, 2006 1 commit
    • hyatt's avatar
      Eliminate RenderImageButton. · 7a01faa2
      hyatt authored
              Reviewed by darin
      
              * WebCore.xcodeproj/project.pbxproj:
              * bridge/mac/WebCoreAXObject.mm:
              (-[WebCoreAXObject isImageButton]):
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::createRenderer):
              * rendering/RenderImage.h:
              (WebCore::RenderImage::isImage):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15839 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a01faa2
  28. 10 Jul, 2006 1 commit
    • bdakin's avatar
      Reviewed by Maciej. · eb2c2042
      bdakin authored
              Fix for <rdar://problem/4610314> Support the CSS3 content property 
              for images
      
              This patch provides initial support for the CSS3 content property. 
              It lacks support for any content other than images, and only allows 
              content for elements that seemed safe for now.
      
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::applyProperty): Remove restrictions for 
              just :before and :after
              * html/HTMLBRElement.cpp:
              (WebCore::HTMLBRElement::createRenderer):
              * html/HTMLFrameSetElement.cpp:
              (WebCore::HTMLFrameSetElement::createRenderer):
              * html/HTMLImageElement.cpp:
              (WebCore::HTMLImageElement::createRenderer):
              * html/HTMLLegendElement.cpp:
              (WebCore::HTMLLegendElement::createRenderer):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::RenderImage):
              (WebCore::RenderImage::setCachedImage): Don't allow the image to be 
              set this way if it was already set with the content property.
              * rendering/RenderImage.h:
              (WebCore::RenderImage::setIsAnonymousImage): Anonymous images are 
              those set through the content property.
              (WebCore::RenderImage::isAnonymousImage):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::createObject): If there is content 
              specified, create a RenderImage with the content and initialize the 
              cached image to whatever was specified in the CSS.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15299 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eb2c2042
  29. 09 Jul, 2006 1 commit
    • darin's avatar
      - another round of renaming; and KWQ is dead · e775cf78
      darin authored
              * WebCore.vcproj/WebCore/WebCore.vcproj: Remove paths for kwq and khtml directories.
              Move files to their new locations. Did rename.
              * WebCore.xcodeproj/project.pbxproj: Move files to their new locations. Did rename.
              * WebCoreSources.bkl: Did rename.
              * webcore-base.bkl: Removed kwq.
      
              * kwq/AccessibilityObjectCache.h: Removed.
              * kwq/AccessibilityObjectCache.mm: Removed.
              * kwq/FormDataMac.h: Removed.
              * kwq/FormDataMac.mm: Removed.
              * kwq/WebCoreAXObject.h: Removed.
              * kwq/WebCoreAXObject.mm: Removed.
              * kwq/WebCoreEditCommand.h: Removed.
              * kwq/WebCoreEditCommand.mm: Removed.
              * kwq/WebCorePageState.h: Removed.
              * kwq/WebCorePageState.mm: Removed.
              * kwq/WebCoreResourceLoaderImp.h: Removed.
              * kwq/WebCoreResourceLoaderImp.mm: Removed.
      
              * bridge/AXObjectCache.h: Added.
              * bridge/mac/AXObjectCacheMac.mm: Added.
              * bridge/mac/WebCoreAXObject.h: Added.
              * bridge/mac/WebCoreAXObject.mm: Added.
      
              * loader/CachedObject.cpp: Removed.
              * loader/CachedObject.h: Removed.
              * loader/CachedObjectClient.h: Removed.
              * loader/CachedObjectClientWalker.cpp: Removed.
              * loader/CachedObjectClientWalker.h: Removed.
      
              * loader/CachedResource.cpp: Added.
              * loader/CachedResource.h: Added.
              * loader/CachedResourceClient.h: Added.
              * loader/CachedResourceClientWalker.cpp: Added.
              * loader/CachedResourceClientWalker.h: Added.
      
              * bridge/mac/FrameMac.mm:
              * bridge/mac/WebCoreFrameBridge.mm:
              * css/CSSImageValue.h:
              * css/CSSImportRule.h:
              * dom/Document.cpp:
              * dom/Document.h:
              * dom/Notation.h:
              * dom/ProcessingInstruction.h:
              * dom/XMLTokenizer.cpp:
              * html/CanvasPattern.h:
              * html/HTMLDocument.h:
              * html/HTMLImageLoader.cpp:
              * html/HTMLImageLoader.h:
              * html/HTMLLinkElement.h:
              * html/HTMLScriptElement.cpp:
              * html/HTMLScriptElement.h:
              * html/HTMLTokenizer.cpp:
              * html/HTMLTokenizer.h:
              * kcanvas/KCanvasFilters.h:
              * ksvg2/svg/SVGCursorElement.cpp:
              * ksvg2/svg/SVGCursorElement.h:
              * ksvg2/svg/SVGFEImageElement.cpp:
              * ksvg2/svg/SVGFEImageElement.h:
              * loader/Cache.cpp:
              * loader/Cache.h:
              * loader/CachedCSSStyleSheet.cpp:
              * loader/CachedCSSStyleSheet.h:
              * loader/CachedImage.cpp:
              * loader/CachedImage.h:
              * loader/CachedScript.cpp:
              * loader/CachedScript.h:
              * loader/CachedXBLDocument.cpp:
              * loader/CachedXBLDocument.h:
              * loader/CachedXSLStyleSheet.cpp:
              * loader/CachedXSLStyleSheet.h:
              * loader/DocLoader.cpp:
              * loader/DocLoader.h:
              * loader/LoaderFunctions.h:
              * loader/Request.cpp:
              * loader/Request.h:
              * loader/loader.cpp:
              * loader/loader.h:
              * loader/mac/LoaderFunctionsMac.mm:
              * page/Frame.cpp:
              * page/FrameView.cpp:
              * platform/gdk/TemporaryLinkStubs.cpp:
              * platform/mac/ClipboardMac.h:
              * platform/win/TemporaryLinkStubs.cpp:
              * rendering/RenderBox.h:
              * rendering/RenderContainer.cpp:
              * rendering/RenderImage.cpp:
              * rendering/RenderImage.h:
              * rendering/RenderLayer.h:
              * rendering/RenderObject.cpp:
              * rendering/RenderObject.h:
              * rendering/RenderStyle.cpp:
              * rendering/RenderStyle.h:
              * xml/XSLImportRule.h:
              Did renaming.
      
              * platform/mac/can-convert.mm: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15269 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e775cf78
  30. 12 May, 2006 1 commit
    • eseidel's avatar
      2006-05-12 Eric Seidel <eseidel@apple.com> · 409f4301
      eseidel authored
              Reviewed by mjs.
      
              Split render_frames.* render_replaced.* and html_baseimpl.* into separate files (one class per file).
              http://bugzilla.opendarwin.org/show_bug.cgi?id=8878
      
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/kjs_html.cpp:
              (KJS::JSHTMLDocumentProtoFunc::callAsFunction):
              (KJS::JSHTMLDocument::namedItemGetter):
              (KJS::JSHTMLDocument::getValueProperty):
              (KJS::JSHTMLDocument::getOwnPropertySlot):
              (KJS::JSHTMLDocument::putValueProperty):
              (KJS::JSHTMLElement::formIndexGetter):
              (KJS::JSHTMLElement::formNameGetter):
              (KJS::JSHTMLElement::selectIndexGetter):
              (KJS::JSHTMLElement::framesetNameGetter):
              (KJS::JSHTMLElement::runtimeObjectGetter):
              (KJS::JSHTMLElement::runtimeObjectPropertyGetter):
              (KJS::JSHTMLElement::getOwnPropertySlot):
              (KJS::JSHTMLElement::implementsCall):
              (KJS::JSHTMLElement::callAsFunction):
              (KJS::JSHTMLElement::getValueProperty):
              (KJS::JSHTMLElement::toString):
              (KJS::getForm):
              (KJS::JSHTMLElement::pushEventHandlerScope):
              (KJS::HTMLElementFunction::callAsFunction):
              (KJS::JSHTMLElement::put):
              (KJS::JSHTMLElement::selectSetter):
              (KJS::JSHTMLElement::putValueProperty):
              (KJS::toHTMLElement):
              (KJS::toHTMLTableCaptionElement):
              (KJS::toHTMLTableSectionElement):
              (KJS::JSHTMLCollection::lengthGetter):
              (KJS::JSHTMLCollection::indexGetter):
              (KJS::JSHTMLCollection::nameGetter):
              (KJS::JSHTMLCollection::getOwnPropertySlot):
              (KJS::HTMLCollectionProtoFunc::callAsFunction):
              (KJS::JSHTMLSelectCollection::selectedIndexGetter):
              (KJS::JSHTMLSelectCollection::put):
              (KJS::OptionConstructorImp::construct):
              (KJS::getSelectHTMLCollection):
              * bindings/objc/DOMHTML.mm:
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::createFrame):
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge copyRenderNode:copier:]):
              * dom/Document.cpp:
              (WebCore::widgetForNode):
              * html/HTMLBodyElement.cpp: Added.
              (WebCore::HTMLBodyElement::HTMLBodyElement):
              (WebCore::HTMLBodyElement::parseMappedAttribute):
              * html/HTMLBodyElement.h: Added.
              * html/HTMLDocument.cpp:
              * html/HTMLElementFactory.cpp:
              * html/HTMLEmbedElement.cpp:
              * html/HTMLFrameElement.cpp: Added.
              (WebCore::HTMLFrameElement::isURLAllowed):
              (WebCore::HTMLFrameElement::parseMappedAttribute):
              (WebCore::HTMLFrameElement::setLocation):
              * html/HTMLFrameElement.h: Added.
              * html/HTMLFrameSetElement.cpp: Added.
              (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
              (WebCore::HTMLFrameSetElement::parseMappedAttribute):
              (WebCore::HTMLFrameSetElement::attach):
              (WebCore::HTMLFrameSetElement::defaultEventHandler):
              (WebCore::HTMLFrameSetElement::recalcStyle):
              * html/HTMLFrameSetElement.h: Added.
              * html/HTMLHeadElement.cpp: Added.
              (WebCore::HTMLHeadElement::HTMLHeadElement):
              * html/HTMLHeadElement.h: Added.
              * html/HTMLHtmlElement.cpp: Added.
              (WebCore::HTMLHtmlElement::HTMLHtmlElement):
              * html/HTMLHtmlElement.h: Added.
              * html/HTMLIFrameElement.cpp: Added.
              (WebCore::HTMLIFrameElement::HTMLIFrameElement):
              * html/HTMLIFrameElement.h: Added.
              * html/HTMLObjectElement.cpp:
              * html/HTMLParser.cpp:
              * html/html_baseimpl.cpp: Removed.
              * html/html_baseimpl.h: Removed.
              * kwq/WebCoreAXObject.mm:
              * page/Frame.cpp:
              (WebCore::isFrameElement):
              (WebCore::Frame::applyEditingStyleToBodyElement):
              (WebCore::Frame::removeEditingStyleFromBodyElement):
              (WebCore::Frame::applyEditingStyleToElement):
              (WebCore::Frame::removeEditingStyleFromElement):
              (WebCore::Frame::selectionRect):
              (WebCore::Frame::isFrameSet):
              (WebCore::scanForForm):
              (WebCore::Frame::currentForm):
              (WebCore::Frame::nodeInfoAtPoint):
              (WebCore::Frame::adjustPageHeight):
              (WebCore::Frame::frameForWidget):
              (WebCore::Frame::forceLayoutWithPageWidthRange):
              (WebCore::Frame::passWidgetMouseDownEventToWidget):
              * page/FrameView.cpp:
              * rendering/RenderFrame.cpp: Added.
              (WebCore::RenderFrame::viewCleared):
              * rendering/RenderFrame.h: Added.
              * rendering/RenderFrameSet.cpp: Added.
              (WebCore::RenderFrameSet::RenderFrameSet):
              (WebCore::RenderFrameSet::~RenderFrameSet):
              (WebCore::RenderFrameSet::layout):
              (WebCore::RenderFrameSet::positionFrames):
              (WebCore::RenderFrameSet::userResize):
              (WebCore::RenderFrameSet::canResize):
              (WebCore::RenderFrameSet::dump):
              * rendering/RenderFrameSet.h: Added.
              * rendering/RenderImage.h:
              * rendering/RenderPart.cpp: Added.
              (WebCore::RenderPart::RenderPart):
              * rendering/RenderPart.h: Added.
              * rendering/RenderPartObject.cpp: Added.
              (WebCore::isURLAllowed):
              (WebCore::RenderPartObject::updateWidget):
              (WebCore::RenderPartObject::viewCleared):
              * rendering/RenderPartObject.h: Added.
              * rendering/RenderReplaced.cpp: Added.
              (WebCore::RenderReplaced::selectionColor):
              * rendering/RenderReplaced.h: Added.
              * rendering/RenderWidget.cpp: Added.
              (WebCore::RenderWidget::deleteWidget):
              * rendering/RenderWidget.h: Added.
              * rendering/render_form.h:
              * rendering/render_frames.cpp: Removed.
              * rendering/render_frames.h: Removed.
              * rendering/render_replaced.cpp: Removed.
              * rendering/render_replaced.h: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      409f4301
  31. 11 Apr, 2006 1 commit
    • darin's avatar
      JavaScriptCore: · 36d1136a
      darin authored
              Rubber-stamped by John Sullivan.
      
              - switched from a shell script to a makefile for generated files
              - removed lots of unneeded includes
              - added new Forward.h and HashForward.h headers that allow compiling with
                fewer unneeded templates
      
              * DerivedSources.make: Added.
              * generate-derived-sources: Removed.
              * JavaScriptCore.xcodeproj/project.pbxproj: Added new files, changed to use
              DerivedSources.make.
      
              * kxmlcore/Forward.h: Added.
              * kxmlcore/HashForward.h: Added.
      
              * kxmlcore/HashCountedSet.h: Include HashForward for default args.
              * kxmlcore/HashMap.h: Ditto.
              * kxmlcore/HashSet.h: Ditto.
      
              * kjs/object.h:
              * kjs/object.cpp:
              Moved KJS_MAX_STACK into the .cpp file.
      
              * bindings/NP_jsobject.cpp:
              * bindings/c/c_instance.h:
              * bindings/jni/jni_class.h:
              * bindings/jni/jni_runtime.h:
              * bindings/jni/jni_utility.h:
              * bindings/objc/WebScriptObject.mm:
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/objc/objc_class.h:
              * bindings/objc/objc_class.mm:
              * bindings/objc/objc_instance.h:
              * bindings/objc/objc_instance.mm:
              * bindings/objc/objc_runtime.mm:
              * bindings/objc/objc_utility.mm:
              * bindings/runtime.h:
              * bindings/runtime_array.cpp:
              * bindings/runtime_array.h:
              * bindings/runtime_method.cpp:
              * bindings/runtime_method.h:
              * bindings/runtime_object.cpp:
              * bindings/runtime_root.h:
              * kjs/JSImmediate.cpp:
              * kjs/Parser.h:
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              * kjs/bool_object.h:
              * kjs/collector.h:
              * kjs/context.h:
              * kjs/debugger.cpp:
              * kjs/error_object.h:
              * kjs/function_object.h:
              * kjs/internal.h:
              * kjs/lexer.cpp:
              * kjs/math_object.cpp:
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/number_object.cpp:
              * kjs/number_object.h:
              * kjs/object_object.cpp:
              * kjs/operations.cpp:
              * kjs/protected_reference.h:
              * kjs/reference.h:
              * kjs/reference_list.h:
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
              * kjs/testkjs.cpp:
              * kjs/value.cpp:
              * kjs/value.h:
              * kxmlcore/HashTable.h:
              * kxmlcore/ListRefPtr.h:
              * kxmlcore/TCPageMap.h:
              * kxmlcore/Vector.h:
              Removed unneeded header includes.
      
      JavaScriptGlue:
      
              Rubber-stamped by John Sullivan.
      
              - added forwarding headers for the new Forward.h and HashForward.h files
      
              * kxmlcore/Forward.h: Added.
              * kxmlcore/HashForward.h: Added.
      
      WebCore:
      
              Rubber-stamped by John Sullivan (except for pbxproj change).
      
              - updated to use the new Forward.h and HashForward.h headers
              - moved the showTree debugging functions out of the WebCore
                namespace so they are easier to call from gdb, and renamed
                the showTree member functions so they don't get in the way;
                now you can do "call showTree(x)" in gdb and it just works
              - removed a lot of unneeded includes
      
              * WebCore.xcodeproj/project.pbxproj: Fixed a lot of paths that
              were not relative to the enclosing group.
      
              * ForwardingHeaders/kxmlcore/Forward.h: Added.
              * ForwardingHeaders/kxmlcore/HashForward.h: Added.
              * bindings/js/JSCanvasRenderingContext2DBase.cpp:
              * bindings/js/JSXMLHttpRequest.cpp:
              * bindings/js/JSXMLHttpRequest.h:
              * bindings/js/JSXSLTProcessor.h:
              * bindings/js/kjs_binding.h:
              * bindings/js/kjs_dom.cpp:
              * bindings/js/kjs_dom.h:
              * bindings/js/kjs_events.cpp:
              * bindings/js/kjs_events.h:
              * bindings/js/kjs_html.cpp:
              * bindings/js/kjs_navigator.cpp:
              * bindings/js/kjs_navigator.h:
              * bindings/js/kjs_proxy.cpp:
              * bindings/js/kjs_traversal.h:
              * bindings/js/kjs_window.cpp:
              * bindings/js/kjs_window.h:
              * bindings/objc/DOM.mm:
              * bindings/objc/DOMCSS.mm:
              * bindings/objc/DOMCore.h:
              * bindings/objc/DOMEvents.mm:
              * bindings/objc/DOMHTML.mm:
              * bindings/objc/DOMImplementationFront.h:
              * bindings/objc/DOMInternal.mm:
              * bindings/objc/DOMUtility.mm:
              * bindings/objc/DOMViews.mm:
              * bridge/BrowserExtension.h:
              * bridge/mac/BrowserExtensionMac.mm:
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm:
              * bridge/mac/WebCoreFrameBridge.mm:
              * bridge/mac/WebCoreFrameNamespaces.mm:
              * bridge/mac/WebCoreJavaScript.mm:
              * bridge/win/PageWin.cpp:
              * css/CSSComputedStyleDeclaration.cpp:
              * css/css_base.h:
              * css/css_ruleimpl.h:
              * css/css_valueimpl.cpp:
              * css/cssparser.cpp:
              * css/cssparser.h:
              * css/cssstyleselector.cpp:
              * css/cssstyleselector.h:
              * dom/AbstractView.h:
              * dom/AtomicStringList.h:
              * dom/Attribute.cpp:
              * dom/Attribute.h:
              * dom/Comment.cpp:
              * dom/ContainerNode.cpp:
              * dom/DOMImplementation.cpp:
              * dom/DOMImplementation.h:
              * dom/Document.cpp:
              * dom/Document.h:
              * dom/Element.h:
              * dom/EventTargetNode.cpp:
              (WebCore::EventTargetNode::dump):
              (WebCore::forbidEventDispatch):
              (WebCore::allowEventDispatch):
              (WebCore::eventDispatchForbidden):
              * dom/EventTargetNode.h:
              (WebCore::EventTargetNode::postDispatchEventHandler):
              * dom/NamedAttrMap.h:
              * dom/Node.cpp:
              (WebCore::Node::showNode):
              (WebCore::Node::showTree):
              (WebCore::Node::showTreeAndMark):
              (showTree):
              * dom/Node.h:
              * dom/NodeList.cpp:
              * dom/NodeList.h:
              * dom/Position.cpp:
              (showTree):
              * dom/Position.h:
              * dom/Range.cpp:
              * dom/Range.h:
              * dom/StyledElement.cpp:
              * dom/StyledElement.h:
              * dom/dom2_eventsimpl.cpp:
              * dom/dom2_eventsimpl.h:
              * dom/dom2_traversalimpl.h:
              * dom/dom_xmlimpl.cpp:
              * dom/xml_tokenizer.cpp:
              * dom/xml_tokenizer.h:
              * editing/AppendNodeCommand.cpp:
              * editing/ApplyStyleCommand.cpp:
              * editing/ApplyStyleCommand.h:
              * editing/BreakBlockquoteCommand.cpp:
              * editing/CompositeEditCommand.cpp:
              * editing/CreateLinkCommand.cpp:
              * editing/DeleteFromTextNodeCommand.cpp:
              * editing/DeleteFromTextNodeCommand.h:
              * editing/DeleteSelectionCommand.cpp:
              * editing/EditCommand.cpp:
              * editing/EditCommand.h:
              * editing/HTMLInterchange.cpp:
              * editing/InsertIntoTextNodeCommand.cpp:
              * editing/InsertIntoTextNodeCommand.h:
              * editing/InsertLineBreakCommand.cpp:
              * editing/InsertNodeBeforeCommand.cpp:
              * editing/InsertParagraphSeparatorCommand.cpp:
              * editing/InsertTextCommand.cpp:
              * editing/JSEditor.cpp:
              * editing/JoinTextNodesCommand.cpp:
              * editing/MergeIdenticalElementsCommand.cpp:
              * editing/ModifySelectionListLevelCommand.cpp:
              * editing/MoveSelectionCommand.cpp:
              * editing/RebalanceWhitespaceCommand.h:
              * editing/RemoveCSSPropertyCommand.h:
              * editing/ReplaceSelectionCommand.cpp:
              * editing/ReplaceSelectionCommand.h:
              * editing/Selection.cpp:
              (WebCore::Selection::formatForDebugger):
              (WebCore::Selection::showTree):
              (showTree):
              * editing/Selection.h:
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::formatForDebugger):
              (WebCore::SelectionController::showTree):
              (showTree):
              * editing/SelectionController.h:
              * editing/TextIterator.cpp:
              * editing/TextIterator.h:
              * editing/TypingCommand.cpp:
              * editing/TypingCommand.h:
              * editing/UnlinkCommand.cpp:
              * editing/VisiblePosition.cpp:
              (WebCore::isEqualIgnoringAffinity):
              (WebCore::VisiblePosition::formatForDebugger):
              (WebCore::VisiblePosition::showTree):
              (showTree):
              * editing/VisiblePosition.h:
              (WebCore::VisiblePosition::VisiblePosition):
              (WebCore::operator==):
              * editing/WrapContentsInDummySpanCommand.cpp:
              * editing/htmlediting.h:
              * editing/markup.cpp:
              * editing/markup.h:
              (WebCore::):
              * editing/visible_units.cpp:
              * html/CanvasGradient.cpp:
              * html/CanvasRenderingContext2D.h:
              * html/CanvasStyle.cpp:
              * html/CanvasStyle.h:
              * html/FormDataList.cpp:
              * html/FormDataList.h:
              * html/HTMLCollection.cpp:
              * html/HTMLCollection.h:
              * html/HTMLDocument.cpp:
              * html/HTMLDocument.h:
              * html/HTMLElement.cpp:
              * html/HTMLElementFactory.cpp:
              * html/HTMLElementFactory.h:
              * html/HTMLFormCollection.cpp:
              * html/HTMLFormElement.cpp:
              * html/HTMLFormElement.h:
              * html/HTMLInputElement.cpp:
              * html/HTMLParser.cpp:
              * html/HTMLSelectElement.cpp:
              * html/HTMLSelectElement.h:
              * html/HTMLTokenizer.cpp:
              * html/HTMLTokenizer.h:
              * html/html_baseimpl.cpp:
              * html/html_headimpl.h:
              * kcanvas/KCanvasCreator.cpp:
              * kcanvas/KCanvasFilters.h:
              * kcanvas/KCanvasPath.h:
              * kcanvas/KCanvasResources.h:
              * kcanvas/KCanvasTreeDebug.cpp:
              * kcanvas/RenderPath.cpp:
              * kcanvas/RenderPath.h:
              * kcanvas/device/KRenderingDevice.h:
              * kcanvas/device/KRenderingPaintServerGradient.h:
              * kcanvas/device/KRenderingPaintServerPattern.h:
              * kcanvas/device/KRenderingPaintServerSolid.h:
              * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
              * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
              * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
              * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
              * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
              * khtml/misc/decoder.cpp:
              * khtml/misc/decoder.h:
              * khtml/xsl/XSLStyleSheet.cpp:
              * khtml/xsl/XSLTProcessor.cpp:
              * khtml/xsl/XSLTProcessor.h:
              * ksvg2/css/SVGRenderStyle.h:
              * ksvg2/ecma/GlobalObject.cpp:
              * ksvg2/misc/KCanvasRenderingStyle.h:
              * ksvg2/misc/SVGDocumentExtensions.h:
              * ksvg2/svg/SVGAngle.h:
              * ksvg2/svg/SVGAnimateColorElement.h:
              * ksvg2/svg/SVGAnimatedColor.h:
              * ksvg2/svg/SVGAnimatedLengthList.h:
              * ksvg2/svg/SVGAnimatedNumberList.h:
              * ksvg2/svg/SVGAnimatedString.h:
              * ksvg2/svg/SVGAnimatedTransformList.h:
              * ksvg2/svg/SVGAnimationElement.h:
              * ksvg2/svg/SVGColor.h:
              * ksvg2/svg/SVGCursorElement.h:
              * ksvg2/svg/SVGHelper.h:
              * ksvg2/svg/SVGLength.h:
              * ksvg2/svg/SVGList.h:
              * ksvg2/svg/SVGPaint.h:
              * ksvg2/svg/SVGPathSeg.h:
              * ksvg2/svg/SVGPatternElement.h:
              * ksvg2/svg/SVGSVGElement.cpp:
              * ksvg2/svg/SVGSVGElement.h:
              * ksvg2/svg/SVGStringList.h:
              * ksvg2/svg/SVGTransform.h:
              * kwq/AccessibilityObjectCache.mm:
              * kwq/ClipboardMac.mm:
              * kwq/JavaAppletWidget.mm:
              * kwq/KWQComboBox.mm:
              * kwq/KWQEditCommand.mm:
              * kwq/KWQFileButton.mm:
              * kwq/KWQKHTMLSettings.h:
              * kwq/KWQKSSLKeyGen.mm:
              * kwq/KWQLoader.mm:
              * kwq/KWQPageState.mm:
              * kwq/KWQTextEdit.mm:
              * kwq/RegularExpression.h:
              * kwq/RenderTreeAsText.cpp:
              * kwq/RenderTreeAsText.h:
              * kwq/WebCoreAXObject.mm:
              * loader/Cache.cpp:
              * loader/Cache.h:
              * loader/CachedCSSStyleSheet.cpp:
              * loader/CachedObject.h:
              * loader/CachedScript.cpp:
              * loader/CachedXBLDocument.cpp:
              * loader/CachedXBLDocument.h:
              * loader/CachedXSLStyleSheet.cpp:
              * loader/CachedXSLStyleSheet.h:
              * loader/DocLoader.cpp:
              * page/Frame.cpp:
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/FrameTree.cpp:
              * page/FrameTree.h:
              * page/FrameView.cpp:
              * page/FrameView.h:
              * page/Page.cpp:
              * page/Page.h:
              * page/Plugin.h:
              (WebCore::Plugin::Plugin):
              (WebCore::Plugin::view):
              * platform/Color.cpp:
              * platform/FloatRect.h:
              * platform/Font.cpp:
              * platform/Font.h:
              * platform/FontFamily.cpp:
              * platform/GraphicsContext.cpp:
              * platform/Image.cpp:
              * platform/Image.h:
              * platform/IntRect.h:
              * platform/KURL.cpp:
              * platform/KURL.h:
              * platform/SegmentedString.h:
              * platform/Shared.h:
              * platform/StreamingTextDecoder.cpp:
              * platform/StringImpl.cpp:
              * platform/StringImpl.h:
              * platform/TextEncoding.h:
              * platform/Timer.cpp:
              * platform/Timer.h:
              * platform/TransferJob.cpp:
              * platform/TransferJob.h:
              * platform/TransferJobInternal.h:
              * platform/cairo/GraphicsContextCairo.cpp:
              * platform/cairo/ImageCairo.cpp:
              * platform/cairo/ImageSourceCairo.cpp:
              * platform/image-decoders/gif/GIFImageReader.cpp:
              * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
              * platform/mac/FontFamilyMac.mm:
              * platform/mac/FontMac.mm:
              * platform/mac/ImageMac.mm:
              * platform/mac/TextEncodingMac.cpp:
              * platform/mac/TransferJobMac.mm:
              * platform/win/FontPlatformDataWin.cpp:
              * platform/win/TransferJobWin.cpp:
              * rendering/RenderBlock.cpp:
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              * rendering/RenderBox.h:
              * rendering/RenderCanvas.cpp:
              * rendering/RenderCanvas.h:
              * rendering/RenderContainer.cpp:
              * rendering/RenderFlexibleBox.h:
              * rendering/RenderFlow.cpp:
              * rendering/RenderFlow.h:
              * rendering/RenderImage.cpp:
              * rendering/RenderImage.h:
              * rendering/RenderLayer.cpp:
              * rendering/RenderLayer.h:
              * rendering/RenderObject.cpp:
              (showTree):
              * rendering/RenderObject.h:
              * rendering/RenderTableCell.h:
              * rendering/RenderTableSection.h:
              * rendering/RenderText.cpp:
              * rendering/RenderText.h:
              * rendering/RenderTextField.cpp:
              * rendering/RenderTextFragment.h:
              * rendering/RenderTheme.h:
              * rendering/RenderThemeMac.mm:
              * rendering/RenderThemeWin.cpp:
              * rendering/bidi.cpp:
              * rendering/render_form.h:
              * rendering/render_line.cpp:
              (showTree):
              * rendering/render_line.h:
              * rendering/render_list.cpp:
              * rendering/render_replaced.cpp:
              * rendering/render_replaced.h:
              * rendering/render_style.cpp:
              * rendering/render_style.h:
              * xml/xmlhttprequest.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36d1136a
  32. 19 Mar, 2006 1 commit
  33. 24 Feb, 2006 1 commit
    • ggaren's avatar
      LayoutTests: · bb167e66
      ggaren authored
              Reviewed by Hyatt.
      
              -tests for http://bugzilla.opendarwin.org/show_bug.cgi?id=5146
      
              * fast/replaced/maxheight-percent.html: Added.
              * fast/replaced/maxheight-pxs.html: Added.
              * fast/replaced/maxwidth-percent.html: Added.
              * fast/replaced/maxwidth-pxs.html: Added.
              * fast/replaced/minheight-percent.html: Added.
              * fast/replaced/minheight-pxs.html: Added.
              * fast/replaced/minwidth-percent.html: Added.
              * fast/replaced/minwidth-pxs.html: Added.
              * fast/replaced/resources/1x1-blue.png: Added.
              * fast/replaced/resources/square-blue-100x100.png: Added.
      
      WebCore:
      
              Reviewed by Hyatt, tweaked and landed by ggaren.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5146
                max-height/max-width not resizing images with correct aspect ratio
      
              This patch is a port and adaptation of Allan Sandfeld Jensen's (carewolf)
              patch of http://bugs.kde.org/show_bug.cgi?id=120107 with the needed
              modifications to suit the Webcore tree.  Makes images respect min/max 
              sizes and their intrinsic aspect ratios at the same time according to 
              CSS 2.1 (http://www.w3.org/TR/CSS21/visudet.html#min-max-widths).  
      
              Test: fast/replaced/maxheight-percent.html
              Test: fast/replaced/maxheight-pxs.html
              Test: fast/replaced/maxwidth-percent.html
              Test: fast/replaced/maxwidth-pxs.html
              Test: fast/replaced/minheight-percent.html
              Test: fast/replaced/minheight-pxs.html
              Test: fast/replaced/minwidth-percent.html
              Test: fast/replaced/minwidth-pxs.html
      
              * rendering/render_box.cpp:
              (WebCore::RenderBox::calcReplacedWidth):
              (WebCore::RenderBox::calcReplacedWidthUsing):
              (WebCore::RenderBox::calcReplacedHeight): 
              (WebCore::RenderBox::calcReplacedHeightUsing): Calculate percent heights correctly
              * rendering/render_image.cpp: Respect aspect ratios and calculate max/min
              (WebCore::RenderImage::calcReplacedWidth):
              (WebCore::RenderImage::calcReplacedHeight):
              (WebCore::RenderImage::calcAspectRatioWidth): Added
              (WebCore::RenderImage::calcAspectRatioHeight): Added
              (WebCore::RenderImage::calcMinMaxWidth): Added
              * rendering/render_image.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12981 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb167e66
  34. 07 Feb, 2006 1 commit
    • hyatt's avatar
      Combine ImageData and Image (the result ends up in Image). · 058251ef
      hyatt authored
              Reviewed by mjs
      
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/objc/DOM.mm:
              (-[DOMElement _image]):
              (-[DOMElement _imageTIFFRepresentation]):
              * bridge/mac/MacFrame.mm:
              (WebCore::MacFrame::fileWrapperForElement):
              * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
              (KCanvasFEImageQuartz::getCIFilter):
              * khtml/ecma/kjs_html.cpp:
              (KJS::KJS::Context2DFunction::callAsFunction):
              (KJS::drawPattern):
              (KJS::_rh):
              (KJS::ImagePattern::createPattern):
              * kwq/KWQClipboard.mm:
              (WebCore::KWQClipboard::dragNSImage):
              * kwq/KWQCursor.h:
              * kwq/KWQCursor.mm:
              (WebCore::createCustomCursor):
              (WebCore::QCursor::QCursor):
              * kwq/KWQPainter.h:
              * kwq/KWQPainter.mm:
              (WebCore::QPainter::drawImageAtPoint):
              (WebCore::QPainter::drawImageInRect):
              (WebCore::QPainter::drawImage):
              (WebCore::QPainter::drawFloatImage):
              (WebCore::QPainter::drawTiledImage):
              (WebCore::QPainter::drawScaledAndTiledImage):
              * loader/CachedImage.cpp:
              (WebCore::CachedImage::image):
              * loader/CachedImage.h:
              * page/FrameView.cpp:
              (WebCore::selectCursor):
              * platform/Image.cpp:
              (WebCore::Image::Image):
              (WebCore::Image::~Image):
              (WebCore::Image::invalidateData):
              (WebCore::Image::cacheFrame):
              (WebCore::Image::isNull):
              (WebCore::Image::size):
              (WebCore::Image::setData):
              (WebCore::Image::setNativeData):
              (WebCore::Image::frameCount):
              (WebCore::Image::isSizeAvailable):
              (WebCore::Image::frameAtIndex):
              (WebCore::Image::frameDurationAtIndex):
              (WebCore::Image::shouldAnimate):
              (WebCore::Image::startAnimation):
              (WebCore::Image::stopAnimation):
              (WebCore::Image::resetAnimation):
              (WebCore::Image::advanceAnimation):
              (WebCore::Image::rect):
              * platform/Image.h:
              (KXMLCore::):
              (WebCore::FrameData::m_duration):
              (WebCore::FrameData::~FrameData):
              (WebCore::Image::currentFrame):
              (WebCore::Image::animationObserver):
              (WebCore::Image::setIsPDF):
              * platform/ImageData.cpp: Removed.
              * platform/ImageData.h: Removed.
              * platform/cairo/ImageCairo.cpp:
              (WebCore::FrameData::clear):
              (WebCore::Image::initNativeData):
              (WebCore::Image::destroyNativeData):
              (WebCore::Image::invalidateNativeData):
              (WebCore::Image::drawInRect):
              (WebCore::Image::tileInRect):
              (WebCore::Image::scaleAndTileInRect):
              * platform/mac/Image.mm:
              (WebCore::FrameData::clear):
              (WebCore::Image::initNativeData):
              (WebCore::Image::destroyNativeData):
              (WebCore::Image::invalidateNativeData):
              (WebCore::Image::loadResource):
              (WebCore::Image::supportsType):
              (WebCore::Image::checkForSolidColor):
              (WebCore::Image::getTIFFRepresentation):
              (WebCore::Image::getNSImage):
              (WebCore::Image::getCGImageRef):
              (WebCore::Image::drawInRect):
              (WebCore::drawPattern):
              (WebCore::Image::tileInRect):
              (WebCore::Image::scaleAndTileInRect):
              * rendering/render_image.cpp:
              (WebCore::RenderImage::imageChanged):
              (WebCore::RenderImage::resetAnimation):
              (WebCore::RenderImage::paint):
              (WebCore::RenderImage::nullImage):
              * rendering/render_image.h:
              (WebCore::RenderImage::image):
              * rendering/render_list.cpp:
              (RenderListItem::getAbsoluteRepaintRect):
              (RenderListMarker::paint):
              (RenderListMarker::calcMinMaxWidth):
              * rendering/render_object.cpp:
              (WebCore::RenderObject::paintBorderImage):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      058251ef
  35. 05 Feb, 2006 1 commit
    • darin's avatar
      Rubber stamped by Maciej. · ea944763
      darin authored
              - renamed DOMString and DOMStringImpl to String and StringImpl, and moved into platform
      
              * config.h: Put in transitional defines so old code can still refer to the classes
              as DOMString and DOMStringImpl.
      
              * platform/AtomicString.cpp: Added.
              * platform/AtomicString.h: Added.
              * platform/AtomicStringImpl.h: Added.
              * platform/PlatformString.h: Added.
              * platform/String.cpp: Added.
              * platform/StringImpl.cpp: Added.
              * platform/StringImpl.h: Added.
              Moved files here and renamed them. PlatformString.h would be named String.h except
              that conflicts with <string.h> on non-case-sensitive file systems.
      
              * khtml/xml/dom_atomicstring.cpp: Removed.
              * khtml/xml/dom_atomicstring.h: Removed.
              * khtml/xml/dom_stringimpl.cpp: Removed.
              * khtml/xml/dom_stringimpl.h: Removed.
              * khtml/dom/dom_string.cpp: Removed.
              * khtml/dom/dom_string.h: Removed.
      
              * WebCore.xcodeproj/project.pbxproj: Updated for file adds and removes.
              * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
      
              * WebCore+SVG/KDOMHeaders.h:
              * WebCore+SVG/Namespace.h:
              * WebCore+SVG/kdom.h:
              * bindings/objc/DOM.mm:
              * bindings/objc/DOMCSS.mm:
              * bindings/objc/DOMHTML.mm:
              * bindings/objc/DOMInternal.mm:
              * bridge/BrowserExtension.h:
              * css/css_base.h:
              * css/css_computedstyle.cpp:
              * css/css_grammar.y:
              * css/css_ruleimpl.h:
              * css/css_stylesheetimpl.cpp:
              * css/css_stylesheetimpl.h:
              * css/css_valueimpl.cpp:
              * css/csshelper.cpp:
              * css/csshelper.h:
              * css/cssparser.h:
              * css/cssstyleselector.h:
              * kcanvas/KCanvasTreeDebug.cpp:
              * khtml/dom/dom2_events.h:
              * khtml/ecma/JSXMLHttpRequest.cpp:
              * khtml/ecma/kjs_html.cpp:
              * khtml/ecma/kjs_window.cpp:
              * khtml/editing/SelectionController.cpp:
              * khtml/editing/apply_style_command.cpp:
              * khtml/editing/delete_from_text_node_command.h:
              * khtml/editing/insert_into_text_node_command.h:
              * khtml/editing/jsediting.h:
              * khtml/editing/rebalance_whitespace_command.h:
              * khtml/editing/remove_css_property_command.h:
              * khtml/editing/typing_command.h:
              * khtml/html/FormDataList.h:
              * khtml/html/HTMLNameCollectionImpl.h:
              * khtml/html/html_baseimpl.cpp:
              * khtml/html/html_objectimpl.cpp:
              * khtml/khtml_events.h:
              * khtml/xbl/xbl_binding.h:
              * khtml/xbl/xbl_protobinding.h:
              * khtml/xbl/xbl_protohandler.h:
              * khtml/xbl/xbl_protoimplementation.h:
              * khtml/xml/DOMImplementationImpl.cpp:
              * khtml/xml/EventNames.h:
              * khtml/xml/NameNodeListImpl.h:
              * khtml/xml/NamedNodeMapImpl.h:
              * khtml/xml/NodeImpl.cpp:
              * khtml/xml/NodeImpl.h:
              * khtml/xml/dom2_eventsimpl.h:
              * khtml/xml/dom_atomicstringlist.h:
              * khtml/xml/dom_elementimpl.h:
              * khtml/xml/dom_qname.h:
              * khtml/xml/dom_xmlimpl.cpp:
              * khtml/xml/xml_tokenizer.h:
              * khtml/xsl/xsl_stylesheetimpl.cpp:
              * khtml/xsl/xslt_processorimpl.h:
              * ksvg2/misc/KCanvasRenderingStyle.cpp:
              * ksvg2/svg/SVGAngleImpl.h:
              * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
              * ksvg2/svg/SVGAnimatedStringImpl.h:
              * ksvg2/svg/SVGAnimationElementImpl.cpp:
              * ksvg2/svg/SVGColorImpl.h:
              * ksvg2/svg/SVGDOMImplementationImpl.cpp:
              * ksvg2/svg/SVGElementImpl.cpp:
              * ksvg2/svg/SVGFitToViewBoxImpl.cpp:
              * ksvg2/svg/SVGLangSpaceImpl.cpp:
              * ksvg2/svg/SVGLangSpaceImpl.h:
              * ksvg2/svg/SVGLengthImpl.h:
              * ksvg2/svg/SVGMarkerElementImpl.cpp:
              * ksvg2/svg/SVGPaintImpl.h:
              * ksvg2/svg/SVGPathSegImpl.h:
              * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
              * ksvg2/svg/SVGSVGElementImpl.cpp:
              * ksvg2/svg/SVGScriptElementImpl.cpp:
              * ksvg2/svg/SVGStringListImpl.h:
              * ksvg2/svg/SVGStylableImpl.h:
              * ksvg2/svg/SVGStyleElementImpl.cpp:
              * ksvg2/svg/SVGStyledElementImpl.cpp:
              * ksvg2/svg/SVGSymbolElementImpl.cpp:
              * ksvg2/svg/SVGViewElementImpl.cpp:
              * kwq/KWQAccObject.mm:
              * kwq/KWQFontFamily.h:
              * kwq/KWQFontFamily.mm:
              * kwq/KWQKJobClasses.h:
              * kwq/KWQKJobClasses.mm:
              * loader/Cache.h:
              * loader/CachedObject.h:
              * loader/CachedXBLDocument.h:
              * loader/CachedXSLStyleSheet.h:
              * loader/DocLoader.h:
              * page/Frame.cpp:
              * page/FrameTreeNode.h:
              * platform/SegmentedString.h:
              * rendering/render_image.h:
              * rendering/render_style.cpp:
              * xml/xmlhttprequest.cpp:
              Updated all includes to use new filenames.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ea944763
  36. 02 Feb, 2006 1 commit
    • hyatt's avatar
      Fix for bug 6957, rewrite image rendering in C++ and move it to · 3059a516
      hyatt authored
             WebCore.  Animation now stops lazily and just uses the CachedObject
             notification system to push updates so that rects no longer need to
             be cached (or sets of animating renderers in specific views).
             
             Reviewed by darin
      
              * WebCore.exp:
              * bindings/objc/DOM.mm:
              (-[DOMElement _image]):
              (-[DOMElement _imageTIFFRepresentation]):
              * bindings/objc/DOMPrivate.h:
              * bridge/mac/MacFrame.mm:
              (WebCore::MacFrame::khtmlMouseMoveEvent):
              (WebCore::MacFrame::fileWrapperForElement):
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge elementAtPoint:]):
              * kcanvas/RenderSVGImage.cpp:
              (RenderSVGImage::imageChanged):
              * kcanvas/RenderSVGImage.h:
              * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
              (KCanvasFEImageQuartz::getCIFilter):
              * khtml/ecma/kjs_html.cpp:
              (KJS::drawPattern):
              * kwq/KWQClipboard.h:
              (WebCore::KWQClipboard::setDragHasStarted):
              * kwq/KWQClipboard.mm:
              (WebCore::KWQClipboard::dragNSImage):
              * kwq/KWQCursor.mm:
              (WebCore::createCustomCursor):
              * kwq/KWQPainter.h:
              (WebCore::QPainter::):
              * kwq/KWQPainter.mm:
              (WebCore::QPainter::drawFloatImage):
              (WebCore::QPainter::drawTiledImage):
              (WebCore::QPainter::drawScaledAndTiledImage):
              * kwq/KWQScrollView.h:
              * kwq/KWQScrollView.mm:
              (QScrollView::inWindow):
              * kwq/WebCoreImageRendererFactory.h:
              * kwq/WebCoreImageRendererFactory.m:
              * loader/CachedImage.cpp:
              (WebCore::CachedImage::ref):
              (WebCore::CachedImage::imageRect):
              (WebCore::CachedImage::notifyObservers):
              (WebCore::CachedImage::data):
              (WebCore::CachedImage::error):
              (WebCore::CachedImage::shouldStopAnimation):
              (WebCore::CachedImage::animationAdvanced):
              * loader/CachedImage.h:
              (WebCore::CachedImage::canRender):
              * loader/CachedObjectClient.h:
              (WebCore::CachedObjectClient::imageChanged):
              (WebCore::CachedObjectClient::willRenderImage):
              * platform/Image.h:
              (WebCore::ImageAnimationObserver::~ImageAnimationObserver):
              (WebCore::Image::animationObserver):
              (WebCore::Image::):
              * platform/mac/Image.mm:
              (WebCore::releasePDFDocumentData):
              (WebCore::PDFDocumentImage::PDFDocumentImage):
              (WebCore::PDFDocumentImage::~PDFDocumentImage):
              (WebCore::PDFDocumentImage::documentRef):
              (WebCore::PDFDocumentImage::mediaBox):
              (WebCore::PDFDocumentImage::bounds):
              (WebCore::PDFDocumentImage::adjustCTM):
              (WebCore::PDFDocumentImage::setCurrentPage):
              (WebCore::PDFDocumentImage::currentPage):
              (WebCore::PDFDocumentImage::pageCount):
              (WebCore::PDFDocumentImage::draw):
              (WebCore::ImageData::setIsPDF):
              (WebCore::ImageData::currentFrame):
              (WebCore::m_PDFDoc):
              (WebCore::ImageData::~ImageData):
              (WebCore::ImageData::invalidateData):
              (WebCore::ImageData::cacheFrame):
              (WebCore::ImageData::checkForSolidColor):
              (WebCore::ImageData::isNull):
              (WebCore::ImageData::size):
              (WebCore::ImageData::setData):
              (WebCore::ImageData::setCFData):
              (WebCore::ImageData::imageSourceOptions):
              (WebCore::ImageData::frameCount):
              (WebCore::ImageData::isSizeAvailable):
              (WebCore::ImageData::frameAtIndex):
              (WebCore::ImageData::getTIFFRepresentation):
              (WebCore::ImageData::getNSImage):
              (WebCore::ImageData::frameDurationAtIndex):
              (WebCore::ImageData::shouldAnimate):
              (WebCore::ImageData::startAnimation):
              (WebCore::ImageData::stopAnimation):
              (WebCore::ImageData::resetAnimation):
              (WebCore::ImageData::advanceAnimation):
              (WebCore::ImageData::setCompositingOperation):
              (WebCore::ImageData::fillSolidColorInRect):
              (WebCore::ImageData::drawInRect):
              (WebCore::drawPattern):
              (WebCore::):
              (WebCore::ImageData::tileInRect):
              (WebCore::ImageData::scaleAndTileInRect):
              (WebCore::Image::loadResource):
              (WebCore::Image::supportsType):
              (WebCore::m_animationObserver):
              (WebCore::Image::Image):
              (WebCore::Image::~Image):
              (WebCore::Image::getCGImageRef):
              (WebCore::Image::getNSImage):
              (WebCore::Image::getTIFFRepresentation):
              (WebCore::Image::resetAnimation):
              (WebCore::Image::setData):
              (WebCore::Image::isNull):
              (WebCore::Image::size):
              (WebCore::Image::rect):
              (WebCore::graphicsContext):
              (WebCore::Image::drawInRect):
              (WebCore::Image::tileInRect):
              (WebCore::Image::scaleAndTileInRect):
              * rendering/render_box.cpp:
              (WebCore::RenderBox::paintBackgroundExtended):
              * rendering/render_image.cpp:
              (WebCore::RenderImage::setCachedImage):
              (WebCore::RenderImage::imageChanged):
              * rendering/render_image.h:
              * rendering/render_line.cpp:
              (WebCore::InlineFlowBox::paintBackground):
              (WebCore::InlineFlowBox::paintBackgroundAndBorder):
              * rendering/render_list.cpp:
              (RenderListMarker::imageChanged):
              * rendering/render_list.h:
              * rendering/render_object.cpp:
              (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
              (WebCore::RenderObject::paintBorderImage):
              (WebCore::RenderObject::paintBorder):
              (WebCore::RenderObject::imageChanged):
              (WebCore::RenderObject::willRenderImage):
              * rendering/render_object.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3059a516
  37. 29 Jan, 2006 2 commits
    • darin's avatar
      Reviewed by Hyatt. · f1c53865
      darin authored
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6914
                REGRESSION: fast/block/basic/014.html crashes Safari
      
              * rendering/render_image.h:
              (WebCore::RenderImage::image): Return a null image when m_cachedImage is 0.
              (WebCore::RenderImage::errorOccurred): Return false when m_cachedImage is 0.
              * rendering/render_image.cpp: (WebCore::RenderImage::nullImage): Added.
              Returns a global null image for use when we have no cached image.
      
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6919
                REGRESSION: Background images don't paint when they are finished loading
      
              * rendering/render_object.h: Renamed the old setImage to imageChanged, the
              new name for the same function.
              * rendering/render_object.cpp: (WebCore::RenderObject::imageChanged): Ditto.
              * rendering/render_list.cpp: (RenderListMarker::imageChanged): Changed the
              call to parent to call the new imageChanged instead of the old setImage.
      
              - fixed something else that was causing some layout test crashes
      
              * kwq/KWQRenderTreeDebug.cpp: (externalRepresentation): Rearrange so we won't
              ever dereference a null pointer here.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f1c53865
    • hyatt's avatar
      WebCore: · bee4b08d
      hyatt authored
              Cleanup of RenderImage.  Eliminate unneeded members and methods.
      
              Reviewed by darin
      
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge elementAtPoint:]):
              * khtml/ecma/kjs_html.cpp:
              (KJS::KJS::Context2DFunction::callAsFunction):
              (KJS::drawPattern):
              * khtml/html/HTMLInputElementImpl.cpp:
              (WebCore::HTMLInputElementImpl::attach):
              * khtml/html/html_imageimpl.cpp:
              (WebCore::HTMLImageLoader::notifyFinished):
              (WebCore::HTMLImageElementImpl::attach):
              * khtml/html/html_imageimpl.h:
              (WebCore::HTMLImageElementImpl::compositeOperator):
              * khtml/html/html_objectimpl.cpp:
              (WebCore::HTMLObjectElementImpl::attach):
              * ksvg2/svg/SVGImageElementImpl.cpp:
              (SVGImageElementImpl::attach):
              * kwq/KWQPainter.h:
              * kwq/KWQPainter.mm:
              (WebCore::QPainter::drawImageAtPoint):
              (WebCore::QPainter::drawImageInRect):
              (WebCore::QPainter::drawImage):
              (WebCore::QPainter::drawFloatImage):
              (WebCore::QPainter::drawTiledImage):
              (WebCore::QPainter::drawScaledAndTiledImage):
              * kwq/WebCoreImageRenderer.h:
              * loader/CachedImage.cpp:
              (WebCore::CachedImage::ref):
              (WebCore::CachedImage::notifyObservers):
              (WebCore::CachedImage::data):
              (WebCore::CachedImage::error):
              * loader/CachedImage.h:
              * loader/CachedObjectClient.h:
              (WebCore::CachedObjectClient::imageChanged):
              * platform/Image.h:
              (WebCore::Image::):
              * platform/mac/Image.mm:
              (WebCore::Image::Image):
              (WebCore::Image::resetAnimation):
              (WebCore::Image::operator=):
              (WebCore::Image::stopAnimations):
              (WebCore::):
              (WebCore::Image::compositeOperatorFromString):
              * rendering/render_box.cpp:
              (WebCore::RenderBox::paintBackgroundExtended):
              * rendering/render_canvasimage.cpp:
              (WebCore::RenderCanvasImage::paint):
              * rendering/render_image.cpp:
              (WebCore::RenderImage::RenderImage):
              (WebCore::RenderImage::~RenderImage):
              (WebCore::RenderImage::setContentObject):
              (WebCore::RenderImage::setCachedImage):
              (WebCore::RenderImage::imageChanged):
              (WebCore::RenderImage::resetAnimation):
              (WebCore::RenderImage::paint):
              (WebCore::RenderImage::layout):
              (WebCore::RenderImage::updateAltText):
              (WebCore::RenderImage::calcReplacedWidth):
              (WebCore::RenderImage::calcReplacedHeight):
              * rendering/render_image.h:
              (WebCore::RenderImage::cachedImage):
              (WebCore::RenderImage::image):
              (WebCore::RenderImage::errorOccurred):
              * rendering/render_list.cpp:
              (RenderListMarker::paint):
              (RenderListMarker::imageChanged):
              * rendering/render_list.h:
              * rendering/render_object.cpp:
              (WebCore::RenderObject::paintBorderImage):
              (WebCore::RenderObject::setImage):
              * rendering/render_object.h:
      
      WebKit:
      
              Clean up RenderImage, eliminating unneeded members and methods.
      	
              Reviewed by darin
      
              * WebCoreSupport.subproj/WebImageRenderer.h:
              * WebCoreSupport.subproj/WebImageRenderer.m:
              (-[WebImageRenderer copyWithZone:]):
              (-[WebImageRenderer size]):
              (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bee4b08d
  38. 27 Jan, 2006 1 commit
    • hyatt's avatar
      Fix for 6867. Rename QPixmap to Image and move it to platform/. · b9443599
      hyatt authored
              Eliminate QPaintDevice and QPaintDeviceMetrics completely, since
              they aren't necessary.
      
              Reviewed by anders
      
              * ForwardingHeaders/q3paintdevicemetrics.h: Removed.
              * ForwardingHeaders/qpaintdevice.h: Removed.
              * ForwardingHeaders/qpaintdevicemetrics.h: Removed.
              * ForwardingHeaders/qpixmap.h: Removed.
              * WebCore.xcodeproj/project.pbxproj:
              * bridge/mac/MacFrame.mm:
              (MacFrame::fileWrapperForElement):
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge reapplyStylesForDeviceType:]):
              (nowPrinting):
              (-[WebCoreFrameBridge elementAtPoint:]):
              * css/css_valueimpl.cpp:
              (WebCore::CSSPrimitiveValueImpl::computeLength):
              (WebCore::CSSPrimitiveValueImpl::computeLengthFloat):
              * css/css_valueimpl.h:
              * css/csshelper.cpp:
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::CSSStyleSelector):
              (WebCore::CSSStyleSelector::init):
              (WebCore::CSSStyleSelector::initForStyleResolve):
              (WebCore::CSSStyleSelector::styleForElement):
              (WebCore::CSSStyleSelector::pseudoStyleForElement):
              (WebCore::convertToLength):
              (WebCore::CSSStyleSelector::applyProperty):
              (WebCore::CSSStyleSelector::mapBackgroundXPosition):
              (WebCore::CSSStyleSelector::mapBackgroundYPosition):
              * css/cssstyleselector.h:
              * kcanvas/KCanvasFilters.h:
              (KCanvasFEImage::image):
              (KCanvasFEImage::setImage):
              * kcanvas/KCanvasImage.h:
              * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
              (KCanvasFEImageQuartz::getCIFilter):
              * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
              (KCanvasImageQuartz::init):
              * khtml/ecma/kjs_events.cpp:
              (KJS::ClipboardProtoFunc::callAsFunction):
              * khtml/ecma/kjs_html.cpp:
              (KJS::KJS::Context2DFunction::callAsFunction):
              (KJS::drawPattern):
              (KJS::_rh):
              (KJS::ImagePattern::createPattern):
              * khtml/ecma/kjs_html.h:
              (KJS::ImagePattern::image):
              * khtml/ecma/kjs_window.cpp:
              (KJS::Screen::getValueProperty):
              * khtml/editing/SelectionController.h:
              * khtml/html/html_imageimpl.h:
              (WebCore::HTMLImageElementImpl::image):
              * khtml/misc/helper.h:
              * khtml/xml/DocumentImpl.cpp:
              (WebCore::DocumentImpl::DocumentImpl):
              (WebCore::DocumentImpl::~DocumentImpl):
              (WebCore::DocumentImpl::recalcStyle):
              (WebCore::DocumentImpl::attach):
              (WebCore::DocumentImpl::detach):
              * khtml/xml/DocumentImpl.h:
              (WebCore::DocumentImpl::printing):
              (WebCore::DocumentImpl::setPrinting):
              * khtml/xml/dom2_eventsimpl.h:
              * ksvg2/css/SVGCSSStyleSelector.cpp:
              * ksvg2/misc/KCanvasRenderingStyle.cpp:
              (WebCore::KSVGPainterFactory::cssPrimitiveToLength):
              (WebCore::KSVGPainterFactory::strokePainter):
              * ksvg2/svg/SVGCursorElementImpl.cpp:
              (SVGCursorElementImpl::notifyFinished):
              * ksvg2/svg/SVGCursorElementImpl.h:
              (KSVG::SVGCursorElementImpl::image):
              * ksvg2/svg/SVGDocumentImpl.cpp:
              (SVGDocumentImpl::SVGDocumentImpl):
              * ksvg2/svg/SVGFEImageElementImpl.cpp:
              (SVGFEImageElementImpl::notifyFinished):
              * ksvg2/svg/SVGMaskElementImpl.cpp:
              (KSVG::SVGMaskElementImpl::drawMaskerContent):
              * ksvg2/svg/SVGSVGElementImpl.cpp:
              * kwq/KWQApplication.h:
              * kwq/KWQApplication.mm:
              (QDesktopWidget::screenDepth):
              * kwq/KWQClipboard.h:
              * kwq/KWQClipboard.mm:
              (WebCore::KWQClipboard::dragImage):
              (WebCore::KWQClipboard::setDragImage):
              (WebCore::KWQClipboard::setDragImageElement):
              * kwq/KWQComboBox.mm:
              * kwq/KWQCursor.h:
              * kwq/KWQCursor.mm:
              (WebCore::createCustomCursor):
              (WebCore::QCursor::QCursor):
              * kwq/KWQKPartsEvent.h:
              * kwq/KWQObject.h:
              * kwq/KWQPaintDevice.h: Removed.
              * kwq/KWQPaintDeviceMetrics.h: Removed.
              * kwq/KWQPaintDeviceMetrics.mm: Removed.
              * kwq/KWQPainter.h:
              (WebCore::QPainter::printing):
              * kwq/KWQPainter.mm:
              (WebCore::QPainter::drawImage):
              (WebCore::QPainter::drawFloatImage):
              (WebCore::QPainter::drawTiledImage):
              (WebCore::QPainter::drawScaledAndTiledImage):
              * kwq/KWQPixmap.h: Removed.
              * kwq/KWQPixmap.mm: Removed.
              * kwq/KWQPrinter.h:
              (QPrinter::QPrinter):
              * kwq/KWQWidget.h:
              * loader/Cache.cpp:
              (khtml::Cache::init):
              (khtml::Cache::clear):
              (khtml::Cache::requestImage):
              (khtml::Cache::getStatistics):
              * loader/Cache.h:
              * loader/CachedImage.cpp:
              (WebCore::CachedImage::CachedImage):
              (WebCore::CachedImage::ref):
              (WebCore::CachedImage::tiled_image):
              (WebCore::CachedImage::image):
              (WebCore::CachedImage::image_size):
              (WebCore::CachedImage::do_notify):
              (WebCore::CachedImage::data):
              (WebCore::CachedImage::error):
              * loader/CachedImage.h:
              * loader/CachedImageCallback.cpp:
              (WebCore::CachedImageCallback::notifyUpdate):
              (WebCore::CachedImageCallback::notifyFinished):
              (WebCore::CachedImageCallback::handleError):
              * loader/CachedObject.h:
              (WebCore::CachedObject::):
              * loader/CachedObjectClient.h:
              (WebCore::CachedObjectClient::setImage):
              * loader/DocLoader.cpp:
              (khtml::DocLoader::setAutoloadImages):
              (khtml::DocLoader::setShowAnimations):
              * loader/loader.cpp:
              (WebCore::Loader::servePendingRequests):
              (WebCore::Loader::slotFinished):
              * page/Frame.cpp:
              (Frame::paint):
              * page/Frame.h:
              * page/FrameView.cpp:
              (selectCursor):
              * page/FrameView.h:
              * platform/Image.h: Added.
              * platform/mac/Image.mm: Added.
              (WebCore::Image::loadResource):
              (WebCore::Image::Image):
              (WebCore::Image::~Image):
              (WebCore::Image::imageRef):
              (WebCore::Image::resetAnimation):
              (WebCore::Image::setAnimationRect):
              (-[WebImageCallback initWithCallback:WebCore::]):
              (WebCore::Image::shouldUseThreadedDecoding):
              (WebCore::Image::receivedData):
              (WebCore::Image::mask):
              (WebCore::Image::isNull):
              (WebCore::Image::size):
              (WebCore::Image::rect):
              (WebCore::Image::width):
              (WebCore::Image::height):
              (WebCore::Image::resize):
              (WebCore::Image::operator=):
              (WebCore::Image::increaseUseCount):
              (WebCore::Image::decreaseUseCount):
              (WebCore::Image::stopAnimations):
              (WebCore::Image::flushRasterCache):
              * rendering/InlineTextBox.cpp:
              (khtml::InlineTextBox::paint):
              * rendering/InlineTextBox.h:
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::paintChildren):
              (WebCore::RenderBlock::paintObject):
              * rendering/RenderText.h:
              * rendering/font.cpp:
              (khtml::Font::update):
              * rendering/font.h:
              * rendering/render_box.cpp:
              (WebCore::RenderBox::paintBackgroundExtended):
              * rendering/render_canvasimage.cpp:
              (WebCore::RenderCanvasImage::paint):
              * rendering/render_flow.cpp:
              (RenderFlow::paintLines):
              * rendering/render_image.cpp:
              (WebCore::RenderImage::RenderImage):
              (WebCore::RenderImage::~RenderImage):
              (WebCore::RenderImage::setContentObject):
              (WebCore::RenderImage::setImage):
              (WebCore::RenderImage::paint):
              (WebCore::RenderImage::layout):
              (WebCore::RenderImage::calcReplacedWidth):
              (WebCore::RenderImage::calcReplacedHeight):
              * rendering/render_image.h:
              (WebCore::RenderImage::image):
              (WebCore::RenderImage::getImage):
              * rendering/render_line.cpp:
              (WebCore::InlineFlowBox::paintBackground):
              (WebCore::InlineFlowBox::paintBackgroundAndBorder):
              * rendering/render_list.cpp:
              (RenderListItem::getAbsoluteRepaintRect):
              (RenderListMarker::paint):
              (RenderListMarker::setImage):
              (RenderListMarker::calcMinMaxWidth):
              * rendering/render_list.h:
              * rendering/render_object.cpp:
              (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
              (WebCore::RenderObject::paintBorderImage):
              (WebCore::RenderObject::paintBorder):
              (WebCore::RenderObject::setImage):
              * rendering/render_object.h:
              * rendering/render_replaced.cpp:
              (WebCore::RenderWidget::paint):
              * rendering/render_replaced.h:
              * rendering/render_theme_mac.mm:
              (khtml::RenderThemeMac::setFontFromControlSize):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12414 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b9443599
  39. 19 Jan, 2006 1 commit
    • eseidel's avatar
      2006-01-19 Eric Seidel <eseidel@apple.com> · b4c0c6b5
      eseidel authored
              Reviewed by darin.
      
              Split html_miscimpl.* into separate files and move html_elementimpl
              http://bugzilla.opendarwin.org/show_bug.cgi?id=6670
      
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/objc/DOM.mm:
              * bindings/objc/DOMHTML.mm:
              * bridge/mac/WebCoreFrameBridge.mm:
              * css/css_valueimpl.cpp:
              * css/cssstyleselector.cpp:
              (WebCore::CSSStyleSelector::applyProperty):
              * khtml/ecma/kjs_dom.cpp:
              * khtml/ecma/kjs_html.cpp:
              * khtml/editing/apply_style_command.cpp:
              * khtml/editing/markup.cpp:
              * khtml/editing/replace_selection_command.cpp:
              * khtml/html/HTMLBaseFontElementImpl.cpp: Added.
              * khtml/html/HTMLBaseFontElementImpl.h: Added.
              * khtml/html/HTMLButtonElementImpl.cpp:
              * khtml/html/HTMLCollectionImpl.cpp: Added.
              (WebCore::HTMLCollectionImpl::traverseNextItem):
              * khtml/html/HTMLCollectionImpl.h: Added.
              * khtml/html/HTMLElementImpl.cpp: Added.
              * khtml/html/HTMLElementImpl.h: Added.
              * khtml/html/HTMLFieldSetElementImpl.cpp:
              * khtml/html/HTMLFormCollectionImpl.cpp: Added.
              * khtml/html/HTMLFormCollectionImpl.h: Added.
              * khtml/html/HTMLFormElementImpl.cpp:
              * khtml/html/HTMLFormElementImpl.h:
              * khtml/html/HTMLGenericFormElementImpl.cpp:
              * khtml/html/HTMLGenericFormElementImpl.h:
              * khtml/html/HTMLInputElementImpl.cpp:
              * khtml/html/HTMLIsIndexElementImpl.cpp:
              * khtml/html/HTMLLabelElementImpl.h:
              * khtml/html/HTMLLegendElementImpl.cpp:
              * khtml/html/HTMLNameCollectionImpl.cpp: Added.
              * khtml/html/HTMLNameCollectionImpl.h: Added.
              * khtml/html/HTMLOptGroupElementImpl.cpp:
              * khtml/html/HTMLOptGroupElementImpl.h:
              * khtml/html/HTMLOptionElementImpl.h:
              * khtml/html/HTMLSelectElementImpl.cpp:
              * khtml/html/HTMLTextAreaElementImpl.cpp:
              * khtml/html/html_baseimpl.cpp:
              * khtml/html/html_baseimpl.h:
              * khtml/html/html_blockimpl.cpp:
              * khtml/html/html_blockimpl.h:
              * khtml/html/html_canvasimpl.cpp:
              * khtml/html/html_documentimpl.cpp:
              * khtml/html/html_documentimpl.h:
              * khtml/html/html_elementimpl.cpp: Removed.
              * khtml/html/html_elementimpl.h: Removed.
              * khtml/html/html_headimpl.cpp:
              (WebCore::HTMLLinkElementImpl::setStyleSheet):
              (WebCore::HTMLLinkElementImpl::isLoading):
              * khtml/html/html_headimpl.h:
              * khtml/html/html_imageimpl.cpp:
              * khtml/html/html_inlineimpl.cpp:
              * khtml/html/html_inlineimpl.h:
              * khtml/html/html_listimpl.h:
              * khtml/html/html_miscimpl.cpp: Removed.
              * khtml/html/html_miscimpl.h: Removed.
              * khtml/html/html_objectimpl.cpp:
              * khtml/html/html_tableimpl.h:
              * khtml/html/htmlfactory.cpp:
              * khtml/html/htmlparser.cpp:
              * khtml/html/htmltokenizer.cpp:
              (WebCore::HTMLTokenizer::scriptHandler):
              (WebCore::HTMLTokenizer::scriptExecution):
              * khtml/xml/DocumentImpl.cpp:
              * khtml/xml/dom2_rangeimpl.cpp:
              * khtml/xml/dom_elementimpl.cpp:
              * kwq/KWQAccObject.mm:
              * loader/loader.cpp:
              * page/Frame.cpp:
              (Frame::restoreURL):
              (Frame::stopLoading):
              (Frame::receivedFirstData):
              (Frame::gotoAnchor):
              (Frame::requestObject):
              (Frame::processObjectRequest):
              (Frame::submitForm):
              (Frame::slotParentCompleted):
              (Frame::findFrame):
              (Frame::executeScript):
              * page/FrameView.cpp:
              (FrameView::useSlowRepaints):
              * rendering/render_applet.cpp:
              * rendering/render_applet.h:
              * rendering/render_box.cpp:
              (WebCore::RenderBox::contentWidth):
              (WebCore::RenderBox::paintRootBoxDecorations):
              (WebCore::RenderBox::paintBoxDecorations):
              (WebCore::RenderBox::getClipRect):
              (WebCore::RenderBox::calcWidth):
              (WebCore::RenderBox::calcHeight):
              * rendering/render_canvasimage.cpp:
              * rendering/render_canvasimage.h:
              * rendering/render_frames.cpp:
              * rendering/render_image.cpp:
              * rendering/render_image.h:
              * rendering/render_layer.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4c0c6b5