summaryrefslogtreecommitdiffstats
path: root/WebCore/history/mac/HistoryItemMac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/history/mac/HistoryItemMac.mm')
-rw-r--r--WebCore/history/mac/HistoryItemMac.mm24
1 files changed, 13 insertions, 11 deletions
diff --git a/WebCore/history/mac/HistoryItemMac.mm b/WebCore/history/mac/HistoryItemMac.mm
index cac9b1b..52ae7be 100644
--- a/WebCore/history/mac/HistoryItemMac.mm
+++ b/WebCore/history/mac/HistoryItemMac.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
+ * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -26,10 +26,9 @@
#include "config.h"
#include "HistoryItem.h"
-namespace WebCore {
+#include "StringHash.h"
-// Notification strings.
-NSString *WebHistoryItemChangedNotification = @"WebHistoryItemChangedNotification";
+namespace WebCore {
id HistoryItem::viewState() const
{
@@ -52,14 +51,17 @@ id HistoryItem::getTransientProperty(const String& key) const
void HistoryItem::setTransientProperty(const String& key, id value)
{
- if (!m_transientProperties)
- m_transientProperties.set(new HashMap<String, RetainPtr<id> >);
- if (value == nil)
- m_transientProperties->remove(key);
- else
+ if (!value) {
+ if (m_transientProperties) {
+ m_transientProperties->remove(key);
+ if (m_transientProperties->isEmpty())
+ m_transientProperties.clear();
+ }
+ } else {
+ if (!m_transientProperties)
+ m_transientProperties.set(new HashMap<String, RetainPtr<id> >);
m_transientProperties->set(key, value);
+ }
}
} // namespace WebCore
-
-