blob: b1f2e2a768fee612ddbda39f01c85c015d1a6f2b [file] [log] [blame]
// Copyright 2018 The Cobalt Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
option optimize_for = LITE_RUNTIME;
option java_package = "dev.cobalt.storage";
option java_outer_classname = "StorageProto";
package cobalt.storage;
// A single cookie representation.
message Cookie {
// The name of the cookie.
string name = 1;
// The value of the cookie.
string value = 2;
// The domain of the url for which the cookie is store.
string domain = 3;
// The path of the url for which the cookie is stored.
string path = 4;
// The creation time for the cookie in microseconds since
// Windows epoch - 1/1/1601 UTC.
int64 creation_time_us = 5;
// The expiration time for the cookie in microseconds since
// Windows epoch - 1/1/1601 UTC.
int64 expiration_time_us = 6;
// The last access time in microseconds since
// Windows epoch - 1/1/1601 UTC.
int64 last_access_time_us = 7;
// Whether the cookie should be transmitted only over secure connection.
// Defaults to false.
bool secure = 8;
// Whether this is an HTTP-only cookie. Defaults to false.
bool http_only = 9;
}
// A single local storage entry.
message LocalStorageEntry {
// The key for the local storage entry.
string key = 1;
// The value of the local storage entry.
string value = 2;
}
// Multiple local storages identified by unique id.
message LocalStorage {
// A serialzied origin as defined in:
// https://html.spec.whatwg.org/multipage/origin.html#ascii-serialisation-of-an-origin.
// For example: "https://www.youtube.com"
string serialized_origin = 1;
// The local storage entries for individual local storage.
repeated LocalStorageEntry local_storage_entries = 2;
}
// The full storage.
message Storage {
// All the cookies.
repeated Cookie cookies = 1;
// All local storages.
repeated LocalStorage local_storages = 2;
}