Closed Bug 192320 Opened 22 years ago Closed 21 years ago

Cannot down arrow in file

Categories

(Core :: DOM: Selection, defect)

defect
Not set
major

Tracking

()

VERIFIED FIXED

People

(Reporter: aaronlev, Assigned: KaiE)

References

Details

(Keywords: access, testcase, topembed+, Whiteboard: EDITORBASE+ edt_x3)

Attachments

(2 files)

When I'm on line 1 of this document, I cannot down arrow.
Component: Editor: Core → Selection
Attached file Test case
to selection guru ->
Assignee: jfrancis → mjudge
QA Contact: sujay → pmac
NS7.01 from 11/20/02 does not have this bug.  My tip mozilla build from a week
ago or so show it, though.
This source has a p inside a font tag.  The "block in inline" quirks code may be
involved.
nominating EDITORBASE
Whiteboard: EDITORBASE
EDITORBASE+
QA Contact: pmac → beppe
Whiteboard: EDITORBASE → EDITORBASE+
Keywords: testcase
I think this looks like a nice bug to do my first steps with the editor code.
Can I take it?
-> me

I stepped through the code with the debugger.

Although the display only shows 2 lines, the internal data structures counts the
content as 5 (logical) lines.

When having selected something on visible line 1, the code operates on data
structure line 0.

When doing shift-cursor-down, the code goes to data structure line 1, and calls
nsLineIterator::FindFrameAt()

This data structure line 1 has a position of 0/555, but a size of 0/0.

I believe the failure happens when doing the check for 
  aX >= line->mBounds.XMost()
is reached, which results in signaling success to the caller and that
"aXIsAfterLastFrame".

This prevents the caller code at nsFrame::GetNextPrevLineFromBlockFrame to not
test later lines and fails somehow.

I believe the fix is to test for the special case where width is zero and fail
in FindFrameAt. This will cause the caller to continue searching in the next line.
Assignee: mjudge → kaie
Attached patch Patch v1Splinter Review
This patch appears to fix the problem.
jfrancis: Although you said you don't see the problem with NS 7.01, I do see it
with 7.01
Attachment #117721 - Flags: review?(mjudge)
I can repro this one using the current trunk build on win32 (2003031804)
Blocks: 192856
Comment on attachment 117721 [details] [diff] [review]
Patch v1

as long as you have tested it reasonably well
Attachment #117721 - Flags: review?(mjudge) → review+
Comment on attachment 117721 [details] [diff] [review]
Patch v1

Kin, can you please sr?
Attachment #117721 - Flags: superreview?(kin)
Comment on attachment 117721 [details] [diff] [review]
Patch v1

sr=kin@netscape.com
Attachment #117721 - Flags: superreview?(kin) → superreview+
Comment on attachment 117721 [details] [diff] [review]
Patch v1

I think I may have hastily sr'd this patch ... kai please test the case where
you arrow though blank lines ... I believe blank lines (in composer) only have
brs and brs don't have any dimensions so I'm not sure if this "blank" line will
be skipped by your patch.

Also, does this code get hit from selection via mouse?
It seems to work correctly.
I have tested the attached testcase on Windows and Linux.

In addition to the testcase I have used another testcase, where instead of a
single <br> the file contains <br><br><br>

With and without the patch, you have to press cursor down once for each <br>
that is present. That behaviour is not changed by the patch.

Note there is no visual feedback when selecting the empty lines.

I've also tested what happens when using the mouse to select. Again no visual
feedback for selecting the empty lines, but it still works.

Another test I did was to select all and paste it into an ascii editor. With and
without the patch the same amount of whitespace arrives at the destination.


I'm not sure whether that code change influences the mouse selection. Should I
trace whether that code is getting hit?
checked in, fixed
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
I have filed bug 200416, bug 200417, and bug 200418 which may be related to the
fix for this bug.
I have tested all the three bugs you mentioned. I can reproduce all bugs with
earlier versions of Mozilla, the checkin to this bug did not change the
behaviour for me.
reopening; this is a duplicate of 192320 which Kaie just fixed
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
oops; wrong bug!
Status: REOPENED → RESOLVED
Closed: 21 years ago21 years ago
Resolution: --- → FIXED
verifying with my mac debug build from today
carryover keywords from dupe
Status: RESOLVED → VERIFIED
Keywords: topembed+
Whiteboard: EDITORBASE+ → EDITORBASE+ edt_x3
No longer blocks: 192856
*** Bug 192856 has been marked as a duplicate of this bug. ***
*** Bug 194637 has been marked as a duplicate of this bug. ***
*** Bug 183137 has been marked as a duplicate of this bug. ***
This fix was long needed and makes for a much more pleasant experience (for me
anyway).  I can now down arrow on any page....except for pages with frames.  Why
can't the main part of any page with frames be selected by default so that the
arrow keys work?  Right now, using the arrow key will do nothing at all.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: