diff options
Diffstat (limited to 'Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp')
-rw-r--r-- | Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp | 111 |
1 files changed, 31 insertions, 80 deletions
diff --git a/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp b/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp index fb9c717e2..5a63384d8 100644 --- a/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp +++ b/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp @@ -50,11 +50,14 @@ #include <wtf/NotFound.h> #include <wtf/text/StringBuilder.h> +#if HAVE(ACCESSIBILITY) +#include "AccessibilityController.h" +#endif + using namespace WebCore; HashMap<unsigned long, CString> DumpRenderTreeChrome::m_dumpAssignedUrls; Evas_Object* DumpRenderTreeChrome::m_provisionalLoadFailedFrame = 0; -Ewk_Intent_Request* DumpRenderTreeChrome::m_currentIntentRequest = 0; PassOwnPtr<DumpRenderTreeChrome> DumpRenderTreeChrome::create(Evas* evas) { @@ -71,6 +74,9 @@ DumpRenderTreeChrome::DumpRenderTreeChrome(Evas* evas) , m_mainFrame(0) , m_evas(evas) , m_gcController(adoptPtr(new GCController)) +#if HAVE(ACCESSIBILITY) + , m_axController(adoptPtr(new AccessibilityController)) +#endif { } @@ -96,7 +102,7 @@ Evas_Object* DumpRenderTreeChrome::createView() const if (!view) return 0; - ewk_view_theme_set(view, DATA_DIR"/default.edj"); + ewk_view_theme_set(view, TEST_THEME_DIR "/default.edj"); evas_object_smart_callback_add(view, "download,request", onDownloadRequest, 0); evas_object_smart_callback_add(view, "load,resource,failed", onResourceLoadFailed, 0); @@ -123,8 +129,6 @@ Evas_Object* DumpRenderTreeChrome::createView() const Evas_Object* mainFrame = ewk_view_frame_main_get(view); evas_object_smart_callback_add(mainFrame, "icon,changed", onFrameIconChanged, 0); - evas_object_smart_callback_add(mainFrame, "intent,new", onFrameIntentNew, 0); - evas_object_smart_callback_add(mainFrame, "intent,service,register", onFrameIntentServiceRegistration, 0); evas_object_smart_callback_add(mainFrame, "load,provisional", onFrameProvisionalLoad, 0); evas_object_smart_callback_add(mainFrame, "load,provisional,failed", onFrameProvisionalLoadFailed, 0); evas_object_smart_callback_add(mainFrame, "load,committed", onFrameLoadCommitted, 0); @@ -149,12 +153,12 @@ Evas_Object* DumpRenderTreeChrome::createInspectorView() const bool ignoreMessages = true; evas_object_data_set(inspectorView, "ignore-console-messages", &ignoreMessages); - ewk_view_theme_set(inspectorView, DATA_DIR"/default.edj"); + ewk_view_theme_set(inspectorView, TEST_THEME_DIR "/default.edj"); Evas_Object* mainFrame = ewk_view_frame_main_get(inspectorView); evas_object_smart_callback_add(mainFrame, "load,finished", onInspectorFrameLoadFinished, 0); - evas_object_resize(inspectorView, TestRunner::maxViewWidth, TestRunner::maxViewHeight); + evas_object_resize(inspectorView, TestRunner::viewWidth, TestRunner::viewHeight); evas_object_show(inspectorView); evas_object_focus_set(inspectorView, true); @@ -204,11 +208,11 @@ bool DumpRenderTreeChrome::initialize() if (!m_mainView) return false; - ewk_view_theme_set(m_mainView, DATA_DIR"/default.edj"); + ewk_view_theme_set(m_mainView, TEST_THEME_DIR "/default.edj"); evas_object_name_set(m_mainView, "m_mainView"); evas_object_move(m_mainView, 0, 0); - evas_object_resize(m_mainView, 800, 600); + evas_object_resize(m_mainView, TestRunner::viewWidth, TestRunner::viewHeight); evas_object_layer_set(m_mainView, EVAS_LAYER_MAX); evas_object_show(m_mainView); evas_object_focus_set(m_mainView, EINA_TRUE); @@ -241,11 +245,6 @@ Evas_Object* DumpRenderTreeChrome::mainView() const return m_mainView; } -Ewk_Intent_Request* DumpRenderTreeChrome::currentIntentRequest() const -{ - return m_currentIntentRequest; -} - void DumpRenderTreeChrome::resetDefaultsToConsistentValues() { ewk_settings_icon_database_clear(); @@ -281,12 +280,10 @@ void DumpRenderTreeChrome::resetDefaultsToConsistentValues() ewk_view_setting_auto_load_images_set(mainView(), EINA_TRUE); ewk_view_setting_user_stylesheet_set(mainView(), 0); ewk_view_setting_enable_xss_auditor_set(browser->mainView(), EINA_TRUE); - ewk_view_setting_minimum_timer_interval_set(browser->mainView(), 0.010); // 10 milliseconds (DOMTimer::s_minDefaultTimerInterval) ewk_view_setting_enable_webgl_set(mainView(), EINA_TRUE); ewk_view_setting_enable_hyperlink_auditing_set(mainView(), EINA_FALSE); ewk_view_setting_include_links_in_focus_chain_set(mainView(), EINA_FALSE); ewk_view_setting_scripts_can_access_clipboard_set(mainView(), EINA_TRUE); - ewk_view_setting_web_audio_set(mainView(), EINA_FALSE); ewk_view_setting_allow_universal_access_from_file_urls_set(mainView(), EINA_TRUE); ewk_view_setting_allow_file_access_from_file_urls_set(mainView(), EINA_TRUE); ewk_view_setting_resizable_textareas_set(mainView(), EINA_TRUE); @@ -306,6 +303,10 @@ void DumpRenderTreeChrome::resetDefaultsToConsistentValues() ewk_security_policy_whitelist_origin_reset(); +#if HAVE(ACCESSIBILITY) + browser->accessibilityController()->resetToConsistentState(); +#endif + DumpRenderTreeSupportEfl::clearFrameName(mainFrame()); DumpRenderTreeSupportEfl::clearOpener(mainFrame()); DumpRenderTreeSupportEfl::clearUserScripts(mainView()); @@ -315,8 +316,6 @@ void DumpRenderTreeChrome::resetDefaultsToConsistentValues() DumpRenderTreeSupportEfl::setValidationMessageTimerMagnification(mainView(), -1); DumpRenderTreeSupportEfl::setAuthorAndUserStylesEnabled(mainView(), true); DumpRenderTreeSupportEfl::setCSSGridLayoutEnabled(mainView(), false); - DumpRenderTreeSupportEfl::setSmartInsertDeleteEnabled(mainView(), false); - DumpRenderTreeSupportEfl::setSelectTrailingWhitespaceEnabled(mainView(), false); DumpRenderTreeSupportEfl::setDefersLoading(mainView(), false); DumpRenderTreeSupportEfl::setLoadsSiteIconsIgnoringImageLoadingSetting(mainView(), false); DumpRenderTreeSupportEfl::setSerializeHTTPLoads(false); @@ -324,6 +323,8 @@ void DumpRenderTreeChrome::resetDefaultsToConsistentValues() DumpRenderTreeSupportEfl::setCSSRegionsEnabled(mainView(), true); DumpRenderTreeSupportEfl::setShouldTrackVisitedLinks(false); DumpRenderTreeSupportEfl::setTracksRepaints(mainFrame(), false); + DumpRenderTreeSupportEfl::setSeamlessIFramesEnabled(true); + DumpRenderTreeSupportEfl::setWebAudioEnabled(mainView(), false); // Reset capacities for the memory cache for dead objects. static const unsigned cacheTotalCapacity = 8192 * 1024; @@ -331,11 +332,6 @@ void DumpRenderTreeChrome::resetDefaultsToConsistentValues() DumpRenderTreeSupportEfl::setDeadDecodedDataDeletionInterval(0); ewk_settings_page_cache_capacity_set(3); - if (m_currentIntentRequest) { - ewk_intent_request_unref(m_currentIntentRequest); - m_currentIntentRequest = 0; - } - policyDelegateEnabled = false; policyDelegatePermissive = false; } @@ -443,6 +439,11 @@ void DumpRenderTreeChrome::onWindowObjectCleared(void* userData, Evas_Object*, v JSValueRef exception = 0; ASSERT(gTestRunner); +#if HAVE(ACCESSIBILITY) + browser->accessibilityController()->makeWindowObject(objectClearedInfo->context, objectClearedInfo->windowObject, &exception); + ASSERT(!exception); +#endif + GCController* gcController = static_cast<GCController*>(userData); ASSERT(gcController); @@ -615,8 +616,6 @@ void DumpRenderTreeChrome::onFrameCreated(void*, Evas_Object*, void* eventInfo) Evas_Object* frame = static_cast<Evas_Object*>(eventInfo); evas_object_smart_callback_add(frame, "icon,changed", onFrameIconChanged, 0); - evas_object_smart_callback_add(frame, "intent,new", onFrameIntentNew, 0); - evas_object_smart_callback_add(frame, "intent,service,register", onFrameIntentServiceRegistration, 0); evas_object_smart_callback_add(frame, "load,provisional", onFrameProvisionalLoad, 0); evas_object_smart_callback_add(frame, "load,provisional,failed", onFrameProvisionalLoadFailed, 0); evas_object_smart_callback_add(frame, "load,committed", onFrameLoadCommitted, 0); @@ -850,61 +849,6 @@ void DumpRenderTreeChrome::onNewResourceRequest(void*, Evas_Object*, void* event m_dumpAssignedUrls.add(request->identifier, pathSuitableForTestResult(request->url)); } -void DumpRenderTreeChrome::onFrameIntentNew(void*, Evas_Object*, void* eventInfo) -{ - Ewk_Intent_Request* request = static_cast<Ewk_Intent_Request*>(eventInfo); - Ewk_Intent* intent = ewk_intent_request_intent_get(request); - if (!intent) - return; - - ewk_intent_request_ref(request); - if (m_currentIntentRequest) - ewk_intent_request_unref(m_currentIntentRequest); - m_currentIntentRequest = request; - - printf("Received Web Intent: action=%s type=%s\n", - ewk_intent_action_get(intent), - ewk_intent_type_get(intent)); - - const MessagePortChannelArray* messagePorts = DumpRenderTreeSupportEfl::intentMessagePorts(intent); - if (messagePorts) - printf("Have %d ports\n", static_cast<int>(messagePorts->size())); - - const char* service = ewk_intent_service_get(intent); - if (service && strcmp(service, "")) - printf("Explicit intent service: %s\n", service); - - void* data = 0; - Eina_List* extraNames = ewk_intent_extra_names_get(intent); - EINA_LIST_FREE(extraNames, data) { - const char* name = static_cast<char*>(data); - const char* value = ewk_intent_extra_get(intent, name); - if (value) { - printf("Extras[%s] = %s\n", name, value); - eina_stringshare_del(value); - } - eina_stringshare_del(name); - } - - Eina_List* suggestions = ewk_intent_suggestions_get(intent); - EINA_LIST_FREE(suggestions, data) { - const char* suggestion = static_cast<char*>(data); - printf("Have suggestion %s\n", suggestion); - eina_stringshare_del(suggestion); - } -} - -void DumpRenderTreeChrome::onFrameIntentServiceRegistration(void*, Evas_Object*, void* eventInfo) -{ - Ewk_Intent_Service_Info* serviceInfo = static_cast<Ewk_Intent_Service_Info*>(eventInfo); - printf("Registered Web Intent Service: action=%s type=%s title=%s url=%s disposition=%s\n", - serviceInfo->action, - serviceInfo->type, - serviceInfo->title, - serviceInfo->href, - serviceInfo->disposition); -} - void DumpRenderTreeChrome::onDownloadRequest(void*, Evas_Object*, void* eventInfo) { // In case of "download,request", the URL need to be downloaded, not opened on the current view. @@ -915,8 +859,15 @@ void DumpRenderTreeChrome::onDownloadRequest(void*, Evas_Object*, void* eventInf return; Ewk_Download* download = static_cast<Ewk_Download*>(eventInfo); - ewk_view_theme_set(newView, DATA_DIR"/default.edj"); + ewk_view_theme_set(newView, TEST_THEME_DIR "/default.edj"); ewk_view_uri_set(newView, download->url); browser->m_extraViews.append(newView); } + +#if HAVE(ACCESSIBILITY) +AccessibilityController* DumpRenderTreeChrome::accessibilityController() const +{ + return m_axController.get(); +} +#endif |