Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(214)

Unified Diff: components/visitedlink/renderer/visitedlink_slave.h

Issue 2048503002: Convert visitedlink to use mojo. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@message-mojom-magic
Patch Set: clang format Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/visitedlink/renderer/visitedlink_slave.h
diff --git a/components/visitedlink/renderer/visitedlink_slave.h b/components/visitedlink/renderer/visitedlink_slave.h
index 31cae89a62d9293b5fedacf3894a1fb77808c205..bbf0cfde2f8459cec1dd213be47ab1546a054e2d 100644
--- a/components/visitedlink/renderer/visitedlink_slave.h
+++ b/components/visitedlink/renderer/visitedlink_slave.h
@@ -7,33 +7,41 @@
#include "base/compiler_specific.h"
#include "base/macros.h"
-#include "base/memory/shared_memory.h"
+#include "base/memory/weak_ptr.h"
+#include "components/visitedlink/common/visitedlink.mojom.h"
#include "components/visitedlink/common/visitedlink_common.h"
-#include "content/public/renderer/render_thread_observer.h"
+#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/system/buffer.h"
namespace visitedlink {
// Reads the link coloring database provided by the master. There can be any
// number of slaves reading the same database.
class VisitedLinkSlave : public VisitedLinkCommon,
- public content::RenderThreadObserver {
+ public mojom::VisitedLinkNotificationSink {
public:
VisitedLinkSlave();
~VisitedLinkSlave() override;
- // RenderThreadObserver implementation.
- bool OnControlMessageReceived(const IPC::Message& message) override;
+ base::Callback<void(mojom::VisitedLinkNotificationSinkRequest)>
+ GetBindCallback();
- // Message handlers.
- void OnUpdateVisitedLinks(base::SharedMemoryHandle table);
- void OnAddVisitedLinks(const VisitedLinkSlave::Fingerprints& fingerprints);
- void OnResetVisitedLinks(bool invalidate_hashes);
+ // mojom::VisitedLinkNotificationSink overrides.
+ void UpdateVisitedLinks(mojo::ScopedSharedBufferHandle table) override;
+ void AddVisitedLinks(
+ const std::vector<VisitedLinkSlave::Fingerprint>& fingerprints) override;
+ void ResetVisitedLinks(bool invalidate_hashes) override;
private:
void FreeTable();
- // shared memory consists of a SharedHeader followed by the table
- base::SharedMemory* shared_memory_;
+ void Bind(mojom::VisitedLinkNotificationSinkRequest request);
+
+ mojo::ScopedSharedBufferMapping table_mapping_;
+
+ mojo::Binding<mojom::VisitedLinkNotificationSink> binding_;
+
+ base::WeakPtrFactory<VisitedLinkSlave> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(VisitedLinkSlave);
};
« no previous file with comments | « components/visitedlink/common/visitedlink_messages.h ('k') | components/visitedlink/renderer/visitedlink_slave.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698