From 71fe21b43624e07b9f4794f5349f3f3fd8ee8633 Mon Sep 17 00:00:00 2001 From: Elliott Brooks <21270878+elliette@users.noreply.github.com> Date: Fri, 13 Jan 2023 10:08:05 -0800 Subject: [PATCH] Save encoded uri --- .../web/cross_extension_communication.dart | 3 +- .../web/data_serializers.dart | 1 - .../web/data_serializers.g.dart | 1 - dwds/debug_extension_mv3/web/data_types.dart | 12 -- .../debug_extension_mv3/web/data_types.g.dart | 118 ------------------ .../web/debug_session.dart | 7 ++ dwds/debug_extension_mv3/web/storage.dart | 11 +- 7 files changed, 16 insertions(+), 137 deletions(-) diff --git a/dwds/debug_extension_mv3/web/cross_extension_communication.dart b/dwds/debug_extension_mv3/web/cross_extension_communication.dart index f62143bb4..77faf5e44 100644 --- a/dwds/debug_extension_mv3/web/cross_extension_communication.dart +++ b/dwds/debug_extension_mv3/web/cross_extension_communication.dart @@ -8,7 +8,6 @@ library cross_extension_communication; import 'package:js/js.dart'; import 'chrome_api.dart'; -import 'data_types.dart'; import 'debug_session.dart'; import 'logger.dart'; import 'storage.dart'; @@ -85,7 +84,7 @@ void _respondWithChromeResult(Object? chromeResult, Function sendResponse) { } void _respondWithEncodedUri(int tabId, Function sendResponse) async { - final encodedUri = await fetchStorageObject( + final encodedUri = await fetchStorageObject( type: StorageObject.encodedUri, tabId: tabId); sendResponse(encodedUri ?? ''); } diff --git a/dwds/debug_extension_mv3/web/data_serializers.dart b/dwds/debug_extension_mv3/web/data_serializers.dart index 164b02602..9c4e31460 100644 --- a/dwds/debug_extension_mv3/web/data_serializers.dart +++ b/dwds/debug_extension_mv3/web/data_serializers.dart @@ -21,7 +21,6 @@ part 'data_serializers.g.dart'; DevToolsOpener, DevToolsUrl, DevToolsRequest, - EncodedUri, ExtensionEvent, ExtensionRequest, ExtensionResponse, diff --git a/dwds/debug_extension_mv3/web/data_serializers.g.dart b/dwds/debug_extension_mv3/web/data_serializers.g.dart index 724ebcc4b..7c15ed146 100644 --- a/dwds/debug_extension_mv3/web/data_serializers.g.dart +++ b/dwds/debug_extension_mv3/web/data_serializers.g.dart @@ -14,7 +14,6 @@ Serializers _$serializers = (new Serializers().toBuilder() ..add(DevToolsOpener.serializer) ..add(DevToolsRequest.serializer) ..add(DevToolsUrl.serializer) - ..add(EncodedUri.serializer) ..add(ExtensionEvent.serializer) ..add(ExtensionRequest.serializer) ..add(ExtensionResponse.serializer) diff --git a/dwds/debug_extension_mv3/web/data_types.dart b/dwds/debug_extension_mv3/web/data_types.dart index 5065e3e56..eb22eb4e7 100644 --- a/dwds/debug_extension_mv3/web/data_types.dart +++ b/dwds/debug_extension_mv3/web/data_types.dart @@ -35,18 +35,6 @@ abstract class DevToolsOpener bool get newWindow; } -// TODO(elliette): Standardize on uri or url here and across DWDS, instead of a -// combination of both. -abstract class EncodedUri implements Built { - static Serializer get serializer => _$encodedUriSerializer; - - factory EncodedUri([Function(EncodedUriBuilder) updates]) = _$EncodedUri; - - EncodedUri._(); - - String get uri; -} - abstract class DevToolsUrl implements Built { static Serializer get serializer => _$devToolsUrlSerializer; diff --git a/dwds/debug_extension_mv3/web/data_types.g.dart b/dwds/debug_extension_mv3/web/data_types.g.dart index a625af3e2..34c78b418 100644 --- a/dwds/debug_extension_mv3/web/data_types.g.dart +++ b/dwds/debug_extension_mv3/web/data_types.g.dart @@ -10,7 +10,6 @@ Serializer _$connectFailureSerializer = new _$ConnectFailureSerializer(); Serializer _$devToolsOpenerSerializer = new _$DevToolsOpenerSerializer(); -Serializer _$encodedUriSerializer = new _$EncodedUriSerializer(); Serializer _$devToolsUrlSerializer = new _$DevToolsUrlSerializer(); Serializer _$debugStateChangeSerializer = new _$DebugStateChangeSerializer(); @@ -109,45 +108,6 @@ class _$DevToolsOpenerSerializer } } -class _$EncodedUriSerializer implements StructuredSerializer { - @override - final Iterable types = const [EncodedUri, _$EncodedUri]; - @override - final String wireName = 'EncodedUri'; - - @override - Iterable serialize(Serializers serializers, EncodedUri object, - {FullType specifiedType = FullType.unspecified}) { - final result = [ - 'uri', - serializers.serialize(object.uri, specifiedType: const FullType(String)), - ]; - - return result; - } - - @override - EncodedUri deserialize(Serializers serializers, Iterable serialized, - {FullType specifiedType = FullType.unspecified}) { - final result = new EncodedUriBuilder(); - - final iterator = serialized.iterator; - while (iterator.moveNext()) { - final key = iterator.current! as String; - iterator.moveNext(); - final Object? value = iterator.current; - switch (key) { - case 'uri': - result.uri = serializers.deserialize(value, - specifiedType: const FullType(String))! as String; - break; - } - } - - return result.build(); - } -} - class _$DevToolsUrlSerializer implements StructuredSerializer { @override final Iterable types = const [DevToolsUrl, _$DevToolsUrl]; @@ -426,84 +386,6 @@ class DevToolsOpenerBuilder } } -class _$EncodedUri extends EncodedUri { - @override - final String uri; - - factory _$EncodedUri([void Function(EncodedUriBuilder)? updates]) => - (new EncodedUriBuilder()..update(updates))._build(); - - _$EncodedUri._({required this.uri}) : super._() { - BuiltValueNullFieldError.checkNotNull(uri, r'EncodedUri', 'uri'); - } - - @override - EncodedUri rebuild(void Function(EncodedUriBuilder) updates) => - (toBuilder()..update(updates)).build(); - - @override - EncodedUriBuilder toBuilder() => new EncodedUriBuilder()..replace(this); - - @override - bool operator ==(Object other) { - if (identical(other, this)) return true; - return other is EncodedUri && uri == other.uri; - } - - @override - int get hashCode { - return $jf($jc(0, uri.hashCode)); - } - - @override - String toString() { - return (newBuiltValueToStringHelper(r'EncodedUri')..add('uri', uri)) - .toString(); - } -} - -class EncodedUriBuilder implements Builder { - _$EncodedUri? _$v; - - String? _uri; - String? get uri => _$this._uri; - set uri(String? uri) => _$this._uri = uri; - - EncodedUriBuilder(); - - EncodedUriBuilder get _$this { - final $v = _$v; - if ($v != null) { - _uri = $v.uri; - _$v = null; - } - return this; - } - - @override - void replace(EncodedUri other) { - ArgumentError.checkNotNull(other, 'other'); - _$v = other as _$EncodedUri; - } - - @override - void update(void Function(EncodedUriBuilder)? updates) { - if (updates != null) updates(this); - } - - @override - EncodedUri build() => _build(); - - _$EncodedUri _build() { - final _$result = _$v ?? - new _$EncodedUri._( - uri: BuiltValueNullFieldError.checkNotNull( - uri, r'EncodedUri', 'uri')); - replace(_$result); - return _$result; - } -} - class _$DevToolsUrl extends DevToolsUrl { @override final int tabId; diff --git a/dwds/debug_extension_mv3/web/debug_session.dart b/dwds/debug_extension_mv3/web/debug_session.dart index dce93b761..9223d8f17 100644 --- a/dwds/debug_extension_mv3/web/debug_session.dart +++ b/dwds/debug_extension_mv3/web/debug_session.dart @@ -247,6 +247,13 @@ void _routeDwdsEvent(String eventData, SocketClient client, int tabId) { if (message.method == 'dwds.devtoolsUri') { _openDevTools(message.params, dartAppTabId: tabId); } + if (message.method == 'dwds.encodedUri') { + setStorageObject( + type: StorageObject.encodedUri, + value: message.params, + tabId: tabId, + ); + } } } diff --git a/dwds/debug_extension_mv3/web/storage.dart b/dwds/debug_extension_mv3/web/storage.dart index 2e90bd2b2..1df0e6d98 100644 --- a/dwds/debug_extension_mv3/web/storage.dart +++ b/dwds/debug_extension_mv3/web/storage.dart @@ -44,7 +44,8 @@ Future setStorageObject({ void Function()? callback, }) { final storageKey = _createStorageKey(type, tabId); - final json = jsonEncode(serializers.serialize(value)); + final json = + value is String ? value : jsonEncode(serializers.serialize(value)); final storageObj = {storageKey: json}; final completer = Completer(); final storageArea = _getStorageArea(type.persistance); @@ -73,9 +74,13 @@ Future fetchStorageObject({required StorageObject type, int? tabId}) { debugWarn('Does not exist.', prefix: storageKey); completer.complete(null); } else { - final value = serializers.deserialize(jsonDecode(json)) as T; debugLog('Fetched: $json', prefix: storageKey); - completer.complete(value); + if (T == String) { + completer.complete(json as T); + } else { + final value = serializers.deserialize(jsonDecode(json)) as T; + completer.complete(value); + } } })); return completer.future;