This reverts commit ccd1c5ce1f49c763f9fbce24ad087b46083e4af0, reversing
changes made to d4f97e4fd143b075b52269e22098339941525d8e.
This was requested by @johnmccutchan because this change broke the
analyzer, which only uses SDK version 1.14.1, since that's what we pull
in. He said he'd try again on Monday.
Add more rules to determine which overloaded Java method should be invoked
for a given Dart call. In particular, check whether the class of a
Dart-wrapped Java object matches the type declared for the corresponding
argument in the Java method.
We used to share memory between Dart strings and WTF::String objects by
way of the Dart externalized strings. That used to be important when the
DOM shared many strings between C++ and Dart. However, now that we don't
retain strings in C++ much anymore, we don't need this complexity.
This patch removes DartStringCache and the integration. It also unwinds
several cases where we were converting back and forth between
WTF::String and std::string for no reason. Now we use std::string more
consistently.
For the case of ParagraphBuilder::addText, we now take a raw const
char*, which more closely matches the API the DartVM exposes. That means
we do a single copy out of the VM and into the render tree at that
point.
Moving the microtask queue into tonic solves three problems:
1) Removes three levels of indirection when invoking microtask
callbacks.
2) Removes the sky/engine/dom directory entirely.
3) Removes the last client of the (inefficient) DartValue class.
* Conversion of all primitive types, wrapped Java objects, and nulls between Dart and Java
* A way to distinguish float arguments from doubles when calling Java methods
* Construction of a Dart JniClass from a Java class object
Prior to this patch, we were still using it to generate dart_ui.dart.
We'll eventually want to reorganize the dart files in the engine. See
https://github.com/flutter/flutter/issues/1040 for some discussion.
This patch removes the last IDL file from the build and unhooks the bulk
of the IDL compiler from the build system. A later patch will actually
delete the IDL compiler.
Rather than using IDL code generation, we now use some template magic to
generate this code. No all the code is template-generated yet, but this
patch is a start in that direction.
We don't need OpenTypeSantizer or brotli because we don't support loading fonts
over the network. Instead, fonts will need to be packaged inside the Flutter
asset bundle.
We now respect the "route" field in Intents to load a route other than '/'.
Also, use popRoute rather than events to indicate that the framework has asked
us to go back.