Changeset 209067 in webkit


Ignore:
Timestamp:
Nov 29, 2016 6:02:42 AM (7 years ago)
Author:
BJ Burg
Message:

Web Automation: add ObjC SPI to set whether a page is controlled by automation
https://bugs.webkit.org/show_bug.cgi?id=165001
<rdar://problem/29350432>

Reviewed by Dan Bernstein.

Add SPI property to WKWebViewConfiguration and plumb it through to
initialize WebPageProxy::m_controlledByAutomation. This is propagated
to the WebProcess on creation via WebPageCreationParameters.

  • UIProcess/API/APIPageConfiguration.cpp:

(API::PageConfiguration::copy):

  • UIProcess/API/APIPageConfiguration.h:

(API::PageConfiguration::isControlledByAutomation):
(API::PageConfiguration::setControlledByAutomation):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _initializeWithConfiguration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _isControlledByAutomation]):
(-[WKWebViewConfiguration _setControlledByAutomation:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

Location:
trunk/Source/WebKit2
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r209063 r209067  
     12016-11-21  Brian Burg  <bburg@apple.com>
     2
     3        Web Automation: add ObjC SPI to set whether a page is controlled by automation
     4        https://bugs.webkit.org/show_bug.cgi?id=165001
     5        <rdar://problem/29350432>
     6
     7        Reviewed by Dan Bernstein.
     8
     9        Add SPI property to WKWebViewConfiguration and plumb it through to
     10        initialize WebPageProxy::m_controlledByAutomation. This is propagated
     11        to the WebProcess on creation via WebPageCreationParameters.
     12
     13        * UIProcess/API/APIPageConfiguration.cpp:
     14        (API::PageConfiguration::copy):
     15        * UIProcess/API/APIPageConfiguration.h:
     16        (API::PageConfiguration::isControlledByAutomation):
     17        (API::PageConfiguration::setControlledByAutomation):
     18        * UIProcess/API/Cocoa/WKWebView.mm:
     19        (-[WKWebView _initializeWithConfiguration:]):
     20        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
     21        (-[WKWebViewConfiguration init]):
     22        (-[WKWebViewConfiguration copyWithZone:]):
     23        (-[WKWebViewConfiguration _isControlledByAutomation]):
     24        (-[WKWebViewConfiguration _setControlledByAutomation:]):
     25        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
     26        * UIProcess/WebPageProxy.cpp:
     27        (WebKit::WebPageProxy::WebPageProxy):
     28
    1292016-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
    230
  • trunk/Source/WebKit2/UIProcess/API/APIPageConfiguration.cpp

    r202185 r209067  
    11/*
    2  * Copyright (C) 2015 Apple Inc. All rights reserved.
     2 * Copyright (C) 2015, 2016 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    6969#endif
    7070    copy->m_initialCapitalizationEnabled = this->m_initialCapitalizationEnabled;
     71    copy->m_controlledByAutomation = this->m_controlledByAutomation;
    7172
    7273    return copy;
  • trunk/Source/WebKit2/UIProcess/API/APIPageConfiguration.h

    r207298 r209067  
    11/*
    2  * Copyright (C) 2015 Apple Inc. All rights reserved.
     2 * Copyright (C) 2015, 2016 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    9696    void setWaitsForPaintAfterViewDidMoveToWindow(bool shouldSynchronize) { m_waitsForPaintAfterViewDidMoveToWindow = shouldSynchronize; }
    9797
     98    bool isControlledByAutomation() const { return m_controlledByAutomation; }
     99    void setControlledByAutomation(bool controlledByAutomation) { m_controlledByAutomation = controlledByAutomation; }
     100
    98101private:
    99102
     
    117120    bool m_initialCapitalizationEnabled = true;
    118121    bool m_waitsForPaintAfterViewDidMoveToWindow = true;
     122    bool m_controlledByAutomation = false;
    119123};
    120124
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm

    r209010 r209067  
    451451    pageConfiguration->setInitialCapitalizationEnabled([_configuration _initialCapitalizationEnabled]);
    452452    pageConfiguration->setWaitsForPaintAfterViewDidMoveToWindow([_configuration _waitsForPaintAfterViewDidMoveToWindow]);
     453    pageConfiguration->setControlledByAutomation([_configuration _isControlledByAutomation]);
    453454
    454455#if PLATFORM(MAC)
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm

    r208509 r209067  
    125125    BOOL _initialCapitalizationEnabled;
    126126    BOOL _waitsForPaintAfterViewDidMoveToWindow;
     127    BOOL _controlledByAutomation;
    127128
    128129#if ENABLE(APPLE_PAY)
     
    290291    configuration->_initialCapitalizationEnabled = self->_initialCapitalizationEnabled;
    291292    configuration->_waitsForPaintAfterViewDidMoveToWindow = self->_waitsForPaintAfterViewDidMoveToWindow;
     293    configuration->_controlledByAutomation = self->_controlledByAutomation;
    292294
    293295#if PLATFORM(IOS)
     
    672674}
    673675
     676- (BOOL)_isControlledByAutomation
     677{
     678    return _controlledByAutomation;
     679}
     680
     681- (void)_setControlledByAutomation:(BOOL)controlledByAutomation
     682{
     683    _controlledByAutomation = controlledByAutomation;
     684}
     685
    674686#if PLATFORM(MAC)
    675687- (BOOL)_showsURLsInToolTips
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h

    r208509 r209067  
    5858@property (nonatomic, setter=_setApplePayEnabled:) BOOL _applePayEnabled WK_API_AVAILABLE(macosx(10.12), ios(10.0));
    5959@property (nonatomic, setter=_setWaitsForPaintAfterViewDidMoveToWindow:) BOOL _waitsForPaintAfterViewDidMoveToWindow WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
     60@property (nonatomic, setter=_setControlledByAutomation:, getter=_isControlledByAutomation) BOOL _controlledByAutomation WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
    6061
    6162#if TARGET_OS_IPHONE
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r209010 r209067  
    406406    , m_isPageSuspended(false)
    407407    , m_addsVisitedLinks(true)
     408    , m_controlledByAutomation(m_configuration->isControlledByAutomation())
    408409#if ENABLE(REMOTE_INSPECTOR)
    409410    , m_allowsRemoteInspection(true)
Note: See TracChangeset for help on using the changeset viewer.