m_webEngine->clearFormData();
// Close all openend tabs
- std::vector<std::shared_ptr<tizen_browser::basic_webengine::TabContent>> openedTabs = m_webEngine->getTabContents();
- for (auto it = openedTabs.begin(); it < openedTabs.end(); ++it) {
- tizen_browser::basic_webengine::TabId id = it->get()->getId();
- m_tabService->removeTab(id);
- m_webEngine->closeTab(id);
- }
+ auto openedTabs = m_webEngine->getTabContents();
+ for (const auto& it : openedTabs)
+ m_webEngine->closeTab(it.get()->getId());
+ m_tabService->clearAll();
m_certificateContents->clear();
m_storageService->getCertificateStorage().deleteAllEntries();
m_storageService->getFoldersStorage().deleteAllFolders();
m_thumbMap.erase(tabId.get());
}
+void TabService::clearAll()
+{
+ int* items = nullptr;
+ int count;
+ if (bp_tab_adaptor_get_full_ids_p(&items, &count) < 0) {
+ errorPrint("bp_tab_adaptor_get_full_ids_p");
+ }
+ for (int i = 0; i < count; ++i) {
+ auto id = basic_webengine::TabId(items[i]);
+ clearFromDatabase(id);
+ }
+ m_thumbMap.clear();
+}
+
void TabService::clearFromDatabase(const basic_webengine::TabId& tabId)
{
if (bp_tab_adaptor_delete(tabId.get()) < 0) {
errorPrint("bp_tab_adaptor_delete");
}
+ if (bp_tab_adaptor_set_deleted(tabId.get()) < 0) {
+ errorPrint("bp_tab_adaptor_set_deleted");
+ }
+ if (bp_tab_adaptor_clear_deleted_ids() < 0) {
+ errorPrint("bp_tab_adaptor_clear_deleted_ids");
+ }
}
void TabService::saveThumbDatabase(const basic_webengine::TabId& tabId,
*/
void removeTab(const basic_webengine::TabId& tabId);
+ /**
+ * Remove all items from the cache and database.
+ */
+ void clearAll();
+
/**
* Set thumb images for given TabContent objects: get them from
* cache or database or generate them by taking screenshots.