Title: [164768] trunk/Source/WebKit2
- Revision
- 164768
- Author
- ander...@apple.com
- Date
- 2014-02-26 18:08:15 -0800 (Wed, 26 Feb 2014)
Log Message
VisitedLinkProvider should know which pages it belongs to
https://bugs.webkit.org/show_bug.cgi?id=129410
Reviewed by Dan Bernstein.
* UIProcess/VisitedLinkProvider.cpp:
(WebKit::VisitedLinkProvider::~VisitedLinkProvider):
(WebKit::VisitedLinkProvider::addPage):
(WebKit::VisitedLinkProvider::removePage):
* UIProcess/VisitedLinkProvider.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (164767 => 164768)
--- trunk/Source/WebKit2/ChangeLog 2014-02-27 01:57:10 UTC (rev 164767)
+++ trunk/Source/WebKit2/ChangeLog 2014-02-27 02:08:15 UTC (rev 164768)
@@ -1,3 +1,19 @@
+2014-02-26 Anders Carlsson <ander...@apple.com>
+
+ VisitedLinkProvider should know which pages it belongs to
+ https://bugs.webkit.org/show_bug.cgi?id=129410
+
+ Reviewed by Dan Bernstein.
+
+ * UIProcess/VisitedLinkProvider.cpp:
+ (WebKit::VisitedLinkProvider::~VisitedLinkProvider):
+ (WebKit::VisitedLinkProvider::addPage):
+ (WebKit::VisitedLinkProvider::removePage):
+ * UIProcess/VisitedLinkProvider.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::close):
+
2014-02-26 Enrica Casucci <enr...@apple.com>
Build fix.
Modified: trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.cpp (164767 => 164768)
--- trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.cpp 2014-02-27 01:57:10 UTC (rev 164767)
+++ trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.cpp 2014-02-27 02:08:15 UTC (rev 164768)
@@ -51,6 +51,7 @@
VisitedLinkProvider::~VisitedLinkProvider()
{
+ ASSERT(m_pages.isEmpty());
}
VisitedLinkProvider::VisitedLinkProvider()
@@ -61,6 +62,18 @@
{
}
+void VisitedLinkProvider::addPage(WebPageProxy& webPageProxy)
+{
+ ASSERT(!m_pages.contains(&webPageProxy));
+ m_pages.add(&webPageProxy);
+}
+
+void VisitedLinkProvider::removePage(WebPageProxy& webPageProxy)
+{
+ ASSERT(m_pages.contains(&webPageProxy));
+ m_pages.remove(&webPageProxy);
+}
+
void VisitedLinkProvider::processDidFinishLaunching(WebProcessProxy* process)
{
m_processesWithoutVisitedLinkState.add(process);
Modified: trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.h (164767 => 164768)
--- trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.h 2014-02-27 01:57:10 UTC (rev 164767)
+++ trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.h 2014-02-27 02:08:15 UTC (rev 164768)
@@ -36,6 +36,7 @@
namespace WebKit {
class WebContext;
+class WebPageProxy;
class WebProcessProxy;
class VisitedLinkProvider : public RefCounted<VisitedLinkProvider> {
@@ -45,6 +46,9 @@
uint64_t identifier() const { return m_identifier; }
+ void addPage(WebPageProxy&);
+ void removePage(WebPageProxy&);
+
void addVisitedLink(WebCore::LinkHash);
void processDidFinishLaunching(WebProcessProxy*);
@@ -59,6 +63,7 @@
HashSet<WebProcessProxy*> m_processesWithoutVisitedLinkState;
uint64_t m_identifier;
+ HashSet<WebPageProxy*> m_pages;
unsigned m_keyCount;
unsigned m_tableSize;
Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (164767 => 164768)
--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2014-02-27 01:57:10 UTC (rev 164767)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2014-02-27 02:08:15 UTC (rev 164768)
@@ -336,6 +336,8 @@
, m_scrollPinningBehavior(DoNotPin)
, m_navigationID(0)
{
+ m_visitedLinkProvider->addPage(*this);
+
updateViewState();
#if HAVE(OUT_OF_PROCESS_LAYER_HOSTING)
@@ -589,6 +591,8 @@
m_isClosed = true;
+ m_visitedLinkProvider->removePage(*this);
+
m_backForwardList->pageClosed();
m_pageClient.pageClosed();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes