Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Unified Diff: third_party/WebKit/Source/core/css/ActiveStyleSheets.cpp

Issue 2569733003: Use hash set instead of vector for changed RuleSets. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/css/ActiveStyleSheets.cpp
diff --git a/third_party/WebKit/Source/core/css/ActiveStyleSheets.cpp b/third_party/WebKit/Source/core/css/ActiveStyleSheets.cpp
index 5c5326338612c35413b2aff4bd8d5f28ca167fa0..cca65e7a1cc18a19e12f776f23d716ee70dfc917 100644
--- a/third_party/WebKit/Source/core/css/ActiveStyleSheets.cpp
+++ b/third_party/WebKit/Source/core/css/ActiveStyleSheets.cpp
@@ -16,7 +16,7 @@ namespace blink {
ActiveSheetsChange compareActiveStyleSheets(
const ActiveStyleSheetVector& oldStyleSheets,
const ActiveStyleSheetVector& newStyleSheets,
- HeapVector<Member<RuleSet>>& changedRuleSets) {
+ HeapHashSet<Member<RuleSet>>& changedRuleSets) {
unsigned newStyleSheetCount = newStyleSheets.size();
unsigned oldStyleSheetCount = oldStyleSheets.size();
@@ -32,32 +32,34 @@ ActiveSheetsChange compareActiveStyleSheets(
continue;
if (newStyleSheets[index].second)
- changedRuleSets.append(newStyleSheets[index].second);
+ changedRuleSets.add(newStyleSheets[index].second);
if (oldStyleSheets[index].second)
- changedRuleSets.append(oldStyleSheets[index].second);
+ changedRuleSets.add(oldStyleSheets[index].second);
}
if (index == oldStyleSheetCount) {
- if (index == newStyleSheetCount)
- return changedRuleSets.size() ? ActiveSheetsChanged
- : NoActiveSheetsChanged;
+ if (index == newStyleSheetCount) {
+ return changedRuleSets.isEmpty() ? NoActiveSheetsChanged
+ : ActiveSheetsChanged;
+ }
// Sheets added at the end.
for (; index < newStyleSheetCount; index++) {
if (newStyleSheets[index].second)
- changedRuleSets.append(newStyleSheets[index].second);
+ changedRuleSets.add(newStyleSheets[index].second);
}
- return changedRuleSets.size() ? ActiveSheetsAppended
- : NoActiveSheetsChanged;
+ return changedRuleSets.isEmpty() ? NoActiveSheetsChanged
+ : ActiveSheetsAppended;
}
if (index == newStyleSheetCount) {
// Sheets removed from the end.
for (; index < oldStyleSheetCount; index++) {
if (oldStyleSheets[index].second)
- changedRuleSets.append(oldStyleSheets[index].second);
+ changedRuleSets.add(oldStyleSheets[index].second);
}
- return changedRuleSets.size() ? ActiveSheetsChanged : NoActiveSheetsChanged;
+ return changedRuleSets.isEmpty() ? NoActiveSheetsChanged
+ : ActiveSheetsChanged;
}
DCHECK(index < oldStyleSheetCount && index < newStyleSheetCount);
@@ -83,7 +85,7 @@ ActiveSheetsChange compareActiveStyleSheets(
(*mergedIterator).first != sheet1.first) {
// Sheet either removed or inserted.
if (sheet1.second)
- changedRuleSets.append(sheet1.second);
+ changedRuleSets.add(sheet1.second);
continue;
}
@@ -96,11 +98,12 @@ ActiveSheetsChange compareActiveStyleSheets(
// Active rules for the given stylesheet changed.
// DOM, CSSOM, or media query changes.
if (sheet1.second)
- changedRuleSets.append(sheet1.second);
+ changedRuleSets.add(sheet1.second);
if (sheet2.second)
- changedRuleSets.append(sheet2.second);
+ changedRuleSets.add(sheet2.second);
}
- return changedRuleSets.size() ? ActiveSheetsChanged : NoActiveSheetsChanged;
+ return changedRuleSets.isEmpty() ? NoActiveSheetsChanged
+ : ActiveSheetsChanged;
}
} // namespace blink
« no previous file with comments | « third_party/WebKit/Source/core/css/ActiveStyleSheets.h ('k') | third_party/WebKit/Source/core/css/ActiveStyleSheetsTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698