Pass the ArrayBuffer::Allocator via the Isolate::CreateParams
[chromium-blink-merge.git] / cc / layers / content_layer_client.h
blob86b5264093b2496742f7a35ade576a93003a6157
1 // Copyright 2012 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 #ifndef CC_LAYERS_CONTENT_LAYER_CLIENT_H_
6 #define CC_LAYERS_CONTENT_LAYER_CLIENT_H_
8 #include "cc/base/cc_export.h"
9 #include "cc/resources/display_item_list.h"
11 class SkCanvas;
13 namespace gfx {
14 class Rect;
15 class RectF;
18 namespace cc {
20 class CC_EXPORT ContentLayerClient {
21 public:
22 enum PaintingControlSetting {
23 PAINTING_BEHAVIOR_NORMAL,
24 DISPLAY_LIST_CONSTRUCTION_DISABLED,
25 DISPLAY_LIST_CACHING_DISABLED,
26 DISPLAY_LIST_PAINTING_DISABLED
29 virtual void PaintContents(SkCanvas* canvas,
30 const gfx::Rect& clip,
31 PaintingControlSetting painting_status) = 0;
33 virtual void PaintContentsToDisplayList(
34 DisplayItemList* display_list,
35 const gfx::Rect& clip,
36 PaintingControlSetting painting_status) = 0;
38 // If true the layer may skip clearing the background before rasterizing,
39 // because it will cover any uncleared data with content.
40 virtual bool FillsBoundsCompletely() const = 0;
42 protected:
43 virtual ~ContentLayerClient() {}
46 } // namespace cc
48 #endif // CC_LAYERS_CONTENT_LAYER_CLIENT_H_