Bug 15293
| Summary: | eBay item "SuperSize" popup image viewer does not display images | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Cameo Wood <cameowood> |
| Component: | Evangelism | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED CONFIGURATION CHANGED | ||
| Severity: | Normal | CC: | aroben, jensimmons, mrowe, vicki, webkit-bug-importer |
| Priority: | P2 | Keywords: | HasReduction |
| Version: | 523.x (Safari 3) | ||
| Hardware: | All | ||
| OS: | All | ||
| URL: | http://cgi.ebay.com/Titan-Missile-Base-Central-Washington_W0QQcmdZViewItemQQcategoryZ1607QQihZ009QQitemZ190132455924QQrdZ1 | ||
Cameo Wood
On an eBay item page, there is an option to view item photos in a "supersized" format that opens a new popup window and displays the enlarged images there. This seems to be a cross-platform bug that doesn't display this image. This site works in FF and IE.
Go to the above ebay item.
Click on the "Supersize" link under the thumbnail image on the left side of the page.
A new window pops up but no image is displayed.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Mark Rowe (bdash)
I see the following JS exception when following the instructions:
Undefined value
http://include.ebaystatic.com/js/v/us/features/viewitem/viPopupBody.js:503
That line of code looks like the following:
if(client.safari){var ifhack=(typeof(ebay)!="undefined")?ebay.oDocument.createElement("iframe"):document.createElement("iframe");ifhack.style.width='1px';ifhack.style.height='1px';ifhack.style.visibility='hidden';document.body.appendChild(ifhack);with(ifhack.document){open();write('<body> </body>');close();}
To pretty it up a bit:
if (client.safari) {
var ifhack = (typeof(ebay) != "undefined") ? ebay.oDocument.createElement("iframe") : document.createElement("iframe");
ifhack.style.width = '1px';
ifhack.style.height = '1px';
ifhack.style.visibility = 'hidden';
document.body.appendChild(ifhack);
with(ifhack.document) {
open();
write('<body> </body>');
close();
}
this.iframeHack = ifhack;
}
It is the clause
with (ifhack.document) {
that is triggering the issue. I found this by judicious experimentation with javascript entry in the address bar.
David Kilzer (:ddkilzer)
(In reply to comment #1)
> It is the clause
> with (ifhack.document) {
iframe.document was changed to iframe.contentDocument in r21651, ironically to fix eBay layout! (See also Bug 14054.)
http://trac.webkit.org/projects/webkit/changeset/21651
eBay should be feature-testing for iframe.contentDocument instead of using user agent detection.
I'm guessing this should be an evangelism bug.
Cameo Wood
This bug still is a problem- anything I can do to help?
David Kilzer (:ddkilzer)
(In reply to comment #2)
> eBay should be feature-testing for iframe.contentDocument instead of using user
> agent detection.
>
> I'm guessing this should be an evangelism bug.
Clearly an evangelism bug.
For more information about using "object detection" (not "feature detection") to detect iframe.contentDocument, see:
http://developer.apple.com/internet/webcontent/objectdetection.html
Maciej Stachowiak
I think eBay should be able to remove this Safari-specific code path entirely, at least for Safari 3.