toolkit/components/places/nsPlacesTables.h

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
     2  * vim: sw=2 ts=2 et lcs=trail\:.,tab\:>~ :
     3  * This Source Code Form is subject to the terms of the Mozilla Public
     4  * License, v. 2.0. If a copy of the MPL was not distributed with this
     5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     7 #ifndef __nsPlacesTables_h__
     8 #define __nsPlacesTables_h__
    11 #define CREATE_MOZ_PLACES NS_LITERAL_CSTRING( \
    12     "CREATE TABLE moz_places ( " \
    13     "  id INTEGER PRIMARY KEY" \
    14     ", url LONGVARCHAR" \
    15     ", title LONGVARCHAR" \
    16     ", rev_host LONGVARCHAR" \
    17     ", visit_count INTEGER DEFAULT 0" \
    18     ", hidden INTEGER DEFAULT 0 NOT NULL" \
    19     ", typed INTEGER DEFAULT 0 NOT NULL" \
    20     ", favicon_id INTEGER" \
    21     ", frecency INTEGER DEFAULT -1 NOT NULL" \
    22     ", last_visit_date INTEGER " \
    23     ", guid TEXT" \
    24   ")" \
    25 )
    26 #define MOZ_PLACES_COLUMNS \
    27   "id, url, title, rev_host, visit_count, hidden, typed, favicon_id, " \
    28   "frecency, last_visit_date"
    30 #define CREATE_MOZ_HISTORYVISITS NS_LITERAL_CSTRING( \
    31   "CREATE TABLE moz_historyvisits (" \
    32     "  id INTEGER PRIMARY KEY" \
    33     ", from_visit INTEGER" \
    34     ", place_id INTEGER" \
    35     ", visit_date INTEGER" \
    36     ", visit_type INTEGER" \
    37     ", session INTEGER" \
    38   ")" \
    39 )
    40 #define MOZ_HISTORYVISITS_COLUMNS \
    41   "id, from_visit, place_id, visit_date, visit_type, session"
    44 #define CREATE_MOZ_INPUTHISTORY NS_LITERAL_CSTRING( \
    45   "CREATE TABLE moz_inputhistory (" \
    46     "  place_id INTEGER NOT NULL" \
    47     ", input LONGVARCHAR NOT NULL" \
    48     ", use_count INTEGER" \
    49     ", PRIMARY KEY (place_id, input)" \
    50   ")" \
    51 )
    53 #define CREATE_MOZ_ANNOS NS_LITERAL_CSTRING( \
    54   "CREATE TABLE moz_annos (" \
    55     "  id INTEGER PRIMARY KEY" \
    56     ", place_id INTEGER NOT NULL" \
    57     ", anno_attribute_id INTEGER" \
    58     ", mime_type VARCHAR(32) DEFAULT NULL" \
    59     ", content LONGVARCHAR" \
    60     ", flags INTEGER DEFAULT 0" \
    61     ", expiration INTEGER DEFAULT 0" \
    62     ", type INTEGER DEFAULT 0" \
    63     ", dateAdded INTEGER DEFAULT 0" \
    64     ", lastModified INTEGER DEFAULT 0" \
    65   ")" \
    66 )
    68 #define CREATE_MOZ_ANNO_ATTRIBUTES NS_LITERAL_CSTRING( \
    69   "CREATE TABLE moz_anno_attributes (" \
    70     "  id INTEGER PRIMARY KEY" \
    71     ", name VARCHAR(32) UNIQUE NOT NULL" \
    72   ")" \
    73 )
    75 #define CREATE_MOZ_ITEMS_ANNOS NS_LITERAL_CSTRING( \
    76   "CREATE TABLE moz_items_annos (" \
    77     "  id INTEGER PRIMARY KEY" \
    78     ", item_id INTEGER NOT NULL" \
    79     ", anno_attribute_id INTEGER" \
    80     ", mime_type VARCHAR(32) DEFAULT NULL" \
    81     ", content LONGVARCHAR" \
    82     ", flags INTEGER DEFAULT 0" \
    83     ", expiration INTEGER DEFAULT 0" \
    84     ", type INTEGER DEFAULT 0" \
    85     ", dateAdded INTEGER DEFAULT 0" \
    86     ", lastModified INTEGER DEFAULT 0" \
    87   ")" \
    88 )
    90 #define CREATE_MOZ_FAVICONS NS_LITERAL_CSTRING( \
    91   "CREATE TABLE moz_favicons (" \
    92     "  id INTEGER PRIMARY KEY" \
    93     ", url LONGVARCHAR UNIQUE" \
    94     ", data BLOB" \
    95     ", mime_type VARCHAR(32)" \
    96     ", expiration LONG" \
    97     ", guid TEXT" \
    98   ")" \
    99 )
   101 #define CREATE_MOZ_BOOKMARKS NS_LITERAL_CSTRING( \
   102   "CREATE TABLE moz_bookmarks (" \
   103     "  id INTEGER PRIMARY KEY" \
   104     ", type INTEGER" \
   105     ", fk INTEGER DEFAULT NULL" /* place_id */ \
   106     ", parent INTEGER" \
   107     ", position INTEGER" \
   108     ", title LONGVARCHAR" \
   109     ", keyword_id INTEGER" \
   110     ", folder_type TEXT" \
   111     ", dateAdded INTEGER" \
   112     ", lastModified INTEGER" \
   113     ", guid TEXT" \
   114   ")" \
   115 )
   117 #define CREATE_MOZ_BOOKMARKS_ROOTS NS_LITERAL_CSTRING( \
   118   "CREATE TABLE moz_bookmarks_roots (" \
   119     "  root_name VARCHAR(16) UNIQUE" \
   120     ", folder_id INTEGER" \
   121   ")" \
   122 )
   124 #define CREATE_MOZ_KEYWORDS NS_LITERAL_CSTRING( \
   125   "CREATE TABLE moz_keywords (" \
   126     "  id INTEGER PRIMARY KEY AUTOINCREMENT" \
   127     ", keyword TEXT UNIQUE" \
   128   ")" \
   129 )
   131 #define CREATE_MOZ_HOSTS NS_LITERAL_CSTRING( \
   132   "CREATE TABLE moz_hosts (" \
   133     "  id INTEGER PRIMARY KEY" \
   134     ", host TEXT NOT NULL UNIQUE" \
   135     ", frecency INTEGER" \
   136     ", typed INTEGER NOT NULL DEFAULT 0" \
   137     ", prefix TEXT" \
   138   ")" \
   139 )
   141 // Note: this should be kept up-to-date with the definition in
   142 //       nsPlacesAutoComplete.js.
   143 #define CREATE_MOZ_OPENPAGES_TEMP NS_LITERAL_CSTRING( \
   144   "CREATE TEMP TABLE moz_openpages_temp (" \
   145     "  url TEXT PRIMARY KEY" \
   146     ", open_count INTEGER" \
   147   ")" \
   148 )
   150 #endif // __nsPlacesTables_h__

mercurial