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

Unified Diff: ui/gl/generate_bindings.py

Issue 2136223002: Introduce GLStubApi (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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
Index: ui/gl/generate_bindings.py
diff --git a/ui/gl/generate_bindings.py b/ui/gl/generate_bindings.py
index 070c9b6ab6d2c0f96f5116bf907e94381bf0a33c..1a4d972d25a858f010306c3356badd6aaf9a41a2 100755
--- a/ui/gl/generate_bindings.py
+++ b/ui/gl/generate_bindings.py
@@ -1869,7 +1869,7 @@ GLES2_HEADERS_WITH_ENUMS = [
SELF_LOCATION = os.path.dirname(os.path.abspath(__file__))
LICENSE_AND_HEADER = """\
-// Copyright 2014 The Chromium Authors. All rights reserved.
+// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
@@ -2037,6 +2037,51 @@ def GenerateMockHeader(file, functions, set_name):
file.write('\n')
+def GenerateStubHeader(file, functions):
+ """Generates gl_stub_autogen_gl.h"""
+
+ # Write file header.
+ file.write(LICENSE_AND_HEADER)
+
+ # Write API declaration.
+ for func in functions:
+ args = func['arguments']
+ if args == 'void':
+ args = ''
+ return_type = func['return_type'];
+ file.write(' %s gl%sFn(%s) override' % (return_type, func['known_as'][2:],
+ args))
+ if return_type == 'void':
+ file.write(' {}\n');
+ else:
+ file.write(';\n');
+
+ file.write('\n')
+
+def GenerateStubSource(file, functions):
+ """Generates gl_stub_autogen_gl.cc"""
+
+ # Write file header.
+ file.write(LICENSE_AND_HEADER)
+ file.write('\n#include "ui/gl/gl_stub_api_base.h"\n\n')
+ file.write('namespace gl {\n\n')
+
+ # Write API declaration.
+ for func in functions:
+ return_type = func['return_type'];
+ if return_type == 'void':
+ continue
+ args = func['arguments']
+ if args == 'void':
+ args = ''
+ file.write('%s GLStubApiBase::gl%sFn(%s) {\n' % (return_type,
+ func['known_as'][2:],
+ args))
+ file.write(' return 0;\n');
+ file.write('}\n\n');
+
+ file.write('\n} // namespace gl\n')
+
def GenerateSource(file, functions, set_name, used_extensions,
used_client_extensions, options):
@@ -2878,6 +2923,18 @@ def main(argv):
GenerateEnumUtils(header_file, enum_header_filenames)
header_file.close()
ClangFormat(header_file.name)
+
+ header_file = open(
+ os.path.join(directory, 'gl_stub_autogen_gl.h'), 'wb')
+ GenerateStubHeader(header_file, GL_FUNCTIONS)
+ header_file.close()
+ ClangFormat(header_file.name)
+
+ header_file = open(
+ os.path.join(directory, 'gl_stub_autogen_gl.cc'), 'wb')
+ GenerateStubSource(header_file, GL_FUNCTIONS)
+ header_file.close()
+ ClangFormat(header_file.name)
return 0
« no previous file with comments | « ui/gl/BUILD.gn ('k') | ui/gl/gl.gyp » ('j') | ui/gl/gl_gl_api_implementation.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698