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

Side by Side Diff: third_party/WebKit/Source/core/fetch/ImageResourceObserver.h

Issue 2558033002: Loading: move ImageResource and related classes to core/loader/resource (Closed)
Patch Set: rebase and format Created 4 years 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
(Empty)
1 /*
2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de)
3 Copyright (C) 2001 Dirk Mueller <mueller@kde.org>
4 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
5 Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Library General Public
9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details.
16
17 You should have received a copy of the GNU Library General Public License
18 along with this library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA.
21 */
22
23 #ifndef ImageResourceObserver_h
24 #define ImageResourceObserver_h
25
26 #include "core/CoreExport.h"
27 #include "platform/graphics/ImageAnimationPolicy.h"
28 #include "platform/network/ResourceLoadPriority.h"
29 #include "wtf/Forward.h"
30
31 namespace blink {
32
33 class ImageResourceContent;
34 class IntRect;
35
36 class CORE_EXPORT ImageResourceObserver {
37 public:
38 virtual ~ImageResourceObserver() {}
39
40 // Called whenever a frame of an image changes, either because we got more
41 // data from the network or because we are animating. If not null, the IntRect
42 // is the changed rect of the image.
43 virtual void imageChanged(ImageResourceContent*, const IntRect* = 0) {}
44
45 // Called just after imageChanged() if all image data is received or errored.
46 // TODO(hiroshige): Merge imageNotifyFinished() into imageChanged().
47 virtual void imageNotifyFinished(ImageResourceContent*) {}
48
49 // Called to find out if this client wants to actually display the image. Used
50 // to tell when we can halt animation. Content nodes that hold image refs for
51 // example would not render the image, but LayoutImages would (assuming they
52 // have visibility: visible and their layout tree isn't hidden e.g., in the
53 // b/f cache or in a background tab).
54 //
55 // An implementation of this method is not allowed to add or remove
56 // ImageResource observers.
57 virtual bool willRenderImage() { return false; }
58
59 // Called to get imageAnimation policy from settings. An implementation of
60 // this method is not allowed to add or remove ImageResource observers.
61 virtual bool getImageAnimationPolicy(ImageAnimationPolicy&) { return false; }
62
63 // Return the observer's requested resource priority. An implementation of
64 // this method is not allowed to add or remove ImageResource observers.
65 virtual ResourcePriority computeResourcePriority() const {
66 return ResourcePriority();
67 }
68
69 // Name for debugging, e.g. shown in memory-infra.
70 virtual String debugName() const = 0;
71
72 static bool isExpectedType(ImageResourceObserver*) { return true; }
73 };
74
75 } // namespace blink
76
77 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698