Project

General

Profile

Actions

Bug #4034

closed

File Open Dialog: WidgetSet mode and Cross Origin requests

Added by Prasad Dixit almost 9 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Urgent
Assignee:
Target version:
Start date:
05/02/2015
Due date:
% Done:

0%

Estimated time:

Description

Hi,

I have a Wt widget which is running on port 8080. I embedded it as a widget set in a page as shown below. The widget display and works perfectly fine (thank you!).

_

/div>

_

The bat file to start wt application looks like this:

_

REM Starts Wt server

set PATH=%~p0;PATH

set OLDPWD=CD

\"~p0\MyWtApp.exe\" ---docroot . ---http-port 8080 ---http-addr 0.0.0.0* ---config Config/wt_config.xml

_

The problem is I use FileUploadDialog to let users upload local file(s) and I get following error in widget set mode when the dialog is invoked.

_

Uncaught SecurityError: Blocked a frame with origin "http://localhost:8080" from accessing a frame with origin "http://localhost". Protocols, domains, and ports must match.

_

It works fine when Wt application is loaded in normal mode (ie; as a full pae application).

How can I fix it?

Thanks in advance!

-Prasad Dixit

Actions #1

Updated by Prasad Dixit almost 9 years ago

In IE file uploads successfully but not in Chrome. I believe, it is because IE doesn't include port into Same Origin components (http://stackoverflow.com/questions/3076414/ways-to-circumvent-the-same-origin-policy)

Actions #2

Updated by Wim Dumon almost 9 years ago

Referring to your stack overflow post, Wt uses 'The Cross-Origin Resource Sharing method' to tell a browser that the cross origin policy does not apply. What browsers work, what browsers don't work?

Best regards,

Wim.

Actions #3

Updated by Prasad Dixit almost 9 years ago

Hi Wim,

It works only in Microsoft's Internet Explorer. Sorry for using abbreviation 'IE' for Internet Explorer. In Google Chrome and Safari it doesn't work. I haven't tested Firefox. It works in Internet Explorer because Internet Explorer doesn't include port into Same Origin components, therefore http://company.com:81/index.html and http://company.com/index.html are considered from same origin and no restrictions are applied. (More info about IE's Same Origin Policy is here: https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy)

Thanks!

-Prasad

Actions #4

Updated by Koen Deforche almost 9 years ago

  • Status changed from New to InProgress
  • Assignee set to Koen Deforche
Actions #5

Updated by Koen Deforche almost 9 years ago

  • Status changed from InProgress to Resolved
Actions #6

Updated by Prasad Dixit almost 9 years ago

Hi Koen,

I see it marked as resolved. What is the solution?

Thanks!

-Prasad

Actions #7

Updated by Koen Deforche almost 9 years ago

There's a fix in github: I've decided to use window.postMessage(). It should work on all browsers but haven't tested all (I don't have IE here right now).

Actions #8

Updated by Prasad Dixit almost 9 years ago

Thanks!

Actions #9

Updated by Koen Deforche over 8 years ago

  • Status changed from Resolved to Closed
Actions #10

Updated by Koen Deforche over 8 years ago

  • Target version set to 3.3.5
Actions

Also available in: Atom PDF