[etoys-notify] [JIRA] Commented: (SQ-551) Browser plugin fail on IE and Firefox

tracker at squeakland.org tracker at squeakland.org
Tue Nov 3 08:07:36 EST 2009


     [ http://tracker.immuexa.com/browse/SQ-551?page=comments#action_38547 ]
     
Bert Freudenberg commented on SQ-551:
-------------------------------------

Ah, great Karl, thanks for testing. We're getting somewhere.

The difference of my test launcher to the one at squeakland is that the "apiSupported" parameter is set to "FALSE". This governs whether Etoys should use the browser's API to fetch data from an URL or if it should make its own new network connection. The benefit of using the API is that it will work with proxies and benefit from browser caching. But it is notoriously unreliable, much effort would need to be spent to make sure it works with every new browser.

The parameter used to be set on the server-side based on the browser's user-agent. A work-around would be to just set it to FALSE like I did. We'd lose proxy support though. Ideas welcome.

> Browser plugin fail on IE and Firefox
> -------------------------------------
>
>          Key: SQ-551
>          URL: http://tracker.immuexa.com/browse/SQ-551
>      Project: squeakland
>         Type: Bug
>   Components: etoys-win
>     Reporter: Karl Ramberg
>     Priority: Blocker
>      Fix For: etoys 4.1 and showcase - june 2010

>
>
> I have not been able to get the browser plugin to work on either IE8 or Firefox. It work however on Google Chrome.
> If this problem i widespread it is quite serious for Etoys4 release since IE is a large part of our potential users. The fail is in StandardFileStream>>primURLRequestFileHandle: request that never get a file handle.
> I changed this code to print to the Transcript and got 3 Fails printed.
> StandardFileStream>>requestURLStream: url ifError: errorBlock
> 	"Request a FileStream for the given URL.
> 	If Squeak is not running in a browser evaluate errorBlock"
> 	"FileStream requestURLStream:'http://www.squeak.org'"
> 	| sema index request result |
> 	self waitBrowserReadyFor: self defaultBrowserReadyWait ifFail: [^errorBlock value].
> 	sema _ Semaphore new.
> 	index _ Smalltalk registerExternalObject: sema.
> 	request _ self primURLRequest: url semaIndex: index.
> 	request == nil ifTrue:[
> 	
> 	Smalltalk unregisterExternalObject: sema.
> 		^errorBlock value.
> 	] ifFalse:[
> 		[sema wait. "until something happens"
> 		result _ self primURLRequestState: request. 
> 		result == nil] whileTrue.
> 		result ifTrue:[Transcript show: result asString.fileID _ self primURLRequestFileHandle: request].
> 		self primURLRequestDestroy: request.
> 	].
> 	Smalltalk unregisterExternalObject: sema.
> 	fileID == nil ifTrue:[Transcript show: 'Fail'.^nil].
> 	self register.
> 	name _ url.
> 	rwmode _ false.
> 	buffer1 _ String new: 1.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://tracker.immuexa.com/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



More information about the etoys-notify mailing list