Closed
Bug 382595
Opened 17 years ago
Closed 17 years ago
SVG image is covered with horizontal lines when scrolled - recent regression
Categories
(Core :: SVG, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: duncan.loveday, Assigned: sharparrow1)
References
Details
(Keywords: regression, testcase)
Attachments
(8 files, 8 obsolete files)
112.08 KB,
image/jpeg
|
Details | |
5.91 KB,
image/png
|
Details | |
2.12 KB,
patch
|
roc
:
review+
roc
:
superreview+
|
Details | Diff | Splinter Review |
113.31 KB,
image/pjpeg
|
Details | |
76.35 KB,
image/pjpeg
|
Details | |
1.64 KB,
application/x-zip-compressed
|
Details | |
72.98 KB,
image/pjpeg
|
Details | |
4.03 KB,
patch
|
roc
:
review+
roc
:
superreview+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a5pre) Gecko/20070530 Minefield/3.0a5pre
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a5pre) Gecko/20070530 Minefield/3.0a5pre
In the attached test case, an SVG image is contained within a frame with an explicitly-specified frame border. When the image initially renders, a spurious horizontal line is present. Scrolling the image causes it to become covered in horizontal lines.
Reproducible: Always
Steps to Reproduce:
1. Open the attached test.html
2. Click the button "Click Me".
3. A popup window appears with two frames in which frame1 contains another "Click Me" button. click this.
4. An SVG image appears in frame 2.
5. Scroll the image up and down.
Actual Results:
After step 4, the SVG image has a spurious horizontal line.
After step 5 the SVG image is covered in horizontal lines.
Expected Results:
The SVG should not have any horizontal lines on it.
Essential to the test case are
(i) Use of a popup window (OK if frameset.html is loaded directly);
(ii) Use of an explicitly-specified frame border (OK with default border);
(iii) Loading the SVG in frame 2 from an on-click event in frame 1 (OK if loaded by specifying src="frame2.html" in the frameset).
Regression in the last few weeks.
Reporter | ||
Comment 1•17 years ago
|
||
Reporter | ||
Comment 2•17 years ago
|
||
Reporter | ||
Comment 3•17 years ago
|
||
Reporter | ||
Comment 4•17 years ago
|
||
Reporter | ||
Comment 5•17 years ago
|
||
Reporter | ||
Comment 6•17 years ago
|
||
Reporter | ||
Updated•17 years ago
|
Keywords: regression,
testcase
Comment 7•17 years ago
|
||
It regressed in two steps. First you see a black bar on top. The bug that caused this black bar is in this range: http://bonsai.mozilla.org/cvsquery.cgi?module=PhoenixTinderbox&date=explicit&mindate=1179885660&maxdate=1179892439
The second regression range (with the bug that caused the lines) is:
http://bonsai.mozilla.org/cvsquery.cgi?module=PhoenixTinderbox&date=explicit&mindate=1180146780&maxdate=1180152899
Comment 8•17 years ago
|
||
Assignee | ||
Comment 9•17 years ago
|
||
Taking; I haven't fully figured out what's going on, but I'll try to have a patch soon.
Assignee: nobody → sharparrow1
Assignee | ||
Comment 10•17 years ago
|
||
Okay, I have a fix for the black border; I'll post it in a bit once I sort out the patch.
There's an issue here with the painting of the frameset border (you should be able to reproduce by dragging a window over the page). There's also a minor issue with events which I don't have a patch for at the moment. I think the border is somehow thicker than its visible part, and is therefore catching events it shouldn't. That, combined with the painting code for the border being broken for unusual translations, and the transparency of the frames, leads to this painting bug.
The third issue is the scrolling; I think the scrolling code is getting messed up by not taking into account the offset getting used for painting.
(Ugh, having all these widgets around makes getting rounding right a mess...)
Reporter | ||
Comment 11•17 years ago
|
||
Don't know if it's important but the thing about having to be in a popup window is a red herring. The requirement is only that the window is NOT MAXIMISED. You can see this by opening the frameset.html (https://bugzilla.mozilla.org/attachment.cgi?id=266746) directly. You only see the bug if the firefox window you open it in is NOT maximised.
Assignee | ||
Comment 12•17 years ago
|
||
Some corrections to the view-widget offset handling.
Attachment #270064 -
Flags: review?(roc)
Attachment #270064 -
Flags: superreview+
Attachment #270064 -
Flags: review?(roc)
Attachment #270064 -
Flags: review+
Assignee | ||
Comment 13•17 years ago
|
||
Checked in.
Status: NEW → RESOLVED
Closed: 17 years ago
Flags: in-testsuite?
Resolution: --- → FIXED
Reporter | ||
Comment 14•17 years ago
|
||
This patch has fixed the original test case but I'm still seeing the problem in other test cases. Attaching a revised frame1.html. To recreate the issue
1) Open test.html.
2) Click "Click Me" (popup opens).
3) Click "Click Me" in top frame of popup.
4) Click "Resize Me" in top frame of popup.
5) Scroll bottom frame of popup up and down.
Attachment #266745 -
Attachment is obsolete: true
Reporter | ||
Comment 15•17 years ago
|
||
New frameset source, required to reference new frame1
Attachment #266746 -
Attachment is obsolete: true
Reporter | ||
Comment 16•17 years ago
|
||
New test HTML source, required to reference new frameset.
Attachment #266748 -
Attachment is obsolete: true
Reporter | ||
Updated•17 years ago
|
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 17•17 years ago
|
||
I can't reproduce. Not sure what's going on... can you post a screenshot with a trunk build from today?
Reporter | ||
Comment 18•17 years ago
|
||
Here's a screenshot.
One thing I did notice is that when I switch to another window and back again most of the horizontal lines go away although there is still a single horizontal line at the top of the SVG
Reporter | ||
Comment 19•17 years ago
|
||
Actually the single line above the SVG appears as soon as I click "Resize me" (see attached). Then when I scroll the frame that line seems to generate lots more lines. After switching to another window and back again those extra lines produced during scrolling have gone and I just have the single line.
Also, if I click "resize me" before "click me" everything works.
Comment 20•17 years ago
|
||
(In reply to comment #14)
(In reply to comment #15)
(In reply to comment #16)
Duncan: it'd be slightly less clutter/bugspam if you attached multi-file testcases as jars (zips). :-) Basically, you get the testcase working using only relative paths, as a set of files, and then you dump them into a zip file, in exactly the relative directory structure they have on disk. Then, to use the testcase, you create a jar URL pointing to the file which runs the entire testcase. For example, if "foo.html" in a folder "foo" in the zip is the file which demonstrates the bug, you'd provide a URL like this:
jar:the-zip-file-url.zip!/foo/foo.html
The only downside to this is that you can't run the test cross-browser, as at the moment I don't believe any other browsers support jar URLs.
Reporter | ||
Comment 21•17 years ago
|
||
Thanks, I didn't know I could do that. It is indeed a pain to have to re-attach and obsolete lots of files when another attachment changes.
Assignee | ||
Comment 22•17 years ago
|
||
Hmm, I can't reproduce with the testcase you uploaded. Are you sure you uploaded the right thing? Are there any tweakable parameters you could expose in the testcase?
Reporter | ||
Comment 23•17 years ago
|
||
I get it every time, by clicking on the https://bugzilla.mozilla.org/attachment.cgi?id=270240 and the "Click Me" and then "Click Me" in the popup and then "Resize Me" in the popup and then scroll the bottom frame. Does the popup window resize itself to be narrower when you click "Resize me" ? If not, try re-sizing the window manually.
Reporter | ||
Comment 24•17 years ago
|
||
Attachment #266743 -
Attachment is obsolete: true
Attachment #266744 -
Attachment is obsolete: true
Attachment #270237 -
Attachment is obsolete: true
Attachment #270239 -
Attachment is obsolete: true
Attachment #270240 -
Attachment is obsolete: true
Reporter | ||
Comment 25•17 years ago
|
||
Assignee | ||
Comment 26•17 years ago
|
||
Hmm, I can reproduce in a nightly, but not in my build; I think I actually have a patch for this issue in my tree.
Depends on: 368280
Reporter | ||
Comment 27•17 years ago
|
||
That's a relief. I'll give it another go as soon as you have the patch into a nightly.
Comment 28•17 years ago
|
||
This bug here caused Bug 386507, backing out the patch locally fixed it.
Depends on: 386507
Reporter | ||
Comment 29•17 years ago
|
||
You're going to hate me for this but here goes.
The effect I was seeing before, black lines on scrolling, has gone in the nightly from 2006-07-02. But I'm seeing something else now, a little harder to reproduce.
Using the same test case, jar:https://bugzilla.mozilla.org/attachment.cgi?id=270335!/test.html, perform these steps
1) Click me
2) Click me in the popup top frame
3) drag the frame border downwards until most of the blue square is off the bottom of the screen
4) scroll the bottom frame up by pressing and holding the down arrow on the scrollbar.
When I do this I see white horizontal lines across the image, see attached.
Assignee | ||
Comment 30•17 years ago
|
||
(In reply to comment #29)
> You're going to hate me for this but here goes.
Well, the fact that all these bugs keep popping up is annoying, but please keep doing it; it's better to have someone to poke holes in my patches than for bugs to ship.
I'll have to investigate a bit more to figure out what's going on here.
Assignee | ||
Comment 31•17 years ago
|
||
(I'm still building with this, but I'm pretty sure this is the issue.)
Multiplying by the inverse is sufficient for general floating-point arithmetic; however, we are extremely sensitive to rounding here.
Attachment #270607 -
Flags: review?(roc)
Attachment #270607 -
Flags: superreview+
Attachment #270607 -
Flags: review?(roc)
Attachment #270607 -
Flags: review+
Assignee | ||
Comment 32•17 years ago
|
||
Patch checked in; any more issues?
Reporter | ||
Comment 33•17 years ago
|
||
Looking good from here now. Have tried all three variants of the test case and also my original app and they all seem to be fine.
Comment 34•17 years ago
|
||
Can this be closed now?
Assignee | ||
Comment 35•17 years ago
|
||
Yeah, I think so. Any additional issues can go into other bugs.
Status: REOPENED → RESOLVED
Closed: 17 years ago → 17 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•