Opened 6 years ago

Closed 5 years ago

#440 closed defect (incomplete)

safari disarranges slide show images at rollingstone.com

Reported by: philll Assignee:
Priority: P2 Milestone:
Module: Unknown Keywords:
Cc: arthur, sebastian Blocked By:
Blocking: Platform: Safari
Ready: yes Confidential: no
Tester: Verified working: no
Review URL(s):

Description (last modified by philll)

Environment

Safari Version 7.0.3 (9537.75.14)
ABP 1.7.4.1171 with Easylist

How to reproduce

  1. Go to http://www.rollingstone.com/music/pictures/readers-poll-your-favorite-prog-rock-albums-of-all-time-20120725/8-rush-hemispheres-0015975
  2. Click the red forward button of the image slideshow

Observed behaviour

The image is disarranged as displayed in attachment:safari_rollingstone_slideshow.png

Expected behaviour

As in Chrome, the image should be nicely aligned left to the text.

Attachments (1)

safari_rollingstone_slideshow.png (673.0 KB) - added by philll 6 years ago.

Download all attachments as: .zip

Change History (6)

Changed 6 years ago by philll

comment:1 Changed 6 years ago by philll

  • Description modified (diff)

comment:2 Changed 6 years ago by sebastian

  • Cc arthur sebastian added

This is a bug in Safari's layout engine. The width of #imgWrapper isn't updated when the contained image has been loaded. But if you force Safari to re-render that part of the page (for example by changing/adding a random style with the inspector) it is rendered correctly.

That bug is triggered when a certain script is blocked. However it has nothing to do with the code of that script, but maybe with its position in the DOM. If you save the page an remove the script with a text editor, the page is rendered correctly. But blocking that script breaks the layout of the website.

That issue is not specific to Adblock Plus, you can reproduce it with a standalone extension, that does nothing but injects following script:

document.addEventListener("beforeload", function(event)
{
  if (event.url.indexOf("http://ad.doubleclick.net/adj/rstone.site/music/photos") == 0)
    event.preventDefault();
}, true);

As workaround you can add following filter, whitelisting that script:

@@||ad.doubleclick.net/adj/rstone.site/music/photos$script,domain=rollingstone.com

It seems that still no ads will show up, when that script isn't blocked anymore. So we just might want add that exception rule to EasyList?

comment:3 Changed 6 years ago by sebastian

  • Resolution set to fixed
  • Status changed from new to closed

The exception rule has been added to EasyList:
https://hg.adblockplus.org/easylist/rev/8821992d3753

comment:4 Changed 5 years ago by trev

  • Platform set to Unknown
  • Resolution fixed deleted
  • Status changed from closed to reopened

Reopening to fix resolution.

comment:5 Changed 5 years ago by trev

  • Platform changed from Unknown to Safari
  • Resolution set to invalid
  • Status changed from reopened to closed
Note: See TracTickets for help on using tickets.