mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Auto merge of #15794 - paulrouget:head_parsed_url, r=asajeffrey
Notify embedder when history changes `WindowMethods::set_page_url` is only called when the embedder set the URL. It is not called when the page url is updated. I believe that instead we should just pass the URL to `head_parsed`. --- <!-- 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 #15439 #15643 and #15642 (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [x] These changes do not require tests because I'm not sure how to test that <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/15794) <!-- Reviewable:end -->
This commit is contained in:
commit
dc594face8
6 changed files with 111 additions and 77 deletions
|
@ -481,10 +481,6 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
|||
self.change_page_title(pipeline_id, title);
|
||||
}
|
||||
|
||||
(Msg::ChangePageUrl(pipeline_id, url), ShutdownState::NotShuttingDown) => {
|
||||
self.change_page_url(pipeline_id, url);
|
||||
}
|
||||
|
||||
(Msg::SetFrameTree(frame_tree, response_chan),
|
||||
ShutdownState::NotShuttingDown) => {
|
||||
self.set_frame_tree(&frame_tree, response_chan);
|
||||
|
@ -519,11 +515,11 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
|||
self.window.status(message);
|
||||
}
|
||||
|
||||
(Msg::LoadStart(back, forward), ShutdownState::NotShuttingDown) => {
|
||||
self.window.load_start(back, forward);
|
||||
(Msg::LoadStart, ShutdownState::NotShuttingDown) => {
|
||||
self.window.load_start();
|
||||
}
|
||||
|
||||
(Msg::LoadComplete(back, forward, root), ShutdownState::NotShuttingDown) => {
|
||||
(Msg::LoadComplete, ShutdownState::NotShuttingDown) => {
|
||||
self.got_load_complete_message = true;
|
||||
|
||||
// If we're painting in headless mode, schedule a recomposite.
|
||||
|
@ -534,7 +530,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
|||
// Inform the embedder that the load has finished.
|
||||
//
|
||||
// TODO(pcwalton): Specify which frame's load completed.
|
||||
self.window.load_end(back, forward, root);
|
||||
self.window.load_end();
|
||||
}
|
||||
|
||||
(Msg::AllowNavigation(url, response_chan), ShutdownState::NotShuttingDown) => {
|
||||
|
@ -612,6 +608,10 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
|||
self.window.head_parsed();
|
||||
}
|
||||
|
||||
(Msg::HistoryChanged(entries, current), ShutdownState::NotShuttingDown) => {
|
||||
self.window.history_changed(entries, current);
|
||||
}
|
||||
|
||||
(Msg::PipelineVisibilityChanged(pipeline_id, visible), ShutdownState::NotShuttingDown) => {
|
||||
self.pipeline_details(pipeline_id).visible = visible;
|
||||
if visible {
|
||||
|
@ -707,10 +707,6 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
|||
}
|
||||
}
|
||||
|
||||
fn change_page_url(&mut self, _: PipelineId, url: ServoUrl) {
|
||||
self.window.set_page_url(url);
|
||||
}
|
||||
|
||||
fn set_frame_tree(&mut self,
|
||||
frame_tree: &SendableFrameTree,
|
||||
response_chan: IpcSender<()>) {
|
||||
|
@ -906,7 +902,6 @@ impl<Window: WindowMethods> IOCompositor<Window> {
|
|||
self.got_load_complete_message = false;
|
||||
match ServoUrl::parse(&url_string) {
|
||||
Ok(url) => {
|
||||
self.window.set_page_url(url.clone());
|
||||
let msg = match self.root_pipeline {
|
||||
Some(ref pipeline) => ConstellationMsg::LoadUrl(pipeline.id, LoadData::new(url, None, None)),
|
||||
None => ConstellationMsg::InitLoadUrl(url)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue