211static void notifyAccessibilityStatus(WebKitWebFrame* frame, WebKitLoadStatus loadStatus)
212{
213 if (!AXObjectCache::accessibilityEnabled())
214 AXObjectCache::enableAccessibility();
215
216 WebKitWebView* webView = getViewFromFrame(frame);
217 if (!webView || frame != webkit_web_view_get_main_frame(webView))
218 return;
219
220 AtkObject* axObject = gtk_widget_get_accessible(GTK_WIDGET(webView));
221 if (!axObject || !ATK_IS_DOCUMENT(axObject))
222 return;
223
224 switch (loadStatus) {
225 case WEBKIT_LOAD_PROVISIONAL:
226 g_signal_emit_by_name(axObject, "state-change", "busy", true);
227 if (core(frame)->loader()->loadType() == FrameLoadTypeReload)
228 g_signal_emit_by_name(axObject, "reload");
229 break;
230 case WEBKIT_LOAD_FAILED:
231 g_signal_emit_by_name(axObject, "load-stopped");
232 g_signal_emit_by_name(axObject, "state-change", "busy", false);
233 break;
234 case WEBKIT_LOAD_FINISHED:
235 g_signal_emit_by_name(axObject, "load-complete");
236 g_signal_emit_by_name(axObject, "state-change", "busy", false);
237 default:
238 break;
239 }
240}
241