gchar* webkit_web_history_item_get_target(WebKitWebHistoryItem* webHistoryItem) { g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL); WebCore::HistoryItem* item = core(webHistoryItem); g_return_val_if_fail(item, NULL); WTF::CString t = item->target().utf8(); return g_strdup(t.data()); }
static void webkit_web_history_item_dispose(GObject* object) { WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(object); WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; if (!priv->disposed) { WebCore::HistoryItem* item = core(webHistoryItem); item->deref(); priv->disposed = true; } G_OBJECT_CLASS(webkit_web_history_item_parent_class)->dispose(object); }
/** * webkit_web_history_item_get_original_uri: * @web_history_item: a #WebKitWebHistoryItem * * Returns the original URI of @web_history_item. * * Return value: the original URI of @web_history_item */ G_CONST_RETURN gchar* webkit_web_history_item_get_original_uri(WebKitWebHistoryItem* webHistoryItem) { g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL); WebCore::HistoryItem* item = core(WEBKIT_WEB_HISTORY_ITEM(webHistoryItem)); g_return_val_if_fail(item, NULL); WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; priv->originalUri = item->originalURLString().utf8(); return webHistoryItem->priv->originalUri.data(); }
/** * webkit_web_history_item_get_alternate_title: * @web_history_item: a #WebKitWebHistoryItem * * Returns the alternate title of @web_history_item * * Return value: the alternate title of @web_history_item */ G_CONST_RETURN gchar* webkit_web_history_item_get_alternate_title(WebKitWebHistoryItem* webHistoryItem) { g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL); WebCore::HistoryItem* item = core(webHistoryItem); g_return_val_if_fail(item, NULL); WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; priv->alternateTitle = item->alternateTitle().utf8(); return priv->alternateTitle.data(); }
/** * webkit_web_history_item_get_uri: * @web_history_item: a #WebKitWebHistoryItem * * Returns the URI of @this * * Return value: the URI of @web_history_item */ const gchar* webkit_web_history_item_get_uri(WebKitWebHistoryItem* webHistoryItem) { g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL); WebCore::HistoryItem* item = core(WEBKIT_WEB_HISTORY_ITEM(webHistoryItem)); g_return_val_if_fail(item, NULL); WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; priv->uri = item->urlString().utf8(); return priv->uri.data(); }
/** * webkit_web_history_item_get_uri: * @webHistoryItem: a #WebKitWebHistoryItem * * Returns the URI of @this * * Return value: the URI of @webHistoryItem */ G_CONST_RETURN gchar* webkit_web_history_item_get_uri(WebKitWebHistoryItem* webHistoryItem) { g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL); WebCore::HistoryItem* item = core(WEBKIT_WEB_HISTORY_ITEM(webHistoryItem)); g_return_val_if_fail(item != NULL, NULL); WebCore::String uri = item->urlString(); WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; g_free(priv->uri); priv->uri = g_strdup(uri.utf8().data()); return priv->uri; }
/** * webkit_web_history_item_get_title: * @webHistoryItem: a #WebKitWebHistoryItem * * Returns the page title of @webHistoryItem */ G_CONST_RETURN gchar* webkit_web_history_item_get_title(WebKitWebHistoryItem* webHistoryItem) { g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL); WebCore::HistoryItem* item = core(webHistoryItem); g_return_val_if_fail(item != NULL, NULL); WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv; WebCore::String title = item->title(); g_free(priv->title); priv->title = g_strdup(title.utf8().data()); return priv->title; }
HistoryItemChildrenVector DumpRenderTreeSupportEfl::childHistoryItems(const Ewk_History_Item* ewkHistoryItem) { WebCore::HistoryItem* historyItem = EWKPrivate::coreHistoryItem(ewkHistoryItem); HistoryItemChildrenVector kids; if (!historyItem) return kids; const WebCore::HistoryItemVector& children = historyItem->children(); const unsigned size = children.size(); for (unsigned i = 0; i < size; ++i) { Ewk_History_Item* kid = ewk_history_item_new_from_core(children[i].get()); kids.append(kid); } return kids; }
PageState toPageState(const WebCore::HistoryItem& historyItem) { PageState pageState; pageState.title = historyItem.title(); pageState.mainFrameState = toFrameState(historyItem); return pageState; }
GList* webkit_web_history_item_get_children(WebKitWebHistoryItem* webHistoryItem) { g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL); WebCore::HistoryItem* item = core(webHistoryItem); g_return_val_if_fail(item, NULL); const WebCore::HistoryItemVector& children = item->children(); if (!children.size()) return NULL; unsigned size = children.size(); GList* kids = NULL; for (unsigned i = 0; i < size; ++i) kids = g_list_prepend(kids, kit(children[i].get())); return g_list_reverse(kids); }
static void unit_test() { LOGD("Entering history unit test!"); const char* test1 = new char[0]; WTF::RefPtr<WebCore::HistoryItem> item = WebCore::HistoryItem::create(); WebCore::HistoryItem* testItem = item.get(); testItem->setBridge(new WebHistoryItem(0)); LOG_ASSERT(!read_item_recursive(testItem, &test1, 0), "0 length array should fail!"); delete[] test1; const char* test2 = new char[2]; LOG_ASSERT(!read_item_recursive(testItem, &test2, 2), "Small array should fail!"); delete[] test2; LOG_ASSERT(!read_item_recursive(testItem, NULL, HISTORY_MIN_SIZE), "Null data should fail!"); // Original Url char* test3 = new char[HISTORY_MIN_SIZE]; const char* ptr = (const char*)test3; memset(test3, 0, HISTORY_MIN_SIZE); *(int*)test3 = 4000; LOG_ASSERT(!read_item_recursive(testItem, &ptr, HISTORY_MIN_SIZE), "4000 length originalUrl should fail!"); // Url int offset = 4; memset(test3, 0, HISTORY_MIN_SIZE); ptr = (const char*)test3; *(int*)(test3 + offset) = 4000; LOG_ASSERT(!read_item_recursive(testItem, &ptr, HISTORY_MIN_SIZE), "4000 length url should fail!"); // Title offset += 4; memset(test3, 0, HISTORY_MIN_SIZE); ptr = (const char*)test3; *(int*)(test3 + offset) = 4000; LOG_ASSERT(!read_item_recursive(testItem, &ptr, HISTORY_MIN_SIZE), "4000 length title should fail!"); // Form content type offset += 4; memset(test3, 0, HISTORY_MIN_SIZE); ptr = (const char*)test3; *(int*)(test3 + offset) = 4000; LOG_ASSERT(!read_item_recursive(testItem, &ptr, HISTORY_MIN_SIZE), "4000 length contentType should fail!"); // Form data offset += 4; memset(test3, 0, HISTORY_MIN_SIZE); ptr = (const char*)test3; *(int*)(test3 + offset) = 4000; LOG_ASSERT(!read_item_recursive(testItem, &ptr, HISTORY_MIN_SIZE), "4000 length form data should fail!"); // Target offset += 4; memset(test3, 0, HISTORY_MIN_SIZE); ptr = (const char*)test3; *(int*)(test3 + offset) = 4000; LOG_ASSERT(!read_item_recursive(testItem, &ptr, HISTORY_MIN_SIZE), "4000 length target should fail!"); offset += 4; // Scale // Document state offset += 4; memset(test3, 0, HISTORY_MIN_SIZE); ptr = (const char*)test3; *(int*)(test3 + offset) = 4000; LOG_ASSERT(!read_item_recursive(testItem, &ptr, HISTORY_MIN_SIZE), "4000 length document state should fail!"); // Is target item offset += 1; memset(test3, 0, HISTORY_MIN_SIZE); ptr = (const char*)test3; *(char*)(test3 + offset) = '!'; LOG_ASSERT(!read_item_recursive(testItem, &ptr, HISTORY_MIN_SIZE), "IsTargetItem should fail with ! as the value!"); // Child count offset += 4; memset(test3, 0, HISTORY_MIN_SIZE); ptr = (const char*)test3; *(int*)(test3 + offset) = 4000; LOG_ASSERT(!read_item_recursive(testItem, &ptr, HISTORY_MIN_SIZE), "4000 kids should fail!"); offset = 36; // Test document state delete[] test3; test3 = new char[HISTORY_MIN_SIZE + sizeof(unsigned)]; memset(test3, 0, HISTORY_MIN_SIZE + sizeof(unsigned)); ptr = (const char*)test3; *(int*)(test3 + offset) = 1; *(int*)(test3 + offset + 4) = 20; LOG_ASSERT(!read_item_recursive(testItem, &ptr, HISTORY_MIN_SIZE + sizeof(unsigned)), "1 20 length document state string should fail!"); delete[] test3; test3 = new char[HISTORY_MIN_SIZE + 2 * sizeof(unsigned)]; memset(test3, 0, HISTORY_MIN_SIZE + 2 * sizeof(unsigned)); ptr = (const char*)test3; *(int*)(test3 + offset) = 2; *(int*)(test3 + offset + 4) = 0; *(int*)(test3 + offset + 8) = 20; LOG_ASSERT(!read_item_recursive(testItem, &ptr, HISTORY_MIN_SIZE + 2 * sizeof(unsigned) ), "2 20 length document state string should fail!"); delete[] test3; }