Closed Bug 1693838 Opened 3 years ago Closed 2 years ago

Add support for command's payload deserialization

Categories

(Remote Protocol :: WebDriver BiDi, task)

task

Tracking

(Not tracked)

RESOLVED INACTIVE

People

(Reporter: whimboo, Unassigned)

References

Details

When receiving commands the contained payload needs to be deserialized. We should get the basics implemented so that the logging feature can be implemented.

It would be good to know which commands would be necessary, and as such which data types are required.

See Also: → 1693839
No longer blocks: 1693834
Depends on: 1693834
Points: --- → 13
Priority: -- → P2
Blocks: 1713784
Priority: P2 → P3
No longer blocks: 1713784
Blocks: 1723102
No longer blocks: 1694144

For the next milestone 2 we might want to have more than just basic support. Updating the summary for now, triage will happen early in September.

Summary: Add basic support for command's payload deserialization → Add support for command's payload deserialization
Whiteboard: [bidi-m1-mvp] → [bidi-m2-mvp]
Priority: P3 → --

This bug might not be needed for milestone 2 given that none of the commands that we need (session.subscribe, session.unsubscribe, browsingContext.navigate) actually have complex data types. I would propose P3.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → DUPLICATE

Talked with Julian, and we want to first introduce generic code for serialization / deserialization over on bug 1693839. Then we will follow-up with new bugs for specific data types. As such duping this bug to bug 1693839.

Whiteboard: [bidi-m2-mvp]

We actually had to drop deserialization from bug 1693839 because it's not yet defined in the BiDi spec.

Note that with the upcoming https://github.com/w3c/webdriver-bidi/pull/142 there will not only be primitive values and these which need an objectId, but also those that should be deserializable even without such an objectId. This would apply to the following local values:

LocalValue = {
PrimitiveProtocolValue //
ArrayLocalValue //
DateLocalValue //
MapLocalValue //
ObjectLocalValue //
RegExpLocalValue //
SetLocalValue //
}

Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---

Both session.subscribe and session.unsubscribe don't need this feature.

Blocks: 1742979
No longer blocks: 1694145, 1723102

Basic support we will get via bug 1739976.

Depends on: 1739976
Blocks: 1750541
Priority: -- → P2
Whiteboard: [webdriver:backlog]
No longer blocks: 1742979
No longer blocks: 1750541

We will have different bugs for the implementation instead:

  1. Ownership model with strong handle reference (bug 1770736)
  2. Complex objects with simple value fields (bug 1770751)
  3. Complex objects with container value field (bug 1770780)

Closing this bug in favor of the others.

Blocks: 1750541, 1770420
Status: REOPENED → RESOLVED
Closed: 3 years ago2 years ago
Resolution: --- → INACTIVE
Points: 13 → ---
Priority: P2 → --
Whiteboard: [webdriver:backlog]
You need to log in before you can comment on or make changes to this bug.