Diff
Modified: trunk/LayoutTests/ChangeLog (144220 => 144221)
--- trunk/LayoutTests/ChangeLog 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/LayoutTests/ChangeLog 2013-02-27 20:20:37 UTC (rev 144221)
@@ -1,3 +1,21 @@
+2013-02-27 Manuel Rego Casasnovas <[email protected]>
+
+ Add smartInsertDeleteEnabled setting to WebCore::Page
+ https://bugs.webkit.org/show_bug.cgi?id=107840
+
+ Reviewed by Ryosuke Niwa.
+
+ 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.
+
2013-02-27 Chris Fleizach <[email protected]>
WebSpeech: Support pause/resume ability
Modified: trunk/LayoutTests/editing/deleting/smart-editing-disabled.html (144220 => 144221)
--- trunk/LayoutTests/editing/deleting/smart-editing-disabled.html 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/LayoutTests/editing/deleting/smart-editing-disabled.html 2013-02-27 20:20:37 UTC (rev 144221)
@@ -4,7 +4,7 @@
if (window.testRunner) {
testRunner.dumpAsText();
- testRunner.setSmartInsertDeleteEnabled(false);
+ internals.settings.setSmartInsertDeleteEnabled(false);
}
function editingTest() {
Modified: trunk/LayoutTests/editing/selection/doubleclick-beside-cr-span.html (144220 => 144221)
--- trunk/LayoutTests/editing/selection/doubleclick-beside-cr-span.html 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/LayoutTests/editing/selection/doubleclick-beside-cr-span.html 2013-02-27 20:20:37 UTC (rev 144221)
@@ -3,7 +3,7 @@
<script>
if (window.testRunner) {
testRunner.dumpAsText();
- testRunner.setSmartInsertDeleteEnabled(false);
+ internals.settings.setSmartInsertDeleteEnabled(false);
testRunner.setSelectTrailingWhitespaceEnabled(true);
}
Modified: trunk/LayoutTests/editing/selection/doubleclick-whitespace-crash.html (144220 => 144221)
--- trunk/LayoutTests/editing/selection/doubleclick-whitespace-crash.html 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/LayoutTests/editing/selection/doubleclick-whitespace-crash.html 2013-02-27 20:20:37 UTC (rev 144221)
@@ -3,7 +3,7 @@
<script>
if (window.testRunner) {
testRunner.dumpAsText();
- testRunner.setSmartInsertDeleteEnabled(false);
+ internals.settings.setSmartInsertDeleteEnabled(false);
testRunner.setSelectTrailingWhitespaceEnabled(true);
}
</script>
Modified: trunk/LayoutTests/editing/selection/doubleclick-whitespace-img-crash.html (144220 => 144221)
--- trunk/LayoutTests/editing/selection/doubleclick-whitespace-img-crash.html 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/LayoutTests/editing/selection/doubleclick-whitespace-img-crash.html 2013-02-27 20:20:37 UTC (rev 144221)
@@ -3,7 +3,7 @@
<script>
if (window.testRunner) {
testRunner.dumpAsText();
- testRunner.setSmartInsertDeleteEnabled(false);
+ internals.settings.setSmartInsertDeleteEnabled(false);
testRunner.setSelectTrailingWhitespaceEnabled(true);
testRunner.waitUntilDone();
}
Modified: trunk/LayoutTests/editing/selection/doubleclick-whitespace.html (144220 => 144221)
--- trunk/LayoutTests/editing/selection/doubleclick-whitespace.html 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/LayoutTests/editing/selection/doubleclick-whitespace.html 2013-02-27 20:20:37 UTC (rev 144221)
@@ -3,7 +3,7 @@
<script>
if (window.testRunner) {
testRunner.dumpAsText();
- testRunner.setSmartInsertDeleteEnabled(false);
+ internals.settings.setSmartInsertDeleteEnabled(false);
testRunner.setSelectTrailingWhitespaceEnabled(true);
}
Modified: trunk/LayoutTests/platform/wk2/TestExpectations (144220 => 144221)
--- trunk/LayoutTests/platform/wk2/TestExpectations 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/LayoutTests/platform/wk2/TestExpectations 2013-02-27 20:20:37 UTC (rev 144221)
@@ -367,9 +367,6 @@
# WebKitTestRunner should dump text/plain content as text
http/tests/incremental/slow-utf8-text.pl
-# WebKitTestRunner needs layoutTestController.setSmartInsertDeleteEnabled
-editing/deleting/smart-editing-disabled.html
-
# WebKitTestRunner needs plainText.plainText
editing/text-iterator/basic-iteration.html
Modified: trunk/Source/WebCore/ChangeLog (144220 => 144221)
--- trunk/Source/WebCore/ChangeLog 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/Source/WebCore/ChangeLog 2013-02-27 20:20:37 UTC (rev 144221)
@@ -1,3 +1,14 @@
+2013-02-27 Manuel Rego Casasnovas <[email protected]>
+
+ Add smartInsertDeleteEnabled setting to WebCore::Page
+ https://bugs.webkit.org/show_bug.cgi?id=107840
+
+ Reviewed by Ryosuke Niwa.
+
+ Covered by editing/deleting/smart-editing-disabled.html.
+
+ * page/Settings.in: Add new setting with true as initial value.
+
2013-02-27 Chris Fleizach <[email protected]>
WebSpeech: Support pause/resume ability
Modified: trunk/Source/WebCore/page/Settings.in (144220 => 144221)
--- trunk/Source/WebCore/page/Settings.in 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/Source/WebCore/page/Settings.in 2013-02-27 20:20:37 UTC (rev 144221)
@@ -194,3 +194,5 @@
unifiedTextCheckerEnabled initial=defaultUnifiedTextCheckerEnabled
logsPageMessagesToSystemConsoleEnabled initial=false
+
+smartInsertDeleteEnabled initial=true
Modified: trunk/Source/WebKit2/ChangeLog (144220 => 144221)
--- trunk/Source/WebKit2/ChangeLog 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/Source/WebKit2/ChangeLog 2013-02-27 20:20:37 UTC (rev 144221)
@@ -1,3 +1,47 @@
+2013-02-27 Manuel Rego Casasnovas <[email protected]>
+
+ Add smartInsertDeleteEnabled setting to WebCore::Page
+ https://bugs.webkit.org/show_bug.cgi?id=107840
+
+ Reviewed by Ryosuke Niwa.
+
+ * 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.
+
+
2013-02-27 Anders Carlsson <[email protected]>
More storage scaffolding
Modified: trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp (144220 => 144221)
--- trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp 2013-02-27 20:20:37 UTC (rev 144221)
@@ -60,7 +60,6 @@
encoder << mayStartMediaWhenInWindow;
#if PLATFORM(MAC)
- encoder << isSmartInsertDeleteEnabled;
encoder.encodeEnum(layerHostingMode);
encoder << colorSpace;
#endif
@@ -120,8 +119,6 @@
return false;
#if PLATFORM(MAC)
- if (!decoder.decode(parameters.isSmartInsertDeleteEnabled))
- return false;
if (!decoder.decodeEnum(parameters.layerHostingMode))
return false;
if (!decoder.decode(parameters.colorSpace))
Modified: trunk/Source/WebKit2/Shared/WebPageCreationParameters.h (144220 => 144221)
--- trunk/Source/WebKit2/Shared/WebPageCreationParameters.h 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/Source/WebKit2/Shared/WebPageCreationParameters.h 2013-02-27 20:20:37 UTC (rev 144221)
@@ -88,7 +88,6 @@
bool mayStartMediaWhenInWindow;
#if PLATFORM(MAC)
- bool isSmartInsertDeleteEnabled;
LayerHostingMode layerHostingMode;
ColorSpaceData colorSpace;
#endif
Modified: trunk/Source/WebKit2/Shared/WebPreferencesStore.h (144220 => 144221)
--- trunk/Source/WebKit2/Shared/WebPreferencesStore.h 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/Source/WebKit2/Shared/WebPreferencesStore.h 2013-02-27 20:20:37 UTC (rev 144221)
@@ -140,6 +140,7 @@
macro(QTKitEnabled, isQTKitEnabled, Bool, bool, true) \
macro(LogsPageMessagesToSystemConsoleEnabled, logsPageMessagesToSystemConsoleEnabled, Bool, bool, false) \
macro(PageVisibilityBasedProcessSuppressionEnabled, pageVisibilityBasedProcessSuppressionEnabled, Bool, bool, false) \
+ macro(SmartInsertDeleteEnabled, smartInsertDeleteEnabled, Bool, bool, true) \
\
#define FOR_EACH_WEBKIT_DOUBLE_PREFERENCE(macro) \
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp (144220 => 144221)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp 2013-02-27 20:20:37 UTC (rev 144221)
@@ -1033,3 +1033,13 @@
{
return toImpl(preferencesRef)->pageVisibilityBasedProcessSuppressionEnabled();
}
+
+void WKPreferencesSetSmartInsertDeleteEnabled(WKPreferencesRef preferencesRef, bool enabled)
+{
+ toImpl(preferencesRef)->setSmartInsertDeleteEnabled(enabled);
+}
+
+bool WKPreferencesGetSmartInsertDeleteEnabled(WKPreferencesRef preferencesRef)
+{
+ return toImpl(preferencesRef)->smartInsertDeleteEnabled();
+}
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h (144220 => 144221)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h 2013-02-27 20:20:37 UTC (rev 144221)
@@ -249,6 +249,10 @@
WK_EXPORT void WKPreferencesResetTestRunnerOverrides(WKPreferencesRef preferencesRef);
+// Defaults to true
+WK_EXPORT void WKPreferencesSetSmartInsertDeleteEnabled(WKPreferencesRef preferences, bool enabled);
+WK_EXPORT bool WKPreferencesGetSmartInsertDeleteEnabled(WKPreferencesRef preferences);
+
#ifdef __cplusplus
}
#endif
Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (144220 => 144221)
--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp 2013-02-27 20:20:37 UTC (rev 144221)
@@ -452,6 +452,10 @@
#elif ENABLE(HIDDEN_PAGE_DOM_TIMER_THROTTLING)
m_process->send(Messages::WebPage::SetVisibilityState(m_isVisible ? PageVisibilityStateVisible : PageVisibilityStateHidden, /* isInitialState */ true), m_pageID);
#endif
+
+#if PLATFORM(MAC)
+ m_process->send(Messages::WebPage::SetSmartInsertDeleteEnabled(m_isSmartInsertDeleteEnabled), m_pageID);
+#endif
}
void WebPageProxy::close()
@@ -3834,7 +3838,6 @@
parameters.mayStartMediaWhenInWindow = m_mayStartMediaWhenInWindow;
#if PLATFORM(MAC)
- parameters.isSmartInsertDeleteEnabled = m_isSmartInsertDeleteEnabled;
parameters.layerHostingMode = m_layerHostingMode;
parameters.colorSpace = m_pageClient->colorSpace();
#endif
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp (144220 => 144221)
--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp 2013-02-27 20:20:37 UTC (rev 144221)
@@ -82,12 +82,7 @@
bool WebEditorClient::smartInsertDeleteEnabled()
{
- // FIXME: Why isn't this Mac specific like toggleSmartInsertDeleteEnabled?
-#if PLATFORM(MAC)
return m_page->isSmartInsertDeleteEnabled();
-#else
- return true;
-#endif
}
bool WebEditorClient::isSelectTrailingWhitespaceEnabled()
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (144220 => 144221)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2013-02-27 20:20:37 UTC (rev 144221)
@@ -237,7 +237,6 @@
#if PLATFORM(MAC)
, m_pdfPluginEnabled(false)
, m_windowIsVisible(false)
- , m_isSmartInsertDeleteEnabled(parameters.isSmartInsertDeleteEnabled)
, m_layerHostingMode(parameters.layerHostingMode)
, m_keyboardEventBeingInterpreted(0)
#elif PLATFORM(GTK)
@@ -2391,6 +2390,8 @@
settings->setLogsPageMessagesToSystemConsoleEnabled(store.getBoolValueForKey(WebPreferencesKey::logsPageMessagesToSystemConsoleEnabledKey()));
+ settings->setSmartInsertDeleteEnabled(store.getBoolValueForKey(WebPreferencesKey::smartInsertDeleteEnabledKey()));
+
platformPreferencesDidChange(store);
if (m_drawingArea)
@@ -3782,4 +3783,14 @@
corePage()->mainFrame()->view()->enableAutoSizeMode(false, IntSize(), IntSize());
}
+bool WebPage::isSmartInsertDeleteEnabled()
+{
+ return m_page->settings()->smartInsertDeleteEnabled();
+}
+
+void WebPage::setSmartInsertDeleteEnabled(bool enabled)
+{
+ m_page->settings()->setSmartInsertDeleteEnabled(enabled);
+}
+
} // namespace WebKit
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (144220 => 144221)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h 2013-02-27 20:14:45 UTC (rev 144220)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h 2013-02-27 20:20:37 UTC (rev 144221)
@@ -480,9 +480,11 @@
void speak(const String&);
void stopSpeaking();
- bool isSmartInsertDeleteEnabled() const { return m_isSmartInsertDeleteEnabled; }
#endif
+ bool isSmartInsertDeleteEnabled();
+ void setSmartInsertDeleteEnabled(bool);
+
void replaceSelectionWithText(WebCore::Frame*, const String&);
void clearSelection();
@@ -768,10 +770,6 @@
void capitalizeWord();
#endif
-#if PLATFORM(MAC)
- void setSmartInsertDeleteEnabled(bool isSmartInsertDeleteEnabled) { m_isSmartInsertDeleteEnabled = isSmartInsertDeleteEnabled; }
-#endif
-
#if ENABLE(CONTEXT_MENUS)
void didSelectItemFromActiveContextMenu(const WebContextMenuItemData&);
#endif
@@ -822,9 +820,6 @@
// Whether the containing window is visible or not.
bool m_windowIsVisible;
- // Whether smart insert/delete is enabled or not.
- bool m_isSmartInsertDeleteEnabled;
-
// The frame of the containing window in screen coordinates.
WebCore::IntRect m_windowFrameInScreenCoordinates;