• ernesto.mudu's avatar
    Add webdriver endpoint to send custom debugger commands · 711de0ef
    ernesto.mudu authored
    Since its introduction in Canary I became a big fan of the CSS rule usage
    tracker and I'm looking forward to its introduction in Chrome stable.
    
    I also thought it would be a great idea to run it periodically as part of the
    e2e tests at work to collect the (un)used CSS rules instead of during manual
    testing.
    
    I then decided to implement a POC [1] to run the CSS tracker with Protractor.
    This of course required some changes in Chromedriver, Protractor and WebDriver
    JS Extender.
    In particular, I had to change the Chromedriver so that I could send the
    commands to start and stop the CSS rule usage tracking
    (CSS.startRuleUsageTracking/CSS.stopRuleUsageTracking) to the remote debugger.
    
    I thought of 3 possible implementations:
    1) as part of the performance logging [2];
    2) as a new endpoint of the Chromedriver to start/stop the CSS rule usage
    tracking;
    3) as a new endpoint of the Chromedriver to send any command directly to the
    debugger, hence opening up the road to a whole series of tools able to send
    commands directly to the debugger through the Chromedriver.
    
    Of these 3 options, I implemented option 2 and 3 in this change.
    
    If this change is acceptable, I'll proceed with the tests and fixing the linter issues.
    
    Thanks,
    
    EM.
    
    [1] https://github.com/ventuno/css-usage-recorder/tree/ftr-css-recording
    [2]
    https://sites.google.com/a/chromium.org/chromedriver/logging/performance-log
    
    BUG=
    
    Review-Url: https://codereview.chromium.org/2743013002
    Cr-Commit-Position: refs/heads/master@{#469275}
    711de0ef
devtools_events_logger.cc 1.49 KB