Merge remote-tracking branch 'remotes/origin/develop' into tables * remotes/origin/develop: (31 commits) Add TabTest with ingnored noTabStop test Add WritingModeTest, UndoRedoTest, TextFlowEditTest Remove unused variable from TestDescriptorRunner Back to the original implementation Ignore arrowUp and arrowDown tests in GeneralFunctionsTest Add echo to build.xml for print minimalTests value Set minimalTests property to true just for check ContainerTypeTest Add property minimalTests to make MinimalTestsSuite runnable FLEX-34611: Application crash when textFlow property set to null with preserveSelection FLEX-26478 Responding to dev review by adding curly braces around if clauses. Also optimised imports and renamed comment parameters in StandardFlowComposer and ContainerController. Remove unused import in ContainerAttributeTest FLEX-26478 CAUSE: When replacing ContainerControllers (triggered when the text changes in a TextField / TextArea), StandardFlowComposer tried to dispose of the discarded ones first. It did this by calling clearSelectionShapes() and setRootElement(null) on the ContainerControllers. However, if that controller was already listening for mouse scroll events (when the user selects text and moves the mouse outside the text field in such a way that causes the text to scroll), this listener wasn't removed. Which meant that the next time scrollTimerHandler() was called (on the inactive ContainerController), textFlow was null due to the call to setRootElement(null). Revert "revert these to see if they made a difference" revert these to see if they made a difference Attempt to fix build - set forkValue to true another attempt to fix flex-tlf Try to fix build with really high values -Xmx1024m -XX:MaxPermSize=1024m Try to fix build increase -Xmx512m Try to fix build - higher values for MaxPermSize=768 Back to the original values for jvm.args Remove additional mxmlc buld of Flow.swf from testApps target in build.xml try even more PermGen ...
Conflicts: textLayout/src/flashx/textLayout/compose/StandardFlowComposer.as textLayout/src/flashx/textLayout/container/ContainerController.as Project: http://git-wip-us.apache.org/repos/asf/flex-tlf/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-tlf/commit/f6348cdb Tree: http://git-wip-us.apache.org/repos/asf/flex-tlf/tree/f6348cdb Diff: http://git-wip-us.apache.org/repos/asf/flex-tlf/diff/f6348cdb Branch: refs/heads/develop Commit: f6348cdba36e64b3b4af39212915916a263d1009 Parents: 84e8b25 1d79e24 Author: piotrz <pio...@apache.org> Authored: Mon Nov 3 21:49:55 2014 +0100 Committer: piotrz <pio...@apache.org> Committed: Mon Nov 3 21:49:55 2014 +0100 ---------------------------------------------------------------------- .../src/UnitTest/TestDescriptorRunner.mxml | 13 +- automation_apps/src/VellumUnit.mxml | 7 +- automation_core/src/AutomationCoreClasses.as | 2 + .../UnitTest/ExtendedClasses/VellumTestCase.as | 1 - automation_tests/src/AllTestsSuite.as | 23 +- automation_tests/src/MinimalTestsSuite.as | 4 +- .../UnitTest/Tests/BoundsAndAlignmentTest.as | 278 +- automation_tests/src/UnitTest/Tests/BoxTest.as | 51 +- .../UnitTest/Tests/ContainerAttributeTest.as | 1 - .../src/UnitTest/Tests/ContainerTypeTest.as | 8 - .../src/UnitTest/Tests/CrossContainerTest.as | 430 ++- .../src/UnitTest/Tests/ElementOperationTest.as | 1192 ++++++++ .../src/UnitTest/Tests/ElementOperationTests.as | 1228 -------- .../src/UnitTest/Tests/EventOverrideTest.as | 905 +++--- .../src/UnitTest/Tests/FactoryImportTest.as | 250 +- .../src/UnitTest/Tests/FloatTest.as | 84 - .../src/UnitTest/Tests/FlowModelTest.as | 1920 ++++++------- .../src/UnitTest/Tests/GeneralFunctionsTest.as | 2675 +++++++++--------- automation_tests/src/UnitTest/Tests/TabTest.as | 1087 +++---- .../src/UnitTest/Tests/TextFlowEditTest.as | 305 +- .../src/UnitTest/Tests/UndoRedoTest.as | 153 +- .../src/UnitTest/Tests/WritingModeTest.as | 795 +++--- build.properties | 40 + build.xml | 30 +- .../textLayout/compose/StandardFlowComposer.as | 47 +- .../textLayout/container/ContainerController.as | 262 +- .../container/TextContainerManager.as | 2 +- .../src/flashx/textLayout/edit/TextClipboard.as | 15 +- .../flashx/textLayout/utils/NavigationUtil.as | 3 +- 29 files changed, 5660 insertions(+), 6151 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-tlf/blob/f6348cdb/textLayout/src/flashx/textLayout/compose/StandardFlowComposer.as ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-tlf/blob/f6348cdb/textLayout/src/flashx/textLayout/container/ContainerController.as ---------------------------------------------------------------------- diff --cc textLayout/src/flashx/textLayout/container/ContainerController.as index 08f4a68,f992734..a000035 --- a/textLayout/src/flashx/textLayout/container/ContainerController.as +++ b/textLayout/src/flashx/textLayout/container/ContainerController.as @@@ -18,78 -18,68 +18,115 @@@ //////////////////////////////////////////////////////////////////////////////// package flashx.textLayout.container { - import flash.display.BlendMode; - import flash.display.DisplayObject; - import flash.display.DisplayObjectContainer; - import flash.display.InteractiveObject; - import flash.display.Shape; - import flash.display.Sprite; - import flash.events.ContextMenuEvent; - import flash.events.Event; - import flash.events.FocusEvent; - import flash.events.IMEEvent; - import flash.events.KeyboardEvent; - import flash.events.MouseEvent; - import flash.events.TextEvent; - import flash.events.TimerEvent; - import flash.geom.Matrix; - import flash.geom.Point; - import flash.geom.Rectangle; - import flash.text.engine.TextBlock; - import flash.text.engine.TextLine; - import flash.text.engine.TextLineValidity; - import flash.ui.ContextMenu; - import flash.ui.ContextMenuClipboardItems; - import flash.utils.Dictionary; - import flash.utils.Timer; + import flash.display.BlendMode; + import flash.display.DisplayObject; + import flash.display.DisplayObjectContainer; + import flash.display.Shape; + import flash.display.Sprite; + import flash.events.ContextMenuEvent; + import flash.events.Event; + import flash.events.FocusEvent; + import flash.events.IEventDispatcher; + import flash.events.IMEEvent; + import flash.events.KeyboardEvent; + import flash.events.MouseEvent; + import flash.events.TextEvent; + import flash.events.TimerEvent; + import flash.geom.Matrix; + import flash.geom.Point; + import flash.geom.Rectangle; + import flash.text.engine.TextBlock; + import flash.text.engine.TextLine; + import flash.text.engine.TextLineValidity; + import flash.ui.ContextMenu; + import flash.ui.ContextMenuClipboardItems; + import flash.utils.Dictionary; + import flash.utils.Timer; + + import flashx.textLayout.compose.FloatCompositionData; + import flashx.textLayout.compose.FlowDamageType; + import flashx.textLayout.compose.IFlowComposer; + import flashx.textLayout.compose.TextFlowLine; + import flashx.textLayout.compose.TextLineRecycler; + import flashx.textLayout.debug.Debugging; + import flashx.textLayout.debug.assert; + import flashx.textLayout.edit.EditingMode; + import flashx.textLayout.edit.IInteractionEventHandler; + import flashx.textLayout.edit.ISelectionManager; + import flashx.textLayout.edit.SelectionFormat; + import flashx.textLayout.elements.BackgroundManager; + import flashx.textLayout.elements.Configuration; + import flashx.textLayout.elements.ContainerFormattedElement; + import flashx.textLayout.elements.FlowElement; + import flashx.textLayout.elements.FlowLeafElement; + import flashx.textLayout.elements.FlowValueHolder; + import flashx.textLayout.elements.InlineGraphicElement; + import flashx.textLayout.elements.ParagraphElement; + import flashx.textLayout.elements.TCYElement; + import flashx.textLayout.elements.TextFlow; + import flashx.textLayout.events.FlowElementMouseEventManager; + import flashx.textLayout.events.ModelChange; + import flashx.textLayout.events.ScrollEvent; + import flashx.textLayout.events.ScrollEventDirection; + import flashx.textLayout.events.TextLayoutEvent; + import flashx.textLayout.events.UpdateCompleteEvent; + import flashx.textLayout.formats.BlockProgression; + import flashx.textLayout.formats.Float; + import flashx.textLayout.formats.FormatValue; + import flashx.textLayout.formats.ITextLayoutFormat; + import flashx.textLayout.formats.TextLayoutFormat; + import flashx.textLayout.tlf_internal; + import flashx.textLayout.utils.Twips; + + use namespace tlf_internal; + import flashx.textLayout.compose.FloatCompositionData; + import flashx.textLayout.compose.FlowComposerBase; + import flashx.textLayout.compose.FlowDamageType; + import flashx.textLayout.compose.IFlowComposer; + import flashx.textLayout.compose.TextFlowLine; + import flashx.textLayout.compose.TextFlowTableBlock; + import flashx.textLayout.compose.TextLineRecycler; + import flashx.textLayout.debug.Debugging; + import flashx.textLayout.debug.assert; + import flashx.textLayout.edit.EditingMode; + import flashx.textLayout.edit.IInteractionEventHandler; + import flashx.textLayout.edit.ISelectionManager; + import flashx.textLayout.edit.SelectionFormat; + import flashx.textLayout.elements.BackgroundManager; + import flashx.textLayout.elements.CellCoordinates; + import flashx.textLayout.elements.CellRange; + import flashx.textLayout.elements.Configuration; + import flashx.textLayout.elements.ContainerFormattedElement; + import flashx.textLayout.elements.FlowElement; + import flashx.textLayout.elements.FlowLeafElement; + import flashx.textLayout.elements.FlowValueHolder; + import flashx.textLayout.elements.InlineGraphicElement; + import flashx.textLayout.elements.LinkElement; + import flashx.textLayout.elements.ParagraphElement; + import flashx.textLayout.elements.TableBlockContainer; + import flashx.textLayout.elements.TableCellElement; + import flashx.textLayout.elements.TableElement; + import flashx.textLayout.elements.TableRowElement; + import flashx.textLayout.elements.TextFlow; + import flashx.textLayout.events.FlowElementMouseEvent; + import flashx.textLayout.events.FlowElementMouseEventManager; + import flashx.textLayout.events.ModelChange; + import flashx.textLayout.events.ScrollEvent; + import flashx.textLayout.events.ScrollEventDirection; + import flashx.textLayout.events.TextLayoutEvent; + import flashx.textLayout.events.UpdateCompleteEvent; + import flashx.textLayout.formats.BlockProgression; + import flashx.textLayout.formats.Float; + import flashx.textLayout.formats.FormatValue; + import flashx.textLayout.formats.ITextLayoutFormat; + import flashx.textLayout.formats.TextLayoutFormat; + import flashx.textLayout.property.Property; + import flashx.textLayout.tlf_internal; + import flashx.textLayout.utils.Twips; + + use namespace tlf_internal; + /** * The ContainerController class defines the relationship between a TextFlow object and a container. * A TextFlow may have one or more rectangular areas that can hold text; the text is said to be flowing