w3c / w3c/reporting

Missing values for Report in dictionary

Open
#286 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Bikeshed
Stars
84
Forks
39
Avg merge
1d 20h
Merged PRs (30d)
1

Description

With the recently introduced dictionary, there are a couple of values in Report missing, for example attempts and timestamp. Additionally, the body is marked as optional with ?, which doesn't compile with WebIDL:

  --- stderr
  Traceback (most recent call last):
    File "/home/tvanderlippe/Projects/servo/components/script_bindings/codegen/run.py", line 168, in <module>
      main()
    File "/home/tvanderlippe/Projects/servo/components/script_bindings/codegen/run.py", line 48, in main
      parser_results = parser.finish()
                       ^^^^^^^^^^^^^^^
    File "/home/tvanderlippe/Projects/servo/third_party/WebIDL/WebIDL.py", line 9436, in finish
      production.validate()
    File "/home/tvanderlippe/Projects/servo/third_party/WebIDL/WebIDL.py", line 2402, in validate
      raise WebIDLError(
  WebIDL.WebIDLError: error: Dictionary Report has member with nullable dictionary type, /home/tvanderlippe/Projects/servo/components/script_bindings/codegen/../webidls/ReportingObserver.webidl line 13:14
    ReportBody? body;
                ^
warning: build failed, waiting for other jobs to finish...

For now, in Servo I am working with the following dictionary, but let me know if this is not as intended?

dictionary Report {
  required DOMString type;
  required DOMString url;
  required DOMString destination;
  required double timestamp;
  required long attempts;
  ReportBody body;
};

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with components/script_bindings/webidls/ReportingObserver.webidl and the Report dictionary shown in the issue. Run the script-bindings code generation to reproduce the WebIDL validation failure, then verify that the dictionary includes the reported members and no nullable dictionary type remains.

Written by the indexing model from the issue text.

Assessment

Domain
api, web-dev
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.