Changeset 72777 in webkit


Ignore:
Timestamp:
Nov 27, 2010 6:54:43 PM (13 years ago)
Author:
commit-queue@webkit.org
Message:

2010-11-27 Benjamin Kalman <kalman@chromium.org>

Reviewed by Darin Adler.

Move Position::EditingBoundaryCrossingRule to a new header file
https://bugs.webkit.org/show_bug.cgi?id=49630

  • GNUmakefile.am:
  • WebCore.exp.in:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Position.cpp: (WebCore::downstreamIgnoringEditingBoundaries): (WebCore::upstreamIgnoringEditingBoundaries):
  • dom/Position.h:
  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::doApply):
  • editing/EditingBoundary.h: Added.
  • editing/visible_units.cpp: (WebCore::startOfParagraph): (WebCore::endOfParagraph): (WebCore::isStartOfParagraph): (WebCore::isEndOfParagraph):
  • editing/visible_units.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::createVisiblePosition):
Location:
trunk/WebCore
Files:
1 added
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r72776 r72777  
     12010-11-27  Benjamin Kalman  <kalman@chromium.org>
     2
     3        Reviewed by Darin Adler.
     4
     5        Move Position::EditingBoundaryCrossingRule to a new header file
     6        https://bugs.webkit.org/show_bug.cgi?id=49630
     7
     8        * GNUmakefile.am:
     9        * WebCore.exp.in:
     10        * WebCore.gypi:
     11        * WebCore.pro:
     12        * WebCore.vcproj/WebCore.vcproj:
     13        * WebCore.xcodeproj/project.pbxproj:
     14        * dom/Position.cpp:
     15        (WebCore::downstreamIgnoringEditingBoundaries):
     16        (WebCore::upstreamIgnoringEditingBoundaries):
     17        * dom/Position.h:
     18        * editing/DeleteSelectionCommand.cpp:
     19        (WebCore::DeleteSelectionCommand::doApply):
     20        * editing/EditingBoundary.h: Added.
     21        * editing/visible_units.cpp:
     22        (WebCore::startOfParagraph):
     23        (WebCore::endOfParagraph):
     24        (WebCore::isStartOfParagraph):
     25        (WebCore::isEndOfParagraph):
     26        * editing/visible_units.h:
     27        * rendering/RenderObject.cpp:
     28        (WebCore::RenderObject::createVisiblePosition):
     29
    1302010-11-26  Rob Buis  <rwlbuis@gmail.com>
    231
  • trunk/WebCore/GNUmakefile.am

    r72718 r72777  
    13241324        WebCore/editing/EditingBehavior.h \
    13251325        WebCore/editing/EditingBehaviorTypes.h \
     1326        WebCore/editing/EditingBoundary.h \
    13261327        WebCore/editing/EditingStyle.cpp \
    13271328        WebCore/editing/EditingStyle.h \
  • trunk/WebCore/WebCore.exp.in

    r72446 r72777  
    421421__ZN7WebCore16enclosingIntRectERK7_NSRect
    422422__ZN7WebCore16enclosingIntRectERKNS_9FloatRectE
    423 __ZN7WebCore16isEndOfParagraphERKNS_15VisiblePositionENS_8Position27EditingBoundaryCrossingRuleE
     423__ZN7WebCore16isEndOfParagraphERKNS_15VisiblePositionENS_27EditingBoundaryCrossingRuleE
    424424__ZN7WebCore16jsStringSlowCaseEPN3JSC9ExecStateERNS0_9WeakGCMapIPN3WTF10StringImplEPNS0_8JSStringEEES6_
    425425__ZN7WebCore17CredentialStorage3getERKNS_15ProtectionSpaceE
     
    432432__ZN7WebCore17openTemporaryFileEPKcRi
    433433__ZN7WebCore18SearchPopupMenuMacC1EPNS_15PopupMenuClientE
    434 __ZN7WebCore18isStartOfParagraphERKNS_15VisiblePositionENS_8Position27EditingBoundaryCrossingRuleE
     434__ZN7WebCore18isStartOfParagraphERKNS_15VisiblePositionENS_27EditingBoundaryCrossingRuleE
    435435__ZN7WebCore18pluginScriptObjectEPN3JSC9ExecStateEPNS_13JSHTMLElementE
    436436__ZN7WebCore18proxyServersForURLERKNS_4KURLEPKNS_17NetworkingContextE
     
    11301130__ZNK7WebCore8Document6domainEv
    11311131__ZNK7WebCore8IntPointcv8_NSPointEv
    1132 __ZNK7WebCore8Position10downstreamENS0_27EditingBoundaryCrossingRuleE
     1132__ZNK7WebCore8Position10downstreamENS_27EditingBoundaryCrossingRuleE
    11331133__ZNK7WebCore8Position25leadingWhitespacePositionENS_9EAffinityEb
    11341134__ZNK7WebCore8Position26trailingWhitespacePositionENS_9EAffinityEb
    1135 __ZNK7WebCore8Position8upstreamENS0_27EditingBoundaryCrossingRuleE
     1135__ZNK7WebCore8Position8upstreamENS_27EditingBoundaryCrossingRuleE
    11361136__ZNK7WebCore9DOMWindow27pendingUnloadEventListenersEv
    11371137__ZNK7WebCore9FloatRectcv7_NSRectEv
  • trunk/WebCore/WebCore.gypi

    r72770 r72777  
    13921392            'editing/EditingBehavior.h',
    13931393            'editing/EditingBehaviorTypes.h',
     1394            'editing/EditingBoundary.h',
    13941395            'editing/EditingStyle.cpp',
    13951396            'editing/EditingStyle.h',
  • trunk/WebCore/WebCore.pro

    r72718 r72777  
    17111711    editing/EditingStyle.h \
    17121712    editing/EditingBehavior.h \
     1713    editing/EditingBoundary.h \
    17131714    editing/Editor.h \
    17141715    editing/FormatBlockCommand.h \
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r72715 r72777  
    4616846168                        </File>
    4616946169                        <File
     46170                                RelativePath="..\editing\EditingBoundary.h"
     46171                                >
     46172                        </File>
     46173                        <File
    4617046174                                RelativePath="..\editing\DeleteButtonController.cpp"
    4617146175                                >
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r72718 r72777  
    904904                3888F6EE128C9889000CA8E0 /* InspectorFileSystemAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3888F6EC128C9889000CA8E0 /* InspectorFileSystemAgent.cpp */; };
    905905                3888F6EF128C9889000CA8E0 /* InspectorFileSystemAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 3888F6ED128C9889000CA8E0 /* InspectorFileSystemAgent.h */; };
     906                3AC648B2129E146500C3EB25 /* EditingBoundary.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AC648B1129E146500C3EB25 /* EditingBoundary.h */; settings = {ATTRIBUTES = (Private, ); }; };
    906907                41002CCD0F66EDEF009E660D /* ScriptFunctionCall.h in Headers */ = {isa = PBXBuildFile; fileRef = 41002CCB0F66EDEF009E660D /* ScriptFunctionCall.h */; };
    907908                41002CCE0F66EDEF009E660D /* ScriptFunctionCall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41002CCC0F66EDEF009E660D /* ScriptFunctionCall.cpp */; };
     
    70117012                3888F6EC128C9889000CA8E0 /* InspectorFileSystemAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorFileSystemAgent.cpp; sourceTree = "<group>"; };
    70127013                3888F6ED128C9889000CA8E0 /* InspectorFileSystemAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorFileSystemAgent.h; sourceTree = "<group>"; };
     7014                3AC648B1129E146500C3EB25 /* EditingBoundary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditingBoundary.h; sourceTree = "<group>"; };
    70137015                41002CCB0F66EDEF009E660D /* ScriptFunctionCall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptFunctionCall.h; sourceTree = "<group>"; };
    70147016                41002CCC0F66EDEF009E660D /* ScriptFunctionCall.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptFunctionCall.cpp; sourceTree = "<group>"; };
     
    1460114603                                4F1534DD11B532EC0021FD86 /* EditingBehavior.h */,
    1460214604                                4F1534DF11B533020021FD86 /* EditingBehaviorTypes.h */,
     14605                                3AC648B1129E146500C3EB25 /* EditingBoundary.h */,
    1460314606                                9BAB6C6B12550631001626D4 /* EditingStyle.cpp */,
    1460414607                                9BAB6C6A12550631001626D4 /* EditingStyle.h */,
     
    1960519608                                4F1534DE11B532EC0021FD86 /* EditingBehavior.h in Headers */,
    1960619609                                4F1534E011B533020021FD86 /* EditingBehaviorTypes.h in Headers */,
     19610                                3AC648B2129E146500C3EB25 /* EditingBoundary.h in Headers */,
    1960719611                                9BAB6C6C12550631001626D4 /* EditingStyle.h in Headers */,
    1960819612                                6550B6A4099DF0270090D781 /* EditingText.h in Headers */,
  • trunk/WebCore/dom/Position.cpp

    r72259 r72777  
    10071007    while (position != lastPosition) {
    10081008        lastPosition = position;
    1009         position = position.downstream(Position::CanCrossEditingBoundary);
     1009        position = position.downstream(CanCrossEditingBoundary);
    10101010    }
    10111011    return position;
     
    10171017    while (position != lastPosition) {
    10181018        lastPosition = position;
    1019         position = position.upstream(Position::CanCrossEditingBoundary);
     1019        position = position.upstream(CanCrossEditingBoundary);
    10201020    }
    10211021    return position;
  • trunk/WebCore/dom/Position.h

    r65852 r72777  
    2828
    2929#include "ContainerNode.h"
     30#include "EditingBoundary.h"
    3031#include "TextAffinity.h"
    3132#include "TextDirection.h"
     
    5758    };
    5859
    59     enum EditingBoundaryCrossingRule {
    60         CanCrossEditingBoundary,
    61         CannotCrossEditingBoundary
    62     };
    63    
    6460    Position()
    6561        : m_offset(0)
  • trunk/WebCore/editing/DeleteSelectionCommand.cpp

    r72259 r72777  
    2929#include "Document.h"
    3030#include "DocumentFragment.h"
     31#include "EditingBoundary.h"
    3132#include "Editor.h"
    3233#include "EditorClient.h"
     
    740741   
    741742    Position downstreamEnd = m_selectionToDelete.end().downstream();
    742     m_needPlaceholder = isStartOfParagraph(m_selectionToDelete.visibleStart(), Position::CanCrossEditingBoundary)
    743             && isEndOfParagraph(m_selectionToDelete.visibleEnd(), Position::CanCrossEditingBoundary)
     743    m_needPlaceholder = isStartOfParagraph(m_selectionToDelete.visibleStart(), CanCrossEditingBoundary)
     744            && isEndOfParagraph(m_selectionToDelete.visibleEnd(), CanCrossEditingBoundary)
    744745            && !lineBreakExistsAtVisiblePosition(m_selectionToDelete.visibleEnd());
    745746    if (m_needPlaceholder) {
  • trunk/WebCore/editing/visible_units.cpp

    r72259 r72777  
    781781}
    782782
    783 VisiblePosition startOfParagraph(const VisiblePosition& c, Position::EditingBoundaryCrossingRule boundaryCrossingRule)
     783VisiblePosition startOfParagraph(const VisiblePosition& c, EditingBoundaryCrossingRule boundaryCrossingRule)
    784784{
    785785    Position p = c.deepEquivalent();
     
    799799    Node *n = startNode;
    800800    while (n) {
    801         if (boundaryCrossingRule == Position::CannotCrossEditingBoundary && n->isContentEditable() != startNode->isContentEditable())
     801        if (boundaryCrossingRule == CannotCrossEditingBoundary && n->isContentEditable() != startNode->isContentEditable())
    802802            break;
    803803        RenderObject *r = n->renderer();
     
    840840}
    841841
    842 VisiblePosition endOfParagraph(const VisiblePosition &c, Position::EditingBoundaryCrossingRule boundaryCrossingRule)
     842VisiblePosition endOfParagraph(const VisiblePosition &c, EditingBoundaryCrossingRule boundaryCrossingRule)
    843843{   
    844844    if (c.isNull())
     
    859859    Node *n = startNode;
    860860    while (n) {
    861         if (boundaryCrossingRule == Position::CannotCrossEditingBoundary && n->isContentEditable() != startNode->isContentEditable())
     861        if (boundaryCrossingRule == CannotCrossEditingBoundary && n->isContentEditable() != startNode->isContentEditable())
    862862            break;
    863863        RenderObject *r = n->renderer();
     
    915915}
    916916
    917 bool isStartOfParagraph(const VisiblePosition &pos, Position::EditingBoundaryCrossingRule boundaryCrossingRule)
     917bool isStartOfParagraph(const VisiblePosition &pos, EditingBoundaryCrossingRule boundaryCrossingRule)
    918918{
    919919    return pos.isNotNull() && pos == startOfParagraph(pos, boundaryCrossingRule);
    920920}
    921921
    922 bool isEndOfParagraph(const VisiblePosition &pos, Position::EditingBoundaryCrossingRule boundaryCrossingRule)
     922bool isEndOfParagraph(const VisiblePosition &pos, EditingBoundaryCrossingRule boundaryCrossingRule)
    923923{
    924924    return pos.isNotNull() && pos == endOfParagraph(pos, boundaryCrossingRule);
  • trunk/WebCore/editing/visible_units.h

    r70932 r72777  
    2828
    2929#include "Document.h"
     30#include "EditingBoundary.h"
    3031#include "Position.h"
    3132#include "TextAffinity.h"
     
    6263
    6364// paragraphs (perhaps a misnomer, can be divided by line break elements)
    64 VisiblePosition startOfParagraph(const VisiblePosition&, Position::EditingBoundaryCrossingRule = Position::CannotCrossEditingBoundary);
    65 VisiblePosition endOfParagraph(const VisiblePosition&, Position::EditingBoundaryCrossingRule = Position::CannotCrossEditingBoundary);
     65VisiblePosition startOfParagraph(const VisiblePosition&, EditingBoundaryCrossingRule = CannotCrossEditingBoundary);
     66VisiblePosition endOfParagraph(const VisiblePosition&, EditingBoundaryCrossingRule = CannotCrossEditingBoundary);
    6667VisiblePosition startOfNextParagraph(const VisiblePosition&);
    6768VisiblePosition previousParagraphPosition(const VisiblePosition &, int x);
    6869VisiblePosition nextParagraphPosition(const VisiblePosition &, int x);
    69 bool isStartOfParagraph(const VisiblePosition &, Position::EditingBoundaryCrossingRule = Position::CannotCrossEditingBoundary);
    70 bool isEndOfParagraph(const VisiblePosition &, Position::EditingBoundaryCrossingRule = Position::CannotCrossEditingBoundary);
     70bool isStartOfParagraph(const VisiblePosition &, EditingBoundaryCrossingRule = CannotCrossEditingBoundary);
     71bool isEndOfParagraph(const VisiblePosition &, EditingBoundaryCrossingRule = CannotCrossEditingBoundary);
    7172bool inSameParagraph(const VisiblePosition &, const VisiblePosition &);
    7273
  • trunk/WebCore/rendering/RenderObject.cpp

    r71754 r72777  
    3232#include "CSSStyleSelector.h"
    3333#include "DashArray.h"
     34#include "EditingBoundary.h"
    3435#include "FloatQuad.h"
    3536#include "Frame.h"
     
    26402641            // If it can be found, we prefer a visually equivalent position that is editable.
    26412642            Position position(node, offset);
    2642             Position candidate = position.downstream(Position::CanCrossEditingBoundary);
     2643            Position candidate = position.downstream(CanCrossEditingBoundary);
    26432644            if (candidate.node()->isContentEditable())
    26442645                return VisiblePosition(candidate, affinity);
    2645             candidate = position.upstream(Position::CanCrossEditingBoundary);
     2646            candidate = position.upstream(CanCrossEditingBoundary);
    26462647            if (candidate.node()->isContentEditable())
    26472648                return VisiblePosition(candidate, affinity);
Note: See TracChangeset for help on using the changeset viewer.