| 1565 | } |
| 1566 | |
| 1567 | Instance::ProcessReceivedPageResult Instance::processReceivedPage( |
| 1568 | not_null<Main::Session*> session, |
| 1569 | const QString &url, |
| 1570 | const MTPmessages_WebPage &result) { |
| 1571 | const auto &data = result.data(); |
| 1572 | const auto owner = &session->data(); |
| 1573 | owner->processUsers(data.vusers()); |
| 1574 | owner->processChats(data.vchats()); |
| 1575 | auto &requested = _fullRequested[session][url]; |
| 1576 | auto processed = ProcessReceivedPageResult(); |
| 1577 | const auto &mtp = data.vwebpage(); |
| 1578 | mtp.match([&](const MTPDwebPageNotModified &data) { |
| 1579 | Q_UNUSED(data); |
| 1580 | |
| 1581 | processed.page = requested.page; |
| 1582 | }, [&](const MTPDwebPage &data) { |
| 1583 | const auto oldPage = requested.page; |
| 1584 | const auto oldVersion = oldPage ? oldPage->version : 0; |
| 1585 | const auto oldIvHash = (oldPage && oldPage->iv) |
| 1586 | ? oldPage->iv->hash() |
| 1587 | : 0; |
| 1588 | requested.hash = data.vhash().v; |
| 1589 | processed.page = owner->processWebpage(data).get(); |
| 1590 | requested.page = processed.page; |
| 1591 | processed.articleChanged = processed.page |
| 1592 | && processed.page->iv |
| 1593 | && (!oldPage |
| 1594 | || processed.page->version != oldVersion |
| 1595 | || processed.page->iv->hash() != oldIvHash); |
| 1596 | }, [&](const auto &) { |
| 1597 | processed.page = owner->processWebpage(mtp).get(); |
| 1598 | requested.page = processed.page; |
| 1599 | }); |
| 1600 | return processed; |
| 1601 | } |
| 1602 | |
| 1603 | auto Instance::processReceivedRichMessage( |
| 1604 | not_null<Main::Session*> session, |
nothing calls this directly
no test coverage detected