TEST(WebKit2, Find) { WKRetainPtr<WKContextRef> context(AdoptWK, WKContextCreate()); WKRetainPtr<WKPageNamespaceRef> pageNamespace(AdoptWK, WKPageNamespaceCreate(context.get())); PlatformWebView webView(pageNamespace.get()); WKPageLoaderClient loaderClient; memset(&loaderClient, 0, sizeof(loaderClient)); loaderClient.version = 0; loaderClient.didFinishLoadForFrame = didFinishLoadForFrame; WKPageSetPageLoaderClient(webView.page(), &loaderClient); WKPageFindClient findClient; memset(&findClient, 0, sizeof(findClient)); findClient.version = 0; findClient.didCountStringMatches = didCountStringMatches; WKPageSetPageFindClient(webView.page(), &findClient); WKRetainPtr<WKURLRef> url(AdoptWK, Util::createURLForResource("find", "html")); WKPageLoadURL(webView.page(), url.get()); Util::run(&didFinishLoad); WKRetainPtr<WKStringRef> findString(AdoptWK, WKStringCreateWithUTF8CString("Hello")); WKPageCountStringMatches(webView.page(), findString.get(), true, 100); Util::run(&didCallCountStringMatches); }
void ewk_view_find_client_attach(WKPageRef pageRef, Evas_Object* ewkView) { WKPageFindClient findClient; memset(&findClient, 0, sizeof(WKPageFindClient)); findClient.version = kWKPageFindClientCurrentVersion; findClient.clientInfo = ewkView; findClient.didFindString = didFindString; WKPageSetPageFindClient(pageRef, &findClient); }