Skip to content
  • andersca's avatar
    Reviewed by Geoff. · 542a4a0d
    andersca authored
            <rdar://problem/3663808> Resize large images to fit in the browser window
            
            * WebCore.exp:
            Add new settings method.
            
            * loader/ImageDocument.cpp:
            (WebCore::ImageEventListener::ImageEventListener):
            New class that handles resize events and click events and forwards them to the image document.
            
            (WebCore::ImageTokenizer::ImageTokenizer):
            (WebCore::ImageTokenizer::writeRawData):
            (WebCore::ImageTokenizer::finish):
            (WebCore::ImageDocument::ImageDocument):
            (WebCore::ImageDocument::createDocumentStructure):
            (WebCore::ImageDocument::cachedImage):
            Let the ImageDocument class keep track of its document structure.
            
            (WebCore::ImageDocument::scale):
            Returns the scale that should be used when resizing the image.
            
            (WebCore::ImageDocument::resizeImage):
            Update the image size.
            
            (WebCore::ImageDocument::imageClicked):
            Toggle between resized and not resized. When restoring the size, scroll the image so that the area under
            the mouse stays the same.
            
            (WebCore::ImageDocument::imageChanged):
            When the image size is known, resize the image if needed.
            
            (WebCore::ImageDocument::restoreImageSize):
            Restore the image size.
            
            (WebCore::ImageDocument::imageNeedsResizing):
            Return whether the image is too big for its window or not.
            
            (WebCore::ImageDocument::windowSizeChanged):
            Called when the window's size changes. Determine if the window fits or not and resize it if it doesn't fit.
            
            (WebCore::ImageEventListener::handleEvent):
            Forward events to the image document.
            
            * page/Settings.cpp:
            (WebCore::Settings::Settings):
            (WebCore::Settings::setEnableAutomaticImageResizing):
            * page/Settings.h:
            (WebCore::Settings::enableAutomaticImageResizing):
            Add new setting.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    542a4a0d