Opened on 03/25/2015 at 01:53:30 PM
Closed on 04/08/2015 at 11:54:37 AM
Last modified on 04/08/2015 at 03:50:37 PM
#2215 closed defect (fixed)
"Block element" freezes page when highlighting too many elements
Reported by: | passbrains | Assignee: | sebastian |
---|---|---|---|
Priority: | Unknown | Milestone: | Adblock-Plus-1.9-for-Chrome-Opera-Safari |
Module: | Platform | Keywords: | |
Cc: | sebastian, Ross | Blocked By: | |
Blocking: | Platform: | Opera | |
Ready: | yes | Confidential: | no |
Tester: | Verified working: | no | |
Review URL(s): |
Description (last modified by sebastian)
Adapted from https://www.passbrains.com/dashboard/view-ticket.php?ticket_no=AOP-205
Environment
Windows + Vista 64bit + Opera + English
ABP version opera 1.8.12.1396
How to reproduce
- Install latest ABP extension.
- Load website http://fileinfo.com/filetypes/video
- Click on ABP icon and select "Block Element".
- Select second row to block as shown in snapshot.
- Observe 1
- Try to move mouse cursor anywhere.
- Observe 2.
Observed behaviour
Observe 1 : Add filter dialog does not cpme up.
Observe 2 No response on screen on moving mouse cursor.
Check 3 times, same behavior observed.
Expected behaviour
Add filter dialog should come up immediately. The page shouldn't freeze.
Attachments (1)
Change History (10)
Changed on 03/25/2015 at 01:53:33 PM by passbrains
comment:1 Changed on 03/25/2015 at 01:53:36 PM by passbrains
comment:2 Changed on 03/25/2015 at 05:53:14 PM by sebastian
- Cc sebastian Ross added
- Description modified (diff)
That is because the high number of other elements with the same class which will be highlighted as well when that element is selected.
Instead of highlighting all elements at once, I could highlight them progressively. This would prevent the tab from freezing and the dialog would show up immediately, while the remaining elements will get highlighted in the background with a delay.
Though I'm not sure whether that it worth it. This seems like a corner case to me.
comment:4 Changed on 04/05/2015 at 06:19:29 PM by sebastian
- Component changed from Unknown to Platform
comment:5 Changed on 04/08/2015 at 10:19:47 AM by sebastian
- Description modified (diff)
- Owner set to sebastian
- Ready set
- Summary changed from Selecting element for blocking cuase non response/hang of webpage to "Block element" freezes page when highlighting too many elements
comment:6 Changed on 04/08/2015 at 10:26:12 AM by sebastian
- Review URL(s) modified (diff)
- Status changed from new to reviewing
comment:7 Changed on 04/08/2015 at 11:54:37 AM by sebastian
- Milestone set to Adblock-Plus-for-Chrome-Opera-Safari-next
- Resolution set to fixed
- Status changed from reviewing to closed
comment:8 Changed on 04/08/2015 at 12:21:06 PM by sebastian
The elements are now highlighted progressively, giving other code a chance to run in between highlighting the individual elements. This will still result in high CPU-load when a huge number of elements is highlighted. But the dialog should show up immediately and the page shouldn't freeze anymore.
@Ross: Can you confirm that this change fixes this issue as well as #2210?
comment:9 Changed on 04/08/2015 at 03:50:37 PM by Ross
Fixed and feels much more responsive (comparing to Opera which currently doesn't have this fix). Dialog appears quickly and I couldn't reproduce the page freezing at all.
Chrome 41.0.2272.118 / Windows 8.1 x64 / ABP: 1.8.12.1409
1 - 25 Mar 2015 13:53:17 posted by Ross Green
Reproduced.
It appears to hang for a "long" time (5+ seconds) after selecting one of the list entries. The Add filter dialog is eventually displayed with either "fileinfo.com##.odd" or "fileinfo.com##.even" as the filter.
Opera 28 / Windows Vista x64 / ABP Build: 1.8.12.1401