Source/WebKit2/ChangeLog

 12012-07-26 Christophe Dumez <christophe.dumez@intel.com>
 2
 3 [EFL][WK2] Stop using C API to interact with the page in Ewk_View
 4 https://bugs.webkit.org/show_bug.cgi?id=92463
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 Stop using C API to interact with the PageProxy in Ewk_View
 9 and use the PageProxy object directly. This avoids useless
 10 converting to WK type using toAPI() all the time.
 11
 12 * UIProcess/API/efl/ewk_view.cpp:
 13 (ewk_view_base_add):
 14 (ewk_view_uri_update):
 15 (ewk_view_uri_set):
 16 (ewk_view_reload):
 17 (ewk_view_reload_bypass_cache):
 18 (ewk_view_stop):
 19 (ewk_view_load_progress_get):
 20 (ewk_view_device_pixel_ratio_set):
 21 (ewk_view_theme_get):
 22 (ewk_view_cursor_set):
 23 (ewk_view_back):
 24 (ewk_view_forward):
 25 (ewk_view_intent_deliver):
 26 (ewk_view_back_possible):
 27 (ewk_view_forward_possible):
 28 (ewk_view_setting_encoding_custom_get):
 29 (ewk_view_setting_encoding_custom_set):
 30
1312012-07-26 Zeno Albisser <zeno@webkit.org>
232
333 Unreviewed Qt buildfix after r123786.

Source/WebKit2/UIProcess/API/efl/ewk_view.cpp

@@Evas_Object* ewk_view_base_add(Evas* canvas, WKContextRef contextRef, WKPageGrou
548548 }
549549
550550 priv->pageClient = PageClientImpl::create(toImpl(contextRef), toImpl(pageGroupRef), ewkView);
551  ewk_view_form_client_attach(toAPI(priv->pageClient->page()), ewkView);
552  ewk_view_loader_client_attach(toAPI(priv->pageClient->page()), ewkView);
553  ewk_view_policy_client_attach(toAPI(priv->pageClient->page()), ewkView);
554  ewk_view_resource_load_client_attach(toAPI(priv->pageClient->page()), ewkView);
 551
 552 WKPageRef wkPage = toAPI(priv->pageClient->page());
 553 ewk_view_form_client_attach(wkPage, ewkView);
 554 ewk_view_loader_client_attach(wkPage, ewkView);
 555 ewk_view_policy_client_attach(wkPage, ewkView);
 556 ewk_view_resource_load_client_attach(wkPage, ewkView);
555557
556558 ewk_view_theme_set(ewkView, DEFAULT_THEME_PATH"/default.edj");
557559

@@void ewk_view_uri_update(Evas_Object* ewkView)
579581 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
580582 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
581583
582  WKRetainPtr<WKURLRef> wkURL(AdoptWK, WKPageCopyActiveURL(toAPI(priv->pageClient->page())));
583  if (!wkURL)
 584 String activeURL = priv->pageClient->page()->activeURL();
 585 if (activeURL.isEmpty())
584586 return;
585587
586  CString activeURI = toImpl(wkURL.get())->string().utf8();
587  if (!eina_stringshare_replace(&priv->uri, activeURI.data()))
 588 if (!eina_stringshare_replace(&priv->uri, activeURL.utf8().data()))
588589 return;
589590
590591 evas_object_smart_callback_call(ewkView, "uri,changed", static_cast<void*>(const_cast<char*>(priv->uri)));

@@void ewk_view_uri_update(Evas_Object* ewkView)
592593
593594Eina_Bool ewk_view_uri_set(Evas_Object* ewkView, const char* uri)
594595{
595  EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
596  EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
 596 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
 597 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
 598 EINA_SAFETY_ON_NULL_RETURN_VAL(uri, false);
597599
598  WKRetainPtr<WKURLRef> url(AdoptWK, WKURLCreateWithUTF8CString(uri));
599  WKPageLoadURL(toAPI(priv->pageClient->page()), url.get());
 600 priv->pageClient->page()->loadURL(uri);
600601 ewk_view_uri_update(ewkView);
601602
602603 return true;

@@Eina_Bool ewk_view_reload(Evas_Object* ewkView)
615616 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
616617 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
617618
618  WKPageReload(toAPI(priv->pageClient->page()));
 619 priv->pageClient->page()->reload(/*reloadFromOrigin*/ false);
619620 ewk_view_uri_update(ewkView);
 621
620622 return true;
621623}
622624

@@Eina_Bool ewk_view_reload_bypass_cache(Evas_Object* ewkView)
625627 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
626628 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
627629
628  WKPageReloadFromOrigin(toAPI(priv->pageClient->page()));
 630 priv->pageClient->page()->reload(/*reloadFromOrigin*/ true);
629631 ewk_view_uri_update(ewkView);
 632
630633 return true;
631634}
632635

@@Eina_Bool ewk_view_stop(Evas_Object* ewkView)
635638 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
636639 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
637640
638  WKPageStopLoading(toAPI(priv->pageClient->page()));
 641 priv->pageClient->page()->stopLoading();
 642
639643 return true;
640644}
641645

@@double ewk_view_load_progress_get(const Evas_Object* ewkView)
764768 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
765769 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
766770
767  return WKPageGetEstimatedProgress(toAPI(priv->pageClient->page()));
 771 return priv->pageClient->page()->estimatedProgress();
768772}
769773
770774Eina_Bool ewk_view_device_pixel_ratio_set(Evas_Object* ewkView, float ratio)

@@Eina_Bool ewk_view_device_pixel_ratio_set(Evas_Object* ewkView, float ratio)
773777 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
774778
775779 priv->pageClient->page()->setCustomDeviceScaleFactor(ratio);
 780
776781 return true;
777782}
778783

@@const char* ewk_view_theme_get(const Evas_Object* ewkView)
823828{
824829 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
825830 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
 831
826832 return priv->theme;
827833}
828834

@@void ewk_view_cursor_set(Evas_Object* ewkView, const Cursor& cursor)
834840 const char* group = cursor.platformCursor();
835841 if (!group || group == priv->cursorGroup)
836842 return;
 843
837844 priv->cursorGroup = group;
838845
839846 if (priv->cursorObject)

@@Eina_Bool ewk_view_back(Evas_Object* ewkView)
891898 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
892899 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
893900
894  WKPageRef pageRef = toAPI(priv->pageClient->page());
895  if (WKPageCanGoBack(pageRef)) {
896  WKPageGoBack(pageRef);
 901 WebPageProxy* page = priv->pageClient->page();
 902 if (page->canGoBack()) {
 903 page->goBack();
897904 return true;
898905 }
 906
899907 return false;
900908}
901909

@@Eina_Bool ewk_view_forward(Evas_Object* ewkView)
904912 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
905913 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
906914
907  WKPageRef pageRef = toAPI(priv->pageClient->page());
908  if (WKPageCanGoForward(pageRef)) {
909  WKPageGoForward(pageRef);
 915 WebPageProxy* page = priv->pageClient->page();
 916 if (page->canGoForward()) {
 917 page->goForward();
910918 return true;
911919 }
 920
912921 return false;
913922}
914923

@@Eina_Bool ewk_view_intent_deliver(Evas_Object* ewkView, Ewk_Intent* intent)
919928 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
920929 EINA_SAFETY_ON_NULL_RETURN_VAL(intent, false);
921930
922  WKPageRef wkPage = toAPI(priv->pageClient->page());
923  WKPageDeliverIntentToFrame(wkPage, WKPageGetMainFrame(wkPage), ewk_intent_WKIntentDataRef_get(intent));
 931 WebPageProxy* page = priv->pageClient->page();
 932 page->deliverIntentToFrame(page->mainFrame(), toImpl(ewk_intent_WKIntentDataRef_get(intent)));
 933
924934 return true;
925935#else
926936 return false;

@@Eina_Bool ewk_view_back_possible(Evas_Object* ewkView)
932942 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
933943 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
934944
935  return WKPageCanGoBack(toAPI(priv->pageClient->page()));
 945 return priv->pageClient->page()->canGoBack();
936946}
937947
938948Eina_Bool ewk_view_forward_possible(Evas_Object* ewkView)

@@Eina_Bool ewk_view_forward_possible(Evas_Object* ewkView)
940950 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
941951 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
942952
943  return WKPageCanGoForward(toAPI(priv->pageClient->page()));
 953 return priv->pageClient->page()->canGoForward();
944954}
945955
946956void ewk_view_image_data_set(Evas_Object* ewkView, void* imageData, const IntSize& size)

@@const char* ewk_view_setting_encoding_custom_get(const Evas_Object* ewkView)
10931103 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
10941104 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
10951105
1096  WKRetainPtr<WKStringRef> wkEncodingName(AdoptWK, WKPageCopyCustomTextEncodingName(toAPI(priv->pageClient->page())));
1097  if (WKStringIsEmpty(wkEncodingName.get()))
 1106 String customEncoding = priv->pageClient->page()->customTextEncodingName();
 1107 if (customEncoding.isEmpty())
10981108 return 0;
10991109
1100  eina_stringshare_replace(&priv->customEncoding, toImpl(wkEncodingName.get())->string().utf8().data());
 1110 eina_stringshare_replace(&priv->customEncoding, customEncoding.utf8().data());
 1111
11011112 return priv->customEncoding;
11021113}
11031114

@@Eina_Bool ewk_view_setting_encoding_custom_set(Evas_Object* ewkView, const char*
11061117 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
11071118 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
11081119
1109  WKRetainPtr<WKStringRef> wkEncodingName = encoding ? adoptWK(WKStringCreateWithUTF8CString(encoding)) : 0;
11101120 if (eina_stringshare_replace(&priv->customEncoding, encoding))
1111  WKPageSetCustomTextEncodingName(toAPI(priv->pageClient->page()), wkEncodingName.get());
 1121 priv->pageClient->page()->setCustomTextEncodingName(encoding ? encoding : String());
11121122
11131123 return true;
11141124}