| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google 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 * | 7 * |
| 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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 | 68 |
| 69 // ImageBufferSurface implementation | 69 // ImageBufferSurface implementation |
| 70 void finalizeFrame(const FloatRect &dirtyRect); | 70 void finalizeFrame(const FloatRect &dirtyRect); |
| 71 void willAccessPixels(); | 71 void willAccessPixels(); |
| 72 SkCanvas* canvas() const { return m_canvas.get(); } | 72 SkCanvas* canvas() const { return m_canvas.get(); } |
| 73 bool checkSurfaceValid(); | 73 bool checkSurfaceValid(); |
| 74 bool restoreSurface(); | 74 bool restoreSurface(); |
| 75 WebLayer* layer() const; | 75 WebLayer* layer() const; |
| 76 Platform3DObject getBackingTexture(); | 76 Platform3DObject getBackingTexture(); |
| 77 bool isAccelerated() const { return true; } | 77 bool isAccelerated() const { return true; } |
| 78 void setFilterLevel(SkPaint::FilterLevel); |
| 78 void setIsHidden(bool); | 79 void setIsHidden(bool); |
| 79 void setImageBuffer(ImageBuffer* imageBuffer) { m_imageBuffer = imageBuffer;
} | 80 void setImageBuffer(ImageBuffer* imageBuffer) { m_imageBuffer = imageBuffer;
} |
| 80 | 81 |
| 81 // Methods used by Canvas2DLayerManager | 82 // Methods used by Canvas2DLayerManager |
| 82 virtual size_t freeMemoryIfPossible(size_t); // virtual for mocking | 83 virtual size_t freeMemoryIfPossible(size_t); // virtual for mocking |
| 83 virtual void flush(); // virtual for mocking | 84 virtual void flush(); // virtual for mocking |
| 84 virtual size_t storageAllocatedForRecording(); // virtual for faking | 85 virtual size_t storageAllocatedForRecording(); // virtual for faking |
| 85 size_t bytesAllocated() const { return m_bytesAllocated; } | 86 size_t bytesAllocated() const { return m_bytesAllocated; } |
| 86 void limitPendingFrames(); | 87 void limitPendingFrames(); |
| 87 void freeTransientResources(); | 88 void freeTransientResources(); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 103 OwnPtr<WebGraphicsContext3DProvider> m_contextProvider; | 104 OwnPtr<WebGraphicsContext3DProvider> m_contextProvider; |
| 104 ImageBuffer* m_imageBuffer; | 105 ImageBuffer* m_imageBuffer; |
| 105 int m_msaaSampleCount; | 106 int m_msaaSampleCount; |
| 106 size_t m_bytesAllocated; | 107 size_t m_bytesAllocated; |
| 107 bool m_didRecordDrawCommand; | 108 bool m_didRecordDrawCommand; |
| 108 bool m_isSurfaceValid; | 109 bool m_isSurfaceValid; |
| 109 int m_framesPending; | 110 int m_framesPending; |
| 110 int m_framesSinceMailboxRelease; | 111 int m_framesSinceMailboxRelease; |
| 111 bool m_destructionInProgress; | 112 bool m_destructionInProgress; |
| 112 bool m_rateLimitingEnabled; | 113 bool m_rateLimitingEnabled; |
| 114 SkPaint::FilterLevel m_filterLevel; |
| 113 bool m_isHidden; | 115 bool m_isHidden; |
| 114 | 116 |
| 115 friend class WTF::DoublyLinkedListNode<Canvas2DLayerBridge>; | 117 friend class WTF::DoublyLinkedListNode<Canvas2DLayerBridge>; |
| 116 friend class ::Canvas2DLayerBridgeTest; | 118 friend class ::Canvas2DLayerBridgeTest; |
| 117 Canvas2DLayerBridge* m_next; | 119 Canvas2DLayerBridge* m_next; |
| 118 Canvas2DLayerBridge* m_prev; | 120 Canvas2DLayerBridge* m_prev; |
| 119 | 121 |
| 120 struct MailboxInfo { | 122 struct MailboxInfo { |
| 121 WebExternalTextureMailbox m_mailbox; | 123 WebExternalTextureMailbox m_mailbox; |
| 122 RefPtr<SkImage> m_image; | 124 RefPtr<SkImage> m_image; |
| 123 RefPtr<Canvas2DLayerBridge> m_parentLayerBridge; | 125 RefPtr<Canvas2DLayerBridge> m_parentLayerBridge; |
| 124 | 126 |
| 125 MailboxInfo(const MailboxInfo&); | 127 MailboxInfo(const MailboxInfo&); |
| 126 MailboxInfo() {} | 128 MailboxInfo() {} |
| 127 }; | 129 }; |
| 128 | 130 |
| 129 uint32_t m_lastImageId; | 131 uint32_t m_lastImageId; |
| 130 | 132 |
| 131 enum { | 133 enum { |
| 132 // We should normally not have more that two active mailboxes at a time, | 134 // We should normally not have more that two active mailboxes at a time, |
| 133 // but sometime we may have three due to the async nature of mailbox han
dling. | 135 // but sometime we may have three due to the async nature of mailbox han
dling. |
| 134 MaxActiveMailboxes = 3, | 136 MaxActiveMailboxes = 3, |
| 135 }; | 137 }; |
| 136 | 138 |
| 137 Deque<MailboxInfo, MaxActiveMailboxes> m_mailboxes; | 139 Deque<MailboxInfo, MaxActiveMailboxes> m_mailboxes; |
| 140 GLenum m_lastFilter; |
| 138 OpacityMode m_opacityMode; | 141 OpacityMode m_opacityMode; |
| 139 }; | 142 }; |
| 140 | 143 |
| 141 } // namespace blink | 144 } // namespace blink |
| 142 | 145 |
| 143 #endif | 146 #endif |
| OLD | NEW |