Transferred from the Adobe Open Source Subversion Repository
Transferred from the Adobe Open Source Subversion Repository

Revision: 18266
Author:   cframpto@adobe.com
Date:     2010-10-21T17:54:23.954273Z

Log Message: 
-----------
TLF Build 185.  Fixes two regressions in TLF Build 183.

Build 185
    * Fix 2741297, "InsertTextOperation.doInternal changed so if the text to insert is "" there is an RTE in applyPointFormat because span=null". Now check for null span in InsertTextOperation.
    * Fix 2600932, "Cursoring from a long line to a short line can sometimes not scroll to show cursor context". The automatic scroll to keep a range of text in view now changed so that it 
    attempts to center the range in the logical horizontal direction.
    * Fix 2617150 Allow user-defined tags to remain in the HTML so they can be used by the IFormatResolver
    - This feature addition has has several pieces.
    - FlowElement now has a public typeName get/set API.  Normally this returns the same value as the tlf_internal API defaultTypeName.  This can be set to any string.
    - typeName (when different from defaultTypeName) is exported by TEXT_LAYOUT_FORMAT TextConverter.  It is also handled by the importer.
    - TextFlow has a new API getElementsByTypeName.
    - TEXT_FIELD_HTML_FORMAT will now tag elements with typeName when an unknown tag is used.  The importer pushes the typeName down to the lowest level possible and avoids 
        creating extra elements while preserving information for roundtripping.  For example:
        HTML --> TLFMarkup
        <foo><p>my text</p></foo> --> <p typeName="FOO"><span>my text</span></p>
        <foo><p>p1</p><p>p2</p></foo> --> <div typeName="FOO"><p><span>p1</span><p><p><span>p2</span><p></div>
    - The TEXT_FIELD_HTML_FORMAT importer always convert user-defined tags to upper case
    - The TEXT_FIELD_HTML_FORMAT importer has two new boolean properties (accessed by the IFormatImporter setProperty API).  These both default to false
        IMPORT_HTML_TAG - sets the typeName of the imported TextFlow to HTML and imports any nested HTML elements as a user defined type
        IMPORT_HTML_BODY_TAG - imports the body element as a user defined tag.  Otherwise it is skipped
    * Add ApplyElementTypeNameOperation and changeTypeName to IEditmanager and EditManager
    * Padding properties (paddingLeft, paddingTop, paddingRight, paddingBottom) categories changed from Container to Paragraph, since these can now be applied to paragraph.
    * Fix 2742233, "RTE adding text after link if link is at end of textflow".
    * Fix 2741416 Select-All ENTER Doesn't Create new Paragraph
    * Fix 2546631, "Plain text does not take on selection formatting when pasted". Detect when a text scrap is unformatted, and have each element when it is 
    pasted get the format of its (new) preceding sibling, or if there is no preceding sibling, the following sibling. I don't know yet whether this is the best 
    approach; one alternative would be to code it specifically for leaf elements and paragraphs, and ignore other elements.
Build 184
    * Fix 2739866, "ContainerManager::removeInlineGrahicElement() doesn't seem to get called.". 
    * Fix [SDK-28210] "SpanElement.normalizeRange() should not combine spans if the span is bindable". 
    * Fix 2739996, "Flow scrolls incorrectly right after an inline moves off the end of the container".
    * Performance improvement.  FlowLeafElement now always holds text in _text.  Removes some overrides and other tests
    * Fix 2700108, "Changing font color shifts characters noticeably within the last linked container if it has overset text." 
    ScrollToRange was scrolling inconsistently when the range extended both above and below the visible area. Now it no longer 
    scrolls in that case. since the visible area is already showing the range.

QE notes: 
Doc notes: 
Bugs: 
Reviewer: 
Tests run: Bill tested and ok'ed integrate
Is noteworthy for integration: yes - scrollToRange() behaves differently - attempts to center the range in the logical horizontal direction

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/conversion/TextLayoutExporter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/ListElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/EditClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/formats/TextLayoutFormat.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/operations/SplitElementOperation.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/FlowGroupElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/operations/InsertTextOperation.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/rsls/textLayout_2.0.0.183.swf</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/ListItemElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/operations/PasteOperation.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/LinkElement.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/rsls/textLayout_2.0.0.187.swf</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/conversion/BaseTextLayoutImporter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/conversion/TextFieldHtmlImporter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/FlowLeafElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/conversion/PlainTextExporter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/SpanElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/conversion/TextLayoutImporter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/TabElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/conversion/TextConverter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/air-config.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/InlineGraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/edit/EditManager.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/operations/ApplyElementTypeNameOperation.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/ReleaseNotes.txt</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/edit/TextFlowEdit.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/container/ContainerController.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/DivElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/BreakElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/BuildInfo.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/edit/IEditManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/edit/ParaEdit.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/debug/Debugging.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/SubParagraphGroupElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/flex-config.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/TCYElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/TextFlow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/ParagraphElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/libs/textLayout.swc</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/conversion/BaseTextLayoutExporter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/conversion/TextFieldHtmlExporter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/FlowElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/elements/IFormatResolver.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1290073 13f79535-47bb-0310-9956-ffa450edef68

shyamalschandra/flex-sdk,adufilie/flex-sdk,SlavaRa/flex-sdk,shyamalschandra/flex-sdk,adufilie/flex-sdk,adufilie/flex-sdk,apache/flex-sdk,shyamalschandra/flex-sdk,SlavaRa/flex-sdk,SlavaRa/flex-sdk,SlavaRa/flex-sdk,apache/flex-sdk,adufilie/flex-sdk,apache/flex-sdk,danteinforno/flex-sdk,shyamalschandra/flex-sdk,shyamalschandra/flex-sdk,danteinforno/flex-sdk,apache/flex-sdk,danteinforno/flex-sdk,SlavaRa/flex-sdk,apache/flex-sdk,danteinforno/flex-sdk,SlavaRa/flex-sdk,apache/flex-sdk,shyamalschandra/flex-sdk,adufilie/flex-sdk,adufilie/flex-sdk,danteinforno/flex-sdk,danteinforno/flex-sdk