Remove CFWL_NoteDriver::m_NoteLoopQueue. It is always a queue of one element, with that one element being the non-null m_pNoteLoop member. Change-Id: Ia6c5b4ff067e376297052a79506f6ee5f44d20e5 Reviewed-on: https://pdfium-review.googlesource.com/c/48330 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/xfa/fwl/cfwl_notedriver.cpp b/xfa/fwl/cfwl_notedriver.cpp index 13245ce..34ec0fd 100644 --- a/xfa/fwl/cfwl_notedriver.cpp +++ b/xfa/fwl/cfwl_notedriver.cpp
@@ -24,7 +24,6 @@ CFWL_NoteDriver::CFWL_NoteDriver() : m_pNoteLoop(pdfium::MakeUnique<CFWL_NoteLoop>()) { - m_NoteLoopQueue.emplace_back(m_pNoteLoop.get()); } CFWL_NoteDriver::~CFWL_NoteDriver() = default; @@ -129,10 +128,6 @@ ProcessMessage(std::move(pMessage)); } -CFWL_NoteLoop* CFWL_NoteDriver::GetTopLoop() const { - return !m_NoteLoopQueue.empty() ? m_NoteLoopQueue.back().Get() : nullptr; -} - void CFWL_NoteDriver::ProcessMessage(std::unique_ptr<CFWL_Message> pMessage) { CFWL_Widget* pMessageForm = pMessage->GetDstTarget(); if (!pMessageForm) @@ -316,19 +311,12 @@ } bool CFWL_NoteDriver::IsValidMessage(CFWL_Message* pMessage) { - for (const auto& pNoteLoop : m_NoteLoopQueue) { - CFWL_Widget* pForm = pNoteLoop->GetForm(); - if (pForm && pForm == pMessage->GetDstTarget()) - return true; - } - return false; + CFWL_Widget* pForm = m_pNoteLoop->GetForm(); + return pForm && pForm == pMessage->GetDstTarget(); } CFWL_Widget* CFWL_NoteDriver::GetMessageForm(CFWL_Widget* pDstTarget) { - if (m_NoteLoopQueue.empty()) - return nullptr; - - CFWL_Widget* pMessageForm = m_NoteLoopQueue.back()->GetForm(); + CFWL_Widget* pMessageForm = m_pNoteLoop->GetForm(); if (!pMessageForm && pDstTarget) { CFWL_WidgetMgr* pWidgetMgr = pDstTarget->GetOwnerApp()->GetWidgetMgr(); if (!pWidgetMgr)
diff --git a/xfa/fwl/cfwl_notedriver.h b/xfa/fwl/cfwl_notedriver.h index 15aac57..f15fef7 100644 --- a/xfa/fwl/cfwl_notedriver.h +++ b/xfa/fwl/cfwl_notedriver.h
@@ -33,8 +33,7 @@ void UnregisterEventTarget(CFWL_Widget* pListener); void ClearEventTargets(); - CFWL_NoteLoop* GetTopLoop() const; - + CFWL_NoteLoop* GetTopLoop() const { return m_pNoteLoop.get(); } CFWL_Widget* GetFocus() const { return m_pFocus.Get(); } bool SetFocus(CFWL_Widget* pFocus); void SetGrab(CFWL_Widget* pGrab, bool bSet) { @@ -42,10 +41,8 @@ } void Run(); - void NotifyTargetHide(CFWL_Widget* pNoteTarget); void NotifyTargetDestroy(CFWL_Widget* pNoteTarget); - void ProcessMessage(std::unique_ptr<CFWL_Message> pMessage); void QueueMessage(std::unique_ptr<CFWL_Message> pMessage); void UnqueueMessageAndProcess(CFWL_NoteLoop* pNoteLoop); @@ -63,8 +60,7 @@ CFWL_Widget* GetMessageForm(CFWL_Widget* pDstTarget); std::deque<std::unique_ptr<CFWL_Message>> m_NoteQueue; - std::unique_ptr<CFWL_NoteLoop> m_pNoteLoop; - std::vector<UnownedPtr<CFWL_NoteLoop>> m_NoteLoopQueue; + std::unique_ptr<CFWL_NoteLoop> const m_pNoteLoop; std::map<uint32_t, std::unique_ptr<CFWL_EventTarget>> m_eventTargets; UnownedPtr<CFWL_Widget> m_pHover; UnownedPtr<CFWL_Widget> m_pFocus;