From: Kouhei S. <nu...@co...> - 2017-07-24 02:27:25
|
Kouhei Sutou 2017-07-24 11:26:39 +0900 (Mon, 24 Jul 2017) New Revision: a3f5612711eb38aaf03ae4d5324cb3656f5e1b1d https://github.com/ruby-gnome2/ruby-gnome2/commit/a3f5612711eb38aaf03ae4d5324cb3656f5e1b1d Message: webkit2-gtk: use main loop Modified files: webkit2-gtk/sample/screenshot.rb Modified: webkit2-gtk/sample/screenshot.rb (+4 -7) =================================================================== --- webkit2-gtk/sample/screenshot.rb 2017-07-24 09:22:08 +0900 (391a228) +++ webkit2-gtk/sample/screenshot.rb 2017-07-24 11:26:39 +0900 (ca31bd9) @@ -23,7 +23,7 @@ if ARGV.empty? exit(false) end -main_context = GLib::MainContext.default +main_loop = GLib::MainLoop.new view_context = WebKit2Gtk::WebContext.new(ephemeral: true) view = WebKit2Gtk::WebView.new(context: view_context) @@ -33,12 +33,11 @@ window.set_default_size(800, 600) window.show_all ARGV.each do |uri| view.load_uri(uri) - finished = false view.signal_connect("load-changed") do |_, load_event| case load_event when WebKit2Gtk::LoadEvent::FINISHED view.get_snapshot(:full_document, :none) do |_, result| - finished = true + main_loop.quit snapshot_surface = view.get_snapshot_finish(result) base_path = CGI.escape(uri) snapshot_surface.write_to_png("#{base_path}.png") @@ -58,13 +57,11 @@ ARGV.each do |uri| end end view.signal_connect("load-failed") do |_, _, failed_uri, error| - finished = true + main_loop.quit message = "failed to load URI: #{failed_uri}: " message << "#{error.class}(#{error.code}): #{error.message}" puts(message) true end - until finished - main_context.iteration(true) - end + main_loop.run end |