From 01222e5e802fcafebc940b4d46beefb753b8e0ac Mon Sep 17 00:00:00 2001 From: Dan Field Date: Thu, 29 Aug 2019 13:37:54 -0700 Subject: [PATCH] Return a JSON value for the Skia channel --- shell/common/fixtures/shell_test.dart | 11 ++++++++--- shell/common/shell.cc | 4 +++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/shell/common/fixtures/shell_test.dart b/shell/common/fixtures/shell_test.dart index 2893419fe4038..abfd14b56d41c 100644 --- a/shell/common/fixtures/shell_test.dart +++ b/shell/common/fixtures/shell_test.dart @@ -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 jsonResponse = json.decode(response).cast(); + 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, ); } diff --git a/shell/common/shell.cc b/shell/common/shell.cc index 7e5926f074408..30feb7746c02d 100644 --- a/shell/common/shell.cc +++ b/shell/common/shell.cc @@ -959,7 +959,9 @@ void Shell::HandleEngineSkiaMessage(fml::RefPtr message) { true); } if (response) { - std::vector data = {1}; + // The framework side expects this to be valid json encoded as a list. + // Return `[true]` to signal success. + std::vector data = {'[', 't', 'r', 'u', 'e', ']'}; response->Complete( std::make_unique(std::move(data))); }