Bug 1382966 - Use skipDescendantsOnItemRemoval in nsNavHistoryResult to improve performance when deleting bookmark folders. r?mak
MozReview-Commit-ID: FaotgKVaEmH
--- a/toolkit/components/places/nsNavBookmarks.cpp
+++ b/toolkit/components/places/nsNavBookmarks.cpp
@@ -46,17 +46,17 @@ namespace {
bool DontSkip(nsCOMPtr<nsINavBookmarkObserver> obs) { return false; }
bool SkipTags(nsCOMPtr<nsINavBookmarkObserver> obs) {
bool skipTags = false;
(void) obs->GetSkipTags(&skipTags);
return skipTags;
}
bool SkipDescendants(nsCOMPtr<nsINavBookmarkObserver> obs) {
bool skipDescendantsOnItemRemoval = false;
- (void) obs->GetSkipTags(&skipDescendantsOnItemRemoval);
+ (void) obs->GetSkipDescendantsOnItemRemoval(&skipDescendantsOnItemRemoval);
return skipDescendantsOnItemRemoval;
}
template<typename Method, typename DataType>
class AsyncGetBookmarksForURI : public AsyncStatementCallback
{
public:
AsyncGetBookmarksForURI(nsNavBookmarks* aBookmarksSvc,
--- a/toolkit/components/places/nsNavHistoryResult.cpp
+++ b/toolkit/components/places/nsNavHistoryResult.cpp
@@ -4394,17 +4394,17 @@ nsNavHistoryResult::GetSkipTags(bool *aS
{
*aSkipTags = false;
return NS_OK;
}
NS_IMETHODIMP
nsNavHistoryResult::GetSkipDescendantsOnItemRemoval(bool *aSkipDescendantsOnItemRemoval)
{
- *aSkipDescendantsOnItemRemoval = false;
+ *aSkipDescendantsOnItemRemoval = true;
return NS_OK;
}
NS_IMETHODIMP
nsNavHistoryResult::OnBeginUpdateBatch()
{
// Since we could be observing both history and bookmarks, it's possible both
// notify the batch. We can safely ignore nested calls.