Some TODO items, in no particular order: - 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 in dispose/finalize - Get rid of object references in dispose, not finalize - embed/ does not make much sense anymore as a name. Rename to something else, perhaps core/? webview/? - Replace GtkAction and GtkUIManager with GAction - Use GtkBuilder instead of declaring the UIs with C - Kill EphyNode - 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?)