| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) | 2 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) |
| 3 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 222 SkBlendMode, | 222 SkBlendMode, |
| 223 const FloatRect&, | 223 const FloatRect&, |
| 224 const FloatSize& repeat_spacing = FloatSize()); | 224 const FloatSize& repeat_spacing = FloatSize()); |
| 225 | 225 |
| 226 private: | 226 private: |
| 227 bool image_observer_disabled_; | 227 bool image_observer_disabled_; |
| 228 RefPtr<SharedBuffer> encoded_image_data_; | 228 RefPtr<SharedBuffer> encoded_image_data_; |
| 229 // TODO(Oilpan): consider having Image on the Oilpan heap and | 229 // TODO(Oilpan): consider having Image on the Oilpan heap and |
| 230 // turn this into a Member<>. | 230 // turn this into a Member<>. |
| 231 // | 231 // |
| 232 // The observer (an ImageResourceContent) is an untraced member, with the | 232 // The observer (an ImageResourceContent) is responsible for clearing |
| 233 // ImageResourceContent being responsible for clearing itself out. | 233 // itself out when it switches to another Image. |
| 234 UntracedMember<ImageObserver> image_observer_; | 234 // When the ImageResourceContent is garbage collected while Image is still |
| 235 // alive, |image_observer_| is cleared by WeakPersistent mechanism. |
| 236 WeakPersistent<ImageObserver> image_observer_; |
| 235 PaintImage::Id stable_image_id_; | 237 PaintImage::Id stable_image_id_; |
| 236 }; | 238 }; |
| 237 | 239 |
| 238 #define DEFINE_IMAGE_TYPE_CASTS(typeName) \ | 240 #define DEFINE_IMAGE_TYPE_CASTS(typeName) \ |
| 239 DEFINE_TYPE_CASTS(typeName, Image, image, image->Is##typeName(), \ | 241 DEFINE_TYPE_CASTS(typeName, Image, image, image->Is##typeName(), \ |
| 240 image.Is##typeName()) | 242 image.Is##typeName()) |
| 241 | 243 |
| 242 } // namespace blink | 244 } // namespace blink |
| 243 | 245 |
| 244 #endif | 246 #endif |
| OLD | NEW |