conveyal / analyst-server

DEPRECATED; see https://github.com/conveyal/analysis-ui
MIT License
37 stars 6 forks source link

unable to upload GTFS feeds under Chrome #264

Closed abyrd closed 8 years ago

abyrd commented 8 years ago

I’m unable to upload GTFS feeds in analyst-server under Chrome (works in Firefox).

Console error messages:

POST https://analyst.conveyal.com/api/bundle net::ERR_CONNECTION_REFUSED(anonymous function) @ jquery.iframe-transport.js:225d @ jquery-2.1.1.min.js:11n.event.dispatch @ jquery-2.1.1.min.js:11r.handle @ jquery-2.1.1.min.js:11(anonymous function) @ jquery-2.1.1.min.js:11n.fn.extend.domManip @ jquery-2.1.1.min.js:11n.fn.extend.append @ jquery-2.1.1.min.js:11send @ jquery.iframe-transport.js:231n.extend.ajax @ jquery-2.1.1.min.js:12Backbone.ajax @ backbone.js:1209Backbone.sync @ backbone.js:1188_.extend.sync @ backbone.js:286_.extend.save @ backbone.js:493A.transportData.BundleCreateView.Backbone.Marionette.Layout.extend.saveBundleCreate @ transport-data.js:146n.event.dispatch @ jquery-2.1.1.min.js:11r.handle @ jquery-2.1.1.min.js:11
jquery.iframe-transport.js:205

Uncaught SecurityError: Blocked a frame with origin "https://analyst.conveyal.com" from accessing a frame with origin "null".  The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "data". Protocols must match.

Using Chrome 48.0.2564.97 (Official Build) (64-bit)

Matt's analysis: What’s happening is that the file upload happens in a captive iframe with a data: url. This used to work fine because chrome treated the data url as being the same origin as the containing page. But evidently now it’s decided it’s not, not sure why, because the data page is still served over the same connection.

mattwigway commented 8 years ago

Fixed in 7064eb21f8ebc29bfe47b1e99e51cfdf098decb9