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