OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2012 Apple Inc. All rights reserved. |
3 * Copyright (C) 2013 Google Inc. All rights reserved. | 3 * Copyright (C) 2013 Google Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
66 } | 66 } |
67 int layerId; | 67 int layerId; |
68 RefPtr<GraphicsContextSnapshot> graphicsSnapshot; | 68 RefPtr<GraphicsContextSnapshot> graphicsSnapshot; |
69 }; | 69 }; |
70 | 70 |
71 inline String idForLayer(const GraphicsLayer* graphicsLayer) | 71 inline String idForLayer(const GraphicsLayer* graphicsLayer) |
72 { | 72 { |
73 return String::number(graphicsLayer->platformLayer()->id()); | 73 return String::number(graphicsLayer->platformLayer()->id()); |
74 } | 74 } |
75 | 75 |
76 static PassRefPtr<TypeBuilder::LayerTree::ScrollRect> buildScrollRect(const blin k::WebRect& rect, const TypeBuilder::LayerTree::ScrollRect::Type::Enum& type) | |
77 { | |
78 RefPtr<TypeBuilder::DOM::Rect> rectObject = TypeBuilder::DOM::Rect::create() | |
79 .setX(rect.x) | |
80 .setY(rect.y) | |
81 .setHeight(rect.height) | |
82 .setWidth(rect.width); | |
83 RefPtr<TypeBuilder::LayerTree::ScrollRect> scrollRectObject = TypeBuilder::L ayerTree::ScrollRect::create() | |
84 .setRect(rectObject) | |
pfeldman
2014/03/04 09:45:59
.release()
malch
2014/03/07 12:42:07
Done.
| |
85 .setType(type); | |
86 return scrollRectObject; | |
pfeldman
2014/03/04 09:45:59
return scrollRectObject.release();
malch
2014/03/07 12:42:07
Done.
| |
87 } | |
88 | |
89 static PassRefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::ScrollRect> > build ScrollRectsForLayer(GraphicsLayer* graphicsLayer) | |
90 { | |
91 RefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::ScrollRect> > scrollRects = TypeBuilder::Array<TypeBuilder::LayerTree::ScrollRect>::create(); | |
92 blink::WebLayer* webLayer = graphicsLayer->platformLayer(); | |
93 for (size_t i = 0; i < webLayer->nonFastScrollableRegion().size(); ++i) { | |
94 scrollRects->addItem(buildScrollRect(webLayer->nonFastScrollableRegion() [i], TypeBuilder::LayerTree::ScrollRect::Type::RepaintsOnScroll)); | |
95 } | |
96 for (size_t i = 0; i < webLayer->touchEventHandlerRegion().size(); ++i) { | |
97 scrollRects->addItem(buildScrollRect(webLayer->touchEventHandlerRegion() [i], TypeBuilder::LayerTree::ScrollRect::Type::TouchEventHandler)); | |
98 } | |
99 if (webLayer->haveWheelEventHandlers()) { | |
100 blink::WebRect* webRect = new blink::WebRect(webLayer->position().x, web Layer->position().y, webLayer->bounds().width, webLayer->bounds().height); | |
101 scrollRects->addItem(buildScrollRect(*webRect, TypeBuilder::LayerTree::S crollRect::Type::WheelEventHandler)); | |
102 } | |
103 return scrollRects->length() ? scrollRects : nullptr; | |
pfeldman
2014/03/04 09:45:59
ditto
malch
2014/03/07 12:42:07
Done.
| |
104 } | |
105 | |
76 static PassRefPtr<TypeBuilder::LayerTree::Layer> buildObjectForLayer(GraphicsLay er* graphicsLayer, int nodeId) | 106 static PassRefPtr<TypeBuilder::LayerTree::Layer> buildObjectForLayer(GraphicsLay er* graphicsLayer, int nodeId) |
77 { | 107 { |
78 blink::WebLayer* webLayer = graphicsLayer->platformLayer(); | 108 blink::WebLayer* webLayer = graphicsLayer->platformLayer(); |
79 RefPtr<TypeBuilder::LayerTree::Layer> layerObject = TypeBuilder::LayerTree:: Layer::create() | 109 RefPtr<TypeBuilder::LayerTree::Layer> layerObject = TypeBuilder::LayerTree:: Layer::create() |
80 .setLayerId(idForLayer(graphicsLayer)) | 110 .setLayerId(idForLayer(graphicsLayer)) |
81 .setOffsetX(webLayer->position().x) | 111 .setOffsetX(webLayer->position().x) |
82 .setOffsetY(webLayer->position().y) | 112 .setOffsetY(webLayer->position().y) |
83 .setWidth(webLayer->bounds().width) | 113 .setWidth(webLayer->bounds().width) |
84 .setHeight(webLayer->bounds().height) | 114 .setHeight(webLayer->bounds().height) |
85 .setPaintCount(graphicsLayer->paintCount()); | 115 .setPaintCount(graphicsLayer->paintCount()); |
(...skipping 14 matching lines...) Expand all Loading... | |
100 transform.toColumnMajorFloatArray(flattenedMatrix); | 130 transform.toColumnMajorFloatArray(flattenedMatrix); |
101 RefPtr<TypeBuilder::Array<double> > transformArray = TypeBuilder::Array< double>::create(); | 131 RefPtr<TypeBuilder::Array<double> > transformArray = TypeBuilder::Array< double>::create(); |
102 for (size_t i = 0; i < WTF_ARRAY_LENGTH(flattenedMatrix); ++i) | 132 for (size_t i = 0; i < WTF_ARRAY_LENGTH(flattenedMatrix); ++i) |
103 transformArray->addItem(flattenedMatrix[i]); | 133 transformArray->addItem(flattenedMatrix[i]); |
104 layerObject->setTransform(transformArray); | 134 layerObject->setTransform(transformArray); |
105 const FloatPoint3D& anchor = graphicsLayer->anchorPoint(); | 135 const FloatPoint3D& anchor = graphicsLayer->anchorPoint(); |
106 layerObject->setAnchorX(anchor.x()); | 136 layerObject->setAnchorX(anchor.x()); |
107 layerObject->setAnchorY(anchor.y()); | 137 layerObject->setAnchorY(anchor.y()); |
108 layerObject->setAnchorZ(anchor.z()); | 138 layerObject->setAnchorZ(anchor.z()); |
109 } | 139 } |
140 RefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::ScrollRect> > scrollRects = | |
141 buildScrollRectsForLayer(graphicsLayer); | |
142 if (scrollRects) | |
143 layerObject->setScrollRects(scrollRects); | |
pfeldman
2014/03/04 09:45:59
ditto
malch
2014/03/07 12:42:07
Done.
| |
110 return layerObject; | 144 return layerObject; |
111 } | 145 } |
112 | 146 |
113 InspectorLayerTreeAgent::InspectorLayerTreeAgent(InspectorDOMAgent* domAgent, Pa ge* page) | 147 InspectorLayerTreeAgent::InspectorLayerTreeAgent(InspectorDOMAgent* domAgent, Pa ge* page) |
114 : InspectorBaseAgent<InspectorLayerTreeAgent>("LayerTree") | 148 : InspectorBaseAgent<InspectorLayerTreeAgent>("LayerTree") |
115 , m_frontend(0) | 149 , m_frontend(0) |
116 , m_page(page) | 150 , m_page(page) |
117 , m_domAgent(domAgent) | 151 , m_domAgent(domAgent) |
118 { | 152 { |
119 } | 153 } |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
353 void InspectorLayerTreeAgent::didRemovePageOverlay(const GraphicsLayer* layer) | 387 void InspectorLayerTreeAgent::didRemovePageOverlay(const GraphicsLayer* layer) |
354 { | 388 { |
355 size_t index = m_pageOverlayLayerIds.find(layer->platformLayer()->id()); | 389 size_t index = m_pageOverlayLayerIds.find(layer->platformLayer()->id()); |
356 if (index == WTF::kNotFound) | 390 if (index == WTF::kNotFound) |
357 return; | 391 return; |
358 m_pageOverlayLayerIds.remove(index); | 392 m_pageOverlayLayerIds.remove(index); |
359 } | 393 } |
360 | 394 |
361 | 395 |
362 } // namespace WebCore | 396 } // namespace WebCore |
OLD | NEW |