OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. |
3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> | 5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> |
6 * Copyright (C) Research In Motion Limited 2009. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2009. All rights reserved. |
7 * Copyright (C) 2011 Kris Jordan <krisjordan@gmail.com> | 7 * Copyright (C) 2011 Kris Jordan <krisjordan@gmail.com> |
8 * Copyright (C) 2011 Google Inc. All rights reserved. | 8 * Copyright (C) 2011 Google Inc. All rights reserved. |
9 * | 9 * |
10 * Redistribution and use in source and binary forms, with or without | 10 * Redistribution and use in source and binary forms, with or without |
(...skipping 1133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1144 } | 1144 } |
1145 | 1145 |
1146 void FrameLoader::detachClient() | 1146 void FrameLoader::detachClient() |
1147 { | 1147 { |
1148 ASSERT(client()); | 1148 ASSERT(client()); |
1149 | 1149 |
1150 // Finish all cleanup work that might require talking to the embedder. | 1150 // Finish all cleanup work that might require talking to the embedder. |
1151 m_progressTracker.clear(); | 1151 m_progressTracker.clear(); |
1152 setOpener(0); | 1152 setOpener(0); |
1153 // Notify ScriptController that the frame is closing, since its cleanup ends
up calling | 1153 // Notify ScriptController that the frame is closing, since its cleanup ends
up calling |
1154 // back to FrameLoaderClient via V8WindowShell. | 1154 // back to FrameLoaderClient via WindowProxy. |
1155 m_frame->script().clearForClose(); | 1155 m_frame->script().clearForClose(); |
1156 | 1156 |
1157 // client() should never be null because that means we somehow re-entered | 1157 // client() should never be null because that means we somehow re-entered |
1158 // the frame detach code... but it is sometimes. | 1158 // the frame detach code... but it is sometimes. |
1159 // FIXME: Understand why this is happening so we can document this insanity. | 1159 // FIXME: Understand why this is happening so we can document this insanity. |
1160 if (client()) { | 1160 if (client()) { |
1161 // After this, we must no longer talk to the client since this clears | 1161 // After this, we must no longer talk to the client since this clears |
1162 // its owning reference back to our owning LocalFrame. | 1162 // its owning reference back to our owning LocalFrame. |
1163 client()->detachedFromParent(); | 1163 client()->detachedFromParent(); |
1164 m_frame->clearClient(); | 1164 m_frame->clearClient(); |
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1487 // FIXME: We need a way to propagate sandbox flags to out-of-process frames. | 1487 // FIXME: We need a way to propagate sandbox flags to out-of-process frames. |
1488 Frame* parentFrame = m_frame->tree().parent(); | 1488 Frame* parentFrame = m_frame->tree().parent(); |
1489 if (parentFrame && parentFrame->isLocalFrame()) | 1489 if (parentFrame && parentFrame->isLocalFrame()) |
1490 flags |= toLocalFrame(parentFrame)->document()->sandboxFlags(); | 1490 flags |= toLocalFrame(parentFrame)->document()->sandboxFlags(); |
1491 if (FrameOwner* frameOwner = m_frame->owner()) | 1491 if (FrameOwner* frameOwner = m_frame->owner()) |
1492 flags |= frameOwner->sandboxFlags(); | 1492 flags |= frameOwner->sandboxFlags(); |
1493 return flags; | 1493 return flags; |
1494 } | 1494 } |
1495 | 1495 |
1496 } // namespace blink | 1496 } // namespace blink |
OLD | NEW |