Changeset 238894 in webkit
- Timestamp:
- Dec 5, 2018 9:51:03 AM (5 years ago)
- Location:
- trunk/Source
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r238892 r238894 1 2018-12-05 Wenson Hsieh <wenson_hsieh@apple.com> 2 3 Turn WritingDirection into an enum class 4 https://bugs.webkit.org/show_bug.cgi?id=192401 5 Work towards <rdar://problem/42075638> 6 7 Reviewed by Dan Bernstein. 8 9 Change WritingDirection from an enum to an enum class. No change in behavior. 10 11 * editing/ApplyStyleCommand.cpp: 12 (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): 13 (WebCore::ApplyStyleCommand::applyInlineStyle): 14 * editing/EditingStyle.cpp: 15 (WebCore::EditingStyle::textDirection const): 16 (WebCore::EditingStyle::textDirectionForSelection): 17 * editing/Editor.cpp: 18 (WebCore::Editor::setBaseWritingDirection): 19 (WebCore::Editor::baseWritingDirectionForSelectionStart const): 20 * editing/EditorCommand.cpp: 21 (WebCore::stateTextWritingDirectionLeftToRight): 22 (WebCore::stateTextWritingDirectionNatural): 23 (WebCore::stateTextWritingDirectionRightToLeft): 24 * editing/WritingDirection.h: 25 26 Additionally wrap this enum in `namespace WebCore`, and update the copyright year. 27 28 * editing/ios/EditorIOS.mm: 29 (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection): 30 * page/ContextMenuController.cpp: 31 (WebCore::ContextMenuController::contextMenuItemSelected): 32 * testing/Internals.cpp: 33 (WebCore::Internals::setBaseWritingDirection): 34 1 35 2018-12-05 Alicia Boya García <aboya@igalia.com> 2 36 -
trunk/Source/WebCore/editing/ApplyStyleCommand.cpp
r234116 r238894 485 485 486 486 WritingDirection highestAncestorDirection; 487 if (allowedDirection != NaturalWritingDirection487 if (allowedDirection != WritingDirection::Natural 488 488 && highestAncestorUnicodeBidi != CSSValueBidiOverride 489 489 && is<HTMLElement>(*highestAncestorWithUnicodeBidi) … … 615 615 // <rdar://problem/3724344> Bolding and unbolding creates extraneous tags 616 616 Position removeStart = start.upstream(); 617 WritingDirection textDirection = NaturalWritingDirection;617 WritingDirection textDirection = WritingDirection::Natural; 618 618 bool hasTextDirection = style.textDirection(textDirection); 619 619 RefPtr<EditingStyle> styleWithoutEmbedding; -
trunk/Source/WebCore/editing/EditingStyle.cpp
r238212 r238894 568 568 return false; 569 569 570 writingDirection = downcast<CSSPrimitiveValue>(*direction).valueID() == CSSValueLtr ? LeftToRightWritingDirection : RightToLeftWritingDirection;570 writingDirection = downcast<CSSPrimitiveValue>(*direction).valueID() == CSSValueLtr ? WritingDirection::LeftToRight : WritingDirection::RightToLeft; 571 571 572 572 return true; … … 574 574 575 575 if (unicodeBidiValue == CSSValueNormal) { 576 writingDirection = NaturalWritingDirection;576 writingDirection = WritingDirection::Natural; 577 577 return true; 578 578 } … … 1469 1469 1470 1470 if (selection.isNone()) 1471 return NaturalWritingDirection;1471 return WritingDirection::Natural; 1472 1472 1473 1473 Position position = selection.start().downstream(); … … 1475 1475 Node* node = position.deprecatedNode(); 1476 1476 if (!node) 1477 return NaturalWritingDirection;1477 return WritingDirection::Natural; 1478 1478 1479 1479 Position end; … … 1492 1492 CSSValueID unicodeBidiValue = downcast<CSSPrimitiveValue>(*unicodeBidi).valueID(); 1493 1493 if (unicodeBidiValue == CSSValueEmbed || unicodeBidiValue == CSSValueBidiOverride) 1494 return NaturalWritingDirection;1494 return WritingDirection::Natural; 1495 1495 } 1496 1496 } … … 1508 1508 // to decide. 1509 1509 Node* block = enclosingBlock(node); 1510 WritingDirection foundDirection = NaturalWritingDirection;1510 auto foundDirection = WritingDirection::Natural; 1511 1511 1512 1512 for (; node != block; node = node->parentNode()) { … … 1524 1524 1525 1525 if (unicodeBidiValue == CSSValueBidiOverride) 1526 return NaturalWritingDirection;1526 return WritingDirection::Natural; 1527 1527 1528 1528 ASSERT(unicodeBidiValue == CSSValueEmbed); … … 1535 1535 continue; 1536 1536 1537 if (foundDirection != NaturalWritingDirection)1538 return NaturalWritingDirection;1537 if (foundDirection != WritingDirection::Natural) 1538 return WritingDirection::Natural; 1539 1539 1540 1540 // In the range case, make sure that the embedding element persists until the end of the range. 1541 1541 if (selection.isRange() && !end.deprecatedNode()->isDescendantOf(*node)) 1542 return NaturalWritingDirection;1542 return WritingDirection::Natural; 1543 1543 1544 foundDirection = directionValue == CSSValueLtr ? LeftToRightWritingDirection : RightToLeftWritingDirection;1544 foundDirection = directionValue == CSSValueLtr ? WritingDirection::LeftToRight : WritingDirection::RightToLeft; 1545 1545 } 1546 1546 hasNestedOrMultipleEmbeddings = false; -
trunk/Source/WebCore/editing/Editor.cpp
r238771 r238894 1781 1781 Element* focusedElement = document().focusedElement(); 1782 1782 if (focusedElement && focusedElement->isTextField()) { 1783 if (direction == NaturalWritingDirection)1783 if (direction == WritingDirection::Natural) 1784 1784 return; 1785 1785 1786 1786 auto& focusedFormElement = downcast<HTMLTextFormControlElement>(*focusedElement); 1787 auto directionValue = direction == LeftToRightWritingDirection? "ltr" : "rtl";1787 auto directionValue = direction == WritingDirection::LeftToRight ? "ltr" : "rtl"; 1788 1788 auto writingDirectionInputTypeName = inputTypeNameForEditingAction(EditAction::SetWritingDirection); 1789 1789 if (!dispatchBeforeInputEvent(focusedFormElement, writingDirectionInputTypeName, directionValue)) … … 1797 1797 1798 1798 RefPtr<MutableStyleProperties> style = MutableStyleProperties::create(); 1799 style->setProperty(CSSPropertyDirection, direction == LeftToRightWritingDirection ? "ltr" : direction == RightToLeftWritingDirection? "rtl" : "inherit", false);1799 style->setProperty(CSSPropertyDirection, direction == WritingDirection::LeftToRight ? "ltr" : direction == WritingDirection::RightToLeft ? "rtl" : "inherit", false); 1800 1800 applyParagraphStyleToSelection(style.get(), EditAction::SetWritingDirection); 1801 1801 } … … 1803 1803 WritingDirection Editor::baseWritingDirectionForSelectionStart() const 1804 1804 { 1805 WritingDirection result = LeftToRightWritingDirection;1805 auto result = WritingDirection::LeftToRight; 1806 1806 1807 1807 Position pos = m_frame.selection().selection().visibleStart().deepEquivalent(); … … 1822 1822 switch (renderer->style().direction()) { 1823 1823 case TextDirection::LTR: 1824 return LeftToRightWritingDirection;1824 return WritingDirection::LeftToRight; 1825 1825 case TextDirection::RTL: 1826 return RightToLeftWritingDirection;1826 return WritingDirection::RightToLeft; 1827 1827 } 1828 1828 -
trunk/Source/WebCore/editing/EditorCommand.cpp
r238475 r238894 1431 1431 static TriState stateTextWritingDirectionLeftToRight(Frame& frame, Event*) 1432 1432 { 1433 return stateTextWritingDirection(frame, LeftToRightWritingDirection);1433 return stateTextWritingDirection(frame, WritingDirection::LeftToRight); 1434 1434 } 1435 1435 1436 1436 static TriState stateTextWritingDirectionNatural(Frame& frame, Event*) 1437 1437 { 1438 return stateTextWritingDirection(frame, NaturalWritingDirection);1438 return stateTextWritingDirection(frame, WritingDirection::Natural); 1439 1439 } 1440 1440 1441 1441 static TriState stateTextWritingDirectionRightToLeft(Frame& frame, Event*) 1442 1442 { 1443 return stateTextWritingDirection(frame, RightToLeftWritingDirection);1443 return stateTextWritingDirection(frame, WritingDirection::RightToLeft); 1444 1444 } 1445 1445 -
trunk/Source/WebCore/editing/WritingDirection.h
r165676 r238894 1 1 /* 2 * Copyright (C) 2008 Apple Inc. All rights reserved.2 * Copyright (C) 2008-2018 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 24 24 */ 25 25 26 #ifndef WritingDirection_h 27 #define WritingDirection_h 26 #pragma once 28 27 29 enum WritingDirection { NaturalWritingDirection, LeftToRightWritingDirection, RightToLeftWritingDirection }; 28 #include <wtf/Forward.h> 30 29 31 #endif 30 namespace WebCore { 31 32 enum class WritingDirection : uint8_t { 33 Natural, 34 LeftToRight, 35 RightToLeft 36 }; 37 38 } // namespace WebCore 39 40 namespace WTF { 41 42 template<> struct EnumTraits<WebCore::WritingDirection> { 43 using values = EnumValues< 44 WebCore::WritingDirection, 45 WebCore::WritingDirection::Natural, 46 WebCore::WritingDirection::LeftToRight, 47 WebCore::WritingDirection::RightToLeft 48 >; 49 }; 50 51 } // namespace WTF -
trunk/Source/WebCore/editing/ios/EditorIOS.mm
r237266 r238894 98 98 case TextAlignMode::End: { 99 99 switch (direction) { 100 case NaturalWritingDirection:100 case WritingDirection::Natural: 101 101 // no-op 102 102 break; 103 case LeftToRightWritingDirection:103 case WritingDirection::LeftToRight: 104 104 newValue = "left"; 105 105 break; 106 case RightToLeftWritingDirection:106 case WritingDirection::RightToLeft: 107 107 newValue = "right"; 108 108 break; … … 132 132 && (downcast<HTMLInputElement>(*focusedElement).isTextField() 133 133 || downcast<HTMLInputElement>(*focusedElement).isSearchField())))) { 134 if (direction == NaturalWritingDirection)134 if (direction == WritingDirection::Natural) 135 135 return; 136 136 downcast<HTMLElement>(*focusedElement).setAttributeWithoutSynchronization(alignAttr, newValue); -
trunk/Source/WebCore/page/ContextMenuController.cpp
r238771 r238894 430 430 break; 431 431 case ContextMenuItemTagDefaultDirection: 432 frame->editor().setBaseWritingDirection( NaturalWritingDirection);432 frame->editor().setBaseWritingDirection(WritingDirection::Natural); 433 433 break; 434 434 case ContextMenuItemTagLeftToRight: 435 frame->editor().setBaseWritingDirection( LeftToRightWritingDirection);435 frame->editor().setBaseWritingDirection(WritingDirection::LeftToRight); 436 436 break; 437 437 case ContextMenuItemTagRightToLeft: 438 frame->editor().setBaseWritingDirection( RightToLeftWritingDirection);438 frame->editor().setBaseWritingDirection(WritingDirection::RightToLeft); 439 439 break; 440 440 case ContextMenuItemTagTextDirectionDefault: -
trunk/Source/WebCore/testing/Internals.cpp
r238874 r238894 4355 4355 switch (direction) { 4356 4356 case BaseWritingDirection::Ltr: 4357 frame->editor().setBaseWritingDirection( LeftToRightWritingDirection);4357 frame->editor().setBaseWritingDirection(WritingDirection::LeftToRight); 4358 4358 break; 4359 4359 case BaseWritingDirection::Rtl: 4360 frame->editor().setBaseWritingDirection( RightToLeftWritingDirection);4360 frame->editor().setBaseWritingDirection(WritingDirection::RightToLeft); 4361 4361 break; 4362 4362 case BaseWritingDirection::Natural: 4363 frame->editor().setBaseWritingDirection( NaturalWritingDirection);4363 frame->editor().setBaseWritingDirection(WritingDirection::Natural); 4364 4364 break; 4365 4365 } -
trunk/Source/WebKit/ChangeLog
r238891 r238894 1 2018-12-05 Wenson Hsieh <wenson_hsieh@apple.com> 2 3 Turn WritingDirection into an enum class 4 https://bugs.webkit.org/show_bug.cgi?id=192401 5 Work towards <rdar://problem/42075638> 6 7 Reviewed by Dan Bernstein. 8 9 Change WritingDirection from an enum to an enum class. No change in behavior. 10 11 * WebProcess/WebPage/WebFrame.cpp: 12 (WebKit::WebFrame::setTextDirection): 13 1 14 2018-12-05 Rob Buis <rbuis@igalia.com> 2 15 -
trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp
r238771 r238894 803 803 804 804 if (direction == "auto") 805 m_coreFrame->editor().setBaseWritingDirection( NaturalWritingDirection);805 m_coreFrame->editor().setBaseWritingDirection(WritingDirection::Natural); 806 806 else if (direction == "ltr") 807 m_coreFrame->editor().setBaseWritingDirection( LeftToRightWritingDirection);807 m_coreFrame->editor().setBaseWritingDirection(WritingDirection::LeftToRight); 808 808 else if (direction == "rtl") 809 m_coreFrame->editor().setBaseWritingDirection( RightToLeftWritingDirection);809 m_coreFrame->editor().setBaseWritingDirection(WritingDirection::RightToLeft); 810 810 } 811 811 -
trunk/Source/WebKitLegacy/ios/ChangeLog
r238814 r238894 1 2018-12-05 Wenson Hsieh <wenson_hsieh@apple.com> 2 3 Turn WritingDirection into an enum class 4 https://bugs.webkit.org/show_bug.cgi?id=192401 5 Work towards <rdar://problem/42075638> 6 7 Reviewed by Dan Bernstein. 8 9 Change WritingDirection from an enum to an enum class. No change in behavior. 10 11 * WebCoreSupport/WebFrameIOS.mm: 12 (-[WebFrame selectionBaseWritingDirection]): 13 (-[WebFrame setBaseWritingDirection:]): 14 1 15 2018-12-03 Daniel Bates <dabates@apple.com> 2 16 -
trunk/Source/WebKitLegacy/ios/WebCoreSupport/WebFrameIOS.mm
r237266 r238894 534 534 Frame *frame = [self coreFrame]; 535 535 switch (frame->editor().baseWritingDirectionForSelectionStart()) { 536 case LeftToRightWritingDirection:536 case WritingDirection::LeftToRight: 537 537 return WKWritingDirectionLeftToRight; 538 538 539 case RightToLeftWritingDirection:539 case WritingDirection::RightToLeft: 540 540 return WKWritingDirectionRightToLeft; 541 541 … … 574 574 return; 575 575 576 WritingDirection wcDirection = LeftToRightWritingDirection;576 auto wcDirection = WritingDirection::LeftToRight; 577 577 switch (direction) { 578 578 case WKWritingDirectionNatural: 579 wcDirection = NaturalWritingDirection;579 wcDirection = WritingDirection::Natural; 580 580 break; 581 581 case WKWritingDirectionLeftToRight: 582 wcDirection = LeftToRightWritingDirection;582 wcDirection = WritingDirection::LeftToRight; 583 583 break; 584 584 case WKWritingDirectionRightToLeft: 585 wcDirection = RightToLeftWritingDirection;585 wcDirection = WritingDirection::RightToLeft; 586 586 break; 587 587 default: -
trunk/Source/WebKitLegacy/mac/ChangeLog
r238819 r238894 1 2018-12-05 Wenson Hsieh <wenson_hsieh@apple.com> 2 3 Turn WritingDirection into an enum class 4 https://bugs.webkit.org/show_bug.cgi?id=192401 5 Work towards <rdar://problem/42075638> 6 7 Reviewed by Dan Bernstein. 8 9 Change WritingDirection from an enum to an enum class. No change in behavior. 10 11 * WebView/WebHTMLView.mm: 12 (-[WebHTMLView toggleBaseWritingDirection:]): 13 (-[WebHTMLView changeBaseWritingDirection:]): 14 (-[WebHTMLView _changeBaseWritingDirectionTo:]): 15 1 16 2018-12-03 Alex Christensen <achristensen@webkit.org> 2 17 -
trunk/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm
r238814 r238894 5521 5521 return; 5522 5522 5523 WritingDirection direction = RightToLeftWritingDirection;5523 auto direction = WritingDirection::RightToLeft; 5524 5524 switch (coreFrame->editor().baseWritingDirectionForSelectionStart()) { 5525 case LeftToRightWritingDirection:5526 5527 case RightToLeftWritingDirection:5528 direction = LeftToRightWritingDirection;5529 5530 5531 5532 case NaturalWritingDirection:5533 5534 5525 case WritingDirection::LeftToRight: 5526 break; 5527 case WritingDirection::RightToLeft: 5528 direction = WritingDirection::LeftToRight; 5529 break; 5530 // The writingDirectionForSelectionStart method will never return "natural". It 5531 // will always return a concrete direction. So, keep the compiler happy, and assert not reached. 5532 case WritingDirection::Natural: 5533 ASSERT_NOT_REACHED(); 5534 break; 5535 5535 } 5536 5536 … … 5553 5553 5554 5554 if (Frame* coreFrame = core([self _frame])) 5555 coreFrame->editor().setBaseWritingDirection(writingDirection == NSWritingDirectionLeftToRight ? LeftToRightWritingDirection : RightToLeftWritingDirection);5555 coreFrame->editor().setBaseWritingDirection(writingDirection == NSWritingDirectionLeftToRight ? WritingDirection::LeftToRight : WritingDirection::RightToLeft); 5556 5556 } 5557 5557 … … 5574 5574 5575 5575 if (Frame* coreFrame = core([self _frame])) 5576 coreFrame->editor().setBaseWritingDirection(direction == NSWritingDirectionLeftToRight ? LeftToRightWritingDirection : RightToLeftWritingDirection);5576 coreFrame->editor().setBaseWritingDirection(direction == NSWritingDirectionLeftToRight ? WritingDirection::LeftToRight : WritingDirection::RightToLeft); 5577 5577 } 5578 5578 -
trunk/Source/WebKitLegacy/win/ChangeLog
r238802 r238894 1 2018-12-05 Wenson Hsieh <wenson_hsieh@apple.com> 2 3 Turn WritingDirection into an enum class 4 https://bugs.webkit.org/show_bug.cgi?id=192401 5 Work towards <rdar://problem/42075638> 6 7 Reviewed by Dan Bernstein. 8 9 Change WritingDirection from an enum to an enum class. No change in behavior. 10 11 * WebFrame.cpp: 12 (WebFrame::setTextDirection): 13 1 14 2018-12-03 Yusuke Suzuki <yusukesuzuki@slowstart.org> 2 15 -
trunk/Source/WebKitLegacy/win/WebFrame.cpp
r238212 r238894 980 980 String directionString(direction, SysStringLen(direction)); 981 981 if (directionString == "auto") 982 coreFrame->editor().setBaseWritingDirection( NaturalWritingDirection);982 coreFrame->editor().setBaseWritingDirection(WritingDirection::Natural); 983 983 else if (directionString == "ltr") 984 coreFrame->editor().setBaseWritingDirection( LeftToRightWritingDirection);984 coreFrame->editor().setBaseWritingDirection(WritingDirection::LeftToRight); 985 985 else if (directionString == "rtl") 986 coreFrame->editor().setBaseWritingDirection( RightToLeftWritingDirection);986 coreFrame->editor().setBaseWritingDirection(WritingDirection::RightToLeft); 987 987 return S_OK; 988 988 }
Note: See TracChangeset
for help on using the changeset viewer.