Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(268)

Unified Diff: Source/build/scripts/templates/MakeQualifiedNames.cpp.tmpl

Issue 137783012: MakeQualifiedNames should generate lazily created arrays for attributes and tags. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Patch for landing. Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | Source/build/scripts/templates/MakeQualifiedNames.h.tmpl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/build/scripts/templates/MakeQualifiedNames.cpp.tmpl
diff --git a/Source/build/scripts/templates/MakeQualifiedNames.cpp.tmpl b/Source/build/scripts/templates/MakeQualifiedNames.cpp.tmpl
index e6ff66955bfff4326bb67f4bfa05baa0da80727e..9a106fe5dbf4226718f6d359f1a4421d6738f979 100644
--- a/Source/build/scripts/templates/MakeQualifiedNames.cpp.tmpl
+++ b/Source/build/scripts/templates/MakeQualifiedNames.cpp.tmpl
@@ -28,14 +28,13 @@ DEFINE_GLOBAL(QualifiedName, {{tag|symbol}}Tag)
{%- endfor %}
-const WebCore::QualifiedName* const* get{{namespace}}Tags()
+PassOwnPtr<const QualifiedName*[]> get{{namespace}}Tags()
{
- static const WebCore::QualifiedName* const {{namespace}}Tags[] = {
+ OwnPtr<const QualifiedName*[]> tags = adoptArrayPtr(new const QualifiedName*[{{namespace}}TagsCount]);
{%- for tag in tags|sort %}
- (WebCore::QualifiedName*)&{{tag|symbol}}Tag,
+ tags[{{loop.index0}}] = reinterpret_cast<const QualifiedName*>(&{{tag|symbol}}Tag);
{%- endfor %}
- };
- return {{namespace}}Tags;
+ return tags.release();
}
{%- endif %}
@@ -45,14 +44,13 @@ const WebCore::QualifiedName* const* get{{namespace}}Tags()
DEFINE_GLOBAL(QualifiedName, {{attr|symbol}}Attr)
{%- endfor %}
-const WebCore::QualifiedName* const* get{{namespace}}Attrs()
+PassOwnPtr<const QualifiedName*[]> get{{namespace}}Attrs()
{
- static const WebCore::QualifiedName* const {{namespace}}Attrs[] = {
+ OwnPtr<const QualifiedName*[]> attrs = adoptArrayPtr(new const QualifiedName*[{{namespace}}AttrsCount]);
{%- for attr in attrs|sort %}
- (WebCore::QualifiedName*)&{{attr|symbol}}Attr,
+ attrs[{{loop.index0}}] = reinterpret_cast<const WebCore::QualifiedName*>(&{{attr|symbol}}Attr);
{%- endfor %}
- };
- return {{namespace}}Attrs;
+ return attrs.release();
}
void init()
« no previous file with comments | « no previous file | Source/build/scripts/templates/MakeQualifiedNames.h.tmpl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698