| 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 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 510 // m_fetcher. | 543 // m_fetcher. |
| 511 m_styleEngine = StyleEngine::create(*this); | 544 m_styleEngine = StyleEngine::create(*this); |
| 512 } | 545 } |
| 513 | 546 |
| 514 Document::~Document() | 547 Document::~Document() |
| 515 { | 548 { |
| 516 ASSERT(!renderView()); | 549 ASSERT(!renderView()); |
| 517 ASSERT(m_ranges.isEmpty()); | 550 ASSERT(m_ranges.isEmpty()); |
| 518 ASSERT(!parentTreeScope()); | 551 ASSERT(!parentTreeScope()); |
| 519 ASSERT(!hasGuardRefCount()); | 552 ASSERT(!hasGuardRefCount()); |
| 553 ASSERT(m_visibilityObservers.isEmpty()); |
| 520 | 554 |
| 521 if (m_templateDocument) | 555 if (m_templateDocument) |
| 522 m_templateDocument->setTemplateDocumentHost(0); // balanced in templateD
ocument(). | 556 m_templateDocument->setTemplateDocumentHost(0); // balanced in templateD
ocument(). |
| 523 | 557 |
| 524 if (Document* ownerDocument = this->ownerDocument()) | 558 if (Document* ownerDocument = this->ownerDocument()) |
| 525 ownerDocument->didRemoveEventTargetNode(this); | 559 ownerDocument->didRemoveEventTargetNode(this); |
| 526 | 560 |
| 527 m_scriptRunner.clear(); | 561 m_scriptRunner.clear(); |
| 528 | 562 |
| 529 removeAllEventListeners(); | 563 removeAllEventListeners(); |
| (...skipping 869 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1399 String Document::visibilityState() const | 1433 String Document::visibilityState() const |
| 1400 { | 1434 { |
| 1401 return pageVisibilityStateString(pageVisibilityState()); | 1435 return pageVisibilityStateString(pageVisibilityState()); |
| 1402 } | 1436 } |
| 1403 | 1437 |
| 1404 bool Document::hidden() const | 1438 bool Document::hidden() const |
| 1405 { | 1439 { |
| 1406 return pageVisibilityState() != PageVisibilityStateVisible; | 1440 return pageVisibilityState() != PageVisibilityStateVisible; |
| 1407 } | 1441 } |
| 1408 | 1442 |
| 1409 void Document::dispatchVisibilityStateChangeEvent() | 1443 void Document::didChangeVisibilityState() |
| 1410 { | 1444 { |
| 1411 dispatchEvent(Event::create(EventTypeNames::visibilitychange)); | 1445 dispatchEvent(Event::create(EventTypeNames::visibilitychange)); |
| 1412 // Also send out the deprecated version until it can be removed. | 1446 // Also send out the deprecated version until it can be removed. |
| 1413 dispatchEvent(Event::create(EventTypeNames::webkitvisibilitychange)); | 1447 dispatchEvent(Event::create(EventTypeNames::webkitvisibilitychange)); |
| 1448 |
| 1449 PageVisibilityState state = pageVisibilityState(); |
| 1450 HashSet<DocumentVisibilityObserver*>::const_iterator observerEnd = m_visibil
ityObservers.end(); |
| 1451 for (HashSet<DocumentVisibilityObserver*>::const_iterator it = m_visibilityO
bservers.begin(); it != observerEnd; ++it) |
| 1452 (*it)->didChangeVisibilityState(state); |
| 1453 } |
| 1454 |
| 1455 void Document::registerVisibilityObserver(DocumentVisibilityObserver* observer) |
| 1456 { |
| 1457 ASSERT(!m_visibilityObservers.contains(observer)); |
| 1458 m_visibilityObservers.add(observer); |
| 1459 } |
| 1460 |
| 1461 void Document::unregisterVisibilityObserver(DocumentVisibilityObserver* observer
) |
| 1462 { |
| 1463 ASSERT(m_visibilityObservers.contains(observer)); |
| 1464 m_visibilityObservers.remove(observer); |
| 1414 } | 1465 } |
| 1415 | 1466 |
| 1416 String Document::nodeName() const | 1467 String Document::nodeName() const |
| 1417 { | 1468 { |
| 1418 return "#document"; | 1469 return "#document"; |
| 1419 } | 1470 } |
| 1420 | 1471 |
| 1421 Node::NodeType Document::nodeType() const | 1472 Node::NodeType Document::nodeType() const |
| 1422 { | 1473 { |
| 1423 return DOCUMENT_NODE; | 1474 return DOCUMENT_NODE; |
| (...skipping 3940 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5364 if (!page->focusController().isActive() || !page->focusController().isFocuse
d()) | 5415 if (!page->focusController().isActive() || !page->focusController().isFocuse
d()) |
| 5365 return false; | 5416 return false; |
| 5366 if (Frame* focusedFrame = page->focusController().focusedFrame()) { | 5417 if (Frame* focusedFrame = page->focusController().focusedFrame()) { |
| 5367 if (focusedFrame->tree().isDescendantOf(frame())) | 5418 if (focusedFrame->tree().isDescendantOf(frame())) |
| 5368 return true; | 5419 return true; |
| 5369 } | 5420 } |
| 5370 return false; | 5421 return false; |
| 5371 } | 5422 } |
| 5372 | 5423 |
| 5373 } // namespace WebCore | 5424 } // namespace WebCore |
| OLD | NEW |