| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "web_layer_tree_view_impl.h" | 5 #include "webkit/compositor_bindings/web_layer_tree_view_impl.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "cc/font_atlas.h" | 8 #include "cc/font_atlas.h" |
| 9 #include "cc/input_handler.h" | 9 #include "cc/input_handler.h" |
| 10 #include "cc/layer.h" | 10 #include "cc/layer.h" |
| 11 #include "cc/layer_tree_host.h" | 11 #include "cc/layer_tree_host.h" |
| 12 #include "cc/switches.h" | 12 #include "cc/switches.h" |
| 13 #include "cc/thread.h" | 13 #include "cc/thread.h" |
| 14 #include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3
D.h" | 14 #include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3
D.h" |
| 15 #include "third_party/WebKit/Source/Platform/chromium/public/WebInputHandler.h" | 15 #include "third_party/WebKit/Source/Platform/chromium/public/WebInputHandler.h" |
| 16 #include "third_party/WebKit/Source/Platform/chromium/public/WebLayer.h" | 16 #include "third_party/WebKit/Source/Platform/chromium/public/WebLayer.h" |
| 17 #include "third_party/WebKit/Source/Platform/chromium/public/WebLayerTreeViewCli
ent.h" | 17 #include "third_party/WebKit/Source/Platform/chromium/public/WebLayerTreeViewCli
ent.h" |
| 18 #include "third_party/WebKit/Source/Platform/chromium/public/WebLayerTreeView.h" | 18 #include "third_party/WebKit/Source/Platform/chromium/public/WebLayerTreeView.h" |
| 19 #include "third_party/WebKit/Source/Platform/chromium/public/WebRenderingStats.h
" | 19 #include "third_party/WebKit/Source/Platform/chromium/public/WebRenderingStats.h
" |
| 20 #include "third_party/WebKit/Source/Platform/chromium/public/WebSize.h" | 20 #include "third_party/WebKit/Source/Platform/chromium/public/WebSize.h" |
| 21 #include "web_layer_impl.h" | 21 #include "webkit/compositor_bindings/web_layer_impl.h" |
| 22 #include "web_to_ccinput_handler_adapter.h" | |
| 23 #include "webkit/compositor_bindings/web_rendering_stats_impl.h" | 22 #include "webkit/compositor_bindings/web_rendering_stats_impl.h" |
| 24 | 23 #include "webkit/compositor_bindings/web_to_ccinput_handler_adapter.h" |
| 25 using namespace cc; | 24 |
| 26 | 25 |
| 27 namespace WebKit { | 26 namespace WebKit { |
| 28 | 27 |
| 29 WebLayerTreeViewImpl::WebLayerTreeViewImpl(WebLayerTreeViewClient* client) | 28 WebLayerTreeViewImpl::WebLayerTreeViewImpl(WebLayerTreeViewClient* client) |
| 30 : m_client(client) | 29 : client_(client) { |
| 31 { | 30 } |
| 32 } | 31 |
| 33 | 32 WebLayerTreeViewImpl::~WebLayerTreeViewImpl() { |
| 34 WebLayerTreeViewImpl::~WebLayerTreeViewImpl() | 33 } |
| 35 { | 34 |
| 36 } | 35 bool WebLayerTreeViewImpl::initialize( |
| 37 | 36 const WebLayerTreeView::Settings& web_settings, |
| 38 bool WebLayerTreeViewImpl::initialize(const WebLayerTreeView::Settings& webSetti
ngs, scoped_ptr<Thread> implThread) | 37 scoped_ptr<cc::Thread> impl_thread) { |
| 39 { | 38 cc::LayerTreeSettings settings; |
| 40 LayerTreeSettings settings; | 39 settings.acceleratePainting = web_settings.acceleratePainting; |
| 41 settings.acceleratePainting = webSettings.acceleratePainting; | 40 settings.renderVSyncEnabled = web_settings.renderVSyncEnabled; |
| 42 settings.renderVSyncEnabled = webSettings.renderVSyncEnabled; | 41 settings.perTilePaintingEnabled = web_settings.perTilePaintingEnabled; |
| 43 settings.perTilePaintingEnabled = webSettings.perTilePaintingEnabled; | 42 settings.acceleratedAnimationEnabled = |
| 44 settings.acceleratedAnimationEnabled = webSettings.acceleratedAnimationEnabl
ed; | 43 web_settings.acceleratedAnimationEnabled; |
| 45 settings.pageScalePinchZoomEnabled = webSettings.pageScalePinchZoomEnabled; | 44 settings.pageScalePinchZoomEnabled = web_settings.pageScalePinchZoomEnabled; |
| 46 settings.refreshRate = webSettings.refreshRate; | 45 settings.refreshRate = web_settings.refreshRate; |
| 47 settings.defaultTileSize = webSettings.defaultTileSize; | 46 settings.defaultTileSize = web_settings.defaultTileSize; |
| 48 settings.maxUntiledLayerSize = webSettings.maxUntiledLayerSize; | 47 settings.maxUntiledLayerSize = web_settings.maxUntiledLayerSize; |
| 49 settings.initialDebugState.showFPSCounter = webSettings.showFPSCounter; | 48 settings.initialDebugState.showFPSCounter = web_settings.showFPSCounter; |
| 50 settings.initialDebugState.showPaintRects = webSettings.showPaintRects; | 49 settings.initialDebugState.showPaintRects = web_settings.showPaintRects; |
| 51 settings.initialDebugState.showPlatformLayerTree = webSettings.showPlatformL
ayerTree; | 50 settings.initialDebugState.showPlatformLayerTree = |
| 52 settings.initialDebugState.showDebugBorders = webSettings.showDebugBorders; | 51 web_settings.showPlatformLayerTree; |
| 53 m_layerTreeHost = LayerTreeHost::create(this, settings, implThread.Pass()); | 52 settings.initialDebugState.showDebugBorders = web_settings.showDebugBorders; |
| 54 if (!m_layerTreeHost.get()) | 53 layer_tree_host_ = cc::LayerTreeHost::create(this, |
| 55 return false; | 54 settings, |
| 56 return true; | 55 impl_thread.Pass()); |
| 57 } | 56 if (!layer_tree_host_) |
| 58 | 57 return false; |
| 59 void WebLayerTreeViewImpl::setSurfaceReady() | 58 return true; |
| 60 { | 59 } |
| 61 m_layerTreeHost->setSurfaceReady(); | 60 |
| 62 } | 61 cc::LayerTreeHost* WebLayerTreeViewImpl::layer_tree_host() const { |
| 63 | 62 return layer_tree_host_.get(); |
| 64 void WebLayerTreeViewImpl::setRootLayer(const WebLayer& root) | 63 } |
| 65 { | 64 |
| 66 m_layerTreeHost->setRootLayer(static_cast<const WebLayerImpl*>(&root)->layer
()); | 65 void WebLayerTreeViewImpl::setSurfaceReady() { |
| 67 } | 66 layer_tree_host_->setSurfaceReady(); |
| 68 | 67 } |
| 69 void WebLayerTreeViewImpl::clearRootLayer() | 68 |
| 70 { | 69 void WebLayerTreeViewImpl::setRootLayer(const WebLayer& root) { |
| 71 m_layerTreeHost->setRootLayer(scoped_refptr<Layer>()); | 70 layer_tree_host_->setRootLayer( |
| 72 } | 71 static_cast<const WebLayerImpl*>(&root)->layer()); |
| 73 | 72 } |
| 74 void WebLayerTreeViewImpl::setViewportSize(const WebSize& layoutViewportSize, co
nst WebSize& deviceViewportSize) | 73 |
| 75 { | 74 void WebLayerTreeViewImpl::clearRootLayer() { |
| 76 if (!deviceViewportSize.isEmpty()) | 75 layer_tree_host_->setRootLayer(scoped_refptr<cc::Layer>()); |
| 77 m_layerTreeHost->setViewportSize(layoutViewportSize, deviceViewportSize)
; | 76 } |
| 78 else | 77 |
| 79 m_layerTreeHost->setViewportSize(layoutViewportSize, layoutViewportSize)
; | 78 void WebLayerTreeViewImpl::setViewportSize( |
| 80 } | 79 const WebSize& layout_viewport_size, const WebSize& device_viewport_size) { |
| 81 | 80 if (!device_viewport_size.isEmpty()) { |
| 82 WebSize WebLayerTreeViewImpl::layoutViewportSize() const | 81 layer_tree_host_->setViewportSize(layout_viewport_size, |
| 83 { | 82 device_viewport_size); |
| 84 return m_layerTreeHost->layoutViewportSize(); | 83 } else { |
| 85 } | 84 layer_tree_host_->setViewportSize(layout_viewport_size, |
| 86 | 85 layout_viewport_size); |
| 87 WebSize WebLayerTreeViewImpl::deviceViewportSize() const | 86 } |
| 88 { | 87 } |
| 89 return m_layerTreeHost->deviceViewportSize(); | 88 |
| 90 } | 89 WebSize WebLayerTreeViewImpl::layoutViewportSize() const { |
| 91 | 90 return layer_tree_host_->layoutViewportSize(); |
| 92 WebFloatPoint WebLayerTreeViewImpl::adjustEventPointForPinchZoom(const WebFloatP
oint& point) const | 91 } |
| 93 { | 92 |
| 94 return m_layerTreeHost->adjustEventPointForPinchZoom(point); | 93 WebSize WebLayerTreeViewImpl::deviceViewportSize() const { |
| 95 } | 94 return layer_tree_host_->deviceViewportSize(); |
| 96 | 95 } |
| 97 void WebLayerTreeViewImpl::setDeviceScaleFactor(const float deviceScaleFactor) | 96 |
| 98 { | 97 WebFloatPoint WebLayerTreeViewImpl::adjustEventPointForPinchZoom( |
| 99 m_layerTreeHost->setDeviceScaleFactor(deviceScaleFactor); | 98 const WebFloatPoint& point) const { |
| 100 } | 99 return layer_tree_host_->adjustEventPointForPinchZoom(point); |
| 101 | 100 } |
| 102 float WebLayerTreeViewImpl::deviceScaleFactor() const | 101 |
| 103 { | 102 void WebLayerTreeViewImpl::setDeviceScaleFactor(float device_scale_factor) { |
| 104 return m_layerTreeHost->deviceScaleFactor(); | 103 layer_tree_host_->setDeviceScaleFactor(device_scale_factor); |
| 105 } | 104 } |
| 106 | 105 |
| 107 void WebLayerTreeViewImpl::setBackgroundColor(WebColor color) | 106 float WebLayerTreeViewImpl::deviceScaleFactor() const { |
| 108 { | 107 return layer_tree_host_->deviceScaleFactor(); |
| 109 m_layerTreeHost->setBackgroundColor(color); | 108 } |
| 110 } | 109 |
| 111 | 110 void WebLayerTreeViewImpl::setBackgroundColor(WebColor color) { |
| 112 void WebLayerTreeViewImpl::setHasTransparentBackground(bool transparent) | 111 layer_tree_host_->setBackgroundColor(color); |
| 113 { | 112 } |
| 114 m_layerTreeHost->setHasTransparentBackground(transparent); | 113 |
| 115 } | 114 void WebLayerTreeViewImpl::setHasTransparentBackground(bool transparent) { |
| 116 | 115 layer_tree_host_->setHasTransparentBackground(transparent); |
| 117 void WebLayerTreeViewImpl::setVisible(bool visible) | 116 } |
| 118 { | 117 |
| 119 m_layerTreeHost->setVisible(visible); | 118 void WebLayerTreeViewImpl::setVisible(bool visible) { |
| 120 } | 119 layer_tree_host_->setVisible(visible); |
| 121 | 120 } |
| 122 void WebLayerTreeViewImpl::setPageScaleFactorAndLimits(float pageScaleFactor, fl
oat minimum, float maximum) | 121 |
| 123 { | 122 void WebLayerTreeViewImpl::setPageScaleFactorAndLimits(float page_scale_factor, |
| 124 m_layerTreeHost->setPageScaleFactorAndLimits(pageScaleFactor, minimum, maxim
um); | 123 float minimum, |
| 125 } | 124 float maximum) { |
| 126 | 125 layer_tree_host_->setPageScaleFactorAndLimits(page_scale_factor, |
| 127 void WebLayerTreeViewImpl::startPageScaleAnimation(const WebPoint& scroll, bool
useAnchor, float newPageScale, double durationSec) | 126 minimum, maximum); |
| 128 { | 127 } |
| 129 base::TimeDelta duration = base::TimeDelta::FromMicroseconds(durationSec * b
ase::Time::kMicrosecondsPerSecond); | 128 |
| 130 m_layerTreeHost->startPageScaleAnimation(gfx::Vector2d(scroll.x, scroll.y),
useAnchor, newPageScale, duration); | 129 void WebLayerTreeViewImpl::startPageScaleAnimation(const WebPoint& scroll, |
| 131 } | 130 bool use_anchor, |
| 132 | 131 float new_page_scale, |
| 133 void WebLayerTreeViewImpl::setNeedsAnimate() | 132 double duration_sec) { |
| 134 { | 133 int64 duration_us = duration_sec * base::Time::kMicrosecondsPerSecond; |
| 135 m_layerTreeHost->setNeedsAnimate(); | 134 base::TimeDelta duration = base::TimeDelta::FromMicroseconds(duration_us); |
| 136 } | 135 layer_tree_host_->startPageScaleAnimation(gfx::Vector2d(scroll.x, scroll.y), |
| 137 | 136 use_anchor, |
| 138 void WebLayerTreeViewImpl::setNeedsRedraw() | 137 new_page_scale, |
| 139 { | 138 duration); |
| 140 m_layerTreeHost->setNeedsRedraw(); | 139 } |
| 141 } | 140 |
| 142 | 141 void WebLayerTreeViewImpl::setNeedsAnimate() { |
| 143 bool WebLayerTreeViewImpl::commitRequested() const | 142 layer_tree_host_->setNeedsAnimate(); |
| 144 { | 143 } |
| 145 return m_layerTreeHost->commitRequested(); | 144 |
| 146 } | 145 void WebLayerTreeViewImpl::setNeedsRedraw() { |
| 147 | 146 layer_tree_host_->setNeedsRedraw(); |
| 148 void WebLayerTreeViewImpl::composite() | 147 } |
| 149 { | 148 |
| 150 m_layerTreeHost->composite(); | 149 bool WebLayerTreeViewImpl::commitRequested() const { |
| 151 } | 150 return layer_tree_host_->commitRequested(); |
| 152 | 151 } |
| 153 void WebLayerTreeViewImpl::updateAnimations(double frameBeginTimeSeconds) | 152 |
| 154 { | 153 void WebLayerTreeViewImpl::composite() { |
| 155 base::TimeTicks frameBeginTime = base::TimeTicks::FromInternalValue(frameBeg
inTimeSeconds * base::Time::kMicrosecondsPerSecond); | 154 layer_tree_host_->composite(); |
| 156 m_layerTreeHost->updateAnimations(frameBeginTime); | 155 } |
| 157 } | 156 |
| 158 | 157 void WebLayerTreeViewImpl::didStopFlinging() { |
| 159 void WebLayerTreeViewImpl::didStopFlinging() | 158 layer_tree_host_->didStopFlinging(); |
| 160 { | 159 } |
| 161 m_layerTreeHost->didStopFlinging(); | 160 |
| 162 } | 161 void WebLayerTreeViewImpl::updateAnimations(double frame_begin_time_seconds) { |
| 163 | 162 int64 frame_begin_time_us = |
| 164 bool WebLayerTreeViewImpl::compositeAndReadback(void *pixels, const WebRect& rec
t) | 163 frame_begin_time_seconds * base::Time::kMicrosecondsPerSecond; |
| 165 { | 164 base::TimeTicks frame_begin_time = |
| 166 return m_layerTreeHost->compositeAndReadback(pixels, rect); | 165 base::TimeTicks::FromInternalValue(frame_begin_time_us); |
| 167 } | 166 layer_tree_host_->updateAnimations(frame_begin_time); |
| 168 | 167 } |
| 169 void WebLayerTreeViewImpl::finishAllRendering() | 168 |
| 170 { | 169 bool WebLayerTreeViewImpl::compositeAndReadback(void* pixels, |
| 171 m_layerTreeHost->finishAllRendering(); | 170 const WebRect& rect) { |
| 172 } | 171 return layer_tree_host_->compositeAndReadback(pixels, rect); |
| 173 | 172 } |
| 174 void WebLayerTreeViewImpl::setDeferCommits(bool deferCommits) | 173 |
| 175 { | 174 void WebLayerTreeViewImpl::finishAllRendering() { |
| 176 m_layerTreeHost->setDeferCommits(deferCommits); | 175 layer_tree_host_->finishAllRendering(); |
| 177 } | 176 } |
| 178 | 177 |
| 179 void WebLayerTreeViewImpl::renderingStats(WebRenderingStats& stats) const | 178 void WebLayerTreeViewImpl::setDeferCommits(bool defer_commits) { |
| 180 { | 179 layer_tree_host_->setDeferCommits(defer_commits); |
| 181 m_layerTreeHost->renderingStats( | 180 } |
| 182 &static_cast<WebRenderingStatsImpl&>(stats).rendering_stats); | 181 |
| 183 } | 182 void WebLayerTreeViewImpl::renderingStats(WebRenderingStats& stats) const { |
| 184 | 183 layer_tree_host_->renderingStats( |
| 185 void WebLayerTreeViewImpl::setShowFPSCounter(bool show) | 184 &static_cast<WebRenderingStatsImpl&>(stats).rendering_stats); |
| 186 { | 185 } |
| 187 LayerTreeDebugState debugState = m_layerTreeHost->debugState(); | 186 |
| 188 debugState.showFPSCounter = show; | 187 void WebLayerTreeViewImpl::setShowFPSCounter(bool show) { |
| 189 m_layerTreeHost->setDebugState(debugState); | 188 cc::LayerTreeDebugState debug_state = layer_tree_host_->debugState(); |
| 190 } | 189 debug_state.showFPSCounter = show; |
| 191 | 190 layer_tree_host_->setDebugState(debug_state); |
| 192 void WebLayerTreeViewImpl::setShowPaintRects(bool show) | 191 } |
| 193 { | 192 |
| 194 LayerTreeDebugState debugState = m_layerTreeHost->debugState(); | 193 void WebLayerTreeViewImpl::setShowPaintRects(bool show) { |
| 195 debugState.showPaintRects = show; | 194 cc::LayerTreeDebugState debug_state = layer_tree_host_->debugState(); |
| 196 m_layerTreeHost->setDebugState(debugState); | 195 debug_state.showPaintRects = show; |
| 197 } | 196 layer_tree_host_->setDebugState(debug_state); |
| 198 | 197 } |
| 199 void WebLayerTreeViewImpl::setContinuousPaintingEnabled(bool enabled) | 198 |
| 200 { | 199 void WebLayerTreeViewImpl::setContinuousPaintingEnabled(bool enabled) { |
| 201 LayerTreeDebugState debugState = m_layerTreeHost->debugState(); | 200 cc::LayerTreeDebugState debug_state = layer_tree_host_->debugState(); |
| 202 debugState.continuousPainting = enabled; | 201 debug_state.continuousPainting = enabled; |
| 203 m_layerTreeHost->setDebugState(debugState); | 202 layer_tree_host_->setDebugState(debug_state); |
| 204 } | 203 } |
| 205 | 204 |
| 206 scoped_ptr<FontAtlas> WebLayerTreeViewImpl::createFontAtlas() | 205 scoped_ptr<cc::FontAtlas> WebLayerTreeViewImpl::createFontAtlas() { |
| 207 { | 206 int font_height; |
| 208 int fontHeight; | 207 WebRect ascii_to_web_rect_table[128]; |
| 209 WebRect asciiToWebRectTable[128]; | 208 gfx::Rect ascii_to_rect_table[128]; |
| 210 gfx::Rect asciiToRectTable[128]; | 209 SkBitmap bitmap; |
| 211 SkBitmap bitmap; | 210 |
| 212 | 211 client_->createFontAtlas(bitmap, ascii_to_web_rect_table, font_height); |
| 213 m_client->createFontAtlas(bitmap, asciiToWebRectTable, fontHeight); | 212 |
| 214 | 213 for (int i = 0; i < 128; ++i) |
| 215 for (int i = 0; i < 128; ++i) | 214 ascii_to_rect_table[i] = ascii_to_web_rect_table[i]; |
| 216 asciiToRectTable[i] = asciiToWebRectTable[i]; | 215 |
| 217 | 216 return cc::FontAtlas::create(bitmap, ascii_to_rect_table, font_height).Pass(); |
| 218 return FontAtlas::create(bitmap, asciiToRectTable, fontHeight).Pass(); | 217 } |
| 219 } | 218 |
| 220 | 219 void WebLayerTreeViewImpl::loseCompositorContext(int num_times) { |
| 221 void WebLayerTreeViewImpl::loseCompositorContext(int numTimes) | 220 layer_tree_host_->loseOutputSurface(num_times); |
| 222 { | 221 } |
| 223 m_layerTreeHost->loseOutputSurface(numTimes); | 222 |
| 224 } | 223 void WebLayerTreeViewImpl::willBeginFrame() { |
| 225 | 224 client_->willBeginFrame(); |
| 226 void WebLayerTreeViewImpl::willBeginFrame() | 225 } |
| 227 { | 226 |
| 228 m_client->willBeginFrame(); | 227 void WebLayerTreeViewImpl::didBeginFrame() { |
| 229 } | 228 client_->didBeginFrame(); |
| 230 | 229 } |
| 231 void WebLayerTreeViewImpl::didBeginFrame() | 230 |
| 232 { | 231 void WebLayerTreeViewImpl::animate(double monotonic_frame_begin_time) { |
| 233 m_client->didBeginFrame(); | 232 client_->updateAnimations(monotonic_frame_begin_time); |
| 234 } | 233 } |
| 235 | 234 |
| 236 void WebLayerTreeViewImpl::animate(double monotonicFrameBeginTime) | 235 void WebLayerTreeViewImpl::layout() { |
| 237 { | 236 client_->layout(); |
| 238 m_client->updateAnimations(monotonicFrameBeginTime); | 237 } |
| 239 } | 238 |
| 240 | 239 void WebLayerTreeViewImpl::applyScrollAndScale(gfx::Vector2d scroll_delta, |
| 241 void WebLayerTreeViewImpl::layout() | 240 float page_scale) { |
| 242 { | 241 client_->applyScrollAndScale(scroll_delta, page_scale); |
| 243 m_client->layout(); | 242 } |
| 244 } | 243 |
| 245 | 244 scoped_ptr<cc::OutputSurface> WebLayerTreeViewImpl::createOutputSurface() { |
| 246 void WebLayerTreeViewImpl::applyScrollAndScale(gfx::Vector2d scrollDelta, float
pageScale) | 245 WebKit::WebCompositorOutputSurface* web = client_->createOutputSurface(); |
| 247 { | 246 return make_scoped_ptr(static_cast<cc::OutputSurface*>(web)); |
| 248 m_client->applyScrollAndScale(scrollDelta, pageScale); | 247 } |
| 249 } | 248 |
| 250 | 249 void WebLayerTreeViewImpl::didRecreateOutputSurface(bool success) { |
| 251 scoped_ptr<cc::OutputSurface> WebLayerTreeViewImpl::createOutputSurface() | 250 client_->didRecreateOutputSurface(success); |
| 252 { | 251 } |
| 253 WebKit::WebCompositorOutputSurface* web = m_client->createOutputSurface(); | 252 |
| 254 return make_scoped_ptr(static_cast<cc::OutputSurface*>(web)); | 253 scoped_ptr<cc::InputHandler> WebLayerTreeViewImpl::createInputHandler() { |
| 255 } | 254 scoped_ptr<cc::InputHandler> ret; |
| 256 | 255 scoped_ptr<WebInputHandler> handler(client_->createInputHandler()); |
| 257 void WebLayerTreeViewImpl::didRecreateOutputSurface(bool success) | 256 if (handler) |
| 258 { | 257 ret = WebToCCInputHandlerAdapter::create(handler.Pass()); |
| 259 m_client->didRecreateOutputSurface(success); | 258 return ret.Pass(); |
| 260 } | 259 } |
| 261 | 260 |
| 262 scoped_ptr<InputHandler> WebLayerTreeViewImpl::createInputHandler() | 261 void WebLayerTreeViewImpl::willCommit() { |
| 263 { | 262 client_->willCommit(); |
| 264 scoped_ptr<InputHandler> ret; | 263 } |
| 265 scoped_ptr<WebInputHandler> handler(m_client->createInputHandler()); | 264 |
| 266 if (handler) | 265 void WebLayerTreeViewImpl::didCommit() { |
| 267 ret = WebToCCInputHandlerAdapter::create(handler.Pass()); | 266 client_->didCommit(); |
| 268 return ret.Pass(); | 267 } |
| 269 } | 268 |
| 270 | 269 void WebLayerTreeViewImpl::didCommitAndDrawFrame() { |
| 271 void WebLayerTreeViewImpl::willCommit() | 270 client_->didCommitAndDrawFrame(); |
| 272 { | 271 } |
| 273 m_client->willCommit(); | 272 |
| 274 } | 273 void WebLayerTreeViewImpl::didCompleteSwapBuffers() { |
| 275 | 274 client_->didCompleteSwapBuffers(); |
| 276 void WebLayerTreeViewImpl::didCommit() | 275 } |
| 277 { | 276 |
| 278 m_client->didCommit(); | 277 void WebLayerTreeViewImpl::scheduleComposite() { |
| 279 } | 278 client_->scheduleComposite(); |
| 280 | 279 } |
| 281 void WebLayerTreeViewImpl::didCommitAndDrawFrame() | 280 |
| 282 { | 281 } // namespace WebKit |
| 283 m_client->didCommitAndDrawFrame(); | |
| 284 } | |
| 285 | |
| 286 void WebLayerTreeViewImpl::didCompleteSwapBuffers() | |
| 287 { | |
| 288 m_client->didCompleteSwapBuffers(); | |
| 289 } | |
| 290 | |
| 291 void WebLayerTreeViewImpl::scheduleComposite() | |
| 292 { | |
| 293 m_client->scheduleComposite(); | |
| 294 } | |
| 295 | |
| 296 } // namespace WebKit | |
| OLD | NEW |