Fix ExtensionEvent serialization/deserialization mismatch (#2800)
## Overview
Fixes a `FormatException: Expected "ExtensionEvent" as first element` that occurs when deserializing `ExtensionEvents` inside `BatchedEvents`.
Unlike other types, `ExtensionEvents` sent inside `BatchedEvents` can be missing the `"ExtensionEvent"` type header and send `params` as a JSON Map Object instead of a String.
## Changes
- Modified `ExtensionEvent.fromJson` in `dwds/lib/data/extension_request.dart` to:
- Handle missing headers by falling back to flat list parsing (meaning it assumes alternate indices as keys/values).
- Handle `params` whether it is a `String` or a `Map`.| Package | Description | Version |
|---|---|---|
| dwds | A service that proxies between the Chrome debug protocol and the Dart VM service protocol. | |
| frontend_server_client | Client code to start and interact with the frontend_server compiler from the Dart SDK. | |
| webdev | A CLI for Dart web development. Provides an easy and consistent set of features for users and tools to build and deploy web applications with Dart. |
For information about our publishing automation and release process, see https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.