Closed Bug 745936 Opened 12 years ago Closed 12 years ago

Display port should not override dirtyRect during hit detection

Categories

(Firefox for Android Graveyard :: General, defect)

defect
Not set
normal

Tracking

(blocking-fennec1.0 beta+)

RESOLVED FIXED
Firefox 14
Tracking Status
blocking-fennec1.0 --- beta+

People

(Reporter: wesj, Assigned: wesj)

Details

Attachments

(1 file, 2 obsolete files)

Put a bunch of logging in for a different bug, but noticed that the rect we use for hit testing was growing from a 1x1 rect to one the displayport size right here:

http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsGfxScrollFrame.cpp#2169

I think that means we're looking at way to many objects for hit testing when we have the display port turned on.
Attached patch Patch (obsolete) — Splinter Review
Assignee: nobody → wjohnston
Attachment #615468 - Flags: review?(roc)
Comment on attachment 615468 [details] [diff] [review]
Patch

Hmm.. seeing some issues. Maybe better to just get feedback first, since its possible I'm misinterpreting this code entirely.
Attachment #615468 - Flags: review?(roc) → feedback?(roc)
Comment on attachment 615468 [details] [diff] [review]
Patch

Review of attachment 615468 [details] [diff] [review]:
-----------------------------------------------------------------

Very good catch! But you should just make usingDisplayport false when aBuilder->IsForEventDelivery()
Attached patch Patch (obsolete) — Splinter Review
Ahh. That explains the problems I was seeing. Thanks
Attachment #615468 - Attachment is obsolete: true
Attachment #615468 - Flags: feedback?(roc)
Attachment #615502 - Flags: review?(roc)
Comment on attachment 615502 [details] [diff] [review]
Patch

Doh. Thats not right...
Attachment #615502 - Flags: review?(roc)
Attached patch PatchSplinter Review
Heh. Yep. Just fixing that.
Attachment #615502 - Attachment is obsolete: true
Attachment #615510 - Flags: review?(roc)
Requesting blocking
blocking-fennec1.0: --- → ?
blocking-fennec1.0: ? → beta+
Does this mean the we're also using the display port during painting when we should be using the dirtyRect? i.e. could this also be the explanation for large displaylist computation during paint?
We always have to recompute the display list for the whole displayport, by design.

(Maybe that can be improved, but certainly not before DLBI lands.)
https://hg.mozilla.org/mozilla-central/rev/372d32e0ea61
https://hg.mozilla.org/mozilla-central/rev/1f86ad4f883d

Leaving open as the second changeset is empty - not sure what the intention was?
Target Milestone: --- → Firefox 14
Just didn't realize it had already landed.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: