Changeset 257801 in webkit


Ignore:
Timestamp:
Mar 3, 2020 2:11:29 PM (4 years ago)
Author:
Devin Rousso
Message:

Web Inspector: setting the frontend appearance doesn't update the window when undocked
https://bugs.webkit.org/show_bug.cgi?id=208503

Reviewed by Timothy Hatcher.

Notify the UIProcess when setting the forced appearance so platforms that support dark mode
are able to run native code to adjust the appearance of the undocked window.

Source/WebCore:

  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::setForcedAppearance):
Call through to the InspectorFrontendClient to change the forced appearance.

  • inspector/InspectorFrontendClient.h:

(WebCore::InspectorFrontendHost::Appearance): Added.
Add an enum class Appearance so that multiple copies of the same string comparison logic
isn't needed.

  • testing/Internals.cpp:

(WebCore::InspectorStubFrontend::setForcedAppearance): Added.

Source/WebKit:

  • WebProcess/Inspector/WebInspectorUI.h:
  • WebProcess/Inspector/WebInspectorUI.cpp:

(WebKit::WebInspectorUI::setForcedAppearance): Added.

  • UIProcess/Inspector/WebInspectorProxy.messages.in:
  • UIProcess/Inspector/WebInspectorProxy.h:
  • UIProcess/Inspector/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::setForcedAppearance): Added.
(WebKit::WebInspectorProxy::platformSetForcedAppearance): Added.

  • UIProcess/Inspector/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformSetForcedAppearance): Added.

  • UIProcess/Inspector/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformCreateFrontendWindow): Added.
(WebKit::WebInspectorProxy::platformSetForcedAppearance): Added.
(WebKit::WebInspectorProxy::applyForcedAppearance): Added.

  • UIProcess/Inspector/win/WebInspectorProxyWin.cpp:

(WebKit::WebInspectorProxy::platformSetForcedAppearance): Added.

  • WebProcess/Inspector/RemoteWebInspectorUI.h:
  • WebProcess/Inspector/RemoteWebInspectorUI.cpp:

(WebKit::RemoteWebInspectorUI::setForcedAppearance): Added.

  • UIProcess/Inspector/RemoteWebInspectorProxy.messages.in:
  • UIProcess/Inspector/RemoteWebInspectorProxy.h:
  • UIProcess/Inspector/RemoteWebInspectorProxy.cpp:

(WebKit::RemoteWebInspectorProxy::setForcedAppearance): Added.
(WebKit::RemoteWebInspectorProxy::platformSetForcedAppearance): Added.

  • UIProcess/Inspector/gtk/RemoteWebInspectorProxyGtk.cpp:

(WebKit::RemoteWebInspectorProxy::platformSetForcedAppearance): Added.

  • UIProcess/Inspector/mac/RemoteWebInspectorProxyMac.mm:

(WebKit::RemoteWebInspectorProxy::platformSetForcedAppearance): Added.

  • UIProcess/Inspector/win/RemoteWebInspectorProxyWin.cpp:

(WebKit::RemoteWebInspectorProxy::platformSetForcedAppearance): Added.

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebInspectorClientIOS.mm:

(WebInspectorFrontendClient::setForcedAppearance): Added.

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorFrontendClient::setForcedAppearance): Added.

Source/WebKitLegacy/win:

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorFrontendClient::setForcedAppearance): Added.

Location:
trunk/Source
Files:
29 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r257799 r257801  
     12020-03-03  Devin Rousso  <drousso@apple.com>
     2
     3        Web Inspector: setting the frontend appearance doesn't update the window when undocked
     4        https://bugs.webkit.org/show_bug.cgi?id=208503
     5
     6        Reviewed by Timothy Hatcher.
     7
     8        Notify the UIProcess when setting the forced appearance so platforms that support dark mode
     9        are able to run native code to adjust the appearance of the undocked window.
     10
     11        * inspector/InspectorFrontendHost.cpp:
     12        (WebCore::InspectorFrontendHost::setForcedAppearance):
     13        Call through to the `InspectorFrontendClient` to change the forced appearance.
     14
     15        * inspector/InspectorFrontendClient.h:
     16        (WebCore::InspectorFrontendHost::Appearance): Added.
     17        Add an `enum class Appearance` so that multiple copies of the same string comparison logic
     18        isn't needed.
     19
     20        * testing/Internals.cpp:
     21        (WebCore::InspectorStubFrontend::setForcedAppearance): Added.
     22
    1232020-03-03  Justin Fan  <justin_fan@apple.com>
    224
  • trunk/Source/WebCore/inspector/InspectorFrontendClient.h

    r257759 r257801  
    7272    virtual void resetState() = 0;
    7373
     74    enum class Appearance {
     75        System,
     76        Light,
     77        Dark,
     78    };
     79    WEBCORE_EXPORT virtual void setForcedAppearance(Appearance) = 0;
     80
    7481    virtual UserInterfaceLayoutDirection userInterfaceLayoutDirection() const = 0;
    7582
     
    104111
    105112} // namespace WebCore
     113
     114namespace WTF {
     115
     116template<> struct EnumTraits<WebCore::InspectorFrontendClient::Appearance> {
     117    using values = EnumValues<
     118        WebCore::InspectorFrontendClient::Appearance,
     119        WebCore::InspectorFrontendClient::Appearance::System,
     120        WebCore::InspectorFrontendClient::Appearance::Light,
     121        WebCore::InspectorFrontendClient::Appearance::Dark
     122    >;
     123};
     124
     125} // namespace WTF
  • trunk/Source/WebCore/inspector/InspectorFrontendHost.cpp

    r257759 r257801  
    235235void InspectorFrontendHost::setForcedAppearance(String appearance)
    236236{
    237     if (!m_frontendPage)
    238         return;
    239 
    240     if (appearance == "light"_s)
    241         m_frontendPage->setUseDarkAppearanceOverride(false);
    242     else if (appearance == "dark"_s)
    243         m_frontendPage->setUseDarkAppearanceOverride(true);
    244     else
     237    if (appearance == "light"_s) {
     238        if (m_client)
     239            m_client->setForcedAppearance(InspectorFrontendClient::Appearance::Light);
     240        else if (m_frontendPage)
     241            m_frontendPage->setUseDarkAppearanceOverride(false);
     242        return;
     243    }
     244
     245    if (appearance == "dark"_s) {
     246        if (m_client)
     247            m_client->setForcedAppearance(InspectorFrontendClient::Appearance::Dark);
     248        else if (m_frontendPage)
     249            m_frontendPage->setUseDarkAppearanceOverride(true);
     250        return;
     251    }
     252
     253    if (m_client)
     254        m_client->setForcedAppearance(InspectorFrontendClient::Appearance::System);
     255    else if (m_frontendPage)
    245256        m_frontendPage->setUseDarkAppearanceOverride(WTF::nullopt);
    246257}
  • trunk/Source/WebCore/testing/Internals.cpp

    r257777 r257801  
    350350    void reopen() final { }
    351351    void bringToFront() final { }
     352    void setForcedAppearance(InspectorFrontendClient::Appearance) final { }
    352353    String localizedStringsURL() const final { return String(); }
    353354    DebuggableType debuggableType() const final { return DebuggableType::Page; }
  • trunk/Source/WebKit/ChangeLog

    r257797 r257801  
     12020-03-03  Devin Rousso  <drousso@apple.com>
     2
     3        Web Inspector: setting the frontend appearance doesn't update the window when undocked
     4        https://bugs.webkit.org/show_bug.cgi?id=208503
     5
     6        Reviewed by Timothy Hatcher.
     7
     8        Notify the UIProcess when setting the forced appearance so platforms that support dark mode
     9        are able to run native code to adjust the appearance of the undocked window.
     10
     11        * WebProcess/Inspector/WebInspectorUI.h:
     12        * WebProcess/Inspector/WebInspectorUI.cpp:
     13        (WebKit::WebInspectorUI::setForcedAppearance): Added.
     14        * UIProcess/Inspector/WebInspectorProxy.messages.in:
     15        * UIProcess/Inspector/WebInspectorProxy.h:
     16        * UIProcess/Inspector/WebInspectorProxy.cpp:
     17        (WebKit::WebInspectorProxy::setForcedAppearance): Added.
     18        (WebKit::WebInspectorProxy::platformSetForcedAppearance): Added.
     19        * UIProcess/Inspector/gtk/WebInspectorProxyGtk.cpp:
     20        (WebKit::WebInspectorProxy::platformSetForcedAppearance): Added.
     21        * UIProcess/Inspector/mac/WebInspectorProxyMac.mm:
     22        (WebKit::WebInspectorProxy::platformCreateFrontendWindow): Added.
     23        (WebKit::WebInspectorProxy::platformSetForcedAppearance): Added.
     24        (WebKit::WebInspectorProxy::applyForcedAppearance): Added.
     25        * UIProcess/Inspector/win/WebInspectorProxyWin.cpp:
     26        (WebKit::WebInspectorProxy::platformSetForcedAppearance): Added.
     27
     28        * WebProcess/Inspector/RemoteWebInspectorUI.h:
     29        * WebProcess/Inspector/RemoteWebInspectorUI.cpp:
     30        (WebKit::RemoteWebInspectorUI::setForcedAppearance): Added.
     31        * UIProcess/Inspector/RemoteWebInspectorProxy.messages.in:
     32        * UIProcess/Inspector/RemoteWebInspectorProxy.h:
     33        * UIProcess/Inspector/RemoteWebInspectorProxy.cpp:
     34        (WebKit::RemoteWebInspectorProxy::setForcedAppearance): Added.
     35        (WebKit::RemoteWebInspectorProxy::platformSetForcedAppearance): Added.
     36        * UIProcess/Inspector/gtk/RemoteWebInspectorProxyGtk.cpp:
     37        (WebKit::RemoteWebInspectorProxy::platformSetForcedAppearance): Added.
     38        * UIProcess/Inspector/mac/RemoteWebInspectorProxyMac.mm:
     39        (WebKit::RemoteWebInspectorProxy::platformSetForcedAppearance): Added.
     40        * UIProcess/Inspector/win/RemoteWebInspectorProxyWin.cpp:
     41        (WebKit::RemoteWebInspectorProxy::platformSetForcedAppearance): Added.
     42
    1432020-03-03  Per Arne Vollan  <pvollan@apple.com>
    244
  • trunk/Source/WebKit/UIProcess/Inspector/RemoteWebInspectorProxy.cpp

    r257759 r257801  
    139139}
    140140
     141void RemoteWebInspectorProxy::setForcedAppearance(InspectorFrontendClient::Appearance appearance)
     142{
     143    platformSetForcedAppearance(appearance);
     144}
     145
    141146void RemoteWebInspectorProxy::openInNewTab(const String& url)
    142147{
     
    194199void RemoteWebInspectorProxy::platformAppend(const String&, const String&) { }
    195200void RemoteWebInspectorProxy::platformSetSheetRect(const FloatRect&) { }
     201void RemoteWebInspectorProxy::platformSetForcedAppearance(InspectorFrontendClient::Appearance) { }
    196202void RemoteWebInspectorProxy::platformOpenInNewTab(const String&) { }
    197203void RemoteWebInspectorProxy::platformShowCertificate(const CertificateInfo&) { }
  • trunk/Source/WebKit/UIProcess/Inspector/RemoteWebInspectorProxy.h

    r257759 r257801  
    2929#include "MessageReceiver.h"
    3030#include <WebCore/FloatRect.h>
     31#include <WebCore/InspectorFrontendClient.h>
    3132#include <wtf/Forward.h>
    3233#include <wtf/HashMap.h>
     
    119120    void append(const String& filename, const String& content);
    120121    void setSheetRect(const WebCore::FloatRect&);
     122    void setForcedAppearance(WebCore::InspectorFrontendClient::Appearance);
    121123    void openInNewTab(const String& url);
    122124    void showCertificate(const WebCore::CertificateInfo&);
     
    134136    void platformAppend(const String& filename, const String& content);
    135137    void platformSetSheetRect(const WebCore::FloatRect&);
     138    void platformSetForcedAppearance(WebCore::InspectorFrontendClient::Appearance);
    136139    void platformOpenInNewTab(const String& url);
    137140    void platformShowCertificate(const WebCore::CertificateInfo&);
  • trunk/Source/WebKit/UIProcess/Inspector/RemoteWebInspectorProxy.messages.in

    r257759 r257801  
    3030    Append(String filename, String content)
    3131
     32    SetForcedAppearance(WebCore::InspectorFrontendClient::Appearance appearance)
     33
    3234    SetSheetRect(WebCore::FloatRect rect)
    3335
  • trunk/Source/WebKit/UIProcess/Inspector/WebInspectorProxy.cpp

    r257759 r257801  
    581581}
    582582
     583void WebInspectorProxy::setForcedAppearance(InspectorFrontendClient::Appearance appearance)
     584{
     585    platformSetForcedAppearance(appearance);
     586}
     587
    583588void WebInspectorProxy::inspectedURLChanged(const String& urlString)
    584589{
     
    725730}
    726731
     732void WebInspectorProxy::platformSetForcedAppearance(InspectorFrontendClient::Appearance)
     733{
     734    notImplemented();
     735}
     736
    727737void WebInspectorProxy::platformInspectedURLChanged(const String&)
    728738{
  • trunk/Source/WebKit/UIProcess/Inspector/WebInspectorProxy.h

    r257759 r257801  
    3434#include <JavaScriptCore/InspectorFrontendChannel.h>
    3535#include <WebCore/FloatRect.h>
     36#include <WebCore/InspectorFrontendClient.h>
    3637#include <wtf/Forward.h>
    3738#include <wtf/RefPtr.h>
     
    203204    bool platformIsFront();
    204205    void platformAttachAvailabilityChanged(bool);
     206    void platformSetForcedAppearance(WebCore::InspectorFrontendClient::Appearance);
    205207    void platformInspectedURLChanged(const String&);
    206208    void platformShowCertificate(const WebCore::CertificateInfo&);
     
    231233    void bringInspectedPageToFront();
    232234    void attachAvailabilityChanged(bool);
     235    void setForcedAppearance(WebCore::InspectorFrontendClient::Appearance);
    233236    void inspectedURLChanged(const String&);
    234237    void showCertificate(const WebCore::CertificateInfo&);
     
    248251
    249252    WebPreferences& inspectorPagePreferences() const;
     253
     254#if PLATFORM(MAC)
     255    void applyForcedAppearance();
     256#endif
    250257
    251258#if PLATFORM(GTK) || PLATFORM(WPE)
     
    284291    String m_urlString;
    285292    WebCore::FloatRect m_sheetRect;
     293    WebCore::InspectorFrontendClient::Appearance m_frontendAppearance { WebCore::InspectorFrontendClient::Appearance::System };
    286294    bool m_isObservingContentLayoutRect { false };
    287295#elif PLATFORM(GTK)
  • trunk/Source/WebKit/UIProcess/Inspector/WebInspectorProxy.messages.in

    r257759 r257801  
    3434    ResetState()
    3535
     36    SetForcedAppearance(WebCore::InspectorFrontendClient::Appearance appearance)
     37
    3638    InspectedURLChanged(String urlString)
    3739    ShowCertificate(WebCore::CertificateInfo certificateInfo)
  • trunk/Source/WebKit/UIProcess/Inspector/gtk/RemoteWebInspectorProxyGtk.cpp

    r257759 r257801  
    158158}
    159159
     160void RemoteWebInspectorProxy::platformSetForcedAppearance(InspectorFrontendClient::Appearance)
     161{
     162}
     163
    160164void RemoteWebInspectorProxy::platformOpenInNewTab(const String&)
    161165{
  • trunk/Source/WebKit/UIProcess/Inspector/gtk/WebInspectorProxyGtk.cpp

    r257759 r257801  
    333333}
    334334
     335void WebInspectorProxy::platformSetForcedAppearance(InspectorFrontendClient::Appearance)
     336{
     337    notImplemented();
     338}
     339
    335340void WebInspectorProxy::platformInspectedURLChanged(const String& url)
    336341{
  • trunk/Source/WebKit/UIProcess/Inspector/mac/RemoteWebInspectorProxyMac.mm

    r257759 r257801  
    226226}
    227227
     228void RemoteWebInspectorProxy::platformSetForcedAppearance(InspectorFrontendClient::Appearance appearance)
     229{
     230    NSWindow *window = m_window.get();
     231    ASSERT(window);
     232
     233    switch (appearance) {
     234    case InspectorFrontendClient::Appearance::System:
     235        window.appearance = nil;
     236        break;
     237
     238    case InspectorFrontendClient::Appearance::Light:
     239        window.appearance = [NSAppearance appearanceNamed:NSAppearanceNameAqua];
     240        break;
     241
     242    case InspectorFrontendClient::Appearance::Dark:
     243        window.appearance = [NSAppearance appearanceNamed:NSAppearanceNameDarkAqua];
     244        break;
     245    }
     246}
     247
    228248void RemoteWebInspectorProxy::platformOpenInNewTab(const String& url)
    229249{
  • trunk/Source/WebKit/UIProcess/Inspector/mac/WebInspectorProxyMac.mm

    r257759 r257801  
    299299
    300300    updateInspectorWindowTitle();
     301    applyForcedAppearance();
    301302}
    302303
     
    412413{
    413414    // Do nothing.
     415}
     416
     417void WebInspectorProxy::platformSetForcedAppearance(InspectorFrontendClient::Appearance appearance)
     418{
     419    m_frontendAppearance = appearance;
     420
     421    applyForcedAppearance();
    414422}
    415423
     
    797805}
    798806
     807void WebInspectorProxy::applyForcedAppearance()
     808{
     809    NSWindow *window = m_inspectorWindow.get();
     810    if (!window)
     811        return;
     812
     813    switch (m_frontendAppearance) {
     814    case InspectorFrontendClient::Appearance::System:
     815        window.appearance = nil;
     816        break;
     817
     818    case InspectorFrontendClient::Appearance::Light:
     819        window.appearance = [NSAppearance appearanceNamed:NSAppearanceNameAqua];
     820        break;
     821
     822    case InspectorFrontendClient::Appearance::Dark:
     823        window.appearance = [NSAppearance appearanceNamed:NSAppearanceNameDarkAqua];
     824        break;
     825    }
     826}
     827
    799828} // namespace WebKit
    800829
  • trunk/Source/WebKit/UIProcess/Inspector/win/RemoteWebInspectorProxyWin.cpp

    r257759 r257801  
    135135void RemoteWebInspectorProxy::platformAppend(const String&, const String&) { }
    136136void RemoteWebInspectorProxy::platformSetSheetRect(const WebCore::FloatRect&) { }
     137void RemoteWebInspectorProxy::platformSetForcedAppearance(InspectorFrontendClient::Appearance) { }
    137138void RemoteWebInspectorProxy::platformOpenInNewTab(const String&) { }
    138139void RemoteWebInspectorProxy::platformShowCertificate(const WebCore::CertificateInfo&) { }
  • trunk/Source/WebKit/UIProcess/Inspector/win/WebInspectorProxyWin.cpp

    r257759 r257801  
    411411}
    412412
     413void WebInspectorProxy::platformSetForcedAppearance(InspectorFrontendClient::Appearance)
     414{
     415    notImplemented();
     416}
     417
    413418void WebInspectorProxy::platformInspectedURLChanged(const String& /* url */)
    414419{
  • trunk/Source/WebKit/WebProcess/Inspector/RemoteWebInspectorUI.cpp

    r257759 r257801  
    111111}
    112112
     113void RemoteWebInspectorUI::setForcedAppearance(WebCore::InspectorFrontendClient::Appearance appearance)
     114{
     115    WebProcess::singleton().parentProcessConnection()->send(Messages::RemoteWebInspectorProxy::SetForcedAppearance(appearance), m_page.identifier());
     116}
     117
    113118WebCore::UserInterfaceLayoutDirection RemoteWebInspectorUI::userInterfaceLayoutDirection() const
    114119{
  • trunk/Source/WebKit/WebProcess/Inspector/RemoteWebInspectorUI.h

    r257759 r257801  
    7373    bool targetIsSimulator() const override;
    7474
     75    void setForcedAppearance(WebCore::InspectorFrontendClient::Appearance) override;
     76
    7577    WebCore::UserInterfaceLayoutDirection userInterfaceLayoutDirection() const override;
    7678
  • trunk/Source/WebKit/WebProcess/Inspector/WebInspectorUI.cpp

    r257759 r257801  
    174174}
    175175
     176void WebInspectorUI::setForcedAppearance(WebCore::InspectorFrontendClient::Appearance appearance)
     177{
     178    WebProcess::singleton().parentProcessConnection()->send(Messages::WebInspectorProxy::SetForcedAppearance(appearance), m_inspectedPageIdentifier);
     179}
     180
    176181WebCore::UserInterfaceLayoutDirection WebInspectorUI::userInterfaceLayoutDirection() const
    177182{
  • trunk/Source/WebKit/WebProcess/Inspector/WebInspectorUI.h

    r257759 r257801  
    108108    void resetState() override;
    109109
     110    void setForcedAppearance(WebCore::InspectorFrontendClient::Appearance) override;
     111
    110112    WebCore::UserInterfaceLayoutDirection userInterfaceLayoutDirection() const override;
    111113
  • trunk/Source/WebKitLegacy/ios/ChangeLog

    r257759 r257801  
     12020-03-03  Devin Rousso  <drousso@apple.com>
     2
     3        Web Inspector: setting the frontend appearance doesn't update the window when undocked
     4        https://bugs.webkit.org/show_bug.cgi?id=208503
     5
     6        Reviewed by Timothy Hatcher.
     7
     8        Notify the UIProcess when setting the forced appearance so platforms that support dark mode
     9        are able to run native code to adjust the appearance of the undocked window.
     10
     11        * WebCoreSupport/WebInspectorClientIOS.mm:
     12        (WebInspectorFrontendClient::setForcedAppearance): Added.
     13
    1142020-03-02  Devin Rousso  <drousso@apple.com>
    215
  • trunk/Source/WebKitLegacy/ios/WebCoreSupport/WebInspectorClientIOS.mm

    r257759 r257801  
    129129void WebInspectorFrontendClient::reopen() { }
    130130void WebInspectorFrontendClient::resetState() { }
     131void WebInspectorFrontendClient::setForcedAppearance(InspectorFrontendClient::Appearance) { }
    131132void WebInspectorFrontendClient::attachWindow(DockSide) { }
    132133void WebInspectorFrontendClient::detachWindow() { }
  • trunk/Source/WebKitLegacy/mac/ChangeLog

    r257759 r257801  
     12020-03-03  Devin Rousso  <drousso@apple.com>
     2
     3        Web Inspector: setting the frontend appearance doesn't update the window when undocked
     4        https://bugs.webkit.org/show_bug.cgi?id=208503
     5
     6        Reviewed by Timothy Hatcher.
     7
     8        Notify the UIProcess when setting the forced appearance so platforms that support dark mode
     9        are able to run native code to adjust the appearance of the undocked window.
     10
     11        * WebCoreSupport/WebInspectorClient.h:
     12        * WebCoreSupport/WebInspectorClient.mm:
     13        (WebInspectorFrontendClient::setForcedAppearance): Added.
     14
    1152020-03-02  Devin Rousso  <drousso@apple.com>
    216
  • trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.h

    r257759 r257801  
    130130    void resetState() override;
    131131
     132    void setForcedAppearance(InspectorFrontendClient::Appearance) override;
     133
    132134    void attachWindow(DockSide) override;
    133135    void detachWindow() override;
  • trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.mm

    r257759 r257801  
    265265}
    266266
     267void WebInspectorFrontendClient::setForcedAppearance(InspectorFrontendClient::Appearance appearance)
     268{
     269    NSWindow *window = [m_frontendWindowController window];
     270    ASSERT(window);
     271
     272    switch (appearance) {
     273    case InspectorFrontendClient::Appearance::System:
     274        window.appearance = nil;
     275        break;
     276
     277    case InspectorFrontendClient::Appearance::Light:
     278        window.appearance = [NSAppearance appearanceNamed:NSAppearanceNameAqua];
     279        break;
     280
     281    case InspectorFrontendClient::Appearance::Dark:
     282        window.appearance = [NSAppearance appearanceNamed:NSAppearanceNameDarkAqua];
     283        break;
     284    }
     285}
     286
    267287void WebInspectorFrontendClient::attachWindow(DockSide)
    268288{
  • trunk/Source/WebKitLegacy/win/ChangeLog

    r257707 r257801  
     12020-03-03  Devin Rousso  <drousso@apple.com>
     2
     3        Web Inspector: setting the frontend appearance doesn't update the window when undocked
     4        https://bugs.webkit.org/show_bug.cgi?id=208503
     5
     6        Reviewed by Timothy Hatcher.
     7
     8        Notify the UIProcess when setting the forced appearance so platforms that support dark mode
     9        are able to run native code to adjust the appearance of the undocked window.
     10
     11        * WebCoreSupport/WebInspectorClient.h:
     12        * WebCoreSupport/WebInspectorClient.cpp:
     13        (WebInspectorFrontendClient::setForcedAppearance): Added.
     14
    1152020-03-02  Rob Buis  <rbuis@igalia.com>
    216
  • trunk/Source/WebKitLegacy/win/WebCoreSupport/WebInspectorClient.cpp

    r253837 r257801  
    287287}
    288288
     289void WebInspectorFrontendClient::setForcedAppearance(InspectorFrontendClient::Appearance)
     290{
     291    notImplemented();
     292}
     293
    289294void WebInspectorFrontendClient::attachWindow(DockSide)
    290295{
  • trunk/Source/WebKitLegacy/win/WebCoreSupport/WebInspectorClient.h

    r253868 r257801  
    117117    void resetState() override;
    118118
     119    void setForcedAppearance(InspectorFrontendClient::Appearance) override;
     120
    119121    void setAttachedWindowHeight(unsigned) override;
    120122    void setAttachedWindowWidth(unsigned) override;
Note: See TracChangeset for help on using the changeset viewer.