Closed Bug 1615581 Opened 5 years ago Closed 5 years ago

Factor out table selection functionality in `nsFrameSelection`

Categories

(Core :: DOM: Selection, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: mbrodesser-Igalia, Assigned: mbrodesser-Igalia)

References

(Blocks 1 open bug)

Details

Attachments

(20 files, 1 obsolete file)

(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
No description provided.

See part 2) why this is necessary.

Simplifies reasoning about table-cell related code, because it's less
coupled with nsFrameSelection.

Depends on D62902

Blocks: 1590379

Preparatory step for the following parts.

Attachment #9126710 - Attachment description: Bug 1615581: part 1) Rename `TableSelection` to `TableSelectionScope`. r=jfkthame → Bug 1615581: part 1) Rename `TableSelection` to `TableSelectionMode`. r=jfkthame
Attachment #9126712 - Attachment description: Bug 1615581: part 3) Rename `mSelectingTableCellMode` to `mScope`. r=jfkthame → Bug 1615581: part 3) Rename `mSelectingTableCellMode` to `mMode`. r=jfkthame

Preparation to move SelectCellElement to TableSelection.

Allows to move nsFrameSelection::AddCellsToSelection, a caller of
SelectCellElement, fromnsFrameSelectiontoTableSelection` in a
subsequent step.

Depends on D63157

Keywords: leave-open
Pushed by mbrodesser@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/914e6aaf532e part 0) Correct style around `TableSelection` usage. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/febaecacaf3d part 1) Rename `TableSelection` to `TableSelectionMode`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/7933f22e884a part 2) Group table-cell-selection related members in common struct. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/e46a93dedea2 part 3) Rename `mSelectingTableCellMode` to `mMode`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/a5e2eb343af7 part 4) Declare `GetFirstCellNodeInRange`'s range argument const. r=jfkthame
Pushed by mbrodesser@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/47b83b8bcd78 part 5) Move `GetNextCellRange` to `TableSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/611fc4c5f891 part 6) Move `GetFirstCellRange` to `TableSelection`. r=jfkthame

Simplifies reviewing the following part.

Depends on D63158

Simplifies reasoning about nsFrameSelection and allows to decouple
more code from it.

Depends on D63295

Attachment #9127560 - Attachment description: Bug 1615581: Remove indirect calls to `NotifySelectionListeners` in `Selection`. r=smaug → Bug 1615581: remove indirect calls to `NotifySelectionListeners` in `Selection`. r=smaug
Pushed by mbrodesser@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d83ba2246c8d part 7) Move `UnselectCells` to `TableSelection`. r=jfkthame
Attachment #9127560 - Attachment is obsolete: true
Pushed by mbrodesser@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/69f3ce1e15f8 part 8) Decouple `CreateAndAddRange` from `nsFrameSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/2298ba1609fd part 9) Decouple `SelectCellElement` core from `nsFrameSelection`. r=jfkthame
Keywords: leave-open
Pushed by mbrodesser@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9aa0aef619ed part 10) Update style in `nsFrameSelection::AddCellsToSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/83dbbfb4b4e8 part 11) Use free function `SelectCellElement` in `AddCellsToSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/5272f4d02c88 part 12) Decouple `AddCellsToSelection` from `nsFrameSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/c3c657e53988 part 13) Move `mDragSelectingCells` to `TableSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/13fd32562d0c part 14) Move `SelectBlockOfCells` to `TableSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/9678a5d6a970 part 15) Update style in `nsFrameSelection::SelectRowOrColumn`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/ea9869a4fb04 part 16) Move `nsFrameSelection::SelectRowOrColumn` to `TableSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/1f89d7b3668a part 17) Correct style in `nsFrameSelection::HandleTableSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/1489a8cb97e9 part 18) Move core of `nsFrameSelection::HandleTableSelection` to `TableSelection::HandleSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/47087b5b4e42 part 19) Decouple `UpdateSelectionCacheOnRepaintSelection` from `nsFrameSelection`. r=jfkthame
Flags: needinfo?(mbrodesser)
Keywords: leave-open
Pushed by mbrodesser@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f14efb8d60b0 part 10) Update style in `nsFrameSelection::AddCellsToSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/aa576ca7eb83 part 11) Use free function `SelectCellElement` in `AddCellsToSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/fe76f96725a4 part 12) Decouple `AddCellsToSelection` from `nsFrameSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/5a898cd1a512 part 13) Move `mDragSelectingCells` to `TableSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/eac87ff60871 part 14) Move `SelectBlockOfCells` to `TableSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/7e65454b6f2f part 15) Update style in `nsFrameSelection::SelectRowOrColumn`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/1ed9899bb878 part 16) Move `nsFrameSelection::SelectRowOrColumn` to `TableSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/30b5db293dcf part 17) Correct style in `nsFrameSelection::HandleTableSelection`. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/2703832accab part 18) Move core of `nsFrameSelection::HandleTableSelection` to `TableSelection::HandleSelection`. r=jfkthame
Pushed by mbrodesser@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/af8340982b60 part 19) Decouple `UpdateSelectionCacheOnRepaintSelection` from `nsFrameSelection`. r=jfkthame
Keywords: leave-open
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: