Commit a153d452 authored by estade@chromium.org's avatar estade@chromium.org

fix jstemplate_builder::UseVersion2

realized the old implementation was over-complicated and could fail if two objects had interleaved, rather than nested, scope.

BUG=none
TEST=manual


Review URL: http://codereview.chromium.org/10269008

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134663 0039d316-1c4b-4281-b951-d872f2087c98
parent e830ab8f
...@@ -16,19 +16,19 @@ ...@@ -16,19 +16,19 @@
namespace { namespace {
// True when building version 2 templates. See UseVersion2 class. // Non-zero when building version 2 templates. See UseVersion2 class.
bool g_version2 = false; int g_version2 = 0;
} // namespace } // namespace
namespace jstemplate_builder { namespace jstemplate_builder {
UseVersion2::UseVersion2() : previous_value_(g_version2) { UseVersion2::UseVersion2() {
g_version2 = true; g_version2++;
} }
UseVersion2::~UseVersion2() { UseVersion2::~UseVersion2() {
g_version2 = previous_value_; g_version2--;
} }
std::string GetTemplateHtml(const base::StringPiece& html_template, std::string GetTemplateHtml(const base::StringPiece& html_template,
......
...@@ -33,8 +33,6 @@ class UseVersion2 { ...@@ -33,8 +33,6 @@ class UseVersion2 {
~UseVersion2(); ~UseVersion2();
private: private:
bool previous_value_;
DISALLOW_COPY_AND_ASSIGN(UseVersion2); DISALLOW_COPY_AND_ASSIGN(UseVersion2);
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment