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 * 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 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 scrollLayer = scrollLayerForFrameView(frameView)->platformLayer(); | 113 scrollLayer = scrollLayerForFrameView(frameView)->platformLayer(); |
114 ASSERT(scrollLayer); | 114 ASSERT(scrollLayer); |
115 } | 115 } |
116 | 116 |
117 // Root layer non-overlay scrollbars should be marked opaque to disable | 117 // Root layer non-overlay scrollbars should be marked opaque to disable |
118 // blending. | 118 // blending. |
119 bool isOpaqueRootScrollbar = !frameView->parent() && !scrollbar->isOverlaySc
rollbar(); | 119 bool isOpaqueRootScrollbar = !frameView->parent() && !scrollbar->isOverlaySc
rollbar(); |
120 if (!scrollbarGraphicsLayer->contentsOpaque()) | 120 if (!scrollbarGraphicsLayer->contentsOpaque()) |
121 scrollbarGraphicsLayer->setContentsOpaque(isOpaqueRootScrollbar); | 121 scrollbarGraphicsLayer->setContentsOpaque(isOpaqueRootScrollbar); |
122 | 122 |
123 // FIXME: Mac scrollbar themes are not thread-safe. | 123 // FIXME: Mac scrollbar themes are not thread-safe to paint. |
| 124 // FIXME: Win scrollbars on XP Classic themes do not paint valid alpha |
| 125 // values due to GDI. This needs to be fixed in theme code before it |
| 126 // can be turned on here. |
124 bool platformSupported = true; | 127 bool platformSupported = true; |
125 #if OS(DARWIN) | 128 #if OS(DARWIN) || OS(WINDOWS) |
126 platformSupported = false; | 129 platformSupported = false; |
127 #endif | 130 #endif |
128 | 131 |
129 if (!platformSupported || scrollbar->isOverlayScrollbar()) { | 132 if (!platformSupported || scrollbar->isOverlayScrollbar()) { |
130 scrollbarGraphicsLayer->setContentsToMedia(0); | 133 scrollbarGraphicsLayer->setContentsToMedia(0); |
131 scrollbarGraphicsLayer->setDrawsContent(true); | 134 scrollbarGraphicsLayer->setDrawsContent(true); |
132 return 0; | 135 return 0; |
133 } | 136 } |
134 | 137 |
135 RefPtr<ScrollbarLayerChromium> scrollbarLayer = ScrollbarLayerChromium::crea
te(scrollbar, scrollLayer->id()); | 138 RefPtr<ScrollbarLayerChromium> scrollbarLayer = ScrollbarLayerChromium::crea
te(scrollbar, scrollLayer->id()); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 platformLayer->setIsContainerForFixedPositionLayers(enable); | 198 platformLayer->setIsContainerForFixedPositionLayers(enable); |
196 } | 199 } |
197 | 200 |
198 void ScrollingCoordinator::setLayerIsFixedToContainerLayer(GraphicsLayer* layer,
bool enable) | 201 void ScrollingCoordinator::setLayerIsFixedToContainerLayer(GraphicsLayer* layer,
bool enable) |
199 { | 202 { |
200 if (LayerChromium* platformLayer = layer->platformLayer()) | 203 if (LayerChromium* platformLayer = layer->platformLayer()) |
201 platformLayer->setFixedToContainerLayer(enable); | 204 platformLayer->setFixedToContainerLayer(enable); |
202 } | 205 } |
203 | 206 |
204 } | 207 } |
OLD | NEW |