1. 04 Aug, 2017 37 commits
  2. 03 Aug, 2017 3 commits
    • Brett Wilson's avatar
      Add base::circular_deque container. · 322a5469
      Brett Wilson authored
      This container behaves like a std::deque (minus random access insert/erase) but uses
      an array as the underlying storage. Additional details are documented in the header.
      
      When DCHECK is enabled, the iterators do extra checks to ensure they are not being
      used after container mutations.
      
      A new helper class called base::internal::ArrayBuffer is added to be the low-level storage.
      This split was inspired by WTF::Deque although the functionality is quite different: The
      added one is mostly a holder for template move and destruct helpers, while the WTF one is
      to facilitate copy-on-write and buffer sharing (which is not supported by this one).
      
      The base::void_t is moved from base::internal namespace. This C++17 emulation need not
      be strictly internal to base and once I understood how to use it, it seems quite useful.
      
      Added base::internal::is_iterator to detect if an item is an iterator. This is required
      by one of the STL deque functions but the exact implementation is not specified by the
      standard. This implementation checks for the presence of iterator_category in the
      iterator traits.
      
      Contains minor fixes to move_only_int.h testing helper and the addition to a non-movable
      copy_only_int.h
      
      Related docs by dskiba:
      https://docs.google.com/document/d/1PEuPnSW54LaoWpUIEAHobqGt9nbD2DgQ_W5DdlJOkJU
      https://docs.google.com/document/d/1YL1FORFMWo0FK0lMg7WsImnjNQ3ZpY0nK0NHGjkeHT4
      
      Future plans:
       1. Replace some std::deque uses around the code base as a smoketest.
       2. Add a presubmit to prevent additions of std::deque and std::queue.
       3. Replace the remaining uses.
      
      Change-Id: Ic1a5c804da90514782a6eae4984d916da45c0d32
      Reviewed-on: https://chromium-review.googlesource.com/582498
      Commit-Queue: Brett Wilson <brettw@chromium.org>
      Reviewed-by: default avatarVladimir Levin <vmpstr@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#491883}
      322a5469
    • Devlin Cronin's avatar
      [Extensions Bindings] Call WillReleaseScriptContext for SW contexts · 7ba924c0
      Devlin Cronin authored
      Call ExtensionBindingsSystem::WillReleaseScriptContext() for extension
      service-worker contexts. This fixes
      ServiceWorkerTest.EventsToStoppedWorker with extension native bindings.
      
                --gtest_filter=ServiceWorkerTest.EventsToStoppedWorker
                --native-crx-bindings=1
      
      Bug: 653596
      Test: browser_tests \
      Change-Id: I97db2bce738f35cd8ca5909017c6c9f48f95b76e
      Reviewed-on: https://chromium-review.googlesource.com/596912Reviewed-by: default avatarIstiaque Ahmed <lazyboy@chromium.org>
      Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#491882}
      7ba924c0
    • Doug Turner's avatar
      NVDA test method _WaitForSpeech should ignore unrelated speech. · dad72326
      Doug Turner authored
      Current, we have a method _WaitForSpeech which blocks on NVDA to speak
      exactly the given set of text.
      
      What this CL does is modifies _WaitForSpeech such that it only tests
      for the ordered set of given text and ignores text that may have
      happened prior to the text we're looking for.
      
      Because of this change, I also renamed the method to _TestForSpeech
      
      
      Bug: 742592
      Change-Id: I37f2ff890a2f8860afac17b0011300d8fd34dd3f
      Reviewed-on: https://chromium-review.googlesource.com/599607
      Commit-Queue: Doug Turner <dougt@chromium.org>
      Reviewed-by: default avatarAlice Boxhall <aboxhall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#491881}
      dad72326