| Index: mojo/public/tools/bindings/generators/mojom_cpp_generator.py
|
| diff --git a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
|
| index c2d3a1c3d83ce632e8063233d2f40a31f060c2bf..44337403ab538e0d2b47b88bce03c9a750e4b512 100644
|
| --- a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
|
| +++ b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
|
| @@ -42,9 +42,10 @@ _kind_to_cpp_literal_suffix = {
|
| mojom.UINT64: "ULL",
|
| }
|
|
|
| -# TODO(rockot): Get rid of this global. This requires some refactoring of the
|
| +# TODO(rockot): Get rid of these globals. This requires some refactoring of the
|
| # generator library code so that filters can use the generator as context.
|
| _current_typemap = {}
|
| +_for_blink = False
|
|
|
|
|
| def ConstantValue(constant):
|
| @@ -56,9 +57,10 @@ def DefaultValue(field):
|
| assert field.default == "default"
|
| return "%s::New()" % GetNameForKind(field.kind)
|
| return ExpressionToText(field.default, kind=field.kind)
|
| - if (mojom.IsStringKind(field.kind) or mojom.IsArrayKind(field.kind) or
|
| - mojom.IsMapKind(field.kind)):
|
| + if mojom.IsArrayKind(field.kind) or mojom.IsMapKind(field.kind):
|
| return "nullptr";
|
| + if mojom.IsStringKind(field.kind):
|
| + return "" if _for_blink else "nullptr"
|
| return ""
|
|
|
| def NamespaceToArray(namespace):
|
| @@ -187,7 +189,7 @@ def GetCppArrayArgWrapperType(kind):
|
| raise Exception("Arrays of associated interface requests not yet "
|
| "supported!")
|
| if mojom.IsStringKind(kind):
|
| - return "mojo::String"
|
| + return "WTF::String" if _for_blink else "mojo::String"
|
| if mojom.IsGenericHandleKind(kind):
|
| return "mojo::ScopedHandle"
|
| if mojom.IsDataPipeConsumerKind(kind):
|
| @@ -223,7 +225,7 @@ def GetCppResultWrapperType(kind):
|
| if mojom.IsAssociatedInterfaceRequestKind(kind):
|
| return "%sAssociatedRequest" % GetNameForKind(kind.kind)
|
| if mojom.IsStringKind(kind):
|
| - return "mojo::String"
|
| + return "WTF::String" if _for_blink else "mojo::String"
|
| if mojom.IsGenericHandleKind(kind):
|
| return "mojo::ScopedHandle"
|
| if mojom.IsDataPipeConsumerKind(kind):
|
| @@ -265,7 +267,7 @@ def GetCppWrapperType(kind):
|
| if mojom.IsAssociatedInterfaceRequestKind(kind):
|
| return "%sAssociatedRequest" % GetNameForKind(kind.kind)
|
| if mojom.IsStringKind(kind):
|
| - return "mojo::String"
|
| + return "WTF::String" if _for_blink else "mojo::String"
|
| if mojom.IsGenericHandleKind(kind):
|
| return "mojo::ScopedHandle"
|
| if mojom.IsDataPipeConsumerKind(kind):
|
| @@ -301,7 +303,7 @@ def GetCppConstWrapperType(kind):
|
| if mojom.IsEnumKind(kind):
|
| return GetNameForKind(kind)
|
| if mojom.IsStringKind(kind):
|
| - return "const mojo::String&"
|
| + return "const WTF::String&" if _for_blink else "const mojo::String&"
|
| if mojom.IsGenericHandleKind(kind):
|
| return "mojo::ScopedHandle"
|
| if mojom.IsDataPipeConsumerKind(kind):
|
| @@ -525,6 +527,7 @@ class Generator(generator.Generator):
|
| "interfaces": self.GetInterfaces(),
|
| "variant": self.variant,
|
| "extra_headers": self.GetExtraHeaders(),
|
| + "for_blink": self.for_blink,
|
| }
|
|
|
| @staticmethod
|
| @@ -550,6 +553,8 @@ class Generator(generator.Generator):
|
| def GenerateFiles(self, args):
|
| global _current_typemap
|
| _current_typemap = self.typemap
|
| + global _for_blink
|
| + _for_blink = self.for_blink
|
| suffix = "-%s" % self.variant if self.variant else ""
|
| self.Write(self.GenerateModuleHeader(),
|
| self.MatchMojomFilePath("%s%s.h" % (self.module.name, suffix)))
|
|
|