Changeset 18470 in webkit


Ignore:
Timestamp:
Dec 29, 2006 12:27:45 AM (17 years ago)
Author:
eseidel
Message:

2006-12-29 Eric Seidel <eric@webkit.org>

Reviewed by hyatt.

New tests:

  • fast/images/svg-as-image.html
  • fast/images/svg-as-background.html
  • fast/images/svg-as-tiled-background.html


Implement basic SVGImage support.
http://bugs.webkit.org/show_bug.cgi?id=5971


This implementation depends on (rather ugly) stub Page and Frame clients in SVGImageEmptyClients.h

  • WebCore.xcodeproj/project.pbxproj: add SVGImage.*
  • ksvg2/svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::parseMappedAttribute): ignore fragment urls
  • loader/CachedImage.cpp: (WebCore::CachedImage::createImage):
  • platform/graphics/Image.h: made setData virtual
  • platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::drawTiled): stub method
  • platform/graphics/cg/PDFDocumentImage.h:
  • platform/graphics/svg/SVGImage.cpp: Added. (WebCore::SVGImage::SVGImage): (WebCore::SVGImage::~SVGImage): (WebCore::SVGImage::size): (WebCore::SVGImage::draw): (WebCore::SVGImage::drawTiled): stub method (WebCore::SVGImage::setData):
  • platform/graphics/svg/SVGImage.h: Added. (WebCore::SVGImage::frameAtIndex):
  • platform/graphics/svg/SVGImageEmptyClients.h: Added. (WebCore::SVGEmptyCromeClient::~SVGEmptyCromeClient): (WebCore::SVGEmptyCromeClient::chromeDestroyed): (WebCore::SVGEmptyCromeClient::setWindowRect): (WebCore::SVGEmptyCromeClient::windowRect): (WebCore::SVGEmptyCromeClient::pageRect): (WebCore::SVGEmptyCromeClient::scaleFactor): (WebCore::SVGEmptyCromeClient::focus): (WebCore::SVGEmptyCromeClient::unfocus): (WebCore::SVGEmptyCromeClient::createWindow): (WebCore::SVGEmptyCromeClient::createModalDialog): (WebCore::SVGEmptyCromeClient::show): (WebCore::SVGEmptyCromeClient::canRunModal): (WebCore::SVGEmptyCromeClient::runModal): (WebCore::SVGEmptyCromeClient::setToolbarsVisible): (WebCore::SVGEmptyCromeClient::toolbarsVisible): (WebCore::SVGEmptyCromeClient::setStatusbarVisible): (WebCore::SVGEmptyCromeClient::statusbarVisible): (WebCore::SVGEmptyCromeClient::setScrollbarsVisible): (WebCore::SVGEmptyCromeClient::scrollbarsVisible): (WebCore::SVGEmptyCromeClient::setMenubarVisible): (WebCore::SVGEmptyCromeClient::menubarVisible): (WebCore::SVGEmptyCromeClient::setResizable): (WebCore::SVGEmptyCromeClient::addMessageToConsole): (WebCore::SVGEmptyCromeClient::canRunBeforeUnloadConfirmPanel): (WebCore::SVGEmptyCromeClient::runBeforeUnloadConfirmPanel): (WebCore::SVGEmptyCromeClient::closeWindowSoon): (WebCore::SVGEmptyFrameLoaderClient::~SVGEmptyFrameLoaderClient): (WebCore::SVGEmptyFrameLoaderClient::frameLoaderDestroyed): (WebCore::SVGEmptyFrameLoaderClient::hasWebView): (WebCore::SVGEmptyFrameLoaderClient::hasFrameView): (WebCore::SVGEmptyFrameLoaderClient::hasBackForwardList): (WebCore::SVGEmptyFrameLoaderClient::resetBackForwardList): (WebCore::SVGEmptyFrameLoaderClient::provisionalItemIsTarget): (WebCore::SVGEmptyFrameLoaderClient::loadProvisionalItemFromPageCache): (WebCore::SVGEmptyFrameLoaderClient::invalidateCurrentItemPageCache): (WebCore::SVGEmptyFrameLoaderClient::privateBrowsingEnabled): (WebCore::SVGEmptyFrameLoaderClient::makeDocumentView): (WebCore::SVGEmptyFrameLoaderClient::makeRepresentation): (WebCore::SVGEmptyFrameLoaderClient::setDocumentViewFromPageCache): (WebCore::SVGEmptyFrameLoaderClient::forceLayout): (WebCore::SVGEmptyFrameLoaderClient::forceLayoutForNonHTML): (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForCommit): (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForBackForwardNavigation): (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForReload): (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForStandardLoad): (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForInternalLoad): (WebCore::SVGEmptyFrameLoaderClient::updateHistoryAfterClientRedirect): (WebCore::SVGEmptyFrameLoaderClient::setCopiesOnScroll): (WebCore::SVGEmptyFrameLoaderClient::tokenForLoadErrorReset): (WebCore::SVGEmptyFrameLoaderClient::resetAfterLoadError): (WebCore::SVGEmptyFrameLoaderClient::doNotResetAfterLoadError): (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent1): (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent2): (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent3): (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent4): (WebCore::SVGEmptyFrameLoaderClient::loadedFromPageCache): (WebCore::SVGEmptyFrameLoaderClient::download): (WebCore::SVGEmptyFrameLoaderClient::dispatchIdentifierForInitialRequest): (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSendRequest): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelAuthenticationChallenge): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveResponse): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveContentLength): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishLoading): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoading): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidHandleOnloadEvents): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelClientRedirect): (WebCore::SVGEmptyFrameLoaderClient::dispatchWillPerformClientRedirect): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidChangeLocationWithinPage): (WebCore::SVGEmptyFrameLoaderClient::dispatchWillClose): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveIcon): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidStartProvisionalLoad): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveTitle): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCommitLoad): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailProvisionalLoad): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoad): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishLoad): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFirstLayout): (WebCore::SVGEmptyFrameLoaderClient::dispatchCreatePage): (WebCore::SVGEmptyFrameLoaderClient::dispatchShow): (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForMIMEType): (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction): (WebCore::SVGEmptyFrameLoaderClient::cancelPolicyCheck): (WebCore::SVGEmptyFrameLoaderClient::dispatchUnableToImplementPolicy): (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSubmitForm): (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadMainResource): (WebCore::SVGEmptyFrameLoaderClient::clearLoadingFromPageCache): (WebCore::SVGEmptyFrameLoaderClient::isLoadingFromPageCache): (WebCore::SVGEmptyFrameLoaderClient::revertToProvisionalState): (WebCore::SVGEmptyFrameLoaderClient::setMainDocumentError): (WebCore::SVGEmptyFrameLoaderClient::clearUnarchivingState): (WebCore::SVGEmptyFrameLoaderClient::progressStarted): (WebCore::SVGEmptyFrameLoaderClient::progressCompleted): (WebCore::SVGEmptyFrameLoaderClient::incrementProgress): (WebCore::SVGEmptyFrameLoaderClient::completeProgress): (WebCore::SVGEmptyFrameLoaderClient::setMainFrameDocumentReady): (WebCore::SVGEmptyFrameLoaderClient::startDownload): (WebCore::SVGEmptyFrameLoaderClient::willChangeTitle): (WebCore::SVGEmptyFrameLoaderClient::didChangeTitle): (WebCore::SVGEmptyFrameLoaderClient::committedLoad): (WebCore::SVGEmptyFrameLoaderClient::finishedLoading): (WebCore::SVGEmptyFrameLoaderClient::finalSetupForReplace): (WebCore::SVGEmptyFrameLoaderClient::cancelledError): (WebCore::SVGEmptyFrameLoaderClient::cannotShowURLError): (WebCore::SVGEmptyFrameLoaderClient::interruptForPolicyChangeError): (WebCore::SVGEmptyFrameLoaderClient::cannotShowMIMETypeError): (WebCore::SVGEmptyFrameLoaderClient::fileDoesNotExistError): (WebCore::SVGEmptyFrameLoaderClient::shouldFallBack): (WebCore::SVGEmptyFrameLoaderClient::setDefersLoading): (WebCore::SVGEmptyFrameLoaderClient::willUseArchive): (WebCore::SVGEmptyFrameLoaderClient::isArchiveLoadPending): (WebCore::SVGEmptyFrameLoaderClient::cancelPendingArchiveLoad): (WebCore::SVGEmptyFrameLoaderClient::clearArchivedResources): (WebCore::SVGEmptyFrameLoaderClient::canHandleRequest): (WebCore::SVGEmptyFrameLoaderClient::canShowMIMEType): (WebCore::SVGEmptyFrameLoaderClient::representationExistsForURLScheme): (WebCore::SVGEmptyFrameLoaderClient::generatedMIMETypeForURLScheme): (WebCore::SVGEmptyFrameLoaderClient::frameLoadCompleted): (WebCore::SVGEmptyFrameLoaderClient::restoreScrollPositionAndViewState): (WebCore::SVGEmptyFrameLoaderClient::provisionalLoadStarted): (WebCore::SVGEmptyFrameLoaderClient::shouldTreatURLAsSameAsCurrent): (WebCore::SVGEmptyFrameLoaderClient::addHistoryItemForFragmentScroll): (WebCore::SVGEmptyFrameLoaderClient::didFinishLoad): (WebCore::SVGEmptyFrameLoaderClient::prepareForDataSourceReplacement): (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader): (WebCore::SVGEmptyFrameLoaderClient::setTitle): (WebCore::SVGEmptyFrameLoaderClient::userAgent): (WebCore::SVGEmptyEditorClient::~SVGEmptyEditorClient): (WebCore::SVGEmptyEditorClient::pageDestroyed): (WebCore::SVGEmptyEditorClient::shouldDeleteRange): (WebCore::SVGEmptyEditorClient::shouldShowDeleteInterface): (WebCore::SVGEmptyEditorClient::smartInsertDeleteEnabled): (WebCore::SVGEmptyEditorClient::isContinuousSpellCheckingEnabled): (WebCore::SVGEmptyEditorClient::toggleContinuousSpellChecking): (WebCore::SVGEmptyEditorClient::isGrammarCheckingEnabled): (WebCore::SVGEmptyEditorClient::toggleGrammarChecking): (WebCore::SVGEmptyEditorClient::spellCheckerDocumentTag): (WebCore::SVGEmptyEditorClient::selectWordBeforeMenuEvent): (WebCore::SVGEmptyEditorClient::isEditable): (WebCore::SVGEmptyEditorClient::shouldBeginEditing): (WebCore::SVGEmptyEditorClient::shouldEndEditing): (WebCore::SVGEmptyEditorClient::shouldInsertNode): (WebCore::SVGEmptyEditorClient::shouldInsertText): (WebCore::SVGEmptyEditorClient::shouldApplyStyle): (WebCore::SVGEmptyEditorClient::didBeginEditing): (WebCore::SVGEmptyEditorClient::respondToChangedContents): (WebCore::SVGEmptyEditorClient::didEndEditing): (WebCore::SVGEmptyEditorClient::registerCommandForUndo): (WebCore::SVGEmptyEditorClient::registerCommandForRedo): (WebCore::SVGEmptyEditorClient::clearUndoRedoOperations): (WebCore::SVGEmptyEditorClient::canUndo): (WebCore::SVGEmptyEditorClient::canRedo): (WebCore::SVGEmptyEditorClient::undo): (WebCore::SVGEmptyEditorClient::redo): (WebCore::SVGEmptyEditorClient::dataForArchivedSelection): (WebCore::SVGEmptyEditorClient::userVisibleString): (WebCore::SVGEmptyContextMenuClient::~SVGEmptyContextMenuClient): (WebCore::SVGEmptyContextMenuClient::contextMenuDestroyed): (WebCore::SVGEmptyContextMenuClient::addCustomContextMenuItems): (WebCore::SVGEmptyContextMenuClient::contextMenuItemSelected): (WebCore::SVGEmptyContextMenuClient::downloadURL): (WebCore::SVGEmptyContextMenuClient::copyImageToClipboard): (WebCore::SVGEmptyContextMenuClient::lookUpInDictionary): (WebCore::SVGEmptyContextMenuClient::speak): (WebCore::SVGEmptyContextMenuClient::stopSpeaking): (WebCore::SVGEmptyContextMenuClient::searchWithSpotlight):
Location:
trunk
Files:
9 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r18468 r18470  
     12006-12-28  Eric Seidel  <eric@webkit.org>
     2
     3        Reviewed by hyatt.
     4       
     5        Test cases for SVGImage
     6        http://bugs.webkit.org/show_bug.cgi?id=5971
     7
     8        * fast/images/animated-gif-with-offsets-expected.checksum: Added.
     9        * fast/images/animated-gif-with-offsets-expected.png: Added.
     10        * fast/images/resources/green-fixed-size-rect.svg: Added.
     11        * fast/images/svg-as-background.html: Added.
     12        * fast/images/svg-as-image.html: Added.
     13        * fast/images/svg-as-tiled-background.html: Added.
     14
    1152006-12-29  David Kilzer  <ddkilzer@webkit.org>
    216
     
    172186        * svg/custom/dynamic-svg-document-creation.svg:
    173187
    174 2006-12-27  Eric Seidel  <eric@eseidel.com>
     1882006-12-27  Eric Seidel  <eric@webkit.org>
    175189
    176190        Reviewed by ggaren.
  • trunk/LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b-expected.checksum

    r18436 r18470  
    1 80250145bb04671016bd927d88b4b3e9
     18962f6f6fc6c24a6998d50e2d26c5e6a
  • trunk/WebCore/ChangeLog

    r18467 r18470  
     12006-12-29  Eric Seidel  <eric@webkit.org>
     2
     3        Reviewed by hyatt.
     4
     5        New tests:
     6        * fast/images/svg-as-image.html
     7        * fast/images/svg-as-background.html
     8        * fast/images/svg-as-tiled-background.html
     9       
     10        Implement basic SVGImage support.
     11        http://bugs.webkit.org/show_bug.cgi?id=5971
     12       
     13        This implementation depends on (rather ugly) stub Page and Frame clients in SVGImageEmptyClients.h
     14
     15        * WebCore.xcodeproj/project.pbxproj: add SVGImage.*
     16        * ksvg2/svg/SVGFEImageElement.cpp:
     17        (WebCore::SVGFEImageElement::parseMappedAttribute): ignore fragment urls
     18        * loader/CachedImage.cpp:
     19        (WebCore::CachedImage::createImage):
     20        * platform/graphics/Image.h: made setData virtual
     21        * platform/graphics/cg/PDFDocumentImage.cpp:
     22        (WebCore::PDFDocumentImage::drawTiled): stub method
     23        * platform/graphics/cg/PDFDocumentImage.h:
     24        * platform/graphics/svg/SVGImage.cpp: Added.
     25        (WebCore::SVGImage::SVGImage):
     26        (WebCore::SVGImage::~SVGImage):
     27        (WebCore::SVGImage::size):
     28        (WebCore::SVGImage::draw):
     29        (WebCore::SVGImage::drawTiled): stub method
     30        (WebCore::SVGImage::setData):
     31        * platform/graphics/svg/SVGImage.h: Added.
     32        (WebCore::SVGImage::frameAtIndex):
     33        * platform/graphics/svg/SVGImageEmptyClients.h: Added.
     34        (WebCore::SVGEmptyCromeClient::~SVGEmptyCromeClient):
     35        (WebCore::SVGEmptyCromeClient::chromeDestroyed):
     36        (WebCore::SVGEmptyCromeClient::setWindowRect):
     37        (WebCore::SVGEmptyCromeClient::windowRect):
     38        (WebCore::SVGEmptyCromeClient::pageRect):
     39        (WebCore::SVGEmptyCromeClient::scaleFactor):
     40        (WebCore::SVGEmptyCromeClient::focus):
     41        (WebCore::SVGEmptyCromeClient::unfocus):
     42        (WebCore::SVGEmptyCromeClient::createWindow):
     43        (WebCore::SVGEmptyCromeClient::createModalDialog):
     44        (WebCore::SVGEmptyCromeClient::show):
     45        (WebCore::SVGEmptyCromeClient::canRunModal):
     46        (WebCore::SVGEmptyCromeClient::runModal):
     47        (WebCore::SVGEmptyCromeClient::setToolbarsVisible):
     48        (WebCore::SVGEmptyCromeClient::toolbarsVisible):
     49        (WebCore::SVGEmptyCromeClient::setStatusbarVisible):
     50        (WebCore::SVGEmptyCromeClient::statusbarVisible):
     51        (WebCore::SVGEmptyCromeClient::setScrollbarsVisible):
     52        (WebCore::SVGEmptyCromeClient::scrollbarsVisible):
     53        (WebCore::SVGEmptyCromeClient::setMenubarVisible):
     54        (WebCore::SVGEmptyCromeClient::menubarVisible):
     55        (WebCore::SVGEmptyCromeClient::setResizable):
     56        (WebCore::SVGEmptyCromeClient::addMessageToConsole):
     57        (WebCore::SVGEmptyCromeClient::canRunBeforeUnloadConfirmPanel):
     58        (WebCore::SVGEmptyCromeClient::runBeforeUnloadConfirmPanel):
     59        (WebCore::SVGEmptyCromeClient::closeWindowSoon):
     60        (WebCore::SVGEmptyFrameLoaderClient::~SVGEmptyFrameLoaderClient):
     61        (WebCore::SVGEmptyFrameLoaderClient::frameLoaderDestroyed):
     62        (WebCore::SVGEmptyFrameLoaderClient::hasWebView):
     63        (WebCore::SVGEmptyFrameLoaderClient::hasFrameView):
     64        (WebCore::SVGEmptyFrameLoaderClient::hasBackForwardList):
     65        (WebCore::SVGEmptyFrameLoaderClient::resetBackForwardList):
     66        (WebCore::SVGEmptyFrameLoaderClient::provisionalItemIsTarget):
     67        (WebCore::SVGEmptyFrameLoaderClient::loadProvisionalItemFromPageCache):
     68        (WebCore::SVGEmptyFrameLoaderClient::invalidateCurrentItemPageCache):
     69        (WebCore::SVGEmptyFrameLoaderClient::privateBrowsingEnabled):
     70        (WebCore::SVGEmptyFrameLoaderClient::makeDocumentView):
     71        (WebCore::SVGEmptyFrameLoaderClient::makeRepresentation):
     72        (WebCore::SVGEmptyFrameLoaderClient::setDocumentViewFromPageCache):
     73        (WebCore::SVGEmptyFrameLoaderClient::forceLayout):
     74        (WebCore::SVGEmptyFrameLoaderClient::forceLayoutForNonHTML):
     75        (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForCommit):
     76        (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForBackForwardNavigation):
     77        (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForReload):
     78        (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForStandardLoad):
     79        (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForInternalLoad):
     80        (WebCore::SVGEmptyFrameLoaderClient::updateHistoryAfterClientRedirect):
     81        (WebCore::SVGEmptyFrameLoaderClient::setCopiesOnScroll):
     82        (WebCore::SVGEmptyFrameLoaderClient::tokenForLoadErrorReset):
     83        (WebCore::SVGEmptyFrameLoaderClient::resetAfterLoadError):
     84        (WebCore::SVGEmptyFrameLoaderClient::doNotResetAfterLoadError):
     85        (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent1):
     86        (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent2):
     87        (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent3):
     88        (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent4):
     89        (WebCore::SVGEmptyFrameLoaderClient::loadedFromPageCache):
     90        (WebCore::SVGEmptyFrameLoaderClient::download):
     91        (WebCore::SVGEmptyFrameLoaderClient::dispatchIdentifierForInitialRequest):
     92        (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSendRequest):
     93        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
     94        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
     95        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveResponse):
     96        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveContentLength):
     97        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishLoading):
     98        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoading):
     99        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
     100        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidHandleOnloadEvents):
     101        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
     102        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelClientRedirect):
     103        (WebCore::SVGEmptyFrameLoaderClient::dispatchWillPerformClientRedirect):
     104        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidChangeLocationWithinPage):
     105        (WebCore::SVGEmptyFrameLoaderClient::dispatchWillClose):
     106        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveIcon):
     107        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidStartProvisionalLoad):
     108        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveTitle):
     109        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCommitLoad):
     110        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailProvisionalLoad):
     111        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoad):
     112        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishLoad):
     113        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFirstLayout):
     114        (WebCore::SVGEmptyFrameLoaderClient::dispatchCreatePage):
     115        (WebCore::SVGEmptyFrameLoaderClient::dispatchShow):
     116        (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForMIMEType):
     117        (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
     118        (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
     119        (WebCore::SVGEmptyFrameLoaderClient::cancelPolicyCheck):
     120        (WebCore::SVGEmptyFrameLoaderClient::dispatchUnableToImplementPolicy):
     121        (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSubmitForm):
     122        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadMainResource):
     123        (WebCore::SVGEmptyFrameLoaderClient::clearLoadingFromPageCache):
     124        (WebCore::SVGEmptyFrameLoaderClient::isLoadingFromPageCache):
     125        (WebCore::SVGEmptyFrameLoaderClient::revertToProvisionalState):
     126        (WebCore::SVGEmptyFrameLoaderClient::setMainDocumentError):
     127        (WebCore::SVGEmptyFrameLoaderClient::clearUnarchivingState):
     128        (WebCore::SVGEmptyFrameLoaderClient::progressStarted):
     129        (WebCore::SVGEmptyFrameLoaderClient::progressCompleted):
     130        (WebCore::SVGEmptyFrameLoaderClient::incrementProgress):
     131        (WebCore::SVGEmptyFrameLoaderClient::completeProgress):
     132        (WebCore::SVGEmptyFrameLoaderClient::setMainFrameDocumentReady):
     133        (WebCore::SVGEmptyFrameLoaderClient::startDownload):
     134        (WebCore::SVGEmptyFrameLoaderClient::willChangeTitle):
     135        (WebCore::SVGEmptyFrameLoaderClient::didChangeTitle):
     136        (WebCore::SVGEmptyFrameLoaderClient::committedLoad):
     137        (WebCore::SVGEmptyFrameLoaderClient::finishedLoading):
     138        (WebCore::SVGEmptyFrameLoaderClient::finalSetupForReplace):
     139        (WebCore::SVGEmptyFrameLoaderClient::cancelledError):
     140        (WebCore::SVGEmptyFrameLoaderClient::cannotShowURLError):
     141        (WebCore::SVGEmptyFrameLoaderClient::interruptForPolicyChangeError):
     142        (WebCore::SVGEmptyFrameLoaderClient::cannotShowMIMETypeError):
     143        (WebCore::SVGEmptyFrameLoaderClient::fileDoesNotExistError):
     144        (WebCore::SVGEmptyFrameLoaderClient::shouldFallBack):
     145        (WebCore::SVGEmptyFrameLoaderClient::setDefersLoading):
     146        (WebCore::SVGEmptyFrameLoaderClient::willUseArchive):
     147        (WebCore::SVGEmptyFrameLoaderClient::isArchiveLoadPending):
     148        (WebCore::SVGEmptyFrameLoaderClient::cancelPendingArchiveLoad):
     149        (WebCore::SVGEmptyFrameLoaderClient::clearArchivedResources):
     150        (WebCore::SVGEmptyFrameLoaderClient::canHandleRequest):
     151        (WebCore::SVGEmptyFrameLoaderClient::canShowMIMEType):
     152        (WebCore::SVGEmptyFrameLoaderClient::representationExistsForURLScheme):
     153        (WebCore::SVGEmptyFrameLoaderClient::generatedMIMETypeForURLScheme):
     154        (WebCore::SVGEmptyFrameLoaderClient::frameLoadCompleted):
     155        (WebCore::SVGEmptyFrameLoaderClient::restoreScrollPositionAndViewState):
     156        (WebCore::SVGEmptyFrameLoaderClient::provisionalLoadStarted):
     157        (WebCore::SVGEmptyFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
     158        (WebCore::SVGEmptyFrameLoaderClient::addHistoryItemForFragmentScroll):
     159        (WebCore::SVGEmptyFrameLoaderClient::didFinishLoad):
     160        (WebCore::SVGEmptyFrameLoaderClient::prepareForDataSourceReplacement):
     161        (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader):
     162        (WebCore::SVGEmptyFrameLoaderClient::setTitle):
     163        (WebCore::SVGEmptyFrameLoaderClient::userAgent):
     164        (WebCore::SVGEmptyEditorClient::~SVGEmptyEditorClient):
     165        (WebCore::SVGEmptyEditorClient::pageDestroyed):
     166        (WebCore::SVGEmptyEditorClient::shouldDeleteRange):
     167        (WebCore::SVGEmptyEditorClient::shouldShowDeleteInterface):
     168        (WebCore::SVGEmptyEditorClient::smartInsertDeleteEnabled):
     169        (WebCore::SVGEmptyEditorClient::isContinuousSpellCheckingEnabled):
     170        (WebCore::SVGEmptyEditorClient::toggleContinuousSpellChecking):
     171        (WebCore::SVGEmptyEditorClient::isGrammarCheckingEnabled):
     172        (WebCore::SVGEmptyEditorClient::toggleGrammarChecking):
     173        (WebCore::SVGEmptyEditorClient::spellCheckerDocumentTag):
     174        (WebCore::SVGEmptyEditorClient::selectWordBeforeMenuEvent):
     175        (WebCore::SVGEmptyEditorClient::isEditable):
     176        (WebCore::SVGEmptyEditorClient::shouldBeginEditing):
     177        (WebCore::SVGEmptyEditorClient::shouldEndEditing):
     178        (WebCore::SVGEmptyEditorClient::shouldInsertNode):
     179        (WebCore::SVGEmptyEditorClient::shouldInsertText):
     180        (WebCore::SVGEmptyEditorClient::shouldApplyStyle):
     181        (WebCore::SVGEmptyEditorClient::didBeginEditing):
     182        (WebCore::SVGEmptyEditorClient::respondToChangedContents):
     183        (WebCore::SVGEmptyEditorClient::didEndEditing):
     184        (WebCore::SVGEmptyEditorClient::registerCommandForUndo):
     185        (WebCore::SVGEmptyEditorClient::registerCommandForRedo):
     186        (WebCore::SVGEmptyEditorClient::clearUndoRedoOperations):
     187        (WebCore::SVGEmptyEditorClient::canUndo):
     188        (WebCore::SVGEmptyEditorClient::canRedo):
     189        (WebCore::SVGEmptyEditorClient::undo):
     190        (WebCore::SVGEmptyEditorClient::redo):
     191        (WebCore::SVGEmptyEditorClient::dataForArchivedSelection):
     192        (WebCore::SVGEmptyEditorClient::userVisibleString):
     193        (WebCore::SVGEmptyContextMenuClient::~SVGEmptyContextMenuClient):
     194        (WebCore::SVGEmptyContextMenuClient::contextMenuDestroyed):
     195        (WebCore::SVGEmptyContextMenuClient::addCustomContextMenuItems):
     196        (WebCore::SVGEmptyContextMenuClient::contextMenuItemSelected):
     197        (WebCore::SVGEmptyContextMenuClient::downloadURL):
     198        (WebCore::SVGEmptyContextMenuClient::copyImageToClipboard):
     199        (WebCore::SVGEmptyContextMenuClient::lookUpInDictionary):
     200        (WebCore::SVGEmptyContextMenuClient::speak):
     201        (WebCore::SVGEmptyContextMenuClient::stopSpeaking):
     202        (WebCore::SVGEmptyContextMenuClient::searchWithSpotlight):
     203
    12042006-12-29  George Staikos  <staikos@kde.org>
    2205
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r18446 r18470  
    20752075                A8C4A80E09D563270003AC8D /* Attr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8C4A7FC09D563270003AC8D /* Attr.cpp */; };
    20762076                A8C4A84C09D5649D0003AC8D /* MappedAttributeEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = A8C4A84B09D5649D0003AC8D /* MappedAttributeEntry.h */; settings = {ATTRIBUTES = (Private, ); }; };
     2077                A8C9DD270B4374260097883A /* SVGImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8C9DD250B4374260097883A /* SVGImage.cpp */; };
     2078                A8C9DD280B4374260097883A /* SVGImage.h in Headers */ = {isa = PBXBuildFile; fileRef = A8C9DD260B4374260097883A /* SVGImage.h */; };
     2079                A8C9E0950B43A5250097883A /* SVGImageEmptyClients.h in Headers */ = {isa = PBXBuildFile; fileRef = A8C9E0940B43A5250097883A /* SVGImageEmptyClients.h */; };
    20772080                A8CFF04D0A154F09000A4234 /* FixedTableLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8CFF0480A154F09000A4234 /* FixedTableLayout.cpp */; };
    20782081                A8CFF04E0A154F09000A4234 /* AutoTableLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = A8CFF0490A154F09000A4234 /* AutoTableLayout.h */; };
     
    50485051                A8C4A7FC09D563270003AC8D /* Attr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Attr.cpp; sourceTree = "<group>"; };
    50495052                A8C4A84B09D5649D0003AC8D /* MappedAttributeEntry.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MappedAttributeEntry.h; sourceTree = "<group>"; };
     5053                A8C9DD250B4374260097883A /* SVGImage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGImage.cpp; sourceTree = "<group>"; };
     5054                A8C9DD260B4374260097883A /* SVGImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGImage.h; sourceTree = "<group>"; };
     5055                A8C9E0940B43A5250097883A /* SVGImageEmptyClients.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGImageEmptyClients.h; sourceTree = "<group>"; };
    50505056                A8CFF0480A154F09000A4234 /* FixedTableLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FixedTableLayout.cpp; sourceTree = "<group>"; };
    50515057                A8CFF0490A154F09000A4234 /* AutoTableLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AutoTableLayout.h; sourceTree = "<group>"; };
     
    84938499                                B2A015970AF6CD53006BCE0E /* cg */,
    84948500                                B2E27BDD0B0F2AE500F17C7B /* filters */,
     8501                                A8C9DD250B4374260097883A /* SVGImage.cpp */,
     8502                                A8C9DD260B4374260097883A /* SVGImage.h */,
    84958503                                B2D87C6B0B124E7300B0DE1E /* SVGPaintServer.cpp */,
    84968504                                B2D87C6C0B124E7300B0DE1E /* SVGPaintServer.h */,
     
    85168524                                B2A015A60AF6CD53006BCE0E /* SVGResourceMasker.cpp */,
    85178525                                B2A015A70AF6CD53006BCE0E /* SVGResourceMasker.h */,
     8526                                A8C9E0940B43A5250097883A /* SVGImageEmptyClients.h */,
    85188527                        );
    85198528                        path = svg;
     
    1086810877                                A89943280B42338800D7C802 /* BitmapImage.h in Headers */,
    1086910878                                AACF7C4E0B42EE6000080BD8 /* SVGParserUtilities.h in Headers */,
     10879                                A8C9DD280B4374260097883A /* SVGImage.h in Headers */,
     10880                                A8C9E0950B43A5250097883A /* SVGImageEmptyClients.h in Headers */,
    1087010881                        );
    1087110882                        runOnlyForDeploymentPostprocessing = 0;
     
    1219412205                                A89943290B42338800D7C802 /* BitmapImage.cpp in Sources */,
    1219512206                                AACF7C4F0B42EE6000080BD8 /* SVGParserUtilities.cpp in Sources */,
     12207                                A8C9DD270B4374260097883A /* SVGImage.cpp in Sources */,
    1219612208                        );
    1219712209                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebCore/ksvg2/svg/SVGFEImageElement.cpp

    r18428 r18470  
    6464    else {
    6565        if (SVGURIReference::parseMappedAttribute(attr)) {
    66             if (m_cachedImage)
    67                 m_cachedImage->deref(this);
    68             m_cachedImage = ownerDocument()->docLoader()->requestImage(href());
    69             if (m_cachedImage)
    70                 m_cachedImage->ref(this);
     66            if (!href().startsWith("#")) {
     67                // FIXME: this code needs to special-case url fragments and later look them up using getElementById instead of loading them here
     68                if (m_cachedImage)
     69                    m_cachedImage->deref(this);
     70                m_cachedImage = ownerDocument()->docLoader()->requestImage(href());
     71                if (m_cachedImage)
     72                    m_cachedImage->ref(this);
     73            }
    7174            return;
    7275        }
  • trunk/WebCore/loader/CachedImage.cpp

    r18465 r18470  
    3535#include "CachedResourceClientWalker.h"
    3636#include "DocLoader.h"
    37 #include "Image.h"
     37#include "SVGImage.h"
    3838#include "LoaderFunctions.h"
    3939#if PLATFORM(CG)
     
    144144        if (m_response.mimeType() == "application/pdf")
    145145            m_image = new PDFDocumentImage;
     146        else
     147#endif
     148#if SVG_SUPPORT
     149        if (m_response.mimeType() == "image/svg+xml")
     150            m_image = new SVGImage(this);
    146151        else
    147152#endif
  • trunk/WebCore/platform/graphics/Image.h

    r18447 r18470  
    7373    int height() const;
    7474
    75     bool setData(bool allDataReceived);
     75    virtual bool setData(bool allDataReceived);
    7676    virtual bool setNativeData(NativeBytePtr, bool allDataReceived) { return false; }
    7777   
  • trunk/WebCore/platform/graphics/cg/PDFDocumentImage.cpp

    r18447 r18470  
    154154}
    155155
     156void PDFDocumentImage::drawTiled(GraphicsContext*, const FloatRect& dstRect, const FloatPoint& srcPoint, const FloatSize& tileSize, CompositeOperator)
     157{
     158    // FIXME: implement to support background images
     159}
     160
     161void PDFDocumentImage::drawTiled(GraphicsContext*, const FloatRect& dstRect, const FloatRect& srcRect, TileRule hRule, TileRule vRule, CompositeOperator)
     162{
     163    // FIXME: implement to support background images
     164}
     165
    156166}
    157167
  • trunk/WebCore/platform/graphics/cg/PDFDocumentImage.h

    r18446 r18470  
    4848    private:
    4949        virtual void draw(GraphicsContext*, const FloatRect& dstRect, const FloatRect& srcRect, CompositeOperator);
    50         virtual void drawTiled(GraphicsContext*, const FloatRect& dstRect, const FloatPoint& srcPoint, const FloatSize& tileSize, CompositeOperator) { }
    51         virtual void drawTiled(GraphicsContext*, const FloatRect& dstRect, const FloatRect& srcRect, TileRule hRule, TileRule vRule, CompositeOperator)  { }
     50        virtual void drawTiled(GraphicsContext*, const FloatRect& dstRect, const FloatPoint& srcPoint, const FloatSize& tileSize, CompositeOperator);
     51        virtual void drawTiled(GraphicsContext*, const FloatRect& dstRect, const FloatRect& srcRect, TileRule hRule, TileRule vRule, CompositeOperator);
    5252       
    5353        void setCurrentPage(int);
Note: See TracChangeset for help on using the changeset viewer.