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

Side by Side Diff: Source/WebCore/dom/Document.cpp

Issue 7149022: Merge 87863 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/782/
Patch Set: Created 9 years, 6 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
« no previous file with comments | « LayoutTests/fast/dom/document-set-body-expected.txt ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011 Apple Inc. All rights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011 Apple Inc. All rights reserved.
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
8 * Copyright (C) 2008, 2009 Google Inc. All rights reserved. 8 * Copyright (C) 2008, 2009 Google Inc. All rights reserved.
9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
10 * 10 *
(...skipping 2013 matching lines...) Expand 10 before | Expand all | Expand 10 after
2024 return toHTMLElement(i); 2024 return toHTMLElement(i);
2025 2025
2026 if (i->hasTagName(bodyTag) && !body) 2026 if (i->hasTagName(bodyTag) && !body)
2027 body = i; 2027 body = i;
2028 } 2028 }
2029 return toHTMLElement(body); 2029 return toHTMLElement(body);
2030 } 2030 }
2031 2031
2032 void Document::setBody(PassRefPtr<HTMLElement> newBody, ExceptionCode& ec) 2032 void Document::setBody(PassRefPtr<HTMLElement> newBody, ExceptionCode& ec)
2033 { 2033 {
2034 if (!newBody || !documentElement()) { 2034 ec = 0;
2035
2036 if (!newBody || !documentElement() || !newBody->hasTagName(bodyTag)) {
2035 ec = HIERARCHY_REQUEST_ERR; 2037 ec = HIERARCHY_REQUEST_ERR;
2036 return; 2038 return;
2037 } 2039 }
2038 2040
2041 if (newBody->document() && newBody->document() != this) {
2042 RefPtr<Node> node = importNode(newBody.get(), true, ec);
2043 if (ec)
2044 return;
2045
2046 newBody = toHTMLElement(node.get());
2047 }
2048
2039 HTMLElement* b = body(); 2049 HTMLElement* b = body();
2040 if (!b) 2050 if (!b)
2041 documentElement()->appendChild(newBody, ec); 2051 documentElement()->appendChild(newBody, ec);
2042 else 2052 else
2043 documentElement()->replaceChild(newBody, b, ec); 2053 documentElement()->replaceChild(newBody, b, ec);
2044 } 2054 }
2045 2055
2046 HTMLHeadElement* Document::head() 2056 HTMLHeadElement* Document::head()
2047 { 2057 {
2048 Node* de = documentElement(); 2058 Node* de = documentElement();
(...skipping 3106 matching lines...) Expand 10 before | Expand all | Expand 10 after
5155 if (!loader) 5165 if (!loader)
5156 return 0; 5166 return 0;
5157 5167
5158 if (m_frame->document() != this) 5168 if (m_frame->document() != this)
5159 return 0; 5169 return 0;
5160 5170
5161 return loader; 5171 return loader;
5162 } 5172 }
5163 5173
5164 } // namespace WebCore 5174 } // namespace WebCore
OLDNEW
« no previous file with comments | « LayoutTests/fast/dom/document-set-body-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698