}
}
+void RWHVAuraCommonHelperEfl::Focus(bool focus) {
+ if (!rwhva()->window()) {
+ return;
+ }
+
+ aura::WindowTreeHost* window_host = rwhva()->window()->GetHost();
+ if (!window_host) {
+ return;
+ }
+
+ static_cast<aura::WindowTreeHostPlatform*>(window_host)
+ ->platform_window()
+ ->UpdateFocus(focus);
+}
+
+bool RWHVAuraCommonHelperEfl::HasFocus() {
+ if (!rwhva()->window()) {
+ return false;
+ }
+
+ aura::WindowTreeHost* window_host = rwhva()->window()->GetHost();
+ if (!window_host) {
+ return false;
+ }
+
+ return static_cast<aura::WindowTreeHostPlatform*>(window_host)
+ ->platform_window()
+ ->HasFocus();
+}
+
void RWHVAuraCommonHelperEfl::SetPageVisibility(bool visible) {
LOG(INFO) << __FUNCTION__ << ", visible : " << visible;
if (visible) {
virtual void DidGetContentSnapshot(const SkBitmap& bitmap, int request_id);
virtual void Show() {}
virtual void Hide() {}
- virtual void Focus(bool focus) {}
- virtual bool HasFocus() { return false; }
+ virtual void Focus(bool focus);
+ virtual bool HasFocus();
virtual gfx::Size GetVisibleViewportSize() { return gfx::Size(); }
virtual gfx::Size GetPhysicalBackingSize() const { return gfx::Size(); }
virtual void HandleGestureBegin() {}
ecore_wl2_window_show(wl_window_);
#endif
ecore_evas_show(ee_);
+ ecore_evas_focus_set(ee_, true);
// Request to redraw window surface when showing. If not, a black screen will
// appear.
}
void EflWindow::UpdateFocus(bool focused) {
+ if (ee_ && !base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableOffscreenRendering)) {
+ ecore_evas_focus_set(ee_, focused);
+ }
+
if (elm_win_) {
evas_object_focus_set(events_overlay_, focused);
elm_object_focus_set(events_overlay_, focused);
void* ime_window) override;
void UpdateFocus(bool focused) override;
+ bool HasFocus() override { return has_focus_; }
void SetFocus(bool focused) { has_focus_ = focused; }
void OnWindowLostCapture();
// Sets view created in RWHVAura as events overlay for offscreen rendering.
virtual void SetEventsOverlayForOffscreen(Evas_Object*, void*) {}
virtual void UpdateFocus(bool focused) {}
+ virtual bool HasFocus() { return false; }
virtual EflEventHandler* GetEventHandler() { return nullptr; }
#endif