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"
8 #include "cc/layers/layer.h"
9 #include "components/view_manager/public/cpp/view.h"
10 #include "ui/gfx/geometry/dip_util.h"
11 #include "ui/mojo/geometry/geometry.mojom.h"
13 using blink::WebFloatPoint
;
16 namespace html_viewer
{
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(mojo::View
* view
, float device_pixel_ratio
)
34 : cc_blink::WebLayerImpl(cc::SurfaceLayer::Create(
35 cc_blink::WebLayerImpl::LayerSettings(),
36 base::Bind(&SatisfyCallback
),
37 base::Bind(&RequireCallback
))),
39 device_pixel_ratio_(device_pixel_ratio
) {
42 WebLayerImpl::~WebLayerImpl() {
45 void WebLayerImpl::setBounds(const WebSize
& size
) {
46 static_cast<cc::SurfaceLayer
*>(layer())->
47 SetSurfaceId(cc::SurfaceId(view_
->id()),
48 device_pixel_ratio_
, size
);
49 cc_blink::WebLayerImpl::setBounds(size
);
52 } // namespace html_viewer