Title: [164686] trunk/Source/WebKit2
Revision
164686
Author
[email protected]
Date
2014-02-25 17:45:52 -0800 (Tue, 25 Feb 2014)

Log Message

VisitedLinkProvider should be refcounted
https://bugs.webkit.org/show_bug.cgi?id=129351

Reviewed by Sam Weinig.

* UIProcess/VisitedLinkProvider.cpp:
(WebKit::VisitedLinkProvider::create):
(WebKit::VisitedLinkProvider::~VisitedLinkProvider):
* UIProcess/VisitedLinkProvider.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::processDidFinishLaunching):
(WebKit::WebContext::disconnectProcess):
(WebKit::WebContext::addVisitedLinkHash):
* UIProcess/WebContext.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (164685 => 164686)


--- trunk/Source/WebKit2/ChangeLog	2014-02-26 01:27:55 UTC (rev 164685)
+++ trunk/Source/WebKit2/ChangeLog	2014-02-26 01:45:52 UTC (rev 164686)
@@ -1,5 +1,23 @@
 2014-02-25  Anders Carlsson  <[email protected]>
 
+        VisitedLinkProvider should be refcounted
+        https://bugs.webkit.org/show_bug.cgi?id=129351
+
+        Reviewed by Sam Weinig.
+
+        * UIProcess/VisitedLinkProvider.cpp:
+        (WebKit::VisitedLinkProvider::create):
+        (WebKit::VisitedLinkProvider::~VisitedLinkProvider):
+        * UIProcess/VisitedLinkProvider.h:
+        * UIProcess/WebContext.cpp:
+        (WebKit::WebContext::WebContext):
+        (WebKit::WebContext::processDidFinishLaunching):
+        (WebKit::WebContext::disconnectProcess):
+        (WebKit::WebContext::addVisitedLinkHash):
+        * UIProcess/WebContext.h:
+
+2014-02-25  Anders Carlsson  <[email protected]>
+
         Make WebContext handle populating visited links
         https://bugs.webkit.org/show_bug.cgi?id=129348
 

Modified: trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.cpp (164685 => 164686)


--- trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.cpp	2014-02-26 01:27:55 UTC (rev 164685)
+++ trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.cpp	2014-02-26 01:45:52 UTC (rev 164686)
@@ -37,6 +37,15 @@
 
 static const int VisitedLinkTableMaxLoad = 2;
 
+PassRefPtr<VisitedLinkProvider> VisitedLinkProvider::create()
+{
+    return adoptRef(new VisitedLinkProvider);
+}
+
+VisitedLinkProvider::~VisitedLinkProvider()
+{
+}
+
 VisitedLinkProvider::VisitedLinkProvider()
     : m_keyCount(0)
     , m_tableSize(0)

Modified: trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.h (164685 => 164686)


--- trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.h	2014-02-26 01:27:55 UTC (rev 164685)
+++ trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.h	2014-02-26 01:45:52 UTC (rev 164686)
@@ -30,6 +30,7 @@
 #include <WebCore/LinkHash.h>
 #include <wtf/Forward.h>
 #include <wtf/HashSet.h>
+#include <wtf/RefCounted.h>
 #include <wtf/RunLoop.h>
 
 namespace WebKit {
@@ -37,10 +38,10 @@
 class WebContext;
 class WebProcessProxy;
     
-class VisitedLinkProvider {
-    WTF_MAKE_NONCOPYABLE(VisitedLinkProvider);
+class VisitedLinkProvider : public RefCounted<VisitedLinkProvider> {
 public:
-    VisitedLinkProvider();
+    static PassRefPtr<VisitedLinkProvider> create();
+    ~VisitedLinkProvider();
 
     void addVisitedLink(WebCore::LinkHash);
 
@@ -48,6 +49,8 @@
     void processDidClose(WebProcessProxy*);
 
 private:
+    VisitedLinkProvider();
+
     void pendingVisitedLinksTimerFired();
 
     HashSet<WebProcessProxy*> m_processesWithVisitedLinkState;

Modified: trunk/Source/WebKit2/UIProcess/WebContext.cpp (164685 => 164686)


--- trunk/Source/WebKit2/UIProcess/WebContext.cpp	2014-02-26 01:27:55 UTC (rev 164685)
+++ trunk/Source/WebKit2/UIProcess/WebContext.cpp	2014-02-26 01:45:52 UTC (rev 164686)
@@ -137,6 +137,7 @@
     , m_defaultPageGroup(WebPageGroup::createNonNull())
     , m_injectedBundlePath(injectedBundlePath)
     , m_historyClient(std::make_unique<API::HistoryClient>())
+    , m_visitedLinkProvider(VisitedLinkProvider::create())
     , m_visitedLinksPopulated(false)
     , m_plugInAutoStartProvider(this)
     , m_alwaysUsesComplexTextCodePath(false)
@@ -699,7 +700,7 @@
 {
     ASSERT(m_processes.contains(process));
 
-    m_visitedLinkProvider.processDidFinishLaunching(process);
+    m_visitedLinkProvider->processDidFinishLaunching(process);
     if (!m_visitedLinksPopulated) {
         populateVisitedLinks();
         m_visitedLinksPopulated = true;
@@ -723,7 +724,7 @@
 {
     ASSERT(m_processes.contains(process));
 
-    m_visitedLinkProvider.processDidClose(process);
+    m_visitedLinkProvider->processDidClose(process);
 
     if (m_haveInitialEmptyProcess && process == m_processes.last())
         m_haveInitialEmptyProcess = false;
@@ -983,7 +984,7 @@
 
 void WebContext::addVisitedLinkHash(LinkHash linkHash)
 {
-    m_visitedLinkProvider.addVisitedLink(linkHash);
+    m_visitedLinkProvider->addVisitedLink(linkHash);
 }
 
 DownloadProxy* WebContext::createDownloadProxy()

Modified: trunk/Source/WebKit2/UIProcess/WebContext.h (164685 => 164686)


--- trunk/Source/WebKit2/UIProcess/WebContext.h	2014-02-26 01:27:55 UTC (rev 164685)
+++ trunk/Source/WebKit2/UIProcess/WebContext.h	2014-02-26 01:45:52 UTC (rev 164686)
@@ -448,7 +448,7 @@
 #if ENABLE(NETSCAPE_PLUGIN_API)
     PluginInfoStore m_pluginInfoStore;
 #endif
-    VisitedLinkProvider m_visitedLinkProvider;
+    RefPtr<VisitedLinkProvider> m_visitedLinkProvider;
     bool m_visitedLinksPopulated;
 
     PlugInAutoStartProvider m_plugInAutoStartProvider;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to