New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 640919 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Making an experimental command stable can break API

Project Member Reported by skyos...@chromium.org, Aug 25 2016

Issue description

If a command is made stable, we no longer generate the params builder for it if it takes no arguments. This will break any code using the experimental version.

Before:

devtools_client_->GetRuntime()->GetExperimental()->RunIfWaitingForDebugger(
    runtime::RunIfWaitingForDebuggerParams::Builder().Build());

After:

devtools_client_->GetRuntime()->RunIfWaitingForDebugger();
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/beb3a83fc377236035521f5e63efc42127c8bfd4

commit beb3a83fc377236035521f5e63efc42127c8bfd4
Author: skyostil <skyostil@chromium.org>
Date: Thu Aug 25 10:51:32 2016

headless: Fix browser test build failure

The RunIfWaitingForDebugger command was made stable, breaking this test
which is specifically trying to check the behavior of an experimental
command. Switch to another experimental command.

(The API should have remained compatible even if the command was made
stable. This bug will be fixed separately.)

BUG= 640919 
NOTRY=true

Review-Url: https://codereview.chromium.org/2277193002
Cr-Commit-Position: refs/heads/master@{#414385}

[modify] https://crrev.com/beb3a83fc377236035521f5e63efc42127c8bfd4/headless/lib/headless_devtools_client_browsertest.cc

Owner: skyos...@chromium.org
Status: Started (was: Available)
Project Member

Comment 3 by bugdroid1@chromium.org, Aug 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6b9268d993ae9fb5bcb2ec21082ac5fe4ec82dc0

commit 6b9268d993ae9fb5bcb2ec21082ac5fe4ec82dc0
Author: skyostil <skyostil@chromium.org>
Date: Thu Aug 25 14:30:47 2016

headless: Ensure all commands have parameters and return types

When generating C++ bindings, ensure all commands have a method which
takes a full parameters object and returns a return value object. This
ensures the API for experimental commands is retained even if that
command is made stable.

BUG= 640919 

Review-Url: https://codereview.chromium.org/2278123002
Cr-Commit-Position: refs/heads/master@{#414431}

[modify] https://crrev.com/6b9268d993ae9fb5bcb2ec21082ac5fe4ec82dc0/headless/lib/browser/client_api_generator.py
[modify] https://crrev.com/6b9268d993ae9fb5bcb2ec21082ac5fe4ec82dc0/headless/lib/browser/client_api_generator_unittest.py
[modify] https://crrev.com/6b9268d993ae9fb5bcb2ec21082ac5fe4ec82dc0/headless/lib/browser/domain_cc.template
[modify] https://crrev.com/6b9268d993ae9fb5bcb2ec21082ac5fe4ec82dc0/headless/lib/browser/domain_h.template
[modify] https://crrev.com/6b9268d993ae9fb5bcb2ec21082ac5fe4ec82dc0/headless/lib/headless_devtools_client_browsertest.cc

Status: Fixed (was: Started)

Sign in to add a comment