Changeset 144221 in webkit


Ignore:
Timestamp:
Feb 27, 2013 12:20:37 PM (11 years ago)
Author:
commit-queue@webkit.org
Message:

Add smartInsertDeleteEnabled setting to WebCore::Page
https://bugs.webkit.org/show_bug.cgi?id=107840

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> 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.

Location:
trunk
Files:
19 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r144220 r144221  
     12013-02-27  Manuel Rego Casasnovas  <rego@igalia.com>
     2
     3        Add smartInsertDeleteEnabled setting to WebCore::Page
     4        https://bugs.webkit.org/show_bug.cgi?id=107840
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Replace testRunner.setSmartInsertDeleteEnabled by
     9        internals.settings.setSmartInsertDeleteEnabled in tests.
     10
     11        * editing/deleting/smart-editing-disabled.html:
     12        * editing/selection/doubleclick-beside-cr-span.html:
     13        * editing/selection/doubleclick-whitespace-crash.html:
     14        * editing/selection/doubleclick-whitespace-img-crash.html:
     15        * editing/selection/doubleclick-whitespace.html:
     16        * platform/wk2/TestExpectations: Unflag
     17        editing/deleting/smart-editing-disabled.html as it passes now.
     18
    1192013-02-27  Chris Fleizach  <cfleizach@apple.com>
    220
  • trunk/LayoutTests/editing/deleting/smart-editing-disabled.html

    r124691 r144221  
    55if (window.testRunner) {
    66    testRunner.dumpAsText();
    7     testRunner.setSmartInsertDeleteEnabled(false);
     7    internals.settings.setSmartInsertDeleteEnabled(false);
    88}
    99
  • trunk/LayoutTests/editing/selection/doubleclick-beside-cr-span.html

    r120173 r144221  
    44if (window.testRunner) {
    55     testRunner.dumpAsText();
    6      testRunner.setSmartInsertDeleteEnabled(false);
     6     internals.settings.setSmartInsertDeleteEnabled(false);
    77     testRunner.setSelectTrailingWhitespaceEnabled(true);
    88}
  • trunk/LayoutTests/editing/selection/doubleclick-whitespace-crash.html

    r120173 r144221  
    44if (window.testRunner) {
    55     testRunner.dumpAsText();
    6      testRunner.setSmartInsertDeleteEnabled(false);
     6     internals.settings.setSmartInsertDeleteEnabled(false);
    77     testRunner.setSelectTrailingWhitespaceEnabled(true);
    88}
  • trunk/LayoutTests/editing/selection/doubleclick-whitespace-img-crash.html

    r120173 r144221  
    44if (window.testRunner) {
    55     testRunner.dumpAsText();
    6      testRunner.setSmartInsertDeleteEnabled(false);
     6     internals.settings.setSmartInsertDeleteEnabled(false);
    77     testRunner.setSelectTrailingWhitespaceEnabled(true);
    88     testRunner.waitUntilDone();
  • trunk/LayoutTests/editing/selection/doubleclick-whitespace.html

    r120173 r144221  
    44if (window.testRunner) {
    55     testRunner.dumpAsText();
    6      testRunner.setSmartInsertDeleteEnabled(false);
     6     internals.settings.setSmartInsertDeleteEnabled(false);
    77     testRunner.setSelectTrailingWhitespaceEnabled(true);
    88}
  • trunk/LayoutTests/platform/wk2/TestExpectations

    r144152 r144221  
    367367# WebKitTestRunner should dump text/plain content as text
    368368http/tests/incremental/slow-utf8-text.pl
    369 
    370 # WebKitTestRunner needs layoutTestController.setSmartInsertDeleteEnabled
    371 editing/deleting/smart-editing-disabled.html
    372369
    373370# WebKitTestRunner needs plainText.plainText
  • trunk/Source/WebCore/ChangeLog

    r144220 r144221  
     12013-02-27  Manuel Rego Casasnovas  <rego@igalia.com>
     2
     3        Add smartInsertDeleteEnabled setting to WebCore::Page
     4        https://bugs.webkit.org/show_bug.cgi?id=107840
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Covered by editing/deleting/smart-editing-disabled.html.
     9
     10        * page/Settings.in: Add new setting with true as initial value.
     11
    1122013-02-27  Chris Fleizach  <cfleizach@apple.com>
    213
  • trunk/Source/WebCore/page/Settings.in

    r143804 r144221  
    195195
    196196logsPageMessagesToSystemConsoleEnabled initial=false
     197
     198smartInsertDeleteEnabled initial=true
  • trunk/Source/WebKit2/ChangeLog

    r144218 r144221  
     12013-02-27  Manuel Rego Casasnovas  <rego@igalia.com>
     2
     3        Add smartInsertDeleteEnabled setting to WebCore::Page
     4        https://bugs.webkit.org/show_bug.cgi?id=107840
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        * Shared/WebPageCreationParameters.cpp:
     9        (WebKit::WebPageCreationParameters::encode):
     10        (WebKit::WebPageCreationParameters::decode): Remove code related to
     11        isSmartInsertDeleteEnabled.
     12        * Shared/WebPageCreationParameters.h:
     13        (WebPageCreationParameters): Remove isSmartInsertDeleteEnabled.
     14        * Shared/WebPreferencesStore.h:
     15        (WebKit): Add macro for smartInsertDeleteEnabled setting.
     16        * UIProcess/API/C/WKPreferences.cpp:
     17        (WKPreferencesSetSmartInsertDeleteEnabled):
     18        (WKPreferencesGetSmartInsertDeleteEnabled): Implement methods using the
     19        new setting.
     20        * UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
     21        * UIProcess/WebPageProxy.cpp:
     22        (WebKit::WebPageProxy::initializeWebPage): Set smartInsertDeleteEnabled
     23        setting using m_isSmartInsertDeleteEnabled to keep initial value on Mac.
     24        (WebKit::WebPageProxy::creationParameters): Remove usage of
     25        parameters.isSmartInsertDeleteEnabled.
     26        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
     27        (WebKit::WebEditorClient::smartInsertDeleteEnabled): Enable method for
     28        all platforms.
     29        * WebProcess/WebPage/WebPage.cpp:
     30        (WebKit::WebPage::WebPage): Remove m_isSmartInsertDeleteEnabled
     31        initialization.
     32        (WebKit::WebPage::updatePreferences): Set smartInsertDeleteEnabled
     33        setting.
     34        (WebKit::WebPage::isSmartInsertDeleteEnabled): Implement method using
     35        settings.
     36        (WebKit):
     37        (WebKit::WebPage::setSmartInsertDeleteEnabled): Implement method using
     38        settings.
     39        * WebProcess/WebPage/WebPage.h:
     40        (WebPage): Enable methods dealing with smartInsertDeleteEnabled for all
     41        platforms and remove m_isSmartInsertDeleteEnabled as it will be a
     42        setting.
     43
     44
    1452013-02-27  Anders Carlsson  <andersca@apple.com>
    246
  • trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp

    r141619 r144221  
    6161
    6262#if PLATFORM(MAC)
    63     encoder << isSmartInsertDeleteEnabled;
    6463    encoder.encodeEnum(layerHostingMode);
    6564    encoder << colorSpace;
     
    121120
    122121#if PLATFORM(MAC)
    123     if (!decoder.decode(parameters.isSmartInsertDeleteEnabled))
    124         return false;
    125122    if (!decoder.decodeEnum(parameters.layerHostingMode))
    126123        return false;
  • trunk/Source/WebKit2/Shared/WebPageCreationParameters.h

    r141619 r144221  
    8989
    9090#if PLATFORM(MAC)
    91     bool isSmartInsertDeleteEnabled;
    9291    LayerHostingMode layerHostingMode;
    9392    ColorSpaceData colorSpace;
  • trunk/Source/WebKit2/Shared/WebPreferencesStore.h

    r141619 r144221  
    141141    macro(LogsPageMessagesToSystemConsoleEnabled, logsPageMessagesToSystemConsoleEnabled, Bool, bool, false) \
    142142    macro(PageVisibilityBasedProcessSuppressionEnabled, pageVisibilityBasedProcessSuppressionEnabled, Bool, bool, false) \
     143    macro(SmartInsertDeleteEnabled, smartInsertDeleteEnabled, Bool, bool, true) \
    143144    \
    144145
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp

    r141167 r144221  
    10341034    return toImpl(preferencesRef)->pageVisibilityBasedProcessSuppressionEnabled();
    10351035}
     1036
     1037void WKPreferencesSetSmartInsertDeleteEnabled(WKPreferencesRef preferencesRef, bool enabled)
     1038{
     1039    toImpl(preferencesRef)->setSmartInsertDeleteEnabled(enabled);
     1040}
     1041
     1042bool WKPreferencesGetSmartInsertDeleteEnabled(WKPreferencesRef preferencesRef)
     1043{
     1044    return toImpl(preferencesRef)->smartInsertDeleteEnabled();
     1045}
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h

    r141167 r144221  
    250250WK_EXPORT void WKPreferencesResetTestRunnerOverrides(WKPreferencesRef preferencesRef);
    251251
     252// Defaults to true
     253WK_EXPORT void WKPreferencesSetSmartInsertDeleteEnabled(WKPreferencesRef preferences, bool enabled);
     254WK_EXPORT bool WKPreferencesGetSmartInsertDeleteEnabled(WKPreferencesRef preferences);
     255
    252256#ifdef __cplusplus
    253257}
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r144015 r144221  
    453453    m_process->send(Messages::WebPage::SetVisibilityState(m_isVisible ? PageVisibilityStateVisible : PageVisibilityStateHidden, /* isInitialState */ true), m_pageID);
    454454#endif
     455
     456#if PLATFORM(MAC)
     457    m_process->send(Messages::WebPage::SetSmartInsertDeleteEnabled(m_isSmartInsertDeleteEnabled), m_pageID);
     458#endif
    455459}
    456460
     
    38353839
    38363840#if PLATFORM(MAC)
    3837     parameters.isSmartInsertDeleteEnabled = m_isSmartInsertDeleteEnabled;
    38383841    parameters.layerHostingMode = m_layerHostingMode;
    38393842    parameters.colorSpace = m_pageClient->colorSpace();
  • trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp

    r143926 r144221  
    8383bool WebEditorClient::smartInsertDeleteEnabled()
    8484{
    85     // FIXME: Why isn't this Mac specific like toggleSmartInsertDeleteEnabled?
    86 #if PLATFORM(MAC)
    8785    return m_page->isSmartInsertDeleteEnabled();
    88 #else
    89     return true;
    90 #endif
    9186}
    9287 
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r143976 r144221  
    238238    , m_pdfPluginEnabled(false)
    239239    , m_windowIsVisible(false)
    240     , m_isSmartInsertDeleteEnabled(parameters.isSmartInsertDeleteEnabled)
    241240    , m_layerHostingMode(parameters.layerHostingMode)
    242241    , m_keyboardEventBeingInterpreted(0)
     
    23922391    settings->setLogsPageMessagesToSystemConsoleEnabled(store.getBoolValueForKey(WebPreferencesKey::logsPageMessagesToSystemConsoleEnabledKey()));
    23932392
     2393    settings->setSmartInsertDeleteEnabled(store.getBoolValueForKey(WebPreferencesKey::smartInsertDeleteEnabledKey()));
     2394
    23942395    platformPreferencesDidChange(store);
    23952396
     
    37833784}
    37843785
     3786bool WebPage::isSmartInsertDeleteEnabled()
     3787{
     3788    return m_page->settings()->smartInsertDeleteEnabled();
     3789}
     3790
     3791void WebPage::setSmartInsertDeleteEnabled(bool enabled)
     3792{
     3793    m_page->settings()->setSmartInsertDeleteEnabled(enabled);
     3794}
     3795
    37853796} // namespace WebKit
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h

    r143537 r144221  
    481481    void stopSpeaking();
    482482
    483     bool isSmartInsertDeleteEnabled() const { return m_isSmartInsertDeleteEnabled; }
    484 #endif
     483#endif
     484
     485    bool isSmartInsertDeleteEnabled();
     486    void setSmartInsertDeleteEnabled(bool);
    485487
    486488    void replaceSelectionWithText(WebCore::Frame*, const String&);
     
    769771#endif
    770772
    771 #if PLATFORM(MAC)
    772     void setSmartInsertDeleteEnabled(bool isSmartInsertDeleteEnabled) { m_isSmartInsertDeleteEnabled = isSmartInsertDeleteEnabled; }
    773 #endif
    774 
    775773#if ENABLE(CONTEXT_MENUS)
    776774    void didSelectItemFromActiveContextMenu(const WebContextMenuItemData&);
     
    822820    // Whether the containing window is visible or not.
    823821    bool m_windowIsVisible;
    824 
    825     // Whether smart insert/delete is enabled or not.
    826     bool m_isSmartInsertDeleteEnabled;
    827822
    828823    // The frame of the containing window in screen coordinates.
Note: See TracChangeset for help on using the changeset viewer.