Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / components / html_viewer / web_layer_impl.cc
blob0eb533549ee45c1080721927a81506a78905fffb
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "components/html_viewer/web_layer_impl.h"
7 #include "base/bind.h"
8 #include "cc/layers/layer.h"
9 #include "components/mus/public/cpp/view.h"
10 #include "ui/gfx/geometry/dip_util.h"
11 #include "ui/mojo/geometry/geometry.mojom.h"
13 using blink::WebFloatPoint;
14 using blink::WebSize;
16 namespace html_viewer {
18 namespace {
20 // See surface_layer.h for a description of this callback.
21 void SatisfyCallback(cc::SurfaceSequence sequence) {
22 // TODO(fsamuel): Implement this.
25 // See surface_layer.h for a description of this callback.
26 void RequireCallback(cc::SurfaceId surface_id,
27 cc::SurfaceSequence sequence) {
28 // TODO(fsamuel): Implement this.
33 WebLayerImpl::WebLayerImpl(mus::View* view, float device_pixel_ratio)
34 : cc_blink::WebLayerImpl(
35 cc::SurfaceLayer::Create(cc_blink::WebLayerImpl::LayerSettings(),
36 base::Bind(&SatisfyCallback),
37 base::Bind(&RequireCallback))),
38 view_(view),
39 device_pixel_ratio_(device_pixel_ratio) {}
41 WebLayerImpl::~WebLayerImpl() {
44 void WebLayerImpl::setBounds(const WebSize& size) {
45 static_cast<cc::SurfaceLayer*>(layer())->
46 SetSurfaceId(cc::SurfaceId(view_->id()),
47 device_pixel_ratio_, size);
48 cc_blink::WebLayerImpl::setBounds(size);
51 } // namespace html_viewer