Skip to content
This repository has been archived by the owner on Jul 31, 2020. It is now read-only.

Data Formats

Marshall T. Rose edited this page Sep 26, 2019 · 8 revisions

NB: Always verify that the information recorded below reflects the latest commit to the relevant file:

  • All Platforms:

    • Latest: api.proto SyncRecord, as of 2019-05-14
    • Known limitations: only Bookmark and Device are synchronized
  • Android:

    • 2018-10-18: bookmark_node.h as of
    • Known limitations: Bookmark.hideInToolbar and Bookmark.metaInfo are ignored
  • iOS:

  • Laptop:

Platform-independent representation

message MetaInfo {
  optional string key = 1;
  optional string value = 2;
}

message SyncRecord {
  enum Action {
    CREATE = 0;
    UPDATE = 1;
    DELETE = 2;
  }
  message Site {
    string location = 1;
    string title = 2;
    string customTitle = 3;
    uint64 lastAccessedTime = 4;
    uint64 creationTime = 5;
    string favicon = 6;
  }
  message Bookmark {
    Site site = 1;
    bool isFolder = 2;
    bytes parentFolderObjectId = 3;
    bytes previousObjectId = 4; // unused
    bytes nextObjectId = 5; // unused
    repeated string fields = 6;
    bool hideInToolbar = 7;
    string order = 8;
    repeated MetaInfo metaInfo= 9;
  }
  message SiteSetting {
    string hostPattern = 1;
    float zoomLevel = 2;
    bool shieldsUp = 3;
    enum AdControl {
      SHOW_BRAVE_ADS = 0;
      BLOCK_ADS = 1;
      ALLOW_ADS_AND_TRACKING = 2;
    }
    enum CookieControl {
      BLOCK_THIRD_PARTY_COOKIE = 0;
      ALLOW_ALL_COOKIES = 1;
      BLOCK_ALL_COOKIES = 2;
    }
    AdControl adControl = 4;
    CookieControl cookieControl = 5;
    bool safeBrowsing = 6;
    bool noScript = 7;
    bool httpsEverywhere = 8;
    bool fingerprintingProtection = 9;
    bool ledgerPayments = 10;
    bool ledgerPaymentsShown = 11;
    repeated string fields = 12;
  }
  message Device {
    string name = 1;
  }
  Action action = 1;
  bytes deviceId = 2;
  bytes objectId = 3;
  oneof objectData {
    Bookmark bookmark = 4;
    Site historySite = 5;
    SiteSetting siteSetting = 6;
    Device device = 7;
  }
}
Clone this wiki locally