GoogleGit

commit501bcb011820d64974f76d34ece697495e1ea73e[log][tgz]
authorvollick@google.com <vollick@google.com@0039d316-1c4b-4281-b951-d872f2087c98>Wed Sep 19 18:03:40 2012
committervollick@google.com <vollick@google.com@0039d316-1c4b-4281-b951-d872f2087c98>Wed Sep 19 18:03:40 2012
tree5f90caddf48a19ea462d5ec85344285639839535
parentc0718fe48955d9bbf51752e97f7d384822d98906[diff]
Revert 156318 - I had originally tried to build upon http://codereview.chromium.org/10869066/, but the number of functions that needed to return (or needed to cope with) DestroyedType's was spiralling out of control and it seemed likely that a mistake would be made and bugs introduced. pkotwicz suggested I make the layer animator ref counted, and this seemed to be a much simpler and safer approach. This way, whenever we're in a LayerAnimator function that may notify observers, we create a scoped_refptr<LayerAnimator> for |this|. If the animator's owning layer gets deleted by an observer, then |this| will be safely destroyed when the function exits and the scoped_refptr falls out of scope.

BUG=147435
TEST=LayerAnimatorTest.ObserverDeletesAnimatorAfter[FinishingAnimation|StoppingAnimation|Scheduling|Aborted]


Review URL: https://chromiumcodereview.appspot.com/10919195

TBR=sky@chromium.org
Review URL: https://codereview.chromium.org/10942034

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157567 0039d316-1c4b-4281-b951-d872f2087c98
8 files changed
tree: 5f90caddf48a19ea462d5ec85344285639839535
  1. .DEPS.git
  2. .gitignore
  3. AUTHORS
  4. Android.mk
  5. DEPS
  6. LICENSE
  7. LICENSE.chromium_os
  8. OWNERS
  9. PRESUBMIT.py
  10. WATCHLISTS
  11. android_webview/
  12. ash/
  13. base/
  14. breakpad/
  15. build/
  16. cc/
  17. chrome/
  18. chrome_frame/
  19. chromeos/
  20. cloud_print/
  21. codereview.settings
  22. content/
  23. courgette/
  24. crypto/
  25. dbus/
  26. google_apis/
  27. google_update/
  28. gpu/
  29. ipc/
  30. jingle/
  31. media/
  32. native_client_sdk/
  33. net/
  34. ppapi/
  35. printing/
  36. remoting/
  37. rlz/
  38. sandbox/
  39. sdch/
  40. skia/
  41. sql/
  42. sync/
  43. testing/
  44. third_party/
  45. tools/
  46. ui/
  47. webkit/
  48. win8/