Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(546)

Unified Diff: Source/core/inspector/LayoutEditor.cpp

Issue 1212373003: Devtools [LayouEditor]: Show label with size info (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: show while dragging Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/inspector/LayoutEditor.cpp
diff --git a/Source/core/inspector/LayoutEditor.cpp b/Source/core/inspector/LayoutEditor.cpp
index 49ad5c28db9bf9d9c6c66fbe9d433e3a27375a76..3efa1c44b0ce81d872f6bbed675a279dea8e1063 100644
--- a/Source/core/inspector/LayoutEditor.cpp
+++ b/Source/core/inspector/LayoutEditor.cpp
@@ -18,7 +18,7 @@ namespace blink {
namespace {
-PassRefPtr<JSONObject> createAnchor(float x, float y, const String& propertyName, FloatPoint deltaVector)
+PassRefPtr<JSONObject> createAnchor(float x, float y, const String& propertyName, FloatPoint deltaVector, PassRefPtr<JSONObject> valueDescription)
{
RefPtr<JSONObject> object = JSONObject::create();
object->setNumber("x", x);
@@ -29,7 +29,7 @@ PassRefPtr<JSONObject> createAnchor(float x, float y, const String& propertyName
deltaVectorJSON->setNumber("x", deltaVector.x());
deltaVectorJSON->setNumber("y", deltaVector.y());
object->setObject("deltaVector", deltaVectorJSON.release());
-
+ object->setObject("value", valueDescription);
return object.release();
}
@@ -120,10 +120,38 @@ PassRefPtr<JSONObject> LayoutEditor::buildJSONInfo() const
RefPtr<JSONObject> object = JSONObject::create();
RefPtr<JSONArray> anchors = JSONArray::create();
- anchors->pushObject(createAnchor(xLeft, yLeft, "padding-left", orthoLeft));
- anchors->pushObject(createAnchor(xRight, yRight, "padding-right", orthoRight));
+
+ RefPtr<JSONObject> paddingLeftDescription = createValueDescription("padding-left");
+ if (paddingLeftDescription)
+ anchors->pushObject(createAnchor(xLeft, yLeft, "padding-left", orthoLeft, paddingLeftDescription.release()));
+
+ RefPtr<JSONObject> paddingRightDescription = createValueDescription("padding-right");
+ if (paddingRightDescription)
+ anchors->pushObject(createAnchor(xRight, yRight, "padding-right", orthoRight, paddingRightDescription.release()));
+
object->setArray("anchors", anchors.release());
+ return object.release();
+}
+RefPtrWillBeRawPtr<CSSPrimitiveValue> LayoutEditor::getPropertyCSSValue(CSSPropertyID property) const
+{
+ RefPtrWillBeRawPtr<CSSComputedStyleDeclaration> computedStyleInfo = CSSComputedStyleDeclaration::create(m_node, true);
+ RefPtrWillBeRawPtr<CSSValue> cssValue = computedStyleInfo->getPropertyCSSValue(property);
+ if (!cssValue->isPrimitiveValue())
+ return nullptr;
+
+ return toCSSPrimitiveValue(cssValue.get());
+}
+
+PassRefPtr<JSONObject> LayoutEditor::createValueDescription(const String& propertyName) const
+{
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> cssValue = getPropertyCSSValue(cssPropertyID(propertyName));
+ if (!cssValue)
+ return nullptr;
+
+ RefPtr<JSONObject> object = JSONObject::create();
+ object->setNumber("value", cssValue->getFloatValue());
+ object->setString("dimension", "px");
dgozman 2015/06/29 15:18:35 unit
sergeyv 2015/06/29 16:30:33 Done.
return object.release();
}
@@ -133,14 +161,13 @@ void LayoutEditor::overlayStartedPropertyChange(const String& anchorName)
if (!m_node || !m_changingProperty)
return;
- RefPtrWillBeRawPtr<CSSComputedStyleDeclaration> computedStyleInfo = CSSComputedStyleDeclaration::create(m_node, true);
- RefPtrWillBeRawPtr<CSSValue> cssValue = computedStyleInfo->getPropertyCSSValue(m_changingProperty);
- if (!cssValue->isPrimitiveValue()) {
+ RefPtrWillBeRawPtr<CSSPrimitiveValue> cssValue = getPropertyCSSValue(m_changingProperty);
+ if (!cssValue) {
m_changingProperty = CSSPropertyInvalid;
return;
}
- m_propertyInitialValue = toCSSPrimitiveValue(cssValue.get())->getFloatValue();
+ m_propertyInitialValue = cssValue->getFloatValue();
}
void LayoutEditor::overlayPropertyChanged(float cssDelta)
« Source/core/inspector/InspectorOverlayPage.html ('K') | « Source/core/inspector/LayoutEditor.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698