| OLD | NEW |
| 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, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r
ights 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, 2011, 2012 Google Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009, 2011, 2012 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 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. |
| (...skipping 1305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1316 if (HTMLElement* headElement = head()) { | 1316 if (HTMLElement* headElement = head()) { |
| 1317 m_titleElement = createElement(titleTag, false); | 1317 m_titleElement = createElement(titleTag, false); |
| 1318 headElement->appendChild(m_titleElement, ASSERT_NO_EXCEPTION); | 1318 headElement->appendChild(m_titleElement, ASSERT_NO_EXCEPTION); |
| 1319 } | 1319 } |
| 1320 } | 1320 } |
| 1321 | 1321 |
| 1322 // The DOM API has no method of specifying direction, so assume LTR. | 1322 // The DOM API has no method of specifying direction, so assume LTR. |
| 1323 updateTitle(StringWithDirection(title, LTR)); | 1323 updateTitle(StringWithDirection(title, LTR)); |
| 1324 | 1324 |
| 1325 if (m_titleElement) { | 1325 if (m_titleElement) { |
| 1326 ASSERT(m_titleElement->hasTagName(titleTag)); | 1326 ASSERT(isHTMLTitleElement(m_titleElement.get())); |
| 1327 if (m_titleElement->hasTagName(titleTag)) | 1327 if (isHTMLTitleElement(m_titleElement.get())) |
| 1328 static_cast<HTMLTitleElement*>(m_titleElement.get())->setText(title)
; | 1328 toHTMLTitleElement(m_titleElement.get())->setText(title); |
| 1329 } | 1329 } |
| 1330 } | 1330 } |
| 1331 | 1331 |
| 1332 void Document::setTitleElement(const StringWithDirection& title, Element* titleE
lement) | 1332 void Document::setTitleElement(const StringWithDirection& title, Element* titleE
lement) |
| 1333 { | 1333 { |
| 1334 if (titleElement != m_titleElement) { | 1334 if (titleElement != m_titleElement) { |
| 1335 if (m_titleElement || m_titleSetExplicitly) | 1335 if (m_titleElement || m_titleSetExplicitly) |
| 1336 // Only allow the first title element to change the title -- others
have no effect. | 1336 // Only allow the first title element to change the title -- others
have no effect. |
| 1337 return; | 1337 return; |
| 1338 m_titleElement = titleElement; | 1338 m_titleElement = titleElement; |
| 1339 } | 1339 } |
| 1340 | 1340 |
| 1341 updateTitle(title); | 1341 updateTitle(title); |
| 1342 } | 1342 } |
| 1343 | 1343 |
| 1344 void Document::removeTitle(Element* titleElement) | 1344 void Document::removeTitle(Element* titleElement) |
| 1345 { | 1345 { |
| 1346 if (m_titleElement != titleElement) | 1346 if (m_titleElement != titleElement) |
| 1347 return; | 1347 return; |
| 1348 | 1348 |
| 1349 m_titleElement = 0; | 1349 m_titleElement = 0; |
| 1350 m_titleSetExplicitly = false; | 1350 m_titleSetExplicitly = false; |
| 1351 | 1351 |
| 1352 // Update title based on first title element in the head, if one exists. | 1352 // Update title based on first title element in the head, if one exists. |
| 1353 if (HTMLElement* headElement = head()) { | 1353 if (HTMLElement* headElement = head()) { |
| 1354 for (Node* e = headElement->firstChild(); e; e = e->nextSibling()) | 1354 for (Node* e = headElement->firstChild(); e; e = e->nextSibling()) { |
| 1355 if (e->hasTagName(titleTag)) { | 1355 if (isHTMLTitleElement(e)) { |
| 1356 HTMLTitleElement* titleElement = static_cast<HTMLTitleElement*>(
e); | 1356 HTMLTitleElement* titleElement = toHTMLTitleElement(e); |
| 1357 setTitleElement(titleElement->textWithDirection(), titleElement)
; | 1357 setTitleElement(titleElement->textWithDirection(), titleElement)
; |
| 1358 break; | 1358 break; |
| 1359 } | 1359 } |
| 1360 } |
| 1360 } | 1361 } |
| 1361 | 1362 |
| 1362 if (!m_titleElement) | 1363 if (!m_titleElement) |
| 1363 updateTitle(StringWithDirection()); | 1364 updateTitle(StringWithDirection()); |
| 1364 } | 1365 } |
| 1365 | 1366 |
| 1366 PageVisibilityState Document::visibilityState() const | 1367 PageVisibilityState Document::visibilityState() const |
| 1367 { | 1368 { |
| 1368 // The visibility of the document is inherited from the visibility of the | 1369 // The visibility of the document is inherited from the visibility of the |
| 1369 // page. If there is no page associated with the document, we will assume | 1370 // page. If there is no page associated with the document, we will assume |
| (...skipping 3771 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5141 { | 5142 { |
| 5142 return DocumentLifecycleNotifier::create(this); | 5143 return DocumentLifecycleNotifier::create(this); |
| 5143 } | 5144 } |
| 5144 | 5145 |
| 5145 DocumentLifecycleNotifier* Document::lifecycleNotifier() | 5146 DocumentLifecycleNotifier* Document::lifecycleNotifier() |
| 5146 { | 5147 { |
| 5147 return static_cast<DocumentLifecycleNotifier*>(ScriptExecutionContext::lifec
ycleNotifier()); | 5148 return static_cast<DocumentLifecycleNotifier*>(ScriptExecutionContext::lifec
ycleNotifier()); |
| 5148 } | 5149 } |
| 5149 | 5150 |
| 5150 } // namespace WebCore | 5151 } // namespace WebCore |
| OLD | NEW |