HTML5 SetColor 'cross-origin' bug
Monkey Forums/Monkey Programming/HTML5 SetColor 'cross-origin' bug| 
 | ||
| I was getting this error in Chrome (can't get Firefox to run from Monkey for some reason!), after using SetColor to draw rects followed by an image: Monkey Runtime Error : SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data. D:/DevTools/Monkey/modules/mojo/graphics.monkey<461> D:/Development/Monkey/noise/noise.monkey<34> D:/DevTools/Monkey/modules/mojo/app.monkey<113> Example code: 
Import mojo
#MOJO_IMAGE_FILTERING_ENABLED = False
Const STEPSIZE:Int = 8
Class NoiseMaker Extends App
	Field loading:Image
	
	Method OnCreate ()
		loading = LoadImage ("loading.png")
		SetUpdateRate 30
	End
	
	Method OnUpdate ()
		
	End
	
	Method OnRender ()
	
		Cls
		
		For Local y:Int = 0 Until 640 Step STEPSIZE
			For Local x:Int = 0 Until 640 Step STEPSIZE
				Local rgb:Int = Rnd (0, 256)
				SetColor rgb, rgb, rgb
				DrawRect x, y, STEPSIZE, STEPSIZE
			Next
		Next
		
		' SetColor 255, 255, 255
		DrawImage loading, 32, 32
		
	End
	
End
Function Main ()
	New NoiseMaker
End
I can *either* draw the rects *or* the image, but not both! However, if I then add a SetColor before drawing the image -- see commented-out line above -- it's fine. Wonder if that could be automated or otherwise detected and flagged on the HTML5 target... ? | 
| 
 | ||
| I'd guess that you are loading the resulting html file into your browser directly rather than via a server. The security issues are why Monkey has a HTTP server for launching HTML5 builds. | 
| 
 | ||
| Gah! You're right! Thanks -- I'd sort of forgotten about MServer, having had Chrome launching directly for many moons. Sorry, Mark, ignore... |