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

Side by Side Diff: third_party/WebKit/Source/core/animation/KeyframeEffectModel.cpp

Issue 2080623002: Revert "Remove OwnPtr from Blink." (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 21 matching lines...) Expand all
32 32
33 #include "core/animation/AnimationEffect.h" 33 #include "core/animation/AnimationEffect.h"
34 #include "core/animation/CompositorAnimations.h" 34 #include "core/animation/CompositorAnimations.h"
35 #include "core/animation/css/CSSAnimatableValueFactory.h" 35 #include "core/animation/css/CSSAnimatableValueFactory.h"
36 #include "core/css/CSSPropertyEquality.h" 36 #include "core/css/CSSPropertyEquality.h"
37 #include "core/css/resolver/StyleResolver.h" 37 #include "core/css/resolver/StyleResolver.h"
38 #include "core/dom/Document.h" 38 #include "core/dom/Document.h"
39 #include "platform/animation/AnimationUtilities.h" 39 #include "platform/animation/AnimationUtilities.h"
40 #include "platform/geometry/FloatBox.h" 40 #include "platform/geometry/FloatBox.h"
41 #include "platform/transforms/TransformationMatrix.h" 41 #include "platform/transforms/TransformationMatrix.h"
42 #include "wtf/PtrUtil.h"
43 #include "wtf/text/StringHash.h" 42 #include "wtf/text/StringHash.h"
44 43
45 namespace blink { 44 namespace blink {
46 45
47 PropertyHandleSet KeyframeEffectModelBase::properties() const 46 PropertyHandleSet KeyframeEffectModelBase::properties() const
48 { 47 {
49 PropertyHandleSet result; 48 PropertyHandleSet result;
50 for (const auto& keyframe : m_keyframes) { 49 for (const auto& keyframe : m_keyframes) {
51 for (const auto& property : keyframe->properties()) 50 for (const auto& property : keyframe->properties())
52 result.add(property); 51 result.add(property);
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 || affects(PropertyHandle(CSSPropertyRotate)) 164 || affects(PropertyHandle(CSSPropertyRotate))
166 || affects(PropertyHandle(CSSPropertyScale)) 165 || affects(PropertyHandle(CSSPropertyScale))
167 || affects(PropertyHandle(CSSPropertyTranslate)); 166 || affects(PropertyHandle(CSSPropertyTranslate));
168 } 167 }
169 168
170 void KeyframeEffectModelBase::ensureKeyframeGroups() const 169 void KeyframeEffectModelBase::ensureKeyframeGroups() const
171 { 170 {
172 if (m_keyframeGroups) 171 if (m_keyframeGroups)
173 return; 172 return;
174 173
175 m_keyframeGroups = wrapUnique(new KeyframeGroupMap); 174 m_keyframeGroups = adoptPtr(new KeyframeGroupMap);
176 RefPtr<TimingFunction> zeroOffsetEasing = m_defaultKeyframeEasing; 175 RefPtr<TimingFunction> zeroOffsetEasing = m_defaultKeyframeEasing;
177 for (const auto& keyframe : normalizedKeyframes(getFrames())) { 176 for (const auto& keyframe : normalizedKeyframes(getFrames())) {
178 if (keyframe->offset() == 0) 177 if (keyframe->offset() == 0)
179 zeroOffsetEasing = &keyframe->easing(); 178 zeroOffsetEasing = &keyframe->easing();
180 179
181 for (const PropertyHandle& property : keyframe->properties()) { 180 for (const PropertyHandle& property : keyframe->properties()) {
182 KeyframeGroupMap::iterator groupIter = m_keyframeGroups->find(proper ty); 181 KeyframeGroupMap::iterator groupIter = m_keyframeGroups->find(proper ty);
183 PropertySpecificKeyframeGroup* group; 182 PropertySpecificKeyframeGroup* group;
184 if (groupIter == m_keyframeGroups->end()) 183 if (groupIter == m_keyframeGroups->end())
185 group = m_keyframeGroups->add(property, wrapUnique(new PropertyS pecificKeyframeGroup)).storedValue->value.get(); 184 group = m_keyframeGroups->add(property, adoptPtr(new PropertySpe cificKeyframeGroup)).storedValue->value.get();
186 else 185 else
187 group = groupIter->value.get(); 186 group = groupIter->value.get();
188 187
189 group->appendKeyframe(keyframe->createPropertySpecificKeyframe(prope rty)); 188 group->appendKeyframe(keyframe->createPropertySpecificKeyframe(prope rty));
190 } 189 }
191 } 190 }
192 191
193 // Add synthetic keyframes. 192 // Add synthetic keyframes.
194 m_hasSyntheticKeyframes = false; 193 m_hasSyntheticKeyframes = false;
195 for (const auto& entry : *m_keyframeGroups) { 194 for (const auto& entry : *m_keyframeGroups) {
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 } 297 }
299 if (m_keyframes.last()->offset() != 1.0) { 298 if (m_keyframes.last()->offset() != 1.0) {
300 appendKeyframe(m_keyframes.last()->neutralKeyframe(1, nullptr)); 299 appendKeyframe(m_keyframes.last()->neutralKeyframe(1, nullptr));
301 addedSyntheticKeyframe = true; 300 addedSyntheticKeyframe = true;
302 } 301 }
303 302
304 return addedSyntheticKeyframe; 303 return addedSyntheticKeyframe;
305 } 304 }
306 305
307 } // namespace blink 306 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698