mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
devtools: Fix id collisions by using incrementing counters (#35971)
Devtools clients need a `browserId`, `browsingContextID`, and `outerWindowID`, which correspond to WebViewId, BrowsingContextId, and PipelineId in Servo. These u32 values were previously derived from our sharded (u32,u32) id values by taking only the `index` (second u32) and ignoring the `namespace_id` (first u32), leading to collisions. This patch fixes that by mapping those Servo ids to sequential u32 values. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #35954 <!-- Either: --> - [x] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> --------- Signed-off-by: Delan Azabani <dazabani@igalia.com>
This commit is contained in:
parent
fcef1dff9d
commit
30b712aaf9
8 changed files with 219 additions and 33 deletions
|
@ -259,10 +259,9 @@ impl Actor for WatcherActor {
|
|||
ActorMessageStatus::Processed
|
||||
},
|
||||
"getParentBrowsingContextID" => {
|
||||
let browsing_context_id = target.browsing_context_id.index.0.get();
|
||||
let msg = GetParentBrowsingContextIDReply {
|
||||
from: self.name(),
|
||||
browsing_context_id,
|
||||
browsing_context_id: target.browsing_context_id.value(),
|
||||
};
|
||||
let _ = stream.write_json_packet(&msg);
|
||||
ActorMessageStatus::Processed
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue