Now the application no longer needs to care about the tile origin, because the CacheWrite control modifies the url if the CORS image loading is disabled and it is from a different origin. This only requires OpenLayers.ProxyHost to be properly configured. Also local storage keys use the original url instead of the proxied url, to make the CacheRead control work without proxy settings.
No deferred exceptions are thrown any more. Instead, OpenLayers.Console is used to show an error message for security exceptions.
We now check for OpenLayers.Tile.Image, because other tile types (e.g. UTFGrid) are not supported (yet).
To make the same origin handling in the CacheWrite control easier, OpenLayers.Request now exposes the same origin logic from request.issue as a separate function, so it can also be used by other components.
The zoom control allows for zoom in/out links that can be styled with CSS.
Note: This change was originally captured in #269. It involves nice additions thanks @ahocevar. The changes were unintentionally merged and then reverted with fb3caf1561, so the history of commits is not immediately apparent (though still likely there somewhere due to the magic of git).
Previously, a map could not be destroyed if it included a permalink control without an "element". In addition, a permalink control could not be destroyed if it didn't have a reference to a map.
When the list of event types became unconstrained in 501b42228a, we lost the documentation for events that are triggered. This change adds the list of events triggered to the API docs for events properties.
With the buttonclick event, we can also handle clicks on layer names and checkboxes/radiobuttons when they get the olButton class. To make this work on iOS, we have to add a check in buttonclick.js to handle the case where the event occurred on a text element (nodeType === 3).
Whitespace fixed from patch, and removed docs for beforefeatureselected and featureselected events because they are fired on the layer, not the control.
p=mosesonline, r=me (closes http://trac.osgeo.org/openlayers/ticket/3538)
For PanZoomBar, this fixes the slider behavior. Now the buttonclick listener argument also includes a buttonXY property, and PanZoomPanel does not need an Events instance for the zoombarDiv any more.
For Panel, this fixes events for panels outside the map. Just setting the element on the Events instance was no longer enough after e70569b2bb. Events::attachToElement is now used, and it needed to be modified to also work if the Events instance had no element previously.
Finally, I renamed the button property of the buttonclick listener argument to buttonElement, to not confuse it with the browser event button property, and added some more tests and documentation.