{"action":"created","issue":{"url":"https://api.github.com/repos/servo/servo/issues/7207","labels_url":"https://api.github.com/repos/servo/servo/issues/7207/labels{/name}","comments_url":"https://api.github.com/repos/servo/servo/issues/7207/comments","events_url":"https://api.github.com/repos/servo/servo/issues/7207/events","html_url":"https://github.com/servo/servo/pull/7207","id":100911737,"number":7207,"title":"layout: Fix several bugs relating to inline borders, padding, and margins.","user":{"login":"pcwalton","id":157897,"avatar_url":"https://avatars.githubusercontent.com/u/157897?v=3","gravatar_id":"","url":"https://api.github.com/users/pcwalton","html_url":"https://github.com/pcwalton","followers_url":"https://api.github.com/users/pcwalton/followers","following_url":"https://api.github.com/users/pcwalton/following{/other_user}","gists_url":"https://api.github.com/users/pcwalton/gists{/gist_id}","starred_url":"https://api.github.com/users/pcwalton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pcwalton/subscriptions","organizations_url":"https://api.github.com/users/pcwalton/orgs","repos_url":"https://api.github.com/users/pcwalton/repos","events_url":"https://api.github.com/users/pcwalton/events{/privacy}","received_events_url":"https://api.github.com/users/pcwalton/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/servo/servo/labels/S-awaiting-review","name":"S-awaiting-review","color":"d4c5f9"},{"url":"https://api.github.com/repos/servo/servo/labels/S-fails-tidy","name":"S-fails-tidy","color":"d4c5f9"},{"url":"https://api.github.com/repos/servo/servo/labels/S-needs-rebase","name":"S-needs-rebase","color":"d4c5f9"}],"state":"open","locked":false,"assignee":{"login":"mbrubeck","id":5920,"avatar_url":"https://avatars.githubusercontent.com/u/5920?v=3","gravatar_id":"","url":"https://api.github.com/users/mbrubeck","html_url":"https://github.com/mbrubeck","followers_url":"https://api.github.com/users/mbrubeck/followers","following_url":"https://api.github.com/users/mbrubeck/following{/other_user}","gists_url":"https://api.github.com/users/mbrubeck/gists{/gist_id}","starred_url":"https://api.github.com/users/mbrubeck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbrubeck/subscriptions","organizations_url":"https://api.github.com/users/mbrubeck/orgs","repos_url":"https://api.github.com/users/mbrubeck/repos","events_url":"https://api.github.com/users/mbrubeck/events{/privacy}","received_events_url":"https://api.github.com/users/mbrubeck/received_events","type":"User","site_admin":false},"milestone":null,"comments":21,"created_at":"2015-08-14T02:01:54Z","updated_at":"2015-09-02T00:46:33Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/servo/servo/pulls/7207","html_url":"https://github.com/servo/servo/pull/7207","diff_url":"https://github.com/servo/servo/pull/7207.diff","patch_url":"https://github.com/servo/servo/pull/7207.patch"},"body":"* The code that attempted to strip out borders that span multiple\r\n  fragments in the same element could go wrong if fragments were\r\n  stripped out due to text clumping or whitespace stripping. This patch\r\n  rewrites that code to maintain flags in the inline fragment context\r\n  specifying whether the node is the beginning or end of the element.\r\n  Not only is this easier to maintain, it's closer in spirit to what roc\r\n  originally suggested two years ago: it's isomorphic to \"begin element,\r\n  end element\" markers for inline layout.\r\n\r\n* Padding and margins for spans containing inline-blocks are now\r\n  properly handled via a division of labor between the `InlineBlock`\r\n  fragment and the `BlockFlow` that represents the inline-block.\r\n\r\n* Unscanned text fragments may not be joined together into a text run if\r\n  borders, padding, or margins separate them.\r\n\r\nBecause Servo now matches the rendering of Gecko and WebKit on the\r\n`input_button_margins_a` reftest, I had to modify it to add some\r\nvertical alignment.\r\n\r\nThe combined effect of all of these fixes places \"Advertising\" on the\r\nright place on google.com.\r\n\r\nr? @mbrubeck\n\n<!-- Reviewable:start -->\n[<img src=\"https://reviewable.io/review_button.png\" height=40 alt=\"Review on Reviewable\"/>](https://reviewable.io/reviews/servo/servo/7207)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/servo/servo/issues/comments/136903905","html_url":"https://github.com/servo/servo/pull/7207#issuecomment-136903905","issue_url":"https://api.github.com/repos/servo/servo/issues/7207","id":136903905,"user":{"login":"pcwalton","id":157897,"avatar_url":"https://avatars.githubusercontent.com/u/157897?v=3","gravatar_id":"","url":"https://api.github.com/users/pcwalton","html_url":"https://github.com/pcwalton","followers_url":"https://api.github.com/users/pcwalton/followers","following_url":"https://api.github.com/users/pcwalton/following{/other_user}","gists_url":"https://api.github.com/users/pcwalton/gists{/gist_id}","starred_url":"https://api.github.com/users/pcwalton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pcwalton/subscriptions","organizations_url":"https://api.github.com/users/pcwalton/orgs","repos_url":"https://api.github.com/users/pcwalton/repos","events_url":"https://api.github.com/users/pcwalton/events{/privacy}","received_events_url":"https://api.github.com/users/pcwalton/received_events","type":"User","site_admin":false},"created_at":"2015-09-02T00:46:33Z","updated_at":"2015-09-02T00:46:33Z","body":"@bors-servo: r=mbrubeck\r\n\r\nThe fix for the failing WPTs involved moving some logic into `meld_with_next_inline_fragment()` and calling it in all places that merged fragments together (whitespace stripping, text run scanning, and incremental inline layout)."}}