Title: [225446] trunk/Source/WebKit
Revision
225446
Author
[email protected]
Date
2017-12-02 00:47:19 -0800 (Sat, 02 Dec 2017)

Log Message

Make some minor adjustments to TouchBarMenuData and TouchBarMenuItemData
https://bugs.webkit.org/show_bug.cgi?id=180305

Reviewed by Joseph Pecoraro.

Mark some methods and parameters as const, use the default constructor in more places, and also remove a few
extraneous imported headers.

* Shared/TouchBarMenuData.cpp:
(WebKit::TouchBarMenuData::TouchBarMenuData):

Add a FIXME regarding the use of the 'id' attribute.

(WebKit::TouchBarMenuData::decode):
* Shared/TouchBarMenuData.h:
(WebKit::TouchBarMenuData::items const):
(WebKit::TouchBarMenuData::setID):
(WebKit::TouchBarMenuData::isPageCustomized const):
(WebKit::TouchBarMenuData::items): Deleted.
(WebKit::TouchBarMenuData::isPageCustomized): Deleted.
* Shared/TouchBarMenuItemData.cpp:
(WebKit::getItemType):

Change a helper method from a static class function to a static function in the implementation file.

(WebKit::TouchBarMenuItemData::TouchBarMenuItemData):
(WebKit::TouchBarMenuItemData::encode const):
(WebKit::TouchBarMenuItemData::decode):
(WebKit::TouchBarMenuItemData::getItemType): Deleted.
* Shared/TouchBarMenuItemData.h:
(WebKit::operator==):

Remove the commandName member variable, since it doesn't make sense to propagate an event handler
attribute from WebCore to the client layer.

* UIProcess/WebPageProxy.messages.in:

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (225445 => 225446)


--- trunk/Source/WebKit/ChangeLog	2017-12-02 06:55:52 UTC (rev 225445)
+++ trunk/Source/WebKit/ChangeLog	2017-12-02 08:47:19 UTC (rev 225446)
@@ -1,3 +1,42 @@
+2017-12-02  Wenson Hsieh  <[email protected]>
+
+        Make some minor adjustments to TouchBarMenuData and TouchBarMenuItemData
+        https://bugs.webkit.org/show_bug.cgi?id=180305
+
+        Reviewed by Joseph Pecoraro.
+
+        Mark some methods and parameters as const, use the default constructor in more places, and also remove a few
+        extraneous imported headers.
+
+        * Shared/TouchBarMenuData.cpp:
+        (WebKit::TouchBarMenuData::TouchBarMenuData):
+
+        Add a FIXME regarding the use of the 'id' attribute.
+
+        (WebKit::TouchBarMenuData::decode):
+        * Shared/TouchBarMenuData.h:
+        (WebKit::TouchBarMenuData::items const):
+        (WebKit::TouchBarMenuData::setID):
+        (WebKit::TouchBarMenuData::isPageCustomized const):
+        (WebKit::TouchBarMenuData::items): Deleted.
+        (WebKit::TouchBarMenuData::isPageCustomized): Deleted.
+        * Shared/TouchBarMenuItemData.cpp:
+        (WebKit::getItemType):
+
+        Change a helper method from a static class function to a static function in the implementation file.
+
+        (WebKit::TouchBarMenuItemData::TouchBarMenuItemData):
+        (WebKit::TouchBarMenuItemData::encode const):
+        (WebKit::TouchBarMenuItemData::decode):
+        (WebKit::TouchBarMenuItemData::getItemType): Deleted.
+        * Shared/TouchBarMenuItemData.h:
+        (WebKit::operator==):
+
+        Remove the commandName member variable, since it doesn't make sense to propagate an event handler
+        attribute from WebCore to the client layer.
+
+        * UIProcess/WebPageProxy.messages.in:
+
 2017-12-01  Zan Dobersek  <[email protected]>
 
         Unreviewed GTK+ debug build fix. Replace ASSERT_UNUSED() with UNUSED_PARAM()

Modified: trunk/Source/WebKit/Shared/TouchBarMenuData.cpp (225445 => 225446)


--- trunk/Source/WebKit/Shared/TouchBarMenuData.cpp	2017-12-02 06:55:52 UTC (rev 225445)
+++ trunk/Source/WebKit/Shared/TouchBarMenuData.cpp	2017-12-02 08:47:19 UTC (rev 225446)
@@ -30,32 +30,23 @@
 #include "Encoder.h"
 #include "TouchBarMenuItemData.h"
 #include "WebCoreArgumentCoders.h"
-#include <WebCore/HTMLElement.h>
 #include <WebCore/HTMLMenuElement.h>
 #include <WebCore/HTMLNames.h>
-#include <WebCore/Node.h>
 
 namespace WebKit {
     
-TouchBarMenuData::TouchBarMenuData()
+TouchBarMenuData::TouchBarMenuData(const WebCore::HTMLMenuElement& element)
 {
-}
-    
-TouchBarMenuData::TouchBarMenuData(WebCore::HTMLMenuElement& element)
-{
     if (!element.isTouchBarMenu())
         return;
+
+    // FIXME: We can't rely on using the 'id' attribute of the element here to distinguish
+    // between different menu items. For instance, a menuitem may have the same 'id' as
+    // another, or have no 'id' at all.
     m_id = element.attributeWithoutSynchronization(WebCore::HTMLNames::idAttr);
     m_isPageCustomized = true;
 }
     
-TouchBarMenuData::TouchBarMenuData(const TouchBarMenuData& touchBarMenuData)
-    : m_items(touchBarMenuData.m_items)
-    , m_id(touchBarMenuData.m_id)
-    , m_isPageCustomized(touchBarMenuData.m_isPageCustomized)
-{
-}
-    
 void TouchBarMenuData::addMenuItem(const TouchBarMenuItemData& data)
 {
     m_items.append(data);
@@ -73,10 +64,7 @@
 
 bool TouchBarMenuData::decode(IPC::Decoder& decoder, TouchBarMenuData& data)
 {
-    if (!decoder.decode(data.m_items))
-        return false;
-    
-    return true;
+    return decoder.decode(data.m_items);
 }
     
 }

Modified: trunk/Source/WebKit/Shared/TouchBarMenuData.h (225445 => 225446)


--- trunk/Source/WebKit/Shared/TouchBarMenuData.h	2017-12-02 06:55:52 UTC (rev 225445)
+++ trunk/Source/WebKit/Shared/TouchBarMenuData.h	2017-12-02 08:47:19 UTC (rev 225446)
@@ -26,7 +26,6 @@
 #pragma once
 #include "ArgumentCoders.h"
 #include "TouchBarMenuItemData.h"
-#include <WebCore/HTMLMenuElement.h>
 #include <wtf/text/WTFString.h>
 
 namespace IPC {
@@ -34,24 +33,28 @@
 class Encoder;
 }
 
+namespace WebCore {
+class HTMLMenuElement;
+}
+
 namespace WebKit {
 
 class TouchBarMenuData {
 public:
-    explicit TouchBarMenuData();
-    explicit TouchBarMenuData(WebCore::HTMLMenuElement&);
-    explicit TouchBarMenuData(const TouchBarMenuData&);
+    explicit TouchBarMenuData() = default;
+    explicit TouchBarMenuData(const WebCore::HTMLMenuElement&);
+    explicit TouchBarMenuData(const TouchBarMenuData&) = default;
 
     void addMenuItem(const TouchBarMenuItemData&);
     void removeMenuItem(const TouchBarMenuItemData&);
     
-    const Vector<TouchBarMenuItemData>& items() { return m_items; }
+    const Vector<TouchBarMenuItemData>& items() const { return m_items; }
     
     void encode(IPC::Encoder&) const;
     static bool decode(IPC::Decoder&, TouchBarMenuData&);
     
-    void setID(String);
-    bool isPageCustomized() { return m_isPageCustomized; }
+    void setID(const String& identifier) { m_id = identifier; }
+    bool isPageCustomized() const { return m_isPageCustomized; }
     void setIsPageCustomized(bool customized) { m_isPageCustomized = customized; }
     
 private:

Modified: trunk/Source/WebKit/Shared/TouchBarMenuItemData.cpp (225445 => 225446)


--- trunk/Source/WebKit/Shared/TouchBarMenuItemData.cpp	2017-12-02 06:55:52 UTC (rev 225445)
+++ trunk/Source/WebKit/Shared/TouchBarMenuItemData.cpp	2017-12-02 08:47:19 UTC (rev 225446)
@@ -28,38 +28,22 @@
 #include "Decoder.h"
 #include "Encoder.h"
 #include "WebCoreArgumentCoders.h"
-#include <WebCore/HTMLElement.h>
 #include <WebCore/HTMLMenuItemElement.h>
 #include <WebCore/HTMLNames.h>
-#include <WebCore/Node.h>
-#include <vector>
 
 namespace WebKit {
 
-ItemType TouchBarMenuItemData::getItemType(String value)
+static ItemType getItemType(const String&)
 {
     return ItemType::Button;
 }
 
-TouchBarMenuItemData::TouchBarMenuItemData()
+TouchBarMenuItemData::TouchBarMenuItemData(const WebCore::HTMLMenuItemElement& element)
 {
-}
-
-TouchBarMenuItemData::TouchBarMenuItemData(WebCore::HTMLMenuItemElement& element)
-{
     itemType = getItemType(element.attributeWithoutSynchronization(WebCore::HTMLNames::typeAttr));
     identifier = element.attributeWithoutSynchronization(WebCore::HTMLNames::idAttr);
-    commandName = element.attributeWithoutSynchronization(WebCore::HTMLNames::onclickAttr);
     priority = element.attributeWithoutSynchronization(WebCore::HTMLNames::valueAttr).toFloat();
 }
-    
-TouchBarMenuItemData::TouchBarMenuItemData(const TouchBarMenuItemData& other)
-    : itemType(other.itemType)
-    , identifier(other.identifier)
-    , commandName(other.commandName)
-    , priority(other.priority)
-{
-}
 
 void TouchBarMenuItemData::encode(IPC::Encoder& encoder) const
 {
@@ -66,7 +50,6 @@
     encoder.encodeEnum(itemType);
     
     encoder << identifier;
-    encoder << commandName;
     encoder << priority;
 }
 
@@ -79,9 +62,6 @@
     if (!decoder.decode(result.identifier))
         return std::nullopt;
     
-    if (!decoder.decode(result.commandName))
-        return std::nullopt;
-    
     if (!decoder.decode(result.priority))
         return std::nullopt;
     

Modified: trunk/Source/WebKit/Shared/TouchBarMenuItemData.h (225445 => 225446)


--- trunk/Source/WebKit/Shared/TouchBarMenuItemData.h	2017-12-02 06:55:52 UTC (rev 225445)
+++ trunk/Source/WebKit/Shared/TouchBarMenuItemData.h	2017-12-02 08:47:19 UTC (rev 225446)
@@ -25,7 +25,6 @@
 
 #pragma once
 #include "ArgumentCoders.h"
-#include <WebCore/HTMLMenuItemElement.h>
 #include <wtf/text/WTFString.h>
 
 namespace IPC {
@@ -33,6 +32,10 @@
 class Encoder;
 }
 
+namespace WebCore {
+class HTMLMenuItemElement;
+}
+
 namespace WebKit {
     
 // Based on NSTouchBarItem types.
@@ -41,20 +44,17 @@
 };
 
 struct TouchBarMenuItemData {
-    explicit TouchBarMenuItemData();
-    explicit TouchBarMenuItemData(WebCore::HTMLMenuItemElement&);
-    explicit TouchBarMenuItemData(const TouchBarMenuItemData&);
+    explicit TouchBarMenuItemData() = default;
+    explicit TouchBarMenuItemData(const WebCore::HTMLMenuItemElement&);
+    explicit TouchBarMenuItemData(const TouchBarMenuItemData&) = default;
     
     void encode(IPC::Encoder&) const;
     static std::optional<TouchBarMenuItemData> decode(IPC::Decoder&);
-    static ItemType getItemType(String);
     
-    bool validTouchBarDisplay { true };
-    
     ItemType itemType { ItemType::Button };
     String identifier;
-    String commandName;
     float priority { 0.0 };
+    bool validTouchBarDisplay { true };
 };
     
 // Touch Bar Menu Items will be ordered based on priority.
@@ -82,7 +82,6 @@
 {
     return lhs.itemType == rhs.itemType
     && lhs.identifier == rhs.identifier
-    && lhs.commandName == rhs.commandName
     && lhs.priority == rhs.priority;
 }
 

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in (225445 => 225446)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in	2017-12-02 06:55:52 UTC (rev 225445)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in	2017-12-02 08:47:19 UTC (rev 225446)
@@ -314,7 +314,6 @@
     StartDrag(struct WebKit::WebSelectionData selection, uint64_t dragOperation, WebKit::ShareableBitmap::Handle dragImage)
 #endif
 
-
 #if ENABLE(DATA_INTERACTION)
     DidPerformDataInteractionControllerOperation(bool handled)
     DidHandleStartDataInteractionRequest(bool started)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to