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

Log Message

Make WebContext handle populating visited links
https://bugs.webkit.org/show_bug.cgi?id=129348

Reviewed by Tim Horton.

This makes it possible to decouple VisitedLinkProvider from WebContext.

* UIProcess/VisitedLinkProvider.cpp:
(WebKit::VisitedLinkProvider::VisitedLinkProvider):
(WebKit::VisitedLinkProvider::processDidFinishLaunching):
* UIProcess/VisitedLinkProvider.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::processDidFinishLaunching):
* UIProcess/WebContext.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (164683 => 164684)


--- trunk/Source/WebKit2/ChangeLog	2014-02-26 01:03:37 UTC (rev 164683)
+++ trunk/Source/WebKit2/ChangeLog	2014-02-26 01:06:00 UTC (rev 164684)
@@ -1,5 +1,23 @@
 2014-02-25  Anders Carlsson  <[email protected]>
 
+        Make WebContext handle populating visited links
+        https://bugs.webkit.org/show_bug.cgi?id=129348
+
+        Reviewed by Tim Horton.
+
+        This makes it possible to decouple VisitedLinkProvider from WebContext.
+
+        * UIProcess/VisitedLinkProvider.cpp:
+        (WebKit::VisitedLinkProvider::VisitedLinkProvider):
+        (WebKit::VisitedLinkProvider::processDidFinishLaunching):
+        * UIProcess/VisitedLinkProvider.h:
+        * UIProcess/WebContext.cpp:
+        (WebKit::WebContext::WebContext):
+        (WebKit::WebContext::processDidFinishLaunching):
+        * UIProcess/WebContext.h:
+
+2014-02-25  Anders Carlsson  <[email protected]>
+
         DrawingAreaProxy is using WebCore's Timer
         https://bugs.webkit.org/show_bug.cgi?id=129347
         <rdar://problem/16078133>

Modified: trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.cpp (164683 => 164684)


--- trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.cpp	2014-02-26 01:03:37 UTC (rev 164683)
+++ trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.cpp	2014-02-26 01:06:00 UTC (rev 164684)
@@ -37,10 +37,8 @@
 
 static const int VisitedLinkTableMaxLoad = 2;
 
-VisitedLinkProvider::VisitedLinkProvider(WebContext* context)
-    : m_context(context)
-    , m_visitedLinksPopulated(false)
-    , m_keyCount(0)
+VisitedLinkProvider::VisitedLinkProvider()
+    : m_keyCount(0)
     , m_tableSize(0)
     , m_pendingVisitedLinksTimer(RunLoop::main(), this, &VisitedLinkProvider::pendingVisitedLinksTimerFired)
 {
@@ -52,13 +50,6 @@
 
     if (m_keyCount)
         m_pendingVisitedLinksTimer.startOneShot(0);
-
-    if (m_visitedLinksPopulated)
-        return;
-
-    m_context->populateVisitedLinks();
-
-    m_visitedLinksPopulated = true;
 }
 
 void VisitedLinkProvider::addVisitedLink(LinkHash linkHash)

Modified: trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.h (164683 => 164684)


--- trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.h	2014-02-26 01:03:37 UTC (rev 164683)
+++ trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.h	2014-02-26 01:06:00 UTC (rev 164684)
@@ -40,7 +40,7 @@
 class VisitedLinkProvider {
     WTF_MAKE_NONCOPYABLE(VisitedLinkProvider);
 public:
-    explicit VisitedLinkProvider(WebContext*);
+    VisitedLinkProvider();
 
     void addVisitedLink(WebCore::LinkHash);
 
@@ -50,8 +50,6 @@
 private:
     void pendingVisitedLinksTimerFired();
 
-    WebContext* m_context;
-    bool m_visitedLinksPopulated;
     HashSet<WebProcessProxy*> m_processesWithVisitedLinkState;
     HashSet<WebProcessProxy*> m_processesWithoutVisitedLinkState;
 

Modified: trunk/Source/WebKit2/UIProcess/WebContext.cpp (164683 => 164684)


--- trunk/Source/WebKit2/UIProcess/WebContext.cpp	2014-02-26 01:03:37 UTC (rev 164683)
+++ trunk/Source/WebKit2/UIProcess/WebContext.cpp	2014-02-26 01:06:00 UTC (rev 164684)
@@ -137,7 +137,7 @@
     , m_defaultPageGroup(WebPageGroup::createNonNull())
     , m_injectedBundlePath(injectedBundlePath)
     , m_historyClient(std::make_unique<API::HistoryClient>())
-    , m_visitedLinkProvider(this)
+    , m_visitedLinksPopulated(false)
     , m_plugInAutoStartProvider(this)
     , m_alwaysUsesComplexTextCodePath(false)
     , m_shouldUseFontSmoothing(true)
@@ -700,6 +700,10 @@
     ASSERT(m_processes.contains(process));
 
     m_visitedLinkProvider.processDidFinishLaunching(process);
+    if (!m_visitedLinksPopulated) {
+        populateVisitedLinks();
+        m_visitedLinksPopulated = true;
+    }
 
     // Sometimes the memorySampler gets initialized after process initialization has happened but before the process has finished launching
     // so check if it needs to be started here

Modified: trunk/Source/WebKit2/UIProcess/WebContext.h (164683 => 164684)


--- trunk/Source/WebKit2/UIProcess/WebContext.h	2014-02-26 01:03:37 UTC (rev 164683)
+++ trunk/Source/WebKit2/UIProcess/WebContext.h	2014-02-26 01:06:00 UTC (rev 164684)
@@ -449,6 +449,8 @@
     PluginInfoStore m_pluginInfoStore;
 #endif
     VisitedLinkProvider m_visitedLinkProvider;
+    bool m_visitedLinksPopulated;
+
     PlugInAutoStartProvider m_plugInAutoStartProvider;
         
     HashSet<String> m_schemesToRegisterAsEmptyDocument;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to