Closed Bug 1508693 Opened 6 years ago Closed 6 years ago

Fails to Paint in paused.js

Categories

(Core Graveyard :: Web Replay, defect)

defect
Not set
normal

Tracking

(firefox65 fixed)

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: jlast, Assigned: bhackett1024)

References

Details

Attachments

(2 files)

STR: 1. cd debugger.html; yarn; yarn start; 2. go to http://localhost:8000/; launch firefox remotely, select the first tab 3. add a breakpoint in actions/paused.js#58 & #66 4. pause in the debugger at paused.js#58 5. resume and pause at #66 ER: see the debug line, AR see Paint Failure
Attached patch patchSplinter Review
The problem here is that we don't support all the middleman calls needed to render a checkbox after diverging from the recording. The attached patch adds enough to make this work. Additionally, I went through all the code under nsNativeThemeCocoa::RenderWidget --- which is the entry point through which all these OS specific widgets are rendered --- and added middleman call support for all the calls there, including some redirections that were missing entirely. This patch also has some improvements to the reporting of fatal errors related to middleman calls when the devtools.recordreplay.allowRepaintFailures is set to false.
Assignee: nobody → bhackett1024
Attachment #9026866 - Flags: review?(lsmyth)
Comment on attachment 9026866 [details] [diff] [review] patch Review of attachment 9026866 [details] [diff] [review]: ----------------------------------------------------------------- ::: toolkit/recordreplay/ProcessRedirectDarwin.cpp @@ -359,5 @@ > MACRO(CGColorSpaceCreateDeviceRGB, RR_ScalarRval, nullptr, Middleman_CreateCFTypeRval) \ > MACRO(CGColorSpaceCreatePattern, RR_ScalarRval) \ > MACRO(CGColorSpaceRelease, RR_ScalarRval, nullptr, nullptr, Preamble_Veto<0>) \ > - MACRO(CGContextBeginTransparencyLayerWithRect) \ > - MACRO(CGContextClipToRects, RR_ScalarRval, nullptr, \ Out of curiosity, what isn't this calling `RR_ScalarRval` anymore?
Attachment #9026866 - Flags: review?(lsmyth) → review+
(In reply to Logan Smyth [:loganfsmyth] from comment #2) > Comment on attachment 9026866 [details] [diff] [review] > patch > > Review of attachment 9026866 [details] [diff] [review]: > ----------------------------------------------------------------- > > ::: toolkit/recordreplay/ProcessRedirectDarwin.cpp > @@ -359,5 @@ > > MACRO(CGColorSpaceCreateDeviceRGB, RR_ScalarRval, nullptr, Middleman_CreateCFTypeRval) \ > > MACRO(CGColorSpaceCreatePattern, RR_ScalarRval) \ > > MACRO(CGColorSpaceRelease, RR_ScalarRval, nullptr, nullptr, Preamble_Veto<0>) \ > > - MACRO(CGContextBeginTransparencyLayerWithRect) \ > > - MACRO(CGContextClipToRects, RR_ScalarRval, nullptr, \ > > Out of curiosity, what isn't this calling `RR_ScalarRval` anymore? This is fixing a bug: CGContextClipToRects does not return anything, so there isn't a point to recording/replaying its return value.
Pushed by bhackett@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/70f4239b2fab Add middleman call support for functions used in rendering widgets, r=lsmyth.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
Depends on: 1510481
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: