Bug 1300784 - Update single-process firefox to implement new e10s select-dropdown
MozReview-Commit-ID: KPmtrauzOg3
***
remove 'hi miguel.'
MozReview-Commit-ID: IVreqC1NuuD
***
Pls
MozReview-Commit-ID: 4Npd64gQ4lc
***
Remove newline at EOF
MozReview-Commit-ID: HCb2yF8qyNN
***
Merge touch additions from 1311450
--- a/.hgignore
+++ b/.hgignore
@@ -127,8 +127,9 @@ GPATH
^testing/talos/talos/tests/tp5n
^testing/talos/talos/tests/devtools/damp.manifest.develop
# Ignore files created when running a reftest.
^lextab.py$
# tup database
^\.tup
+evolve
--- a/browser/base/content/test/general/browser_selectpopup.js
+++ b/browser/base/content/test/general/browser_selectpopup.js
@@ -464,18 +464,16 @@ add_task(function* test_large_popup() {
const pageUrl = "data:text/html," + escape(PAGECONTENT_SMALL);
let tab = yield BrowserTestUtils.openNewForegroundTab(gBrowser, pageUrl);
yield* performLargePopupTests(window);
yield BrowserTestUtils.removeTab(tab);
});
-<<<<<<< local
-=======
// This test checks the same as the previous test but in a new smaller window.
add_task(function* test_large_popup_in_small_window() {
let newwin = yield BrowserTestUtils.openNewBrowserWindow({ width: 400, height: 400 });
const pageUrl = "data:text/html," + escape(PAGECONTENT_SMALL);
let browserLoadedPromise = BrowserTestUtils.browserLoaded(newwin.gBrowser.selectedBrowser);
yield BrowserTestUtils.loadURI(newwin.gBrowser.selectedBrowser, pageUrl);
yield browserLoadedPromise;
@@ -521,17 +519,16 @@ add_task(function* test_mousemove_correc
BrowserFullScreen();
yield sizeModeChanged;
yield popupHiddenPromise;
}
yield BrowserTestUtils.removeTab(tab);
});
->>>>>>> other
// This test checks when a <select> element has some options with altered display values.
add_task(function* test_somehidden() {
const pageUrl = "data:text/html," + escape(PAGECONTENT_SOMEHIDDEN);
let tab = yield BrowserTestUtils.openNewForegroundTab(gBrowser, pageUrl);
let selectPopup = document.getElementById("ContentSelectDropdown").menupopup;
let popupShownPromise = BrowserTestUtils.waitForEvent(selectPopup, "popupshown");
--- a/layout/forms/nsListControlFrame.cpp
+++ b/layout/forms/nsListControlFrame.cpp
@@ -1,17 +1,13 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-// Hi, miguel.
-
-
#include "nscore.h"
#include "nsCOMPtr.h"
#include "nsUnicharUtils.h"
#include "nsListControlFrame.h"
#include "nsFormControlFrame.h" // for COMPARE macro
#include "nsGkAtoms.h"
#include "nsIDOMHTMLSelectElement.h"
#include "nsIDOMHTMLOptionElement.h"
@@ -140,17 +136,18 @@ nsListControlFrame::DestroyFrom(nsIFrame
mEventListener, false);
mContent->RemoveSystemEventListener(NS_LITERAL_STRING("mousedown"),
mEventListener, false);
mContent->RemoveSystemEventListener(NS_LITERAL_STRING("mouseup"),
mEventListener, false);
mContent->RemoveSystemEventListener(NS_LITERAL_STRING("mousemove"),
mEventListener, false);
- if (Preferences::GetBool("browser.tabs.remote.desktopbehavior", false)) {
+ if (XRE_IsContentProcess() &&
+ Preferences::GetBool("browser.tabs.remote.desktopbehavior", false)) {
nsContentUtils::AddScriptRunner(
new AsyncEventDispatcher(mContent,
NS_LITERAL_STRING("mozhidedropdown"), true,
true));
}
nsFormControlFrame::RegUnRegAccessKey(static_cast<nsIFrame*>(this), false);
nsHTMLScrollFrame::DestroyFrom(aDestructRoot);
@@ -1780,18 +1777,17 @@ nsListControlFrame::GetIndexFromDOMEvent
return NS_ERROR_FAILURE;
}
static bool
FireShowDropDownEvent(nsIContent* aContent, bool aShow, bool aIsSourceTouchEvent)
{
if (XRE_IsContentProcess() &&
Preferences::GetBool("browser.tabs.remote.desktopbehavior", false) ||
- Preferences::GetBool("dom.select_popup_in_parent.enabled"))
- ) {
+ Preferences::GetBool("dom.select_popup_in_parent.enabled")) {
nsString eventName;
if (aShow) {
eventName = aIsSourceTouchEvent ? NS_LITERAL_STRING("mozshowdropdown-sourcetouch") :
NS_LITERAL_STRING("mozshowdropdown");
} else {
eventName = NS_LITERAL_STRING("mozhidedropdown");
}
nsContentUtils::DispatchChromeEvent(aContent->OwnerDoc(), aContent,
--- a/toolkit/content/browser-content.js
+++ b/toolkit/content/browser-content.js
@@ -3,25 +3,25 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
var Cc = Components.classes;
var Ci = Components.interfaces;
var Cu = Components.utils;
var Cr = Components.results;
+Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-Cu.import("resource://gre/modules/Services.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "ReaderMode",
"resource://gre/modules/ReaderMode.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "BrowserUtils",
"resource://gre/modules/BrowserUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "SelectContentHelper",
- "resource://gre/modules/SelectContentHelper.jsm");
+ "resource://gre/modules/SelectContentHelper.jsm");
var global = this;
// Lazily load the finder code
addMessageListener("Finder:Initialize", function () {
@@ -1726,11 +1726,20 @@ let DateTimePickerListener = {
DateTimePickerListener.init();
addEventListener("mozshowdropdown", event => {
if (!event.isTrusted)
return;
if (!SelectContentHelper.open) {
- new SelectContentHelper(event.target, this);
+ new SelectContentHelper(event.target, {isOpenedViaTouch: false}, this);
}
});
+
+addEventListener("mozshowdropdown-sourcetouch", event => {
+ if (!event.isTrusted)
+ return;
+
+ if (!SelectContentHelper.open) {
+ new SelectContentHelper(event.target, {isOpenedViaTouch: true}, this);
+ }
+});
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
@@ -112,9 +112,9 @@ toolkit.jar:
content/global/bindings/videocontrols.css (widgets/videocontrols.css)
* content/global/bindings/wizard.xml (widgets/wizard.xml)
#ifdef XP_MACOSX
content/global/macWindowMenu.js
#endif
content/global/svg/svgBindings.xml (/layout/svg/resources/content/svgBindings.xml)
content/global/gmp-sources/eme-adobe.json (gmp-sources/eme-adobe.json)
content/global/gmp-sources/openh264.json (gmp-sources/openh264.json)
- content/global/gmp-sources/widevinecdm.json (gmp-sources/widevinecdm.json)
+ content/global/gmp-sources/widevinecdm.json (gmp-sources/widevinecdm.json)
\ No newline at end of file