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

Side by Side Diff: Source/core/editing/ApplyStyleCommand.cpp

Issue 1164573002: CSSValue Immediates: Change CSSValue to an object instead of a pointer (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 5 years, 4 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 unified diff | Download patch
« no previous file with comments | « Source/core/dom/TextLinkColors.cpp ('k') | Source/core/editing/EditingStyle.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2005, 2006, 2008, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2005, 2006, 2008, 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 element = span.release(); 407 element = span.release();
408 } else { 408 } else {
409 // Only handle HTML elements and text nodes. 409 // Only handle HTML elements and text nodes.
410 continue; 410 continue;
411 } 411 }
412 lastStyledNode = node; 412 lastStyledNode = node;
413 413
414 RefPtrWillBeRawPtr<MutableStylePropertySet> inlineStyle = copyStyleOrCre ateEmpty(element->inlineStyle()); 414 RefPtrWillBeRawPtr<MutableStylePropertySet> inlineStyle = copyStyleOrCre ateEmpty(element->inlineStyle());
415 float currentFontSize = computedFontSize(node); 415 float currentFontSize = computedFontSize(node);
416 float desiredFontSize = max(MinimumFontSize, startingFontSizes.get(node) + style->fontSizeDelta()); 416 float desiredFontSize = max(MinimumFontSize, startingFontSizes.get(node) + style->fontSizeDelta());
417 RefPtrWillBeRawPtr<CSSValue> value = inlineStyle->getPropertyCSSValue(CS SPropertyFontSize); 417 NullableCSSValue value = inlineStyle->getPropertyCSSValue(CSSPropertyFon tSize);
418 if (value) { 418 if (value) {
419 element->removeInlineStyleProperty(CSSPropertyFontSize); 419 element->removeInlineStyleProperty(CSSPropertyFontSize);
420 currentFontSize = computedFontSize(node); 420 currentFontSize = computedFontSize(node);
421 } 421 }
422 if (currentFontSize != desiredFontSize) { 422 if (currentFontSize != desiredFontSize) {
423 inlineStyle->setProperty(CSSPropertyFontSize, cssValuePool().createV alue(desiredFontSize, CSSPrimitiveValue::CSS_PX), false); 423 inlineStyle->setProperty(CSSPropertyFontSize, cssValuePool().createV alue(desiredFontSize, CSSPrimitiveValue::CSS_PX), false);
424 setNodeAttribute(element.get(), styleAttr, AtomicString(inlineStyle- >asText())); 424 setNodeAttribute(element.get(), styleAttr, AtomicString(inlineStyle- >asText()));
425 } 425 }
426 if (inlineStyle->isEmpty()) { 426 if (inlineStyle->isEmpty()) {
427 removeElementAttribute(element.get(), styleAttr); 427 removeElementAttribute(element.get(), styleAttr);
(...skipping 1109 matching lines...) Expand 10 before | Expand all | Expand 10 after
1537 1537
1538 float ApplyStyleCommand::computedFontSize(Node* node) 1538 float ApplyStyleCommand::computedFontSize(Node* node)
1539 { 1539 {
1540 if (!node) 1540 if (!node)
1541 return 0; 1541 return 0;
1542 1542
1543 RefPtrWillBeRawPtr<CSSComputedStyleDeclaration> style = CSSComputedStyleDecl aration::create(node); 1543 RefPtrWillBeRawPtr<CSSComputedStyleDeclaration> style = CSSComputedStyleDecl aration::create(node);
1544 if (!style) 1544 if (!style)
1545 return 0; 1545 return 0;
1546 1546
1547 RefPtrWillBeRawPtr<CSSPrimitiveValue> value = static_pointer_cast<CSSPrimiti veValue>(style->getPropertyCSSValue(CSSPropertyFontSize)); 1547 NullableCSSValue value = style->getPropertyCSSValue(CSSPropertyFontSize);
1548 if (!value) 1548 if (!value)
1549 return 0; 1549 return 0;
1550 1550
1551 ASSERT(value->primitiveType() == CSSPrimitiveValue::CSS_PX); 1551 CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(*value);
1552 return value->getFloatValue(); 1552 ASSERT(primitiveValue.primitiveType() == CSSPrimitiveValue::CSS_PX);
1553 return primitiveValue.getFloatValue();
1553 } 1554 }
1554 1555
1555 void ApplyStyleCommand::joinChildTextNodes(ContainerNode* node, const Position& start, const Position& end) 1556 void ApplyStyleCommand::joinChildTextNodes(ContainerNode* node, const Position& start, const Position& end)
1556 { 1557 {
1557 if (!node) 1558 if (!node)
1558 return; 1559 return;
1559 1560
1560 Position newStart = start; 1561 Position newStart = start;
1561 Position newEnd = end; 1562 Position newEnd = end;
1562 1563
(...skipping 28 matching lines...) Expand all
1591 DEFINE_TRACE(ApplyStyleCommand) 1592 DEFINE_TRACE(ApplyStyleCommand)
1592 { 1593 {
1593 visitor->trace(m_style); 1594 visitor->trace(m_style);
1594 visitor->trace(m_start); 1595 visitor->trace(m_start);
1595 visitor->trace(m_end); 1596 visitor->trace(m_end);
1596 visitor->trace(m_styledInlineElement); 1597 visitor->trace(m_styledInlineElement);
1597 CompositeEditCommand::trace(visitor); 1598 CompositeEditCommand::trace(visitor);
1598 } 1599 }
1599 1600
1600 } 1601 }
OLDNEW
« no previous file with comments | « Source/core/dom/TextLinkColors.cpp ('k') | Source/core/editing/EditingStyle.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698