Skip to content

Commit

Permalink
refactor(compositor): expose new embeddermsg
Browse files Browse the repository at this point in the history
  • Loading branch information
kwonoj committed Apr 27, 2018
1 parent b396a2f commit 2071245
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 1 deletion.
4 changes: 4 additions & 0 deletions components/compositing/compositor_thread.rs
Expand Up @@ -9,6 +9,7 @@ use compositor::CompositingReason;
use gfx_traits::Epoch;
use ipc_channel::ipc::IpcSender;
use msg::constellation_msg::{InputMethodType, Key, KeyModifiers, KeyState, PipelineId, TopLevelBrowsingContextId};
use net_traits::filemanager_thread::FilterPattern;
use net_traits::image::base::Image;
use profile_traits::mem;
use profile_traits::time;
Expand Down Expand Up @@ -143,6 +144,8 @@ pub enum EmbedderMsg {
Panic(TopLevelBrowsingContextId, String, Option<String>),
/// Open dialog to select bluetooth device.
GetSelectedBluetoothDevice(Vec<String>, IpcSender<Option<String>>),
/// Open file dialog to select files. Set boolean flag to true allows to select multiple files.
GetSelectedFiles(Vec<FilterPattern>, bool, IpcSender<Option<Vec<String>>>),
/// Request to present an IME to the user when an editable element is focused.
ShowIME(TopLevelBrowsingContextId, InputMethodType),
/// Request to hide the IME when the editable element is blurred.
Expand Down Expand Up @@ -248,6 +251,7 @@ impl Debug for EmbedderMsg {
EmbedderMsg::LoadComplete(..) => write!(f, "LoadComplete"),
EmbedderMsg::Panic(..) => write!(f, "Panic"),
EmbedderMsg::GetSelectedBluetoothDevice(..) => write!(f, "GetSelectedBluetoothDevice"),
EmbedderMsg::GetSelectedFiles(..) => write!(f, "SelectFileDialog"),
EmbedderMsg::ShowIME(..) => write!(f, "ShowIME"),
EmbedderMsg::HideIME(..) => write!(f, "HideIME"),
EmbedderMsg::Shutdown => write!(f, "Shutdown"),
Expand Down
11 changes: 10 additions & 1 deletion components/constellation/constellation.rs
Expand Up @@ -115,6 +115,7 @@ use msg::constellation_msg::{BrowsingContextId, PipelineId, HistoryStateId, TopL
use msg::constellation_msg::{Key, KeyModifiers, KeyState};
use msg::constellation_msg::{PipelineNamespace, PipelineNamespaceId, TraversalDirection};
use net_traits::{self, IpcSend, FetchResponseMsg, ResourceThreads};
use net_traits::filemanager_thread::FilterPattern;
use net_traits::pub_domains::reg_host;
use net_traits::request::RequestInit;
use net_traits::storage_thread::{StorageThreadMsg, StorageType};
Expand Down Expand Up @@ -1013,7 +1014,7 @@ impl<Message, LTF, STF> Constellation<Message, LTF, STF>
self.handle_set_cursor_msg(cursor)
}
FromCompositorMsg::OpenFileSelectDialog(patterns, multiple_files, sender) => {
return;
self.handle_open_file_select_dialog_msg(patterns, multiple_files, sender);
}
}
}
Expand Down Expand Up @@ -1741,6 +1742,14 @@ impl<Message, LTF, STF> Constellation<Message, LTF, STF>
self.embedder_proxy.send(EmbedderMsg::SetCursor(cursor))
}

fn handle_open_file_select_dialog_msg(&mut self,
patterns: Vec<FilterPattern>,
multiple_files: bool,
sender: IpcSender<Option<Vec<String>>>) {
let msg = EmbedderMsg::GetSelectedFiles(patterns, multiple_files, sender);
self.embedder_proxy.send(msg);
}

fn handle_change_running_animations_state(&mut self,
pipeline_id: PipelineId,
animation_state: AnimationState) {
Expand Down
2 changes: 2 additions & 0 deletions ports/servo/browser.rs
Expand Up @@ -294,6 +294,8 @@ impl Browser {
},
EmbedderMsg::GetSelectedBluetoothDevice(devices, sender) => {
platform_get_selected_devices(devices, sender);
},
EmbedderMsg::GetSelectedFiles(patterns, multiple_files, sender) => {
}
EmbedderMsg::ShowIME(_browser_id, _kind) => {
debug!("ShowIME received");
Expand Down

0 comments on commit 2071245

Please sign in to comment.