{"action":"created","issue":{"url":"https://api.github.com/repos/opal/opal-browser/issues/60","repository_url":"https://api.github.com/repos/opal/opal-browser","labels_url":"https://api.github.com/repos/opal/opal-browser/issues/60/labels{/name}","comments_url":"https://api.github.com/repos/opal/opal-browser/issues/60/comments","events_url":"https://api.github.com/repos/opal/opal-browser/issues/60/events","html_url":"https://github.com/opal/opal-browser/issues/60","id":145503743,"number":60,"title":"Cherry picking.","user":{"login":"meh","id":40204,"avatar_url":"https://avatars.githubusercontent.com/u/40204?v=3","gravatar_id":"","url":"https://api.github.com/users/meh","html_url":"https://github.com/meh","followers_url":"https://api.github.com/users/meh/followers","following_url":"https://api.github.com/users/meh/following{/other_user}","gists_url":"https://api.github.com/users/meh/gists{/gist_id}","starred_url":"https://api.github.com/users/meh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/meh/subscriptions","organizations_url":"https://api.github.com/users/meh/orgs","repos_url":"https://api.github.com/users/meh/repos","events_url":"https://api.github.com/users/meh/events{/privacy}","received_events_url":"https://api.github.com/users/meh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-04-03T14:06:56Z","updated_at":"2016-04-07T20:58:50Z","closed_at":null,"body":"Since everyone wants a more cherry-pickable opal-browser, and so do I, can we get some discussion going on how granular the cherry-picking should be?\r\n\r\nWhich parts of opal-browser are you using and which parts are getting included that you don't care about?"},"comment":{"url":"https://api.github.com/repos/opal/opal-browser/issues/comments/207084735","html_url":"https://github.com/opal/opal-browser/issues/60#issuecomment-207084735","issue_url":"https://api.github.com/repos/opal/opal-browser/issues/60","id":207084735,"user":{"login":"elia","id":1051,"avatar_url":"https://avatars.githubusercontent.com/u/1051?v=3","gravatar_id":"","url":"https://api.github.com/users/elia","html_url":"https://github.com/elia","followers_url":"https://api.github.com/users/elia/followers","following_url":"https://api.github.com/users/elia/following{/other_user}","gists_url":"https://api.github.com/users/elia/gists{/gist_id}","starred_url":"https://api.github.com/users/elia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elia/subscriptions","organizations_url":"https://api.github.com/users/elia/orgs","repos_url":"https://api.github.com/users/elia/repos","events_url":"https://api.github.com/users/elia/events{/privacy}","received_events_url":"https://api.github.com/users/elia/received_events","type":"User","site_admin":false},"created_at":"2016-04-07T20:58:50Z","updated_at":"2016-04-07T20:58:50Z","body":"For me too it's desirable to be able to leave out the DOM and CSSM DSLs, and maybe also make the events cherry-pickable, likely making them register themselves:\r\n\r\n```rb\r\nmodule Browser; class Event\r\n\r\nclass BeforeUnload < Event\r\n  handle :beforeunload\r\n\r\n  def self.supported?\r\n    Browser.supports? 'Event.BeforeUnload'\r\n  end\r\n\r\n  if Browser.supports? 'Event.constructor'\r\n    def self.construct(name, desc)\r\n      `new BeforeUnloadEvent(#{name}, #{desc})`\r\n    end\r\n  end if supported?\r\nend\r\n\r\nend; end\r\n```\r\n\r\nand \r\n\r\n```rb\r\n  def self.class_for(name)\r\n    handlers[name] || Custom\r\n  end\r\n```\r\n"}}