Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Side by Side Diff: Source/core/html/ImageDocument.h

Issue 262053005: Allow zoom/restore in a zoomed document. It is a regression from an earlier fix. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Use enums instead of bool. Add layout test to check this condition. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 22 matching lines...) Expand all
33 class ImageResource; 33 class ImageResource;
34 class HTMLImageElement; 34 class HTMLImageElement;
35 35
36 class ImageDocument FINAL : public HTMLDocument { 36 class ImageDocument FINAL : public HTMLDocument {
37 public: 37 public:
38 static PassRefPtr<ImageDocument> create(const DocumentInit& initializer = Do cumentInit()) 38 static PassRefPtr<ImageDocument> create(const DocumentInit& initializer = Do cumentInit())
39 { 39 {
40 return adoptRef(new ImageDocument(initializer)); 40 return adoptRef(new ImageDocument(initializer));
41 } 41 }
42 42
43 enum ScaleType {
44 ScaleZoomedDocument,
45 ScaleOnlyUnzoomedDocument
46 };
47
43 ImageResource* cachedImage(); 48 ImageResource* cachedImage();
44 HTMLImageElement* imageElement() const { return m_imageElement.get(); } 49 HTMLImageElement* imageElement() const { return m_imageElement.get(); }
45 50
46 void windowSizeChanged(); 51 void windowSizeChanged(ScaleType);
47 void imageUpdated(); 52 void imageUpdated();
48 void imageClicked(int x, int y); 53 void imageClicked(int x, int y);
49 54
50 private: 55 private:
51 ImageDocument(const DocumentInit&); 56 ImageDocument(const DocumentInit&);
52 57
53 virtual PassRefPtr<DocumentParser> createParser() OVERRIDE; 58 virtual PassRefPtr<DocumentParser> createParser() OVERRIDE;
54 virtual void dispose() OVERRIDE; 59 virtual void dispose() OVERRIDE;
55 60
56 void createDocumentStructure(); 61 void createDocumentStructure();
57 void resizeImageToFit(); 62 void resizeImageToFit(ScaleType);
58 void restoreImageSize(); 63 void restoreImageSize(ScaleType);
59 bool imageFitsInWindow() const; 64 bool imageFitsInWindow() const;
60 bool shouldShrinkToFit() const; 65 bool shouldShrinkToFit() const;
61 float scale() const; 66 float scale() const;
62 67
63 RefPtr<HTMLImageElement> m_imageElement; 68 RefPtr<HTMLImageElement> m_imageElement;
64 69
65 // Whether enough of the image has been loaded to determine its size 70 // Whether enough of the image has been loaded to determine its size
66 bool m_imageSizeIsKnown; 71 bool m_imageSizeIsKnown;
67 72
68 // Whether the image is shrunk to fit or not 73 // Whether the image is shrunk to fit or not
69 bool m_didShrinkImage; 74 bool m_didShrinkImage;
70 75
71 // Whether the image should be shrunk or not 76 // Whether the image should be shrunk or not
72 bool m_shouldShrinkImage; 77 bool m_shouldShrinkImage;
73 }; 78 };
74 79
75 DEFINE_DOCUMENT_TYPE_CASTS(ImageDocument); 80 DEFINE_DOCUMENT_TYPE_CASTS(ImageDocument);
76 81
77 } 82 }
78 83
79 #endif // ImageDocument_h 84 #endif // ImageDocument_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698