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 1132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1143 } | 1143 } |
1144 | 1144 |
1145 void FrameLoader::detachClient() | 1145 void FrameLoader::detachClient() |
1146 { | 1146 { |
1147 ASSERT(client()); | 1147 ASSERT(client()); |
1148 | 1148 |
1149 // Finish all cleanup work that might require talking to the embedder. | 1149 // Finish all cleanup work that might require talking to the embedder. |
1150 m_progressTracker.clear(); | 1150 m_progressTracker.clear(); |
1151 setOpener(0); | 1151 setOpener(0); |
1152 // Notify ScriptController that the frame is closing, since its cleanup ends
up calling | 1152 // Notify ScriptController that the frame is closing, since its cleanup ends
up calling |
1153 // back to FrameLoaderClient via V8WindowShell. | 1153 // back to FrameLoaderClient via WindowProxy. |
1154 m_frame->script().clearForClose(); | 1154 m_frame->script().clearForClose(); |
1155 | 1155 |
1156 // client() should never be null because that means we somehow re-entered | 1156 // client() should never be null because that means we somehow re-entered |
1157 // the frame detach code... but it is sometimes. | 1157 // the frame detach code... but it is sometimes. |
1158 // FIXME: Understand why this is happening so we can document this insanity. | 1158 // FIXME: Understand why this is happening so we can document this insanity. |
1159 if (client()) { | 1159 if (client()) { |
1160 // After this, we must no longer talk to the client since this clears | 1160 // After this, we must no longer talk to the client since this clears |
1161 // its owning reference back to our owning LocalFrame. | 1161 // its owning reference back to our owning LocalFrame. |
1162 client()->detachedFromParent(); | 1162 client()->detachedFromParent(); |
1163 m_frame->clearClient(); | 1163 m_frame->clearClient(); |
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1480 // FIXME: We need a way to propagate sandbox flags to out-of-process frames. | 1480 // FIXME: We need a way to propagate sandbox flags to out-of-process frames. |
1481 Frame* parentFrame = m_frame->tree().parent(); | 1481 Frame* parentFrame = m_frame->tree().parent(); |
1482 if (parentFrame && parentFrame->isLocalFrame()) | 1482 if (parentFrame && parentFrame->isLocalFrame()) |
1483 flags |= toLocalFrame(parentFrame)->document()->sandboxFlags(); | 1483 flags |= toLocalFrame(parentFrame)->document()->sandboxFlags(); |
1484 if (FrameOwner* frameOwner = m_frame->owner()) | 1484 if (FrameOwner* frameOwner = m_frame->owner()) |
1485 flags |= frameOwner->sandboxFlags(); | 1485 flags |= frameOwner->sandboxFlags(); |
1486 return flags; | 1486 return flags; |
1487 } | 1487 } |
1488 | 1488 |
1489 } // namespace blink | 1489 } // namespace blink |
OLD | NEW |