| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Thanks for working on this! Mostly looks good.
A few nits about how to check for flag, and one substantive comment:
https://chromium-review.git.corp.google.com/c/chromium/src/+/7965263/comment/3fd6dc37_89cc7c78/
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Would this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Would this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Would this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Would this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
PerformanceEntryVector conditional_user_timing_;I don't think this is the right approach. We should retain a vector of structs (containing string+time), kind of like ScriptTimingInfo, Convert to PerformanceEntry only when reporting to the actual DOM timeline.
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Would this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Would this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
I used DCHECK instead of CHECK. Is it O.K.? (This question also applies to the rest.)
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Would this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
Ditto
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Would this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
Ditto
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Would this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
Ditto.
PerformanceEntryVector conditional_user_timing_;I don't think this is the right approach. We should retain a vector of structs (containing string+time), kind of like ScriptTimingInfo, Convert to PerformanceEntry only when reporting to the actual DOM timeline.
Done. I also added security check (following the "scripts" example) -- I realized this is different from "standard user timing". The top frame can get the "conditional marks" from an Iframe.
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Would this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Guohui DengWould this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
I used DCHECK instead of CHECK. Is it O.K.? (This question also applies to the rest.)
Acknowledged
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Guohui DengWould this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
Ditto
Done
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Guohui DengWould this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
Ditto
Acknowledged
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Guohui DengWould this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
Ditto.
Acknowledged
if (RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Guohui DengWould this be a noop if the feature is disabled? If so, perhaps make this non-conditional and CHECK instead of guarding by condition?
Ditto.
DCHECK(conditional_marks_.empty());I think just CHECK(RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) in the condition below?
(CHECK and not DCHECK plz)
if (!RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Ditto
if (!RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Ditto
timing_info->SetConditionalMarks(conditional_marks);Another flag check?
<!DOCTYPE HTML>Is there a test for the security origin checks?
I think just CHECK(RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) in the condition below?
(CHECK and not DCHECK plz)
Done
if (!RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Guohui DengDitto
Done
if (!RuntimeEnabledFeatures::ConditionalTracingLoAFEnabled()) {Guohui DengDitto
Done
timing_info->SetConditionalMarks(conditional_marks);Guohui DengAnother flag check?
Done
PerformanceEntryVector conditional_user_timing_;Guohui DengI don't think this is the right approach. We should retain a vector of structs (containing string+time), kind of like ScriptTimingInfo, Convert to PerformanceEntry only when reporting to the actual DOM timeline.
Done. I also added security check (following the "scripts" example) -- I realized this is different from "standard user timing". The top frame can get the "conditional marks" from an Iframe.
Done
Is there a test for the security origin checks?
Thanks for the guidance! Now the superfluous security origin checks are removed.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
See one substantive comment. Almost there!
double start_time = now();It needs to be base::TimeTicks::Now(), and pass TimeTicks around rather than double.
Only clamp to a double when you create the PerformanceMarkConditional object.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
It needs to be base::TimeTicks::Now(), and pass TimeTicks around rather than double.
Only clamp to a double when you create the PerformanceMarkConditional object.
Done.
I see, it must be converted in the correct window. (because of the |time_origin|)
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
constexpr size_t kConditionalUserTimingBufferSize = 200;Can you add a comment documenting why this is the right size, or link to a design doc that outlines the rationale? Thanks.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
constexpr size_t kConditionalUserTimingBufferSize = 200;Can you add a comment documenting why this is the right size, or link to a design doc that outlines the rationale? Thanks.
This is in line with many other buffer size:
None of these has a comment explaining why it is the right size. I wonder if you can show me an example. I don't think it's needed.
In addition, I need "owner" approval. You are the owner of "global-interface-listing-expected.txt" so I added you as reviewer.
Cheers,
Guohui
constexpr size_t kConditionalUserTimingBufferSize = 200;Guohui DengCan you add a comment documenting why this is the right size, or link to a design doc that outlines the rationale? Thanks.
This is in line with many other buffer size:
None of these has a comment explaining why it is the right size. I wonder if you can show me an example. I don't think it's needed.
In addition, I need "owner" approval. You are the owner of "global-interface-listing-expected.txt" so I added you as reviewer.
Cheers,
Guohui
This would eventually need to be in the registry (https://w3c.github.io/timing-entrytypes-registry/) or in the LoAF spec.
constexpr size_t kConditionalUserTimingBufferSize = 200;Guohui DengCan you add a comment documenting why this is the right size, or link to a design doc that outlines the rationale? Thanks.
Noam RosenthalThis is in line with many other buffer size:
None of these has a comment explaining why it is the right size. I wonder if you can show me an example. I don't think it's needed.
In addition, I need "owner" approval. You are the owner of "global-interface-listing-expected.txt" so I added you as reviewer.
Cheers,
Guohui
This would eventually need to be in the registry (https://w3c.github.io/timing-entrytypes-registry/) or in the LoAF spec.
I added a TODO saying this needs to be in that registry.
In addition, I added a WPT test to verify the entries are capped at this limit.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Resolved with out of band conversation.
constexpr size_t kConditionalUserTimingBufferSize = 200;Guohui DengCan you add a comment documenting why this is the right size, or link to a design doc that outlines the rationale? Thanks.
Noam RosenthalThis is in line with many other buffer size:
None of these has a comment explaining why it is the right size. I wonder if you can show me an example. I don't think it's needed.
In addition, I need "owner" approval. You are the owner of "global-interface-listing-expected.txt" so I added you as reviewer.
Cheers,
Guohui
Guohui DengThis would eventually need to be in the registry (https://w3c.github.io/timing-entrytypes-registry/) or in the LoAF spec.
I added a TODO saying this needs to be in that registry.
In addition, I added a WPT test to verify the entries are capped at this limit.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Exportable changes to web-platform-tests were detected in this CL and a pull request in the upstream repo has been made: https://github.com/web-platform-tests/wpt/pull/61167.
When this CL lands, the bot will automatically merge the PR on GitHub if the required GitHub checks pass; otherwise, ecosystem-infra@ team will triage the failures and may contact you.
WPT Export docs:
https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md#Automatic-export-process
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Implement performance.markConditional(...)
performance.markConditional(...) creates lightweight tracing points that
only occur in PerformanceLongAnimationFrameTiming.
A follow-up CL will implement performance.measureConditional(...).
Explainer:
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/ConditionalTracing/explainer-for-loaf.md
I2P:
https://groups.google.com/a/chromium.org/g/blink-dev/c/Ur_FiEgzLvk/m/NOCKYJs1BwAJ
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |