Skip to content
  • commit-queue@webkit.org's avatar
    Add smartInsertDeleteEnabled setting to WebCore::Page · 8d8980a8
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=107840
    
    Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-02-27
    Reviewed by Ryosuke Niwa.
    
    Source/WebCore:
    
    Covered by editing/deleting/smart-editing-disabled.html.
    
    * page/Settings.in: Add new setting with true as initial value.
    
    Source/WebKit2:
    
    * Shared/WebPageCreationParameters.cpp:
    (WebKit::WebPageCreationParameters::encode):
    (WebKit::WebPageCreationParameters::decode): Remove code related to
    isSmartInsertDeleteEnabled.
    * Shared/WebPageCreationParameters.h:
    (WebPageCreationParameters): Remove isSmartInsertDeleteEnabled.
    * Shared/WebPreferencesStore.h:
    (WebKit): Add macro for smartInsertDeleteEnabled setting.
    * UIProcess/API/C/WKPreferences.cpp:
    (WKPreferencesSetSmartInsertDeleteEnabled):
    (WKPreferencesGetSmartInsertDeleteEnabled): Implement methods using the
    new setting.
    * UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::initializeWebPage): Set smartInsertDeleteEnabled
    setting using m_isSmartInsertDeleteEnabled to keep initial value on Mac.
    (WebKit::WebPageProxy::creationParameters): Remove usage of
    parameters.isSmartInsertDeleteEnabled.
    * WebProcess/WebCoreSupport/WebEditorClient.cpp:
    (WebKit::WebEditorClient::smartInsertDeleteEnabled): Enable method for
    all platforms.
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::WebPage): Remove m_isSmartInsertDeleteEnabled
    initialization.
    (WebKit::WebPage::updatePreferences): Set smartInsertDeleteEnabled
    setting.
    (WebKit::WebPage::isSmartInsertDeleteEnabled): Implement method using
    settings.
    (WebKit):
    (WebKit::WebPage::setSmartInsertDeleteEnabled): Implement method using
    settings.
    * WebProcess/WebPage/WebPage.h:
    (WebPage): Enable methods dealing with smartInsertDeleteEnabled for all
    platforms and remove m_isSmartInsertDeleteEnabled as it will be a
    setting.
    
    LayoutTests:
    
    Replace testRunner.setSmartInsertDeleteEnabled by
    internals.settings.setSmartInsertDeleteEnabled in tests.
    
    * editing/deleting/smart-editing-disabled.html:
    * editing/selection/doubleclick-beside-cr-span.html:
    * editing/selection/doubleclick-whitespace-crash.html:
    * editing/selection/doubleclick-whitespace-img-crash.html:
    * editing/selection/doubleclick-whitespace.html:
    * platform/wk2/TestExpectations: Unflag
    editing/deleting/smart-editing-disabled.html as it passes now.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144221 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    8d8980a8