-
BitBot
[GitHub] (servo/servo) [issue] CYBAI opened #24161: Intermittent TIMEOUT in /html/semantics/forms/autofocus/skip-another-top-level-browsing-context.html -
git.io/JeJdL
-
BitBot
[GitHub] (servo/servo) [PR] bors-servo merged #24160 into master: Remove the nonexistent optional params in the document -
git.io/JeeGk
-
nox
SimonSapin: You around?
-
SimonSapin
nox: hey
-
nox
SimonSapin: Hello. Does it make sense that in layout_2013, DisplayInside has variants such as Block or Inline?
-
SimonSapin
it’s… surprising
-
SimonSapin
but I’m not familiar with this
-
nox
SimonSapin: Seems like I'm almost done with the DOM traversal code.
-
SimonSapin
nice
-
nox
Ah no I still have quite a few pieces of code commented-out.
-
SimonSapin
-
crowbot
PR #24153: Remove layout_2020::display_list, use WebRender display lists instead -
servo/servo #24153
-
nox
SimonSapin: We have some lifetime issues around BoxSlot.
-
nox
I'll think about how to fix them.
-
nox
SimonSapin: We put the AtomicRefCell<LayoutBox> in an AtomicRefCell<StyleAndLayoutData> in layout_2020,
-
taskcluster
Task "Servo daily: Windows x64: Nightly build and upload. On failure, ping: SimonSapin, nox, emilio" complete with status 'failed'. Inspect:
tools.taskcluster.net/tasks/NRWJyiVQQs2J-CtOMQZUeQ
-
nox
so we can never have a BoxSlot<'dom> from the AtomicRefMut<LayoutBox>,
-
nox
not sure which way I'm going to fix that mmh…
-
nox
Tempted to make BoxSlot be a wrapper of Option<Arc<AtomicRefCell<Option<LayoutBox>>>>.
-
eijebong
.clone()
-
taskcluster
Task "Servo daily: Android Nightlies: Nightly build and upload. On failure, ping: SimonSapin, nox, emilio" complete with status 'failed'. Inspect:
tools.taskcluster.net/tasks/FjAGS87SRv-hR8qKxZ2BfQ
-
SimonSapin
nox: let's not have nested refcells?
-
SimonSapin
Then you can use RefCell::map
-
nox
I'm not sure I can.
-
nox
Maybe I misread something though.
-
nox
SimonSapin: Yeah I'm dumb disregard me.
-
nox
SimonSapin: So I think I can get an AtomicRefMut<'dom, Option<LayoutBox>> in the end.
-
nox
It's lunch time though.
-
BitBot
[GitHub] (servo/servo) [issue] XVilka opened #24162: Make a console renderer frontend -
git.io/JeIpP
-
nox
-
crowbot
Issue #64310: Cannot opt out of LLVM MergeFunctions pass on stable -
rust-lang/rust #64310
-
BitBot
[GitHub] (servo/servo) [PR] bors-servo merged #24153 into master: Remove layout_2020::display_list, use WebRender display lists instead -
git.io/fjjwp
-
cybai
jdm: I'm wondering if I should add a state machine for module scripts or not 🤔 currently, I can use the `GetWaitForAllPromise` function to do a `Promise.all` but we don't have `await` so that I must do something after getting the promise. (ex. saving a list of promises in document and check its status in each event loop tick?)
-
cybai
jdm: I can append native handlers to the promise created by `Promise.all` but I didn't figure out a place to `resolve` or `reject` it 😓
-
jdm
cybai: wouldn't you resolve/reject the promise in the FetchListener implementation for a particular request?
-
cybai
jdm: if the module doesn't have any descendants, the promise will be resolved
-
jdm
that is, the events that are being used in the Promise.all would be resolved/rejected by the fetch response handler code
-
jdm
and the promise returned by Promise.all would be automatically resolved/rejected by Promise.all's implementation
-
cybai
ohh!!!! 🤯 that sounds what Promise.all should behave!! 🤔
-
cybai
ahhh!! yeah, let me try it!
-
cybai
I'm not sure why I was stuck in resolving / rejecting a Promise.all 😱
-
cybai
thanks!
-
jdm
cybai: my one concern is when we call Promise.all - is there a point at which we know we have requested all the modules for a particular graph?
-
jdm
cybai: otherwise do we keep calling Promise.all each time there is a new module to request and ignore any previous promise?
-
cybai
jdm: I think yes, we save all fetched module in `module_map` in global scope. and I will traverse all descendant urls which are not fetched / fetching
-
jdm
aha
-
cybai
so if the module is fetching, it will just return the fetching promise.
-
» cybai just notices jdm reminds him the fetched case in fetching descendants 🤔
-
jdm
I guess if the promise resolve handler checks the module map and does nothing if it's still incomplete, that should probably be fine
-
cybai
👀 didn't try this way before. let me see what will happen!
-
» cybai is experimenting if we can have fewer build time with upgrading regex to 1.3 and only use the std things from
rust-lang/regex #613
-
crowbot
PR #613: expose new crate features for optionally shrinking regex -
rust-lang/regex #613
-
cybai
hmm, interesting... building with `regex` 1.3 with `std` feature costs `34m 41s` and building with current master costs `32m 16s` 🤔
-
cybai
on my macOS
-
nox
I read that regex takes 34 minutes to build on your machine. regex itself.
-
nox
That was scary.
-
nox
jdm: I'm landing a thing that I hate today: code that is not called and with commented out parts, but that's so SimonSapin and I share the same code.
-
jdm
yeah, I feel that
-
nox
First commit with my new email tho :p
-
eijebong
nox: inb4 github doesn't accept it because weird TLD *hides*
-
nox
eijebong: Nah it's already my account email.
-
taskcluster
Task "Servo daily: Android Nightlies: Nightly build and upload. On failure, ping: SimonSapin, nox, emilio" complete with status 'failed'. Inspect:
tools.taskcluster.net/tasks/J9vaq8f9R6-OcoV_twLXpQ
-
nox
jdm: Plot twist: I broke layout 2013.
-
jdm
oops
-
nox
jdm: See, I checked a normal build even though it's not on your damn checklist. :P
-
» nox hides.
-
cybai
nox: oh, I mean building Servo 😂 but with different regex version
-
jdm
nox: pretty sure `mach build -d` is in the checklist ;)
-
SimonSapin
nox: the one in the PR template?
-
nox
SimonSapin: Yeah.
-
» eijebong never reads the checklist and then gets mad at self for not having ran servo-tidy
-
nox
jdm: Damn.
-
SimonSapin
eijebong: same :)
-
cybai
eijebong: same :D
-
jdm
all y'all are doing checklists wrong
-
eijebong
Nice, glad to know I'm not alone in that boar
-
eijebong
boat*
-
nox
SimonSapin: I delete it without actually checking anything and then jdm puts it on our 1:1 agenda.
-
cybai
I always only run `./mach fmt` locally 😂
-
nox
I want to make a joke but I can't English.
-
jdm
who checks the checklists?
-
nox
You can ask someone for a service or a favour,
-
cybai
🙋♂️
-
nox
but what's the expression for when you are the one doing the work?
-
BitBot
[GitHub] (servo/servo) [issue] ferjm opened #24163: Video controls are not resized in fullscreen mode -
git.io/Jeta4
-
nox
Oh, it's just the verb do.
-
nox
I don't check the checklist as a favour to jdm, to keep him on edge and he doesn't find management boring.
-
jdm
ha
-
eijebong
nox: Yeah but CI does it for us :(
-
nox
eijebong: Still costs CI cycles for no reason though.
-
nox
I am a moron and just get deeply offended by HTML or Markdown boilerplate in my merge commits.
-
eijebong
nox: Yeah. It should not even try to build if tidy doesn't pass :p
-
SimonSapin
jdm: do we have a plan to move off python 2?
python.org/doc/sunset-python-2
-
eijebong
SimonSapin: I think we're waiting for mach on that ?
-
eijebong
Last time I looked at it it was the case at least
-
SimonSapin
does mach upstream have a plan?
-
jdm
SimonSapin: the plan largely relies on work being done in mozilla-central and wpt; there's a list of pieces in an issue as well
-
jdm
-
crowbot
Issue #23607: Support Python 3 -
servo/servo #23607
-
SimonSapin
I see "A future version of pip will drop support for Python 2.7" in some logs
-
jdm
yep
-
SimonSapin
and virtualenv likes to always install the latest pip
-
jdm
SimonSapin: is that something we can control?
-
SimonSapin
I don’t know
-
BitBot
[GitHub] (servo/servo) [issue] ferjm opened #24164: Add a fullscreen button to the video controls -
git.io/JetoG
-
SimonSapin
-
SimonSapin
it looks like it’s "support" as in "maintainers look at bug reports", not "it runs at all"
-
jgraham
(in practice there are millions of lines of largely unmaintained Python 2 code in the world and various support contracts that will keep providing security fixes for at least 5 years, so it's not the emergency that people would like you to believe)
-
jgraham
(not saying it's a bad idea to port ofc)
-
jdm
-
crowbot
PR #24121: Decode URI components when reporting testharness results. -
servo/servo #24121
-
nox
So layout_2013 builds,
-
nox
but I have some style changes,
-
nox
so CI may explode, we'll see.
-
» nox runs ./mach fmt.
-
nox
+99/-98
-
» nox is glad jdm didn't see that from buildbot running mach fmt. :P
-
SimonSapin
nox: would you prefer landing only an import of victor/src/layout/fragments.rs?
-
SimonSapin
that we could both work on top of
-
nox
SimonSapin: Nah it should be ok.
-
nox
jdm, SimonSapin: Btw I didn't realise at first, but I think it's trivial in layout 2020 to remove the init_style_and_layout_data stuff.
-
» SimonSapin looks up what that is
-
nox
Which kills a huge amount of weird code where we have to comment with stuff such as "yeah this field is in DOM but it needs to be dropped by layout btw, be careful friends".
-
SimonSapin
nox: what changes that makes this easier?
-
nox
SimonSapin: We don't need a weird trait object to be stored in DOM objects.
-
cybai
jdm: 🤯 oh!!! I cannot believe I just pass `/html/semantics/scripting-1/the-script-element/module/single-evaluation-2.html` with removing `.resolve_native` of the promise all 🤯🤯🤯🤯🤯
-
jdm
nice!
-
ajeffrey
My life atm consists of staring at wireshark captures of WPT runs.
-
ajeffrey
TIL that the wpt http server responds "HTTP/1.1 200 OMG" rather than "OK".
-
jdm
ajeffrey: what are you looking for?
-
cybai
but I believe I didn't handle the fetched case well 😂 will try to see if there's a WPT test for this case (I mean, if the module is fetched earlier)
-
taskcluster
Task "Servo daily: macOS x64: WPT update. On failure, ping: SimonSapin, nox, emilio" complete with status 'failed'. Inspect:
tools.taskcluster.net/tasks/c_dOq-lGTzqQycGTk3cjQg
-
ajeffrey
jdm: trying to work out why we're now getting charset decoding failures when prefetching.
-
ajeffrey
The document doesn't get prefetched, so this is super odd.
-
ajeffrey
-
crowbot
PR #24148: Prefetch img, scripts and stylesheets during parsing -
servo/servo #24148
-
jgraham
ajeffrey: Huh? I think some test might but in general we shouldn't c.f.
searchfox.org/mozilla-central/sourc…s/wptserve/wptserve/constants.py#36
-
jgraham
-
jdm
-
nox
SimonSapin: Sorry got distracted.
-
nox
Running tidy and fmt one last time and then pushing.
-
ajeffrey
-
jgraham
ajeffrey: Right, that specific file intentionally overrides the normal status text
-
» cybai will keep fixing other module script tests 🤩
-
ajeffrey
jgraham: I don't thiiiink that's related to the test failure I'm seeing, which is about decoding failure, it was just odd to see.
-
ajeffrey
jdm: running wireshark did make me realize that the prefetching is a bit too simplistic, in that it always prefetches, even if the parser isn't blocked yet,
-
ajeffrey
e.g. we get two GETs of testharness.js because the prefetch and the regular fetch happen simultaneously.
-
jdm
ajeffrey: so in theory our http cache layer should be preventing two gets from occurring
-
nox
"Can't automatically merge."
-
nox
Of course.
-
jdm
if that's not happening we should figure out why
-
ajeffrey
jdm: that's what I thought, but wireshark says otherwise :/
-
ajeffrey
it's possibly because the second GET happens before the cache-control headers have arrived back from the first one.
-
ajeffrey
thank goodness wpt runs on http not https :)
-
nox
SimonSapin: What did you do in fragment?
-
nox
SimonSapin: Completely forgot I had a local "Kill fragments" commit lol.
-
SimonSapin
eh
-
nox
And also I had a lot of missing dependency updates locally,
-
nox
so now I'm rebuilding the world again.
-
SimonSapin
nox: so you removed all the "second pass" layout code? (going from boxes to fragments)
-
nox
Classic "I'm making a PR in 5 minutes" becoming 5 hours.
-
nox
SimonSapin: Yeah.
-
SimonSapin
ok
-
SimonSapin
so it sounds like I should do my own import of victor/src/layout/fragments.rs, and we’ll figure out later how to connect it with your stuff
-
nox
SimonSapin: Making a PR today at the very least.
-
nox
SimonSapin: If you try to import fragment you'll need to make some changes that I already did.
-
nox
(Using the right stylo types etc.)
-
SimonSapin
nox: so you made changes to fargments.rs, then deleted it?
-
nox
SimonSapin: The opposite.
-
nox
I deleted fragment.rs, and then imported Victor.
-
SimonSapin
ah, layout_2013’s fragment.rs
-
nox
Yeah sorry.
-
nox
I'll call it a day after I make the PR I think,
-
nox
standups: Made more progress porting the DOM traversal code from Victor to the machinery in Servo, encountered a small blocker in the form of lifetime issues, but that should not be too complicated to fix.
-
crowbot
Status submitted successfully.
-
nox
standups: Did some code speleology for a mergefunc bug in rustc/LLVM/macOS' ld/whatever other tool is broken in that toolchain.
-
crowbot
Status submitted successfully.
-
nox
SimonSapin: Also,
-
nox
I had to silence a bunch of warnings,
-
nox
because everything is dead code obviously.
-
SimonSapin
right
-
nox
I feel so dirty doing that, but yeah we need to.
-
ajeffrey
Ah, the decoding is getting messed up way down in html5ever...
-
ajeffrey
-
nox
Lies, h5e is perfect.
-
ajeffrey
somehow the text got decoded from windows-1252 into UTF-8, then reinterpreted as windows-1252, then into UTF-8 again.
-
jdm
fascinating
-
ajeffrey
nox: I have done horrible things to the tokenizer, so it's unhappy with me.
-
jdm
standups: fixing lint issues blocking WPT sync. pushing on UWP build failures on CI.
-
crowbot
Status submitted successfully.
-
BitBot
[GitHub] (servo/servo) [PR] nox requested #24165 merge into master: Import victor's layout system 🍷 -
git.io/Jeq2l
-
nox
SimonSapin: You almost hated me.
-
SimonSapin
?
-
nox
SimonSapin: Was going to create the PR with "Cc @SimonSapin" in its description.
-
nox
2 days after we all got spammed because of GH mentions in PR descriptions. :D
-
SimonSapin
haha
-
jdm
indeed
-
jdm
I liked how there were three separate repositories flooding me
-
nox
-
ajeffrey
ahhhh... I think I figured out the issue... SimonSapin help me you're my only hope
-
ajeffrey
-
ajeffrey
but it converts it to bytes as UTF-8, not as whatever the network decoder is expecting?
-
nox
Holy hell I made so few PRs this year against servo/servo.
-
SimonSapin
ajeffrey: that method takes a String parameter, so it’s Unicode not bytes
-
nox
ajeffrey: By the time you are calling this method you already converted the input.
-
ajeffrey
SimonSapin: but the network decoder might be expecting a different encoding?
-
nox
ajeffrey: The network decoder calls that after it decoded.
-
nox
IIRC.
-
SimonSapin
what is the network decoder?
-
jdm
-
nox
-
nox
github.com/servo/servo/blob/174bcc4…pt/dom/servoparser/mod.rs#L490-L496 push_string_input_chunk has only one caller, and the passed strings are not from the network at all.
-
nox
What you want is the stuff line 434.
-
SimonSapin
looks like push_string_input_chunk (as opposed to push_bytes_input_chunk) is used when bytes or character encodings are not involved at all
-
nox
Ok,
-
nox
PR filed,
-
nox
LLVM bug investigated,
-
nox
calling it a day.
-
ajeffrey
-
nox
ajeffrey:Yes.
-
nox
ajeffrey: Did you look at the callers of parse_html_document?
-
nox
ajeffrey: You already have a string when you call that.
-
nox
So I still don't get what encoding you mean to talk about.
-
nox
-
ajeffrey
-
ajeffrey
oh jinx
-
nox
-
nox
-
ajeffrey
but the network decoder for the XHR might not be UTF8?
-
nox
ajeffrey: Which is why it passes a decoded string?
-
nox
I don't understand what your issue is here.
-
ajeffrey
well the test that's failing due to me mucking around with servoparser is...
-
ajeffrey
xhr/responsedocument-decoding.htm
-
nox
ajeffrey: You do agree that the things you link will never get anything but UTF-8 though, right?
-
nox
ajeffrey: Which test case is failing?
-
nox
Cause there are already expected failures there.
-
ajeffrey
oh yes, the string is in UTF8, it's the network decoder that might be non-UTF8.
-
nox
-
nox
ajeffrey: Did you check that your failure isn't the same as the expected one, but maybe with different garbage in its name?
-
ajeffrey
-
nox
XMLHttpRequest: response document decoding (text/html %3C!doctype%20html%3E%3Cmeta%20charset%3Dwindows-1252%3E%3Cx%3E%e6%a9%9f%3C%2Fx%3E)
-
nox
vs
-
nox
XMLHttpRequest: response document decoding (text/html;charset=windows-1252 %3C!doctype%20html%3E%3Cmeta%20charset%3Dwindows-1252%3E%3Cx%3E%e6%a9%9f%3C%2Fx%3E)
-
ajeffrey
yes, those are different tests aren't they?
-
nox
Yeah.
-
ajeffrey
so there's a test that used to pass and is now failing due to me mucking around,
-
nox
So my understanding is that you broke windows-1252 decoding, which was already working when the encoding is stated as a HTTP header.
-
ajeffrey
and I can't work out why it used to pass :(
-
nox
ajeffrey: Because we decode the input before we pass it to the function you mentioned first. :)
-
rasviitanen
Hi, I am new to servo and am looking to contribute as part of a course i'm taking. I'm looking for some help with what is feasible. I'm curious about implementing IndexedDB or atleast some of it. I saw some estimate of it taking > 12 months. I don't see how the 12 months are justified. Do you think I could get some of it working until mid-december?
-
nox
-
ajeffrey
but the network decoder is windows-1252 isn't it?
-
nox
-
nox
ajeffrey: Yes? Line 1402 we decode from windows-1252 to UTF-8, getting a string.
-
ajeffrey
yes, and then push it back to the network decoder,
-
nox
ajeffrey: No we don't.
-
nox
ajeffrey: I think I understnad your issue.
-
nox
ajeffrey: Did you misread network_input into network_decoder?
-
nox
Cause those are different things.
-
nox
push_string_input_chunk pushes to network_input, not ever touching the network decoder.
-
nox
push_bytes_input_chunk goes through the network decoder. push_string_input_chunk doesn't, as SimonSapin said earlier.
-
ajeffrey
nox: aaaaah!
-
ajeffrey
OK, I'd messed that up.
-
nox
ajeffrey: Imma going to pat me in the back for noticing a remote misreading.
-
ajeffrey
nox: OK, let me try that and see if it fixes the issue.
-
ajeffrey
I may add a comment to remind future!me what's going on!
-
jdm
rasviitanen: some of it? almost certainly yes.
-
jdm
nox++
-
rasviitanen
@jdm tha'ts what I thought, just makking sure i'm nopt diving into too deep water
-
ajeffrey
yay!
-
SimonSapin
pcwalton: components/layout_thread currently keeps a long-lived DisplayList around inside LayoutThreadData, why is that useful?
-
ajeffrey
-
SimonSapin
is it sometimes needed again when it hasn’t changed?
-
ajeffrey
I even wrote a comment to remind future confused devs (e.g. me) what's going on here...
servo/servo #24148/commits/76e913970510fa1b523a60eacef8b568e3afb8d1
-
ajeffrey
OK, now to work out why getting the same resource twice concurrently doesn't get cached.
-
ajeffrey
standups: Debugging network decoding issues (thanks nox!)
-
crowbot
Status submitted successfully.
-
BitBot
[GitHub] (servo/servo) [PR] bors-servo merged #24121 into master: Decode URI components when reporting testharness results. -
git.io/fjptI
-
jdm
Manishearth: alex turner pointed out that it might be possible to get a bare minimum extension for hololens webxr input based on the current openxr support
-
Manishearth
jdm: yes
-
Manishearth
but not hit testing
-
jdm
Manishearth: he mentioned a "select" action that is recognized by the implementation, I think. is hit testing still the long pole for adding any interactivity to webxr?
-
Manishearth
jdm: long pole from which POV?
-
Manishearth
idk about the openxr pov
-
Manishearth
hit testing is under active development on the spec side
-
Manishearth
there's an explainer with enough info that we could impl something experimental
-
Manishearth
but ideally you want device support
-
jdm
Manishearth: is there some way that hand pose information at the time of a selection action from openxr would be able to be used by the JS code to decide if somethign was hit?
-
Manishearth
jdm: yeah if JS code wants to do the work sure
-
» jdm will start a teams thread to extract some more info from alex
-
Manishearth
and the APIs for getting the browser to do the work exist, experimentally (and in flux, but we could implement them)
-
jdm
yeah, that's something we could probably work with the babylon folks on, for example
-
Manishearth
but getting the browser to actually do the work would be annoying and we should let the device do it
-
Manishearth
aha
-
Manishearth
yeah
-
Manishearth
a tricky thing is figuring out exactly what the input profile is
-
ajeffrey
OK, I think I can see what's going on with simultanous GETs not being cached, it's a locking issue.
-
Manishearth
like, you have two fingers, which are presumably both some form of primary input
-
jdm
ajeffrey: are we doing multiple short locks when we shouldn't?
-
Manishearth
but on their own they have no "selection" action
-
ajeffrey
When we check to see if there's a cache entry for a request, we do it with a read-lock at
github.com/servo/servo/blob/master/…components/net/http_loader.rs#L1011
-
Manishearth
the pinchy thingy is a selection action only for far away, which may need to be treated as a different input (?)
-
Manishearth
webxr does support transient inputs
-
Manishearth
like, fingers can be transient inputs
-
jdm
makes sense
-
ajeffrey
and then if there's no cache entry, we go do the fetch, and add store the cache entry with a subsequent write-lock at
github.com/servo/servo/blob/master/…components/net/http_loader.rs#L1120
-
ajeffrey
so if two GETs arrive in quick succession, they'll both be cache misses, and so they'll both be fetched.
-
Manishearth
jdm: i was hoping to be able to experiment with hit testing but we can't till openxr has it
-
Manishearth
unless we do a native hl2 backend
-
Manishearth
(which ... we could, but it does seem like a lot of work)
-
nox
ajeffrey: You're welcome.
-
nox
ajeffrey: Oh btw,
-
nox
ajeffrey: I *loved* that you were the one who added the damn bag characters to some TeX font, it made the rounds on Twitter last week.
-
nox
I really dig seeing your name in the most unexpected places (unexpected to me).
-
ajeffrey
nox: odd what things I ended up doing 25-or-so years ago that resurface :)
-
nox
ajeffrey: Really wonder what it will be for me.
-
nox
Hopefully no one will ever tweet about the stupid RSS reader written in C++ full of memory leaks that I added to an eMule mode 15 years ago.
-
nox
mod*
-
ajeffrey
nox: the other bit of font work from around then that made it into unicode is the reference design for blackboard bold.
-
ajeffrey
it's odd seeing people using it for twitter handles etc.
-
nox
Ah ah ah ah aha ah ah ah ah.
-
ajeffrey
the design that's used these days is much nicer,
-
ajeffrey
looks like it was done by an actual font designer.
-
Manishearth
TIL failIfMajorPerformanceCaveat
-
Manishearth
-
ajeffrey
jdm: it's difficult to see how to make a concurrent implementation of
fetch.spec.whatwg.org#http-network-or-cache-fetch which doesn't suffer from raciness on simultaneous fetches
-
ajeffrey
since step 19.1 reads from the cache,
-
jdm
ajeffrey: what if we were to leave a placeholder entry when first reading if there is no cache entry?
-
ajeffrey
sorry 5.19.1
-
jdm
then it gets killed if the eventual response can't be cached
-
ajeffrey
and the store doesn't happen until 7.5.1.
-
ajeffrey
jdm: is that spec compliant?
-
jdm
ajeffrey: if any subsequent readers waiting on that entry then make their own request, I don't see why not
-
jdm
it's possible this should be addressed at the spec level, though
-
ajeffrey
jdm: my read of the spec is that checking the cache and updating the cache are two separate operations,
-
ajeffrey
there's no atomic check-and-set :/
-
ajeffrey
also for our implementation this is annoying because we lose the benefit of a read-write lock on the cache.
-
jdm
ajeffrey: we could make a side table that means "an uncached request is in progress, please wait on this condvar before checking the cache", perhaps?
-
ajeffrey
jdm: for this particular case there's a fix (that is probably worth implementing anyway) which is to only prefetch content after the first <script> tag.
-
ajeffrey
jdm: yeah, we could put another locking mechanism in place, but I'm a bit worried about introducing deadlocks in weird race conditions :(
-
jdm
indeed
-
Manishearth
standups: finally read through absolutely giant discussion about premultiplied alpha
-
crowbot
Status submitted successfully.
-
nox
Deadlocks are high maintenance, but I think your hair is long enough that you can go for it.
-
jdm
Manishearth++
-
» nox goes away.
-
Manishearth
right now my brain is in reverse matrix mode
-
SimonSapin
nox: I force-pushed to your PR’s branch to add an intermediate commit with unmodified files from victor
-
nox
Manishearth: Column or row order?
-
Manishearth
i don't see chairs, tables, the sky anymore
-
nox
SimonSapin: Ok!
-
ajeffrey
nox: you are trying to make me go bald? :)
-
Manishearth
all i see are rgba values
-
SimonSapin
so I could have a diff in the next commit
-
Manishearth
nox: wrong matrix
-
nox
ajeffrey: BE BOLD GO BALD
-
ajeffrey
nox: make it so.
-
nox
SimonSapin: It was only trivial changes!!1!
-
nox
SimonSapin: Joke aside, sorry didn't even cross my mind that it would be a good thing to do.
-
SimonSapin
nox: I was gonna ask you either do that or write a quick high level summary of changes, but since you said you’re done for today it was easy enough to do
-
nox
SimonSapin: The changes were mostly "make it use style's types".
-
SimonSapin
nox: does stylo not already have stuff for what’s in ComputedValuesExt ?
-
nox
SimonSapin: Nope in a way that my brain was willing to comprehend.
-
SimonSapin
like converting 'width' and 'height' to inline-size and block-size
-
nox
SimonSapin: At the very least, the Sides types don't exist.
-
nox
And the writing mode is a bitflags that I nope'd out of.
-
SimonSapin
-
nox
SimonSapin: Yeah and it doesn't look as good as what you did in Servo.
-
nox
Err, Victor.
-
SimonSapin
we can unify later (or not)
-
BitBot
[GitHub] (servo/mozangle) [PR] kvark requested #30 merge into master: Bring back `egl::get_proc_address` -
git.io/JeqwO
-
ajeffrey
-
pcwalton
standups: Working on tests for surfman.
-
crowbot
Status submitted successfully.
-
pcwalton
SimonSapin: at some point we should brainstorm what the ideal platform font interface would look like for CSS
-
pcwalton
I'm very willing to change font-kit
-
ajeffrey
-
Manishearth
jdm: for running servo in the emulator i have to ... do some things first, right?
-
Manishearth
just install the openxr thingy?
-
jdm
Manishearth: install the openxr package, yeah
-
Manishearth
do you know an easy way to do that?
-
jdm
Manishearth: and that needs to happen every time the emulator restarts
-
Manishearth
whAT
-
Manishearth
:/
-
jdm
Manishearth: either through windows update in the emulator or the store directly
-
Manishearth
ima try this on the device then
-
Manishearth
wait
-
jdm
Manishearth: there's a teams thread with a workaround we can use in the short term to package the openxr runtime with our builds
-
Manishearth
"payload file target\release\vcruntime140.dll doesn't exist
-
Manishearth
i thought i'd fixed this
-
Manishearth
oh the build failed this time
-
Manishearth
hm
-
Manishearth
(this was the x64 build)
-
ajeffrey
standups: Diagnosing cache locking issues causing multiple requests for the same resource. (yay wireshark!)
-
crowbot
Status submitted successfully.
-
ajeffrey
jdm: OK, so
servo/servo #24148/commits/58163a5c30d97757477078c50cd76cc37b63c65c is a workaround for the problem with simultaneous GETs both being cache misses,
-
ajeffrey
I am inclined to file the underlying issue as a separate issue, file a spec issue about it, and move on. Sounds good to you?
-
SimonSapin
pcwalton: sounds good. One unknown (to me) though is how much the css-font spec matches reality
-
jdm
agreed
-
ajeffrey
jdm: OK, I will squash and r=you #24148 then
-
crowbot
PR #24148: Prefetch img, scripts and stylesheets during parsing -
servo/servo #24148
-
jdm
ajeffrey: there was a test failure in the last run
-
ajeffrey
jdm: already fixed it
-
jdm
ah, o
-
jdm
k
-
SimonSapin
dbaron: Do you know if Gecko deviates significantly from
drafts.csswg.org/css-fonts/#font-matching-algorithm and how?
-
BitBot
[GitHub] (servo/mozangle) [PR] bors-servo merged #30 into master: Bring back `egl::get_proc_address` -
git.io/JeqwO
-
BitBot
[GitHub] (servo/mozangle) [PR] kvark requested #31 merge into master: Bump version to 0.2.7 -
git.io/JeqoI
-
jdm
standups: slowly replacing gleam dependency in webgl/webvr with new crate
-
crowbot
Status submitted successfully.
-
Manishearth
yay
-
ajeffrey
+1
-
Manishearth
-
Manishearth
tips on debugging?
-
» jdm makes the :| face
-
Manishearth
(got a mozilla-google webxr sync meeting in a bit but buffering this up for when you get a chance)
-
jdm
that looks exactly like what happened when I accidentally was loading non-arm64 DLLs in an arm64 build of servo
-
jdm
Manishearth: run dumpbin on all of the DLLs in the app package and look for suspicious headers?
-
jdm
like, just dump the headers, not all of the symbol data
-
Manishearth
jdm: ServoApp.exe?
-
Manishearth
or some other app package
-
jdm
Manishearth: actually start with the DLLs in your target/aarch64-pc-windows-msvc directory, I think
-
jdm
there should be no other DLLs involved
-
» jdm predicts it's going to be a gstreamer environment variable overriding the attempts by the build to choose the right gstreamer directory
-
Manishearth
jdm: i have LIB_GST_OLD and GSTREAMER_1_0_ROOT_x86_64
-
dbaron
SimonSapin: I'm not sure -- you'd have to ask jfkthame.
-
jfkthame
SimonSapin: I believe the main issue we have is that we don't currently handle the cluster-matching aspect of it
-
jfkthame
SimonSapin: aside from that, AFAIK we follow the algorithm pretty closely
-
SimonSapin
I see, thanks
-
SimonSapin
jfkthame: so you seem to be saying this is a gecko issue where it should improve, rather than a case of spec having what a WG would like but that doesn’t match what’s required for web-compat?
-
jfkthame
SimonSapin: yes, we have an open bug to improve this, and some work has been done a while back but we never quite got it finished :(
-
jfkthame
SimonSapin: still believe we should, though
-
BitBot
[GitHub] (servo/mozangle) [PR] bors-servo merged #31 into master: Bump version to 0.2.7 -
git.io/JeqoI
-
Manishearth
standups: interview sync
-
crowbot
Status submitted successfully.
-
ajeffrey
boy there are a *lot* of uses of unwrap() in net::http_loader::http_network_or_cache_fetch
servo/servo #24148#issuecomment-529678521
-
crowbot
PR #24148: Prefetch img, scripts and stylesheets during parsing -
servo/servo #24148
-
BitBot
[GitHub] (servo/webrender) [PR] moz-gfx requested #3752 merge into master: Sync changes from mozilla-central -
git.io/Jeq6t
-
ajeffrey
my guess is
github.com/servo/servo/blob/f90dd12…/components/net/http_loader.rs#L886 is the one that's failing, since it's parsing a referrer URI.
-
jdm
believable
-
ajeffrey
jdm: that bit of fetch code really doesn't like it if you feed it input it's not expecting, e.g. a referer that doesn't parse as a URI.
-
jdm
with good reason!
-
ajeffrey
I mean it's proooobably right, but the spec is a bit looser
-
ajeffrey
it only says "if the referer is a URL..."
-
jdm
ajeffrey: the spec deals in stuff like "pass a url or a global object to this algorithm"
-
» jdm makes dinner
-
Manishearth
standups: xr editor sync
-
crowbot
Status submitted successfully.
-
ajeffrey
OK, the problem seems to be something similar to
hyperium/http #202
-
crowbot
Issue #202: Double % percent encoding crashes with ErrorKind::InvalidUriChar -
hyperium/http #202
-
ajeffrey
in that we have a URL that Servo's URL parser is happy about, but re-parsing it as a hyperium URL fails.
-
Manishearth
ajeffrey: wait does hyperium not use our parser?
-
Manishearth
i thought rust-url was ubiquitous
-
ajeffrey
Manishearth: apparently not :/
-
ajeffrey
-
Manishearth
wait it contains its own url parser, not even a separate crate? bummer
-
eijebong
Yeah hyper doesn't use the url crate at all
-
BitBot
[GitHub] (servo/servo) [PR] bors-servo merged #24158 into master: Sync WPT with upstream (07-09-2019) -
git.io/fjjFF
-
BitBot
[GitHub] (servo/webrender) [PR] bors-servo merged #3752 into master: Sync changes from mozilla-central -
git.io/Jeq6t