1. 08 Nov, 2017 1 commit
    • Mikel Astiz's avatar
      Reland "Extend bookmark sync code with support for favicon deletion" · 55b3fe20
      Mikel Astiz authored
      This is a reland of d63652c8
      
      The new version reverts a change in tests (removal of
      urls_with_favicons_) which presumably introduces flakiness on Mac.
      My hypothesis is that using urls_with_favicons_ hides a race
      condition that predates my patch, because the failing test is
      unrelated to favicons, TwoClientBookmarksSyncTest.Sanity, and the
      failing logs surface title mismatches as well:
      [...:bookmarks_helper.cc(377)] Title mismatch: Yahoo vs. Google
      
      Original change's description:
      > Extend bookmark sync code with support for favicon deletion
      > 
      > Recent patches have introduced new favicon scenarios by handling cases
      > where a site's content changes to not contain favicons.
      > 
      > Updating sync code to handle these events is needed to prevent sync
      > from resurrecting the favicon, due to not knowing about the deletion
      > and hence sync-ing it back to the local cache.
      > 
      > One notable change is that the new logic will introduce the concept of
      > sync-ed bookmark protos having neither an icon URL (field |icon_url|)
      > nor favicon image data (field |favicon|). Ancient versions of chrome
      > (prior to M25) didn't sync these fields and would be incompatible
      > (although not really badly) but too old for us to care.
      > 
      > Manually tested sync-ing across two patched instances of Chrome desktop
      > (Linux):
      > - Propagate deletions of bookmark favicons (after page content changes).
      > - Restoring deleted bookmark favicons (after page content changes).
      > 
      > Bug: 85806
      > Change-Id: Ia3534c6094983658f59f973777b5ed649c8769e8
      > Reviewed-on: https://chromium-review.googlesource.com/704737
      > Commit-Queue: Mikel Astiz <mastiz@chromium.org>
      > Reviewed-by: Scott Violet <sky@chromium.org>
      > Reviewed-by: Nicolas Zea <zea@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#514424}
      
      Bug: 85806
      Change-Id: If4d05da9e13c1d9d5abb19fd8a7c1d463af609a4
      Reviewed-on: https://chromium-review.googlesource.com/757516Reviewed-by: 's avatarScott Violet <sky@chromium.org>
      Reviewed-by: 's avatarNicolas Zea <zea@chromium.org>
      Commit-Queue: Mikel Astiz <mastiz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#514934}
      55b3fe20
  2. 07 Nov, 2017 2 commits
    • Scott Violet's avatar
      Revert "Extend bookmark sync code with support for favicon deletion" · 157d5de4
      Scott Violet authored
      This reverts commit d63652c8.
      
      Reason for revert: Reverting in hopes of making sync_integration_tests on mac green. See https://bugs.chromium.org/p/chromium/issues/detail?id=782315 for details.
      
      Original change's description:
      > Extend bookmark sync code with support for favicon deletion
      > 
      > Recent patches have introduced new favicon scenarios by handling cases
      > where a site's content changes to not contain favicons.
      > 
      > Updating sync code to handle these events is needed to prevent sync
      > from resurrecting the favicon, due to not knowing about the deletion
      > and hence sync-ing it back to the local cache.
      > 
      > One notable change is that the new logic will introduce the concept of
      > sync-ed bookmark protos having neither an icon URL (field |icon_url|)
      > nor favicon image data (field |favicon|). Ancient versions of chrome
      > (prior to M25) didn't sync these fields and would be incompatible
      > (although not really badly) but too old for us to care.
      > 
      > Manually tested sync-ing across two patched instances of Chrome desktop
      > (Linux):
      > - Propagate deletions of bookmark favicons (after page content changes).
      > - Restoring deleted bookmark favicons (after page content changes).
      > 
      > Bug: 85806
      > Change-Id: Ia3534c6094983658f59f973777b5ed649c8769e8
      > Reviewed-on: https://chromium-review.googlesource.com/704737
      > Commit-Queue: Mikel Astiz <mastiz@chromium.org>
      > Reviewed-by: Scott Violet <sky@chromium.org>
      > Reviewed-by: Nicolas Zea <zea@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#514424}
      
      TBR=sky@chromium.org,zea@chromium.org,mastiz@chromium.org
      
      Change-Id: Ideb04376e15a548dc43b8dee6390a6c5f82c66db
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: 85806
      Reviewed-on: https://chromium-review.googlesource.com/757021Reviewed-by: 's avatarScott Violet <sky@chromium.org>
      Commit-Queue: Scott Violet <sky@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#514519}
      157d5de4
    • Mikel Astiz's avatar
      Extend bookmark sync code with support for favicon deletion · d63652c8
      Mikel Astiz authored
      Recent patches have introduced new favicon scenarios by handling cases
      where a site's content changes to not contain favicons.
      
      Updating sync code to handle these events is needed to prevent sync
      from resurrecting the favicon, due to not knowing about the deletion
      and hence sync-ing it back to the local cache.
      
      One notable change is that the new logic will introduce the concept of
      sync-ed bookmark protos having neither an icon URL (field |icon_url|)
      nor favicon image data (field |favicon|). Ancient versions of chrome
      (prior to M25) didn't sync these fields and would be incompatible
      (although not really badly) but too old for us to care.
      
      Manually tested sync-ing across two patched instances of Chrome desktop
      (Linux):
      - Propagate deletions of bookmark favicons (after page content changes).
      - Restoring deleted bookmark favicons (after page content changes).
      
      Bug: 85806
      Change-Id: Ia3534c6094983658f59f973777b5ed649c8769e8
      Reviewed-on: https://chromium-review.googlesource.com/704737
      Commit-Queue: Mikel Astiz <mastiz@chromium.org>
      Reviewed-by: 's avatarScott Violet <sky@chromium.org>
      Reviewed-by: 's avatarNicolas Zea <zea@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#514424}
      d63652c8
  3. 06 Nov, 2017 1 commit
    • Mikel Astiz's avatar
      Adopt enum class for favicon_base::IconType · a5ea255f
      Mikel Astiz authored
      Semi-automated patch composed almost entirely of renames, with the goal
      to provide stronger type safety via enum class and most notably prevent
      the enum from being used as bitmask (IconTypeSet should be used for
      this).
      
      The only non-trivial changes are in thumbnail_database.* where the enum
      needs to be casted to/from int. We introduce helper functions and the
      corresponding unit tests in preparation for future patches that will
      modify the enum values.
      
      Bug: 778551
      Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet
      Change-Id: Ide9a110a4d33ac5e94c6d113219631f24ef1ee1a
      Reviewed-on: https://chromium-review.googlesource.com/753361Reviewed-by: 's avatarDaniel Cheng <dcheng@chromium.org>
      Reviewed-by: 's avatarBrett Wilson <brettw@chromium.org>
      Commit-Queue: Mikel Astiz <mastiz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#514270}
      a5ea255f
  4. 02 Oct, 2017 1 commit
    • Brett Wilson's avatar
      Add base::stack, convert std::stack uses use it. · 1f07f20e
      Brett Wilson authored
      std::stack is a wrapper that defaults to std::deque. As part of our
      std::deque removal, an implementation of stack that uses base::circular_deque
      is provided.
      
      Rewrites trace_event_argument.cc usage of stack to use indices and a
      circular_deque since it was relying on storage stability across updates.
      
      Changes the PPAPI/V8 variable conversion code to avoid unstable usage
      of a stack. Fixes a use-after-free in V8VarConverter::ToV8Value where
      the reference to the top of the stack was dereferenced after popping it
      off.
      
      BUG=757232
      
      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.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
      Change-Id: I4f3ff9b4c4403dafd809f7a6a77902a9cb59e5a0
      Reviewed-on: https://chromium-review.googlesource.com/682761
      Commit-Queue: Brett Wilson <brettw@chromium.org>
      Reviewed-by: 's avatarDaniel Cheng <dcheng@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#505705}
      1f07f20e
  5. 01 Sep, 2017 1 commit
    • Brett Wilson's avatar
      Make base::Hash take a void*. · 2cea5ca6
      Brett Wilson authored
      Previously it took a const char* which caused many annoying reinterpret_cast
      calls. The reinterpret_casts in calls to this function have been removed.
      
      Renamed base::SuperFastHash to base::PersistentHash to make its use more clear
      and added comments about the split between it and base::Hash.
      
      Converts some calls to use the std::string variant rather than manually get the
      data and length out. De-inlines the string variants since it doesn't seem
      like this needs to be inline. Added a 16-bit variant.
      
      Minor tweak to Backtrace object for C++11.
      
      Change-Id: Ia883e9324ca129fbee2b22ec8ab43d05040bb4fe
      Reviewed-on: https://chromium-review.googlesource.com/646758Reviewed-by: 's avatarMatt Giuca <mgiuca@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#499276}
      2cea5ca6
  6. 27 Aug, 2017 1 commit
  7. 24 Aug, 2017 1 commit
    • Sky Malice's avatar
      [Sync] Replace base::MakeUnique with std::make_unique · 08a04b7a
      Sky Malice authored
      Used sed to replace base::MakeUnique, and remove ptr_util.h includes.
      Then grepped for base::WrapUnique and manually re-added necessary
      ptr_util.h includes.
      
      > <sync_files> | xargs sed -i 's/base::MakeUnique/std::make_unique/g'
      > <sync_files> | xargs grep WrapUnique | cut -d":" -f1 | uniq
      > <sync_files> | xargs sed -i 'd/#include "base\/memory\/ptr_util.h"'
      
      Bug: 755727
      Change-Id: I04da2f6b61954ec07ad7d8ac8bbf29808a450640
      Reviewed-on: https://chromium-review.googlesource.com/634165Reviewed-by: 's avatarPavel Yatsuk <pavely@chromium.org>
      Commit-Queue: Sky Malice <skym@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#497198}
      08a04b7a
  8. 10 Aug, 2017 1 commit
  9. 27 Jul, 2017 1 commit
  10. 01 Jun, 2017 1 commit
  11. 05 May, 2017 1 commit
    • thestig's avatar
      Replace gmock's deprecated SetArgumentPointee with SetArgPointee. · e147d68d
      thestig authored
      BUG=630705
      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:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
      TBR=blundell@chromium.org,jrummell@chromium.org,kelvinp@chromium.org,piman@chromium.org
      
      Review-Url: https://codereview.chromium.org/1302233003
      Cr-Commit-Position: refs/heads/master@{#469611}
      e147d68d
  12. 17 Apr, 2017 1 commit
  13. 11 Mar, 2017 1 commit
    • pnoland's avatar
      [sync] use std::multimap for BookmarkNodeMap · e4a5c1d8
      pnoland authored
      When associating bookmarks, sync nodes are matched to BookmarkNodes.
      To match a BookmarkNode with a sync node, a BookmarkNodeFinder is
      created and asked to find the child node with the matching title. When searching
      for the title, BookmarkNodeFinder returns the first matching child in
      its child_nodes_ map. This map is an unordered_map with undefined
      iteration order. If sync node siblings share a title, the
      BookmarkNodeFinder can erroneously swap their respective
      BookmarkNodes.
      To fix this, this CL makes the iteration order defined with
      std::multimap, which stores pairs in insertion order.
      This is safe since sync nodes are processed in the same
      order as BookmarkNodes are stored.
      
      R=skym@chromium.org
      BUG=
      
      Review-Url: https://codereview.chromium.org/2743713005
      Cr-Commit-Position: refs/heads/master@{#456234}
      e4a5c1d8
  14. 16 Feb, 2017 1 commit
  15. 08 Feb, 2017 1 commit
  16. 31 Jan, 2017 1 commit
    • skym's avatar
      [Sync] Fix sync lint errors/includes, update presubmit. · 95716a60
      skym authored
      It seems like lint errors have been sneaking into the sync code base
      surprisingly quickly. I think it has been in part because the presubmit
      that runs be default excludes a bunch of filters. I've added a junk
      filter to their lint call, which should cause things like build/include
      to always be run.
      
      Also fixed all trivial lint errors and includes in sync owned code
      through running the following commands
      
      > find components/sync/ components/sync_bookmarks/ \
      components/sync_sessions/ components/browser_sync/ \
      chrome/browser/sync/ chrome/browser/ui/sync ios/chrome/browser/sync \
      ios/chrome/browser/ui/webui/sync_internals | grep 'cc$\|h$' | xargs \
      ../../depot_tools/cpplint.py
      
      > tools/remove_duplicate_includes.py components/sync/ \
      components/sync_bookmarks/ components/sync_sessions/ \
      components/browser_sync/ chrome/browser/sync/ chrome/browser/ui/sync \
      ios/chrome/browser/sync ios/chrome/browser/ui/webui/sync_internals
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2662453008
      Cr-Commit-Position: refs/heads/master@{#447359}
      95716a60
  17. 20 Jan, 2017 2 commits
    • skym's avatar
      [Sync] Add skym to sync OWNERS. · aedecb00
      skym authored
      A few other changes that were made while in here:
      1. Updated all OWNERS files to reference components/sync/OWNERS so
      updates in the future can happen in exactly one place.
      2. Removed per-file for sync_android.gypi. This file doesn't exist
      anymore after moving to gn.
      3. Removed removed per-file for sync_policy_handler*. This rule was
      previously broken due to componentization file moves. It doesn't look
      like these (smallish) files haven't seen significant changes since
      2013, and I don't think having special ownership rules for them is
      adding significant value. So in favor of simplicity I've removed them.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2644643005
      Cr-Commit-Position: refs/heads/master@{#445099}
      aedecb00
    • maxbogue's avatar
      [Sync] Remove stack upload for an ignorable bookmarks error. · adf0f84d
      maxbogue authored
      There's no reason we should be uploading a stack trace here. We don't
      even report the error to sync, we just ignore it.
      
      BUG=639050
      
      Review-Url: https://codereview.chromium.org/2646013003
      Cr-Commit-Position: refs/heads/master@{#445096}
      adf0f84d
  18. 24 Nov, 2016 1 commit
  19. 17 Nov, 2016 1 commit
  20. 28 Oct, 2016 1 commit
  21. 27 Oct, 2016 1 commit
  22. 17 Oct, 2016 2 commits
    • maxbogue's avatar
      [Sync] Fix test support targets + duplicate namespaces. · 91ee6068
      maxbogue authored
      Now there are four primary test support targets: base, engine, model,
      and driver. Hypothetically a model type would only need to depend on
      test_support_model, and an embedder would only need to depend on
      test_support_driver. This is currently not necessarily the case since
      some model-y things still live in driver, but we can dream.
      
      test_support_base is exposed via the public_deps of all three others so
      it should essentially never need to be depended on directly.
      
      The main sync target is now not exposed via the public_deps of
      the test support targets. Almost everywhere seemed to be explicitly adding
      it anyways, so I just made it required.
      
      All test_support_sync_* targets have been renamed test_support_*, as
      with the switch to GN the "sync" no longer adds anything.
      
      This CL also fixes some files that had two "namespace syncer" blocks
      left over from the namespace changes.
      
      BUG=631271
      TBR=thestig,caitkp,lazyboy
      
      Review-Url: https://codereview.chromium.org/2419793005
      Cr-Commit-Position: refs/heads/master@{#425762}
      91ee6068
    • skym's avatar
      [Sync] Rewriting ".reset(new" pattern to use "= base::MakeUnique" instead. · dc10e451
      skym authored
      BUG=656689
      
      Review-Url: https://codereview.chromium.org/2422253002
      Cr-Commit-Position: refs/heads/master@{#425761}
      dc10e451
  23. 14 Oct, 2016 1 commit
    • maxbogue's avatar
      [Sync] Move the last things out of core/. · f690e24c
      maxbogue authored
      - InternalComponentsFactory is renamed EngineComponentsFactory, which
        is slightly more descriptive.
      - syncapi_internal is renamed engine_util, which is slightly more
        descriptive and accurate.
      - A bunch of FOR_EACH_OBSERVER uses were removed due to a new presubmit
        against using the macro.
      - I have no idea why the header for sync_db_util was in base/.
      
      engine/
        activation_context
        configure_reason
        connection_status
        data_type_association_stats
        data_type_debug_info_listener
        fake_model_type_connector
        fake_model_type_processor
        fake_sync_manager
        internal_components_factory -> engine_components_factory
        internal_components_factory_impl -> engine_components_factory_impl
        model_type_connector
        model_type_processor
        model_type_processor_proxy
        non_blocking_sync_common
        shutdown_reason
        sync_auth_provider
        sync_encryption_handler
        sync_manager
        sync_manager_factory
        sync_manager_factory_for_profile_sync_test
        syncapi_internal -> engine_util
        test_internal_components_factory -> test_engine_components_factory
      
      engine_impl/
        debug_info_event_listener
        js_mutation_event_observer
        js_sync_encryption_handler_observer
        js_sync_manager_observer
        model_type_connector_proxy
        sync_encryption_handler_impl
        sync_manager_for_profile_sync_test
        sync_manager_impl
        test_entry_factory
      
      engine_impl/events/
        protocol_event_buffer
      
      syncable/
        sync_db_util
      
      BUG=631271
      TBR=jochen
      
      Review-Url: https://codereview.chromium.org/2413313004
      Cr-Commit-Position: refs/heads/master@{#425491}
      f690e24c
  24. 12 Oct, 2016 1 commit
    • maxbogue's avatar
      [Sync] Move some directory-related things from core/ to syncable/. · d7efba4a
      maxbogue authored
      Everything is being moved out of core to better homes. Things moved:
      
      syncable/
        base_node
        base_transaction
        change_record
        change_reorder_buffer
        delete_journal
        read_node
        read_transaction
        test_user_share
        user_share
        write_node
        write_transaction
      
      My knowledge of the role each of these plays is not perfect, so let me
      know if something should not have been moved.
      
      BUG=631271
      
      Review-Url: https://codereview.chromium.org/2407163004
      Cr-Commit-Position: refs/heads/master@{#424743}
      d7efba4a
  25. 10 Oct, 2016 1 commit
  26. 03 Oct, 2016 2 commits
    • maxbogue's avatar
      [Sync] Move //components/sync to the syncer namespace, take 2. · 7e006db6
      maxbogue authored
      Things in components should live in namespaces that match their
      component. Unfortunately "sync" is a symbol defined in the std library,
      so in this case we are using "syncer".
      
      This CL does the following things inside //components/sync:
      
      - Replaces all uses of syncer_v2, sync_driver, sync_driver_v2, and
        browser_sync with syncer.
      - Adds syncer namespace to some classes that were missing a namespace.
      - Removes almost all "syncer::" prefixes since they became redundant.
      
      Everything outside the component is just fixing namespace prefixes and forward
       declarations. I also fixed *some* lints, especially in headers outside of the
       component.
      
      This script was the starting point for this CL: http://pastebin.com/PPhPTtRK
      
      This CL was previously reverted due to a strange leak resulting from a
      redefinition of Syncer in the ui_model_worker_unittest.cc file.
      
      BUG=646685
      TBR=brettw,skym,caitkp
      
      Review-Url: https://codereview.chromium.org/2388163002
      Cr-Commit-Position: refs/heads/master@{#422494}
      7e006db6
    • ksakamoto's avatar
      Revert of [Sync] Move //components/sync to the syncer namespace. (patchset #5... · ad8dd0f5
      ksakamoto authored
      Revert of [Sync] Move //components/sync to the syncer namespace. (patchset #5 id:40001 of https://codereview.chromium.org/2376123003 )
      
      Reason for revert:
      Speculative revert for components_unittests failures on debug builds, https://crbug.com/652136.
      
      Original issue's description:
      > [Sync] Move //components/sync to the syncer namespace.
      >
      > Things in components should live in namespaces that match their
      > component. Unfortunately "sync" is a symbol defined in the std library,
      > so in this case we are using "syncer".
      >
      > This CL does the following things inside //components/sync:
      >
      > - Replaces all uses of syncer_v2, sync_driver, sync_driver_v2, and browser_sync with syncer.
      > - Adds syncer namespace to some classes that were missing a namespace.
      > - Removes almost all "syncer::" prefixes since they became redundant.
      >
      > Everything outside the component is just fixing namespace prefixes and forward declarations.
      > I also fixed *some* lints, especially in headers outside of the component.
      >
      > This script was the starting point for this CL: http://pastebin.com/PPhPTtRK
      >
      > BUG=646685
      > TBR=caitkp
      >
      > Committed: https://crrev.com/a1a854356c262a2e501dc3f30ea93585f1c8635a
      > Cr-Commit-Position: refs/heads/master@{#422239}
      
      TBR=maxbogue@chromium.org
      BUG=646685, 652136
      
      Review-Url: https://codereview.chromium.org/2388673002
      Cr-Commit-Position: refs/heads/master@{#422365}
      ad8dd0f5
  27. 30 Sep, 2016 2 commits
  28. 14 Sep, 2016 1 commit
  29. 06 Sep, 2016 1 commit
    • maxbogue's avatar
      [Sync] Convert DTCs to be not RefCounted and NonThreadSafe. · fd43b4b9
      maxbogue authored
      This CL changes the sync DataTypeControllers to SupportWeakPtr instead
      of RefCountedDeleteOnMessageLoop, making them no longer thread safe.
      
      - DTCs are owned by the PSS map so they can no longer outlive PSS.
      - Remove the ui_thread parameter to DTC::ctors since it is no longer
        needed by RefCountedDeleteOnMessageLoop or thread checks.
      - Add the type parameter to DTC::ctor since so many subclasses stored
        it anyways; put it first because it's important.
      - All destructors become public.
      - All thread checks become DCHECK(CalledOnValidThread()); and many new
        ones have been added.
      - All callbacks are bound with weakptrs to make them safe.
      - Remove the unused TypedUrlDataTypeController::SetBackend.
      - Remove NonBlockingDataTypeController::BelongsToUIThread and
        ::RunOnUIThread as they are unnecessary.
      - Rename error_callback to dump_stack for clarity in the DTCs.
      
      This CL also includes http://crrev.com/2269103003:
      Splitting error handling code out of DataTypeControllers.
      
      - Move DataTypeErrorHandler* to //components/sync/api
      - Add DataTypeErrorHandlerImpl
      - Add DataTypeController::CreateErrorHandler
      - Factor some shared logic out of DTCs into DTEHI
      - Pass DataTypeErrorHandler as a unique_ptr instead of raw pointer
      
      These are going to be landed together because of a ref-cycle
      introduced by the error handling change that the WeakPtr change fixes.
      
      BUG=638771
      
      Review-Url: https://codereview.chromium.org/2289143003
      Cr-Commit-Position: refs/heads/master@{#416754}
      fd43b4b9
  30. 31 Aug, 2016 1 commit
    • ricea's avatar
      Re-write many calls to WrapUnique() with MakeUnique() · 85ec5795
      ricea authored
      A mostly-automated change to convert instances of WrapUnique(new Foo(...)) to
      MakeUnique<Foo>(...). See the thread at
      https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/iQgMedVA8-k
      for background.
      
      To avoid requiring too many manual fixups, the change skips some cases that are
      frequently problematic. In particular, in methods named Foo::Method() it will
      not try to change WrapUnique(new Foo()) to MakeUnique<Foo>(). This is because
      Foo::Method() may be accessing an internal constructor of Foo.
      
      Cases where MakeUnique<NestedClass>(...) is called within a method of
      OuterClass are common but hard to detect automatically, so have been fixed-up
      manually.
      
      The only types of manual fix ups applied are:
      1) Revert MakeUnique back to WrapUnique
      2) Change NULL to nullptr in argument list (MakeUnique cannot forward NULL
         correctly)
      3) Add base:: namespace qualifier where missing.
      
      WrapUnique(new Foo) has not been converted to MakeUnique<Foo>() as this might
      change behaviour if Foo does not have a user-defined constructor. For example,
      WrapUnique(new int) creates an unitialised integer, but MakeUnique<int>()
      creates an integer initialised to 0.
      
      git cl format has been been run over the CL. Spot-checking has uncovered no
      cases of mis-formatting.
      
        BUG=637812
      
      Review-Url: https://codereview.chromium.org/2257793002
      Cr-Commit-Position: refs/heads/master@{#415593}
      85ec5795
  31. 14 Aug, 2016 1 commit
  32. 28 Jul, 2016 1 commit
    • Max Bogue's avatar
      [Sync] Move //sync to //components/sync. · fef332d6
      Max Bogue authored
      There are a bunch of subfolder reorganizations going along with this:
      
      - engine/ -> engine_impl/
      - sessions/ -> sessions_impl/
      - util/ -> base/
      - internal_api/public/base/ -> base/
      - internal_api/public/sessions/ -> sessions/
      - internal_api/public/engine/ -> engine/
      - internal_api/public/events/ -> engine/events/
      - internal_api/public/util/ -> base/
      - internal_api/public/ -> core/
      - internal_api/ -> core_impl/
      
      This change was generated using the following script:
      http://pastebin.com/vVAkRCkh
      
      Because this patch is so large, some review was done in split CLs:
      
      Manual changes: http://crrev.com/2155763002
      Sync internal changes: http://crrev.com/2156693002
      Sync external changes: http://crrev.com/2148293004
      
      This is a minimal change to support file movement; it doesn't do
      anything like merging sync_unit_tests into component_unit_tests,
      which will be done in a followup.
      
      The gyp files are not sorted because they're all going to be removed
      very soon anyways.
      
      BUG=626114
      R=jam@chromium.org, zea@chromium.org
      TBR=jam
      
      Review URL: https://codereview.chromium.org/2130453004 .
      
      Cr-Commit-Position: refs/heads/master@{#408497}
      fef332d6
  33. 22 Jul, 2016 1 commit
  34. 10 Jun, 2016 1 commit
    • fdoray's avatar
      Remove MessageLoop::current()->RunUntilIdle() in components. · 87801424
      fdoray authored
      This CL replaces MessageLoop::current()->RunUntilIdle() with
      RunLoop().RunUntilIdle() in components.
      
      In files where this replacement is made, it adds this include:
        #include "base/run_loop.h"
      And removes this include if it is no longer required:
        #include "base/message_loop/message_loop.h"
      
      Why?
      - The fact that there's a MessageLoop on the thread is an
        unnecessary implementation detail. When browser threads
        are migrated to base/task_scheduler, tasks will no longer
        have access to a MessageLoop but they will be able to use
        RunLoop.
      - MessageLoop::RunUntilIdle() is deprecated.
      
      Steps to generate this patch:
      1. Run message_loop_cleanup_3.py (see code on the bug).
      2. Run tools/sort-headers.py on modified files.
      3. Run git cl format.
      
      BUG=616447
      R=caitkp@chromium.org
      
      Review-Url: https://codereview.chromium.org/2053913002
      Cr-Commit-Position: refs/heads/master@{#399099}
      87801424
  35. 12 May, 2016 1 commit