{"action":"created","issue":{"url":"https://api.github.com/repos/w3c/csswg-drafts/issues/1457","repository_url":"https://api.github.com/repos/w3c/csswg-drafts","labels_url":"https://api.github.com/repos/w3c/csswg-drafts/issues/1457/labels{/name}","comments_url":"https://api.github.com/repos/w3c/csswg-drafts/issues/1457/comments","events_url":"https://api.github.com/repos/w3c/csswg-drafts/issues/1457/events","html_url":"https://github.com/w3c/csswg-drafts/issues/1457","id":230831969,"number":1457,"title":"[css-contain] Becoming a formatting context","user":{"login":"Loirooriol","id":7477678,"avatar_url":"https://avatars1.githubusercontent.com/u/7477678?v=4","gravatar_id":"","url":"https://api.github.com/users/Loirooriol","html_url":"https://github.com/Loirooriol","followers_url":"https://api.github.com/users/Loirooriol/followers","following_url":"https://api.github.com/users/Loirooriol/following{/other_user}","gists_url":"https://api.github.com/users/Loirooriol/gists{/gist_id}","starred_url":"https://api.github.com/users/Loirooriol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Loirooriol/subscriptions","organizations_url":"https://api.github.com/users/Loirooriol/orgs","repos_url":"https://api.github.com/users/Loirooriol/repos","events_url":"https://api.github.com/users/Loirooriol/events{/privacy}","received_events_url":"https://api.github.com/users/Loirooriol/received_events","type":"User","site_admin":false},"labels":[{"id":503807402,"url":"https://api.github.com/repos/w3c/csswg-drafts/labels/Agenda+%20F2F","name":"Agenda+ F2F","color":"000000","default":false},{"id":856066418,"url":"https://api.github.com/repos/w3c/csswg-drafts/labels/Tracked%20in%20DoC","name":"Tracked in DoC","color":"aaaaaa","default":false},{"id":381888530,"url":"https://api.github.com/repos/w3c/csswg-drafts/labels/css-contain-1","name":"css-contain-1","color":"c5def5","default":false},{"id":381888849,"url":"https://api.github.com/repos/w3c/csswg-drafts/labels/css-display-3","name":"css-display-3","color":"c5def5","default":false}],"state":"open","locked":false,"assignee":{"login":"frivoal","id":113268,"avatar_url":"https://avatars0.githubusercontent.com/u/113268?v=4","gravatar_id":"","url":"https://api.github.com/users/frivoal","html_url":"https://github.com/frivoal","followers_url":"https://api.github.com/users/frivoal/followers","following_url":"https://api.github.com/users/frivoal/following{/other_user}","gists_url":"https://api.github.com/users/frivoal/gists{/gist_id}","starred_url":"https://api.github.com/users/frivoal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frivoal/subscriptions","organizations_url":"https://api.github.com/users/frivoal/orgs","repos_url":"https://api.github.com/users/frivoal/repos","events_url":"https://api.github.com/users/frivoal/events{/privacy}","received_events_url":"https://api.github.com/users/frivoal/received_events","type":"User","site_admin":false},"assignees":[{"login":"frivoal","id":113268,"avatar_url":"https://avatars0.githubusercontent.com/u/113268?v=4","gravatar_id":"","url":"https://api.github.com/users/frivoal","html_url":"https://github.com/frivoal","followers_url":"https://api.github.com/users/frivoal/followers","following_url":"https://api.github.com/users/frivoal/following{/other_user}","gists_url":"https://api.github.com/users/frivoal/gists{/gist_id}","starred_url":"https://api.github.com/users/frivoal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frivoal/subscriptions","organizations_url":"https://api.github.com/users/frivoal/orgs","repos_url":"https://api.github.com/users/frivoal/repos","events_url":"https://api.github.com/users/frivoal/events{/privacy}","received_events_url":"https://api.github.com/users/frivoal/received_events","type":"User","site_admin":false},{"login":"tabatkins","id":682840,"avatar_url":"https://avatars0.githubusercontent.com/u/682840?v=4","gravatar_id":"","url":"https://api.github.com/users/tabatkins","html_url":"https://github.com/tabatkins","followers_url":"https://api.github.com/users/tabatkins/followers","following_url":"https://api.github.com/users/tabatkins/following{/other_user}","gists_url":"https://api.github.com/users/tabatkins/gists{/gist_id}","starred_url":"https://api.github.com/users/tabatkins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tabatkins/subscriptions","organizations_url":"https://api.github.com/users/tabatkins/orgs","repos_url":"https://api.github.com/users/tabatkins/repos","events_url":"https://api.github.com/users/tabatkins/events{/privacy}","received_events_url":"https://api.github.com/users/tabatkins/received_events","type":"User","site_admin":false},{"login":"fantasai","id":725717,"avatar_url":"https://avatars3.githubusercontent.com/u/725717?v=4","gravatar_id":"","url":"https://api.github.com/users/fantasai","html_url":"https://github.com/fantasai","followers_url":"https://api.github.com/users/fantasai/followers","following_url":"https://api.github.com/users/fantasai/following{/other_user}","gists_url":"https://api.github.com/users/fantasai/gists{/gist_id}","starred_url":"https://api.github.com/users/fantasai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fantasai/subscriptions","organizations_url":"https://api.github.com/users/fantasai/orgs","repos_url":"https://api.github.com/users/fantasai/repos","events_url":"https://api.github.com/users/fantasai/events{/privacy}","received_events_url":"https://api.github.com/users/fantasai/received_events","type":"User","site_admin":false}],"milestone":null,"comments":25,"created_at":"2017-05-23T20:20:49Z","updated_at":"2018-04-11T07:36:07Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"I see various problems with the [Becoming a formatting context](https://drafts.csswg.org/css-display-3/#becoming-formatting-context) section.\r\n\r\n> In some circumstances (See [\\[CSS-CONTAIN-1\\]](https://drafts.csswg.org/css-display-3/#biblio-css-contain-1) or [\\[CSS3-MULTICOL\\]](https://drafts.csswg.org/css-display-3/#biblio-css3-multicol) for examples), an element may need to become a formatting context.\r\n\r\n\"See\" should be lowercase.\r\n\r\nSituations that CSS2.1 said produced a block formatting context when in fact they only needed to become a formatting context should be listed here. This includes out-of-flow boxes, and boxes to which `overflow` applies and is different than `visible`. Maybe also mention block containers that are not block boxes.\r\n\r\n> If the element already establishes a formatting context of any kind, this condition is satisfied.\r\n\r\nExcept for inline formatting contexts! Inline formatting contexts are not contained at all, they are e.g. affected by floats, so `contain: layout` is not satisfied by a block container that establishes an inline formatting context, it must establish a block formatting context instead.\r\n\r\nAnd what about ruby formatting contexts? I know very little about them, but I don't think establishing a ruby formatting context is enough neither.\r\n\r\nI propose:\r\n\r\n - If the inner display type is `flow-root`, `table`, `flex` or `grid`, the condition is satisfied.\r\n - If the inner display type is `flow`, it is changed to `flow-root`.\r\n - An element with a `ruby` inner display type always (not just if the outer display type is different than `inline`) generates two boxes: a principal box with the inner display type set to `flow` and the outer display type set to the outer display type of the element, and an inline-level ruby container. \"Becoming a formatting context\" only affects the principal box, changing its inner display type to `flow-root`.\r\n - Not sure about layout internal types.\r\n"},"comment":{"url":"https://api.github.com/repos/w3c/csswg-drafts/issues/comments/380357179","html_url":"https://github.com/w3c/csswg-drafts/issues/1457#issuecomment-380357179","issue_url":"https://api.github.com/repos/w3c/csswg-drafts/issues/1457","id":380357179,"user":{"login":"css-meeting-bot","id":27466577,"avatar_url":"https://avatars0.githubusercontent.com/u/27466577?v=4","gravatar_id":"","url":"https://api.github.com/users/css-meeting-bot","html_url":"https://github.com/css-meeting-bot","followers_url":"https://api.github.com/users/css-meeting-bot/followers","following_url":"https://api.github.com/users/css-meeting-bot/following{/other_user}","gists_url":"https://api.github.com/users/css-meeting-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/css-meeting-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/css-meeting-bot/subscriptions","organizations_url":"https://api.github.com/users/css-meeting-bot/orgs","repos_url":"https://api.github.com/users/css-meeting-bot/repos","events_url":"https://api.github.com/users/css-meeting-bot/events{/privacy}","received_events_url":"https://api.github.com/users/css-meeting-bot/received_events","type":"User","site_admin":false},"created_at":"2018-04-11T07:36:07Z","updated_at":"2018-04-11T07:36:07Z","author_association":"NONE","body":"The Working Group just discussed `Becoming a formatting context`, and agreed to the following resolutions:\n\n* `RESOLVED: layout and paint containment does not apply to non-atomic inlines`\n* `RESOLVED: clarify the definition of what and how a FC is created`\n\n<details><summary>The full IRC log of that discussion</summary>\n&lt;dael> Topic: Becoming a formatting context<br>\n&lt;dael> github: https://github.com/w3c/csswg-drafts/issues/1457<br>\n&lt;florian> https://github.com/w3c/csswg-drafts/issues/1457#issuecomment-379156461<br>\n&lt;dael> florian: Start reading here ^<br>\n&lt;dael> florian: We've been discussing for a while, there's something in contain saying things must become a formatting context root. We've been deciding if this is the generic thing that should go in and if yes does it apply to inlines or ruby.<br>\n&lt;dael> florian: fantasai has been pushing back for combined reasons. 1) do it make sense to layout and paint containment apply to non-atromic inlines. If yes we have to FC them. If not we shouldn't apply that. I'm reasonably convinced they shouldn't apply to inlines. This is a radically different thing and if you want hte layout ask for it.<br>\n&lt;dael> florian: I agree there is no need for containment to apply on these things.<br>\n&lt;dael> TabAtkins: Yeah.<br>\n&lt;dael> florian: Maybe we can resolve on that?<br>\n&lt;dael> Rossen: Prop: Layout containment and paint containment do not apply to non-atomic inlines.<br>\n&lt;dael> smfr: THings with more then one box?<br>\n&lt;dael> florian: Principle box.<br>\n&lt;dael> dbaron: smfr means more then one fragment. I think they would apply to something inside a multicol over many columns. So what that means might be a problem. But if you have layout and size cotnainment for a thing split over multi columns you have to decide how to paginate and that gets interesting.<br>\n&lt;dael> TabAtkins: It's either 0 or fixed height.<br>\n&lt;dael> dbaron: Do you split arbitrarily or it has to be one piece? You can't use middle line breaks because it's not containing.<br>\n&lt;dael> florian: I think containing and fragmenting is a separate discussion we should look at.<br>\n&lt;dael> dbaron: File and issue?<br>\n&lt;dael> florian: Yes.<br>\n&lt;dael> RESOLVED: layout and paint containment does not apply to non-atomic inlines<br>\n&lt;dael> florian: Do we need a term for this? There's a bunch of specs that talk about establishing a BFC. In flex is says that you establish a FC and it means blah blah. However in overflow spec when you set it to non-visible it must establish a formatting context. Same with multi column spanners. It's not a new type of FC, we jsut say you need to get one of these.<br>\n&lt;dael> florian: In this case when you need to be a FC everything is already one except blocks and blocks become BFCs. We can just say that.<br>\n&lt;dbaron> I filed https://github.com/w3c/csswg-drafts/issues/2527 on the fragmentation and contain issue<br>\n&lt;dael> florian: What I'd like to have is...have an anchor term that is establish a formatting context because then it says what type of FC it is. We've many times said BFC and that's not what we meant.<br>\n&lt;dael> florian: To try and stop from BFC-izing things having a term that does that sounds nice to me.<br>\n&lt;dael> florian: fantasai was pushing back against this.<br>\n&lt;dael> fantasai: I think it's \"establishes a formatting context\" and there's a definition for that.<br>\n&lt;dael> florian: For what a FC is, but not when you establish one.<br>\n&lt;dael> fantasai: Okay. We can add one to display.<br>\n&lt;dael> florian: That definition should include that if you invoke that on non-atromic inlines you wrote your spec wrong because you need to blockify them first.<br>\n&lt;dael> florian: I've got suggested text.<br>\n&lt;dael> fantasai: There's a definition for a new formatting context but it doesn't say type.<br>\n&lt;dael> florian: Buy you made the mistake of the wrong kind so if we get it repeatedly wrong.<br>\n&lt;dael> fantasai: Some specs have said BFC when they meant FC. We have an anchoring term, if you have a problem with the definition we can adjust.<br>\n&lt;dael> fantasai: Specs like multicol were written before flex and grid so writers were thinking about things that aren't blocks.<br>\n&lt;dael> Rossen: The definition you're referring so, can you paste a link?<br>\n&lt;dael> Rossen: florian if the definition is not enough, then where is your proposed text?<br>\n&lt;dael> florian: Toward the bottom of the comment https://github.com/w3c/csswg-drafts/issues/1457#issuecomment-379156461<br>\n&lt;dael> florian: [reads]<br>\n&lt;dael> fantasai: It's not true. If you try and establish on a table row.<br>\n&lt;dael> florian: It doesn't invoke on internal display types.<br>\n&lt;dael> TabAtkins: If you're trying to FC [missed]<br>\n&lt;dael> florian: I won't block on this, but it seems reasonable to me given that we've made the mistake multiple times after creation of flexbox and grid.<br>\n&lt;TabAtkins> TabAtkins: This'll go in the guidance, like \"don't blockify and inlinify the same element\".<br>\n&lt;dael> fantasai: I'd like to put effort into merging the wording.<br>\n&lt;dael> Rossen: Let's resolve on clarifying the definition of what and how a FC is created.<br>\n&lt;dael> Rossen: Objections?<br>\n&lt;dael> RRESOLVED: clarify the definition of what and how a FC is created<br>\n&lt;dael> RESOLVED: clarify the definition of what and how a FC is created<br>\n</details>\n"}}
{"actor":{"display_login":"css-meeting-bot"}}