OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009 Apple Inc. All rights reserved. |
3 * Copyright (C) 2011 Google Inc. All rights reserved. | 3 * Copyright (C) 2011 Google Inc. All rights reserved. |
4 * Copyright (C) 2009 Joseph Pecoraro | 4 * Copyright (C) 2009 Joseph Pecoraro |
5 * | 5 * |
6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
8 * are met: | 8 * are met: |
9 * | 9 * |
10 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
(...skipping 1367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1378 return array.release(); | 1378 return array.release(); |
1379 } | 1379 } |
1380 | 1380 |
1381 void InspectorDOMAgent::getBoxModel(ErrorString* errorString, int nodeId, RefPtr
<TypeBuilder::DOM::BoxModel>& model) | 1381 void InspectorDOMAgent::getBoxModel(ErrorString* errorString, int nodeId, RefPtr
<TypeBuilder::DOM::BoxModel>& model) |
1382 { | 1382 { |
1383 Node* node = assertNode(errorString, nodeId); | 1383 Node* node = assertNode(errorString, nodeId); |
1384 if (!node) | 1384 if (!node) |
1385 return; | 1385 return; |
1386 | 1386 |
1387 Vector<FloatQuad> quads; | 1387 Vector<FloatQuad> quads; |
1388 bool isInlineOrBox = m_overlay->getBoxModel(node, &quads); | 1388 String shapeOutsideInfo; |
| 1389 bool isInlineOrBox = m_overlay->getBoxModel(node, &quads, shapeOutsideInfo); |
1389 if (!isInlineOrBox) { | 1390 if (!isInlineOrBox) { |
1390 *errorString = "Could not compute box model."; | 1391 *errorString = "Could not compute box model."; |
1391 return; | 1392 return; |
1392 } | 1393 } |
1393 | 1394 |
1394 RenderObject* renderer = node->renderer(); | 1395 RenderObject* renderer = node->renderer(); |
1395 LocalFrame* frame = node->document().frame(); | 1396 LocalFrame* frame = node->document().frame(); |
1396 FrameView* view = frame->view(); | 1397 FrameView* view = frame->view(); |
1397 | 1398 |
1398 IntRect boundingBox = pixelSnappedIntRect(view->contentsToRootView(renderer-
>absoluteBoundingBoxRect())); | 1399 IntRect boundingBox = pixelSnappedIntRect(view->contentsToRootView(renderer-
>absoluteBoundingBoxRect())); |
1399 RenderBoxModelObject* modelObject = renderer->isBoxModelObject() ? toRenderB
oxModelObject(renderer) : 0; | 1400 RenderBoxModelObject* modelObject = renderer->isBoxModelObject() ? toRenderB
oxModelObject(renderer) : 0; |
1400 | 1401 |
1401 model = TypeBuilder::DOM::BoxModel::create() | 1402 model = TypeBuilder::DOM::BoxModel::create() |
1402 .setContent(buildArrayForQuad(quads.at(3))) | 1403 .setContent(buildArrayForQuad(quads.at(3))) |
1403 .setPadding(buildArrayForQuad(quads.at(2))) | 1404 .setPadding(buildArrayForQuad(quads.at(2))) |
1404 .setBorder(buildArrayForQuad(quads.at(1))) | 1405 .setBorder(buildArrayForQuad(quads.at(1))) |
1405 .setMargin(buildArrayForQuad(quads.at(0))) | 1406 .setMargin(buildArrayForQuad(quads.at(0))) |
1406 .setWidth(modelObject ? adjustForAbsoluteZoom(modelObject->pixelSnappedO
ffsetWidth(), modelObject) : boundingBox.width()) | 1407 .setWidth(modelObject ? adjustForAbsoluteZoom(modelObject->pixelSnappedO
ffsetWidth(), modelObject) : boundingBox.width()) |
1407 .setHeight(modelObject ? adjustForAbsoluteZoom(modelObject->pixelSnapped
OffsetHeight(), modelObject) : boundingBox.height()); | 1408 .setHeight(modelObject ? adjustForAbsoluteZoom(modelObject->pixelSnapped
OffsetHeight(), modelObject) : boundingBox.height()) |
| 1409 .setShapeOutside(shapeOutsideInfo); |
1408 } | 1410 } |
1409 | 1411 |
1410 void InspectorDOMAgent::getNodeForLocation(ErrorString* errorString, int x, int
y, int* nodeId) | 1412 void InspectorDOMAgent::getNodeForLocation(ErrorString* errorString, int x, int
y, int* nodeId) |
1411 { | 1413 { |
1412 if (!pushDocumentUponHandlelessOperation(errorString)) | 1414 if (!pushDocumentUponHandlelessOperation(errorString)) |
1413 return; | 1415 return; |
1414 | 1416 |
1415 Node* node = hoveredNodeForPoint(m_document->frame(), IntPoint(x, y), false)
; | 1417 Node* node = hoveredNodeForPoint(m_document->frame(), IntPoint(x, y), false)
; |
1416 if (!node) { | 1418 if (!node) { |
1417 *errorString = "No node found at given location"; | 1419 *errorString = "No node found at given location"; |
(...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2102 if (!m_documentNodeToIdMap.contains(m_document)) { | 2104 if (!m_documentNodeToIdMap.contains(m_document)) { |
2103 RefPtr<TypeBuilder::DOM::Node> root; | 2105 RefPtr<TypeBuilder::DOM::Node> root; |
2104 getDocument(errorString, root); | 2106 getDocument(errorString, root); |
2105 return errorString->isEmpty(); | 2107 return errorString->isEmpty(); |
2106 } | 2108 } |
2107 return true; | 2109 return true; |
2108 } | 2110 } |
2109 | 2111 |
2110 } // namespace WebCore | 2112 } // namespace WebCore |
2111 | 2113 |
OLD | NEW |