static void swfdec_load_object_load (SwfdecPlayer *player, gboolean allow, gpointer obj) { SwfdecLoadObject *load = SWFDEC_LOAD_OBJECT (obj); if (!allow) { SWFDEC_WARNING ("SECURITY: no access to %s from %s", load->url, swfdec_url_get_url (load->sandbox->url)); /* call finish */ swfdec_sandbox_use (load->sandbox); load->finish (load->target, NULL); swfdec_sandbox_unuse (load->sandbox); /* unroot */ swfdec_player_unroot (player, load); return; } load->loader = swfdec_player_load_with_headers (player, load->url, load->buffer, load->header_count, (const char **)load->header_names, (const char **)load->header_values); swfdec_stream_set_target (SWFDEC_STREAM (load->loader), SWFDEC_STREAM_TARGET (load)); swfdec_loader_set_data_type (load->loader, SWFDEC_LOADER_DATA_TEXT); }
static void swfdec_window_player_initialized (SwfdecPlayer *player, GParamSpec *pspec, SwfdecWindow *window) { static const char *mime[2] = { "swfdec-player", NULL }; GtkRecentData data = { NULL, NULL, (char *) "application/x-shockwave-flash", (char *) g_get_application_name (), g_strjoin (" ", g_get_prgname (), "%u", NULL), (char **) mime, FALSE }; if (swfdec_player_is_initialized (player)) { gtk_recent_manager_add_full (gtk_recent_manager_get_default (), swfdec_url_get_url (swfdec_loader_get_url (window->loader)), &data); g_signal_handlers_disconnect_by_func (player, swfdec_window_player_next_event, window); } g_free (data.app_exec); }