summaryrefslogtreecommitdiffstats
path: root/WebCore/page/FrameTree.cpp
diff options
context:
space:
mode:
authorTeng-Hui Zhu <ztenghui@google.com>2010-11-10 15:31:59 -0800
committerTeng-Hui Zhu <ztenghui@google.com>2010-11-17 13:35:59 -0800
commit28040489d744e0c5d475a88663056c9040ed5320 (patch)
treec463676791e4a63e452a95f0a12b2a8519730693 /WebCore/page/FrameTree.cpp
parenteff9be92c41913c92fb1d3b7983c071f3e718678 (diff)
downloadexternal_webkit-28040489d744e0c5d475a88663056c9040ed5320.zip
external_webkit-28040489d744e0c5d475a88663056c9040ed5320.tar.gz
external_webkit-28040489d744e0c5d475a88663056c9040ed5320.tar.bz2
Merge WebKit at r71558: Initial merge by git.
Change-Id: Ib345578fa29df7e4bc72b4f00e4a6fddcb754c4c
Diffstat (limited to 'WebCore/page/FrameTree.cpp')
-rw-r--r--WebCore/page/FrameTree.cpp25
1 files changed, 14 insertions, 11 deletions
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<Frame*, 16> 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;
}
}