Merge latest green birch changeset and mozilla-central

This commit is contained in:
Ed Morley 2013-06-20 09:01:19 +01:00
commit 867dc5785d
875 changed files with 6714 additions and 4151 deletions

View File

@ -7,7 +7,6 @@ topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
LIBRARY_NAME = IA2Marshal
DEFFILE = $(win_srcdir)/IA2Marshal.def
IA2DIR = $(topsrcdir)/other-licenses/ia2

View File

@ -48,3 +48,6 @@ interfaces_c.sort()
EXPORTS += headers
EXPORTS += interfaces_h
EXPORTS += interfaces_c
LIBRARY_NAME = 'IA2Marshal'

View File

@ -7,7 +7,6 @@ topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
LIBRARY_NAME = AccessibleMarshal
DEFFILE = $(win_srcdir)/AccessibleMarshal.def
include $(DEPTH)/config/autoconf.mk

View File

@ -15,3 +15,5 @@ EXPORTS += [
'ISimpleDOMText_i.c',
]
LIBRARY_NAME = 'AccessibleMarshal'

View File

@ -9,7 +9,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = accessibility_toolkit_s
EXPORT_LIBRARY = ..
LIBXUL_LIBRARY = 1

View File

@ -33,3 +33,5 @@ CPP_SOURCES += [
'nsMaiInterfaceValue.cpp',
]
LIBRARY_NAME = 'accessibility_toolkit_s'

View File

@ -9,7 +9,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = accessibility_base_s
LIBXUL_LIBRARY = 1
# we don't want the shared lib, but we want to force the creation of a static lib.

View File

@ -60,3 +60,6 @@ if a11y_log:
CPP_SOURCES += [
'Logging.cpp',
]
LIBRARY_NAME = 'accessibility_base_s'

View File

@ -9,7 +9,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = accessibility_generic_s
LIBXUL_LIBRARY = 1
# we don't want the shared lib, but we want to force the creation of a static lib.

View File

@ -27,3 +27,5 @@ CPP_SOURCES += [
'TextLeafAccessible.cpp',
]
LIBRARY_NAME = 'accessibility_generic_s'

View File

@ -10,7 +10,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = accessibility_html_s
LIBXUL_LIBRARY = 1
# we don't want the shared lib, but we want to force the creation of a static lib.

View File

@ -17,3 +17,5 @@ CPP_SOURCES += [
'HTMLTableAccessible.cpp',
]
LIBRARY_NAME = 'accessibility_html_s'

View File

@ -9,7 +9,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = accessibility_toolkit_s
EXPORT_LIBRARY = ..
LIBXUL_LIBRARY = 1

View File

@ -15,3 +15,5 @@ EXPORTS.mozilla.a11y += [
'HyperTextAccessibleWrap.h',
]
LIBRARY_NAME = 'accessibility_toolkit_s'

View File

@ -9,7 +9,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = accessibility_toolkit_s
EXPORT_LIBRARY = ..
LIBXUL_LIBRARY = 1

View File

@ -16,3 +16,5 @@ CPP_SOURCES += [
'Platform.cpp',
]
LIBRARY_NAME = 'accessibility_toolkit_s'

View File

@ -10,7 +10,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = accessibility_xpcom_s
LIBXUL_LIBRARY = 1
# we don't want the shared lib, but we want to force the creation of a static lib.

View File

@ -17,3 +17,5 @@ CPP_SOURCES += [
'xpcAccessibleTableCell.cpp',
]
LIBRARY_NAME = 'accessibility_xpcom_s'

View File

@ -10,7 +10,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = accessibility_xul_s
LIBXUL_LIBRARY = 1
# we don't want the shared lib, but we want to force the creation of a static lib.

View File

@ -21,3 +21,5 @@ CPP_SOURCES += [
'XULTreeGridAccessible.cpp',
]
LIBRARY_NAME = 'accessibility_xul_s'

1
aclocal.m4 vendored
View File

@ -29,6 +29,7 @@ builtin(include, build/autoconf/android.m4)dnl
builtin(include, build/autoconf/zlib.m4)dnl
builtin(include, build/autoconf/linux.m4)dnl
builtin(include, build/autoconf/python-virtualenv.m4)dnl
builtin(include, build/autoconf/winsdk.m4)dnl
MOZ_PROG_CHECKMSYS()

View File

@ -324,7 +324,10 @@ SocialUI = {
get _chromeless() {
// Is this a popup window that doesn't want chrome shown?
let docElem = document.documentElement;
let chromeless = docElem.getAttribute("chromehidden").indexOf("extrachrome") >= 0;
// extrachrome is not restored during session restore, so we need
// to check for the toolbar as well.
let chromeless = docElem.getAttribute("chromehidden").contains("extrachrome") ||
docElem.getAttribute('chromehidden').contains("toolbar");
// This property is "fixed" for a window, so avoid doing the check above
// multiple times...
delete this._chromeless;

View File

@ -7,6 +7,11 @@ let Cc = Components.classes;
let Ci = Components.interfaces;
let Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this,
"LoginManagerContent", "resource://gre/modules/LoginManagerContent.jsm");
// Bug 671101 - directly using webNavigation in this context
// causes docshells to leak
this.__defineGetter__("webNavigation", function () {
@ -28,3 +33,13 @@ addMessageListener("Browser:HideSessionRestoreButton", function (message) {
container.hidden = true;
}
});
addEventListener("DOMContentLoaded", function(event) {
LoginManagerContent.onContentLoaded(event);
});
addEventListener("DOMAutoComplete", function(event) {
LoginManagerContent.onUsernameInput(event);
});
addEventListener("blur", function(event) {
LoginManagerContent.onUsernameInput(event);
});

View File

@ -9,8 +9,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = browserabout_s
FORCE_STATIC_LIB = 1
USE_STATIC_LIBS = 1

View File

@ -14,3 +14,5 @@ CPP_SOURCES += [
'AboutRedirector.cpp',
]
LIBRARY_NAME = 'browserabout_s'

View File

@ -9,7 +9,6 @@ VPATH=@srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = browsercomps
SHORT_LIBNAME = brwsrcmp
IS_COMPONENT = 1
MODULE_NAME = nsBrowserCompsModule

View File

@ -14,3 +14,5 @@ CPP_SOURCES += [
'nsModule.cpp',
]
LIBRARY_NAME = 'browsercomps'

View File

@ -9,8 +9,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = browserdir_s
FORCE_STATIC_LIB = 1
USE_STATIC_LIBS = 1

View File

@ -16,3 +16,5 @@ CPP_SOURCES += [
'DirectoryProvider.cpp',
]
LIBRARY_NAME = 'browserdir_s'

View File

@ -9,8 +9,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = browser_feeds_s
FORCE_STATIC_LIB = 1
USE_STATIC_LIBS = 1

View File

@ -19,3 +19,6 @@ EXTRA_COMPONENTS += [
EXTRA_PP_COMPONENTS += [
'FeedWriter.js',
]
LIBRARY_NAME = 'browser_feeds_s'

View File

@ -9,8 +9,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = migration_s
FORCE_STATIC_LIB = 1
USE_STATIC_LIBS = 1

View File

@ -35,3 +35,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
EXTRA_PP_COMPONENTS += [
'SafariProfileMigrator.js',
]
LIBRARY_NAME = 'migration_s'

View File

@ -104,11 +104,15 @@ function run_test() {
// Create the left pane, and store its current status, it will be used
// as reference value.
gLeftPaneFolderId = PlacesUIUtils.leftPaneFolderId;
gReferenceJSON = folderToJSON(gLeftPaneFolderId);
// Kick-off tests.
do_test_pending();
do_timeout(0, run_next_test);
Task.spawn(function() {
gReferenceJSON = yield folderToJSON(gLeftPaneFolderId);
// Kick-off tests.
do_timeout(0, run_next_test);
});
}
function run_next_test() {
@ -121,11 +125,13 @@ function run_next_test() {
gLeftPaneFolderId = PlacesUIUtils.leftPaneFolderId;
PlacesUIUtils.__defineGetter__("allBookmarksFolderId", gAllBookmarksFolderIdGetter);
// Check the new left pane folder.
let leftPaneJSON = folderToJSON(gLeftPaneFolderId);
do_check_true(compareJSON(gReferenceJSON, leftPaneJSON));
do_check_eq(PlacesUtils.bookmarks.getItemTitle(gFolderId), "test");
// Go to next test.
do_timeout(0, run_next_test);
Task.spawn(function() {
let leftPaneJSON = yield folderToJSON(gLeftPaneFolderId);
do_check_true(compareJSON(gReferenceJSON, leftPaneJSON));
do_check_eq(PlacesUtils.bookmarks.getItemTitle(gFolderId), "test");
// Go to next test.
do_timeout(0, run_next_test);
});
}
else {
// All tests finished.
@ -138,20 +144,23 @@ function run_next_test() {
* Convert a folder item id to a JSON representation of it and its contents.
*/
function folderToJSON(aItemId) {
let query = PlacesUtils.history.getNewQuery();
query.setFolders([aItemId], 1);
let options = PlacesUtils.history.getNewQueryOptions();
options.queryType = Ci.nsINavHistoryQueryOptions.QUERY_TYPE_BOOKMARKS;
let root = PlacesUtils.history.executeQuery(query, options).root;
let writer = {
value: "",
write: function PU_wrapNode__write(aStr, aLen) {
this.value += aStr;
}
};
PlacesUtils.serializeNodeAsJSONToOutputStream(root, writer, false, false);
do_check_true(writer.value.length > 0);
return writer.value;
return Task.spawn(function() {
let query = PlacesUtils.history.getNewQuery();
query.setFolders([aItemId], 1);
let options = PlacesUtils.history.getNewQueryOptions();
options.queryType = Ci.nsINavHistoryQueryOptions.QUERY_TYPE_BOOKMARKS;
let root = PlacesUtils.history.executeQuery(query, options).root;
let writer = {
value: "",
write: function PU_wrapNode__write(aStr, aLen) {
this.value += aStr;
}
};
yield BookmarkJSONUtils.serializeNodeAsJSONToOutputStream(root, writer,
false, false);
do_check_true(writer.value.length > 0);
throw new Task.Result(writer.value);
});
}
/**

View File

@ -50,6 +50,16 @@ var gAdvancedPane = {
["autoMetro", "autoMetroIndent"].forEach(
function(id) document.getElementById(id).collapsed = true
);
} else {
let brandShortName =
document.getElementById("bundleBrand").getString("brandShortName");
let bundlePrefs = document.getElementById("bundlePreferences");
let autoDesktop = document.getElementById("autoDesktop");
autoDesktop.label =
bundlePrefs.getFormattedString("updateAutoDesktop.label",
[brandShortName]);
autoDesktop.accessKey =
bundlePrefs.getString("updateAutoDesktop.accessKey");
}
#endif
#endif

View File

@ -113,6 +113,7 @@
<stringbundle id="bundleShell" src="chrome://browser/locale/shellservice.properties"/>
<stringbundle id="bundleBrand" src="chrome://branding/locale/brand.properties"/>
#endif
<stringbundle id="bundlePreferences" src="chrome://browser/locale/preferences/preferences.properties"/>
<script type="application/javascript" src="chrome://browser/content/preferences/advanced.js"/>
@ -357,9 +358,10 @@
</hbox>
#endif
#endif
<radio value="auto"
label="&updateAuto.label;"
accesskey="&updateAuto.accesskey;"/>
<radio id="autoDesktop"
value="auto"
label="&updateAuto1.label;"
accesskey="&updateAuto1.accesskey;"/>
<hbox class="indent">
<checkbox id="warnIncompatible"
label="&updateAutoAddonWarn.label;"

View File

@ -42,6 +42,16 @@ var gAdvancedPane = {
["autoMetro", "autoMetroIndent"].forEach(
function(id) document.getElementById(id).collapsed = true
);
} else {
let brandShortName =
document.getElementById("bundleBrand").getString("brandShortName");
let bundlePrefs = document.getElementById("bundlePreferences");
let autoDesktop = document.getElementById("autoDesktop");
autoDesktop.label =
bundlePrefs.getFormattedString("updateAutoDesktop.label",
[brandShortName]);
autoDesktop.accessKey =
bundlePrefs.getString("updateAutoDesktop.accessKey");
}
#endif
#endif

View File

@ -129,6 +129,7 @@
<stringbundle id="bundleShell" src="chrome://browser/locale/shellservice.properties"/>
<stringbundle id="bundleBrand" src="chrome://branding/locale/brand.properties"/>
#endif
<stringbundle id="bundlePreferences" src="chrome://browser/locale/preferences/preferences.properties"/>
<hbox class="heading" data-category="paneAdvanced" hidden="true">
<image class="preference-icon" type="advanced"/>
@ -371,9 +372,10 @@
</hbox>
#endif
#endif
<radio value="auto"
label="&updateAuto.label;"
accesskey="&updateAuto.accesskey;"/>
<radio id="autoDesktop"
value="auto"
label="&updateAuto1.label;"
accesskey="&updateAuto1.accesskey;"/>
<hbox class="indent">
<checkbox id="warnIncompatible"
label="&updateAutoAddonWarn.label;"

View File

@ -13,25 +13,6 @@ include $(DEPTH)/config/autoconf.mk
FORCE_STATIC_LIB = 1
USE_STATIC_LIBS = 1
# TODO: Previously, LIBRARY_NAME was set as follows:
#ifdef CPPSRCS
#LIBRARY_NAME = shellservice_s
#endif
# But now we set CPPSRCS in moz.build, which isn't defined at this point.
# This can be simplified when LIBRARY_NAME is in moz.build as well.
ifeq ($(OS_ARCH),WINNT)
LIBRARY_NAME = shellservice_s
else
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
LIBRARY_NAME = shellservice_s
else
ifdef MOZ_WIDGET_GTK
LIBRARY_NAME = shellservice_s
endif
endif
endif
DISABLED_EXTRA_COMPONENTS = nsSetDefaultBrowser.js nsSetDefaultBrowser.manifest
include $(topsrcdir)/config/rules.mk

View File

@ -19,6 +19,9 @@ elif CONFIG['MOZ_WIDGET_GTK']:
'nsGNOMEShellService.cpp',
]
if CPP_SOURCES:
LIBRARY_NAME = 'shellservice_s'
EXTRA_COMPONENTS += [
'nsSetDefaultBrowser.js',
'nsSetDefaultBrowser.manifest',

View File

@ -84,8 +84,11 @@
<!ENTITY updateTab.label "Update">
<!ENTITY updateApp.label "&brandShortName; updates:">
<!ENTITY updateAuto.label "Automatically install updates from desktop &brandShortName;">
<!ENTITY updateAuto.accesskey "A">
<!-- Note either updateAuto1 is used or (updateAutoMetro and updateAutoDesktop),
so re-using accesss key in updateAuto1 is OK. updateAutoDesktop can be found
in preferences.properties -->
<!ENTITY updateAuto1.label "Automatically install updates (recommended: improved security)">
<!ENTITY updateAuto1.accesskey "A">
<!ENTITY updateAutoMetro.label "Automatically update from desktop and Windows 8 style &brandShortName;">
<!ENTITY updateAutoMetro.accesskey "s">
<!ENTITY updateCheck.label "Check for updates, but let me choose whether to install them">

View File

@ -122,6 +122,11 @@ actualDiskCacheSize=Your web content cache is currently using %1$S %2$S of disk
# %2$S = unit (MB, KB, etc.)
actualAppCacheSize=Your application cache is currently using %1$S %2$S of disk space
###Preferences::Advanced::Update
#LOCALIZATION NOTE: The next string is for updating in Windows 8 only instead of updateAuto1.label. %S = brandShortName
updateAutoDesktop.label=Automatically install updates from desktop %S
updateAutoDesktop.accessKey=A
syncUnlink.title=Do you want to unlink your device?
syncUnlink.label=This device will no longer be associated with your Sync account. All of your personal data, both on this device and in your Sync account, will remain intact.
syncUnlinkConfirm.label=Unlink

View File

@ -0,0 +1,162 @@
/* 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/. */
/*
* Handles nav overlay button positioning.
*/
// minimum amount of movement using the mouse after which we cancel the button click handlers
const kOnClickMargin = 3;
var NavButtonSlider = {
_back: document.getElementById("overlay-back"),
_plus: document.getElementById("overlay-plus"),
_mouseMoveStarted: false,
_mouseDown: false,
_yPos: -1,
/*
* custom dragger, see input.js
*/
freeDrag: function freeDrag() {
return true;
},
isDraggable: function isDraggable(aTarget, aContent) {
return { x: false, y: true };
},
dragStart: function dragStart(aX, aY, aTarget, aScroller) {
return true;
},
dragStop: function dragStop(aDx, aDy, aScroller) {
return true;
},
dragMove: function dragMove(aDx, aDy, aScroller, aIsKenetic, aClientX, aClientY) {
// Note if aIsKenetic is true this is synthetic movement,
// we don't want that so return false.
if (aIsKenetic) {
return false;
}
this._updatePosition(aClientY);
// return true if we moved, false otherwise. The result
// is used in deciding if we should repaint between drags.
return true;
},
/*
* logic
*/
init: function init() {
// Touch drag support provided by input.js
this._back.customDragger = this;
this._plus.customDragger = this;
Elements.browsers.addEventListener("ContentSizeChanged", this, true);
let events = ["mousedown", "mouseup", "mousemove", "click"];
events.forEach(function (value) {
this._back.addEventListener(value, this, true);
this._plus.addEventListener(value, this, true);
}, this);
this._updateStops();
},
_updateStops: function () {
this._contentHeight = ContentAreaObserver.contentHeight;
this._imageHeight = 118;
this._topStop = this._imageHeight * .7;
this._bottomStop = this._contentHeight - (this._imageHeight * .7);
// Check to see if we need to move the slider into view
if (this._yPos != -1 &&
(this._topStop > this._yPos || this._bottomStop < this._yPos)) {
this._back.style.top = "50%";
this._plus.style.top = "50%";
}
},
_getPosition: function _getPosition() {
this._yPos = parseInt(getComputedStyle(this._back).top);
},
_setPosition: function _setPosition() {
this._back.style.top = this._yPos + "px";
this._plus.style.top = this._yPos + "px";
},
_updatePosition: function (aClientY) {
if (this._topStop > aClientY || this._bottomStop < aClientY)
return;
this._yPos = aClientY;
this._setPosition();
},
_updateOffset: function (aOffset) {
let newPos = this._yPos + aOffset;
if (this._topStop > newPos || this._bottomStop < newPos)
return;
this._yPos = newPos;
this._setPosition();
},
/*
* Events
*/
handleEvent: function handleEvent(aEvent) {
switch (aEvent.type) {
case "ContentSizeChanged":
this._updateStops();
break;
case "mousedown":
this._getPosition();
this._mouseDown = true;
this._mouseMoveStarted = false;
this._mouseY = aEvent.clientY;
aEvent.originalTarget.setCapture();
this._back.setAttribute("mousedrag", true);
this._plus.setAttribute("mousedrag", true);
break;
case "mouseup":
this._mouseDown = false;
this._back.removeAttribute("mousedrag");
this._plus.removeAttribute("mousedrag");
break;
case "mousemove":
// Check to be sure this is a drag operation
if (!this._mouseDown) {
return;
}
// Don't start a drag until we've passed a threshold
let dy = aEvent.clientY - this._mouseY;
if (!this._mouseMoveStarted && Math.abs(dy) < kOnClickMargin) {
return;
}
// Start dragging via the mouse
this._mouseMoveStarted = true;
this._mouseY = aEvent.clientY;
this._updateOffset(dy);
break;
case "click":
// Don't invoke the click action if we've moved the buttons via the mouse.
if (this._mouseMoveStarted) {
return;
}
if (aEvent.originalTarget == this._back) {
CommandUpdater.doCommand('cmd_back');
} else {
CommandUpdater.doCommand('cmd_newTab');
}
break;
}
},
};

View File

@ -8,7 +8,7 @@ var Appbar = {
get jsShellButton() { return document.getElementById('jsshell-button'); },
get starButton() { return document.getElementById('star-button'); },
get pinButton() { return document.getElementById('pin-button'); },
get moreButton() { return document.getElementById('more-button'); },
get menuButton() { return document.getElementById('menu-button'); },
// track selected/active richgrid/tilegroup - the context for contextual action buttons
activeTileset: null,
@ -111,7 +111,7 @@ var Appbar = {
}
},
onMoreButton: function(aEvent) {
onMenuButton: function(aEvent) {
var typesArray = ["find-in-page"];
try {
// If we have a valid http or https URI then show the view on desktop
@ -124,7 +124,7 @@ var Appbar = {
} catch(ex) {
}
var x = this.moreButton.getBoundingClientRect().left;
var x = this.menuButton.getBoundingClientRect().left;
var y = Elements.navbar.getBoundingClientRect().top;
ContextMenuUI.showContextMenu({
json: {

View File

@ -56,6 +56,15 @@
</implementation>
<handlers>
<handler event="click" phase="capturing">
<![CDATA[
// If the urlbar is not already focused, focus it and select the contents.
if (Elements.urlbarState.getAttribute("mode") != "edit") {
BrowserUI._editURI(true);
}
]]>
</handler>
<handler event="dblclick" phase="capturing">
<![CDATA[
let selectAll = Services.prefs.getBoolPref("browser.urlbar.doubleClickSelectsAll");

View File

@ -9,16 +9,6 @@
%browserDTD;
]>
<!-- ==================================================================
Events: When these elements are in chrome, they are not obscured
by the touch input overlay. When they are in content they may be
obscured depending on the type of input we receive.
chrome: regular mouse events, moz gesture events, tap events.
content: touch input - tap events and synthetic mouse events
generated by content code. mouse input - regular mouse events,
moz gesture events, tap events.
================================================================== -->
<bindings
xmlns="http://www.mozilla.org/xbl"
xmlns:xbl="http://www.mozilla.org/xbl"
@ -201,27 +191,13 @@
box.showContextMenu(this, event, false);
]]>
</handler>
</handlers>
</binding>
<binding id="textarea" extends="chrome://global/content/bindings/textbox.xml#textarea">
<handlers>
<handler event="contextmenu" phase="capturing">
<handler event="click" phase="capturing">
<![CDATA[
let box = this.inputField.parentNode;
box.showContextMenu(this, event, false);
]]>
</handler>
</handlers>
</binding>
<binding id="timed-textbox" extends="chrome://global/content/bindings/textbox.xml#timed-textbox">
<handlers>
<handler event="contextmenu" phase="capturing">
<![CDATA[
let box = this.inputField.parentNode;
box.showContextMenu(this, event, false);
]]>
if (event.mozInputSource == Ci.nsIDOMMouseEvent.MOZ_SOURCE_TOUCH) {
SelectionHelperUI.attachEditSession(ChromeSelectionHandler,
event.clientX, event.clientY);
}
]]>
</handler>
</handlers>
</binding>
@ -270,17 +246,6 @@
</handlers>
</binding>
<binding id="numberbox" extends="chrome://global/content/bindings/numberbox.xml#numberbox">
<handlers>
<handler event="contextmenu" phase="capturing">
<![CDATA[
let box = this.inputField.parentNode;
box.showContextMenu(this, event, false);
]]>
</handler>
</handlers>
</binding>
<binding id="input-box" extends="xul:box">
<implementation>
<method name="showContextMenu">
@ -322,5 +287,15 @@
]]></body>
</method>
</implementation>
<handlers>
<handler event="click" phase="capturing">
<![CDATA[
if (event.mozInputSource == Ci.nsIDOMMouseEvent.MOZ_SOURCE_TOUCH) {
SelectionHelperUI.attachEditSession(ChromeSelectionHandler,
event.clientX, event.clientY);
}
]]>
</handler>
</handlers>
</binding>
</bindings>

View File

@ -135,6 +135,7 @@ let ScriptContexts = {};
["SanitizeUI", "chrome://browser/content/sanitizeUI.js"],
["SSLExceptions", "chrome://browser/content/exceptions.js"],
["ItemPinHelper", "chrome://browser/content/helperui/ItemPinHelper.js"],
["NavButtonSlider", "chrome://browser/content/NavButtonSlider.js"],
#ifdef MOZ_SERVICES_SYNC
["Sync", "chrome://browser/content/sync.js"],
["SyncPairDevice", "chrome://browser/content/sync.js"],

View File

@ -110,6 +110,7 @@ var BrowserUI = {
FlyoutPanelsUI.init();
PageThumbs.init();
SettingsCharm.init();
NavButtonSlider.init();
// show the right toolbars, awesomescreen, etc for the os viewstate
BrowserUI._adjustDOMforViewState();
@ -783,26 +784,6 @@ var BrowserUI = {
onEvent: function(aEventName) {}
},
_urlbarClicked: function _urlbarClicked(aEvent) {
let touchEvent = aEvent.mozInputSource == Ci.nsIDOMMouseEvent.MOZ_SOURCE_TOUCH;
// If the urlbar is not already focused, focus it and select the contents.
if (Elements.urlbarState.getAttribute("mode") != "edit") {
this._editURI(true);
if (touchEvent) {
SelectionHelperUI.attachEditSession(ChromeSelectionHandler,
aEvent.clientX, aEvent.clientY);
}
return;
}
// tap caret handling
if (touchEvent) {
SelectionHelperUI.attachToCaret(ChromeSelectionHandler,
aEvent.clientX, aEvent.clientY);
}
},
_editURI: function _editURI(aShouldDismiss) {
this._edit.focus();
this._edit.select();

View File

@ -209,18 +209,7 @@ textbox {
-moz-binding: url("chrome://browser/content/bindings/bindings.xml#textbox");
}
textbox[multiline="true"] {
-moz-binding: url("chrome://browser/content/bindings/bindings.xml#textarea");
}
textbox[type="timed"] {
-moz-binding: url("chrome://browser/content/bindings/bindings.xml#timed-textbox");
}
/* used in about:config */
textbox[type="search"] {
-moz-binding: url("chrome://browser/content/bindings/bindings.xml#search-textbox");
}
textbox[type="number"] {
-moz-binding: url("chrome://browser/content/bindings/bindings.xml#numberbox");
}

View File

@ -239,9 +239,14 @@
<!-- Content touch selection overlay -->
<!-- onclick addresses dom bug 835175 -->
<box onclick="false" class="selection-overlay-hidden" id="content-selection-overlay"/>
</stack>
</stack>
</vbox>
<html:div id="overlay-back" class="overlay-button"
observes="cmd_back"></html:div>
<html:div id="overlay-plus" class="overlay-button"
observes="cmd_back"></html:div>
<!-- popup for content navigator helper -->
<appbar id="content-navigator" class="window-width content-navigator-box" orient="horizontal" pack="start">
<textbox id="find-helper-textbox" class="search-bar content-navigator-item" oncommand="FindHelperUI.search(this.value)" oninput="FindHelperUI.updateCommands(this.value);" type="search"/>
@ -313,10 +318,10 @@
<observes element="bcast_windowState" attribute="*"/>
<observes element="bcast_urlbarState" attribute="*"/>
<toolbarbutton id="back-button" command="cmd_back"/>
<toolbarbutton id="back-button" class="appbar-primary" command="cmd_back"/>
<toolbarbutton id="forward-button" class="appbar-primary" command="cmd_forward"/>
<hbox id="urlbar-container" flex="1" observes="bcast_urlbarState">
<toolbarbutton id="forward-button" command="cmd_forward"/>
<hbox id="urlbar" flex="1">
<box id="identity-box" role="button">
<hbox id="identity-box-inner" align="center" mousethrough="always">
@ -334,23 +339,22 @@
flex="1"
ontextentered="BrowserUI.handleUrlbarEnter(param);"
onkeydown="BrowserUI.navEditKeyPress();"
onclick="BrowserUI._urlbarClicked(event);"
onblur="BrowserUI._urlbarBlurred();"/>
</hbox>
</hbox>
<toolbarbutton id="tool-reload" oncommand="CommandUpdater.doCommand(event.shiftKey ? 'cmd_forceReload' : 'cmd_reload');"/>
<toolbarbutton id="tool-stop" command="cmd_stop"/>
<toolbarbutton id="reload-button" oncommand="CommandUpdater.doCommand(event.shiftKey ? 'cmd_forceReload' : 'cmd_reload');"/>
<toolbarbutton id="stop-button" command="cmd_stop"/>
</hbox>
<!-- developer buttons -->
<toolbarbutton id="console-button" oncommand="Appbar.onConsoleButton()"/>
<toolbarbutton id="jsshell-button" oncommand="Appbar.onJSShellButton()"/>
<toolbarbutton id="download-button" oncommand="Appbar.onDownloadButton()"/>
<toolbarbutton id="star-button" type="checkbox" oncommand="Appbar.onStarButton()"/>
<toolbarbutton id="pin-button" type="checkbox" oncommand="Appbar.onPinButton()"/>
<toolbarbutton id="more-button" onclick="Appbar.onMoreButton(event)"/>
</toolbar>
<toolbarbutton id="star-button" class="appbar-primary" type="checkbox" oncommand="Appbar.onStarButton()"/>
<toolbarbutton id="pin-button" class="appbar-primary" type="checkbox" oncommand="Appbar.onPinButton()"/>
<toolbarbutton id="menu-button" class="appbar-primary" oncommand="Appbar.onMenuButton(event)"/>
</toolbar>
</appbar>
<!-- Context button bar -->
@ -364,17 +368,8 @@
</toolbar>
</appbar>
<!-- Chrome touch selection overlay -->
<!-- onclick addresses dom bug 835175 -->
<box onclick="false" class="selection-overlay-hidden" id="chrome-selection-overlay"/>
<autoscroller class="autoscroller" id="autoscrollerid"/>
<html:div id="overlay-back" class="overlay-button"
observes="cmd_back" onclick="CommandUpdater.doCommand('cmd_back');"></html:div>
<html:div id="overlay-plus" class="overlay-button"
observes="cmd_back" onclick="CommandUpdater.doCommand('cmd_newTab');"></html:div>
<flyoutpanel id="about-flyoutpanel" headertext="&aboutHeader.title;">
<label id="about-product-label" value="&aboutHeader.product.label;"/>
<label value="&aboutHeader.company.label;"/>
@ -607,6 +602,10 @@
</box>
#endif
<!-- Chrome touch selection overlay -->
<!-- onclick addresses dom bug 835175 -->
<box onclick="false" class="selection-overlay-hidden" id="chrome-selection-overlay"/>
<box onclick="event.stopPropagation();" id="context-container" class="menu-container" hidden="true">
<!-- onclick is dom bug 835175 -->
<vbox id="context-popup" class="menu-popup">

View File

@ -28,6 +28,9 @@ XPCOMUtils.defineLazyGetter(this, "Point", function() {
return Point;
});
XPCOMUtils.defineLazyModuleGetter(this, "LoginManagerContent",
"resource://gre/modules/LoginManagerContent.jsm");
XPCOMUtils.defineLazyServiceGetter(this, "gFocusManager",
"@mozilla.org/focus-manager;1", "nsIFocusManager");
@ -136,6 +139,8 @@ let Content = {
// Synchronous events caught during the bubbling phase
addEventListener("MozApplicationManifest", this, false);
addEventListener("DOMContentLoaded", this, false);
addEventListener("DOMAutoComplete", this, false);
addEventListener("blur", this, false);
addEventListener("pagehide", this, false);
// Attach a listener to watch for "click" events bubbling up from error
// pages and other similar page. This lets us fix bugs like 401575 which
@ -183,11 +188,17 @@ let Content = {
else
this._onClickCapture(aEvent);
break;
case "DOMContentLoaded":
LoginManagerContent.onContentLoaded(aEvent);
this._maybeNotifyErrorPage();
break;
case "DOMAutoComplete":
case "blur":
LoginManagerContent.onUsernameInput(aEvent);
break;
case "pagehide":
if (aEvent.target == content.document)
this._resetFontSize();

View File

@ -890,10 +890,6 @@ var SelectionHelperUI = {
if (this.layerMode == kContentLayer) {
return;
}
if (aEvent.propertyName == "bottom" && !Elements.navbar.isShowing) {
this.closeEditSession(false);
return;
}
if (aEvent.propertyName == "bottom" && Elements.navbar.isShowing) {
this._sendAsyncMessage("Browser:SelectionUpdate", {});
}

View File

@ -92,6 +92,7 @@ chrome.jar:
* content/sync.js (content/sync.js)
content/RemoteTabs.js (content/RemoteTabs.js)
#endif
content/NavButtonSlider.js (content/NavButtonSlider.js)
% override chrome://global/content/config.xul chrome://browser/content/config.xul
% override chrome://global/content/netError.xhtml chrome://browser/content/netError.xhtml

View File

@ -54,7 +54,7 @@ gTests.push({
let xpos = SelectionHelperUI.caretMark.xPos;
let ypos = SelectionHelperUI.caretMark.yPos + 10;
var touchdrag = new TouchDragAndHold();
yield touchdrag.start(gWindow, xpos, ypos, 800, ypos);
yield touchdrag.start(gWindow, xpos, ypos, 900, ypos);
yield waitForCondition(function () {
return getTrimmedSelection(edit).toString() ==
"mochitests/content/metro/browser/metro/base/tests/mochitest/res/textblock01.html";

View File

@ -5,9 +5,8 @@
%filter substitution
%include defines.inc
%define forward_transition_length 150ms
%define forward_width 22px
%define forward_spacing 12px
%define forward_transition_length 200ms
%define forward_spacing 50px
/* Progress meter ------------------------------------------------- */
@ -213,7 +212,7 @@ documenttab[selected] .documenttab-selection {
}
#newtab-button {
list-style-image: url("images/newtab-default.png");
list-style-image: url(chrome://browser/skin/images/newtab-default.png);
}
/* Selection overlay and monocles ----------------------------------------------- */
@ -247,53 +246,58 @@ documenttab[selected] .documenttab-selection {
/* Toolbar ------------------------------------------------------------------ */
#toolbar {
background-color: @panel_dark_color@;
background-image: @panel_dark_background@;
background-color: @panel_light_color@;
}
#toolbar > #back-button {
list-style-image: url(chrome://browser/skin/images/back.png);
-moz-image-region: rect(0 96px 48px 48px);
list-style-image: url(chrome://browser/skin/images/appbar-back.png);
position: relative;
z-index: 1;
-moz-margin-end: -@forward_spacing@;
min-height: 48px;
max-height: 48px;
transition: opacity @forward_transition_length@ ease-out;
}
#toolbar > #back-button[disabled] {
visibility: visible;
-moz-image-region: rect(0 48px 48px 0);
opacity: 0.5;
}
#forward-button {
list-style-image: url(chrome://browser/skin/images/forward.png);
-moz-image-region: rect(1px 22px 25px 0); /* width: 22px; height: 24px; */
-moz-border-end: @metro_border_thick@ solid @urlbar_border_color@;
margin: -1.5px 0;
padding: 0;
-moz-padding-start: calc(@metro_spacing_snormal@ + @forward_spacing@);
-moz-padding-end: @forward_spacing@;
transition: -moz-margin-start @forward_transition_length@ ease-out,
#toolbar > #forward-button {
list-style-image: url(chrome://browser/skin/images/appbar-forward.png);
transition: margin @forward_transition_length@ ease-out,
visibility @forward_transition_length@ ease-out,
opacity @forward_transition_length@ ease-out;
}
#forward-button[disabled] {
-moz-margin-start: calc(-@forward_width@ - @forward_spacing@ * 2);
#toolbar > #forward-button[disabled] {
-moz-margin-start: -@forward_spacing@;
visibility: hidden;
opacity: 0;
pointer-events: none;
}
@media (min-resolution: 130dpi) {
#toolbar > #back-button {
list-style-image: url(chrome://browser/skin/images/appbar-back@1.4x.png);
}
#toolbar > #forward-button {
list-style-image: url(chrome://browser/skin/images/appbar-forward@1.4x.png);
}
}
+
/* URL bar */
#urlbar-container {
border: @metro_border_thick@ solid @urlbar_border_color@;
margin: 0;
-moz-margin-end: @toolbar_horizontal_spacing@;
margin: 0 @toolbar_horizontal_spacing@;
padding: 0;
background-color: @field_background_color@;
overflow: hidden;
}
#urlbar-container[mode="edit"] {
border-color: @metro_orange@;
}
/* Identity widget */
#identity-icon {
margin: 0;
@ -319,6 +323,11 @@ documenttab[selected] .documenttab-selection {
padding: 0 !important;
}
#urlbar-edit > hbox > .textbox-input-box > .textbox-input::-moz-selection {
color: white;
background-color: @metro_orange@;
}
#urlbar-edit > hbox > .textbox-input-box > .textbox-input:invalid {
/* Hide error glow around the address bar that shows by default
* when URLs are made invalid by trmming. */
@ -326,17 +335,17 @@ documenttab[selected] .documenttab-selection {
}
/* Combined stop-reload button */
#tool-reload {
list-style-image: url("chrome://browser/skin/images/reload.png");
#reload-button {
list-style-image: url(chrome://browser/skin/images/appbar-reload.png);
}
#tool-stop {
list-style-image: url("chrome://browser/skin/images/stop-hdpi.png");
#stop-button {
list-style-image: url(chrome://browser/skin/images/appbar-stop.png);
}
#toolbar[mode="loading"] > #tool-reload,
#toolbar:-moz-any([mode="edit"], [mode="view"]) > #tool-stop,
#toolbar[viewstate="snapped"] > #tool-stop ~ toolbarbutton {
#toolbar[mode="loading"] > #urlbar-container > #reload-button,
#toolbar:-moz-any([mode="edit"], [mode="view"]) > #urlbar-container > #stop-button,
#toolbar[viewstate="snapped"] > #urlbar-container ~ toolbarbutton {
visibility: collapse;
}
@ -396,6 +405,45 @@ appbar > toolbar > toolbarbutton:active {
-moz-image-region: rect(80px, 200px, 120px, 160px);
}
#toolbar > .appbar-primary {
-moz-image-region: rect(0 40px 40px 0);
}
#toolbar > .appbar-primary:not([checked]):hover:not(:active) {
-moz-image-region: rect(0 80px 40px 40px);
}
#toolbar > .appbar-primary:not([checked]):active {
-moz-image-region: rect(0 120px 40px 80px);
}
#toolbar > .appbar-primary[checked]:hover:not(:active) {
-moz-image-region: rect(0 160px 40px 120px);
}
@media (min-resolution: 130dpi) {
#toolbar > .appbar-primary > .toolbarbutton-icon {
width: 40px;
height: 40px;
}
#toolbar > .appbar-primary {
-moz-image-region: rect(0 56px 56px 0);
}
#toolbar > .appbar-primary:not([checked]):hover:not(:active) {
-moz-image-region: rect(0 112px 56px 56px);
}
#toolbar > .appbar-primary:not([checked]):active {
-moz-image-region: rect(0 168px 56px 112px);
}
#toolbar > .appbar-primary[checked]:hover:not(:active) {
-moz-image-region: rect(0 224px 56px 168px);
}
}
/* Application-Specific */
#download-button {
-moz-image-region: rect(0px, 40px, 40px, 0px) !important;
@ -420,29 +468,32 @@ appbar > toolbar > toolbarbutton:active {
/* Page-Specific */
#pin-button {
-moz-image-region: rect(0px, 240px, 40px, 200px) !important;
}
#pin-button:hover {
-moz-image-region: rect(40px, 240px, 80px, 200px) !important;
}
#pin-button:active {
-moz-image-region: rect(80px, 240px, 120px, 200px) !important;
}
#pin-button[checked] {
-moz-image-region: rect(0px, 280px, 40px, 240px) !important;
list-style-image: url(chrome://browser/skin/images/appbar-pin.png);
}
#star-button {
-moz-image-region: rect(0px, 360px, 40px, 320px) !important;
list-style-image: url(chrome://browser/skin/images/appbar-star.png);
}
#star-button:hover {
-moz-image-region: rect(40px, 360px, 80px, 320px) !important;
#menu-button {
list-style-image: url(chrome://browser/skin/images/appbar-menu.png);
}
#star-button:active,
#star-button[checked] {
-moz-image-region: rect(80px, 360px, 120px, 320px) !important;
@media (min-resolution: 130dpi) {
#pin-button {
list-style-image: url(chrome://browser/skin/images/appbar-pin@1.4x.png);
}
#star-button {
list-style-image: url(chrome://browser/skin/images/appbar-star@1.4x.png);
}
#menu-button {
list-style-image: url(chrome://browser/skin/images/appbar-menu@1.4x.png);
}
}
#contextualactions-tray {
background-color: @metro_orange@;
}
@ -770,16 +821,23 @@ setting[type="radio"] > vbox {
-moz-appearance: none;
margin: 0;
-moz-margin-end: 40px;
list-style-image: url(chrome://browser/skin/images/back.png);
-moz-image-region: rect(0 48px 48px 0);
list-style-image: url(chrome://browser/skin/images/appbar-back.png);
-moz-image-region: rect(0 40px 40px 0);
padding: 0;
min-height: 48px;
max-height: 48px;
min-height: 40px;
max-height: 40px;
-moz-box-pack: center;
}
@media (min-resolution: 130dpi) {
#panel-close-button {
list-style-image: url(chrome://browser/skin/images/appbar-back@1.4x.png);
width: 40px;
}
}
#panel-close-button[disabled] {
-moz-image-region: rect(0 96px 48px 48px);
opacity: .5;
}
#panel-view-switcher {
@ -878,6 +936,7 @@ setting[type="radio"] > vbox {
border-radius: 50%;
box-shadow: 0 0 0 1px hsla(0,0%,0%,.04),
0 0 9px 0 hsla(0,0%,0%,.1);
transition-property: left, right, transform, background-position, background-color, background-size, border-color, visibility, box-shadow, top;
transition-duration: 550ms;
transition-timing-function: cubic-bezier(0.1, 0.9, 0.2, 1);
}
@ -950,6 +1009,12 @@ setting[type="radio"] > vbox {
transform: translateX(-40px) scale(1.2);
}
#overlay-back[mousedrag],
#overlay-plus[mousedrag] {
transition-property: left, right, transform, background-position, background-color, background-size, border-color, visibility, box-shadow;
}
/* helperapp (save-as) popup ----------------------------------------------- */
#helperapp-target {
font-size: @font_small@ !important;
@ -1043,4 +1108,4 @@ setting[type="radio"] > vbox {
.autoscroller[scrolldir="EW"] {
background-position: right bottom;
}
}

View File

@ -3,7 +3,6 @@
%define panel_dark_color #41464C
%define panel_dark_background url(chrome://browser/skin/images/panel-dark.png)
%define panel_light_color #F1F1F1
%define panel_light_background url(chrome://browser/skin/images/panel-light.png)
%define field_sizing 30px
%define field_foreground_color #000000

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 484 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 737 B

View File

@ -21,11 +21,19 @@ chrome.jar:
% override chrome://global/skin/media/videocontrols.css chrome://browser/skin/touchcontrols.css
% override chrome://global/skin/netError.css chrome://browser/skin/netError.css
skin/images/panel-light.png (images/panel-light.png)
skin/images/panel-dark.png (images/panel-dark.png)
skin/images/back.png (images/back.png)
skin/images/forward.png (images/forward.png)
skin/images/reload.png (images/reload.png)
skin/images/appbar-back.png (images/appbar-back.png)
skin/images/appbar-back@1.4x.png (images/appbar-back@1.4x.png)
skin/images/appbar-forward.png (images/appbar-forward.png)
skin/images/appbar-forward@1.4x.png (images/appbar-forward@1.4x.png)
skin/images/appbar-star.png (images/appbar-star.png)
skin/images/appbar-star@1.4x.png (images/appbar-star@1.4x.png)
skin/images/appbar-pin.png (images/appbar-pin.png)
skin/images/appbar-pin@1.4x.png (images/appbar-pin@1.4x.png)
skin/images/appbar-menu.png (images/appbar-menu.png)
skin/images/appbar-menu@1.4x.png (images/appbar-menu@1.4x.png)
skin/images/appbar-reload.png (images/appbar-reload.png)
skin/images/appbar-stop.png (images/appbar-stop.png)
skin/images/newtab-default.png (images/newtab-default.png)
skin/images/closetab-default.png (images/closetab-default.png)
skin/images/tab-arrows.png (images/tab-arrows.png)
@ -62,7 +70,6 @@ chrome.jar:
skin/images/errorpage-larry-white.png (images/errorpage-larry-white.png)
skin/images/errorpage-larry-black.png (images/errorpage-larry-black.png)
skin/images/throbber.png (images/throbber.png)
skin/images/stop-hdpi.png (images/stop-hdpi.png)
skin/images/alert-downloads-30.png (images/alert-downloads-30.png)
skin/images/identity-default-hdpi.png (images/identity-default-hdpi.png)
skin/images/identity-ssl-hdpi.png (images/identity-ssl-hdpi.png)
@ -82,4 +89,4 @@ chrome.jar:
skin/images/overlay-back.png (images/overlay-back.png)
skin/images/overlay-plus.png (images/overlay-plus.png)
skin/images/autoscroll.png (images/autoscroll.png)
skin/images/autoscroll.png (images/autoscroll.png)

View File

@ -55,16 +55,12 @@ fi
CLANG_CC=
CLANG_CXX=
if test "$GCC" = yes; then
if test "`$CC -v 2>&1 | egrep -c '(clang version|Apple.*clang)'`" != "0"; then
CLANG_CC=1
fi
if test "`$CC -v 2>&1 | egrep -c '(clang version|Apple.*clang)'`" != "0"; then
CLANG_CC=1
fi
if test "$GXX" = yes; then
if test "`$CXX -v 2>&1 | egrep -c '(clang version|Apple.*clang)'`" != "0"; then
CLANG_CXX=1
fi
if test "`$CXX -v 2>&1 | egrep -c '(clang version|Apple.*clang)'`" != "0"; then
CLANG_CXX=1
fi
AC_SUBST(CLANG_CXX)
])

37
build/autoconf/winsdk.m4 Normal file
View File

@ -0,0 +1,37 @@
dnl This Source Code Form is subject to the terms of the Mozilla Public
dnl License, v. 2.0. If a copy of the MPL was not distributed with this
dnl file, You can obtain one at http://mozilla.org/MPL/2.0/.
dnl Identify which version of the SDK we're building with
dnl Windows Server 2008 and newer SDKs have WinSDKVer.h, get the version
dnl from there
AC_DEFUN([MOZ_FIND_WINSDK_VERSION], [
MOZ_CHECK_HEADERS([winsdkver.h])
if test "$ac_cv_header_winsdkver_h" = "yes"; then
dnl Get the highest _WIN32_WINNT and NTDDI versions supported
dnl Take the higher of the two
dnl This is done because the Windows 7 beta SDK reports its
dnl NTDDI_MAXVER to be 0x06000100 instead of 0x06010000, as it should
AC_CACHE_CHECK(for highest Windows version supported by this SDK,
ac_cv_winsdk_maxver,
[cat > conftest.h <<EOF
#include <winsdkver.h>
#include <sdkddkver.h>
#if (NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT_MAXVER) > NTDDI_MAXVER)
#define WINSDK_MAXVER NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT_MAXVER)
#else
#define WINSDK_MAXVER NTDDI_MAXVER
#endif
WINSDK_MAXVER
EOF
ac_cv_winsdk_maxver=`$CPP conftest.h 2>/dev/null | tail -n1`
rm -f conftest.h
])
MOZ_WINSDK_MAXVER=${ac_cv_winsdk_maxver}
else
dnl Any SDK which doesn't have WinSDKVer.h is too old.
AC_MSG_ERROR([Your SDK does not have WinSDKVer.h. It is probably too old. Please upgrade to a newer SDK or try running the Windows SDK Configuration Tool and selecting a newer SDK. See https://developer.mozilla.org/En/Windows_SDK_versions for more details on fixing this.])
fi
])

View File

@ -10,7 +10,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULES = stlport
LIBRARY_NAME = stlport_static
FORCE_STATIC_LIB = 1
STL_FLAGS =

View File

@ -10,3 +10,5 @@ CPP_SOURCES += [
'$(notdir $(wildcard $(STLPORT_SOURCES)/src/*.cpp))',
]
LIBRARY_NAME = 'stlport_static'

View File

@ -9,7 +9,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = stdc++compat
FORCE_STATIC_LIB= 1
STL_FLAGS =
NO_EXPAND_LIBS = 1

View File

@ -11,3 +11,6 @@ CPP_SOURCES += [
]
HOST_LIBRARY_NAME = 'host_stdc++compat'
LIBRARY_NAME = 'stdc++compat'

View File

@ -9,7 +9,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = crashinjectdll
DEFFILE = $(srcdir)/crashinjectdll.def
FORCE_SHARED_LIB = 1
USE_STATIC_LIBS = 1

View File

@ -8,3 +8,5 @@ CPP_SOURCES += [
'crashinjectdll.cpp',
]
LIBRARY_NAME = 'crashinjectdll'

View File

@ -9,7 +9,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = vmwarerecordinghelper
DEFFILE = $(srcdir)/$(LIBRARY_NAME).def
FORCE_SHARED_LIB = 1

View File

@ -8,3 +8,5 @@ CPP_SOURCES += [
'vmwarerecordinghelper.cpp',
]
LIBRARY_NAME = 'vmwarerecordinghelper'

View File

@ -10,7 +10,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = caps_s
MSVC_ENABLE_PGO := 1
FORCE_STATIC_LIB = 1
LIBXUL_LIBRARY = 1

View File

@ -16,3 +16,5 @@ CPP_SOURCES += [
'nsSystemPrincipal.cpp',
]
LIBRARY_NAME = 'caps_s'

View File

@ -448,7 +448,7 @@ esac
case "$target" in
*-mingw*)
if test "$GCC" != "yes"; then
if test "$GCC" != "yes" -a -z "$CLANG_CC"; then
# Check to see if we are really running in a msvc environemnt
_WIN32_MSVC=1
AC_CHECK_PROGS(MIDL, midl)
@ -573,38 +573,6 @@ case "$target" in
;;
esac
# Identify which version of the SDK we're building with
# Windows Server 2008 and newer SDKs have WinSDKVer.h, get the version
# from there
MOZ_CHECK_HEADERS([winsdkver.h])
if test "$ac_cv_header_winsdkver_h" = "yes"; then
# Get the highest _WIN32_WINNT and NTDDI versions supported
# Take the higher of the two
# This is done because the Windows 7 beta SDK reports its
# NTDDI_MAXVER to be 0x06000100 instead of 0x06010000, as it should
AC_CACHE_CHECK(for highest Windows version supported by this SDK,
ac_cv_winsdk_maxver,
[cat > conftest.h <<EOF
#include <winsdkver.h>
#include <sdkddkver.h>
#if (NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT_MAXVER) > NTDDI_MAXVER)
#define WINSDK_MAXVER NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT_MAXVER)
#else
#define WINSDK_MAXVER NTDDI_MAXVER
#endif
WINSDK_MAXVER
EOF
ac_cv_winsdk_maxver=`$CPP conftest.h 2>/dev/null | tail -n1`
rm -f conftest.h
])
MOZ_WINSDK_MAXVER=${ac_cv_winsdk_maxver}
else
# Any SDK which doesn't have WinSDKVer.h is too old.
AC_MSG_ERROR([Your SDK does not have WinSDKVer.h. It is probably too old. Please upgrade to a newer SDK or try running the Windows SDK Configuration Tool and selecting a newer SDK. See https://developer.mozilla.org/En/Windows_SDK_versions for more details on fixing this.])
fi
unset _MSVC_VER_FILTER
AC_CACHE_CHECK(for std::_Throw, ac_cv_have_std__Throw,
@ -672,7 +640,7 @@ EOF
if test "$WRAP_STL_INCLUDES" = "1"; then
STL_FLAGS='-D_HAS_EXCEPTIONS=0 -I$(DIST)/stl_wrappers'
fi
else
elif test -z "$CLANG_CC"; then
# Check w32api version
_W32API_MAJOR_VERSION=`echo $W32API_VERSION | $AWK -F\. '{ print $1 }'`
_W32API_MINOR_VERSION=`echo $W32API_VERSION | $AWK -F\. '{ print $2 }'`
@ -723,6 +691,11 @@ EOF
MOZ_WINSDK_MAXVER=0x06020000
fi # !GNU_CC
# If MSVC or clang
if test "$GCC" != "yes" -o -n "$CLANG_CC" ; then
MOZ_FIND_WINSDK_VERSION
fi
AC_DEFINE_UNQUOTED(WINVER,0x$WINVER)
AC_DEFINE_UNQUOTED(_WIN32_WINNT,0x$WINVER)
# Require OS features provided by IE 6.0 SP2 (XP SP2)
@ -2081,7 +2054,7 @@ ia64*-hpux*)
MC=mc.exe
# certain versions of cygwin's makedepend barf on the
# #include <string> vs -I./dist/include/string issue so don't use it
if test -n "$GNU_CC"; then
if test -n "$GNU_CC" -o -n "$CLANG_CC"; then
CC="$CC -mwindows"
CXX="$CXX -mwindows"
CPP="$CPP -mwindows"
@ -2909,7 +2882,11 @@ AC_SUBST(VISIBILITY_FLAGS)
MOZ_GCC_PR49911
MOZ_GCC_PR39608
MOZ_LLVM_PR8927
if test "$OS_TARGET" != WINNT; then
# Only run this test with clang on non-Windows platforms, because clang
# cannot do enough code gen for now to make this test work correctly.
MOZ_LLVM_PR8927
fi
dnl Check for __force_align_arg_pointer__ for SSE2 on gcc
dnl ========================================================

View File

@ -531,6 +531,8 @@ nsNodeUtils::CloneAndAdopt(nsINode *aNode, bool aClone, bool aDeep,
nsIXPConnect *xpc = nsContentUtils::XPConnect();
if (xpc) {
rv = xpc->ReparentWrappedNativeIfFound(cx, wrapper, aReparentScope, aNode);
} else {
rv = NS_ERROR_FAILURE;
}
}
if (NS_FAILED(rv)) {

View File

@ -9,7 +9,6 @@ MODULE = 'content'
EXPORTS += [
'nsDOMEvent.h',
'nsDOMEventTargetHelper.h',
'nsDOMGamepad.h',
'nsDOMTouchEvent.h',
'nsDOMUIEvent.h',
'nsEventListenerManager.h',
@ -61,8 +60,3 @@ CPP_SOURCES += [
'nsPaintRequest.cpp',
'nsPrivateTextRange.cpp',
]
if CONFIG['MOZ_GAMEPAD']:
CPP_SOURCES += [
'nsDOMGamepad.cpp',
]

View File

@ -517,17 +517,17 @@ nsGenericHTMLElement::Spellcheck()
}
}
// contenteditable/designMode are spellchecked by default
if (IsEditable()) {
return true;
}
// Is this a chrome element?
if (nsContentUtils::IsChromeDoc(OwnerDoc())) {
return false; // Not spellchecked by default
}
if (IsCurrentBodyElement()) {
nsCOMPtr<nsIHTMLDocument> doc = do_QueryInterface(GetCurrentDoc());
return doc && doc->IsEditingOn();
}
// Is this element editable?
// Anything else that's not a form control is not spellchecked by default
nsCOMPtr<nsIFormControl> formControl = do_QueryInterface(this);
if (!formControl) {
return false; // Not spellchecked by default

View File

@ -259,6 +259,7 @@ MOCHITEST_FILES = \
test_q_attributes_reflection.html \
test_html_attributes_reflection.html \
test_bug651956.html \
test_bug674927.html \
test_bug694503.html \
test_object_plugin_nav.html \
test_bug742030.html \

View File

@ -0,0 +1,55 @@
<!DOCTYPE html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=674927
-->
<title>Test for Bug 674927</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
<p><span>Hello</span></p>
<div contenteditable>Contenteditable <i>is</i> splelchecked by default</div>
<textarea>Textareas are spellchekced by default</textarea>
<input value="Inputs are not spellcheckde by default">
<script>
// Test the effect of setting spellcheck on various elements
[
"html",
"body",
"p",
"span",
"div",
"i",
"textarea",
"input",
].forEach(function(query) {
var element = document.querySelector(query);
// First check what happens if no attributes are set
var defaultSpellcheck;
if (element.isContentEditable || element.tagName == "TEXTAREA") {
defaultSpellcheck = true;
} else {
defaultSpellcheck = false;
}
is(element.spellcheck, defaultSpellcheck,
"Default spellcheck for <" + element.tagName.toLowerCase() + ">");
// Now try setting spellcheck on ancestors
var ancestor = element;
do {
testSpellcheck(ancestor, element);
ancestor = ancestor.parentNode;
} while (ancestor.nodeType == Node.ELEMENT_NODE);
});
function testSpellcheck(ancestor, element) {
ancestor.spellcheck = true;
is(element.spellcheck, true,
".spellcheck on <" + element.tagName.toLowerCase() + "> with " +
"spellcheck=true on <" + ancestor.tagName.toLowerCase() + ">");
ancestor.spellcheck = false;
is(element.spellcheck, false,
".spellcheck on <" + element.tagName.toLowerCase() + "> with " +
"spellcheck=false on <" + ancestor.tagName.toLowerCase() + ">");
ancestor.removeAttribute("spellcheck");
}
</script>

View File

@ -10,7 +10,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = gkconhtmldoc_s
MSVC_ENABLE_PGO := 1
LIBXUL_LIBRARY = 1
FAIL_ON_WARNINGS = 1

View File

@ -22,3 +22,6 @@ CPP_SOURCES += [
'nsHTMLContentSink.cpp',
'nsHTMLDocument.cpp',
]
LIBRARY_NAME = 'gkconhtmldoc_s'

View File

@ -15,7 +15,6 @@ VPATH := @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME := gkcondash_s
LIBXUL_LIBRARY := 1
FORCE_STATIC_LIB := 1

View File

@ -19,3 +19,5 @@ CPP_SOURCES += [
'DASHRepDecoder.cpp',
]
LIBRARY_NAME = 'gkcondash_s'

View File

@ -9,7 +9,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
LIBRARY_NAME = gkconencoder_s
LIBXUL_LIBRARY = 1
FAIL_ON_WARNINGS := 1

View File

@ -20,3 +20,6 @@ CPP_SOURCES += [
if CONFIG['MOZ_OPUS']:
EXPORTS += ['OpusTrackEncoder.h']
CPP_SOURCES += ['OpusTrackEncoder.cpp']
LIBRARY_NAME = 'gkconencoder_s'

View File

@ -12,7 +12,15 @@
#include <gst/gststructure.h>
#include <gst/app/gstappsrc.h>
#include <gst/app/gstappsink.h>
// This include trips -Wreserved-user-defined-literal on clang. Ignoring it
// trips -Wpragmas on GCC (unknown warning), but ignoring that trips
// -Wunknown-pragmas on clang (unknown pragma).
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunknown-pragmas"
#pragma GCC diagnostic ignored "-Wpragmas"
#pragma GCC diagnostic ignored "-Wreserved-user-defined-literal"
#include <gst/video/video.h>
#pragma GCC diagnostic pop
namespace mozilla {

View File

@ -8,7 +8,11 @@
#include <gst/gst.h>
#include <gst/app/gstappsrc.h>
#include <gst/app/gstappsink.h>
// This include trips -Wreserved-user-defined-literal on clang. Ignoring it
// trips -Wpragmas on GCC (unknown warning), but ignoring that trips
// -Wunknown-pragmas on clang (unknown pragma).
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunknown-pragmas"
#pragma GCC diagnostic ignored "-Wpragmas"
#pragma GCC diagnostic ignored "-Wreserved-user-defined-literal"
#include <gst/video/video.h>

Some files were not shown because too many files have changed in this diff Show More