OSDN Git Service

Merge WebKit at r71558: Initial merge by git.
[android-x86/external-webkit.git] / WebCore / page / FrameTree.cpp
index 1f0604c..0e15379 100644 (file)
@@ -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;
             }
         }