Closed Bug 412128 Opened 16 years ago Closed 16 years ago

'Refresh' link on eBay auction listings don't work | Regression from Firefox 2

Categories

(Tech Evangelism Graveyard :: English US, defect, P2)

x86
All
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ronin.achilles, Unassigned)

References

Details

(Keywords: regression, relnote)

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9b3pre) Gecko/2008011005 Minefield/3.0b3pre
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9b3pre) Gecko/2008011005 Minefield/3.0b3pre

When an auction on eBay enters the last 15 minutes, a 'Refresh' link appears in the right hand corner of the center box (beside the price). Clicking this link should update the page and time remaining for the auction.

Expected behavior:
- Clicking this 'Refresh' link should update the listing and time remaining

Actual behavior:
- The listing and time remaining is not updated

Have confirmed that this works perfectly on Firefox 2.

Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Attaching screenshot of the 'refresh' link that appears in the last 15 mins of an Auction on eBay.
Flags: blocking-firefox3?
Confirmed with Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b3pre) Gecko/2008011504 Minefield/3.0b3pre

Additional notes: 

* I wasn't logged in while duplicating the bug, in case that makes a difference.

* The throbber and progress-bar were active as if something were being downloaded.

* Got these JS errors after clicking the "refresh" link:
<<<<
Error: uncaught exception: Permission denied to get property Window.document

Security Error: Content at http://include.ebaystatic.com/js/e547/us/features/viewitem/response_e5473us.js may not load data from http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=180206951840&fastrefresh=true&lastaccessed=1200461781000&lvr=0&hb=KAiMiTcrKYnMRVTBgOU8ASy30NVZpSHd&rm=false.

Error: ebay is not defined
Source File: http://include.ebaystatic.com/js/e547/us/features/viewitem/response_e5473us.js
Line: 32

Error: ebay is not defined
Source File: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=180206951840&fastrefresh=true&lastaccessed=1200461781000&lvr=0&hb=KAiMiTcrKYnMRVTBgOU8ASy30NVZpSHd&rm=false
Line: 7

Security Error: Content at http://include.ebaystatic.com/js/e543/us/iframefooter_tracking_e5431us.js may not load data from http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=180206951840&fastrefresh=true&lastaccessed=1200461781000&lvr=0&hb=KAiMiTcrKYnMRVTBgOU8ASy30NVZpSHd&rm=false.

Error: ebay is not defined
Source File: http://include.ebaystatic.com/js/e543/us/iframefooter_tracking_e5431us.js
Line: 105
>>>>

* These errors didn't show up if I simply used Alt-R to refresh the page.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Component: General → Security
OS: Windows Vista → All
Version: unspecified → Trunk
Component: Security → General
Is this a new restriction on Window.document? cc'ing some people who might be more in the know ..
Flags: blocking-firefox3? → blocking-firefox3+
Possibly.  See bug 397828.  That said, IE7 has the same behavior, as that bug says.  So this might be something else...  or maybe this site doesn't work in IE7.  Or IE7 doesn't behave like we think it does.  Or the site is browser-sniffing...
Blocks: 397828
Yes, certainly sounds like that is the problem. Can we try to evangelize them?
Component: General → DOM
Flags: blocking-firefox3+
Product: Firefox → Core
QA Contact: general → general
Flags: blocking1.9?
Keywords: regression
Flags: tracking1.9? → blocking1.9?
So this is probably not the new restriction on getting .document on cross-origin windows as that would produce a different error than any of the ones listed in comment 2.

We really need a minimal testcase here. Martijn, could you try to minimize this to see what's failing compared to FF2?
Lets block on trying to figure this one out. But there is a big risk that it needs to be evangelized.
Flags: blocking1.9? → blocking1.9+
Priority: -- → P2
--> sicking - re-assign if not right
Assignee: nobody → jonas
(In reply to comment #6)
> So this is probably not the new restriction on getting .document on
> cross-origin windows as that would produce a different error than any of the
> ones listed in comment 2.

Comment 2 does mention "Error: uncaught exception: Permission denied to get property Window.document".  I think relevant code in 
http://include.ebaystatic.com/js/e557/us/iframebody_e5573us.js is:

wo=(window.parent!=window)?window.parent:window.opener
prt=(wo&&(typeof(wo.document)!="unknown")&&...

This causes new Ebay() to throw, which causes |ebay| to be null, causing the other errors.

I don't know what triggers the "Security Error: [...].js may not load data from [...]" messages, though.
Turns out that IE's typeof operator can return the bogus value "unknown" in certain situations, such as if you try to access window.document when you're not allowed to.  (void window.document) throws; (typeof window.document) returns "unknown".

I believe eBay was relying on IE (currently the only shipping browser that doesn't allow access to window.document cross-domain) having this additional typeof quirk, and expecting other browsers to allow access to window.document.

I don't think we're going to copy this IEism.
--> Tech Evangelism
Assignee: jonas → english-us
Component: DOM → English US
Flags: blocking1.9+
Product: Core → Tech Evangelism
QA Contact: general → english-us
Version: Trunk → unspecified
> I don't know what triggers the "Security Error: [...].js may not load data

Probably us suppressing the cross-site error event.  shaver should be landing a fix for that sometime soon.
Blocks: 386685
So rather than

if (typeof(wo.document) != "unknown")) {
  ...

they should really do

sameOrigin = true;
try { wo.document; }
catch (e) { sameOrigin = false; }
if (sameOrigin) {
  ...

That should work in both Firefox and IE.

It would also be great to know where they got the typeof "trick" from. If it's
in some tutorial somewhere we should try to get the tutorial changed.
I am reaching out to contacts at eBay to notify them of the Firefox 3 compat issue.  Will also attempt to find out the source of the "trick" for further evangelism.
As an update, I sent email today to one of the Product Development managers at eBay to try to get the change made.
I just heard back from the eBay developer who is implementing the change on their side, and they expect to release the fix by 6/23.  Obviously this could happen after Fx3 releases.  I've added the relnote keyword to make sure we note the potential compatibility issue.
Keywords: relnote
The eBay developer said she got the fix into the next release cycle which should roll out next week.  I will get a specific release date/time and will verify the fix once it's in production.
You can close bug 437660, which is a duplicate of this one.
I can confirm that this bug has been fixed on eBay's auction listings and the "Refresh" link on soon-ending items works in Firefox 3.  Marking as RESOLVED FIXED.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Thanks Brandon! And anyone from ebay that worked on getting this fixed in time for FF3 shipping of course!
Sweet! Well done Brian, you pulled the right strings here!
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in before you can comment on or make changes to this bug.