From 28040489d744e0c5d475a88663056c9040ed5320 Mon Sep 17 00:00:00 2001 From: Teng-Hui Zhu Date: Wed, 10 Nov 2010 15:31:59 -0800 Subject: Merge WebKit at r71558: Initial merge by git. Change-Id: Ib345578fa29df7e4bc72b4f00e4a6fddcb754c4c --- WebCore/page/FrameTree.cpp | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'WebCore/page/FrameTree.cpp') diff --git a/WebCore/page/FrameTree.cpp b/WebCore/page/FrameTree.cpp index 1f0604c..0e15379 100644 --- a/WebCore/page/FrameTree.cpp +++ b/WebCore/page/FrameTree.cpp @@ -1,4 +1,5 @@ /* + * Copyright (C) Research In Motion Limited 2010. All rights reserved. * Copyright (C) 2006 Apple Computer, Inc. * * This library is free software; you can redistribute it and/or @@ -40,17 +41,19 @@ FrameTree::~FrameTree() void FrameTree::setName(const AtomicString& name) { + m_name = name; if (!parent()) { - m_name = name; + m_uniqueName = name; return; } - m_name = AtomicString(); // Remove our old frame name so it's not considered in uniqueChildName. - m_name = parent()->tree()->uniqueChildName(name); + m_uniqueName = AtomicString(); // Remove our old frame name so it's not considered in uniqueChildName. + m_uniqueName = parent()->tree()->uniqueChildName(name); } void FrameTree::clearName() { m_name = AtomicString(); + m_uniqueName = AtomicString(); } Frame* FrameTree::parent(bool checkForDisconnectedFrame) const @@ -119,19 +122,19 @@ AtomicString FrameTree::uniqueChildName(const AtomicString& requestedName) const Vector chain; Frame* frame; for (frame = m_thisFrame; frame; frame = frame->tree()->parent()) { - if (frame->tree()->name().startsWith(framePathPrefix)) + if (frame->tree()->uniqueName().startsWith(framePathPrefix)) break; chain.append(frame); } String name; name += framePathPrefix; if (frame) - name += frame->tree()->name().string().substring(framePathPrefixLength, - frame->tree()->name().length() - framePathPrefixLength - framePathSuffixLength); + name += frame->tree()->uniqueName().string().substring(framePathPrefixLength, + frame->tree()->uniqueName().length() - framePathPrefixLength - framePathSuffixLength); for (int i = chain.size() - 1; i >= 0; --i) { frame = chain[i]; name += "/"; - name += frame->tree()->name(); + name += frame->tree()->uniqueName(); } // Suffix buffer has more than enough space for: @@ -159,7 +162,7 @@ Frame* FrameTree::child(unsigned index) const Frame* FrameTree::child(const AtomicString& name) const { for (Frame* child = firstChild(); child; child = child->tree()->nextSibling()) - if (child->tree()->name() == name) + if (child->tree()->uniqueName() == name) return child; return 0; } @@ -181,7 +184,7 @@ Frame* FrameTree::find(const AtomicString& name) const // Search subtree starting with this frame first. for (Frame* frame = m_thisFrame; frame; frame = frame->tree()->traverseNext(m_thisFrame)) - if (frame->tree()->name() == name) + if (frame->tree()->uniqueName() == name) return frame; // Search the entire tree for this page next. @@ -192,7 +195,7 @@ Frame* FrameTree::find(const AtomicString& name) const return 0; for (Frame* frame = page->mainFrame(); frame; frame = frame->tree()->traverseNext()) - if (frame->tree()->name() == name) + if (frame->tree()->uniqueName() == name) return frame; // Search the entire tree of each of the other pages in this namespace. @@ -203,7 +206,7 @@ Frame* FrameTree::find(const AtomicString& name) const Page* otherPage = *it; if (otherPage != page) { for (Frame* frame = otherPage->mainFrame(); frame; frame = frame->tree()->traverseNext()) { - if (frame->tree()->name() == name) + if (frame->tree()->uniqueName() == name) return frame; } } -- cgit v1.1