Changeset 245189 in webkit


Ignore:
Timestamp:
May 10, 2019 12:58:37 PM (5 years ago)
Author:
Wenson Hsieh
Message:

Let WebKit clients supply an application name for user agent in modern compatibility mode
https://bugs.webkit.org/show_bug.cgi?id=197782
<rdar://problem/50646747>

Reviewed by Beth Dakin.

Add plumbing for a new private property on WKWebpagePreferences.

  • UIProcess/API/APIWebsitePolicies.cpp:

(API::WebsitePolicies::copy const):

  • UIProcess/API/APIWebsitePolicies.h:
  • UIProcess/API/Cocoa/WKWebpagePreferences.mm:

(-[WKWebpagePreferences _applicationNameForUserAgentWithModernCompatibility]):
(-[WKWebpagePreferences _setApplicationNameForUserAgentWithModernCompatibility:]):

  • UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h:
Location:
trunk/Source/WebKit
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r245187 r245189  
     12019-05-10  Wenson Hsieh  <wenson_hsieh@apple.com>
     2
     3        Let WebKit clients supply an application name for user agent in modern compatibility mode
     4        https://bugs.webkit.org/show_bug.cgi?id=197782
     5        <rdar://problem/50646747>
     6
     7        Reviewed by Beth Dakin.
     8
     9        Add plumbing for a new private property on WKWebpagePreferences.
     10
     11        * UIProcess/API/APIWebsitePolicies.cpp:
     12        (API::WebsitePolicies::copy const):
     13        * UIProcess/API/APIWebsitePolicies.h:
     14        * UIProcess/API/Cocoa/WKWebpagePreferences.mm:
     15        (-[WKWebpagePreferences _applicationNameForUserAgentWithModernCompatibility]):
     16        (-[WKWebpagePreferences _setApplicationNameForUserAgentWithModernCompatibility:]):
     17        * UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h:
     18
    1192019-05-10  Chris Dumez  <cdumez@apple.com>
    220
  • trunk/Source/WebKit/UIProcess/API/APIWebsitePolicies.cpp

    r245044 r245189  
    6767    policies->setCustomHeaderFields(WTFMove(customHeaderFields));
    6868    policies->setAllowSiteSpecificQuirksToOverrideCompatibilityMode(m_allowSiteSpecificQuirksToOverrideCompatibilityMode);
     69    policies->setApplicationNameForUserAgentWithModernCompatibility(m_applicationNameForUserAgentWithModernCompatibility);
    6970    return policies;
    7071}
  • trunk/Source/WebKit/UIProcess/API/APIWebsitePolicies.h

    r245044 r245189  
    105105    void setAllowSiteSpecificQuirksToOverrideCompatibilityMode(bool value) { m_allowSiteSpecificQuirksToOverrideCompatibilityMode = value; }
    106106
     107    WTF::String applicationNameForUserAgentWithModernCompatibility() const { return m_applicationNameForUserAgentWithModernCompatibility; }
     108    void setApplicationNameForUserAgentWithModernCompatibility(const WTF::String& applicationName) { m_applicationNameForUserAgentWithModernCompatibility = applicationName; }
     109
    107110private:
    108111    WebsitePolicies(bool contentBlockersEnabled, OptionSet<WebKit::WebsiteAutoplayQuirk>, WebKit::WebsiteAutoplayPolicy, Vector<WebCore::HTTPHeaderField>&&, WebKit::WebsitePopUpPolicy, RefPtr<WebsiteDataStore>&&);
     
    125128    WebKit::WebsiteSimulatedMouseEventsDispatchPolicy m_simulatedMouseEventsDispatchPolicy { WebKit::WebsiteSimulatedMouseEventsDispatchPolicy::Default };
    126129    bool m_allowSiteSpecificQuirksToOverrideCompatibilityMode { false };
     130    WTF::String m_applicationNameForUserAgentWithModernCompatibility;
    127131};
    128132
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm

    r245044 r245189  
    287287}
    288288
     289- (NSString *)_applicationNameForUserAgentWithModernCompatibility
     290{
     291    return _websitePolicies->applicationNameForUserAgentWithModernCompatibility();
     292}
     293
     294- (void)_setApplicationNameForUserAgentWithModernCompatibility:(NSString *)applicationName
     295{
     296    _websitePolicies->setApplicationNameForUserAgentWithModernCompatibility(applicationName);
     297}
     298
    289299- (API::Object&)_apiObject
    290300{
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h

    r245044 r245189  
    7070@property (nonatomic, setter=_setAllowSiteSpecificQuirksToOverrideCompatibilityMode:) BOOL _allowSiteSpecificQuirksToOverrideCompatibilityMode;
    7171
     72@property (nonatomic, copy, setter=_setApplicationNameForUserAgentWithModernCompatibility:) NSString *_applicationNameForUserAgentWithModernCompatibility;
     73
    7274@end
Note: See TracChangeset for help on using the changeset viewer.