Integrate css3-images image-orientation with existing EXIF support
https://bugs.webkit.org/show_bug.cgi?id=91566

Reviewed by Beth Dakin.

Source/WebCore:

Original patch by David Barr(davidbarr@chromium.org).

This patch passes an information of image orientation into existing EXIF support functions
(draw() functions of image classes mainly). We need to let the functions to know the information
in order to meet the image-orientation requirement.

Spec: http://dev.w3.org/csswg/css-images-3/#the-image-orientation
The css3-images module specification is at last call.

Test: fast/css/image-orientation/image-orientation.html
Image orientation test is to check if incorrect rotation value can be fixed with correct orientation.

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer):
* page/DragController.cpp:
(WebCore::DragController::doImageDrag):
* page/Frame.cpp:
(WebCore::Frame::nodeImage):
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::updateSize):
(WebCore::BitmapImage::sizeRespectingOrientation):
(WebCore::BitmapImage::drawPattern):
* platform/graphics/BitmapImage.h:
* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::draw):
* platform/graphics/CrossfadeGeneratedImage.h:
* platform/graphics/GeneratedImage.h:
* platform/graphics/GradientImage.cpp:
(WebCore::GradientImage::draw):
* platform/graphics/GradientImage.h:
* platform/graphics/Image.cpp:
(WebCore::Image::draw):
(WebCore::Image::drawTiled):
* platform/graphics/Image.h:
* platform/graphics/blackberry/ImageBlackBerry.cpp:
* platform/graphics/cairo/BitmapImageCairo.cpp:
(WebCore::BitmapImage::draw):
* platform/graphics/cg/BitmapImageCG.cpp:
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::draw):
* platform/graphics/cg/PDFDocumentImage.h:
* platform/graphics/win/ImageCGWin.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize):
(WebCore::BitmapImage::drawFrameMatchingSourceSize):
* platform/graphics/wince/ImageBufferWinCE.cpp:
(WebCore::BufferedImage::draw):
* platform/graphics/wince/ImageWinCE.cpp:
(WebCore::BitmapImage::draw):
* platform/mac/DragImageMac.mm:
(WebCore::createDragImageFromImage):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintSnapshotImage):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::styleDidChange):
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore::RenderSnapshottedPlugIn::paintSnapshot):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawForContainer):
(WebCore::SVGImage::nativeImageForCurrentFrame):
(WebCore::SVGImage::draw):
* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageForContainer.cpp:
(WebCore::SVGImageForContainer::draw):
* svg/graphics/SVGImageForContainer.h:

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Update export symbols for draw functions.

LayoutTests:

* fast/css/image-orientation/image-orientation-expected.txt: Fixed wrong description.
* fast/css/image-orientation/image-orientation.html: Remove a space.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157909 268f45cc-cd09-0410-ab3c-d52691b4dbfc