typedef DPL::FastDelegate1<bool, void> ResetCB;
typedef DPL::FastDelegate1<Evas_Object*, void> BufferUnsetCB;
typedef DPL::FastDelegate1<Evas_Object*, void> BufferSetCB;
-typedef DPL::FastDelegate2<Evas_Object*, bool, void> EnterFullscreenCB;
+typedef DPL::FastDelegate1<Evas_Object*, void> EnterFullscreenCB;
typedef DPL::FastDelegate1<Evas_Object*, void> ExitFullscreenCB;
typedef DPL::FastDelegate1<bool, void> EditorclientImeCB;
typedef DPL::FastDelegate1<int, void> OrientationCB;
ViewModule::OrientationSupport::DEFERRED_ORIENTATION_EMPTY),
m_orientationThresholdTimer(NULL),
m_isPopupReplyWait(false),
+ m_isFullscreenByPlatform(false),
m_appsSupport(new ViewModule::AppsSupport()),
m_vibrationSupport(new ViewModule::VibrationSupport()),
m_webNotificationSupport(new ViewModule::WebNotificationSupport())
This->m_ewkContext,
"fullscreen");
- bool isFullscreenByPlatform = false;
if (eventInfo) {
- isFullscreenByPlatform =
- (*static_cast<Eina_Bool*>(eventInfo) == EINA_TRUE);
+ This->m_isFullscreenByPlatform =
+ *static_cast<Eina_Bool*>(eventInfo) == EINA_TRUE;
}
if (!This->m_cbs->enterFullscreen.empty()) {
- This->m_cbs->enterFullscreen(obj, isFullscreenByPlatform);
+ This->m_cbs->enterFullscreen(obj);
}
}
ViewLogicMessageSupport::setViewmodes(
This->m_ewkContext,
Message::ToInjectedBundle::SET_VIEWMODES_MSGBODY_EXIT);
+
+ This->m_isFullscreenByPlatform = false;
if (!This->m_cbs->exitFullscreen.empty()) {
This->m_cbs->exitFullscreen(obj);
}
if (keyType == EA_CALLBACK_BACK) {
Assert(obj);
#if 0 // FIXME!!!! ewk_view_text_selection_clear has not landed yet
+ // Call fullscreen exit API
+ // In case of fullscreen is entered by platform(default video tag),
+ // automatically exit fullscreen when backkey is selected
+ if (This->m_isFullscreenByPlatform) {
+ ewk_view_fullscreen_exit(obj);
+ return;
+ }
+
// Call text selection clear API
// In case of current state is selection mode,
// application doesn't need to handle back key
int m_deferredRotateAngle;
Ecore_Timer* m_orientationThresholdTimer;
bool m_isPopupReplyWait;
+ bool m_isFullscreenByPlatform;
std::unique_ptr<ViewModule::AppsSupport> m_appsSupport;
std::unique_ptr<ViewModule::VibrationSupport> m_vibrationSupport;
m_initialViewMode(VIEWMODE_TYPE_MAXIMIZED),
m_currentViewMode(VIEWMODE_TYPE_MAXIMIZED),
m_isWebkitFullscreen(false),
- m_isFullscreenByPlatform(false),
m_submodeSupport(new ClientModule::SubmodeSupport())
{
Touch();
NextStepEvent());
}
-void WrtClient::enterFullscreenCallback(Evas_Object* /*obj*/,
- bool isFullscreenByPlatform)
+void WrtClient::enterFullscreenCallback(Evas_Object* /*obj*/)
{
// enter fullscreen
m_windowData->toggleFullscreen(true);
m_currentViewMode = VIEWMODE_TYPE_FULLSCREEN;
m_isWebkitFullscreen = true;
- if (isFullscreenByPlatform) {
- m_isFullscreenByPlatform = true;
- }
}
void WrtClient::exitFullscreenCallback(Evas_Object* /*obj*/)
m_windowData->toggleFullscreen(false);
m_currentViewMode = m_initialViewMode;
m_isWebkitFullscreen = false;
- m_isFullscreenByPlatform = false;
}
void WrtClient::launchStep()
// UX isn't confirmed
// m_windowData->showCtxpopup();
}
- } else {
- // packaged application
- if (key == KeyName::BACK) {
- if (m_isFullscreenByPlatform) {
- // FIXME!!! This method has not yet landed in the tizen 3.0
- // webkit-efl source tree
- //ewk_view_fullscreen_exit(m_widget->GetCurrentWebview());
- }
- }
}
}
void progressFinishCallback();
void webkitExitCallback();
void webCrashCallback();
- void enterFullscreenCallback(Evas_Object* obj, bool isFullscreenByPlatform);
+ void enterFullscreenCallback(Evas_Object* obj);
void exitFullscreenCallback(Evas_Object* obj);
void setLayout(Evas_Object* newBuffer);
void unsetLayout(Evas_Object* currentBuffer);
std::string m_initialViewMode;
std::string m_currentViewMode;
bool m_isWebkitFullscreen;
- bool m_isFullscreenByPlatform;
std::unique_ptr<ClientModule::SubmodeSupport> m_submodeSupport;
};