Diff
Modified: trunk/Source/WebCore/ChangeLog (138982 => 138983)
--- trunk/Source/WebCore/ChangeLog 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebCore/ChangeLog 2013-01-07 21:45:42 UTC (rev 138983)
@@ -1,3 +1,31 @@
+2013-01-07 Mike West <[email protected]>
+
+ Make the IFRAME_SEAMLESS flag runtime-enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=106213
+
+ Reviewed by Ojan Vafai.
+
+ Seamless IFrames live behind the IFRAME_SEAMLESS compile-time flag, this
+ patch adds another layer to that in order to enable runtime decisions
+ about when it should be active. This will allow ports (Chromium, for
+ instance) to toggle the feature on/off for particular builds without
+ recompiling from scratch.
+
+ * WebCore.exp.in:
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore):
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (RuntimeEnabledFeatures):
+ (WebCore::RuntimeEnabledFeatures::seamlessIFramesEnabled):
+ (WebCore::RuntimeEnabledFeatures::setSeamlessIFramesEnabled):
+ Add seamless IFrames to the set of runtime controlled features.
+ * dom/Document.cpp:
+ (WebCore::Document::shouldDisplaySeamlesslyWithParent):
+ If seamless IFrames aren't runtime enabled, always return false from
+ Document::shouldDisplaySeamlesslyWithParent. As this method already
+ acts as the single gate that controls the rest of the system, it's
+ the only place we need to make the runtime check.
+
2013-01-07 Eric Carlson <[email protected]>
LayoutUnit(unsigned long long value) compile failure
Modified: trunk/Source/WebCore/WebCore.exp.in (138982 => 138983)
--- trunk/Source/WebCore/WebCore.exp.in 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebCore/WebCore.exp.in 2013-01-07 21:45:42 UTC (rev 138983)
@@ -2714,3 +2714,7 @@
#if ENABLE(CSS_REGIONS)
__ZN7WebCore22RuntimeEnabledFeatures19isCSSRegionsEnabledE
#endif
+
+#if ENABLE(IFRAME_SEAMLESS)
+__ZN7WebCore22RuntimeEnabledFeatures25areSeamlessIFramesEnabledE
+#endif
Modified: trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp (138982 => 138983)
--- trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp 2013-01-07 21:45:42 UTC (rev 138983)
@@ -233,6 +233,10 @@
bool RuntimeEnabledFeatures::areExperimentalContentSecurityPolicyFeaturesEnabled = false;
#endif
+#if ENABLE(IFRAME_SEAMLESS)
+bool RuntimeEnabledFeatures::areSeamlessIFramesEnabled = false;
+#endif
+
#if ENABLE(WEB_INTENTS)
bool RuntimeEnabledFeatures::isWebIntentsEnabled = true;
#endif
Modified: trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h (138982 => 138983)
--- trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h 2013-01-07 21:45:42 UTC (rev 138983)
@@ -255,6 +255,11 @@
static void setExperimentalContentSecurityPolicyFeaturesEnabled(bool isEnabled) { areExperimentalContentSecurityPolicyFeaturesEnabled = isEnabled; }
#endif
+#if ENABLE(IFRAME_SEAMLESS)
+ static bool seamlessIFramesEnabled() { return areSeamlessIFramesEnabled; }
+ static void setSeamlessIFramesEnabled(bool isEnabled) { areSeamlessIFramesEnabled = isEnabled; }
+#endif
+
static bool langAttributeAwareFormControlUIEnabled() { return isLangAttributeAwareFormControlUIEnabled; }
// The lang attribute support is incomplete and should only be turned on for tests.
static void setLangAttributeAwareFormControlUIEnabled(bool isEnabled) { isLangAttributeAwareFormControlUIEnabled = isEnabled; }
@@ -376,6 +381,10 @@
static bool areExperimentalContentSecurityPolicyFeaturesEnabled;
#endif
+#if ENABLE(IFRAME_SEAMLESS)
+ static bool areSeamlessIFramesEnabled;
+#endif
+
#if ENABLE(WEB_INTENTS)
static bool isWebIntentsEnabled;
#endif
Modified: trunk/Source/WebCore/dom/Document.cpp (138982 => 138983)
--- trunk/Source/WebCore/dom/Document.cpp 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebCore/dom/Document.cpp 2013-01-07 21:45:42 UTC (rev 138983)
@@ -5661,6 +5661,8 @@
bool Document::shouldDisplaySeamlesslyWithParent() const
{
#if ENABLE(IFRAME_SEAMLESS)
+ if (!RuntimeEnabledFeatures::seamlessIFramesEnabled())
+ return false;
HTMLFrameOwnerElement* ownerElement = this->ownerElement();
if (!ownerElement)
return false;
Modified: trunk/Source/WebKit/chromium/ChangeLog (138982 => 138983)
--- trunk/Source/WebKit/chromium/ChangeLog 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/chromium/ChangeLog 2013-01-07 21:45:42 UTC (rev 138983)
@@ -1,3 +1,18 @@
+2013-01-07 Mike West <[email protected]>
+
+ Make the IFRAME_SEAMLESS flag runtime-enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=106213
+
+ Reviewed by Ojan Vafai.
+
+ * public/WebRuntimeFeatures.h:
+ (WebRuntimeFeatures):
+ * src/WebRuntimeFeatures.cpp:
+ (WebKit::WebRuntimeFeatures::enableSeamlessIFrames):
+ (WebKit):
+ (WebKit::WebRuntimeFeatures::areSeamlessIFramesEnabled):
+ Expose the new runtime feature to the Chromium port.
+
2013-01-07 Alec Flett <[email protected]>
IndexedDB: Stub out async IDBDatabaseBackendInterface::createObjectStore
Modified: trunk/Source/WebKit/chromium/public/WebRuntimeFeatures.h (138982 => 138983)
--- trunk/Source/WebKit/chromium/public/WebRuntimeFeatures.h 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/chromium/public/WebRuntimeFeatures.h 2013-01-07 21:45:42 UTC (rev 138983)
@@ -161,6 +161,9 @@
WEBKIT_EXPORT static void enableExperimentalContentSecurityPolicyFeatures(bool);
WEBKIT_EXPORT static bool isExperimentalContentSecurityPolicyFeaturesEnabled();
+ WEBKIT_EXPORT static void enableSeamlessIFrames(bool);
+ WEBKIT_EXPORT static bool areSeamlessIFramesEnabled();
+
WEBKIT_EXPORT static void enableWebIntents(bool);
WEBKIT_EXPORT static bool isWebIntentsEnabled();
Modified: trunk/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp (138982 => 138983)
--- trunk/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp 2013-01-07 21:45:42 UTC (rev 138983)
@@ -629,6 +629,24 @@
#endif
}
+void WebRuntimeFeatures::enableSeamlessIFrames(bool enable)
+{
+#if ENABLE(IFRAME_SEAMLESS)
+ return RuntimeEnabledFeatures::setSeamlessIFramesEnabled(enable);
+#else
+ UNUSED_PARAM(enable);
+#endif
+}
+
+bool WebRuntimeFeatures::areSeamlessIFramesEnabled()
+{
+#if ENABLE(IFRAME_SEAMLESS)
+ return RuntimeEnabledFeatures::seamlessIFramesEnabled();
+#else
+ return false;
+#endif
+}
+
void WebRuntimeFeatures::enableCSSExclusions(bool enable)
{
RuntimeEnabledFeatures::setCSSExclusionsEnabled(enable);
Modified: trunk/Source/WebKit/efl/ChangeLog (138982 => 138983)
--- trunk/Source/WebKit/efl/ChangeLog 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/efl/ChangeLog 2013-01-07 21:45:42 UTC (rev 138983)
@@ -1,3 +1,17 @@
+2013-01-07 Mike West <[email protected]>
+
+ Make the IFRAME_SEAMLESS flag runtime-enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=106213
+
+ Reviewed by Ojan Vafai.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::setSeamlessIFramesEnabled):
+ * WebCoreSupport/DumpRenderTreeSupportEfl.h:
+ * ewk/ewk_view.cpp:
+ (_ewk_view_priv_new):
+ Add a toggle for seamless IFrames to EFL's DRTSuport.
+
2013-01-04 Adam Klein <[email protected]>
Remove ENABLE_MUTATION_OBSERVERS #define
Modified: trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp (138982 => 138983)
--- trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp 2013-01-07 21:45:42 UTC (rev 138983)
@@ -372,6 +372,11 @@
WebCore::RuntimeEnabledFeatures::setCSSRegionsEnabled(enabled);
}
+void DumpRenderTreeSupportEfl::setSeamlessIFramesEnabled(bool enabled)
+{
+ WebCore::RuntimeEnabledFeatures::setSeamlessIFramesEnabled(enabled);
+}
+
bool DumpRenderTreeSupportEfl::isCommandEnabled(const Evas_Object* ewkView, const char* name)
{
DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
Modified: trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h (138982 => 138983)
--- trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h 2013-01-07 21:45:42 UTC (rev 138983)
@@ -85,6 +85,7 @@
static void setCSSRegionsEnabled(const Evas_Object* ewkView, bool enabled);
static void setSmartInsertDeleteEnabled(Evas_Object* ewkView, bool enabled);
static void setSelectTrailingWhitespaceEnabled(Evas_Object* ewkView, bool enabled);
+ static void setSeamlessIFramesEnabled(bool);
static void forceLayout(Evas_Object* ewkFrame);
static void setTracksRepaints(Evas_Object* ewkFrame, bool enabled);
Modified: trunk/Source/WebKit/efl/ewk/ewk_view.cpp (138982 => 138983)
--- trunk/Source/WebKit/efl/ewk/ewk_view.cpp 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/efl/ewk/ewk_view.cpp 2013-01-07 21:45:42 UTC (rev 138983)
@@ -820,6 +820,7 @@
priv->pageSettings->setStandardFontFamily("sans");
priv->pageSettings->setHyperlinkAuditingEnabled(false);
WebCore::RuntimeEnabledFeatures::setCSSRegionsEnabled(true);
+ WebCore::RuntimeEnabledFeatures::setSeamlessIFramesEnabled(true);
priv->pageSettings->setScriptEnabled(true);
priv->pageSettings->setPluginsEnabled(true);
priv->pageSettings->setLocalStorageEnabled(true);
Modified: trunk/Source/WebKit/gtk/ChangeLog (138982 => 138983)
--- trunk/Source/WebKit/gtk/ChangeLog 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/gtk/ChangeLog 2013-01-07 21:45:42 UTC (rev 138983)
@@ -1,3 +1,15 @@
+2013-01-07 Mike West <[email protected]>
+
+ Make the IFRAME_SEAMLESS flag runtime-enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=106213
+
+ Reviewed by Ojan Vafai.
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+ (DumpRenderTreeSupportGtk):
+ Add a toggle for seamless IFrames to GTK's DRTSuport.
+
2013-01-04 Adam Klein <[email protected]>
Remove ENABLE_MUTATION_OBSERVERS #define
Modified: trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp (138982 => 138983)
--- trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp 2013-01-07 21:45:42 UTC (rev 138983)
@@ -709,6 +709,13 @@
#endif
}
+void DumpRenderTreeSupportGtk::setSeamlessIFramesEnabled(bool enabled)
+{
+#if ENABLE(IFRAME_SEAMLESS)
+ RuntimeEnabledFeatures::setSeamlessIFramesEnabled(enabled);
+#endif
+}
+
void DumpRenderTreeSupportGtk::setShadowDOMEnabled(bool enabled)
{
#if ENABLE(SHADOW_DOM)
Modified: trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h (138982 => 138983)
--- trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h 2013-01-07 21:45:42 UTC (rev 138983)
@@ -120,6 +120,7 @@
static void setCSSRegionsEnabled(WebKitWebView*, bool enabled);
static void setCSSCustomFilterEnabled(WebKitWebView*, bool enabled);
static void setExperimentalContentSecurityPolicyFeaturesEnabled(bool);
+ static void setSeamlessIFramesEnabled(bool);
static void setShadowDOMEnabled(bool);
static void setStyleScopedEnabled(bool);
Modified: trunk/Source/WebKit/mac/ChangeLog (138982 => 138983)
--- trunk/Source/WebKit/mac/ChangeLog 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/mac/ChangeLog 2013-01-07 21:45:42 UTC (rev 138983)
@@ -1,3 +1,20 @@
+2013-01-07 Mike West <[email protected]>
+
+ Make the IFRAME_SEAMLESS flag runtime-enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=106213
+
+ Reviewed by Ojan Vafai.
+
+ * WebView/WebPreferenceKeysPrivate.h:
+ * WebView/WebPreferences.mm:
+ (-[WebPreferences seamlessIFramesEnabled]):
+ (-[WebPreferences setSeamlessIFramesEnabled:]):
+ * WebView/WebPreferencesPrivate.h:
+ * WebView/WebView.mm:
+ (-[WebView _preferencesChanged:]):
+ Add a seamless IFrame preference to WebPreferences, and use it to
+ toggle the runtime state of the feature as appropriate.
+
2013-01-04 Adam Klein <[email protected]>
Remove ENABLE_MUTATION_OBSERVERS #define
Modified: trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h (138982 => 138983)
--- trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h 2013-01-07 21:45:42 UTC (rev 138983)
@@ -116,6 +116,7 @@
#define WebKitMediaPlaybackRequiresUserGesturePreferenceKey @"WebKitMediaPlaybackRequiresUserGesture"
#define WebKitMediaPlaybackAllowsInlinePreferenceKey @"WebKitMediaPlaybackAllowsInline"
#define WebKitMockScrollbarsEnabledPreferenceKey @"WebKitMockScrollbarsEnabled"
+#define WebKitSeamlessIFramesEnabledPreferenceKey @"WebKitSeamlessIFramesEnabled"
#define WebKitShouldDisplaySubtitlesPreferenceKey @"WebKitShouldDisplaySubtitles"
#define WebKitShouldDisplayCaptionsPreferenceKey @"WebKitShouldDisplayCaptions"
#define WebKitShouldDisplayTextDescriptionsPreferenceKey @"WebKitShouldDisplayTextDescriptions"
Modified: trunk/Source/WebKit/mac/WebView/WebPreferences.mm (138982 => 138983)
--- trunk/Source/WebKit/mac/WebView/WebPreferences.mm 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/mac/WebView/WebPreferences.mm 2013-01-07 21:45:42 UTC (rev 138983)
@@ -1617,6 +1617,16 @@
[self _setBoolValue:flag forKey:WebKitMockScrollbarsEnabledPreferenceKey];
}
+- (BOOL)seamlessIFramesEnabled
+{
+ return [self _boolValueForKey:WebKitSeamlessIFramesEnabledPreferenceKey];
+}
+
+- (void)setSeamlessIFramesEnabled:(BOOL)flag
+{
+ [self _setBoolValue:flag forKey:WebKitSeamlessIFramesEnabledPreferenceKey];
+}
+
- (NSString *)pictographFontFamily
{
return [self _stringValueForKey: WebKitPictographFontPreferenceKey];
Modified: trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h (138982 => 138983)
--- trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h 2013-01-07 21:45:42 UTC (rev 138983)
@@ -236,6 +236,10 @@
- (BOOL)mockScrollbarsEnabled;
- (void)setMockScrollbarsEnabled:(BOOL)flag;
+// This is a global setting.
+- (BOOL)seamlessIFramesEnabled;
+- (void)setSeamlessIFramesEnabled:(BOOL)enabled;
+
// Other private methods
- (void)_postPreferencesChangedNotification;
- (void)_postPreferencesChangedAPINotification;
Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (138982 => 138983)
--- trunk/Source/WebKit/mac/WebView/WebView.mm 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm 2013-01-07 21:45:42 UTC (rev 138983)
@@ -1515,6 +1515,9 @@
settings->setCSSCustomFilterEnabled([preferences cssCustomFilterEnabled]);
#endif
RuntimeEnabledFeatures::setCSSRegionsEnabled([preferences cssRegionsEnabled]);
+#if ENABLE(IFRAME_SEAMLESS)
+ RuntimeEnabledFeatures::setSeamlessIFramesEnabled([preferences seamlessIFramesEnabled]);
+#endif
settings->setCSSGridLayoutEnabled([preferences cssGridLayoutEnabled]);
#if ENABLE(FULLSCREEN_API)
settings->setFullScreenEnabled([preferences fullScreenEnabled]);
Modified: trunk/Source/WebKit/qt/ChangeLog (138982 => 138983)
--- trunk/Source/WebKit/qt/ChangeLog 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/qt/ChangeLog 2013-01-07 21:45:42 UTC (rev 138983)
@@ -1,3 +1,15 @@
+2013-01-07 Mike West <[email protected]>
+
+ Make the IFRAME_SEAMLESS flag runtime-enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=106213
+
+ Reviewed by Ojan Vafai.
+
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+ (DumpRenderTreeSupportQt::setSeamlessIFramesEnabled):
+ * WebCoreSupport/DumpRenderTreeSupportQt.h:
+ Add a toggle for seamless IFrames to QT's DRTSuport.
+
2013-01-07 Michael BrĂ¼ning <[email protected]>
[Qt] Apply correct patch for the scrolling issue from bug 105014
Modified: trunk/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp (138982 => 138983)
--- trunk/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp 2013-01-07 21:45:42 UTC (rev 138983)
@@ -66,6 +66,7 @@
#include "QWebPageAdapter.h"
#include "RenderListItem.h"
#include "RenderTreeAsText.h"
+#include "RuntimeEnabledFeatures.h"
#include "SchemeRegistry.h"
#include "ScriptController.h"
#include "ScriptSourceCode.h"
@@ -1049,6 +1050,11 @@
result.append(rects[i]);
}
+void DumpRenderTreeSupportQt::setSeamlessIFramesEnabled(bool enabled)
+{
+ WebCore::RuntimeEnabledFeatures::setSeamlessIFramesEnabled(enabled);
+}
+
QString DumpRenderTreeSupportQt::frameRenderTreeDump(QWebFrameAdapter* adapter)
{
if (adapter->frame->view() && adapter->frame->view()->layoutPending())
Modified: trunk/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h (138982 => 138983)
--- trunk/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h 2013-01-07 21:45:42 UTC (rev 138983)
@@ -214,6 +214,8 @@
static bool trackRepaintRects(QWebFrameAdapter*);
static void getTrackedRepaintRects(QWebFrameAdapter*, QVector<QRect>& result);
+ static void setSeamlessIFramesEnabled(bool);
+
static QString frameRenderTreeDump(QWebFrameAdapter*);
};
Modified: trunk/Source/WebKit2/ChangeLog (138982 => 138983)
--- trunk/Source/WebKit2/ChangeLog 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit2/ChangeLog 2013-01-07 21:45:42 UTC (rev 138983)
@@ -1,3 +1,21 @@
+2013-01-07 Mike West <[email protected]>
+
+ Make the IFRAME_SEAMLESS flag runtime-enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=106213
+
+ Reviewed by Ojan Vafai.
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleSetSeamlessIFramesEnabled):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::setSeamlessIFramesEnabled):
+ (WebKit):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ (InjectedBundle):
+ Add a toggle for seamless IFrames to InjectedBundle, and set it to
+ true when beginning testing.
+
2013-01-07 Alexey Proskuryakov <[email protected]>
[WK2] Remove more obsolete shim code
Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp (138982 => 138983)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp 2013-01-07 21:45:42 UTC (rev 138983)
@@ -346,6 +346,11 @@
toImpl(bundleRef)->setShadowDOMEnabled(enabled);
}
+void WKBundleSetSeamlessIFramesEnabled(WKBundleRef bundleRef, bool enabled)
+{
+ toImpl(bundleRef)->setSeamlessIFramesEnabled(enabled);
+}
+
void WKBundleDispatchPendingLoadRequests(WKBundleRef bundleRef)
{
toImpl(bundleRef)->dispatchPendingLoadRequests();
Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h (138982 => 138983)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h 2013-01-07 21:45:42 UTC (rev 138983)
@@ -105,6 +105,7 @@
WK_EXPORT void WKBundleSetTabKeyCyclesThroughElements(WKBundleRef bundle, WKBundlePageRef page, bool enabled);
WK_EXPORT void WKBundleSetSerialLoadingEnabled(WKBundleRef bundle, bool enabled);
WK_EXPORT void WKBundleSetShadowDOMEnabled(WKBundleRef bundle, bool enabled);
+WK_EXPORT void WKBundleSetSeamlessIFramesEnabled(WKBundleRef bundle, bool enabled);
WK_EXPORT void WKBundleDispatchPendingLoadRequests(WKBundleRef bundle);
#ifdef __cplusplus
Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp (138982 => 138983)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp 2013-01-07 21:45:42 UTC (rev 138983)
@@ -74,7 +74,7 @@
#include <wtf/OwnArrayPtr.h>
#include <wtf/PassOwnArrayPtr.h>
-#if ENABLE(SHADOW_DOM) || ENABLE(CSS_REGIONS)
+#if ENABLE(SHADOW_DOM) || ENABLE(CSS_REGIONS) || ENABLE(IFRAME_SEAMLESS)
#include <WebCore/RuntimeEnabledFeatures.h>
#endif
@@ -679,6 +679,15 @@
#endif
}
+void InjectedBundle::setSeamlessIFramesEnabled(bool enabled)
+{
+#if ENABLE(IFRAME_SEAMLESS)
+ RuntimeEnabledFeatures::setSeamlessIFramesEnabled(enabled);
+#else
+ UNUSED_PARAM(enabled);
+#endif
+}
+
void InjectedBundle::dispatchPendingLoadRequests()
{
resourceLoadScheduler()->servePendingRequests();
Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h (138982 => 138983)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h 2013-01-07 21:45:42 UTC (rev 138983)
@@ -183,6 +183,7 @@
void setSerialLoadingEnabled(bool);
void setShadowDOMEnabled(bool);
void setCSSRegionsEnabled(bool);
+ void setSeamlessIFramesEnabled(bool);
void dispatchPendingLoadRequests();
private:
Modified: trunk/Tools/ChangeLog (138982 => 138983)
--- trunk/Tools/ChangeLog 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Tools/ChangeLog 2013-01-07 21:45:42 UTC (rev 138983)
@@ -1,3 +1,25 @@
+2013-01-07 Mike West <[email protected]>
+
+ Make the IFRAME_SEAMLESS flag runtime-enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=106213
+
+ Reviewed by Ojan Vafai.
+
+ * DumpRenderTree/chromium/TestShell.cpp:
+ (TestShell::TestShell):
+ * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
+ (DumpRenderTreeChrome::resetDefaultsToConsistentValues):
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetDefaultsToConsistentValues):
+ * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
+ (WebCore::WebPage::resetSettings):
+ * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
+ (WTR::InjectedBundle::beginTesting):
+ Ensure that seamless IFrames are enabled for layout tests in each of
+ the ports that support seamless IFrames.
+
2013-01-07 Jochen Eisinger <[email protected]>
[chromium] move dumpAsText and friends to the TestRunner library
Modified: trunk/Tools/DumpRenderTree/chromium/TestShell.cpp (138982 => 138983)
--- trunk/Tools/DumpRenderTree/chromium/TestShell.cpp 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Tools/DumpRenderTree/chromium/TestShell.cpp 2013-01-07 21:45:42 UTC (rev 138983)
@@ -150,6 +150,7 @@
WebRuntimeFeatures::enableScriptedSpeech(true);
WebRuntimeFeatures::enableRequestAutocomplete(true);
WebRuntimeFeatures::enableExperimentalContentSecurityPolicyFeatures(true);
+ WebRuntimeFeatures::enableSeamlessIFrames(true);
// 30 second is the same as the value in Mac DRT.
// If we use a value smaller than the timeout value of
Modified: trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp (138982 => 138983)
--- trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp 2013-01-07 21:45:42 UTC (rev 138983)
@@ -324,6 +324,7 @@
DumpRenderTreeSupportEfl::setCSSRegionsEnabled(mainView(), true);
DumpRenderTreeSupportEfl::setShouldTrackVisitedLinks(false);
DumpRenderTreeSupportEfl::setTracksRepaints(mainFrame(), false);
+ DumpRenderTreeSupportEfl::setSeamlessIFramesEnabled(true);
// Reset capacities for the memory cache for dead objects.
static const unsigned cacheTotalCapacity = 8192 * 1024;
Modified: trunk/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp (138982 => 138983)
--- trunk/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp 2013-01-07 21:45:42 UTC (rev 138983)
@@ -518,6 +518,7 @@
DumpRenderTreeSupportGtk::setCSSRegionsEnabled(webView, true);
DumpRenderTreeSupportGtk::setCSSCustomFilterEnabled(webView, false);
DumpRenderTreeSupportGtk::setExperimentalContentSecurityPolicyFeaturesEnabled(true);
+ DumpRenderTreeSupportGtk::setSeamlessIFramesEnabled(true);
DumpRenderTreeSupportGtk::setShadowDOMEnabled(true);
DumpRenderTreeSupportGtk::setStyleScopedEnabled(true);
Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (138982 => 138983)
--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm 2013-01-07 21:45:42 UTC (rev 138983)
@@ -679,6 +679,7 @@
[preferences setUsePreHTML5ParserQuirks:NO];
[preferences setAsynchronousSpellCheckingEnabled:NO];
[preferences setMockScrollbarsEnabled:YES];
+ [preferences setSeamlessIFramesEnabled:YES];
#if ENABLE(WEB_AUDIO)
[preferences setWebAudioEnabled:YES];
Modified: trunk/Tools/DumpRenderTree/qt/DumpRenderTreeQt.cpp (138982 => 138983)
--- trunk/Tools/DumpRenderTree/qt/DumpRenderTreeQt.cpp 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Tools/DumpRenderTree/qt/DumpRenderTreeQt.cpp 2013-01-07 21:45:42 UTC (rev 138983)
@@ -203,6 +203,8 @@
QWebSettings::setMaximumPagesInCache(0); // reset to default
settings()->setUserStyleSheetUrl(QUrl()); // reset to default
+ DumpRenderTreeSupportQt::setSeamlessIFramesEnabled(true);
+
DumpRenderTreeSupportQt::setMinimumTimerInterval(handle(), DumpRenderTreeSupportQt::defaultMinimumTimerInterval());
DumpRenderTreeSupportQt::resetInternalsObject(mainFrame()->handle());
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp (138982 => 138983)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp 2013-01-07 21:34:23 UTC (rev 138982)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp 2013-01-07 21:45:42 UTC (rev 138983)
@@ -254,6 +254,7 @@
WKBundleSetAlwaysAcceptCookies(m_bundle, false);
WKBundleSetSerialLoadingEnabled(m_bundle, false);
WKBundleSetShadowDOMEnabled(m_bundle, true);
+ WKBundleSetSeamlessIFramesEnabled(m_bundle, true);
WKBundleSetCacheModel(m_bundle, 1 /*CacheModelDocumentBrowser*/);
WKBundleRemoveAllUserContent(m_bundle, m_pageGroup);