{"action":"created","issue":{"url":"https://api.github.com/repos/symfony/symfony/issues/27047","repository_url":"https://api.github.com/repos/symfony/symfony","labels_url":"https://api.github.com/repos/symfony/symfony/issues/27047/labels{/name}","comments_url":"https://api.github.com/repos/symfony/symfony/issues/27047/comments","events_url":"https://api.github.com/repos/symfony/symfony/issues/27047/events","html_url":"https://github.com/symfony/symfony/pull/27047","id":317659466,"number":27047,"title":"[WebProfilerBundle] Inject debug toolbar differently","user":{"login":"javiereguiluz","id":73419,"avatar_url":"https://avatars3.githubusercontent.com/u/73419?v=4","gravatar_id":"","url":"https://api.github.com/users/javiereguiluz","html_url":"https://github.com/javiereguiluz","followers_url":"https://api.github.com/users/javiereguiluz/followers","following_url":"https://api.github.com/users/javiereguiluz/following{/other_user}","gists_url":"https://api.github.com/users/javiereguiluz/gists{/gist_id}","starred_url":"https://api.github.com/users/javiereguiluz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/javiereguiluz/subscriptions","organizations_url":"https://api.github.com/users/javiereguiluz/orgs","repos_url":"https://api.github.com/users/javiereguiluz/repos","events_url":"https://api.github.com/users/javiereguiluz/events{/privacy}","received_events_url":"https://api.github.com/users/javiereguiluz/received_events","type":"User","site_admin":false},"labels":[{"id":100079,"url":"https://api.github.com/repos/symfony/symfony/labels/Bug","name":"Bug","color":"e10c02","default":false},{"id":100378,"url":"https://api.github.com/repos/symfony/symfony/labels/Feature","name":"Feature","color":"02e10c","default":false},{"id":237003792,"url":"https://api.github.com/repos/symfony/symfony/labels/Status:%20Needs%20Review","name":"Status: Needs Review","color":"ededed","default":false},{"id":199779,"url":"https://api.github.com/repos/symfony/symfony/labels/WebProfilerBundle","name":"WebProfilerBundle","color":"DDDDDD","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/symfony/symfony/milestones/18","html_url":"https://github.com/symfony/symfony/milestone/18","labels_url":"https://api.github.com/repos/symfony/symfony/milestones/18/labels","id":3234645,"number":18,"title":"next","description":"https://symfony.com/roadmap?version=4.2#checker","creator":{"login":"nicolas-grekas","id":243674,"avatar_url":"https://avatars3.githubusercontent.com/u/243674?v=4","gravatar_id":"","url":"https://api.github.com/users/nicolas-grekas","html_url":"https://github.com/nicolas-grekas","followers_url":"https://api.github.com/users/nicolas-grekas/followers","following_url":"https://api.github.com/users/nicolas-grekas/following{/other_user}","gists_url":"https://api.github.com/users/nicolas-grekas/gists{/gist_id}","starred_url":"https://api.github.com/users/nicolas-grekas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicolas-grekas/subscriptions","organizations_url":"https://api.github.com/users/nicolas-grekas/orgs","repos_url":"https://api.github.com/users/nicolas-grekas/repos","events_url":"https://api.github.com/users/nicolas-grekas/events{/privacy}","received_events_url":"https://api.github.com/users/nicolas-grekas/received_events","type":"User","site_admin":false},"open_issues":107,"closed_issues":3,"state":"open","created_at":"2018-04-02T12:03:21Z","updated_at":"2018-04-25T14:41:51Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2018-04-25T14:41:51Z","updated_at":"2018-04-25T15:50:33Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/symfony/symfony/pulls/27047","html_url":"https://github.com/symfony/symfony/pull/27047","diff_url":"https://github.com/symfony/symfony/pull/27047.diff","patch_url":"https://github.com/symfony/symfony/pull/27047.patch"},"body":"| Q             | A\r\n| ------------- | ---\r\n| Branch?       | master\r\n| Bug fix?      | yes\r\n| New feature?  | yes\r\n| BC breaks?    | no\r\n| Deprecations? | no\r\n| Tests pass?   | yes\r\n| Fixed tickets | -\r\n| License       | MIT\r\n| Doc PR        | -\r\n\r\nCurrently, the web debug toolbar is injected in HTML pages following a simple strategy: look for `</body>` in the HTML content and inject the toolbar just before that closing tag.\r\n\r\nIn the past we've received issues about this because some HTML pages don't contain `</body>` and, believe it or not, [Google officially recommends to not include `</body>`](https://google.github.io/styleguide/htmlcssguide.html#Optional_Tags), so this could be more and more popular in the future.\r\n\r\nThis is **NOT recommended** by Google:\r\n\r\n```html\r\n<!DOCTYPE html>\r\n<html>\r\n  <head>\r\n    <title>Some title</title>\r\n  </head>\r\n  <body>\r\n    <p>Some content</p>\r\n  </body>\r\n</html>\r\n```\r\n\r\nThis is **recommended** by Google:\r\n\r\n```html\r\n<!DOCTYPE html>\r\n<title>Some title</title>\r\n<p>Some content\r\n```\r\n\r\nIn this PR I propose to inject the debug toolbar at the end of the HTML pages, solving all issues for once and for all. This means that sometimes the toolbar content goes **after the closing `</body>` and `</html>`** elements. Some of you will say that this is not allowed by the HTML standard. Just remember that HTML is not a strict standard. Browsers allow almost everything. I've tested this on Chrome, Firefox and Safari and works as expected."},"comment":{"url":"https://api.github.com/repos/symfony/symfony/issues/comments/384336813","html_url":"https://github.com/symfony/symfony/pull/27047#issuecomment-384336813","issue_url":"https://api.github.com/repos/symfony/symfony/issues/27047","id":384336813,"user":{"login":"javiereguiluz","id":73419,"avatar_url":"https://avatars3.githubusercontent.com/u/73419?v=4","gravatar_id":"","url":"https://api.github.com/users/javiereguiluz","html_url":"https://github.com/javiereguiluz","followers_url":"https://api.github.com/users/javiereguiluz/followers","following_url":"https://api.github.com/users/javiereguiluz/following{/other_user}","gists_url":"https://api.github.com/users/javiereguiluz/gists{/gist_id}","starred_url":"https://api.github.com/users/javiereguiluz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/javiereguiluz/subscriptions","organizations_url":"https://api.github.com/users/javiereguiluz/orgs","repos_url":"https://api.github.com/users/javiereguiluz/repos","events_url":"https://api.github.com/users/javiereguiluz/events{/privacy}","received_events_url":"https://api.github.com/users/javiereguiluz/received_events","type":"User","site_admin":false},"created_at":"2018-04-25T15:50:33Z","updated_at":"2018-04-25T15:50:33Z","author_association":"MEMBER","body":"I thought all the edge-cases where covered by the multiple checks done on the `onKernelResponse()` method."}}
{"actor":{"display_login":"javiereguiluz"}}