Backed out changeset 66fdeb1acce5 (bug 1229220) for M-e10s failure in test_fullscreen-api.html. r=backout on a CLOSED TREE

This commit is contained in:
Sebastian Hengst 2016-03-14 23:03:37 +01:00
Родитель 936d2c6e1d
Коммит 9526b58457
7 изменённых файлов: 29 добавлений и 30 удалений

Просмотреть файл

@ -287,7 +287,23 @@ ScrollbarsProp::SetVisible(bool aVisible, ErrorResult& aRv)
and because embedding apps have no interface for implementing this
themselves, and therefore the implementation must be internal. */
nsContentUtils::SetScrollbarsVisibility(mDOMWindow->GetDocShell(), aVisible);
nsCOMPtr<nsIScrollable> scroller =
do_QueryInterface(mDOMWindow->GetDocShell());
if (scroller) {
int32_t prefValue;
if (aVisible) {
prefValue = nsIScrollable::Scrollbar_Auto;
} else {
prefValue = nsIScrollable::Scrollbar_Never;
}
scroller->SetDefaultScrollbarPreferences(
nsIScrollable::ScrollOrientation_Y, prefValue);
scroller->SetDefaultScrollbarPreferences(
nsIScrollable::ScrollOrientation_X, prefValue);
}
/* Notably absent is the part where we notify the chrome window using
GetBrowserChrome()->SetChromeFlags(). Given the possibility of multiple

Просмотреть файл

@ -156,7 +156,6 @@
#include "nsIScriptGlobalObject.h"
#include "nsIScriptObjectPrincipal.h"
#include "nsIScriptSecurityManager.h"
#include "nsIScrollable.h"
#include "nsIStreamConverterService.h"
#include "nsIStringBundle.h"
#include "nsIURI.h"
@ -8997,24 +8996,3 @@ nsContentUtils::IsSpecificAboutPage(JSObject* aGlobal, const char* aUri)
uri->GetSpec(spec);
return spec.EqualsASCII(aUri);
}
/* static */ void
nsContentUtils::SetScrollbarsVisibility(nsIDocShell* aDocShell, bool aVisible)
{
nsCOMPtr<nsIScrollable> scroller = do_QueryInterface(aDocShell);
if (scroller) {
int32_t prefValue;
if (aVisible) {
prefValue = nsIScrollable::Scrollbar_Auto;
} else {
prefValue = nsIScrollable::Scrollbar_Never;
}
scroller->SetDefaultScrollbarPreferences(
nsIScrollable::ScrollOrientation_Y, prefValue);
scroller->SetDefaultScrollbarPreferences(
nsIScrollable::ScrollOrientation_X, prefValue);
}
}

Просмотреть файл

@ -2582,8 +2582,6 @@ public:
*/
static bool IsSpecificAboutPage(JSObject* aGlobal, const char* aUri);
static void SetScrollbarsVisibility(nsIDocShell* aDocShell, bool aVisible);
private:
static bool InitializeEventTable();

Просмотреть файл

@ -841,9 +841,6 @@ TabChild::Init()
do_QueryInterface(window->GetChromeEventHandler());
docShell->SetChromeEventHandler(chromeHandler);
nsContentUtils::SetScrollbarsVisibility(window->GetDocShell(),
!!(mChromeFlags & nsIWebBrowserChrome::CHROME_SCROLLBARS));
nsWeakPtr weakPtrThis = do_GetWeakReference(static_cast<nsITabChild*>(this)); // for capture by the lambda
ContentReceivedInputBlockCallback callback(
[weakPtrThis](const ScrollableLayerGuid& aGuid,

Просмотреть файл

@ -9,6 +9,7 @@ support-files =
geo_leak_test.html
[browser_test_toolbars_visibility.js]
skip-if = e10s
support-files =
test_new_window_from_content_child.html
[browser_bug1008941_dismissGeolocationHanger.js]

Просмотреть файл

@ -165,7 +165,7 @@ skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e1
skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s #Windows can't change size on Android # b2g(Windows can't change size on B2G) b2g-debug(Windows can't change size on B2G) b2g-desktop(Windows can't change size on B2G)
[test_toJSON.html]
[test_window_bar.html]
skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android'
skip-if = buildapp == 'mulet' || buildapp == 'b2g' || toolkit == 'android' || e10s
[test_bug1022869.html]
[test_bug1112040.html]
[test_bug1160342_marquee.html]

Просмотреть файл

@ -2091,7 +2091,16 @@ void nsXULWindow::SetContentScrollbarVisibility(bool aVisible)
return;
}
nsContentUtils::SetScrollbarsVisibility(contentWin->GetDocShell(), aVisible);
MOZ_ASSERT(contentWin->IsOuterWindow());
if (nsPIDOMWindowInner* innerWindow = contentWin->GetCurrentInnerWindow()) {
mozilla::ErrorResult rv;
RefPtr<nsGlobalWindow> window = static_cast<nsGlobalWindow*>(reinterpret_cast<nsPIDOMWindow<nsISupports>*>(innerWindow));
RefPtr<mozilla::dom::BarProp> scrollbars = window->GetScrollbars(rv);
if (scrollbars) {
scrollbars->SetVisible(aVisible, rv);
}
}
}
bool nsXULWindow::GetContentScrollbarVisibility()