Commit 737fb75c authored by Scott Violet's avatar Scott Violet Committed by Commit Bot

chromeos: makes ash responsible for owning most wayland related classes

And wires it up for an example app (ash_shell_with_content).

BUG=none
TEST=hopefully covered by existing tests

Change-Id: I66893ebcbf53681a5fcd5e13c4d9cc87fd517cda
Reviewed-on: https://chromium-review.googlesource.com/1005567
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: default avatarDavid Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549893}
parent cbec82e7
...@@ -3,6 +3,7 @@ include_rules = [ ...@@ -3,6 +3,7 @@ include_rules = [
"+cc/debug", "+cc/debug",
"+cc/output", "+cc/output",
"+chromeos/cryptohome", "+chromeos/cryptohome",
"+components/exo",
"+components/pref_registry", "+components/pref_registry",
"+components/prefs", "+components/prefs",
"+components/quirks", "+components/quirks",
......
...@@ -62,7 +62,7 @@ const char kAshSidebarDisabled[] = "disable-ash-sidebar"; ...@@ -62,7 +62,7 @@ const char kAshSidebarDisabled[] = "disable-ash-sidebar";
const char kAshEnableTabletMode[] = "enable-touchview"; const char kAshEnableTabletMode[] = "enable-touchview";
// Enable the wayland server. // Enable the wayland server.
const char kAshEnableWaylandServer[] = "ash-enable-wayland-server"; const char kAshEnableWaylandServer[] = "enable-wayland-server";
// Enables mirrored screen. // Enables mirrored screen.
const char kAshEnableMirroredScreen[] = "ash-enable-mirrored-screen"; const char kAshEnableMirroredScreen[] = "ash-enable-mirrored-screen";
......
...@@ -114,6 +114,7 @@ ...@@ -114,6 +114,7 @@
#include "ash/virtual_keyboard_controller.h" #include "ash/virtual_keyboard_controller.h"
#include "ash/voice_interaction/voice_interaction_controller.h" #include "ash/voice_interaction/voice_interaction_controller.h"
#include "ash/wallpaper/wallpaper_controller.h" #include "ash/wallpaper/wallpaper_controller.h"
#include "ash/wayland/wayland_server_controller.h"
#include "ash/wm/ash_focus_rules.h" #include "ash/wm/ash_focus_rules.h"
#include "ash/wm/container_finder.h" #include "ash/wm/container_finder.h"
#include "ash/wm/event_client_impl.h" #include "ash/wm/event_client_impl.h"
...@@ -152,6 +153,7 @@ ...@@ -152,6 +153,7 @@
#include "chromeos/dbus/power_policy_controller.h" #include "chromeos/dbus/power_policy_controller.h"
#include "chromeos/dbus/session_manager_client.h" #include "chromeos/dbus/session_manager_client.h"
#include "chromeos/system/devicemode.h" #include "chromeos/system/devicemode.h"
#include "components/exo/file_helper.h"
#include "components/prefs/pref_registry_simple.h" #include "components/prefs/pref_registry_simple.h"
#include "components/prefs/pref_service.h" #include "components/prefs/pref_service.h"
#include "components/viz/host/host_frame_sink_manager.h" #include "components/viz/host/host_frame_sink_manager.h"
...@@ -415,6 +417,17 @@ void Shell::RegisterUserProfilePrefs(PrefRegistrySimple* registry, ...@@ -415,6 +417,17 @@ void Shell::RegisterUserProfilePrefs(PrefRegistrySimple* registry,
PowerPrefs::RegisterUserProfilePrefs(registry, for_test); PowerPrefs::RegisterUserProfilePrefs(registry, for_test);
} }
void Shell::InitWaylandServer(
exo::NotificationSurfaceManager* notification_surface_manager,
std::unique_ptr<exo::FileHelper> file_helper) {
wayland_server_controller_ = WaylandServerController::CreateIfNecessary(
notification_surface_manager, std::move(file_helper));
}
void Shell::DestroyWaylandServer() {
wayland_server_controller_.reset();
}
views::NonClientFrameView* Shell::CreateDefaultNonClientFrameView( views::NonClientFrameView* Shell::CreateDefaultNonClientFrameView(
views::Widget* widget) { views::Widget* widget) {
// Use translucent-style window frames for dialogs. // Use translucent-style window frames for dialogs.
...@@ -688,6 +701,9 @@ Shell::~Shell() { ...@@ -688,6 +701,9 @@ Shell::~Shell() {
const Config config = shell_port_->GetAshConfig(); const Config config = shell_port_->GetAshConfig();
// Wayland depends upon some ash specific objects. Destroy it early on.
wayland_server_controller_.reset();
user_metrics_recorder_->OnShellShuttingDown(); user_metrics_recorder_->OnShellShuttingDown();
shell_delegate_->PreShutdown(); shell_delegate_->PreShutdown();
......
...@@ -44,6 +44,11 @@ class DisplayConfigurator; ...@@ -44,6 +44,11 @@ class DisplayConfigurator;
class DisplayManager; class DisplayManager;
} // namespace display } // namespace display
namespace exo {
class FileHelper;
class NotificationSurfaceManager;
} // namespace exo
namespace gfx { namespace gfx {
class Insets; class Insets;
} }
...@@ -170,6 +175,7 @@ class VideoDetector; ...@@ -170,6 +175,7 @@ class VideoDetector;
class VoiceInteractionController; class VoiceInteractionController;
class VpnList; class VpnList;
class WallpaperController; class WallpaperController;
class WaylandServerController;
class WebNotificationTray; class WebNotificationTray;
class WindowCycleController; class WindowCycleController;
class WindowPositioner; class WindowPositioner;
...@@ -277,6 +283,12 @@ class ASH_EXPORT Shell : public SessionObserver, ...@@ -277,6 +283,12 @@ class ASH_EXPORT Shell : public SessionObserver,
static void RegisterUserProfilePrefs(PrefRegistrySimple* registry, static void RegisterUserProfilePrefs(PrefRegistrySimple* registry,
bool for_test = false); bool for_test = false);
// If necessary, initializes the Wayland server.
void InitWaylandServer(
exo::NotificationSurfaceManager* notification_surface_manager,
std::unique_ptr<exo::FileHelper> file_helper);
void DestroyWaylandServer();
// Creates a default views::NonClientFrameView for use by windows in the // Creates a default views::NonClientFrameView for use by windows in the
// Ash environment. // Ash environment.
views::NonClientFrameView* CreateDefaultNonClientFrameView( views::NonClientFrameView* CreateDefaultNonClientFrameView(
...@@ -723,6 +735,7 @@ class ASH_EXPORT Shell : public SessionObserver, ...@@ -723,6 +735,7 @@ class ASH_EXPORT Shell : public SessionObserver,
std::unique_ptr<LockStateController> lock_state_controller_; std::unique_ptr<LockStateController> lock_state_controller_;
std::unique_ptr<ui::UserActivityDetector> user_activity_detector_; std::unique_ptr<ui::UserActivityDetector> user_activity_detector_;
std::unique_ptr<VideoDetector> video_detector_; std::unique_ptr<VideoDetector> video_detector_;
std::unique_ptr<WaylandServerController> wayland_server_controller_;
std::unique_ptr<WindowTreeHostManager> window_tree_host_manager_; std::unique_ptr<WindowTreeHostManager> window_tree_host_manager_;
std::unique_ptr<PersistentWindowController> persistent_window_controller_; std::unique_ptr<PersistentWindowController> persistent_window_controller_;
std::unique_ptr<HighContrastController> high_contrast_controller_; std::unique_ptr<HighContrastController> high_contrast_controller_;
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include "base/threading/thread_restrictions.h" #include "base/threading/thread_restrictions.h"
#include "chromeos/audio/cras_audio_handler.h" #include "chromeos/audio/cras_audio_handler.h"
#include "chromeos/dbus/dbus_thread_manager.h" #include "chromeos/dbus/dbus_thread_manager.h"
#include "components/exo/file_helper.h"
#include "content/public/browser/context_factory.h" #include "content/public/browser/context_factory.h"
#include "content/public/common/content_switches.h" #include "content/public/common/content_switches.h"
#include "content/shell/browser/shell_browser_context.h" #include "content/shell/browser/shell_browser_context.h"
...@@ -101,6 +102,8 @@ void ShellBrowserMainParts::PreMainMessageLoopRun() { ...@@ -101,6 +102,8 @@ void ShellBrowserMainParts::PreMainMessageLoopRun() {
ShellContentState::GetInstance()->GetActiveBrowserContext(), nullptr)); ShellContentState::GetInstance()->GetActiveBrowserContext(), nullptr));
ash::Shell::GetPrimaryRootWindow()->GetHost()->Show(); ash::Shell::GetPrimaryRootWindow()->GetHost()->Show();
ash::Shell::Get()->InitWaylandServer(nullptr, nullptr);
} }
void ShellBrowserMainParts::PostMainMessageLoopRun() { void ShellBrowserMainParts::PostMainMessageLoopRun() {
......
...@@ -45,13 +45,16 @@ class WaylandServerController::WaylandWatcher ...@@ -45,13 +45,16 @@ class WaylandServerController::WaylandWatcher
// static // static
std::unique_ptr<WaylandServerController> std::unique_ptr<WaylandServerController>
WaylandServerController::CreateIfNecessary() { WaylandServerController::CreateIfNecessary(
exo::NotificationSurfaceManager* notification_surface_manager,
std::unique_ptr<exo::FileHelper> file_helper) {
if (!base::CommandLine::ForCurrentProcess()->HasSwitch( if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kAshEnableWaylandServer)) { switches::kAshEnableWaylandServer)) {
return nullptr; return nullptr;
} }
return base::WrapUnique(new WaylandServerController()); return base::WrapUnique(new WaylandServerController(
notification_surface_manager, std::move(file_helper)));
} }
WaylandServerController::~WaylandServerController() { WaylandServerController::~WaylandServerController() {
...@@ -62,14 +65,13 @@ WaylandServerController::~WaylandServerController() { ...@@ -62,14 +65,13 @@ WaylandServerController::~WaylandServerController() {
wm_helper_.reset(); wm_helper_.reset();
} }
WaylandServerController::WaylandServerController() { WaylandServerController::WaylandServerController(
exo::NotificationSurfaceManager* notification_surface_manager,
std::unique_ptr<exo::FileHelper> file_helper) {
wm_helper_ = std::make_unique<exo::WMHelper>(); wm_helper_ = std::make_unique<exo::WMHelper>();
exo::WMHelper::SetInstance(wm_helper_.get()); exo::WMHelper::SetInstance(wm_helper_.get());
// TODO(penghuang): wire up notification surface manager. display_ = std::make_unique<exo::Display>(notification_surface_manager,
// http://crbug.com/768439 std::move(file_helper));
// TODO(hirono): wire up the file helper. http://crbug.com/768395
display_ = std::make_unique<exo::Display>(
nullptr /* notification_surface_manager */, nullptr /* file_helper */);
wayland_server_ = exo::wayland::Server::Create(display_.get()); wayland_server_ = exo::wayland::Server::Create(display_.get());
// Wayland server creation can fail if XDG_RUNTIME_DIR is not set correctly. // Wayland server creation can fail if XDG_RUNTIME_DIR is not set correctly.
if (wayland_server_) if (wayland_server_)
......
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
namespace exo { namespace exo {
class Display; class Display;
class FileHelper;
class NotificationSurfaceManager;
class WMHelper; class WMHelper;
namespace wayland { namespace wayland {
class Server; class Server;
...@@ -23,12 +25,16 @@ class WaylandServerController { ...@@ -23,12 +25,16 @@ class WaylandServerController {
public: public:
// Creates WaylandServerController. Returns null if controller should not be // Creates WaylandServerController. Returns null if controller should not be
// created. // created.
static std::unique_ptr<WaylandServerController> CreateIfNecessary(); static std::unique_ptr<WaylandServerController> CreateIfNecessary(
exo::NotificationSurfaceManager* notification_surface_manager,
std::unique_ptr<exo::FileHelper> file_helper);
~WaylandServerController(); ~WaylandServerController();
private: private:
WaylandServerController(); WaylandServerController(
exo::NotificationSurfaceManager* notification_surface_manager,
std::unique_ptr<exo::FileHelper> file_helper);
std::unique_ptr<exo::WMHelper> wm_helper_; std::unique_ptr<exo::WMHelper> wm_helper_;
std::unique_ptr<exo::Display> display_; std::unique_ptr<exo::Display> display_;
......
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
#include "ash/shell_init_params.h" #include "ash/shell_init_params.h"
#include "ash/shell_port_mash.h" #include "ash/shell_port_mash.h"
#include "ash/shell_port_mus.h" #include "ash/shell_port_mus.h"
#include "ash/wayland/wayland_server_controller.h"
#include "ash/wm/ash_focus_rules.h" #include "ash/wm/ash_focus_rules.h"
#include "ash/wm/move_event_handler.h" #include "ash/wm/move_event_handler.h"
#include "ash/wm/non_client_frame_controller.h" #include "ash/wm/non_client_frame_controller.h"
...@@ -42,6 +41,7 @@ ...@@ -42,6 +41,7 @@
#include "ash/wm/top_level_window_factory.h" #include "ash/wm/top_level_window_factory.h"
#include "ash/wm/window_properties.h" #include "ash/wm/window_properties.h"
#include "ash/wm/window_state.h" #include "ash/wm/window_state.h"
#include "components/exo/file_helper.h"
#include "services/service_manager/public/cpp/connector.h" #include "services/service_manager/public/cpp/connector.h"
#include "services/ui/common/accelerator_util.h" #include "services/ui/common/accelerator_util.h"
#include "services/ui/common/types.h" #include "services/ui/common/types.h"
...@@ -339,8 +339,12 @@ void WindowManager::OnWmConnected() { ...@@ -339,8 +339,12 @@ void WindowManager::OnWmConnected() {
Shell::GetPrimaryRootWindow()->GetHost()->Show(); Shell::GetPrimaryRootWindow()->GetHost()->Show();
// We only create controller in the ash process for mash. // We only create controller in the ash process for mash.
if (Shell::GetAshConfig() == Config::MASH) if (Shell::GetAshConfig() == Config::MASH) {
wayland_server_controller_ = WaylandServerController::CreateIfNecessary(); // TODO(penghuang): wire up notification surface manager.
// https://crbug.com/768439
// TODO(hirono): wire up the file helper. http://crbug.com/768395
Shell::Get()->InitWaylandServer(nullptr, nullptr);
}
} }
void WindowManager::OnWmAcceleratedWidgetAvailableForDisplay( void WindowManager::OnWmAcceleratedWidgetAvailableForDisplay(
......
...@@ -47,7 +47,6 @@ class WMState; ...@@ -47,7 +47,6 @@ class WMState;
namespace ash { namespace ash {
class AcceleratorHandler; class AcceleratorHandler;
class AshTestHelper; class AshTestHelper;
class WaylandServerController;
enum class Config; enum class Config;
...@@ -209,8 +208,6 @@ class ASH_EXPORT WindowManager : public aura::WindowManagerDelegate, ...@@ -209,8 +208,6 @@ class ASH_EXPORT WindowManager : public aura::WindowManagerDelegate,
std::unique_ptr<ui::InputDeviceClient> input_device_client_; std::unique_ptr<ui::InputDeviceClient> input_device_client_;
std::unique_ptr<WaylandServerController> wayland_server_controller_;
DISALLOW_COPY_AND_ASSIGN(WindowManager); DISALLOW_COPY_AND_ASSIGN(WindowManager);
}; };
......
...@@ -204,6 +204,10 @@ include_rules = [ ...@@ -204,6 +204,10 @@ include_rules = [
] ]
specific_include_rules = { specific_include_rules = {
# TODO(mash): see bugs 768439 and 768395.
"exo_parts\.cc": [
"+ash/shell.h",
],
# TODO(mash): Remove. http://crbug.com/678705 # TODO(mash): Remove. http://crbug.com/678705
"fullscreen_chromeos\.cc": [ "fullscreen_chromeos\.cc": [
"+ash/root_window_controller.h", "+ash/root_window_controller.h",
......
...@@ -124,7 +124,6 @@ void DeriveCommandLine(const GURL& start_url, ...@@ -124,7 +124,6 @@ void DeriveCommandLine(const GURL& start_url,
::switches::kEnableUnifiedDesktop, ::switches::kEnableUnifiedDesktop,
::switches::kEnableUseZoomForDSF, ::switches::kEnableUseZoomForDSF,
::switches::kEnableViewport, ::switches::kEnableViewport,
::switches::kEnableWaylandServer,
::switches::kEnableZeroCopy, ::switches::kEnableZeroCopy,
::switches::kEnableDrmAtomic, ::switches::kEnableDrmAtomic,
::switches::kEnableHardwareOverlays, ::switches::kEnableHardwareOverlays,
......
...@@ -6,24 +6,18 @@ ...@@ -6,24 +6,18 @@
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#if defined(USE_GLIB) #include "ash/public/cpp/ash_switches.h"
#include <glib.h> #include "ash/shell.h"
#endif
#include "base/command_line.h" #include "base/command_line.h"
#include "base/macros.h" #include "base/macros.h"
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/message_loop/message_loop.h"
#include "chrome/browser/chromeos/file_manager/app_id.h" #include "chrome/browser/chromeos/file_manager/app_id.h"
#include "chrome/browser/chromeos/file_manager/fileapi_util.h" #include "chrome/browser/chromeos/file_manager/fileapi_util.h"
#include "chrome/browser/chromeos/file_manager/path_util.h" #include "chrome/browser/chromeos/file_manager/path_util.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h" #include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/ui/ash/ash_util.h" #include "chrome/browser/ui/ash/ash_util.h"
#include "chrome/common/chrome_switches.h" #include "chrome/common/chrome_switches.h"
#include "components/exo/display.h"
#include "components/exo/file_helper.h" #include "components/exo/file_helper.h"
#include "components/exo/wayland/server.h"
#include "components/exo/wm_helper.h"
#include "components/user_manager/user_manager.h" #include "components/user_manager/user_manager.h"
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
#include "content/public/common/drop_data.h" #include "content/public/common/drop_data.h"
...@@ -110,103 +104,13 @@ class ChromeFileHelper : public exo::FileHelper { ...@@ -110,103 +104,13 @@ class ChromeFileHelper : public exo::FileHelper {
} // namespace } // namespace
#if defined(USE_GLIB)
namespace {
struct GLibWaylandSource : public GSource {
// Note: The GLibWaylandSource is created and destroyed by GLib. So its
// constructor/destructor may or may not get called.
exo::wayland::Server* server;
GPollFD* poll_fd;
};
gboolean WaylandSourcePrepare(GSource* source, gint* timeout_ms) {
*timeout_ms = -1;
return FALSE;
}
gboolean WaylandSourceCheck(GSource* source) {
GLibWaylandSource* wayland_source = static_cast<GLibWaylandSource*>(source);
return (wayland_source->poll_fd->revents & G_IO_IN) ? TRUE : FALSE;
}
gboolean WaylandSourceDispatch(GSource* source,
GSourceFunc unused_func,
gpointer data) {
GLibWaylandSource* wayland_source = static_cast<GLibWaylandSource*>(source);
wayland_source->server->Dispatch(base::TimeDelta());
wayland_source->server->Flush();
return TRUE;
}
GSourceFuncs g_wayland_source_funcs = {WaylandSourcePrepare, WaylandSourceCheck,
WaylandSourceDispatch, nullptr};
} // namespace
class ExoParts::WaylandWatcher {
public:
explicit WaylandWatcher(exo::wayland::Server* server)
: wayland_poll_(new GPollFD),
wayland_source_(static_cast<GLibWaylandSource*>(
g_source_new(&g_wayland_source_funcs, sizeof(GLibWaylandSource)))) {
wayland_poll_->fd = server->GetFileDescriptor();
wayland_poll_->events = G_IO_IN;
wayland_poll_->revents = 0;
wayland_source_->server = server;
wayland_source_->poll_fd = wayland_poll_.get();
g_source_add_poll(wayland_source_, wayland_poll_.get());
g_source_set_can_recurse(wayland_source_, TRUE);
g_source_set_callback(wayland_source_, nullptr, nullptr, nullptr);
g_source_attach(wayland_source_, g_main_context_default());
}
~WaylandWatcher() {
g_source_destroy(wayland_source_);
g_source_unref(wayland_source_);
}
private:
// The poll attached to |wayland_source_|.
std::unique_ptr<GPollFD> wayland_poll_;
// The GLib event source for wayland events.
GLibWaylandSource* wayland_source_;
DISALLOW_COPY_AND_ASSIGN(WaylandWatcher);
};
#else
class ExoParts::WaylandWatcher : public base::MessagePumpLibevent::FdWatcher {
public:
explicit WaylandWatcher(exo::wayland::Server* server)
: controller_(FROM_HERE), server_(server) {
base::MessageLoopForUI::current()->WatchFileDescriptor(
server_->GetFileDescriptor(),
true, // persistent
base::MessagePumpLibevent::WATCH_READ, &controller_, this);
}
// base::MessagePumpLibevent::FdWatcher:
void OnFileCanReadWithoutBlocking(int fd) override {
server_->Dispatch(base::TimeDelta());
server_->Flush();
}
void OnFileCanWriteWithoutBlocking(int fd) override { NOTREACHED(); }
private:
base::MessagePumpLibevent::FdWatchController controller_;
exo::wayland::Server* const server_;
DISALLOW_COPY_AND_ASSIGN(WaylandWatcher);
};
#endif
// static // static
std::unique_ptr<ExoParts> ExoParts::CreateIfNecessary() { std::unique_ptr<ExoParts> ExoParts::CreateIfNecessary() {
// For mash, exosphere will not run in the browser process. // For mash, exosphere will not run in the browser process.
if (ash_util::IsRunningInMash()) if (ash_util::IsRunningInMash())
return nullptr; return nullptr;
if (!base::CommandLine::ForCurrentProcess()->HasSwitch( if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableWaylandServer)) { ash::switches::kAshEnableWaylandServer)) {
return nullptr; return nullptr;
} }
...@@ -214,24 +118,15 @@ std::unique_ptr<ExoParts> ExoParts::CreateIfNecessary() { ...@@ -214,24 +118,15 @@ std::unique_ptr<ExoParts> ExoParts::CreateIfNecessary() {
} }
ExoParts::~ExoParts() { ExoParts::~ExoParts() {
wayland_watcher_.reset(); ash::Shell::Get()->DestroyWaylandServer();
wayland_server_.reset();
display_.reset();
exo::WMHelper::SetInstance(nullptr);
wm_helper_.reset();
} }
ExoParts::ExoParts() { ExoParts::ExoParts() {
DCHECK(!ash_util::IsRunningInMash());
arc_notification_surface_manager_ = arc_notification_surface_manager_ =
std::make_unique<arc::ArcNotificationSurfaceManagerImpl>(); std::make_unique<arc::ArcNotificationSurfaceManagerImpl>();
DCHECK(!ash_util::IsRunningInMash()); std::unique_ptr<ChromeFileHelper> file_helper =
wm_helper_ = std::make_unique<exo::WMHelper>(); std::make_unique<ChromeFileHelper>();
exo::WMHelper::SetInstance(wm_helper_.get()); ash::Shell::Get()->InitWaylandServer(arc_notification_surface_manager_.get(),
display_ = std::move(file_helper));
std::make_unique<exo::Display>(arc_notification_surface_manager_.get(),
std::make_unique<ChromeFileHelper>());
wayland_server_ = exo::wayland::Server::Create(display_.get());
// Wayland server creation can fail if XDG_RUNTIME_DIR is not set correctly.
if (wayland_server_)
wayland_watcher_ = std::make_unique<WaylandWatcher>(wayland_server_.get());
} }
...@@ -9,14 +9,6 @@ ...@@ -9,14 +9,6 @@
#include "base/macros.h" #include "base/macros.h"
namespace exo {
class Display;
class WMHelper;
namespace wayland {
class Server;
}
} // namespace exo
namespace arc { namespace arc {
class ArcNotificationSurfaceManagerImpl; class ArcNotificationSurfaceManagerImpl;
} }
...@@ -33,11 +25,6 @@ class ExoParts { ...@@ -33,11 +25,6 @@ class ExoParts {
std::unique_ptr<arc::ArcNotificationSurfaceManagerImpl> std::unique_ptr<arc::ArcNotificationSurfaceManagerImpl>
arc_notification_surface_manager_; arc_notification_surface_manager_;
std::unique_ptr<exo::WMHelper> wm_helper_;
std::unique_ptr<exo::Display> display_;
std::unique_ptr<exo::wayland::Server> wayland_server_;
class WaylandWatcher;
std::unique_ptr<WaylandWatcher> wayland_watcher_;
DISALLOW_COPY_AND_ASSIGN(ExoParts); DISALLOW_COPY_AND_ASSIGN(ExoParts);
}; };
......
...@@ -969,11 +969,6 @@ const char kAllowNaClFileHandleAPI[] = "allow-nacl-file-handle-api"; ...@@ -969,11 +969,6 @@ const char kAllowNaClFileHandleAPI[] = "allow-nacl-file-handle-api";
const char kAllowNaClSocketAPI[] = "allow-nacl-socket-api"; const char kAllowNaClSocketAPI[] = "allow-nacl-socket-api";
#endif #endif
#if BUILDFLAG(ENABLE_WAYLAND_SERVER)
// Enables Wayland display server support.
const char kEnableWaylandServer[] = "enable-wayland-server";
#endif
#if defined(OS_WIN) || defined(OS_LINUX) #if defined(OS_WIN) || defined(OS_LINUX)
const char kDisableInputImeAPI[] = "disable-input-ime-api"; const char kDisableInputImeAPI[] = "disable-input-ime-api";
const char kEnableInputImeAPI[] = "enable-input-ime-api"; const char kEnableInputImeAPI[] = "enable-input-ime-api";
......
...@@ -292,10 +292,6 @@ extern const char kAllowNaClFileHandleAPI[]; ...@@ -292,10 +292,6 @@ extern const char kAllowNaClFileHandleAPI[];
extern const char kAllowNaClSocketAPI[]; extern const char kAllowNaClSocketAPI[];
#endif #endif
#if BUILDFLAG(ENABLE_WAYLAND_SERVER)
extern const char kEnableWaylandServer[];
#endif
#if defined(OS_WIN) || defined(OS_LINUX) #if defined(OS_WIN) || defined(OS_LINUX)
extern const char kDisableInputImeAPI[]; extern const char kDisableInputImeAPI[];
extern const char kEnableInputImeAPI[]; extern const char kEnableInputImeAPI[];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment