OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007, 2008, 2009 Apple Computer, Inc. | 2 * Copyright (C) 2007, 2008, 2009 Apple Computer, Inc. |
3 * Copyright (C) 2010, 2011 Google Inc. All rights reserved. | 3 * Copyright (C) 2010, 2011 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 | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 1320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1331 if (!element) | 1331 if (!element) |
1332 return nullptr; | 1332 return nullptr; |
1333 | 1333 |
1334 RefPtrWillBeRawPtr<EditingStyle> style = EditingStyle::create(element, Editi
ngStyle::AllProperties); | 1334 RefPtrWillBeRawPtr<EditingStyle> style = EditingStyle::create(element, Editi
ngStyle::AllProperties); |
1335 style->mergeTypingStyle(&element->document()); | 1335 style->mergeTypingStyle(&element->document()); |
1336 | 1336 |
1337 // If background color is transparent, traverse parent nodes until we hit a
different value or document root | 1337 // If background color is transparent, traverse parent nodes until we hit a
different value or document root |
1338 // Also, if the selection is a range, ignore the background color at the sta
rt of selection, | 1338 // Also, if the selection is a range, ignore the background color at the sta
rt of selection, |
1339 // and find the background color of the common ancestor. | 1339 // and find the background color of the common ancestor. |
1340 if (shouldUseBackgroundColorInEffect && (selection.isRange() || hasTranspare
ntBackgroundColor(style->m_mutableStyle.get()))) { | 1340 if (shouldUseBackgroundColorInEffect && (selection.isRange() || hasTranspare
ntBackgroundColor(style->m_mutableStyle.get()))) { |
1341 RefPtrWillBeRawPtr<Range> range(selection.toNormalizedRange()); | 1341 const EphemeralRange range(selection.toNormalizedEphemeralRange()); |
1342 if (PassRefPtrWillBeRawPtr<CSSValue> value = backgroundColorInEffect(ran
ge->commonAncestorContainer())) | 1342 if (PassRefPtrWillBeRawPtr<CSSValue> value = backgroundColorInEffect(Ran
ge::commonAncestorContainer(range.startPosition().computeContainerNode(), range.
endPosition().computeContainerNode()))) |
1343 style->setProperty(CSSPropertyBackgroundColor, value->cssText()); | 1343 style->setProperty(CSSPropertyBackgroundColor, value->cssText()); |
1344 } | 1344 } |
1345 | 1345 |
1346 return style; | 1346 return style; |
1347 } | 1347 } |
1348 | 1348 |
1349 WritingDirection EditingStyle::textDirectionForSelection(const VisibleSelection&
selection, EditingStyle* typingStyle, bool& hasNestedOrMultipleEmbeddings) | 1349 WritingDirection EditingStyle::textDirectionForSelection(const VisibleSelection&
selection, EditingStyle* typingStyle, bool& hasNestedOrMultipleEmbeddings) |
1350 { | 1350 { |
1351 hasNestedOrMultipleEmbeddings = true; | 1351 hasNestedOrMultipleEmbeddings = true; |
1352 | 1352 |
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1718 { | 1718 { |
1719 for (Node* ancestor = node; ancestor; ancestor = ancestor->parentNode()) { | 1719 for (Node* ancestor = node; ancestor; ancestor = ancestor->parentNode()) { |
1720 RefPtrWillBeRawPtr<CSSComputedStyleDeclaration> ancestorStyle = CSSCompu
tedStyleDeclaration::create(ancestor); | 1720 RefPtrWillBeRawPtr<CSSComputedStyleDeclaration> ancestorStyle = CSSCompu
tedStyleDeclaration::create(ancestor); |
1721 if (!hasTransparentBackgroundColor(ancestorStyle.get())) | 1721 if (!hasTransparentBackgroundColor(ancestorStyle.get())) |
1722 return ancestorStyle->getPropertyCSSValue(CSSPropertyBackgroundColor
); | 1722 return ancestorStyle->getPropertyCSSValue(CSSPropertyBackgroundColor
); |
1723 } | 1723 } |
1724 return nullptr; | 1724 return nullptr; |
1725 } | 1725 } |
1726 | 1726 |
1727 } | 1727 } |
OLD | NEW |