| 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 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 virtual void performTask(ExecutionContext* context) OVERRIDE | 387 virtual void performTask(ExecutionContext* context) OVERRIDE |
| 388 { | 388 { |
| 389 Document* document = toDocument(context); | 389 Document* document = toDocument(context); |
| 390 if (RefPtr<Element> element = document->autofocusElement()) { | 390 if (RefPtr<Element> element = document->autofocusElement()) { |
| 391 document->setAutofocusElement(0); | 391 document->setAutofocusElement(0); |
| 392 element->focus(); | 392 element->focus(); |
| 393 } | 393 } |
| 394 } | 394 } |
| 395 }; | 395 }; |
| 396 | 396 |
| 397 DocumentVisibilityObserver::DocumentVisibilityObserver(Document& document) |
| 398 : m_document(0) |
| 399 { |
| 400 registerObserver(document); |
| 401 } |
| 402 |
| 403 DocumentVisibilityObserver::~DocumentVisibilityObserver() |
| 404 { |
| 405 unregisterObserver(); |
| 406 } |
| 407 |
| 408 void DocumentVisibilityObserver::unregisterObserver() |
| 409 { |
| 410 if (m_document) { |
| 411 m_document->unregisterVisibilityObserver(this); |
| 412 m_document = 0; |
| 413 } |
| 414 } |
| 415 |
| 416 void DocumentVisibilityObserver::registerObserver(Document& document) |
| 417 { |
| 418 ASSERT(!m_document); |
| 419 m_document = &document; |
| 420 if (m_document) |
| 421 m_document->registerVisibilityObserver(this); |
| 422 } |
| 423 |
| 424 void DocumentVisibilityObserver::setObservedDocument(Document& document) |
| 425 { |
| 426 unregisterObserver(); |
| 427 registerObserver(document); |
| 428 } |
| 429 |
| 397 Document::Document(const DocumentInit& initializer, DocumentClassFlags documentC
lasses) | 430 Document::Document(const DocumentInit& initializer, DocumentClassFlags documentC
lasses) |
| 398 : ContainerNode(0, CreateDocument) | 431 : ContainerNode(0, CreateDocument) |
| 399 , TreeScope(*this) | 432 , TreeScope(*this) |
| 400 , m_hasNodesWithPlaceholderStyle(false) | 433 , m_hasNodesWithPlaceholderStyle(false) |
| 401 , m_needsNotifyRemoveAllPendingStylesheet(false) | 434 , m_needsNotifyRemoveAllPendingStylesheet(false) |
| 402 , m_evaluateMediaQueriesOnStyleRecalc(false) | 435 , m_evaluateMediaQueriesOnStyleRecalc(false) |
| 403 , m_pendingSheetLayout(NoLayoutWithPendingSheets) | 436 , m_pendingSheetLayout(NoLayoutWithPendingSheets) |
| 404 , m_frame(initializer.frame()) | 437 , m_frame(initializer.frame()) |
| 405 , m_domWindow(m_frame ? m_frame->domWindow() : 0) | 438 , m_domWindow(m_frame ? m_frame->domWindow() : 0) |
| 406 , m_import(initializer.import()) | 439 , m_import(initializer.import()) |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 // m_fetcher. | 542 // m_fetcher. |
| 510 m_styleEngine = StyleEngine::create(*this); | 543 m_styleEngine = StyleEngine::create(*this); |
| 511 } | 544 } |
| 512 | 545 |
| 513 Document::~Document() | 546 Document::~Document() |
| 514 { | 547 { |
| 515 ASSERT(!renderView()); | 548 ASSERT(!renderView()); |
| 516 ASSERT(m_ranges.isEmpty()); | 549 ASSERT(m_ranges.isEmpty()); |
| 517 ASSERT(!parentTreeScope()); | 550 ASSERT(!parentTreeScope()); |
| 518 ASSERT(!hasGuardRefCount()); | 551 ASSERT(!hasGuardRefCount()); |
| 552 ASSERT(m_visibilityObservers.isEmpty()); |
| 519 | 553 |
| 520 if (m_templateDocument) | 554 if (m_templateDocument) |
| 521 m_templateDocument->setTemplateDocumentHost(0); // balanced in templateD
ocument(). | 555 m_templateDocument->setTemplateDocumentHost(0); // balanced in templateD
ocument(). |
| 522 | 556 |
| 523 if (Document* ownerDocument = this->ownerDocument()) | 557 if (Document* ownerDocument = this->ownerDocument()) |
| 524 ownerDocument->didRemoveEventTargetNode(this); | 558 ownerDocument->didRemoveEventTargetNode(this); |
| 525 | 559 |
| 526 m_scriptRunner.clear(); | 560 m_scriptRunner.clear(); |
| 527 | 561 |
| 528 removeAllEventListeners(); | 562 removeAllEventListeners(); |
| (...skipping 869 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1398 String Document::visibilityState() const | 1432 String Document::visibilityState() const |
| 1399 { | 1433 { |
| 1400 return pageVisibilityStateString(pageVisibilityState()); | 1434 return pageVisibilityStateString(pageVisibilityState()); |
| 1401 } | 1435 } |
| 1402 | 1436 |
| 1403 bool Document::hidden() const | 1437 bool Document::hidden() const |
| 1404 { | 1438 { |
| 1405 return pageVisibilityState() != PageVisibilityStateVisible; | 1439 return pageVisibilityState() != PageVisibilityStateVisible; |
| 1406 } | 1440 } |
| 1407 | 1441 |
| 1408 void Document::dispatchVisibilityStateChangeEvent() | 1442 void Document::didChangeVisibilityState() |
| 1409 { | 1443 { |
| 1410 dispatchEvent(Event::create(EventTypeNames::visibilitychange)); | 1444 dispatchEvent(Event::create(EventTypeNames::visibilitychange)); |
| 1411 // Also send out the deprecated version until it can be removed. | 1445 // Also send out the deprecated version until it can be removed. |
| 1412 dispatchEvent(Event::create(EventTypeNames::webkitvisibilitychange)); | 1446 dispatchEvent(Event::create(EventTypeNames::webkitvisibilitychange)); |
| 1447 |
| 1448 PageVisibilityState state = pageVisibilityState(); |
| 1449 HashSet<DocumentVisibilityObserver*>::const_iterator observerEnd = m_visibil
ityObservers.end(); |
| 1450 for (HashSet<DocumentVisibilityObserver*>::const_iterator it = m_visibilityO
bservers.begin(); it != observerEnd; ++it) |
| 1451 (*it)->didChangeVisibilityState(state); |
| 1452 } |
| 1453 |
| 1454 void Document::registerVisibilityObserver(DocumentVisibilityObserver* observer) |
| 1455 { |
| 1456 ASSERT(!m_visibilityObservers.contains(observer)); |
| 1457 m_visibilityObservers.add(observer); |
| 1458 } |
| 1459 |
| 1460 void Document::unregisterVisibilityObserver(DocumentVisibilityObserver* observer
) |
| 1461 { |
| 1462 ASSERT(m_visibilityObservers.contains(observer)); |
| 1463 m_visibilityObservers.remove(observer); |
| 1413 } | 1464 } |
| 1414 | 1465 |
| 1415 String Document::nodeName() const | 1466 String Document::nodeName() const |
| 1416 { | 1467 { |
| 1417 return "#document"; | 1468 return "#document"; |
| 1418 } | 1469 } |
| 1419 | 1470 |
| 1420 Node::NodeType Document::nodeType() const | 1471 Node::NodeType Document::nodeType() const |
| 1421 { | 1472 { |
| 1422 return DOCUMENT_NODE; | 1473 return DOCUMENT_NODE; |
| (...skipping 3896 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5319 if (!page->focusController().isActive() || !page->focusController().isFocuse
d()) | 5370 if (!page->focusController().isActive() || !page->focusController().isFocuse
d()) |
| 5320 return false; | 5371 return false; |
| 5321 if (Frame* focusedFrame = page->focusController().focusedFrame()) { | 5372 if (Frame* focusedFrame = page->focusController().focusedFrame()) { |
| 5322 if (focusedFrame->tree().isDescendantOf(frame())) | 5373 if (focusedFrame->tree().isDescendantOf(frame())) |
| 5323 return true; | 5374 return true; |
| 5324 } | 5375 } |
| 5325 return false; | 5376 return false; |
| 5326 } | 5377 } |
| 5327 | 5378 |
| 5328 } // namespace WebCore | 5379 } // namespace WebCore |
| OLD | NEW |