Some TODO items, in no particular order: - Remove all use of slice allocator - Rename all classes that lack the Ephy namespace - Use g_signal_emit instead of g_signal_emit_by_name - Use GDK_EVENT_PROPAGATE/GDK_EVENT_STOP. - Use G_SOURCE_CONTINUE/G_SOURCE_REMOVE. - Name all timeout and idle sources - Replace constructor functions with constructed functions - Use g_clear_object/g_clear_pointer in dispose (and finalize?) - Use g_clear_weak_pointer and g_clear_handle_id - Replace dispose with finalize wherever possible - Use GtkBuilder instead of declaring the UIs with C - Use g_autofree/g_autoptr where possible - Write out foo == NULL instead of !foo where possible - We practically don't test any part of Epiphany, change that (how do you test UI code? There's like 3 or 4 frameworks for this, pick one? What does Chrome do?)