| // Copyright 2016 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| /** |
| * @fileoverview Defines the type of the CS_env Javascript object |
| * provided by the Codesite server. |
| * |
| * This is marked as an externs file so that any variable defined with a |
| * CS.env type will not have its properties renamed. |
| * @externs |
| */ |
| |
| /** Codesite namespace object. */ |
| var CS = {}; |
| |
| /** |
| * Javascript object holding basic information about the current page. |
| * This is defined as an interface so that we can use CS.env as a Closure |
| * type name, but it will never be implemented; rather, it will be |
| * made available on every page as the global object CS_env (see |
| * codesite/templates/demetrius/header.ezt). |
| * |
| * The type of the CS_env global object will actually be one of |
| * CS.env, CS.project_env, etc. depending on the page |
| * rendered by the server. |
| * |
| * @interface |
| */ |
| CS.env = function() {}; |
| |
| /** |
| * Like relativeBaseUrl, but a full URL preceded by http://code.google.com |
| * @type {string} |
| */ |
| CS.env.prototype.absoluteBaseUrl; |
| |
| /** |
| * Path to versioned static assets (mostly js and css). |
| * @type {string} |
| */ |
| CS.env.prototype.appVersion; |
| |
| /** |
| * Request token for the logged-in user, or null for the anonymous user. |
| * @type {?string} |
| */ |
| CS.env.prototype.token; |
| |
| /** |
| * Email address of the logged-in user, or null for anon. |
| * @type {?string} |
| */ |
| CS.env.prototype.loggedInUserEmail; |
| |
| /** |
| * Url to the logged-in user's profile, or null for anon. |
| * @type {?string} |
| */ |
| CS.env.prototype.profileUrl; |
| |
| /** |
| * CS.env specialization for browsing project pages. |
| * @interface |
| * @extends {CS.env} |
| */ |
| CS.project_env = function() {}; |
| |
| /** @type {string} */ |
| CS.project_env.prototype.projectName; |