diff options
author | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-24 01:13:47 +0000 |
---|---|---|
committer | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-24 01:13:47 +0000 |
commit | 51766bfd768a22b11f2d5cb95e18d086596c5947 (patch) | |
tree | 1c91322e369ca29da5e5b20740d3977c620fba22 /components/invalidation | |
parent | e844799efba8481511305dc63a663c6cf9f7977b (diff) | |
download | chromium_src-51766bfd768a22b11f2d5cb95e18d086596c5947.zip chromium_src-51766bfd768a22b11f2d5cb95e18d086596c5947.tar.gz chromium_src-51766bfd768a22b11f2d5cb95e18d086596c5947.tar.bz2 |
Finish decoupling sync and invalidations
Moves the remaining invalidations code from
sync/internal_api/public/base/ to components/invalidation/.
TBR=atwilson
BUG=259559
Review URL: https://codereview.chromium.org/400073003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285102 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'components/invalidation')
49 files changed, 852 insertions, 59 deletions
diff --git a/components/invalidation/BUILD.gn b/components/invalidation/BUILD.gn index 0bf7988..fd6773a 100644 --- a/components/invalidation/BUILD.gn +++ b/components/invalidation/BUILD.gn @@ -4,6 +4,12 @@ static_library("invalidation") { sources = [ + "ack_handle.cc", + "ack_handle.h", + "ack_handler.cc", + "ack_handler.h", + "invalidation.cc", + "invalidation.h", "invalidation_handler.cc", "invalidation_handler.h", "invalidation_logger.cc", @@ -18,10 +24,14 @@ static_library("invalidation") { "invalidation_state_tracker.h", "invalidation_switches.cc", "invalidation_switches.h", + "invalidation_util.cc", + "invalidation_util.h", "invalidator.cc", "invalidator.h", "invalidator_registrar.cc", "invalidator_registrar.h", + "invalidator_state.cc", + "invalidator_state.h", "invalidator_storage.cc", "invalidator_storage.h", "mock_ack_handler.cc", @@ -96,6 +106,8 @@ static_library("test_support") { "fake_invalidator.h", "invalidation_service_test_template.cc", "invalidation_service_test_template.h", + "invalidation_test_util.cc", + "invalidation_test_util.h", "invalidator_test_template.cc", "invalidator_test_template.h", "object_id_invalidation_map_test_util.cc", diff --git a/components/invalidation/DEPS b/components/invalidation/DEPS index 48f688d..e56ab22 100644 --- a/components/invalidation/DEPS +++ b/components/invalidation/DEPS @@ -16,11 +16,9 @@ include_rules = [ "+net/http/http_status_code.h", "+net/url_request", - # sync_notifier depends on the xmpp part of libjingle. + # invalidation_notifier depends on the xmpp part of libjingle. "+talk/xmpp", - #TODO(rlarocque): Move these dependencies into this component. - # See crbug.com/259559. - "+sync/internal_api/public/base", - "+sync/internal_api/public/util", + #TODO(rlarocque): Remove this dependency. See crbug.com/394925. + "+sync/internal_api/public/util/weak_handle.h", ] diff --git a/components/invalidation/ack_handle.cc b/components/invalidation/ack_handle.cc new file mode 100644 index 0000000..ee0e8b6 --- /dev/null +++ b/components/invalidation/ack_handle.cc @@ -0,0 +1,67 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/invalidation/ack_handle.h" + +#include <cstddef> +#include "base/rand_util.h" +#include "base/strings/string_number_conversions.h" +#include "base/values.h" + +namespace syncer { + +namespace { +// Hopefully enough bytes for uniqueness. +const size_t kBytesInHandle = 16; +} // namespace + +AckHandle AckHandle::CreateUnique() { + // This isn't a valid UUID, so we don't attempt to format it like one. + uint8 random_bytes[kBytesInHandle]; + base::RandBytes(random_bytes, sizeof(random_bytes)); + return AckHandle(base::HexEncode(random_bytes, sizeof(random_bytes)), + base::Time::Now()); +} + +AckHandle AckHandle::InvalidAckHandle() { + return AckHandle(std::string(), base::Time()); +} + +bool AckHandle::Equals(const AckHandle& other) const { + return state_ == other.state_ && timestamp_ == other.timestamp_; +} + +scoped_ptr<base::DictionaryValue> AckHandle::ToValue() const { + scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue()); + value->SetString("state", state_); + value->SetString("timestamp", + base::Int64ToString(timestamp_.ToInternalValue())); + return value.Pass(); +} + +bool AckHandle::ResetFromValue(const base::DictionaryValue& value) { + if (!value.GetString("state", &state_)) + return false; + std::string timestamp_as_string; + if (!value.GetString("timestamp", ×tamp_as_string)) + return false; + int64 timestamp_value; + if (!base::StringToInt64(timestamp_as_string, ×tamp_value)) + return false; + timestamp_ = base::Time::FromInternalValue(timestamp_value); + return true; +} + +bool AckHandle::IsValid() const { + return !state_.empty(); +} + +AckHandle::AckHandle(const std::string& state, base::Time timestamp) + : state_(state), timestamp_(timestamp) { +} + +AckHandle::~AckHandle() { +} + +} // namespace syncer diff --git a/components/invalidation/ack_handle.h b/components/invalidation/ack_handle.h new file mode 100644 index 0000000..2435efa --- /dev/null +++ b/components/invalidation/ack_handle.h @@ -0,0 +1,47 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_INVALIDATION_ACK_HANDLE_H_ +#define COMPONENTS_INVALIDATION_ACK_HANDLE_H_ + +#include <string> + +#include "base/basictypes.h" +#include "base/memory/scoped_ptr.h" +#include "base/time/time.h" +#include "components/invalidation/invalidation_export.h" + +namespace base { +class DictionaryValue; +} + +namespace syncer { + +// Opaque class that represents a local ack handle. We don't reuse the +// invalidation ack handles to avoid unnecessary dependencies. +class INVALIDATION_EXPORT AckHandle { + public: + static AckHandle CreateUnique(); + static AckHandle InvalidAckHandle(); + + bool Equals(const AckHandle& other) const; + + scoped_ptr<base::DictionaryValue> ToValue() const; + bool ResetFromValue(const base::DictionaryValue& value); + + bool IsValid() const; + + ~AckHandle(); + + private: + // Explicitly copyable and assignable for STL containers. + AckHandle(const std::string& state, base::Time timestamp); + + std::string state_; + base::Time timestamp_; +}; + +} // namespace syncer + +#endif // COMPONENTS_INVALIDATION_ACK_HANDLE_H_ diff --git a/components/invalidation/ack_handler.cc b/components/invalidation/ack_handler.cc new file mode 100644 index 0000000..68dc028 --- /dev/null +++ b/components/invalidation/ack_handler.cc @@ -0,0 +1,17 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/invalidation/ack_handler.h" + +#include "components/invalidation/invalidation.h" + +namespace syncer { + +AckHandler::AckHandler() { +} + +AckHandler::~AckHandler() { +} + +} // namespace syncer diff --git a/components/invalidation/ack_handler.h b/components/invalidation/ack_handler.h new file mode 100644 index 0000000..0a2f642 --- /dev/null +++ b/components/invalidation/ack_handler.h @@ -0,0 +1,40 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_INVALIDATION_ACK_HANDLER_H_ +#define COMPONENTS_INVALIDATION_ACK_HANDLER_H_ + +#include <vector> + +#include "components/invalidation/invalidation_export.h" + +namespace invalidation { +class ObjectId; +} // namespace invalidation + +namespace syncer { + +class AckHandle; + +// An interface for classes that keep track of invalidation acknowledgements. +// +// We don't expect to support more than one "real" implementation of AckHandler, +// but this interface is very useful for testing and implementation hiding. +class INVALIDATION_EXPORT AckHandler { + public: + AckHandler(); + virtual ~AckHandler() = 0; + + // Record the local acknowledgement of an invalidation identified by |handle|. + virtual void Acknowledge(const invalidation::ObjectId& id, + const AckHandle& handle) = 0; + + // Record the drop of an invalidation identified by |handle|. + virtual void Drop(const invalidation::ObjectId& id, + const AckHandle& handle) = 0; +}; + +} // namespace syncer + +#endif // COMPONENTS_INVALIDATION_ACK_HANDLER_H_ diff --git a/components/invalidation/fake_invalidator.h b/components/invalidation/fake_invalidator.h index e149dbf..38e8c56 100644 --- a/components/invalidation/fake_invalidator.h +++ b/components/invalidation/fake_invalidator.h @@ -9,9 +9,9 @@ #include "base/callback_forward.h" #include "base/compiler_specific.h" +#include "components/invalidation/invalidation_util.h" #include "components/invalidation/invalidator.h" #include "components/invalidation/invalidator_registrar.h" -#include "sync/internal_api/public/base/invalidation_util.h" namespace syncer { diff --git a/components/invalidation/invalidation.cc b/components/invalidation/invalidation.cc new file mode 100644 index 0000000..0962c9e --- /dev/null +++ b/components/invalidation/invalidation.cc @@ -0,0 +1,170 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/invalidation/invalidation.h" + +#include <cstddef> + +#include "base/json/json_string_value_serializer.h" +#include "base/rand_util.h" +#include "base/strings/string_number_conversions.h" +#include "base/values.h" +#include "components/invalidation/ack_handler.h" +#include "components/invalidation/invalidation_util.h" + +namespace syncer { + +namespace { +const char kObjectIdKey[] = "objectId"; +const char kIsUnknownVersionKey[] = "isUnknownVersion"; +const char kVersionKey[] = "version"; +const char kPayloadKey[] = "payload"; +const int64 kInvalidVersion = -1; +} + +Invalidation Invalidation::Init(const invalidation::ObjectId& id, + int64 version, + const std::string& payload) { + return Invalidation(id, false, version, payload, AckHandle::CreateUnique()); +} + +Invalidation Invalidation::InitUnknownVersion( + const invalidation::ObjectId& id) { + return Invalidation( + id, true, kInvalidVersion, std::string(), AckHandle::CreateUnique()); +} + +Invalidation Invalidation::InitFromDroppedInvalidation( + const Invalidation& dropped) { + return Invalidation( + dropped.id_, true, kInvalidVersion, std::string(), dropped.ack_handle_); +} + +scoped_ptr<Invalidation> Invalidation::InitFromValue( + const base::DictionaryValue& value) { + invalidation::ObjectId id; + + const base::DictionaryValue* object_id_dict; + if (!value.GetDictionary(kObjectIdKey, &object_id_dict) || + !ObjectIdFromValue(*object_id_dict, &id)) { + DLOG(WARNING) << "Failed to parse id"; + return scoped_ptr<Invalidation>(); + } + bool is_unknown_version; + if (!value.GetBoolean(kIsUnknownVersionKey, &is_unknown_version)) { + DLOG(WARNING) << "Failed to parse is_unknown_version flag"; + return scoped_ptr<Invalidation>(); + } + if (is_unknown_version) { + return scoped_ptr<Invalidation>(new Invalidation( + id, + true, + kInvalidVersion, + std::string(), + AckHandle::CreateUnique())); + } + int64 version = 0; + std::string version_as_string; + if (!value.GetString(kVersionKey, &version_as_string) + || !base::StringToInt64(version_as_string, &version)) { + DLOG(WARNING) << "Failed to parse version"; + return scoped_ptr<Invalidation>(); + } + std::string payload; + if (!value.GetString(kPayloadKey, &payload)) { + DLOG(WARNING) << "Failed to parse payload"; + return scoped_ptr<Invalidation>(); + } + return scoped_ptr<Invalidation>(new Invalidation( + id, + false, + version, + payload, + AckHandle::CreateUnique())); +} + +Invalidation::~Invalidation() { +} + +invalidation::ObjectId Invalidation::object_id() const { + return id_; +} + +bool Invalidation::is_unknown_version() const { + return is_unknown_version_; +} + +int64 Invalidation::version() const { + DCHECK(!is_unknown_version_); + return version_; +} + +const std::string& Invalidation::payload() const { + DCHECK(!is_unknown_version_); + return payload_; +} + +const AckHandle& Invalidation::ack_handle() const { + return ack_handle_; +} + +void Invalidation::set_ack_handler(syncer::WeakHandle<AckHandler> handler) { + ack_handler_ = handler; +} + +bool Invalidation::SupportsAcknowledgement() const { + return ack_handler_.IsInitialized(); +} + +void Invalidation::Acknowledge() const { + if (SupportsAcknowledgement()) { + ack_handler_.Call(FROM_HERE, &AckHandler::Acknowledge, id_, ack_handle_); + } +} + +void Invalidation::Drop() { + if (SupportsAcknowledgement()) { + ack_handler_.Call(FROM_HERE, &AckHandler::Drop, id_, ack_handle_); + } +} + +bool Invalidation::Equals(const Invalidation& other) const { + return id_ == other.id_ && is_unknown_version_ == other.is_unknown_version_ && + version_ == other.version_ && payload_ == other.payload_; +} + +scoped_ptr<base::DictionaryValue> Invalidation::ToValue() const { + scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue()); + value->Set(kObjectIdKey, ObjectIdToValue(id_).release()); + if (is_unknown_version_) { + value->SetBoolean(kIsUnknownVersionKey, true); + } else { + value->SetBoolean(kIsUnknownVersionKey, false); + value->SetString(kVersionKey, base::Int64ToString(version_)); + value->SetString(kPayloadKey, payload_); + } + return value.Pass(); +} + +std::string Invalidation::ToString() const { + std::string output; + JSONStringValueSerializer serializer(&output); + serializer.set_pretty_print(true); + serializer.Serialize(*ToValue().get()); + return output; +} + +Invalidation::Invalidation(const invalidation::ObjectId& id, + bool is_unknown_version, + int64 version, + const std::string& payload, + AckHandle ack_handle) + : id_(id), + is_unknown_version_(is_unknown_version), + version_(version), + payload_(payload), + ack_handle_(ack_handle) { +} + +} // namespace syncer diff --git a/components/invalidation/invalidation.h b/components/invalidation/invalidation.h new file mode 100644 index 0000000..4d6a5e3 --- /dev/null +++ b/components/invalidation/invalidation.h @@ -0,0 +1,121 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_INVALIDATION_INVALIDATION_H_ +#define COMPONENTS_INVALIDATION_INVALIDATION_H_ + +#include <string> + +#include "base/basictypes.h" +#include "base/memory/scoped_ptr.h" +#include "base/values.h" +#include "components/invalidation/ack_handle.h" +#include "components/invalidation/invalidation_export.h" +#include "google/cacheinvalidation/include/types.h" +#include "sync/internal_api/public/util/weak_handle.h" + +namespace syncer { + +class DroppedInvalidationTracker; +class AckHandler; + +// Represents a local invalidation, and is roughly analogous to +// invalidation::Invalidation. Unlike invalidation::Invalidation, this class +// supports "local" ack-tracking and simple serialization to pref values. +class INVALIDATION_EXPORT Invalidation { + public: + // Factory functions. + static Invalidation Init(const invalidation::ObjectId& id, + int64 version, + const std::string& payload); + static Invalidation InitUnknownVersion(const invalidation::ObjectId& id); + static Invalidation InitFromDroppedInvalidation(const Invalidation& dropped); + static scoped_ptr<Invalidation> InitFromValue( + const base::DictionaryValue& value); + + ~Invalidation(); + + // Compares two invalidations. The comparison ignores ack-tracking state. + bool Equals(const Invalidation& other) const; + + invalidation::ObjectId object_id() const; + bool is_unknown_version() const; + + // Safe to call only if is_unknown_version() returns false. + int64 version() const; + + // Safe to call only if is_unknown_version() returns false. + const std::string& payload() const; + + const AckHandle& ack_handle() const; + + // Sets the AckHandler to be used to track this Invalidation. + // + // This should be set by the class that generates the invalidation. Clients + // of the Invalidations API should not need to call this. + // + // Note that some sources of invalidations do not support ack tracking, and do + // not set the ack_handler. This will be hidden from users of this class. + void set_ack_handler(syncer::WeakHandle<AckHandler> ack_handler); + + // Returns whether or not this instance supports ack tracking. This will + // depend on whether or not the source of invaliadations supports + // invalidations. + // + // Clients can safely ignore this flag. They can assume that all + // invalidations support ack tracking. If they're wrong, then invalidations + // will be less reliable, but their behavior will be no less correct. + bool SupportsAcknowledgement() const; + + // Acknowledges the receipt of this invalidation. + // + // Clients should call this on a received invalidation when they have fully + // processed the invalidation and persisted the results to disk. Once this + // function is called, the invalidations system is under no obligation to + // re-deliver this invalidation in the event of a crash or restart. + void Acknowledge() const; + + // Informs the ack tracker that this invalidation will not be serviced. + // + // If a client's buffer reaches its limit and it is forced to start dropping + // invalidations, it should call this function before dropping its + // invalidations in order to allow the ack tracker to drop the invalidation, + // too. + // + // To indicate recovery from a drop event, the client should call + // Acknowledge() on the most recently dropped inavlidation. + void Drop(); + + scoped_ptr<base::DictionaryValue> ToValue() const; + std::string ToString() const; + + private: + Invalidation(const invalidation::ObjectId& id, + bool is_unknown_version, + int64 version, + const std::string& payload, + AckHandle ack_handle); + + // The ObjectId to which this invalidation belongs. + invalidation::ObjectId id_; + + // This flag is set to true if this is an unknown version invalidation. + bool is_unknown_version_; + + // The version number of this invalidation. Should not be accessed if this is + // an unkown version invalidation. + int64 version_; + + // The payaload associated with this invalidation. Should not be accessed if + // this is an unknown version invalidation. + std::string payload_; + + // A locally generated unique ID used to manage local acknowledgements. + AckHandle ack_handle_; + syncer::WeakHandle<AckHandler> ack_handler_; +}; + +} // namespace syncer + +#endif // COMPONENTS_INVALIDATION_INVALIDATION_H_ diff --git a/components/invalidation/invalidation_handler.h b/components/invalidation/invalidation_handler.h index 6180aa3..665406d 100644 --- a/components/invalidation/invalidation_handler.h +++ b/components/invalidation/invalidation_handler.h @@ -8,7 +8,7 @@ #include <string> #include "components/invalidation/invalidation_export.h" -#include "sync/internal_api/public/base/invalidator_state.h" +#include "components/invalidation/invalidator_state.h" namespace syncer { diff --git a/components/invalidation/invalidation_logger.h b/components/invalidation/invalidation_logger.h index 0fb6be7..39d754e 100644 --- a/components/invalidation/invalidation_logger.h +++ b/components/invalidation/invalidation_logger.h @@ -10,8 +10,8 @@ #include "base/memory/scoped_ptr.h" #include "base/observer_list.h" -#include "sync/internal_api/public/base/invalidation_util.h" -#include "sync/internal_api/public/base/invalidator_state.h" +#include "components/invalidation/invalidation_util.h" +#include "components/invalidation/invalidator_state.h" namespace base { class DictionaryValue; diff --git a/components/invalidation/invalidation_logger_observer.h b/components/invalidation/invalidation_logger_observer.h index c5daa2e..d754b93 100644 --- a/components/invalidation/invalidation_logger_observer.h +++ b/components/invalidation/invalidation_logger_observer.h @@ -6,9 +6,9 @@ #define COMPONENTS_INVALIDATION_INVALIDATION_LOGGER_OBSERVER_H_ #include "base/memory/scoped_ptr.h" +#include "components/invalidation/invalidation_util.h" +#include "components/invalidation/invalidator_state.h" #include "components/invalidation/object_id_invalidation_map.h" -#include "sync/internal_api/public/base/invalidation_util.h" -#include "sync/internal_api/public/base/invalidator_state.h" namespace base { class DictionaryValue; diff --git a/components/invalidation/invalidation_notifier.h b/components/invalidation/invalidation_notifier.h index c776fb5..154d1e6 100644 --- a/components/invalidation/invalidation_notifier.h +++ b/components/invalidation/invalidation_notifier.h @@ -23,7 +23,6 @@ #include "components/invalidation/invalidator.h" #include "components/invalidation/invalidator_registrar.h" #include "components/invalidation/sync_invalidation_listener.h" -#include "sync/internal_api/public/base/model_type.h" #include "sync/internal_api/public/util/weak_handle.h" namespace notifier { diff --git a/components/invalidation/invalidation_notifier_unittest.cc b/components/invalidation/invalidation_notifier_unittest.cc index 7240c84..5fd249f 100644 --- a/components/invalidation/invalidation_notifier_unittest.cc +++ b/components/invalidation/invalidation_notifier_unittest.cc @@ -15,7 +15,6 @@ #include "jingle/notifier/base/notifier_options.h" #include "jingle/notifier/listener/fake_push_client.h" #include "net/url_request/url_request_test_util.h" -#include "sync/internal_api/public/base/model_type.h" #include "sync/internal_api/public/util/weak_handle.h" #include "testing/gtest/include/gtest/gtest.h" diff --git a/components/invalidation/invalidation_service.h b/components/invalidation/invalidation_service.h index 92ecd3d..bf7a23d 100644 --- a/components/invalidation/invalidation_service.h +++ b/components/invalidation/invalidation_service.h @@ -6,8 +6,8 @@ #define COMPONENTS_INVALIDATION_INVALIDATION_SERVICE_H_ #include "base/callback_forward.h" -#include "sync/internal_api/public/base/invalidation_util.h" -#include "sync/internal_api/public/base/invalidator_state.h" +#include "components/invalidation/invalidation_util.h" +#include "components/invalidation/invalidator_state.h" class IdentityProvider; diff --git a/components/invalidation/invalidation_service_test_template.h b/components/invalidation/invalidation_service_test_template.h index 94ef33e..ae1d04f 100644 --- a/components/invalidation/invalidation_service_test_template.h +++ b/components/invalidation/invalidation_service_test_template.h @@ -73,14 +73,14 @@ #include "base/basictypes.h" #include "base/compiler_specific.h" +#include "components/invalidation/ack_handle.h" #include "components/invalidation/fake_invalidation_handler.h" +#include "components/invalidation/invalidation.h" #include "components/invalidation/invalidation_service.h" #include "components/invalidation/object_id_invalidation_map.h" #include "components/invalidation/object_id_invalidation_map_test_util.h" #include "google/cacheinvalidation/include/types.h" #include "google/cacheinvalidation/types.pb.h" -#include "sync/internal_api/public/base/ack_handle.h" -#include "sync/internal_api/public/base/invalidation.h" #include "testing/gtest/include/gtest/gtest.h" template <typename InvalidatorTestDelegate> diff --git a/components/invalidation/invalidation_state_tracker.h b/components/invalidation/invalidation_state_tracker.h index 0d8acf8..6e03dab 100644 --- a/components/invalidation/invalidation_state_tracker.h +++ b/components/invalidation/invalidation_state_tracker.h @@ -18,11 +18,11 @@ #include "base/basictypes.h" #include "base/callback_forward.h" #include "base/memory/ref_counted.h" +#include "components/invalidation/invalidation.h" #include "components/invalidation/invalidation_export.h" +#include "components/invalidation/invalidation_util.h" #include "components/invalidation/unacked_invalidation_set.h" #include "google/cacheinvalidation/include/types.h" -#include "sync/internal_api/public/base/invalidation.h" -#include "sync/internal_api/public/base/invalidation_util.h" namespace base { class TaskRunner; diff --git a/components/invalidation/invalidation_test_util.cc b/components/invalidation/invalidation_test_util.cc new file mode 100644 index 0000000..3368797 --- /dev/null +++ b/components/invalidation/invalidation_test_util.cc @@ -0,0 +1,120 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/invalidation/invalidation_test_util.h" + +#include "base/basictypes.h" +#include "base/json/json_writer.h" +#include "base/json/string_escape.h" +#include "base/values.h" +#include "components/invalidation/invalidation.h" + +namespace syncer { + +using ::testing::MakeMatcher; +using ::testing::MatchResultListener; +using ::testing::Matcher; +using ::testing::MatcherInterface; +using ::testing::PrintToString; + +namespace { + +class AckHandleEqMatcher : public MatcherInterface<const AckHandle&> { + public: + explicit AckHandleEqMatcher(const AckHandle& expected); + + virtual bool MatchAndExplain(const AckHandle& actual, + MatchResultListener* listener) const; + virtual void DescribeTo(::std::ostream* os) const; + virtual void DescribeNegationTo(::std::ostream* os) const; + + private: + const AckHandle expected_; + + DISALLOW_COPY_AND_ASSIGN(AckHandleEqMatcher); +}; + +AckHandleEqMatcher::AckHandleEqMatcher(const AckHandle& expected) + : expected_(expected) { +} + +bool AckHandleEqMatcher::MatchAndExplain(const AckHandle& actual, + MatchResultListener* listener) const { + return expected_.Equals(actual); +} + +void AckHandleEqMatcher::DescribeTo(::std::ostream* os) const { + *os << " is equal to " << PrintToString(expected_); +} + +void AckHandleEqMatcher::DescribeNegationTo(::std::ostream* os) const { + *os << " isn't equal to " << PrintToString(expected_); +} + +class InvalidationEqMatcher : public MatcherInterface<const Invalidation&> { + public: + explicit InvalidationEqMatcher(const Invalidation& expected); + + virtual bool MatchAndExplain(const Invalidation& actual, + MatchResultListener* listener) const; + virtual void DescribeTo(::std::ostream* os) const; + virtual void DescribeNegationTo(::std::ostream* os) const; + + private: + const Invalidation expected_; + + DISALLOW_COPY_AND_ASSIGN(InvalidationEqMatcher); +}; + +InvalidationEqMatcher::InvalidationEqMatcher(const Invalidation& expected) + : expected_(expected) { +} + +bool InvalidationEqMatcher::MatchAndExplain( + const Invalidation& actual, + MatchResultListener* listener) const { + if (!(expected_.object_id() == actual.object_id())) { + return false; + } + if (expected_.is_unknown_version() && actual.is_unknown_version()) { + return true; + } else if (expected_.is_unknown_version() != actual.is_unknown_version()) { + return false; + } else { + // Neither is unknown version. + return expected_.payload() == actual.payload() && + expected_.version() == actual.version(); + } +} + +void InvalidationEqMatcher::DescribeTo(::std::ostream* os) const { + *os << " is equal to " << PrintToString(expected_); +} + +void InvalidationEqMatcher::DescribeNegationTo(::std::ostream* os) const { + *os << " isn't equal to " << PrintToString(expected_); +} + +} // namespace + +void PrintTo(const AckHandle& ack_handle, ::std::ostream* os) { + scoped_ptr<base::Value> value(ack_handle.ToValue()); + std::string printable_ack_handle; + base::JSONWriter::Write(value.get(), &printable_ack_handle); + *os << "{ ack_handle: " << printable_ack_handle << " }"; +} + +Matcher<const AckHandle&> Eq(const AckHandle& expected) { + return MakeMatcher(new AckHandleEqMatcher(expected)); +} + +void PrintTo(const Invalidation& inv, ::std::ostream* os) { + *os << "{ payload: " << inv.ToString() << " }"; +} + +Matcher<const Invalidation&> Eq(const Invalidation& expected) { + return MakeMatcher(new InvalidationEqMatcher(expected)); +} + +} // namespace syncer diff --git a/components/invalidation/invalidation_test_util.h b/components/invalidation/invalidation_test_util.h new file mode 100644 index 0000000..c039494 --- /dev/null +++ b/components/invalidation/invalidation_test_util.h @@ -0,0 +1,26 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_INVALIDATION_INVALIDATION_TEST_UTIL_H_ +#define COMPONENTS_INVALIDATION_INVALIDATION_TEST_UTIL_H_ + +#include <iosfwd> + +#include "testing/gmock/include/gmock/gmock.h" + +namespace syncer { + +class AckHandle; +class Invalidation; + +void PrintTo(const AckHandle& ack_handle, ::std::ostream* os); +::testing::Matcher<const AckHandle&> Eq(const AckHandle& expected); + +void PrintTo(const Invalidation& invalidation, ::std::ostream* os); + +::testing::Matcher<const Invalidation&> Eq(const Invalidation& expected); + +} // namespace syncer + +#endif // COMPONENTS_INVALIDATION_INVALIDATION_TEST_UTIL_H_ diff --git a/components/invalidation/invalidation_util.cc b/components/invalidation/invalidation_util.cc new file mode 100644 index 0000000..50e3a5c --- /dev/null +++ b/components/invalidation/invalidation_util.cc @@ -0,0 +1,70 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/invalidation/invalidation_util.h" + +#include <ostream> +#include <sstream> + +#include "base/json/json_writer.h" +#include "base/memory/scoped_ptr.h" +#include "base/values.h" +#include "components/invalidation/invalidation.h" +#include "google/cacheinvalidation/include/types.h" +#include "google/cacheinvalidation/types.pb.h" + +namespace syncer { + +bool ObjectIdLessThan::operator()(const invalidation::ObjectId& lhs, + const invalidation::ObjectId& rhs) const { + return (lhs.source() < rhs.source()) || + (lhs.source() == rhs.source() && lhs.name() < rhs.name()); +} + +bool InvalidationVersionLessThan::operator()(const Invalidation& a, + const Invalidation& b) const { + DCHECK(a.object_id() == b.object_id()) + << "a: " << ObjectIdToString(a.object_id()) << ", " + << "b: " << ObjectIdToString(a.object_id()); + + if (a.is_unknown_version() && !b.is_unknown_version()) + return true; + + if (!a.is_unknown_version() && b.is_unknown_version()) + return false; + + if (a.is_unknown_version() && b.is_unknown_version()) + return false; + + return a.version() < b.version(); +} + +scoped_ptr<base::DictionaryValue> ObjectIdToValue( + const invalidation::ObjectId& object_id) { + scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue()); + value->SetInteger("source", object_id.source()); + value->SetString("name", object_id.name()); + return value.Pass(); +} + +bool ObjectIdFromValue(const base::DictionaryValue& value, + invalidation::ObjectId* out) { + *out = invalidation::ObjectId(); + std::string name; + int source = 0; + if (!value.GetInteger("source", &source) || !value.GetString("name", &name)) { + return false; + } + *out = invalidation::ObjectId(source, name); + return true; +} + +std::string ObjectIdToString(const invalidation::ObjectId& object_id) { + scoped_ptr<base::DictionaryValue> value(ObjectIdToValue(object_id)); + std::string str; + base::JSONWriter::Write(value.get(), &str); + return str; +} + +} // namespace syncer diff --git a/components/invalidation/invalidation_util.h b/components/invalidation/invalidation_util.h new file mode 100644 index 0000000..b5b21b6 --- /dev/null +++ b/components/invalidation/invalidation_util.h @@ -0,0 +1,57 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// +// Various utilities for dealing with invalidation data types. + +#ifndef COMPONENTS_INVALIDATION_INVALIDATION_UTIL_H_ +#define COMPONENTS_INVALIDATION_INVALIDATION_UTIL_H_ + +#include <map> +#include <set> +#include <string> + +#include "base/memory/scoped_ptr.h" +#include "components/invalidation/invalidation_export.h" + +namespace base { +class DictionaryValue; +} // namespace + +namespace invalidation { +class Invalidation; +class ObjectId; +} // namespace invalidation + +namespace syncer { + +class Invalidation; + +struct INVALIDATION_EXPORT ObjectIdLessThan { + bool operator()(const invalidation::ObjectId& lhs, + const invalidation::ObjectId& rhs) const; +}; + +struct INVALIDATION_EXPORT InvalidationVersionLessThan { + bool operator()(const syncer::Invalidation& a, + const syncer::Invalidation& b) const; +}; + +typedef std::set<invalidation::ObjectId, ObjectIdLessThan> ObjectIdSet; + +typedef std::map<invalidation::ObjectId, int, ObjectIdLessThan> + ObjectIdCountMap; + +// Caller owns the returned DictionaryValue. +scoped_ptr<base::DictionaryValue> ObjectIdToValue( + const invalidation::ObjectId& object_id); + +bool ObjectIdFromValue(const base::DictionaryValue& value, + invalidation::ObjectId* out); + +INVALIDATION_EXPORT std::string ObjectIdToString( + const invalidation::ObjectId& object_id); + +} // namespace syncer + +#endif // COMPONENTS_INVALIDATION_INVALIDATION_UTIL_H_ diff --git a/components/invalidation/invalidator.h b/components/invalidation/invalidator.h index fc4c355..35c81de0 100644 --- a/components/invalidation/invalidator.h +++ b/components/invalidation/invalidator.h @@ -13,9 +13,8 @@ #include "base/callback.h" #include "components/invalidation/invalidation_export.h" -#include "sync/internal_api/public/base/invalidation_util.h" -#include "sync/internal_api/public/base/invalidator_state.h" -#include "sync/internal_api/public/base/model_type.h" +#include "components/invalidation/invalidation_util.h" +#include "components/invalidation/invalidator_state.h" namespace syncer { class InvalidationHandler; diff --git a/components/invalidation/invalidator_registrar.h b/components/invalidation/invalidator_registrar.h index 561d29e..f2e41a2 100644 --- a/components/invalidation/invalidator_registrar.h +++ b/components/invalidation/invalidator_registrar.h @@ -12,7 +12,7 @@ #include "base/threading/thread_checker.h" #include "components/invalidation/invalidation_export.h" #include "components/invalidation/invalidation_handler.h" -#include "sync/internal_api/public/base/invalidation_util.h" +#include "components/invalidation/invalidation_util.h" namespace invalidation { class ObjectId; diff --git a/components/invalidation/invalidator_state.cc b/components/invalidation/invalidator_state.cc new file mode 100644 index 0000000..1ad3c45 --- /dev/null +++ b/components/invalidation/invalidator_state.cc @@ -0,0 +1,25 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/invalidation/invalidator_state.h" + +#include "base/logging.h" + +namespace syncer { + +const char* InvalidatorStateToString(InvalidatorState state) { + switch (state) { + case TRANSIENT_INVALIDATION_ERROR: + return "TRANSIENT_INVALIDATION_ERROR"; + case INVALIDATION_CREDENTIALS_REJECTED: + return "INVALIDATION_CREDENTIALS_REJECTED"; + case INVALIDATIONS_ENABLED: + return "INVALIDATIONS_ENABLED"; + default: + NOTREACHED(); + return "UNKNOWN_INVALIDATOR_STATE"; + } +} + +} // namespace syncer diff --git a/components/invalidation/invalidator_state.h b/components/invalidation/invalidator_state.h new file mode 100644 index 0000000..cee5bd8 --- /dev/null +++ b/components/invalidation/invalidator_state.h @@ -0,0 +1,31 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_INVALIDATION_INVALIDATOR_STATE_H_ +#define COMPONENTS_INVALIDATION_INVALIDATOR_STATE_H_ + +#include "components/invalidation/invalidation_export.h" + +namespace syncer { + +enum InvalidatorState { + // Failure states + // -------------- + // There is an underlying transient problem (e.g., network- or + // XMPP-related). + TRANSIENT_INVALIDATION_ERROR, + DEFAULT_INVALIDATION_ERROR = TRANSIENT_INVALIDATION_ERROR, + // Our credentials have been rejected. + INVALIDATION_CREDENTIALS_REJECTED, + + // Invalidations are fully working. + INVALIDATIONS_ENABLED +}; + +INVALIDATION_EXPORT const char* InvalidatorStateToString( + InvalidatorState state); + +} // namespace syncer + +#endif // COMPONENTS_INVALIDATION_INVALIDATOR_STATE_H_ diff --git a/components/invalidation/mock_ack_handler.cc b/components/invalidation/mock_ack_handler.cc index 359090c..aba96cb 100644 --- a/components/invalidation/mock_ack_handler.cc +++ b/components/invalidation/mock_ack_handler.cc @@ -4,8 +4,8 @@ #include "components/invalidation/mock_ack_handler.h" -#include "sync/internal_api/public/base/ack_handle.h" -#include "sync/internal_api/public/base/invalidation.h" +#include "components/invalidation/ack_handle.h" +#include "components/invalidation/invalidation.h" namespace syncer { diff --git a/components/invalidation/mock_ack_handler.h b/components/invalidation/mock_ack_handler.h index c22f810..cd394b7 100644 --- a/components/invalidation/mock_ack_handler.h +++ b/components/invalidation/mock_ack_handler.h @@ -10,9 +10,9 @@ #include "base/compiler_specific.h" #include "base/memory/weak_ptr.h" +#include "components/invalidation/ack_handler.h" #include "components/invalidation/invalidation_export.h" -#include "sync/internal_api/public/base/ack_handler.h" -#include "sync/internal_api/public/base/invalidation_util.h" +#include "components/invalidation/invalidation_util.h" #include "sync/internal_api/public/util/weak_handle.h" namespace syncer { diff --git a/components/invalidation/non_blocking_invalidator.h b/components/invalidation/non_blocking_invalidator.h index e2c31c7..ab19ce1 100644 --- a/components/invalidation/non_blocking_invalidator.h +++ b/components/invalidation/non_blocking_invalidator.h @@ -19,9 +19,9 @@ #include "components/invalidation/invalidation_state_tracker.h" #include "components/invalidation/invalidator.h" #include "components/invalidation/invalidator_registrar.h" +#include "components/invalidation/invalidator_state.h" #include "components/invalidation/unacked_invalidation_set.h" #include "jingle/notifier/base/notifier_options.h" -#include "sync/internal_api/public/base/invalidator_state.h" namespace base { class SingleThreadTaskRunner; diff --git a/components/invalidation/notifier_reason_util.h b/components/invalidation/notifier_reason_util.h index 530cbb8..16025ba 100644 --- a/components/invalidation/notifier_reason_util.h +++ b/components/invalidation/notifier_reason_util.h @@ -5,8 +5,8 @@ #ifndef COMPONENTS_INVALIDATION_NOTIFIER_REASON_UTIL_H_ #define COMPONENTS_INVALIDATION_NOTIFIER_REASON_UTIL_H_ +#include "components/invalidation/invalidator_state.h" #include "jingle/notifier/listener/push_client_observer.h" -#include "sync/internal_api/public/base/invalidator_state.h" namespace syncer { diff --git a/components/invalidation/object_id_invalidation_map.h b/components/invalidation/object_id_invalidation_map.h index c2eecb0..ac37d30 100644 --- a/components/invalidation/object_id_invalidation_map.h +++ b/components/invalidation/object_id_invalidation_map.h @@ -8,10 +8,10 @@ #include <map> #include <vector> +#include "components/invalidation/invalidation.h" #include "components/invalidation/invalidation_export.h" +#include "components/invalidation/invalidation_util.h" #include "components/invalidation/single_object_invalidation_set.h" -#include "sync/internal_api/public/base/invalidation.h" -#include "sync/internal_api/public/base/invalidation_util.h" namespace syncer { diff --git a/components/invalidation/object_id_invalidation_map_test_util.cc b/components/invalidation/object_id_invalidation_map_test_util.cc index 0711e1e..f52674f 100644 --- a/components/invalidation/object_id_invalidation_map_test_util.cc +++ b/components/invalidation/object_id_invalidation_map_test_util.cc @@ -39,8 +39,6 @@ ObjectIdInvalidationMapEqMatcher::ObjectIdInvalidationMapEqMatcher( const ObjectIdInvalidationMap& expected) : expected_(expected) { } -namespace { - struct InvalidationEqPredicate { InvalidationEqPredicate(const Invalidation& inv1) : inv1_(inv1) { } @@ -52,8 +50,6 @@ struct InvalidationEqPredicate { const Invalidation& inv1_; }; -} - bool ObjectIdInvalidationMapEqMatcher::MatchAndExplain( const ObjectIdInvalidationMap& actual, MatchResultListener* listener) const { diff --git a/components/invalidation/object_id_invalidation_map_test_util.h b/components/invalidation/object_id_invalidation_map_test_util.h index b1e1a93..9be67a8 100644 --- a/components/invalidation/object_id_invalidation_map_test_util.h +++ b/components/invalidation/object_id_invalidation_map_test_util.h @@ -6,8 +6,8 @@ #define COMPONENTS_INVALIDATION_OBJECT_ID_INVALIDATION_MAP_TEST_UTIL_H_ // Convince googletest to use the correct overload for PrintTo(). +#include "components/invalidation/invalidation_test_util.h" #include "components/invalidation/object_id_invalidation_map.h" -#include "sync/internal_api/public/base/invalidation_test_util.h" #include "testing/gmock/include/gmock/gmock.h" namespace syncer { diff --git a/components/invalidation/p2p_invalidator.cc b/components/invalidation/p2p_invalidator.cc index c3f0359..c583d44 100644 --- a/components/invalidation/p2p_invalidator.cc +++ b/components/invalidation/p2p_invalidator.cc @@ -12,10 +12,10 @@ #include "base/logging.h" #include "base/values.h" #include "components/invalidation/invalidation_handler.h" +#include "components/invalidation/invalidation_util.h" #include "components/invalidation/notifier_reason_util.h" #include "components/invalidation/object_id_invalidation_map.h" #include "jingle/notifier/listener/push_client.h" -#include "sync/internal_api/public/base/invalidation_util.h" namespace syncer { diff --git a/components/invalidation/p2p_invalidator.h b/components/invalidation/p2p_invalidator.h index 683b462..f82914e 100644 --- a/components/invalidation/p2p_invalidator.h +++ b/components/invalidation/p2p_invalidator.h @@ -19,12 +19,11 @@ #include "components/invalidation/invalidation_export.h" #include "components/invalidation/invalidator.h" #include "components/invalidation/invalidator_registrar.h" +#include "components/invalidation/invalidator_state.h" #include "components/invalidation/object_id_invalidation_map.h" #include "jingle/notifier/base/notifier_options.h" #include "jingle/notifier/listener/push_client.h" #include "jingle/notifier/listener/push_client_observer.h" -#include "sync/internal_api/public/base/invalidator_state.h" -#include "sync/internal_api/public/base/model_type.h" namespace notifier { class PushClient; diff --git a/components/invalidation/p2p_invalidator_unittest.cc b/components/invalidation/p2p_invalidator_unittest.cc index 0ad7afc..a56dace 100644 --- a/components/invalidation/p2p_invalidator_unittest.cc +++ b/components/invalidation/p2p_invalidator_unittest.cc @@ -7,10 +7,10 @@ #include <cstddef> #include "components/invalidation/fake_invalidation_handler.h" +#include "components/invalidation/invalidator_state.h" #include "components/invalidation/invalidator_test_template.h" #include "components/invalidation/notifier_reason_util.h" #include "jingle/notifier/listener/fake_push_client.h" -#include "sync/internal_api/public/base/invalidator_state.h" #include "testing/gtest/include/gtest/gtest.h" namespace syncer { diff --git a/components/invalidation/registration_manager.cc b/components/invalidation/registration_manager.cc index 4d153a7..f0a1f93 100644 --- a/components/invalidation/registration_manager.cc +++ b/components/invalidation/registration_manager.cc @@ -12,9 +12,9 @@ #include "base/rand_util.h" #include "base/stl_util.h" +#include "components/invalidation/invalidation_util.h" #include "google/cacheinvalidation/include/invalidation-client.h" #include "google/cacheinvalidation/include/types.h" -#include "sync/internal_api/public/base/invalidation_util.h" namespace syncer { diff --git a/components/invalidation/registration_manager.h b/components/invalidation/registration_manager.h index 1bf77d5..00eb48e 100644 --- a/components/invalidation/registration_manager.h +++ b/components/invalidation/registration_manager.h @@ -16,9 +16,9 @@ #include "base/timer/timer.h" // For invalidation::InvalidationListener::RegistrationState. #include "components/invalidation/invalidation_export.h" +#include "components/invalidation/invalidation_util.h" #include "google/cacheinvalidation/include/invalidation-listener.h" #include "google/cacheinvalidation/include/types.h" -#include "sync/internal_api/public/base/invalidation_util.h" namespace syncer { diff --git a/components/invalidation/registration_manager_unittest.cc b/components/invalidation/registration_manager_unittest.cc index 9389e99..2afbd02 100644 --- a/components/invalidation/registration_manager_unittest.cc +++ b/components/invalidation/registration_manager_unittest.cc @@ -13,8 +13,8 @@ #include "base/basictypes.h" #include "base/message_loop/message_loop.h" #include "base/stl_util.h" +#include "components/invalidation/invalidation_util.h" #include "google/cacheinvalidation/include/invalidation-client.h" -#include "sync/internal_api/public/base/invalidation_util.h" #include "testing/gtest/include/gtest/gtest.h" namespace syncer { diff --git a/components/invalidation/single_object_invalidation_set.cc b/components/invalidation/single_object_invalidation_set.cc index 6544489..c05c517 100644 --- a/components/invalidation/single_object_invalidation_set.cc +++ b/components/invalidation/single_object_invalidation_set.cc @@ -5,7 +5,7 @@ #include "components/invalidation/single_object_invalidation_set.h" #include "base/values.h" -#include "sync/internal_api/public/base/invalidation_util.h" +#include "components/invalidation/invalidation_util.h" namespace syncer { diff --git a/components/invalidation/single_object_invalidation_set.h b/components/invalidation/single_object_invalidation_set.h index 11ab3e3..f424114 100644 --- a/components/invalidation/single_object_invalidation_set.h +++ b/components/invalidation/single_object_invalidation_set.h @@ -8,9 +8,9 @@ #include <set> #include "base/memory/scoped_ptr.h" +#include "components/invalidation/invalidation.h" #include "components/invalidation/invalidation_export.h" -#include "sync/internal_api/public/base/invalidation.h" -#include "sync/internal_api/public/base/invalidation_util.h" +#include "components/invalidation/invalidation_util.h" namespace base { class ListValue; diff --git a/components/invalidation/single_object_invalidation_set_unittest.cc b/components/invalidation/single_object_invalidation_set_unittest.cc index 34172a1..aae71d0 100644 --- a/components/invalidation/single_object_invalidation_set_unittest.cc +++ b/components/invalidation/single_object_invalidation_set_unittest.cc @@ -4,8 +4,8 @@ #include "components/invalidation/single_object_invalidation_set.h" +#include "components/invalidation/invalidation_test_util.h" #include "google/cacheinvalidation/types.pb.h" -#include "sync/internal_api/public/base/invalidation_test_util.h" #include "testing/gtest/include/gtest/gtest.h" namespace syncer { diff --git a/components/invalidation/sync_invalidation_listener.cc b/components/invalidation/sync_invalidation_listener.cc index d15c606..a6566be 100644 --- a/components/invalidation/sync_invalidation_listener.cc +++ b/components/invalidation/sync_invalidation_listener.cc @@ -11,12 +11,12 @@ #include "base/compiler_specific.h" #include "base/logging.h" #include "base/tracked_objects.h" +#include "components/invalidation/invalidation_util.h" #include "components/invalidation/object_id_invalidation_map.h" #include "components/invalidation/registration_manager.h" #include "google/cacheinvalidation/include/invalidation-client.h" #include "google/cacheinvalidation/include/types.h" #include "jingle/notifier/listener/push_client.h" -#include "sync/internal_api/public/base/invalidation_util.h" namespace { diff --git a/components/invalidation/sync_invalidation_listener.h b/components/invalidation/sync_invalidation_listener.h index c2fe08c..647a04d 100644 --- a/components/invalidation/sync_invalidation_listener.h +++ b/components/invalidation/sync_invalidation_listener.h @@ -16,14 +16,14 @@ #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" #include "base/threading/non_thread_safe.h" +#include "components/invalidation/ack_handler.h" #include "components/invalidation/invalidation_export.h" #include "components/invalidation/invalidation_state_tracker.h" +#include "components/invalidation/invalidator_state.h" #include "components/invalidation/state_writer.h" #include "components/invalidation/sync_system_resources.h" #include "components/invalidation/unacked_invalidation_set.h" #include "google/cacheinvalidation/include/invalidation-listener.h" -#include "sync/internal_api/public/base/ack_handler.h" -#include "sync/internal_api/public/base/invalidator_state.h" #include "sync/internal_api/public/util/weak_handle.h" namespace buzz { diff --git a/components/invalidation/sync_invalidation_listener_unittest.cc b/components/invalidation/sync_invalidation_listener_unittest.cc index 8f63cb2..339511e 100644 --- a/components/invalidation/sync_invalidation_listener_unittest.cc +++ b/components/invalidation/sync_invalidation_listener_unittest.cc @@ -12,6 +12,7 @@ #include "base/message_loop/message_loop.h" #include "base/stl_util.h" #include "components/invalidation/fake_invalidation_state_tracker.h" +#include "components/invalidation/invalidation_util.h" #include "components/invalidation/object_id_invalidation_map.h" #include "components/invalidation/push_client_channel.h" #include "components/invalidation/sync_invalidation_listener.h" @@ -19,7 +20,6 @@ #include "google/cacheinvalidation/include/invalidation-client.h" #include "google/cacheinvalidation/include/types.h" #include "jingle/notifier/listener/fake_push_client.h" -#include "sync/internal_api/public/base/invalidation_util.h" #include "sync/internal_api/public/util/weak_handle.h" #include "testing/gtest/include/gtest/gtest.h" diff --git a/components/invalidation/sync_system_resources.cc b/components/invalidation/sync_system_resources.cc index 5685dea..04c5c77 100644 --- a/components/invalidation/sync_system_resources.cc +++ b/components/invalidation/sync_system_resources.cc @@ -16,11 +16,11 @@ #include "base/strings/stringprintf.h" #include "components/invalidation/gcm_network_channel.h" #include "components/invalidation/gcm_network_channel_delegate.h" +#include "components/invalidation/invalidation_util.h" #include "components/invalidation/push_client_channel.h" #include "google/cacheinvalidation/deps/callback.h" #include "google/cacheinvalidation/include/types.h" #include "jingle/notifier/listener/push_client.h" -#include "sync/internal_api/public/base/invalidation_util.h" namespace syncer { diff --git a/components/invalidation/sync_system_resources.h b/components/invalidation/sync_system_resources.h index c0e8ec2..f576573 100644 --- a/components/invalidation/sync_system_resources.h +++ b/components/invalidation/sync_system_resources.h @@ -20,10 +20,10 @@ #include "base/threading/non_thread_safe.h" #include "base/values.h" #include "components/invalidation/invalidation_export.h" +#include "components/invalidation/invalidator_state.h" #include "components/invalidation/state_writer.h" #include "google/cacheinvalidation/include/system-resources.h" #include "jingle/notifier/base/notifier_options.h" -#include "sync/internal_api/public/base/invalidator_state.h" namespace syncer { diff --git a/components/invalidation/ticl_invalidation_service.cc b/components/invalidation/ticl_invalidation_service.cc index 8a63af3..03dd30e 100644 --- a/components/invalidation/ticl_invalidation_service.cc +++ b/components/invalidation/ticl_invalidation_service.cc @@ -9,13 +9,13 @@ #include "components/gcm_driver/gcm_driver.h" #include "components/invalidation/gcm_invalidation_bridge.h" #include "components/invalidation/invalidation_service_util.h" +#include "components/invalidation/invalidation_util.h" #include "components/invalidation/invalidator.h" +#include "components/invalidation/invalidator_state.h" #include "components/invalidation/non_blocking_invalidator.h" #include "components/invalidation/object_id_invalidation_map.h" #include "google_apis/gaia/gaia_constants.h" #include "net/url_request/url_request_context_getter.h" -#include "sync/internal_api/public/base/invalidation_util.h" -#include "sync/internal_api/public/base/invalidator_state.h" static const char* kOAuth2Scopes[] = { GaiaConstants::kGoogleTalkOAuth2Scope diff --git a/components/invalidation/unacked_invalidation_set.cc b/components/invalidation/unacked_invalidation_set.cc index 0d94a2f..b2d2e68 100644 --- a/components/invalidation/unacked_invalidation_set.cc +++ b/components/invalidation/unacked_invalidation_set.cc @@ -5,8 +5,8 @@ #include "components/invalidation/unacked_invalidation_set.h" #include "base/strings/string_number_conversions.h" +#include "components/invalidation/ack_handle.h" #include "components/invalidation/object_id_invalidation_map.h" -#include "sync/internal_api/public/base/ack_handle.h" namespace { diff --git a/components/invalidation/unacked_invalidation_set.h b/components/invalidation/unacked_invalidation_set.h index 6dd2c46..7b9b729 100644 --- a/components/invalidation/unacked_invalidation_set.h +++ b/components/invalidation/unacked_invalidation_set.h @@ -5,11 +5,11 @@ #ifndef COMPONENTS_INVALIDATION_UNACKED_INVALIDATION_SET_H_ #define COMPONENTS_INVALIDATION_UNACKED_INVALIDATION_SET_H_ -#include <vector> +#include <set> +#include "components/invalidation/invalidation.h" #include "components/invalidation/invalidation_export.h" -#include "sync/internal_api/public/base/invalidation.h" -#include "sync/internal_api/public/base/invalidation_util.h" +#include "components/invalidation/invalidation_util.h" #include "sync/internal_api/public/util/weak_handle.h" namespace base { |