New issue
Advanced search Search tips

Issue 650864 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Remove test only extension APIs chrome binary

Project Member Reported by lazyboy@chromium.org, Sep 27 2016

Issue description

chrome.test.* API schema [1] and its supporting code [2] are compiled into chrome binary, which are only used in tests. We should compile them in test targets only.

The reason this is a bit tricky is because we need to register the API's function in the browser/ process [3], and make the schemas available in the renderer/ processes [4]. Therefore, it should(?) be done during compile time.

I've started out with a simpler test only API: idltest.idl
This bug is here to track the effort.

[1] extensions/common/api/test.json
[2] extensions/browser/api/test/*
[3] https://cs.chromium.org/chromium/src/chrome/browser/extensions/chrome_extensions_browser_client.cc?rcl=1474989594&l=256
[4] See ExtensionsClient implementations, e.g. 
bool ChromeExtensionsClient::IsAPISchemaGenerated()
base::StringPiece ChromeExtensionsClient::GetAPISchema()

?: I'm not sure whether anything other than compile time would work here, because we need to make the test only API available in the renderer/ process right at the point where we spin up the renderer process.
 
Cc: karandeepb@chromium.org
lazyboy@ - I was talking to a nasko@ and dcheng@ about this, and we think we've got a solution that may work; see https://docs.google.com/document/d/1G5U5KhAjJRaD87NxWac7g6d4AZzxbiqZWQsOuJbLwl8/edit#.  karandeepb@ was looking for something else to tackle; do you mind if he takes this one on?

Sign in to add a comment