--- original +++ modified @@ -215,6 +215,18 @@ self.delegate().request_create_new(self.clone(), request); } + pub(crate) fn request_create_embedded( + &self, + response_sender: GenericSender>, + ) { + let request = CreateNewWebViewRequest { + servo: self.inner().servo.clone(), + responder: IpcResponder::new(response_sender, None), + }; + self.delegate() + .request_create_embedded(self.clone(), request); + } + pub(crate) fn viewport_details(&self) -> ViewportDetails { // The division by 1 represents the page's default zoom of 100%, // and gives us the appropriate CSSPixel type for the viewport. @@ -224,6 +236,7 @@ ViewportDetails { size: scaled_viewport_size / Scale::new(1.0), hidpi_scale_factor: Scale::new(inner.hidpi_scale_factor.0), + page_zoom_for_rendering: None, } } @@ -753,6 +766,11 @@ EmbedderControlRequest::FilePicker { .. } => { unreachable!("This message should be routed through the FileManagerThread") }, + EmbedderControlRequest::PermissionPrompt { .. } => { + unreachable!( + "Permission prompts for top-level webviews use EmbedderMsg::PromptPermission, not ShowEmbedderControl" + ) + }, }; self.delegate()