I'm trying to understand cases where the critical update currently in Winter '13 orgs might come into play. The description of the update says:
Prior to the Winter ’13 release, text in some Visualforce pages and components might have been generated incorrectly. This markup could contain fragments that should have been escaped (for example, the "<" character generated as "<") but were not. These fragments might be interpreted by the browser as markup rather than as text in the page. This problem has been corrected for all pages with API version 26.0 or later.
I don't have the update activated and I've been playing around with it to see what cases might render the markup instead of escaping it. Here's my simple page (version 19.0):
<apex:page controller="HtmlEscapeController">
<apex:outputText value="{!text}"/>
</apex:page>
and here is my controller (also version 19.0):
public class HtmlEscapeController {
public String text {
get {
return '<h1>blah</h1>';
}
set; }
}
Based on the update description I was expecting the text to be rendered with the html tags, but it wasn't. I had to add escape="false". So, my question is, in what situations does the markeup not get escaped?