diff --git a/lib/eval/dart/bridge/m_provider.dart b/lib/eval/dart/bridge/m_provider.dart index 9ffed37b..c63265ca 100644 --- a/lib/eval/dart/bridge/m_provider.dart +++ b/lib/eval/dart/bridge/m_provider.dart @@ -365,9 +365,10 @@ class MProviderBridged { .then((res) { if (res.statusCode == 200) { final data = jsonDecode(res.body) as Map; - return data['result'] as bool; + // Preserve payloads returned by extension WebView scripts. + return data['result']; } - return false; + return null; }), ); interpreter.registertopLevelFunction('print', ( diff --git a/lib/eval/javascript/utils.dart b/lib/eval/javascript/utils.dart index a9782528..261fef36 100644 --- a/lib/eval/javascript/utils.dart +++ b/lib/eval/javascript/utils.dart @@ -70,9 +70,11 @@ class JsUtils { .then((res) { if (res.statusCode == 200) { final data = jsonDecode(res.body) as Map; - return data['result'] as bool; + // Extension scripts use this bridge to return extracted values, + // not only Cloudflare challenge status. + return data['result']; } - return false; + return null; }); }); runtime.onMessage('parseEpub', (dynamic args) async {