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

Side by Side Diff: third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp

Issue 1642283002: Deal with frame removal by content scripts (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: ImageDocument: Account for detach in DOM mutations Created 4 years, 10 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) 2009, 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2009, 2012 Google Inc. All rights reserved.
3 * Copyright (C) 2011 Apple Inc. All rights reserved. 3 * Copyright (C) 2011 Apple Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 } 170 }
171 } 171 }
172 // FIXME: when extensions go out of process, this whole concept stops workin g. 172 // FIXME: when extensions go out of process, this whole concept stops workin g.
173 WebDevToolsFrontendImpl* devToolsFrontend = m_webFrame->top()->isWebLocalFra me() ? toWebLocalFrameImpl(m_webFrame->top())->devToolsFrontend() : nullptr; 173 WebDevToolsFrontendImpl* devToolsFrontend = m_webFrame->top()->isWebLocalFra me() ? toWebLocalFrameImpl(m_webFrame->top())->devToolsFrontend() : nullptr;
174 if (devToolsFrontend) 174 if (devToolsFrontend)
175 devToolsFrontend->didClearWindowObject(m_webFrame); 175 devToolsFrontend->didClearWindowObject(m_webFrame);
176 } 176 }
177 177
178 void FrameLoaderClientImpl::documentElementAvailable() 178 void FrameLoaderClientImpl::documentElementAvailable()
179 { 179 {
180 if (m_webFrame->client()) 180 if (m_webFrame->client()) {
181 RefPtrWillBeRawPtr<WebLocalFrameImpl> protector(m_webFrame.get());
181 m_webFrame->client()->didCreateDocumentElement(m_webFrame); 182 m_webFrame->client()->didCreateDocumentElement(m_webFrame);
esprehn 2016/02/09 00:37:09 Woah what, there's script down here?? Can we inst
robwu 2016/02/09 00:53:46 That could mean that a lot of DOM is generated, ri
183 if (!m_webFrame->client())
184 return;
185 }
182 186
183 if (m_webFrame->parent()) 187 if (m_webFrame->parent())
184 return; 188 return;
185 189
186 if (m_webFrame->viewImpl()) 190 if (m_webFrame->viewImpl())
187 m_webFrame->viewImpl()->mainFrameDocumentElementAvailable(); 191 m_webFrame->viewImpl()->mainFrameDocumentElementAvailable();
188 } 192 }
189 193
190 void FrameLoaderClientImpl::didCreateScriptContext(v8::Local<v8::Context> contex t, int extensionGroup, int worldId) 194 void FrameLoaderClientImpl::didCreateScriptContext(v8::Local<v8::Context> contex t, int extensionGroup, int worldId)
191 { 195 {
(...skipping 831 matching lines...) Expand 10 before | Expand all | Expand 10 after
1023 1027
1024 void FrameLoaderClientImpl::suddenTerminationDisablerChanged(bool present, Sudde nTerminationDisablerType type) 1028 void FrameLoaderClientImpl::suddenTerminationDisablerChanged(bool present, Sudde nTerminationDisablerType type)
1025 { 1029 {
1026 if (m_webFrame->client()) { 1030 if (m_webFrame->client()) {
1027 m_webFrame->client()->suddenTerminationDisablerChanged( 1031 m_webFrame->client()->suddenTerminationDisablerChanged(
1028 present, static_cast<WebFrameClient::SuddenTerminationDisablerType>( type)); 1032 present, static_cast<WebFrameClient::SuddenTerminationDisablerType>( type));
1029 } 1033 }
1030 } 1034 }
1031 1035
1032 } // namespace blink 1036 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698