servo: Merge #17505 - Remove unnecessary `recv` in the constellation (from cbrewster:less_blocking); r=asajeffrey,glennw

<!-- Please describe your changes on the following line: -->

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 82f65f6eb38400affcc8e8bbc9023f345baf3942

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7bc5b0604156f6622162331e8d4e05ebb01b41e6
This commit is contained in:
Connor Brewster 2017-07-09 14:39:59 -07:00
Родитель 3ee16c27a3
Коммит d6b636476c
3 изменённых файлов: 6 добавлений и 17 удалений

Просмотреть файл

@ -10,7 +10,7 @@ use euclid::{Point2D, TypedPoint2D, TypedVector2D, TypedRect, ScaleFactor, Typed
use gfx_traits::Epoch;
use gleam::gl;
use image::{DynamicImage, ImageFormat, RgbImage};
use ipc_channel::ipc::{self, IpcSender, IpcSharedMemory};
use ipc_channel::ipc::{self, IpcSharedMemory};
use msg::constellation_msg::{Key, KeyModifiers, KeyState, CONTROL};
use msg::constellation_msg::{PipelineId, PipelineIndex, PipelineNamespaceId, TraversalDirection};
use net_traits::image::base::{Image, PixelFormat};
@ -459,9 +459,9 @@ impl<Window: WindowMethods> IOCompositor<Window> {
self.change_page_title(pipeline_id, title);
}
(Msg::SetFrameTree(frame_tree, response_chan),
(Msg::SetFrameTree(frame_tree),
ShutdownState::NotShuttingDown) => {
self.set_frame_tree(&frame_tree, response_chan);
self.set_frame_tree(&frame_tree);
self.send_viewport_rects();
self.title_for_main_frame();
}
@ -673,13 +673,8 @@ impl<Window: WindowMethods> IOCompositor<Window> {
}
}
fn set_frame_tree(&mut self,
frame_tree: &SendableFrameTree,
response_chan: IpcSender<()>) {
fn set_frame_tree(&mut self, frame_tree: &SendableFrameTree) {
debug!("Setting the frame tree for pipeline {}", frame_tree.pipeline.id);
if let Err(e) = response_chan.send(()) {
warn!("Sending reponse to set frame tree failed ({}).", e);
}
self.root_pipeline = Some(frame_tree.pipeline.clone());

Просмотреть файл

@ -91,7 +91,7 @@ pub enum Msg {
/// Alerts the compositor that the given pipeline has changed whether it is running animations.
ChangeRunningAnimationsState(PipelineId, AnimationState),
/// Replaces the current frame tree, typically called during main frame navigation.
SetFrameTree(SendableFrameTree, IpcSender<()>),
SetFrameTree(SendableFrameTree),
/// The load of a page has begun
LoadStart,
/// The load of a page has completed

Просмотреть файл

@ -2870,13 +2870,7 @@ impl<Message, LTF, STF> Constellation<Message, LTF, STF>
// with low-resource scenarios.
debug!("Sending frame tree for browsing context {}.", browsing_context_id);
if let Some(frame_tree) = self.browsing_context_to_sendable(browsing_context_id) {
let (chan, port) = ipc::channel().expect("Failed to create IPC channel!");
self.compositor_proxy.send(ToCompositorMsg::SetFrameTree(frame_tree,
chan));
if port.recv().is_err() {
warn!("Compositor has discarded SetFrameTree");
return; // Our message has been discarded, probably shutting down.
}
self.compositor_proxy.send(ToCompositorMsg::SetFrameTree(frame_tree));
}
}