未验证 提交 101e03c1 编写于 作者: D Dan Field 提交者: GitHub

Return a JSON value for the Skia channel (#11717)

上级 7024722e
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:convert' show utf8;
import 'dart:convert' show utf8, json;
import 'dart:isolate';
import 'dart:typed_data';
import 'dart:ui';
......@@ -66,15 +66,20 @@ void testSkiaResourceCacheSendsResponse() {
if (data == null) {
throw 'Response must not be null.';
}
final String response = utf8.decode(data.buffer.asUint8List());
final List<bool> jsonResponse = json.decode(response).cast<bool>();
if (jsonResponse[0] != true) {
throw 'Response was not true';
}
notifyNative();
};
const String json = '''{
const String jsonRequest = '''{
"method": "Skia.setResourceCacheMaxBytes",
"args": 10000
}''';
window.sendPlatformMessage(
'flutter/skia',
Uint8List.fromList(utf8.encode(json)).buffer.asByteData(),
Uint8List.fromList(utf8.encode(jsonRequest)).buffer.asByteData(),
callback,
);
}
......
......@@ -959,7 +959,9 @@ void Shell::HandleEngineSkiaMessage(fml::RefPtr<PlatformMessage> message) {
true);
}
if (response) {
std::vector<uint8_t> data = {1};
// The framework side expects this to be valid json encoded as a list.
// Return `[true]` to signal success.
std::vector<uint8_t> data = {'[', 't', 'r', 'u', 'e', ']'};
response->Complete(
std::make_unique<fml::DataMapping>(std::move(data)));
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册