m_webPageUI->forwardPage.connect(boost::bind(&tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>::forward, m_webEngine.get()));
m_webPageUI->forwardPage.connect(boost::bind(&ZoomUI::showNavigation, m_zoomUI.get()));
m_webPageUI->stopLoadingPage.connect(boost::bind(&tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>::stopLoading, m_webEngine.get()));
- m_webPageUI->stopLoadingPage.connect(boost::bind(&ZoomUI::showNavigation, m_zoomUI.get()));
m_webPageUI->reloadPage.connect(boost::bind(&tizen_browser::basic_webengine::AbstractWebEngine<Evas_Object>::reload, m_webEngine.get()));
m_webPageUI->reloadPage.connect(boost::bind(&ZoomUI::showNavigation, m_zoomUI.get()));
m_webPageUI->showQuickAccess.connect(boost::bind(&SimpleUI::showQuickAccess, this));
m_webEngine->uriChanged.connect(boost::bind(&SimpleUI::webEngineURLChanged, this, _1));
m_webEngine->uriChanged.connect(boost::bind(&URIEntry::changeUri, &m_webPageUI->getURIEntry(), _1));
- m_webEngine->uriChanged.connect(boost::bind(&MoreMenuUI::setURL, m_moreMenuUI.get(), _1));
m_webEngine->webViewClicked.connect(boost::bind(&URIEntry::clearFocus, &m_webPageUI->getURIEntry()));
m_webEngine->backwardEnableChanged.connect(boost::bind(&WebPageUI::setBackButtonEnabled, m_webPageUI.get(), _1));
m_webEngine->forwardEnableChanged.connect(boost::bind(&WebPageUI::setForwardButtonEnabled, m_webPageUI.get(), _1));
m_webEngine->loadStarted.connect(boost::bind(&SimpleUI::loadStarted, this));
m_webEngine->loadProgress.connect(boost::bind(&SimpleUI::progressChanged,this,_1));
m_webEngine->loadFinished.connect(boost::bind(&SimpleUI::loadFinished, this));
- m_webEngine->loadStop.connect(boost::bind(&SimpleUI::loadFinished, this));
+ m_webEngine->loadStop.connect(boost::bind(&SimpleUI::loadStopped, this));
m_webEngine->loadError.connect(boost::bind(&SimpleUI::loadError, this));
m_webEngine->confirmationRequest.connect(boost::bind(&SimpleUI::handleConfirmationRequest, this, _1));
m_webEngine->tabCreated.connect(boost::bind(&SimpleUI::tabCreated, this));
m_webEngine->checkIfCreate.connect(boost::bind(&SimpleUI::checkIfCreate, this));
m_webEngine->tabClosed.connect(boost::bind(&SimpleUI::tabClosed,this,_1));
m_webEngine->IMEStateChanged.connect(boost::bind(&SimpleUI::setwvIMEStatus, this, _1));
- m_webEngine->favIconChanged.connect(boost::bind(&MoreMenuUI::setFavIcon, m_moreMenuUI.get(), _1));
- m_webEngine->titleChanged.connect(boost::bind(&MoreMenuUI::setWebTitle, m_moreMenuUI.get(), _1));
m_webEngine->titleChanged.connect(boost::bind(&WebPageUI::setPageTitle, m_webPageUI.get(), _1));
m_favoriteService->bookmarkAdded.connect(boost::bind(&SimpleUI::onBookmarkAdded, this,_1));
m_webPageUI->loadFinished();
}
+void SimpleUI::loadStopped()
+{
+ BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
+
+ if (!m_webEngine->isPrivateMode()) {
+ m_historyService->addHistoryItem(std::make_shared<tizen_browser::services::HistoryItem>(
+ m_webEngine->getURI(),
+ m_webEngine->getURI(),
+ std::make_shared<tizen_browser::tools::BrowserImage>()),
+ std::make_shared<tizen_browser::tools::BrowserImage>());
+ }
+ m_webPageUI->loadStopped();
+}
+
void SimpleUI::loadError()
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
m_viewManager->pushViewToStack(m_moreMenuUI.get());
m_moreMenuUI->showCurrentTab();
- if(!m_webPageUI->isHomePageActive()) {
+ if (!m_webPageUI->isHomePageActive()) {
m_moreMenuUI->setFavIcon(m_webEngine->getFavicon());
m_moreMenuUI->setWebTitle(m_webEngine->getTitle());
m_moreMenuUI->setURL(m_webEngine->getURI());
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
if (!m_webPageUI->isHomePageActive()) {
m_webEngine->switchToMobileMode();
- m_viewManager->popStackTo(m_webPageUI.get());
+ m_viewManager->popStackTo(m_webPageUI.get());
m_webEngine->reload();
} else {
m_quickAccess->setDesktopMode(false);
WebKitEngineService::WebKitEngineService()
: m_initialised(false)
, m_privateMode(false)
+ , m_stopped(false)
, m_guiParent(nullptr)
, m_currentTabId(TabId::NONE)
{
{
BROWSER_LOGD("%s:%d %s uri=%s", __FILE__, __LINE__, __func__, uri.c_str());
M_ASSERT(m_currentWebView);
+ m_stopped = false;
m_currentWebView->setURI(uri);
}
std::string WebKitEngineService::getTitle() const
{
M_ASSERT(m_currentWebView);
- if(m_currentWebView)
- return m_currentWebView->getTitle();
- else
+ if (m_currentWebView) {
+ if (m_stopped)
+ return m_currentWebView->getURI();
+ else
+ return m_currentWebView->getTitle();
+ } else
return std::string("");
}
void WebKitEngineService::stopLoading(void)
{
M_ASSERT(m_currentWebView);
+ m_stopped = true;
m_currentWebView->stopLoading();
}
void WebKitEngineService::reload(void)
{
M_ASSERT(m_currentWebView);
+ m_stopped = false;
m_currentWebView->reload();
}
void WebKitEngineService::back(void)
{
M_ASSERT(m_currentWebView);
+ m_stopped = false;
m_currentWebView->back();
}
void WebKitEngineService::forward(void)
{
M_ASSERT(m_currentWebView);
+ m_stopped = false;
m_currentWebView->forward();
}
std::shared_ptr<tizen_browser::tools::BrowserImage> WebKitEngineService::getFavicon()
{
M_ASSERT(m_currentWebView);
- if(m_currentWebView)
- return m_currentWebView->getFavicon();
- else
+ if (m_currentWebView) {
+ if (m_stopped)
+ return std::make_shared<tizen_browser::tools::BrowserImage>();
+ else
+ return m_currentWebView->getFavicon();
+ } else
return std::make_shared<tizen_browser::tools::BrowserImage>();
}
void WebView::stopLoading(void)
{
#if defined(USE_EWEBKIT)
+ m_isLoading = false;
ewk_view_stop(m_ewkView);
#endif
loadStop();
void WebView::reload(void)
{
#if defined(USE_EWEBKIT)
+ m_isLoading = true;
if(m_loadError)
{
m_loadError = false;
BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__);
WebView * self = reinterpret_cast<WebView *>(data);
+ if (!self->isLoading())
+ return;
self->m_loadProgress = *(double *)event_info;
self->loadProgress(self->m_loadProgress);
}
{
WebView * self = static_cast<WebView *>(data);
Evas_Object * favicon = ewk_context_icon_database_icon_object_add(ewk_view_context_get(self->m_ewkView), ewk_view_url_get(self->m_ewkView),evas_object_evas_get(self->m_ewkView));
- if (favicon) {
+ if (favicon && self->isLoading()) {
BROWSER_LOGD("[%s:%d] Favicon received", __PRETTY_FUNCTION__, __LINE__);
self->faviconImage = EflTools::getBrowserImage(favicon);
evas_object_unref(favicon);