1. 10 Nov, 2017 1 commit
    • Victor Costan's avatar
      sqlite: Upgrade from 3.20.1 to 3.21.0. · 8a87f7e5
      Victor Costan authored
      Release notes for the new version:
      https://sqlite.org/releaselog/3_21_0.html
      
      Patch 0003 (Modify default VFS to support WebDatabase) was updated to
      reflect conflicts introduced by the following commits:
      * https://www.sqlite.org/src/info/3075cfa07489eaf1
      * https://www.sqlite.org/src/info/1a7e0b61c8a6bdd3
      
      The patch was updated to reflect the rename of pUnused to
      pPreallocatedUnused and an extra assert added. Both changes were in
      src/os_unix.c.
      
      Patch 0004 (Virtual table supporting recovery of corrupted databases)
      was updated to reflect the addition of new compile-time flags to
      main.mk.
      
      Patch 0005 (Custom shell.c helpers to load Chromium's ICU data) was
      updated to reflect conflicts introduced by
      https://www.sqlite.org/src/info/36acc0a97fdcc6f5 which replaced
      src/shell.c with src/shell.c.in, which is used to generate src/shell.c
      via Tcl. The change in the build process also introduced conflicts in
      main.mk.
      
      Patch 0009 (Fix _CRT_RAND_S conflict in sqliteInt.h) was removed
      completely. It is no longer necessary, because
      https://www.sqlite.org/src/info/3a2793aa65727cbb removed the use of
      _CRT_RAND_S in src/sqliteInt.h.
      
      Patches 0012 and 0013 were removed, because they were backports for
      upstream changes that fixed clusterfuzz issues. Upgrading removed the
      need for backports altogether.
      
      The new SQLite release allows ATTACH and DETACH to be used inside
      transactions, so sql/connection_unittest.cc was updated to reflect the
      new behavior. The test for attaching databases was broken into two
      tests, covering the behavior with and without a transaction. The former
      test (covering the behavior with a transaction) has separate
      implementations for iOS, where we use the system SQLite, which might be
      old, and every other platform, where we ship our own SQLite version.
      
      Bug: 780626, 701522
      Change-Id: I7a8378cb317966388ebe9903d9e61162d3b3d3c9
      Reviewed-on: https://chromium-review.googlesource.com/754522Reviewed-by: 's avatarChris Mumford <cmumford@chromium.org>
      Commit-Queue: Victor Costan <pwnall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#515403}
      8a87f7e5
  2. 20 Oct, 2017 1 commit
    • Francois Doray's avatar
      Remove base::ThreadRestrictions::AssertIOAllowed. · 66bdfd83
      Francois Doray authored
      This API was replaced with base::AssertBlockingAllowed().
      
      This CL is a search-and-replace:
      s/ThreadRestrictions::AssertIOAllowed()/AssertBlockingAllowed()/
      and some manual changes in thread_restrictions.h.
      
      TBR=jam@chromium.org
      
      Bug: 766678
      Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win10_chromium_x64_rel_ng;master.tryserver.chromium.win:win_optional_gpu_tests_rel
      Change-Id: I05700504c1556da5dee39c1206df5ddd676a2cee
      Reviewed-on: https://chromium-review.googlesource.com/728364
      Commit-Queue: François Doray <fdoray@chromium.org>
      Reviewed-by: 's avatarGabriel Charette <gab@chromium.org>
      Reviewed-by: 's avatarRobert Liao <robliao@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#510422}
      66bdfd83
  3. 18 Oct, 2017 1 commit
  4. 25 Sep, 2017 1 commit
  5. 15 Sep, 2017 1 commit
  6. 14 Sep, 2017 1 commit
  7. 13 Sep, 2017 1 commit
  8. 02 Sep, 2017 1 commit
  9. 16 Aug, 2017 1 commit
    • Dmitry Skiba's avatar
      Use base::flat_map for caching SQL statements. · a9ad8fe4
      Dmitry Skiba authored
      This is a workaround for mysterious crash where StatementID::str_ for
      added statements sometimes becomes NULL (see the bug for details).
      
      The current hypothesis is that we have a case of use-after-free, i.e. some
      code writes to a dead object which was reused for a tree node. If that's
      true, changing storage to flat_map should "fix" the crash by changing map
      allocation pattern.
      
      Actually, flat_map is a better choice for statements cache, since the number
      of cached statements is small (see //base/containers/README.md).
      
      Investigation of the real cause continues in crbug.com/736675, which describes
      very similar crash (member at offset 20 suddenly becomes NULL).
      
      Bug: 746494
      Change-Id: I8b62747a851f10140a501b3eb550b4eac2025a69
      Reviewed-on: https://chromium-review.googlesource.com/615749
      Commit-Queue: Dmitry Skiba <dskiba@chromium.org>
      Reviewed-by: 's avatarVictor Costan <pwnall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#494949}
      a9ad8fe4
  10. 28 Jul, 2017 1 commit
    • Andrew Grieve's avatar
      Audit of kConstants missing the const qualifier · d1978b0e
      Andrew Grieve authored
      Found via supersize query:
      size_info.symbols.WhereFullNameMatches(r'\bk[A-Z]').WhereInSection('d')
      
      This moves 122 symbols from .data -> .data.rel.ro (about 2kb)
      
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_site_isolation;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
      Change-Id: Ie477566b080a82774ed64f4aee67213113df3987
      Reviewed-on: https://chromium-review.googlesource.com/581908
      Commit-Queue: Andrew Grieve <agrieve@chromium.org>
      Reviewed-by: 's avatarBrett Wilson <brettw@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#490413}
      d1978b0e
  11. 24 Jul, 2017 1 commit
  12. 14 Jul, 2017 1 commit
  13. 28 Jun, 2017 1 commit
  14. 19 May, 2017 1 commit
  15. 26 Apr, 2017 1 commit
    • jam's avatar
      Fix integration tests in src/chrome and src/extensions so that we can turn on... · 3f2d393a
      jam authored
      Fix integration tests in src/chrome and src/extensions so that we can turn on IO thread checks without failures.
      
      These were never turned on because they were only in content_browsertests. We should turn them on everywhere to catch changes that make blocking I/O calls on the UI or (non-blocking) IO threads.
      
      In the follow up cl, I'll turn on IO checks on the main thread in integration tests in src/chrome.
      
      BUG=713847
      NOPRESUBMIT=true
      
      Review-Url: https://codereview.chromium.org/2835233002
      Cr-Commit-Position: refs/heads/master@{#467438}
      3f2d393a
  16. 23 Apr, 2017 1 commit
  17. 19 Apr, 2017 1 commit
    • shess's avatar
      [sql] Verify control of close-time WAL checkpoint. · f7fcc45c
      shess authored
      SQLite WAL mode by default checkpoints the WAL to the main database at
      close time.  Chromium closes databases at shutdown, which causes
      shutdown slowdowns due to buffered data being flushed.  WAL
      checkpointing would effectively increase the amount of buffered data
      being flushed.
      
      [WAL mode is currently not in use by Chromium.]
      
      BUG=675264
      
      Review-Url: https://codereview.chromium.org/2827673006
      Cr-Commit-Position: refs/heads/master@{#465772}
      f7fcc45c
  18. 12 Apr, 2017 2 commits
  19. 27 Mar, 2017 1 commit
  20. 24 Mar, 2017 1 commit
  21. 19 Mar, 2017 1 commit
    • shess's avatar
      [sql] Tests for updates to mmap state. · a7b07acd
      shess authored
      Histograms indicate a bit more EVENT_MMAP_STATUS_FAILURE_UPDATE and
      EVENT_MMAP_META_FAILURE_UPDATE than I was hoping for, and I realized
      that that code was untested.  Add some tests for that case.
      Unfortunately for the histograms, the untested code appears to work.
      
      BUG=652359
      
      Review-Url: https://codereview.chromium.org/2756843003
      Cr-Commit-Position: refs/heads/master@{#458007}
      a7b07acd
  22. 15 Mar, 2017 1 commit
  23. 03 Mar, 2017 1 commit
  24. 02 Mar, 2017 1 commit
    • shess's avatar
      [sql] RecoverDatabase() deletes SQLITE_NOTADB databases. · 00d65d49
      shess authored
      SQLITE_NOTADB happens when the SQLite header data is broken.  That data
      includes meta-information about the file's structure, so any corruption
      in the header would require manual intervention to recover - assuming
      that the entire file is not broken.  SQLITE_NOTADB files are not even
      partially readable through SQLite, so deletion unsticks the file going
      forward.
      
      BUG=597785
      
      Review-Url: https://codereview.chromium.org/2710823005
      Cr-Commit-Position: refs/heads/master@{#454374}
      00d65d49
  25. 10 Feb, 2017 1 commit
  26. 24 Jan, 2017 1 commit
  27. 08 Dec, 2016 1 commit
  28. 21 Nov, 2016 1 commit
  29. 07 Nov, 2016 2 commits
  30. 27 Oct, 2016 2 commits
  31. 25 Oct, 2016 2 commits
    • shess's avatar
      [sql] Test helpers to ease testing of simple queries. · 1f955b18
      shess authored
      ExecuteWithResult() returns the first column of the first row as a
      string, ExecuteWithResults() formats the results with column and row
      separators.  They make it easier to check results using EXPECT_EQ().
      
      BUG=none
      
      Review-Url: https://codereview.chromium.org/2441153002
      Cr-Commit-Position: refs/heads/master@{#427520}
      1f955b18
    • shess's avatar
      [sql] Initialize StatisticsRecorder in SQLTestSuite. · 1cf87f27
      shess authored
      Histograms created using the histogram macros are stored in per-site global storage, so any histogram recorded before StatisticsRecorder::Initialize() are unregistered until the process exits.  HistogramTester relies on StatisticsRecorder, so depending on whether HistogramTester is created before or after a particular histogram macro is used, it may or may not be able to find the corresponding histogram.
      
      Pull StatisticsRecorder::Initialize() into the test-suite initialization, which should run before any code under test.
      
      BUG=658070
      
      Review-Url: https://codereview.chromium.org/2435933004
      Cr-Commit-Position: refs/heads/master@{#427508}
      1cf87f27
  32. 20 Oct, 2016 1 commit
    • shess's avatar
      [sql] Verify regexp not cached with prepared statement. · 001ae16f
      shess authored
      When the bug was logged, SQLite had a flaw where the regular
      expression (Y in X REGEXP Y or REGEXP(Y,X)) effectively had the
      compiled results cached with the prepared statement.  At some point
      Chromium pulled a version of SQLite which fixed this, this test
      verifies that the SQLite currently in use has the fix.
      
      BUG=248608
      TBR=nyquist@chromium.org
      
      Review-Url: https://chromiumcodereview.appspot.com/2440653002
      Cr-Commit-Position: refs/heads/master@{#426398}
      001ae16f
  33. 19 Oct, 2016 1 commit
    • shess's avatar
      Modify sync unit test to use standard sql::test:: helper. · 4640cc23
      shess authored
      Sync tests for DirectoryBackingStore overwrote/truncated the underlying
      database file, which SQLite did not notice because of exclusive locking
      and the page cache.  So then the tests accessed a lot of data to defeat
      that.  This is brittle in the face of various changes to how
      sql::Connection sets up the underlying sqlite3 handle.
      
      Add sql::test::CorruptSizeInHeaderWithLock() to allow corrupting the
      database while SQLite connections are outstanding.  Remove
      set_exclusive_locking() for DirectoryBackingStore to allow
      CorruptSizeInHeaderWithLock() to run.
      
      Removing set_exclusive_locking() should not cause notable performance
      degradation.  SQLite keeps a cookie in the header page to track database
      changes, which allows it to re-used cache pages.  So there will be
      uncontended locking (because nobody else locks the file), and the header
      read should be from warm filesystem cache.
      
      BUG=533682
      
      Review-Url: https://chromiumcodereview.appspot.com/2424533002
      Cr-Commit-Position: refs/heads/master@{#426316}
      4640cc23
  34. 28 Sep, 2016 1 commit
  35. 01 Sep, 2016 1 commit
    • maruel's avatar
      Delete all test isolate file now that M54 was branched. · 95b6282d
      maruel authored
      The runtime dependencies data was successfully transitioned to GN.
      
      Keep non-testing isolate as some projects (v8, webrtc) still need some. They
      will be curated incrementally.
      
      Ran:
        $ git rm $(git ls-files -- "*.isolate" | grep -i test | grep -v testserver)
        $ git ls-files -- "*.isolate" | wc -l
        14
      
      TBR=dpranke@chromium.org
      BUG=
      CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel
      
      Review-Url: https://codereview.chromium.org/2257893002
      Cr-Commit-Position: refs/heads/master@{#415954}
      95b6282d
  36. 30 Aug, 2016 1 commit