WebCore:
2006-05-16 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
Use WebCore to render full-frame images.
* WebCore.xcodeproj/project.pbxproj:
Add ImageDocument.
* bridge/mac/WebCoreFrameBridge.h:
Add mainResourceURLResponse and imageTitleForFilename.
* bridge/mac/WebCoreFrameBridge.mm:
(+[WebCoreFrameBridge supportedNonImageMIMETypes]):
This used to be supportedMIMETypes but WebKit requires that we handle the
image MIME types separately.
(+[WebCoreFrameBridge supportedImageMIMETypes]):
Add image types from WebCoreImageRendererFactory.
(-[WebCoreFrameBridge canProvideDocumentSource]):
Return no for image types.
* dom/xml_tokenizer.h:
(WebCore::Tokenizer::wantsRawData):
(WebCore::Tokenizer::writeRawData):
New virtual functions which tokenizers can override if they want to get
raw data (which isn't fed through the decoder)
* html/HTMLImageElement.h:
(WebCore::HTMLImageElement::setLoadManually):
New function which calls HTMLImageLoader::setLoadManually
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::HTMLImageLoader):
(WebCore::HTMLImageLoader::updateFromElement):
Don't request the image from the loader if the load is set to be manual.
* html/HTMLImageLoader.h:
(WebCore::HTMLImageLoader::setLoadManually):
New function which decides if the image data should be fed manually or loaded
by the loader.
* loader/DocLoader.h:
Add HTMLImageLoader as a friend.
* loader/ImageDocument.cpp: Added.
(WebCore::ImageTokenizer::ImageTokenizer):
(WebCore::ImageTokenizer::wantsRawData):
(WebCore::ImageTokenizer::write):
(WebCore::ImageTokenizer::writeRawData):
(WebCore::ImageTokenizer::stopParsing):
(WebCore::ImageTokenizer::finish):
(WebCore::ImageTokenizer::isWaitingForScripts):
(WebCore::ImageDocument::ImageDocument):
(WebCore::ImageDocument::createTokenizer):
* loader/ImageDocument.h: Added.
Add new ImageDocument class which will feed its data to a created image element.
* loader/TextDocument.h:
Inherit from HTMLDocument here too, in case any broken web pages want to manipulate
the DOM of any plain text documents.
* page/Frame.cpp:
(WebCore::Frame::begin):
(WebCore::Frame::write):
Don't create or use the decoder if the tokenizer is in "raw mode".
WebKit:
2006-05-16 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
Use WebCore to render full-frame images
* WebCoreSupport/WebFrameBridge.m:
(-[WebFrameBridge determineObjectFromMIMEType:URL:]):
Remove WebImageView handling.
(-[WebFrameBridge mainResourceURLResponse]):
New function which returns the URL response for the main resource. This is used by the
manual loading of images.
(-[WebFrameBridge imageTitleForFilename:size:]):
New function which returns a correctly translated image title given a filename and a size.
* WebCoreSupport/WebImageRenderer.m:
(-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
Remove WebImageView handling.
* WebKit.xcodeproj/project.pbxproj:
Remove WebImageRepresentation and WebImageView.
* WebView/WebArchiver.h:
* WebView/WebArchiver.m:
(+[WebArchiver archiveMainResourceForFrame:]):
New functions which returns a WebArchive with just the main resource, ignoring any subresources.
* WebView/WebDataSource.m:
(+[WebDataSource _repTypesAllowImageTypeOmission:]):
Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
* WebView/WebFrameView.m:
(+[WebFrameView _viewTypesAllowImageTypeOmission:]):
Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
(+[WebHTMLRepresentation supportedMIMETypes]):
Create an array of image and non-image MIME Types.
(+[WebHTMLRepresentation supportedNonImageMIMETypes]):
(+[WebHTMLRepresentation supportedImageMIMETypes]):
New functions, separating the list of MIME types into image and non-image ones.
* WebView/WebHTMLView.m:
(+[WebHTMLView supportedImageMIMETypes]):
(+[WebHTMLView supportedNonImageMIMETypes]):
New functions which call down to WebHTMLRepresentation.
(-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
If the image element comes from an ImageDocument, just use an archive of the main resource
instead of the generated HTML document.
* WebView/WebHTMLViewPrivate.h:
Declare new functions.
* WebView/WebImageRepresentation.h: Removed.
* WebView/WebImageRepresentation.m: Removed.
* WebView/WebImageView.h: Removed.
* WebView/WebImageView.m: Removed.
LayoutTests:
2006-05-16 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
Use WebCore to render full-frame images.
* css2.1/t0801-c412-hz-box-00-b-a-expected.txt:
* dom/xhtml/level2/html/frame-expected.checksum:
* dom/xhtml/level2/html/frame-expected.png:
* dom/xhtml/level2/html/frame-expected.txt:
* dom/xhtml/level2/html/iframe-expected.checksum:
* dom/xhtml/level2/html/iframe-expected.png:
* dom/xhtml/level2/html/iframe-expected.txt:
* tables/mozilla/bugs/bug50695-2-expected.txt:
Update tests.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14414 268f45cc-cd09-0410-ab3c-d52691b4dbfc
37 files changed