Closed Bug 617296 Opened 9 years ago Closed 9 years ago

A map is not displayed on map.yahoo.co.jp

Categories

(Core :: DOM: Core & HTML, defect, P1)

x86
All
defect

Tracking

()

RESOLVED FIXED
mozilla2.0b8

People

(Reporter: alice0775, Assigned: bzbarsky)

References

()

Details

(Keywords: regression)

Attachments

(1 file)

Build Identifier: 
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b8pre) Gecko/20101206 Firefox/4.0b8pre ID:20101206030318

A map is not displayed on map.yahoo.co.jp


Reproducible: Always

Steps to Reproduce:
1. Start Minefield with new profile
2. Open URL ( http://map.yahoo.co.jp/pl?lat=34.70577580&lon=135.51119390&ac=27127&az=2.1&v=2&sc=3 )
3.

Actual Results:
*A map is not displayed

 
 Error: URL is not a constructor
 Source file: http://map.yahoo.co.jp/js/scroll.js?_t=1137778669
 Line: 11

*Error when click "検索" tab (below Yahoo! logo)
 Error: $m is not defined
 Source file: javascript:$m.changeTab('search');
 Line: 1

*Error when click "検索" button at the right side of input box
 Error: $m is not defined
 Source file: http://map.yahoo.co.jp/js/scroll.js?_t=1137778669
 Line: 135

Expected Results:
 A map should be displayed.

Regression window;
Works:
http://hg.mozilla.org/mozilla-central/rev/5c0802167d09
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b8pre) Gecko/20101122 Firefox/4.0b8pre ID:20101123001318
Fails:
http://hg.mozilla.org/mozilla-central/rev/4b9ba5049e66
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b8pre) Gecko/20101123 Firefox/4.0b8pre ID:20101123045657
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=5c0802167d09&tochange=4b9ba5049e66

The following changeset causes the problem
bd5273da5263	Jonas Sicking — Bug 609030: Update createBlobURL/revokeBlobURL to it's final name. r=jst a=blocker
blocking2.0: --- → ?
Target Milestone: --- → mozilla2.0
It looks like the site uses |new URL(this)| in that first script above.  This used to work, though I can't find where they define a |function URL|.  But now window.URL is a (non-replaceable?) global property, so this fails.
Though no, that doesn't make sense.  If I do:

  function URL() {}

at global scope then new URL() works.  So we really need to figure out where the site expects this URL constructor to come from.
It is defined in 	http://map.yahoo.co.jp/js/scroll.js line 78
var URL=YMap.URL=function(a){this.ymain=a;this.initialize();};
Aha, an assignment.  Yeah, the non-replaceability is the problem there.
Attached patch Proposed fixSplinter Review
Jonas, we probably need to get the spec updated to say that this property is replaceable, right?
Attachment #495826 - Flags: review?(jonas)
Assignee: nobody → bzbarsky
Priority: -- → P1
Whiteboard: [need review]
Target Milestone: mozilla2.0 → ---
Comment on attachment 495826 [details] [diff] [review]
Proposed fix

There is no actual spec for the URL object yet, but I'll tell Adam Barth, who is the expected editor, that this is needed.
Attachment #495826 - Flags: review?(jonas) → review+
Whiteboard: [need review] → [need approval]
Attachment #495826 - Flags: approval2.0?
Whiteboard: [need approval] → [need landing]
Pushed http://hg.mozilla.org/mozilla-central/rev/35ea831c27ab

I still need to write a test for this; I forgot to do that earlier...
Status: NEW → RESOLVED
blocking2.0: ? → ---
Closed: 9 years ago
Flags: in-testsuite?
Resolution: --- → FIXED
Whiteboard: [need landing]
Target Milestone: --- → mozilla2.0b8
Duplicate of this bug: 617892
And pushed a test as http://hg.mozilla.org/mozilla-central/rev/5f8c179e1725
Flags: in-testsuite? → in-testsuite+
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.