summaryrefslogtreecommitdiff
path: root/xfa
diff options
context:
space:
mode:
Diffstat (limited to 'xfa')
-rw-r--r--xfa/fwl/core/cfwl_event.h3
-rw-r--r--xfa/fwl/core/cfwl_message.cpp20
-rw-r--r--xfa/fwl/core/cfwl_message.h90
-rw-r--r--xfa/fwl/core/cfwl_msgkey.cpp21
-rw-r--r--xfa/fwl/core/cfwl_msgkey.h28
-rw-r--r--xfa/fwl/core/cfwl_msgkillfocus.cpp21
-rw-r--r--xfa/fwl/core/cfwl_msgkillfocus.h24
-rw-r--r--xfa/fwl/core/cfwl_msgmouse.cpp21
-rw-r--r--xfa/fwl/core/cfwl_msgmouse.h40
-rw-r--r--xfa/fwl/core/cfwl_msgmousewheel.cpp21
-rw-r--r--xfa/fwl/core/cfwl_msgmousewheel.h28
-rw-r--r--xfa/fwl/core/cfwl_msgsetfocus.cpp21
-rw-r--r--xfa/fwl/core/cfwl_msgsetfocus.h24
-rw-r--r--xfa/fwl/core/cfwl_widgetmgr.cpp13
-rw-r--r--xfa/fwl/core/cfwl_widgetmgr.h11
-rw-r--r--xfa/fwl/core/fwl_noteimp.cpp26
-rw-r--r--xfa/fwl/core/fwl_noteimp.h6
-rw-r--r--xfa/fwl/core/ifwl_checkbox.cpp3
-rw-r--r--xfa/fwl/core/ifwl_combobox.cpp5
-rw-r--r--xfa/fwl/core/ifwl_comboboxproxy.cpp17
-rw-r--r--xfa/fwl/core/ifwl_comboboxproxy.h6
-rw-r--r--xfa/fwl/core/ifwl_comboedit.cpp1
-rw-r--r--xfa/fwl/core/ifwl_combolist.cpp3
-rw-r--r--xfa/fwl/core/ifwl_datetimeedit.cpp1
-rw-r--r--xfa/fwl/core/ifwl_datetimeedit.h1
-rw-r--r--xfa/fwl/core/ifwl_datetimepicker.cpp3
-rw-r--r--xfa/fwl/core/ifwl_edit.cpp3
-rw-r--r--xfa/fwl/core/ifwl_form.cpp2
-rw-r--r--xfa/fwl/core/ifwl_listbox.cpp4
-rw-r--r--xfa/fwl/core/ifwl_monthcalendar.cpp2
-rw-r--r--xfa/fwl/core/ifwl_pushbutton.cpp3
-rw-r--r--xfa/fwl/core/ifwl_scrollbar.cpp3
-rw-r--r--xfa/fwl/core/ifwl_spinbutton.cpp3
-rw-r--r--xfa/fwl/core/ifwl_widget.cpp6
-rw-r--r--xfa/fxfa/app/xfa_ffapp.cpp3
-rw-r--r--xfa/fxfa/app/xfa_ffcheckbutton.cpp2
-rw-r--r--xfa/fxfa/app/xfa_fffield.cpp6
-rw-r--r--xfa/fxfa/app/xfa_ffimageedit.cpp2
-rw-r--r--xfa/fxfa/app/xfa_fftextedit.cpp4
39 files changed, 353 insertions, 148 deletions
diff --git a/xfa/fwl/core/cfwl_event.h b/xfa/fwl/core/cfwl_event.h
index 4b74c02930..e7bc15ad58 100644
--- a/xfa/fwl/core/cfwl_event.h
+++ b/xfa/fwl/core/cfwl_event.h
@@ -10,7 +10,8 @@
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgkey.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/fwl_error.h"
enum class FWL_SCBCODE {
diff --git a/xfa/fwl/core/cfwl_message.cpp b/xfa/fwl/core/cfwl_message.cpp
new file mode 100644
index 0000000000..e233900d6e
--- /dev/null
+++ b/xfa/fwl/core/cfwl_message.cpp
@@ -0,0 +1,20 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#include "xfa/fwl/core/cfwl_message.h"
+
+CFWL_Message::CFWL_Message()
+ : m_pSrcTarget(nullptr), m_pDstTarget(nullptr), m_dwExtend(0) {}
+
+CFWL_Message::~CFWL_Message() {}
+
+std::unique_ptr<CFWL_Message> CFWL_Message::Clone() {
+ return nullptr;
+}
+
+CFWL_MessageType CFWL_Message::GetClassID() const {
+ return CFWL_MessageType::None;
+}
diff --git a/xfa/fwl/core/cfwl_message.h b/xfa/fwl/core/cfwl_message.h
index 56e8185c29..1ad43a6d89 100644
--- a/xfa/fwl/core/cfwl_message.h
+++ b/xfa/fwl/core/cfwl_message.h
@@ -7,6 +7,8 @@
#ifndef XFA_FWL_CORE_CFWL_MESSAGE_H_
#define XFA_FWL_CORE_CFWL_MESSAGE_H_
+#include <memory>
+
#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
@@ -21,21 +23,6 @@ enum class CFWL_MessageType {
SetFocus
};
-enum class FWL_MouseCommand {
- LeftButtonDown,
- LeftButtonUp,
- LeftButtonDblClk,
- RightButtonDown,
- RightButtonUp,
- RightButtonDblClk,
- Move,
- Enter,
- Leave,
- Hover
-};
-
-enum class FWL_KeyCommand { KeyDown, KeyUp, Char };
-
class IFWL_Widget;
class CFWL_Message {
@@ -43,84 +30,13 @@ class CFWL_Message {
CFWL_Message();
virtual ~CFWL_Message();
- virtual CFWL_Message* Clone();
+ virtual std::unique_ptr<CFWL_Message> Clone();
virtual CFWL_MessageType GetClassID() const;
- uint32_t Release();
- CFWL_Message* Retain();
-
IFWL_Widget* m_pSrcTarget;
IFWL_Widget* m_pDstTarget;
uint32_t m_dwExtend;
-
- private:
- uint32_t m_dwRefCount;
};
-inline CFWL_Message::CFWL_Message()
- : m_pSrcTarget(nullptr),
- m_pDstTarget(nullptr),
- m_dwExtend(0),
- m_dwRefCount(1) {}
-
-inline CFWL_Message::~CFWL_Message() {}
-
-inline CFWL_Message* CFWL_Message::Clone() {
- return nullptr;
-}
-
-inline CFWL_MessageType CFWL_Message::GetClassID() const {
- return CFWL_MessageType::None;
-}
-
-inline uint32_t CFWL_Message::Release() {
- m_dwRefCount--;
- uint32_t dwRefCount = m_dwRefCount;
- if (!m_dwRefCount)
- delete this;
- return dwRefCount;
-}
-
-inline CFWL_Message* CFWL_Message::Retain() {
- m_dwRefCount++;
- return this;
-}
-
-#define FWL_MESSAGE_DEF(classname, msgType, ...) \
- class classname : public CFWL_Message { \
- public: \
- classname(); \
- ~classname() override; \
- CFWL_Message* Clone() override; \
- CFWL_MessageType GetClassID() const override; \
- __VA_ARGS__ \
- }; \
- inline classname::classname() {} \
- inline classname::~classname() {} \
- inline CFWL_Message* classname::Clone() { return new classname(*this); } \
- inline CFWL_MessageType classname::GetClassID() const { return msgType; }
-
-FWL_MESSAGE_DEF(CFWL_MsgMouse, CFWL_MessageType::Mouse, FX_FLOAT m_fx;
- FX_FLOAT m_fy;
- uint32_t m_dwFlags;
- FWL_MouseCommand m_dwCmd;)
-
-FWL_MESSAGE_DEF(CFWL_MsgMouseWheel, CFWL_MessageType::MouseWheel, FX_FLOAT m_fx;
- FX_FLOAT m_fy;
- FX_FLOAT m_fDeltaX;
- FX_FLOAT m_fDeltaY;
- uint32_t m_dwFlags;)
-
-FWL_MESSAGE_DEF(CFWL_MsgSetFocus,
- CFWL_MessageType::SetFocus,
- IFWL_Widget* m_pKillFocus;)
-
-FWL_MESSAGE_DEF(CFWL_MsgKillFocus,
- CFWL_MessageType::KillFocus,
- IFWL_Widget* m_pSetFocus;)
-
-FWL_MESSAGE_DEF(CFWL_MsgKey, CFWL_MessageType::Key, uint32_t m_dwKeyCode;
- uint32_t m_dwFlags;
- FWL_KeyCommand m_dwCmd;)
#endif // XFA_FWL_CORE_CFWL_MESSAGE_H_
diff --git a/xfa/fwl/core/cfwl_msgkey.cpp b/xfa/fwl/core/cfwl_msgkey.cpp
new file mode 100644
index 0000000000..0163da9e8d
--- /dev/null
+++ b/xfa/fwl/core/cfwl_msgkey.cpp
@@ -0,0 +1,21 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#include "xfa/fwl/core/cfwl_msgkey.h"
+
+#include "third_party/base/ptr_util.h"
+
+CFWL_MsgKey::CFWL_MsgKey() {}
+
+CFWL_MsgKey::~CFWL_MsgKey() {}
+
+std::unique_ptr<CFWL_Message> CFWL_MsgKey::Clone() {
+ return pdfium::MakeUnique<CFWL_MsgKey>(*this);
+}
+
+CFWL_MessageType CFWL_MsgKey::GetClassID() const {
+ return CFWL_MessageType::Key;
+}
diff --git a/xfa/fwl/core/cfwl_msgkey.h b/xfa/fwl/core/cfwl_msgkey.h
new file mode 100644
index 0000000000..492e53fdfb
--- /dev/null
+++ b/xfa/fwl/core/cfwl_msgkey.h
@@ -0,0 +1,28 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef XFA_FWL_CORE_CFWL_MSGKEY_H_
+#define XFA_FWL_CORE_CFWL_MSGKEY_H_
+
+#include "xfa/fwl/core/cfwl_message.h"
+
+enum class FWL_KeyCommand { KeyDown, KeyUp, Char };
+
+class CFWL_MsgKey : public CFWL_Message {
+ public:
+ CFWL_MsgKey();
+ ~CFWL_MsgKey() override;
+
+ // CFWL_Message
+ std::unique_ptr<CFWL_Message> Clone() override;
+ CFWL_MessageType GetClassID() const override;
+
+ uint32_t m_dwKeyCode;
+ uint32_t m_dwFlags;
+ FWL_KeyCommand m_dwCmd;
+};
+
+#endif // XFA_FWL_CORE_CFWL_MSGKEY_H_
diff --git a/xfa/fwl/core/cfwl_msgkillfocus.cpp b/xfa/fwl/core/cfwl_msgkillfocus.cpp
new file mode 100644
index 0000000000..c2407edfef
--- /dev/null
+++ b/xfa/fwl/core/cfwl_msgkillfocus.cpp
@@ -0,0 +1,21 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#include "xfa/fwl/core/cfwl_msgkillfocus.h"
+
+#include "third_party/base/ptr_util.h"
+
+CFWL_MsgKillFocus::CFWL_MsgKillFocus() {}
+
+CFWL_MsgKillFocus::~CFWL_MsgKillFocus() {}
+
+std::unique_ptr<CFWL_Message> CFWL_MsgKillFocus::Clone() {
+ return pdfium::MakeUnique<CFWL_MsgKillFocus>(*this);
+}
+
+CFWL_MessageType CFWL_MsgKillFocus::GetClassID() const {
+ return CFWL_MessageType::KillFocus;
+}
diff --git a/xfa/fwl/core/cfwl_msgkillfocus.h b/xfa/fwl/core/cfwl_msgkillfocus.h
new file mode 100644
index 0000000000..d2a1f20db4
--- /dev/null
+++ b/xfa/fwl/core/cfwl_msgkillfocus.h
@@ -0,0 +1,24 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef XFA_FWL_CORE_CFWL_MSGKILLFOCUS_H_
+#define XFA_FWL_CORE_CFWL_MSGKILLFOCUS_H_
+
+#include "xfa/fwl/core/cfwl_message.h"
+
+class CFWL_MsgKillFocus : public CFWL_Message {
+ public:
+ CFWL_MsgKillFocus();
+ ~CFWL_MsgKillFocus() override;
+
+ // CFWL_Message
+ std::unique_ptr<CFWL_Message> Clone() override;
+ CFWL_MessageType GetClassID() const override;
+
+ IFWL_Widget* m_pSetFocus;
+};
+
+#endif // XFA_FWL_CORE_CFWL_MSGKILLFOCUS_H_
diff --git a/xfa/fwl/core/cfwl_msgmouse.cpp b/xfa/fwl/core/cfwl_msgmouse.cpp
new file mode 100644
index 0000000000..ff28cdc9c8
--- /dev/null
+++ b/xfa/fwl/core/cfwl_msgmouse.cpp
@@ -0,0 +1,21 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#include "xfa/fwl/core/cfwl_msgmouse.h"
+
+#include "third_party/base/ptr_util.h"
+
+CFWL_MsgMouse::CFWL_MsgMouse() {}
+
+CFWL_MsgMouse::~CFWL_MsgMouse() {}
+
+std::unique_ptr<CFWL_Message> CFWL_MsgMouse::Clone() {
+ return pdfium::MakeUnique<CFWL_MsgMouse>(*this);
+}
+
+CFWL_MessageType CFWL_MsgMouse::GetClassID() const {
+ return CFWL_MessageType::Mouse;
+}
diff --git a/xfa/fwl/core/cfwl_msgmouse.h b/xfa/fwl/core/cfwl_msgmouse.h
new file mode 100644
index 0000000000..c617ac1d42
--- /dev/null
+++ b/xfa/fwl/core/cfwl_msgmouse.h
@@ -0,0 +1,40 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef XFA_FWL_CORE_CFWL_MSGMOUSE_H_
+#define XFA_FWL_CORE_CFWL_MSGMOUSE_H_
+
+#include "xfa/fwl/core/cfwl_message.h"
+
+enum class FWL_MouseCommand {
+ LeftButtonDown,
+ LeftButtonUp,
+ LeftButtonDblClk,
+ RightButtonDown,
+ RightButtonUp,
+ RightButtonDblClk,
+ Move,
+ Enter,
+ Leave,
+ Hover
+};
+
+class CFWL_MsgMouse : public CFWL_Message {
+ public:
+ CFWL_MsgMouse();
+ ~CFWL_MsgMouse() override;
+
+ // CFWL_Message
+ std::unique_ptr<CFWL_Message> Clone() override;
+ CFWL_MessageType GetClassID() const override;
+
+ FX_FLOAT m_fx;
+ FX_FLOAT m_fy;
+ uint32_t m_dwFlags;
+ FWL_MouseCommand m_dwCmd;
+};
+
+#endif // XFA_FWL_CORE_CFWL_MSGMOUSE_H_
diff --git a/xfa/fwl/core/cfwl_msgmousewheel.cpp b/xfa/fwl/core/cfwl_msgmousewheel.cpp
new file mode 100644
index 0000000000..b5cbd14da0
--- /dev/null
+++ b/xfa/fwl/core/cfwl_msgmousewheel.cpp
@@ -0,0 +1,21 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#include "xfa/fwl/core/cfwl_msgmousewheel.h"
+
+#include "third_party/base/ptr_util.h"
+
+CFWL_MsgMouseWheel::CFWL_MsgMouseWheel() {}
+
+CFWL_MsgMouseWheel::~CFWL_MsgMouseWheel() {}
+
+std::unique_ptr<CFWL_Message> CFWL_MsgMouseWheel::Clone() {
+ return pdfium::MakeUnique<CFWL_MsgMouseWheel>(*this);
+}
+
+CFWL_MessageType CFWL_MsgMouseWheel::GetClassID() const {
+ return CFWL_MessageType::MouseWheel;
+}
diff --git a/xfa/fwl/core/cfwl_msgmousewheel.h b/xfa/fwl/core/cfwl_msgmousewheel.h
new file mode 100644
index 0000000000..c913eae42c
--- /dev/null
+++ b/xfa/fwl/core/cfwl_msgmousewheel.h
@@ -0,0 +1,28 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef XFA_FWL_CORE_CFWL_MSGMOUSEWHEEL_H_
+#define XFA_FWL_CORE_CFWL_MSGMOUSEWHEEL_H_
+
+#include "xfa/fwl/core/cfwl_message.h"
+
+class CFWL_MsgMouseWheel : public CFWL_Message {
+ public:
+ CFWL_MsgMouseWheel();
+ ~CFWL_MsgMouseWheel() override;
+
+ // CFWL_Message
+ std::unique_ptr<CFWL_Message> Clone() override;
+ CFWL_MessageType GetClassID() const override;
+
+ FX_FLOAT m_fx;
+ FX_FLOAT m_fy;
+ FX_FLOAT m_fDeltaX;
+ FX_FLOAT m_fDeltaY;
+ uint32_t m_dwFlags;
+};
+
+#endif // XFA_FWL_CORE_CFWL_MSGMOUSEWHEEL_H_
diff --git a/xfa/fwl/core/cfwl_msgsetfocus.cpp b/xfa/fwl/core/cfwl_msgsetfocus.cpp
new file mode 100644
index 0000000000..7fe3501a6a
--- /dev/null
+++ b/xfa/fwl/core/cfwl_msgsetfocus.cpp
@@ -0,0 +1,21 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#include "xfa/fwl/core/cfwl_msgsetfocus.h"
+
+#include "third_party/base/ptr_util.h"
+
+CFWL_MsgSetFocus::CFWL_MsgSetFocus() {}
+
+CFWL_MsgSetFocus::~CFWL_MsgSetFocus() {}
+
+std::unique_ptr<CFWL_Message> CFWL_MsgSetFocus::Clone() {
+ return pdfium::MakeUnique<CFWL_MsgSetFocus>(*this);
+}
+
+CFWL_MessageType CFWL_MsgSetFocus::GetClassID() const {
+ return CFWL_MessageType::SetFocus;
+}
diff --git a/xfa/fwl/core/cfwl_msgsetfocus.h b/xfa/fwl/core/cfwl_msgsetfocus.h
new file mode 100644
index 0000000000..ffcf5b3539
--- /dev/null
+++ b/xfa/fwl/core/cfwl_msgsetfocus.h
@@ -0,0 +1,24 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef XFA_FWL_CORE_CFWL_MSGSETFOCUS_H_
+#define XFA_FWL_CORE_CFWL_MSGSETFOCUS_H_
+
+#include "xfa/fwl/core/cfwl_message.h"
+
+class CFWL_MsgSetFocus : public CFWL_Message {
+ public:
+ CFWL_MsgSetFocus();
+ ~CFWL_MsgSetFocus() override;
+
+ // CFWL_Message
+ std::unique_ptr<CFWL_Message> Clone() override;
+ CFWL_MessageType GetClassID() const override;
+
+ IFWL_Widget* m_pKillFocus;
+};
+
+#endif // XFA_FWL_CORE_CFWL_MSGSETFOCUS_H_
diff --git a/xfa/fwl/core/cfwl_widgetmgr.cpp b/xfa/fwl/core/cfwl_widgetmgr.cpp
index 5ef17907aa..9172d7918a 100644
--- a/xfa/fwl/core/cfwl_widgetmgr.cpp
+++ b/xfa/fwl/core/cfwl_widgetmgr.cpp
@@ -6,7 +6,6 @@
#include "xfa/fwl/core/cfwl_widgetmgr.h"
-#include "xfa/fwl/core/cfwl_message.h"
#include "xfa/fwl/core/fwl_noteimp.h"
#include "xfa/fwl/core/ifwl_app.h"
#include "xfa/fwl/core/ifwl_form.h"
@@ -474,23 +473,17 @@ void CFWL_WidgetMgr::OnProcessMessageToForm(CFWL_Message* pMessage) {
if (!pNoteDriver)
return;
- if (IsThreadEnabled())
- pMessage = static_cast<CFWL_Message*>(pMessage->Clone());
+ std::unique_ptr<CFWL_Message> pClonedMessage = pMessage->Clone();
if (IsFormDisabled())
- pNoteDriver->ProcessMessage(pMessage);
+ pNoteDriver->ProcessMessage(pClonedMessage.get());
else
- pNoteDriver->QueueMessage(pMessage);
+ pNoteDriver->QueueMessage(std::move(pClonedMessage));
#if (_FX_OS_ == _FX_MACOSX_)
CFWL_NoteLoop* pTopLoop = pNoteDriver->GetTopLoop();
if (pTopLoop)
pNoteDriver->UnqueueMessage(pTopLoop);
#endif
-
- if (IsThreadEnabled())
- pMessage->Release();
-
- return;
}
void CFWL_WidgetMgr::OnDrawWidget(IFWL_Widget* pWidget,
diff --git a/xfa/fwl/core/cfwl_widgetmgr.h b/xfa/fwl/core/cfwl_widgetmgr.h
index 10176c2598..cdfa24a91d 100644
--- a/xfa/fwl/core/cfwl_widgetmgr.h
+++ b/xfa/fwl/core/cfwl_widgetmgr.h
@@ -14,7 +14,6 @@
#include "xfa/fwl/core/fwl_error.h"
#include "xfa/fxgraphics/cfx_graphics.h"
-#define FWL_WGTMGR_DisableThread 0x00000001
#define FWL_WGTMGR_DisableForm 0x00000002
class CFWL_Message;
@@ -45,8 +44,7 @@ class CFWL_WidgetMgrItem {
class IFWL_WidgetMgrDelegate {
public:
- virtual void OnSetCapability(
- uint32_t dwCapability = FWL_WGTMGR_DisableThread) = 0;
+ virtual void OnSetCapability(uint32_t dwCapability) = 0;
virtual void OnProcessMessageToForm(CFWL_Message* pMessage) = 0;
virtual void OnDrawWidget(IFWL_Widget* pWidget,
CFX_Graphics* pGraphics,
@@ -59,8 +57,7 @@ class CFWL_WidgetMgr : public IFWL_WidgetMgrDelegate {
~CFWL_WidgetMgr();
// IFWL_WidgetMgrDelegate
- void OnSetCapability(
- uint32_t dwCapability = FWL_WGTMGR_DisableThread) override;
+ void OnSetCapability(uint32_t dwCapability) override;
void OnProcessMessageToForm(CFWL_Message* pMessage) override;
void OnDrawWidget(IFWL_Widget* pWidget,
CFX_Graphics* pGraphics,
@@ -117,10 +114,6 @@ class CFWL_WidgetMgr : public IFWL_WidgetMgrDelegate {
void ResetRedrawCounts(IFWL_Widget* pWidget);
- bool IsThreadEnabled() const {
- return !(m_dwCapability & FWL_WGTMGR_DisableThread);
- }
-
void DrawChild(IFWL_Widget* pParent,
const CFX_RectF& rtClip,
CFX_Graphics* pGraphics,
diff --git a/xfa/fwl/core/fwl_noteimp.cpp b/xfa/fwl/core/fwl_noteimp.cpp
index 1e2b7bf479..857fdfbac6 100644
--- a/xfa/fwl/core/fwl_noteimp.cpp
+++ b/xfa/fwl/core/fwl_noteimp.cpp
@@ -9,7 +9,11 @@
#include "core/fxcrt/fx_ext.h"
#include "third_party/base/ptr_util.h"
#include "third_party/base/stl_util.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgkey.h"
+#include "xfa/fwl/core/cfwl_msgkillfocus.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
+#include "xfa/fwl/core/cfwl_msgmousewheel.h"
+#include "xfa/fwl/core/cfwl_msgsetfocus.h"
#include "xfa/fwl/core/cfwl_widgetmgr.h"
#include "xfa/fwl/core/ifwl_app.h"
#include "xfa/fwl/core/ifwl_tooltip.h"
@@ -182,23 +186,21 @@ void CFWL_NoteDriver::UnRegisterForm(IFWL_Widget* pForm) {
m_forms.RemoveAt(nIndex);
}
-void CFWL_NoteDriver::QueueMessage(CFWL_Message* pMessage) {
- pMessage->Retain();
- m_noteQueue.Add(pMessage);
+void CFWL_NoteDriver::QueueMessage(std::unique_ptr<CFWL_Message> pMessage) {
+ m_noteQueue.push_back(std::move(pMessage));
}
void CFWL_NoteDriver::UnqueueMessage(CFWL_NoteLoop* pNoteLoop) {
- if (m_noteQueue.GetSize() < 1)
+ if (m_noteQueue.empty())
return;
- CFWL_Message* pMessage = m_noteQueue[0];
- m_noteQueue.RemoveAt(0);
- if (!IsValidMessage(pMessage)) {
- pMessage->Release();
+ std::unique_ptr<CFWL_Message> pMessage = std::move(m_noteQueue[0]);
+ m_noteQueue.pop_front();
+
+ if (!IsValidMessage(pMessage.get()))
return;
- }
- ProcessMessage(pMessage);
- pMessage->Release();
+
+ ProcessMessage(pMessage.get());
}
CFWL_NoteLoop* CFWL_NoteDriver::GetTopLoop() const {
diff --git a/xfa/fwl/core/fwl_noteimp.h b/xfa/fwl/core/fwl_noteimp.h
index 9eaaed596f..ec7855dec6 100644
--- a/xfa/fwl/core/fwl_noteimp.h
+++ b/xfa/fwl/core/fwl_noteimp.h
@@ -7,11 +7,11 @@
#ifndef XFA_FWL_CORE_FWL_NOTEIMP_H_
#define XFA_FWL_CORE_FWL_NOTEIMP_H_
+#include <deque>
#include <memory>
#include <unordered_map>
#include "xfa/fwl/core/cfwl_event.h"
-#include "xfa/fwl/core/cfwl_message.h"
#include "xfa/fwl/core/ifwl_tooltip.h"
#include "xfa/fwl/core/ifwl_widget.h"
#include "xfa/fxgraphics/cfx_graphics.h"
@@ -67,7 +67,7 @@ class CFWL_NoteDriver {
void RegisterForm(IFWL_Widget* pForm);
void UnRegisterForm(IFWL_Widget* pForm);
- void QueueMessage(CFWL_Message* pMessage);
+ void QueueMessage(std::unique_ptr<CFWL_Message> pMessage);
void UnqueueMessage(CFWL_NoteLoop* pNoteLoop);
void ProcessMessage(CFWL_Message* pMessage);
@@ -84,7 +84,7 @@ class CFWL_NoteDriver {
IFWL_Widget* GetMessageForm(IFWL_Widget* pDstTarget);
CFX_ArrayTemplate<IFWL_Widget*> m_forms;
- CFX_ArrayTemplate<CFWL_Message*> m_noteQueue;
+ std::deque<std::unique_ptr<CFWL_Message>> m_noteQueue;
CFX_ArrayTemplate<CFWL_NoteLoop*> m_noteLoopQueue;
std::unordered_map<uint32_t, CFWL_EventTarget*> m_eventTargets;
IFWL_Widget* m_pHover;
diff --git a/xfa/fwl/core/ifwl_checkbox.cpp b/xfa/fwl/core/ifwl_checkbox.cpp
index 6c548014f5..62bf636796 100644
--- a/xfa/fwl/core/ifwl_checkbox.cpp
+++ b/xfa/fwl/core/ifwl_checkbox.cpp
@@ -10,7 +10,8 @@
#include "third_party/base/ptr_util.h"
#include "xfa/fde/tto/fde_textout.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgkey.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
#include "xfa/fwl/core/cfwl_themetext.h"
#include "xfa/fwl/core/cfwl_widgetmgr.h"
diff --git a/xfa/fwl/core/ifwl_combobox.cpp b/xfa/fwl/core/ifwl_combobox.cpp
index c26a9fc9f1..f47e4a1a5e 100644
--- a/xfa/fwl/core/ifwl_combobox.cpp
+++ b/xfa/fwl/core/ifwl_combobox.cpp
@@ -9,7 +9,10 @@
#include "third_party/base/ptr_util.h"
#include "xfa/fde/cfde_txtedtengine.h"
#include "xfa/fde/tto/fde_textout.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgkey.h"
+#include "xfa/fwl/core/cfwl_msgkillfocus.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
+#include "xfa/fwl/core/cfwl_msgsetfocus.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
#include "xfa/fwl/core/cfwl_themepart.h"
#include "xfa/fwl/core/cfwl_themetext.h"
diff --git a/xfa/fwl/core/ifwl_comboboxproxy.cpp b/xfa/fwl/core/ifwl_comboboxproxy.cpp
index 4bc1e294d4..03bfca2727 100644
--- a/xfa/fwl/core/ifwl_comboboxproxy.cpp
+++ b/xfa/fwl/core/ifwl_comboboxproxy.cpp
@@ -6,6 +6,8 @@
#include "xfa/fwl/core/ifwl_comboboxproxy.h"
+#include "xfa/fwl/core/cfwl_msgkillfocus.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/fwl_noteimp.h"
#include "xfa/fwl/core/ifwl_app.h"
#include "xfa/fwl/core/ifwl_combobox.h"
@@ -42,10 +44,10 @@ void IFWL_ComboBoxProxy::OnProcessMessage(CFWL_Message* pMessage) {
break;
}
case CFWL_MessageType::KillFocus:
- OnFocusChanged(static_cast<CFWL_MsgKillFocus*>(pMessage), false);
+ OnFocusChanged(pMessage, false);
break;
case CFWL_MessageType::SetFocus:
- OnFocusChanged(static_cast<CFWL_MsgKillFocus*>(pMessage), true);
+ OnFocusChanged(pMessage, true);
break;
default:
break;
@@ -58,7 +60,7 @@ void IFWL_ComboBoxProxy::OnDrawWidget(CFX_Graphics* pGraphics,
m_pComboBox->DrawStretchHandler(pGraphics, pMatrix);
}
-void IFWL_ComboBoxProxy::OnLButtonDown(CFWL_MsgMouse* pMsg) {
+void IFWL_ComboBoxProxy::OnLButtonDown(CFWL_Message* pMessage) {
const IFWL_App* pApp = GetOwnerApp();
if (!pApp)
return;
@@ -68,6 +70,8 @@ void IFWL_ComboBoxProxy::OnLButtonDown(CFWL_MsgMouse* pMsg) {
CFX_RectF rtWidget;
GetWidgetRect(rtWidget);
rtWidget.left = rtWidget.top = 0;
+
+ CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage);
if (rtWidget.Contains(pMsg->m_fx, pMsg->m_fy)) {
m_bLButtonDown = true;
pDriver->SetGrab(this, true);
@@ -78,7 +82,7 @@ void IFWL_ComboBoxProxy::OnLButtonDown(CFWL_MsgMouse* pMsg) {
}
}
-void IFWL_ComboBoxProxy::OnLButtonUp(CFWL_MsgMouse* pMsg) {
+void IFWL_ComboBoxProxy::OnLButtonUp(CFWL_Message* pMessage) {
m_bLButtonDown = false;
const IFWL_App* pApp = GetOwnerApp();
if (!pApp)
@@ -92,6 +96,7 @@ void IFWL_ComboBoxProxy::OnLButtonUp(CFWL_MsgMouse* pMsg) {
return;
}
+ CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage);
CFX_RectF rect;
GetWidgetRect(rect);
rect.left = rect.top = 0;
@@ -101,9 +106,11 @@ void IFWL_ComboBoxProxy::OnLButtonUp(CFWL_MsgMouse* pMsg) {
}
}
-void IFWL_ComboBoxProxy::OnFocusChanged(CFWL_MsgKillFocus* pMsg, bool bSet) {
+void IFWL_ComboBoxProxy::OnFocusChanged(CFWL_Message* pMessage, bool bSet) {
if (bSet)
return;
+
+ CFWL_MsgKillFocus* pMsg = static_cast<CFWL_MsgKillFocus*>(pMessage);
if (!pMsg->m_pSetFocus)
m_pComboBox->ShowDropList(false);
}
diff --git a/xfa/fwl/core/ifwl_comboboxproxy.h b/xfa/fwl/core/ifwl_comboboxproxy.h
index 243937726f..7ff56232f8 100644
--- a/xfa/fwl/core/ifwl_comboboxproxy.h
+++ b/xfa/fwl/core/ifwl_comboboxproxy.h
@@ -27,9 +27,9 @@ class IFWL_ComboBoxProxy : public IFWL_FormProxy {
void Reset() { m_bLButtonUpSelf = false; }
private:
- void OnLButtonDown(CFWL_MsgMouse* pMsg);
- void OnLButtonUp(CFWL_MsgMouse* pMsg);
- void OnFocusChanged(CFWL_MsgKillFocus* pMsg, bool bSet);
+ void OnLButtonDown(CFWL_Message* pMsg);
+ void OnLButtonUp(CFWL_Message* pMsg);
+ void OnFocusChanged(CFWL_Message* pMsg, bool bSet);
bool m_bLButtonDown;
bool m_bLButtonUpSelf;
diff --git a/xfa/fwl/core/ifwl_comboedit.cpp b/xfa/fwl/core/ifwl_comboedit.cpp
index 73ca14627f..965ba009f2 100644
--- a/xfa/fwl/core/ifwl_comboedit.cpp
+++ b/xfa/fwl/core/ifwl_comboedit.cpp
@@ -7,6 +7,7 @@
#include "xfa/fwl/core/ifwl_comboedit.h"
#include "xfa/fde/cfde_txtedtengine.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/ifwl_combobox.h"
IFWL_ComboEdit::IFWL_ComboEdit(
diff --git a/xfa/fwl/core/ifwl_combolist.cpp b/xfa/fwl/core/ifwl_combolist.cpp
index 13847ee093..be167be177 100644
--- a/xfa/fwl/core/ifwl_combolist.cpp
+++ b/xfa/fwl/core/ifwl_combolist.cpp
@@ -7,6 +7,9 @@
#include "xfa/fwl/core/ifwl_combolist.h"
#include "third_party/base/ptr_util.h"
+#include "xfa/fwl/core/cfwl_msgkey.h"
+#include "xfa/fwl/core/cfwl_msgkillfocus.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/ifwl_combobox.h"
#include "xfa/fwl/core/ifwl_comboedit.h"
diff --git a/xfa/fwl/core/ifwl_datetimeedit.cpp b/xfa/fwl/core/ifwl_datetimeedit.cpp
index f612f504cd..636209754c 100644
--- a/xfa/fwl/core/ifwl_datetimeedit.cpp
+++ b/xfa/fwl/core/ifwl_datetimeedit.cpp
@@ -7,6 +7,7 @@
#include "xfa/fwl/core/ifwl_datetimeedit.h"
#include "third_party/base/ptr_util.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/cfwl_widgetmgr.h"
#include "xfa/fwl/core/ifwl_datetimepicker.h"
diff --git a/xfa/fwl/core/ifwl_datetimeedit.h b/xfa/fwl/core/ifwl_datetimeedit.h
index 1649d39539..71745500b0 100644
--- a/xfa/fwl/core/ifwl_datetimeedit.h
+++ b/xfa/fwl/core/ifwl_datetimeedit.h
@@ -7,7 +7,6 @@
#ifndef XFA_FWL_CORE_IFWL_DATETIMEEDIT_H_
#define XFA_FWL_CORE_IFWL_DATETIMEEDIT_H_
-#include "xfa/fwl/core/cfwl_message.h"
#include "xfa/fwl/core/cfwl_widgetproperties.h"
#include "xfa/fwl/core/fwl_error.h"
#include "xfa/fwl/core/ifwl_edit.h"
diff --git a/xfa/fwl/core/ifwl_datetimepicker.cpp b/xfa/fwl/core/ifwl_datetimepicker.cpp
index 71ff7efbc9..1cd96c6925 100644
--- a/xfa/fwl/core/ifwl_datetimepicker.cpp
+++ b/xfa/fwl/core/ifwl_datetimepicker.cpp
@@ -7,7 +7,8 @@
#include "xfa/fwl/core/ifwl_datetimepicker.h"
#include "third_party/base/ptr_util.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
+#include "xfa/fwl/core/cfwl_msgsetfocus.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
#include "xfa/fwl/core/cfwl_widgetmgr.h"
#include "xfa/fwl/core/fwl_noteimp.h"
diff --git a/xfa/fwl/core/ifwl_edit.cpp b/xfa/fwl/core/ifwl_edit.cpp
index 65a54dc57a..b3b2e1ca8a 100644
--- a/xfa/fwl/core/ifwl_edit.cpp
+++ b/xfa/fwl/core/ifwl_edit.cpp
@@ -17,7 +17,8 @@
#include "xfa/fde/fde_render.h"
#include "xfa/fde/ifde_txtedtpage.h"
#include "xfa/fgas/font/fgas_gefont.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgkey.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
#include "xfa/fwl/core/cfwl_themepart.h"
#include "xfa/fwl/core/cfwl_widgetmgr.h"
diff --git a/xfa/fwl/core/ifwl_form.cpp b/xfa/fwl/core/ifwl_form.cpp
index 989da199e1..616ec770a2 100644
--- a/xfa/fwl/core/ifwl_form.cpp
+++ b/xfa/fwl/core/ifwl_form.cpp
@@ -8,7 +8,7 @@
#include "third_party/base/ptr_util.h"
#include "xfa/fde/tto/fde_textout.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
#include "xfa/fwl/core/cfwl_themepart.h"
#include "xfa/fwl/core/cfwl_themetext.h"
diff --git a/xfa/fwl/core/ifwl_listbox.cpp b/xfa/fwl/core/ifwl_listbox.cpp
index 6696d4ce9e..1f5a50c4c8 100644
--- a/xfa/fwl/core/ifwl_listbox.cpp
+++ b/xfa/fwl/core/ifwl_listbox.cpp
@@ -8,7 +8,9 @@
#include "third_party/base/ptr_util.h"
#include "xfa/fde/tto/fde_textout.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgkey.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
+#include "xfa/fwl/core/cfwl_msgmousewheel.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
#include "xfa/fwl/core/cfwl_themepart.h"
#include "xfa/fwl/core/cfwl_themetext.h"
diff --git a/xfa/fwl/core/ifwl_monthcalendar.cpp b/xfa/fwl/core/ifwl_monthcalendar.cpp
index c5c7780b57..8be738399c 100644
--- a/xfa/fwl/core/ifwl_monthcalendar.cpp
+++ b/xfa/fwl/core/ifwl_monthcalendar.cpp
@@ -10,7 +10,7 @@
#include "third_party/base/ptr_util.h"
#include "xfa/fde/tto/fde_textout.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
#include "xfa/fwl/core/cfwl_themetext.h"
#include "xfa/fwl/core/fwl_noteimp.h"
diff --git a/xfa/fwl/core/ifwl_pushbutton.cpp b/xfa/fwl/core/ifwl_pushbutton.cpp
index 387a01af1f..414c144c42 100644
--- a/xfa/fwl/core/ifwl_pushbutton.cpp
+++ b/xfa/fwl/core/ifwl_pushbutton.cpp
@@ -8,7 +8,8 @@
#include "third_party/base/ptr_util.h"
#include "xfa/fde/tto/fde_textout.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgkey.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
#include "xfa/fwl/core/cfwl_themetext.h"
#include "xfa/fwl/core/fwl_noteimp.h"
diff --git a/xfa/fwl/core/ifwl_scrollbar.cpp b/xfa/fwl/core/ifwl_scrollbar.cpp
index db2164be23..78360d005d 100644
--- a/xfa/fwl/core/ifwl_scrollbar.cpp
+++ b/xfa/fwl/core/ifwl_scrollbar.cpp
@@ -7,7 +7,8 @@
#include "xfa/fwl/core/ifwl_scrollbar.h"
#include "third_party/base/ptr_util.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
+#include "xfa/fwl/core/cfwl_msgmousewheel.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
#include "xfa/fwl/core/cfwl_themepart.h"
#include "xfa/fwl/core/fwl_noteimp.h"
diff --git a/xfa/fwl/core/ifwl_spinbutton.cpp b/xfa/fwl/core/ifwl_spinbutton.cpp
index 6ae2f6aa65..f3b8e486a8 100644
--- a/xfa/fwl/core/ifwl_spinbutton.cpp
+++ b/xfa/fwl/core/ifwl_spinbutton.cpp
@@ -7,7 +7,8 @@
#include "xfa/fwl/core/ifwl_spinbutton.h"
#include "third_party/base/ptr_util.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgkey.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
#include "xfa/fwl/core/cfwl_widgetproperties.h"
#include "xfa/fwl/core/fwl_noteimp.h"
diff --git a/xfa/fwl/core/ifwl_widget.cpp b/xfa/fwl/core/ifwl_widget.cpp
index b885210015..f8288eb0e4 100644
--- a/xfa/fwl/core/ifwl_widget.cpp
+++ b/xfa/fwl/core/ifwl_widget.cpp
@@ -9,7 +9,11 @@
#include <algorithm>
#include "xfa/fde/tto/fde_textout.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgkey.h"
+#include "xfa/fwl/core/cfwl_msgkillfocus.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
+#include "xfa/fwl/core/cfwl_msgmousewheel.h"
+#include "xfa/fwl/core/cfwl_msgsetfocus.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
#include "xfa/fwl/core/cfwl_themepart.h"
#include "xfa/fwl/core/cfwl_themetext.h"
diff --git a/xfa/fxfa/app/xfa_ffapp.cpp b/xfa/fxfa/app/xfa_ffapp.cpp
index b38e59090e..d65a611eb9 100644
--- a/xfa/fxfa/app/xfa_ffapp.cpp
+++ b/xfa/fxfa/app/xfa_ffapp.cpp
@@ -134,8 +134,7 @@ CXFA_FWLAdapterWidgetMgr* CXFA_FFApp::GetWidgetMgr(
IFWL_WidgetMgrDelegate* pDelegate) {
if (!m_pAdapterWidgetMgr) {
m_pAdapterWidgetMgr.reset(new CXFA_FWLAdapterWidgetMgr);
- pDelegate->OnSetCapability(FWL_WGTMGR_DisableThread |
- FWL_WGTMGR_DisableForm);
+ pDelegate->OnSetCapability(FWL_WGTMGR_DisableForm);
m_pWidgetMgrDelegate = pDelegate;
}
return m_pAdapterWidgetMgr.get();
diff --git a/xfa/fxfa/app/xfa_ffcheckbutton.cpp b/xfa/fxfa/app/xfa_ffcheckbutton.cpp
index 391d76ca49..39bfe50e2f 100644
--- a/xfa/fxfa/app/xfa_ffcheckbutton.cpp
+++ b/xfa/fxfa/app/xfa_ffcheckbutton.cpp
@@ -7,7 +7,7 @@
#include "xfa/fxfa/app/xfa_ffcheckbutton.h"
#include "xfa/fwl/core/cfwl_checkbox.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/cfwl_widgetmgr.h"
#include "xfa/fwl/core/fwl_noteimp.h"
#include "xfa/fxfa/app/xfa_ffexclgroup.h"
diff --git a/xfa/fxfa/app/xfa_fffield.cpp b/xfa/fxfa/app/xfa_fffield.cpp
index 073e99786a..83a4c62a16 100644
--- a/xfa/fxfa/app/xfa_fffield.cpp
+++ b/xfa/fxfa/app/xfa_fffield.cpp
@@ -7,7 +7,11 @@
#include "xfa/fxfa/app/xfa_fffield.h"
#include "xfa/fwl/core/cfwl_edit.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgkey.h"
+#include "xfa/fwl/core/cfwl_msgkillfocus.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
+#include "xfa/fwl/core/cfwl_msgmousewheel.h"
+#include "xfa/fwl/core/cfwl_msgsetfocus.h"
#include "xfa/fwl/core/cfwl_picturebox.h"
#include "xfa/fwl/core/cfwl_widgetmgr.h"
#include "xfa/fwl/core/ifwl_edit.h"
diff --git a/xfa/fxfa/app/xfa_ffimageedit.cpp b/xfa/fxfa/app/xfa_ffimageedit.cpp
index 216cf5b9bf..1cbb9bc5c7 100644
--- a/xfa/fxfa/app/xfa_ffimageedit.cpp
+++ b/xfa/fxfa/app/xfa_ffimageedit.cpp
@@ -6,7 +6,7 @@
#include "xfa/fxfa/app/xfa_ffimageedit.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
#include "xfa/fwl/core/cfwl_picturebox.h"
#include "xfa/fwl/core/fwl_noteimp.h"
#include "xfa/fwl/core/ifwl_app.h"
diff --git a/xfa/fxfa/app/xfa_fftextedit.cpp b/xfa/fxfa/app/xfa_fftextedit.cpp
index e851cb29c2..1c6c28352b 100644
--- a/xfa/fxfa/app/xfa_fftextedit.cpp
+++ b/xfa/fxfa/app/xfa_fftextedit.cpp
@@ -10,7 +10,9 @@
#include "xfa/fwl/core/cfwl_datetimepicker.h"
#include "xfa/fwl/core/cfwl_edit.h"
-#include "xfa/fwl/core/cfwl_message.h"
+#include "xfa/fwl/core/cfwl_msgkillfocus.h"
+#include "xfa/fwl/core/cfwl_msgmouse.h"
+#include "xfa/fwl/core/cfwl_msgsetfocus.h"
#include "xfa/fwl/core/fwl_noteimp.h"
#include "xfa/fwl/core/ifwl_edit.h"
#include "xfa/fxfa/app/xfa_fffield.h"