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

Side by Side Diff: Source/core/loader/FrameLoader.cpp

Issue 138443013: Remove iframe@seamless (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Include remove tests Created 6 years, 11 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 | Annotate | Revision Log
OLDNEW
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 1381 matching lines...) Expand 10 before | Expand all | Expand 10 after
1392 return false; 1392 return false;
1393 if (!ownerElement->hasTagName(iframeTag)) 1393 if (!ownerElement->hasTagName(iframeTag))
1394 return false; 1394 return false;
1395 return ownerElement->fastHasAttribute(srcdocAttr); 1395 return ownerElement->fastHasAttribute(srcdocAttr);
1396 } 1396 }
1397 1397
1398 Frame* FrameLoader::findFrameForNavigation(const AtomicString& name, Document* a ctiveDocument) 1398 Frame* FrameLoader::findFrameForNavigation(const AtomicString& name, Document* a ctiveDocument)
1399 { 1399 {
1400 ASSERT(activeDocument); 1400 ASSERT(activeDocument);
1401 Frame* frame = m_frame->tree().find(name); 1401 Frame* frame = m_frame->tree().find(name);
1402
1403 // From http://www.whatwg.org/specs/web-apps/current-work/#seamlessLinks:
1404 //
1405 // If the source browsing context is the same as the browsing context
1406 // being navigated, and this browsing context has its seamless browsing
1407 // context flag set, and the browsing context being navigated was not
1408 // chosen using an explicit self-navigation override, then find the
1409 // nearest ancestor browsing context that does not have its seamless
1410 // browsing context flag set, and continue these steps as if that
1411 // browsing context was the one that was going to be navigated instead.
1412 if (frame == m_frame && name != "_self" && m_frame->document()->shouldDispla ySeamlesslyWithParent()) {
1413 for (Frame* ancestor = m_frame; ancestor; ancestor = ancestor->tree().pa rent()) {
1414 if (!ancestor->document()->shouldDisplaySeamlesslyWithParent()) {
1415 frame = ancestor;
1416 break;
1417 }
1418 }
1419 ASSERT(frame != m_frame);
1420 }
1421
1422 if (!activeDocument->canNavigate(frame)) 1402 if (!activeDocument->canNavigate(frame))
1423 return 0; 1403 return 0;
1424 return frame; 1404 return frame;
1425 } 1405 }
1426 1406
1427 void FrameLoader::loadHistoryItem(HistoryItem* item, HistoryLoadType historyLoad Type, ResourceRequestCachePolicy cachePolicy) 1407 void FrameLoader::loadHistoryItem(HistoryItem* item, HistoryLoadType historyLoad Type, ResourceRequestCachePolicy cachePolicy)
1428 { 1408 {
1429 m_provisionalItem = item; 1409 m_provisionalItem = item;
1430 if (historyLoadType == HistorySameDocumentLoad) { 1410 if (historyLoadType == HistorySameDocumentLoad) {
1431 loadInSameDocument(item->url(), item->stateObject(), DoNotUpdateBackForw ardList, NotClientRedirect); 1411 loadInSameDocument(item->url(), item->stateObject(), DoNotUpdateBackForw ardList, NotClientRedirect);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1481 { 1461 {
1482 SandboxFlags flags = m_forcedSandboxFlags; 1462 SandboxFlags flags = m_forcedSandboxFlags;
1483 if (Frame* parentFrame = m_frame->tree().parent()) 1463 if (Frame* parentFrame = m_frame->tree().parent())
1484 flags |= parentFrame->document()->sandboxFlags(); 1464 flags |= parentFrame->document()->sandboxFlags();
1485 if (HTMLFrameOwnerElement* ownerElement = m_frame->ownerElement()) 1465 if (HTMLFrameOwnerElement* ownerElement = m_frame->ownerElement())
1486 flags |= ownerElement->sandboxFlags(); 1466 flags |= ownerElement->sandboxFlags();
1487 return flags; 1467 return flags;
1488 } 1468 }
1489 1469
1490 } // namespace WebCore 1470 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698