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

Side by Side Diff: Source/core/frame/FrameDestructionObserver.cpp

Issue 594083002: Make StorageArea cleanly observe its cached frame (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Make FrameDestructionObserver::observeFrame() protected again Created 6 years, 3 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
« no previous file with comments | « Source/core/frame/FrameDestructionObserver.h ('k') | Source/core/frame/LocalFrame.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google, Inc. All Rights Reserved. 2 * Copyright (C) 2011 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 27 matching lines...) Expand all
38 38
39 #if !ENABLE(OILPAN) 39 #if !ENABLE(OILPAN)
40 FrameDestructionObserver::~FrameDestructionObserver() 40 FrameDestructionObserver::~FrameDestructionObserver()
41 { 41 {
42 observeFrame(nullptr); 42 observeFrame(nullptr);
43 } 43 }
44 #endif 44 #endif
45 45
46 void FrameDestructionObserver::observeFrame(LocalFrame* frame) 46 void FrameDestructionObserver::observeFrame(LocalFrame* frame)
47 { 47 {
48 ASSERT(!m_frame || !frame);
49 #if !ENABLE(OILPAN)
50 if (m_frame) 48 if (m_frame)
51 m_frame->removeDestructionObserver(this); 49 m_frame->removeDestructionObserver(this);
52 #endif
53 50
54 m_frame = frame; 51 m_frame = frame;
55 52
56 if (m_frame) 53 if (m_frame)
57 m_frame->addDestructionObserver(this); 54 m_frame->addDestructionObserver(this);
58 } 55 }
59 56
60 #if !ENABLE(OILPAN) 57 #if !ENABLE(OILPAN)
61 void FrameDestructionObserver::frameDestroyed() 58 void FrameDestructionObserver::frameDestroyed()
62 { 59 {
63 m_frame = nullptr; 60 m_frame = nullptr;
64 } 61 }
65 #endif 62 #endif
66 63
67 void FrameDestructionObserver::willDetachFrameHost() 64 void FrameDestructionObserver::willDetachFrameHost()
68 { 65 {
69 // Subclasses should override this function to handle this notification. 66 // Subclasses should override this function to handle this notification.
70 } 67 }
71 68
72 void FrameDestructionObserver::trace(Visitor* visitor) 69 void FrameDestructionObserver::trace(Visitor* visitor)
73 { 70 {
74 visitor->trace(m_frame); 71 visitor->trace(m_frame);
75 } 72 }
76 73
77 } 74 }
OLDNEW
« no previous file with comments | « Source/core/frame/FrameDestructionObserver.h ('k') | Source/core/frame/LocalFrame.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698