Options:
- # Session Start: Thu Nov 06 00:00:00 2014
- # Session Ident: #css
- # [00:12] * Quits: antonp (~Thunderbird@public.cloak) (antonp)
- # [00:18] * Quits: Ms2ger (~Ms2ger@public.cloak) ("nn")
- # [00:22] * Quits: rego (~smuxi@public.cloak) (Client closed connection)
- # [00:36] * Joins: jrossi (~jrossi@public.cloak)
- # [00:50] <fantasai> TabAtkins: Seems to me that y'all should find some solution to that problem internally, rather than complicating CSS for it.
- # [00:51] <fantasai> TabAtkins: I've no idea what that would be, though, not knowing what your implementation is like.
- # [00:51] <TabAtkins> It's not an internal problem. Servo runs into it too.
- # [00:51] <TabAtkins> Counters are hostile to an efficient implementation.
- # [00:51] <TabAtkins> Probably possible to make fast, but not worth anywhere near the effort.
- # [00:52] <TabAtkins> (Our implementation *is* utterly terrible, but still.)
- # [00:55] <fantasai> How does parent-counter help?
- # [00:57] * Quits: jrossi (~jrossi@public.cloak) (Ping timeout: 180 seconds)
- # [00:57] * Joins: jrossi (~jrossi@public.cloak)
- # [00:58] <SimonSapin> fantasai: we can assign counter values with only local knowledge of a parent and its children, even in a parallel tree traversal as in Servo
- # [00:58] <SimonSapin> could*
- # [01:01] <TabAtkins> fantasai: counter() requires you to account for the possibility that the counter scope you're referencing is defined at the root of the document. parent-counter() gives you a guarantee that the scope is either on the parent or doesn't exist.
- # [01:02] <TabAtkins> Which means the difference between "parallelizable" and "not, except maybe with hacks".
- # [01:02] <fantasai> TabAtkins: how often is it a perf problem that you're refering to a counter that has not been set on the parent?
- # [01:02] <fantasai> TabAtkins: In other words, why are we looking for counters unless one has been referenced?
- # [01:02] <TabAtkins> The problem is allowing for the possibility.
- # [01:03] <TabAtkins> It means a slow code path versus a fast one.
- # [01:03] <fantasai> TabAtkins: Why isn't your code path short-circuiting?
- # [01:04] <fantasai> TabAtkins: Shouldn't it stop looking when it finds one on the parent?
- # [01:04] <TabAtkins> Don't recall the details, and am not capable of thinking through it right now.
- # [01:04] * fantasai shrugs
- # [01:05] * Quits: plh (plehegar@public.cloak) ("Leaving")
- # [01:07] <fantasai> SimonSapin: I think the parallelizable issue is more significant...
- # [01:07] <fantasai> SimonSapin: In a linear pass, you've already got the data for earlier nodes, so afaict it shouldn't be a problem for such implementations.
- # [01:08] <SimonSapin> fantasai: right, I’m don’t see a fundamental problem if you’re doing a sequential in-order tree traversal anyway, and I’m not sure why it’s a problem for Chrome
- # [01:09] <fantasai> SimonSapin: But in a parallelized case, while in most actual cases you'll be able to handle it locally (since that's what most use cases require),
- # [01:09] <SimonSapin> but we want to avoid sequential traversals entierly in Servo if possible
- # [01:09] <fantasai> SimonSapin: handling the general case could be a problem
- # [01:09] <SimonSapin> right
- # [01:09] <fantasai> SimonSapin: I don't think it's possible to fix that for Servo unless dropping CSS2.1 counter handling is Web-compatible :)
- # [01:09] <fantasai> (which it might be! but I'm unsure)
- # [01:09] <fantasai> but that's what it would require
- # [01:10] <fantasai> Having a "cheaper" form of counters wouldn't make the problem go away :)
- # [01:10] <SimonSapin> pcwalton has some idea of hacks to make the common case fast
- # [01:10] <fantasai> Is counter value assignment handled in the same pass as layout?
- # [01:10] <fantasai> If not, then, I think that's solveable. If so, then, :(
- # [01:12] <fantasai> you'd have to wait until layout finished in all earlier elements >_<
- # [01:12] <fantasai> since layout depends on counter values, to a certain extent
- # [01:13] * Quits: jrossi (~jrossi@public.cloak) (Ping timeout: 180 seconds)
- # [01:13] <SimonSapin> fantasai: we don’t implement counters at all yet
- # [01:15] <SimonSapin> layout (including selector matching and cascade) is four passes. The first two are selector matching and cascade (top-down), then box construction and intrinsic widths (bottom-up)
- # [01:16] <SimonSapin> widths (can) depend on counter values, which depend on matching
- # [01:16] <fantasai> right
- # [01:16] <fantasai> maybe do counters as part of cascade, or right after
- # [01:17] <fantasai> anyway
- # [01:17] <SimonSapin> well cascade is done in parellel as well
- # [01:18] <fantasai> Yeah. I think you could collect unresolved counters in a bucket as you go down, along with counter-resets. Then do a linear pass on those as necessary
- # [01:19] <fantasai> If you have tracked the counter-resets and the unresolved counters, then that will be linear, but you can limit the scope of the pass.
- # [01:20] <fantasai> once all uses of a counter are resolved, you can stop counting
- # [01:20] <fantasai> Does that make sense?
- # [01:20] <SimonSapin> yeah, we’ll probably end up with something like this
- # [01:20] * fantasai could probably explain more, but probably should walk over to the studio and start making diagrams
- # [01:23] <SimonSapin> (also you just triggered my highlight for "RESOLVED" :))
- # [01:26] * fantasai lol
- # [01:39] * Quits: ArronEi (~ArronEi@public.cloak) (Ping timeout: 180 seconds)
- # [01:45] * Quits: bcampbell (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
- # [01:49] * Quits: adenilson (~anonymous@public.cloak) (adenilson)
- # [01:57] * Joins: jdaggett (~jdaggett@public.cloak)
- # [02:13] * dauwhe_ is now known as dauwhe
- # [02:28] * Quits: lajava (~javi@public.cloak) (Ping timeout: 180 seconds)
- # [02:56] * Joins: tommyjtl (~tommyjtl@public.cloak)
- # [03:36] * Quits: estellevw (~estellewyel@public.cloak) (estellevw)
- # [03:37] * Joins: estellevw (~estellewyel@public.cloak)
- # [03:43] * Joins: tommyjtl_ (~tommyjtl@public.cloak)
- # [03:43] * Quits: tommyjtl (~tommyjtl@public.cloak) (Client closed connection)
- # [04:35] * Joins: dholbert (~dholbert@public.cloak)
- # [04:42] * Joins: tommyjtl (~tommyjtl@public.cloak)
- # [04:44] * Quits: tommyjtl_ (~tommyjtl@public.cloak) (Client closed connection)
- # [04:53] * Quits: dauwhe (~dauwhe@public.cloak) (Client closed connection)
- # [05:22] * Quits: estellevw (~estellewyel@public.cloak) (estellevw)
- # [05:41] * Joins: tommyjtl_ (~tommyjtl@public.cloak)
- # [05:41] * Quits: tommyjtl (~tommyjtl@public.cloak) (Client closed connection)
- # [05:47] * Joins: bcampbell (~chatzilla@public.cloak)
- # [05:53] * Joins: dauwhe (~dauwhe@public.cloak)
- # [06:00] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
- # [06:00] * Joins: tommyjtl (~tommyjtl@public.cloak)
- # [06:07] * Quits: tommyjtl_ (~tommyjtl@public.cloak) (Ping timeout: 180 seconds)
- # [06:54] * Joins: dauwhe (~dauwhe@public.cloak)
- # [06:55] * Quits: dbaron (~dbaron@public.cloak) (Ping timeout: 180 seconds)
- # [06:57] * Quits: bcampbell (~chatzilla@public.cloak) ("ChatZilla 0.9.91 [Firefox 31.2.0/20141011074935]")
- # [07:01] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
- # [07:10] * Joins: estellevw (~estellevw@public.cloak)
- # [07:26] * Quits: tommyjtl (~tommyjtl@public.cloak) (Client closed connection)
- # [07:26] * Joins: tommyjtl (~tommyjtl@public.cloak)
- # [07:28] * Quits: tommyjtl (~tommyjtl@public.cloak) (Client closed connection)
- # [07:28] * Joins: tommyjtl (~tommyjtl@public.cloak)
- # [07:28] * Quits: tommyjtl (~tommyjtl@public.cloak) (Client closed connection)
- # [07:54] * Joins: dauwhe (~dauwhe@public.cloak)
- # [08:01] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
- # [08:08] * Joins: tommyjtl (~tommyjtl@public.cloak)
- # [08:09] * Joins: tommyjtl_ (~tommyjtl@public.cloak)
- # [08:09] * Quits: tommyjtl (~tommyjtl@public.cloak) (Client closed connection)
- # [08:47] * Joins: florian (~Florian@public.cloak)
- # [08:55] * Disconnected
- # [08:56] * Attempting to rejoin channel #css
- # [08:56] * Rejoined channel #css
- # [08:56] * Topic is 'https://wiki.csswg.org/planning/tpac-2014#agenda -Zakim 26631#'
- # [08:56] * Set by plinss on Tue Oct 28 23:26:05
- # [08:56] * Quits: krijnhoetmer (~krijnhoetmer@public.cloak) (Client closed connection)
- # [09:01] * Joins: rego (~smuxi@public.cloak)
- # [09:02] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
- # [09:05] * Joins: zcorpan (~zcorpan@public.cloak)
- # [09:07] * Quits: jdaggett (~jdaggett@public.cloak) (jdaggett)
- # [09:19] * Joins: Ms2ger (~Ms2ger@public.cloak)
- # [09:20] * Quits: stryx` (~stryx@public.cloak) (Client closed connection)
- # [09:22] * Joins: stryx` (~stryx@public.cloak)
- # [09:43] * Joins: jdaggett (~jdaggett@public.cloak)
- # [09:55] * Quits: florian (~Florian@public.cloak) ("Leaving.")
- # [09:55] * Joins: dauwhe (~dauwhe@public.cloak)
- # [09:59] * Joins: florian (~Florian@public.cloak)
- # [10:00] * Quits: jdaggett (~jdaggett@public.cloak) (Client closed connection)
- # [10:02] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
- # [10:21] * Quits: estellevw (~estellevw@public.cloak) ("Snuggling with the puppies")
- # [10:44] * Quits: tommyjtl_ (~tommyjtl@public.cloak) ("brb")
- # [10:45] * Joins: tommyjtl (~tommyjtl@public.cloak)
- # [10:52] * Joins: tommyjtl_ (~tommyjtl@public.cloak)
- # [10:52] * Quits: tommyjtl (~tommyjtl@public.cloak) (Client closed connection)
- # [10:56] * Joins: dauwhe (~dauwhe@public.cloak)
- # [10:59] * Joins: tommyjtl (~tommyjtl@public.cloak)
- # [11:00] * Quits: tommyjtl_ (~tommyjtl@public.cloak) (Client closed connection)
- # [11:00] * Quits: tommyjtl (~tommyjtl@public.cloak) (Client closed connection)
- # [11:00] * Joins: tommyjtl (~tommyjtl@public.cloak)
- # [11:03] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
- # [11:05] * Joins: lajava (~javi@public.cloak)
- # [11:10] * Joins: antonp (~Thunderbird@public.cloak)
- # [11:23] <krit> TabAtkins: I opened a bunch of error reports. Most should have simple test cases embedded.
- # [11:28] * Quits: tommyjtl (~tommyjtl@public.cloak) ("brb")
- # [11:32] * Quits: florian (~Florian@public.cloak) ("Leaving.")
- # [11:33] * Joins: florian (~textual@public.cloak)
- # [11:48] * Quits: florian (~textual@public.cloak) ("Textual IRC Client: www.textualapp.com")
- # [11:48] * Joins: florian (~textual@public.cloak)
- # [11:50] * Quits: florian (~textual@public.cloak) ("Textual IRC Client: www.textualapp.com")
- # [11:51] * Joins: Florian (~Florian@public.cloak)
- # [11:52] * Quits: Florian (~Florian@public.cloak) ("Leaving...")
- # [11:52] * Joins: Florian (~Florian@public.cloak)
- # [11:56] * Joins: dauwhe (~dauwhe@public.cloak)
- # [11:59] * Quits: Florian (~Florian@public.cloak) ("Leaving...")
- # [11:59] * Joins: florian (~textual@public.cloak)
- # [11:59] * florian changes topic to 'https://wiki.csswg.org/planning/tpac-2014#agenda -Zakim 26631#'
- # [11:59] * Quits: florian (~textual@public.cloak) ("Textual IRC Client: www.textualapp.com")
- # [11:59] * Joins: Florian (~Florian@public.cloak)
- # [12:00] * Quits: Florian (~Florian@public.cloak) ("Leaving...")
- # [12:01] * Joins: Florian (~Florian@public.cloak)
- # [12:03] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
- # [12:06] * Quits: Ms2ger (~Ms2ger@public.cloak) (Ping timeout: 180 seconds)
- # [12:08] * Quits: nikos (~uid28403@public.cloak) ("Connection closed for inactivity")
- # [12:14] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
- # [12:18] * Joins: Florian (~Florian@public.cloak)
- # [12:21] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
- # [12:57] * Joins: dauwhe (~dauwhe@public.cloak)
- # [13:04] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
- # [13:07] * Joins: Ms2ger (~Ms2ger@public.cloak)
- # [13:10] * Joins: Florian (~Florian@public.cloak)
- # [13:33] * Quits: Ms2ger (~Ms2ger@public.cloak) (Ping timeout: 180 seconds)
- # [13:34] <zcorpan> anyone want to pick this up? fix css2.1 errata item and review tests from a year ago http://lists.w3.org/Archives/Public/www-style/2013Nov/0161.html
- # [13:34] <zcorpan> Bert: ^
- # [13:42] * Joins: Ms2ger (~Ms2ger@public.cloak)
- # [13:57] * Joins: dauwhe (~dauwhe@public.cloak)
- # [14:04] * Joins: plh (plehegar@public.cloak)
- # [14:04] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
- # [14:06] * Joins: dauwhe (~dauwhe@public.cloak)
- # [14:39] * Quits: Ms2ger (~Ms2ger@public.cloak) (Ping timeout: 180 seconds)
- # [14:48] * Joins: Ms2ger (~Ms2ger@public.cloak)
- # [15:06] * Quits: zcorpan (~zcorpan@public.cloak) (Client closed connection)
- # [15:21] * Quits: Ms2ger (~Ms2ger@public.cloak) (Ping timeout: 180 seconds)
- # [15:30] * Joins: Ms2ger (~Ms2ger@public.cloak)
- # [15:37] * Quits: Ms2ger (~Ms2ger@public.cloak) (Ping timeout: 180 seconds)
- # [15:49] * Joins: glazou (~glazou@public.cloak)
- # [16:15] * Joins: dbaron (~dbaron@public.cloak)
- # [16:17] <TabAtkins> krit: Thanks!
- # [16:48] * Quits: glazou (~glazou@public.cloak) (Client closed connection)
- # [16:48] * Joins: glazou (~glazou@public.cloak)
- # [16:59] * Joins: Ms2ger (~Ms2ger@public.cloak)
- # [17:06] * Quits: dbaron (~dbaron@public.cloak) ("8403864 bytes have been tenured, next gc will be global.")
- # [17:10] * Joins: dbaron (~dbaron@public.cloak)
- # [18:28] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
- # [18:35] * Quits: plh (plehegar@public.cloak) ("Leaving")
- # [18:36] * Joins: plh (plehegar@public.cloak)
- # [18:36] * Joins: tantek (~tantek@public.cloak)
- # [18:37] * Quits: glazou (~glazou@public.cloak) (glazou)
- # [18:47] * Joins: estellevw (~estellevw@public.cloak)
- # [18:49] * Quits: estellevw (~estellevw@public.cloak) ("Snuggling with the puppies")
- # [19:00] * Joins: tantek_ (~tantek@public.cloak)
- # [19:00] * Quits: tantek (~tantek@public.cloak) (Ping timeout: 180 seconds)
- # [19:00] * tantek_ is now known as tantek
- # [19:07] * Joins: zcorpan (~zcorpan@public.cloak)
- # [19:13] * Joins: jcraig (~jcraig@public.cloak)
- # [19:14] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
- # [19:28] * Joins: Florian (~Florian@public.cloak)
- # [19:35] * Quits: Florian (~Florian@public.cloak) (Ping timeout: 180 seconds)
- # [19:39] * Quits: lajava (~javi@public.cloak) (Ping timeout: 180 seconds)
- # [19:41] * Quits: dbaron (~dbaron@public.cloak) (Ping timeout: 180 seconds)
- # [19:50] * Joins: Florian (~Florian@public.cloak)
- # [19:55] * Quits: Ms2ger (~Ms2ger@public.cloak) (Ping timeout: 180 seconds)
- # [19:58] * Joins: adenilson (~anonymous@public.cloak)
- # [20:15] * Joins: dbaron (~dbaron@public.cloak)
- # [20:15] * Quits: dauwhe (~dauwhe@public.cloak) ("")
- # [20:16] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
- # [20:23] * Joins: zcorpan (~zcorpan@public.cloak)
- # [20:27] * Quits: zcorpan (~zcorpan@public.cloak) (Client closed connection)
- # [20:27] * Joins: zcorpan (~zcorpan@public.cloak)
- # [20:34] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
- # [20:36] * Quits: jcraig (~jcraig@public.cloak) (Ping timeout: 180 seconds)
- # [20:36] * Joins: ArronEi (~ArronEi@public.cloak)
- # [20:41] * Joins: jcraig (~jcraig@public.cloak)
- # [20:45] * Quits: adenilson (~anonymous@public.cloak) (adenilson)
- # [20:54] * Quits: ArronEi (~ArronEi@public.cloak) (Ping timeout: 180 seconds)
- # [21:02] * Quits: tantek (~tantek@public.cloak) (tantek)
- # [21:12] * Joins: Florian (~Florian@public.cloak)
- # [21:13] * Joins: Florian_ (~Florian@public.cloak)
- # [21:19] * Joins: dauwhe (~dauwhe@public.cloak)
- # [21:19] * Quits: Florian (~Florian@public.cloak) (Ping timeout: 180 seconds)
- # [21:53] * Quits: dauwhe (~dauwhe@public.cloak) (Client closed connection)
- # [21:53] * Joins: dauwhe (~dauwhe@public.cloak)
- # [21:55] * Joins: estellevw (~estellevw@public.cloak)
- # [22:01] * Quits: jcraig (~jcraig@public.cloak) (jcraig)
- # [22:01] * Joins: adenilson (~anonymous@public.cloak)
- # [22:25] * Quits: Florian_ (~Florian@public.cloak) (Client closed connection)
- # [22:33] * Joins: Ms2ger (~Ms2ger@public.cloak)
- # [22:41] * Quits: Ms2ger (~Ms2ger@public.cloak) (Ping timeout: 180 seconds)
- # [23:01] * Quits: plh (plehegar@public.cloak) ("Leaving")
- # [23:19] * Joins: Ms2ger (~Ms2ger@public.cloak)
- # [23:20] * Joins: tantek (~tantek@public.cloak)
- # [23:22] * Quits: tantek (~tantek@public.cloak) (tantek)
- # [23:39] * Joins: dauwhe_ (~dauwhe@public.cloak)
- # [23:39] * Quits: dauwhe (~dauwhe@public.cloak) (Client closed connection)
- # [23:41] * Quits: antonp (~Thunderbird@public.cloak) (antonp)
- # Session Close: Fri Nov 07 00:00:00 2014
The end :)