Lines of code such as this one in oop_pixeltest.cc pass a pair of unsigned integers with value zero to the DrawTextBlobOp constructor:
display_item_list->push<DrawTextBlobOp>(buildTextBlob(), 0u, 0u, flags);
However the constructor's parameters have type SkScalar which is a float. Using 0u is confusing. Some compilers even consider it a C++11 narrowing conversion and therefore illegal although that interpretation is controversial.
There appear to be several other places in that file where unsigned integral constants are used where the underlying type is a float.
Using the 'u' suffix in these contexts has no apparent value - there is no value here in making a distinction between signed and unsigned constants. And, the 'u' suffix is confusing because it implies that the function arguments are unsigned integer when in fact they are float.
The simplest fix would be to remove all 'u' constants from this source file and any others that are following this pattern (or to use float constants such as 0.f, but that would be breaking with the surrounding code)
Code like this:
font.SetTextSize(10u);
is definitely not affected by the C++11 narrowing rules but it is still confusing, since the parameter is again an SkScalar/float.