OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2008 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 30 matching lines...) Expand all Loading... |
41 using namespace HTMLNames; | 41 using namespace HTMLNames; |
42 | 42 |
43 static bool isHTMLListOrBlockquoteElement(const Node* node) | 43 static bool isHTMLListOrBlockquoteElement(const Node* node) |
44 { | 44 { |
45 if (!node || !node->isHTMLElement()) | 45 if (!node || !node->isHTMLElement()) |
46 return false; | 46 return false; |
47 const HTMLElement& element = toHTMLElement(*node); | 47 const HTMLElement& element = toHTMLElement(*node); |
48 return isHTMLUListElement(element) || isHTMLOListElement(element) || element
.hasTagName(blockquoteTag); | 48 return isHTMLUListElement(element) || isHTMLOListElement(element) || element
.hasTagName(blockquoteTag); |
49 } | 49 } |
50 | 50 |
| 51 static bool isInline(const Node* node) |
| 52 { |
| 53 return node && node->layoutObject() && node->layoutObject()->isInline(); |
| 54 } |
| 55 |
| 56 |
51 IndentOutdentCommand::IndentOutdentCommand(Document& document, EIndentType typeO
fAction) | 57 IndentOutdentCommand::IndentOutdentCommand(Document& document, EIndentType typeO
fAction) |
52 : ApplyBlockElementCommand(document, blockquoteTag, "margin: 0 0 0 40px; bor
der: none; padding: 0px;") | 58 : ApplyBlockElementCommand(document, blockquoteTag, "margin: 0 0 0 40px; bor
der: none; padding: 0px;") |
53 , m_typeOfAction(typeOfAction) | 59 , m_typeOfAction(typeOfAction) |
54 { | 60 { |
55 } | 61 } |
56 | 62 |
57 bool IndentOutdentCommand::tryIndentingAsListItem(const Position& start, const P
osition& end) | 63 bool IndentOutdentCommand::tryIndentingAsListItem(const Position& start, const P
osition& end) |
58 { | 64 { |
59 // If our selection is not inside a list, bail out. | 65 // If our selection is not inside a list, bail out. |
60 RefPtrWillBeRawPtr<Node> lastNodeInSelectedParagraph = start.anchorNode(); | 66 RefPtrWillBeRawPtr<Node> lastNodeInSelectedParagraph = start.anchorNode(); |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 | 255 |
250 void IndentOutdentCommand::formatRange(const Position& start, const Position& en
d, const Position&, RefPtrWillBeRawPtr<HTMLElement>& blockquoteForNextIndent) | 256 void IndentOutdentCommand::formatRange(const Position& start, const Position& en
d, const Position&, RefPtrWillBeRawPtr<HTMLElement>& blockquoteForNextIndent) |
251 { | 257 { |
252 if (tryIndentingAsListItem(start, end)) | 258 if (tryIndentingAsListItem(start, end)) |
253 blockquoteForNextIndent = nullptr; | 259 blockquoteForNextIndent = nullptr; |
254 else | 260 else |
255 indentIntoBlockquote(start, end, blockquoteForNextIndent); | 261 indentIntoBlockquote(start, end, blockquoteForNextIndent); |
256 } | 262 } |
257 | 263 |
258 } | 264 } |
OLD | NEW |