Changeset 223282 in webkit
- Timestamp:
- Oct 13, 2017 10:07:32 AM (7 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r223277 r223282 1 2017-10-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> 2 3 [GLib] WebKitNavigationAction should tell whether it is a redirect 4 https://bugs.webkit.org/show_bug.cgi?id=178178 5 6 There is no good way to know whether a given navigation action has been caused 7 by a redirect through the glib API. This is necessary to implement some app mode 8 heuristics for Epiphany. 9 10 Reviewed by Carlos Garcia Campos. 11 12 * UIProcess/API/glib/WebKitNavigationAction.cpp: 13 (webkit_navigation_action_is_redirect): returns whether the navigation action is a redirect. 14 * UIProcess/API/glib/WebKitNavigationActionPrivate.h: add isRedirect to the wrapper object. 15 (_WebKitNavigationAction::_WebKitNavigationAction): 16 * UIProcess/API/gtk/WebKitNavigationAction.h: add the new API. 17 * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: ditto. 18 * UIProcess/API/wpe/WebKitNavigationAction.h: ditto. 19 1 20 2017-10-12 Brady Eidson <beidson@apple.com> 2 21 -
trunk/Source/WebKit/UIProcess/API/glib/WebKitNavigationAction.cpp
r218553 r223282 151 151 return navigation->isUserGesture; 152 152 } 153 154 /** 155 * webkit_navigation_action_is_redirect: 156 * @navigation: a #WebKitNavigationAction 157 * 158 * Returns whether the @navigation was redirected. 159 * 160 * Returns: %TRUE if the original navigation was redirected, %FALSE otherwise. 161 * 162 * Since: 2.20 163 */ 164 gboolean webkit_navigation_action_is_redirect(WebKitNavigationAction* navigation) 165 { 166 g_return_val_if_fail(navigation, FALSE); 167 return navigation->isRedirect; 168 } -
trunk/Source/WebKit/UIProcess/API/glib/WebKitNavigationActionPrivate.h
r218553 r223282 31 31 , modifiers(toPlatformModifiers(navigationActionData.modifiers)) 32 32 , isUserGesture(navigationActionData.userGestureTokenIdentifier) 33 , isRedirect(navigationActionData.isRedirect) 33 34 , request(uriRequest) 34 35 { … … 48 49 unsigned modifiers; 49 50 bool isUserGesture : 1; 51 bool isRedirect : 1; 50 52 GRefPtr<WebKitURIRequest> request; 51 53 }; -
trunk/Source/WebKit/UIProcess/API/gtk/WebKitNavigationAction.h
r170702 r223282 80 80 webkit_navigation_action_is_user_gesture (WebKitNavigationAction *navigation); 81 81 82 WEBKIT_API gboolean 83 webkit_navigation_action_is_redirect (WebKitNavigationAction *navigation); 84 82 85 G_END_DECLS 83 86 -
trunk/Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt
r222967 r223282 650 650 webkit_navigation_action_get_request 651 651 webkit_navigation_action_is_user_gesture 652 webkit_navigation_action_is_redirect 652 653 653 654 <SUBSECTION Standard> -
trunk/Source/WebKit/UIProcess/API/wpe/WebKitNavigationAction.h
r218553 r223282 80 80 webkit_navigation_action_is_user_gesture (WebKitNavigationAction *navigation); 81 81 82 WEBKIT_API gboolean 83 webkit_navigation_action_is_redirect (WebKitNavigationAction *navigation); 84 82 85 G_END_DECLS 83 86 -
trunk/Tools/ChangeLog
r223281 r223282 1 2017-10-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> 2 3 [GLib] WebKitNavigationAction should tell whether it is a redirect 4 https://bugs.webkit.org/show_bug.cgi?id=178178 5 6 Test that WebKitNavigationAction properly reports being a redirect. 7 8 Reviewed by Carlos Garcia Campos. 9 10 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp: 11 (testNavigationPolicy): test that loading /redirect leads to a redirect WebKitNavigationAction. 12 (serverCallback): add a /redirect path to the server, which causes a redirect. 13 1 14 2017-10-13 Chris Dumez <cdumez@apple.com> 2 15 -
trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp
r218685 r223282 122 122 g_assert_cmpint(webkit_navigation_action_get_mouse_button(navigationAction), ==, 0); 123 123 g_assert_cmpint(webkit_navigation_action_get_modifiers(navigationAction), ==, 0); 124 g_assert_false(webkit_navigation_action_is_redirect(navigationAction)); 124 125 g_assert(!webkit_navigation_policy_decision_get_frame_name(decision)); 125 126 WebKitURIRequest* request = webkit_navigation_action_get_request(navigationAction); … … 131 132 test->waitUntilLoadFinished(); 132 133 g_assert_cmpint(test->m_loadEvents.size(), ==, 3); 134 135 test->m_policyDecisionResponse = PolicyClientTest::Use; 136 test->m_respondToPolicyDecisionAsynchronously = false; 137 test->loadURI(kServer->getURIForPath("/redirect").data()); 138 test->waitUntilLoadFinished(); 139 g_assert_cmpint(test->m_loadEvents.size(), ==, 4); 140 141 decision = WEBKIT_NAVIGATION_POLICY_DECISION(test->m_previousPolicyDecision.get()); 142 navigationAction = webkit_navigation_policy_decision_get_navigation_action(decision); 143 g_assert_true(webkit_navigation_action_is_redirect(navigationAction)); 144 g_assert(!webkit_navigation_policy_decision_get_frame_name(decision)); 145 request = webkit_navigation_action_get_request(navigationAction); 146 g_assert_cmpstr(webkit_uri_request_get_uri(request), ==, kServer->getURIForPath("/").data()); 133 147 134 148 // If we are waiting until load completion, it will never complete if we ignore the … … 249 263 soup_message_body_append(message->response_body, SOUP_MEMORY_STATIC, responseString, strlen(responseString)); 250 264 soup_message_body_complete(message->response_body); 265 } else if (g_str_equal(path, "/redirect")) { 266 soup_message_set_status(message, SOUP_STATUS_MOVED_PERMANENTLY); 267 soup_message_headers_append(message->response_headers, "Location", "/"); 251 268 } else 252 269 soup_message_set_status(message, SOUP_STATUS_NOT_FOUND);
Note: See TracChangeset
for help on using the changeset viewer.