Merge mozilla-central to b2g-inbound on a CLOSED TREE

This commit is contained in:
Carsten "Tomcat" Book 2014-03-07 14:17:02 +01:00
commit ecb85f049e
551 changed files with 11094 additions and 7665 deletions

View File

@ -29,6 +29,7 @@ XPIDL_SOURCES += [
'nsIAccessibleTableChangeEvent.idl',
'nsIAccessibleText.idl',
'nsIAccessibleTextChangeEvent.idl',
'nsIAccessibleTextRange.idl',
'nsIAccessibleTypes.idl',
'nsIAccessibleValue.idl',
'nsIAccessibleVirtualCursorChangeEvent.idl',

View File

@ -9,9 +9,11 @@
typedef long AccessibleTextBoundary;
interface nsIAccessible;
interface nsIArray;
interface nsIPersistentProperties;
interface nsIAccessibleTextRange;
[scriptable, uuid(1e63dd8b-173d-4a68-8ade-fd671abbe1ee)]
[scriptable, uuid(88789f40-54c9-494a-846d-3acaaf4cf46a)]
interface nsIAccessibleText : nsISupports
{
// In parameters for character offsets:
@ -189,6 +191,34 @@ interface nsIAccessibleText : nsISupports
void scrollSubstringToPoint(in long startIndex, in long endIndex,
in unsigned long coordinateType,
in long x, in long y);
/**
* Return a range that encloses this text control or otherwise the document
* this text accessible belongs to.
*/
readonly attribute nsIAccessibleTextRange enclosingRange;
/**
* Return an array of disjoint ranges for selected text within the text control
* or otherwise the document this accessible belongs to.
*/
readonly attribute nsIArray selectionRanges;
/**
* Return an array of disjoint ranges of visible text within the text control
* or otherwise the document this accessible belongs to.
*/
readonly attribute nsIArray visibleRanges;
/**
* Return a range containing the given accessible.
*/
nsIAccessibleTextRange getRangeByChild(in nsIAccessible child);
/**
* Return a range containing an accessible at the given point.
*/
nsIAccessibleTextRange getRangeAtPoint(in long x, in long y);
};
/*

View File

@ -0,0 +1,25 @@
/* -*- 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/. */
#include "nsISupports.idl"
interface nsIAccessible;
/**
* A range representing a piece of text in the document.
*/
[scriptable, uuid(6fe17c33-6709-4d7a-9ba0-3d448c4b3ef4)]
interface nsIAccessibleTextRange : nsISupports
{
readonly attribute nsIAccessible startContainer;
readonly attribute long startOffset;
readonly attribute nsIAccessible endContainer;
readonly attribute long endOffset;
/**
* Return text within the range.
*/
readonly attribute AString text;
};

View File

@ -9,23 +9,11 @@
#include "AccIterator.h"
#include "mozilla/Move.h"
namespace mozilla {
namespace a11y {
/**
* This class is used to return Relation objects from functions. A copy
* constructor doesn't work here because we need to mutate the old relation to
* have its nsAutoPtr forget what it points to.
*/
struct RelationCopyHelper
{
RelationCopyHelper(AccIterable* aFirstIter, AccIterable* aLastIter) :
mFirstIter(aFirstIter), mLastIter(aLastIter) { }
AccIterable* mFirstIter;
AccIterable* mLastIter;
};
/**
* A collection of relation targets of a certain type. Targets are computed
* lazily while enumerating.
@ -35,9 +23,6 @@ class Relation
public:
Relation() : mFirstIter(nullptr), mLastIter(nullptr) { }
Relation(const RelationCopyHelper aRelation) :
mFirstIter(aRelation.mFirstIter), mLastIter(aRelation.mLastIter) { }
Relation(AccIterable* aIter) :
mFirstIter(aIter), mLastIter(aIter) { }
@ -49,16 +34,18 @@ public:
mFirstIter(nullptr), mLastIter(nullptr)
{ AppendTarget(aDocument, aContent); }
Relation& operator = (const RelationCopyHelper& aRH)
Relation(Relation&& aOther) :
mFirstIter(Move(aOther.mFirstIter)), mLastIter(aOther.mLastIter)
{
mFirstIter = aRH.mFirstIter;
mLastIter = aRH.mLastIter;
return *this;
aOther.mLastIter = nullptr;
}
operator RelationCopyHelper()
Relation& operator = (Relation&& aRH)
{
return RelationCopyHelper(mFirstIter.forget(), mLastIter);
mFirstIter = Move(aRH.mFirstIter);
mLastIter = aRH.mLastIter;
aRH.mLastIter = nullptr;
return *this;
}
inline void AppendIter(AccIterable* aIter)
@ -108,7 +95,8 @@ public:
}
private:
Relation& operator = (const Relation&);
Relation& operator = (const Relation&) MOZ_DELETE;
Relation(const Relation&) MOZ_DELETE;
nsAutoPtr<AccIterable> mFirstIter;
AccIterable* mLastIter;

View File

@ -0,0 +1,25 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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/. */
#include "TextRange.h"
#include "HyperTextAccessible.h"
using namespace mozilla::a11y;
TextRange::TextRange(HyperTextAccessible* aRoot,
Accessible* aStartContainer, int32_t aStartOffset,
Accessible* aEndContainer, int32_t aEndOffset) :
mRoot(aRoot), mStartContainer(aStartContainer), mEndContainer(aEndContainer),
mStartOffset(aStartOffset), mEndOffset(aEndOffset)
{
}
void
TextRange::Text(nsAString& aText) const
{
}

View File

@ -0,0 +1,66 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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/. */
#ifndef mozilla_a11y_TextRange_h__
#define mozilla_a11y_TextRange_h__
#include "mozilla/Move.h"
#include "nsAutoPtr.h"
namespace mozilla {
namespace a11y {
class Accessible;
class HyperTextAccessible;
/**
* Represents a text range within the text control or document.
*/
class TextRange MOZ_FINAL
{
public:
TextRange(HyperTextAccessible* aRoot,
Accessible* aStartContainer, int32_t aStartOffset,
Accessible* aEndContainer, int32_t aEndOffset);
TextRange() {}
TextRange(TextRange&& aRange) :
mRoot(Move(aRange.mRoot)), mStartContainer(Move(aRange.mStartContainer)),
mEndContainer(Move(aRange.mEndContainer)),
mStartOffset(aRange.mStartOffset), mEndOffset(aRange.mEndOffset) {}
Accessible* StartContainer() const { return mStartContainer; }
int32_t StartOffset() const { return mStartOffset; }
Accessible* EndContainer() const { return mEndContainer; }
int32_t EndOffset() const { return mEndOffset; }
/**
* Return text enclosed by the range.
*/
void Text(nsAString& aText) const;
/**
* Return true if this TextRange object represents an actual range of text.
*/
bool IsValid() const { return mRoot; }
private:
friend class HyperTextAccessible;
TextRange(const TextRange&) MOZ_DELETE;
TextRange& operator=(const TextRange&) MOZ_DELETE;
const nsRefPtr<HyperTextAccessible> mRoot;
nsRefPtr<Accessible> mStartContainer;
nsRefPtr<Accessible> mEndContainer;
int32_t mStartOffset;
int32_t mEndOffset;
};
} // namespace a11y
} // namespace mozilla
#endif

View File

@ -47,6 +47,7 @@ UNIFIED_SOURCES += [
'SelectionManager.cpp',
'StyleInfo.cpp',
'TextAttrs.cpp',
'TextRange.cpp',
'TextUpdater.cpp',
'TreeWalker.cpp',
]

View File

@ -14,6 +14,7 @@
#include "Role.h"
#include "States.h"
#include "TextAttrs.h"
#include "TextRange.h"
#include "TreeWalker.h"
#include "nsCaret.h"
@ -1504,6 +1505,33 @@ HyperTextAccessible::ScrollSubstringToPoint(int32_t aStartOffset,
}
}
void
HyperTextAccessible::EnclosingRange(a11y::TextRange& aRange) const
{
}
void
HyperTextAccessible::SelectionRanges(nsTArray<a11y::TextRange>* aRanges) const
{
}
void
HyperTextAccessible::VisibleRanges(nsTArray<a11y::TextRange>* aRanges) const
{
}
void
HyperTextAccessible::RangeByChild(Accessible* aChild,
a11y::TextRange& aRange) const
{
}
void
HyperTextAccessible::RangeAtPoint(int32_t aX, int32_t aY,
a11y::TextRange& aRange) const
{
}
////////////////////////////////////////////////////////////////////////////////
// Accessible public

View File

@ -16,6 +16,8 @@
namespace mozilla {
namespace a11y {
class TextRange;
struct DOMPoint {
DOMPoint() : node(nullptr), idx(0) { }
DOMPoint(nsINode* aNode, int32_t aIdx) : node(aNode), idx(aIdx) { }
@ -361,6 +363,34 @@ public:
uint32_t aCoordinateType,
int32_t aX, int32_t aY);
/**
* Return a range that encloses the text control or the document this
* accessible belongs to.
*/
void EnclosingRange(TextRange& aRange) const;
/**
* Return an array of disjoint ranges for selected text within the text control
* or the document this accessible belongs to.
*/
void SelectionRanges(nsTArray<TextRange>* aRanges) const;
/**
* Return an array of disjoint ranges of visible text within the text control
* or the document this accessible belongs to.
*/
void VisibleRanges(nsTArray<TextRange>* aRanges) const;
/**
* Return a range containing the given accessible.
*/
void RangeByChild(Accessible* aChild, TextRange& aRange) const;
/**
* Return a range containing an accessible at the given point.
*/
void RangeAtPoint(int32_t aX, int32_t aY, TextRange& aRange) const;
//////////////////////////////////////////////////////////////////////////////
// EditableTextAccessible

View File

@ -212,4 +212,12 @@ protected:
} // namespace a11y
} // namespace mozilla
#ifdef XP_WIN
// Undo the windows.h damage
#undef GetMessage
#undef CreateEvent
#undef GetClassName
#undef GetBinaryType
#endif
#endif

View File

@ -16,6 +16,7 @@ UNIFIED_SOURCES += [
'xpcAccessibleSelectable.cpp',
'xpcAccessibleTable.cpp',
'xpcAccessibleTableCell.cpp',
'xpcAccessibleTextRange.cpp',
'xpcAccessibleValue.cpp',
]

View File

@ -7,8 +7,11 @@
#include "xpcAccessibleHyperText.h"
#include "HyperTextAccessible-inl.h"
#include "TextRange.h"
#include "xpcAccessibleTextRange.h"
#include "nsIPersistentProperties2.h"
#include "nsIMutableArray.h"
using namespace mozilla::a11y;
@ -363,6 +366,119 @@ xpcAccessibleHyperText::ScriptableScrollSubstringToPoint(int32_t aStartOffset,
return NS_OK;
}
NS_IMETHODIMP
xpcAccessibleHyperText::GetEnclosingRange(nsIAccessibleTextRange** aRange)
{
NS_ENSURE_ARG_POINTER(aRange);
*aRange = nullptr;
HyperTextAccessible* text = static_cast<HyperTextAccessible*>(this);
if (text->IsDefunct())
return NS_ERROR_FAILURE;
nsRefPtr<xpcAccessibleTextRange> range = new xpcAccessibleTextRange;
text->EnclosingRange(range->mRange);
NS_ASSERTION(range->mRange.IsValid(),
"Should always have an enclosing range!");
range.forget(aRange);
return NS_OK;
}
NS_IMETHODIMP
xpcAccessibleHyperText::GetSelectionRanges(nsIArray** aRanges)
{
NS_ENSURE_ARG_POINTER(aRanges);
*aRanges = nullptr;
HyperTextAccessible* text = static_cast<HyperTextAccessible*>(this);
if (text->IsDefunct())
return NS_ERROR_FAILURE;
nsresult rv = NS_OK;
nsCOMPtr<nsIMutableArray> xpcRanges =
do_CreateInstance(NS_ARRAY_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv, rv);
nsAutoTArray<TextRange, 1> ranges;
text->SelectionRanges(&ranges);
uint32_t len = ranges.Length();
for (uint32_t idx = 0; idx < len; idx++)
xpcRanges->AppendElement(new xpcAccessibleTextRange(Move(ranges[idx])),
false);
xpcRanges.forget(aRanges);
return NS_OK;
}
NS_IMETHODIMP
xpcAccessibleHyperText::GetVisibleRanges(nsIArray** aRanges)
{
NS_ENSURE_ARG_POINTER(aRanges);
*aRanges = nullptr;
HyperTextAccessible* text = static_cast<HyperTextAccessible*>(this);
if (text->IsDefunct())
return NS_ERROR_FAILURE;
nsresult rv = NS_OK;
nsCOMPtr<nsIMutableArray> xpcRanges =
do_CreateInstance(NS_ARRAY_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv, rv);
nsTArray<TextRange> ranges;
text->VisibleRanges(&ranges);
uint32_t len = ranges.Length();
for (uint32_t idx = 0; idx < len; idx++)
xpcRanges->AppendElement(new xpcAccessibleTextRange(Move(ranges[idx])),
false);
xpcRanges.forget(aRanges);
return NS_OK;
}
NS_IMETHODIMP
xpcAccessibleHyperText::GetRangeByChild(nsIAccessible* aChild,
nsIAccessibleTextRange** aRange)
{
NS_ENSURE_ARG_POINTER(aRange);
*aRange = nullptr;
HyperTextAccessible* text = static_cast<HyperTextAccessible*>(this);
if (text->IsDefunct())
return NS_ERROR_FAILURE;
nsRefPtr<Accessible> child = do_QueryObject(aChild);
if (child) {
nsRefPtr<xpcAccessibleTextRange> range = new xpcAccessibleTextRange;
text->RangeByChild(child, range->mRange);
if (range->mRange.IsValid())
range.forget(aRange);
}
return NS_OK;
}
NS_IMETHODIMP
xpcAccessibleHyperText::GetRangeAtPoint(int32_t aX, int32_t aY,
nsIAccessibleTextRange** aRange)
{
NS_ENSURE_ARG_POINTER(aRange);
*aRange = nullptr;
HyperTextAccessible* text = static_cast<HyperTextAccessible*>(this);
if (text->IsDefunct())
return NS_ERROR_FAILURE;
nsRefPtr<xpcAccessibleTextRange> range = new xpcAccessibleTextRange;
text->RangeAtPoint(aX, aY, range->mRange);
if (range->mRange.IsValid())
range.forget(aRange);
return NS_OK;
}
////////////////////////////////////////////////////////////////////////////////
// nsIAccessibleEditableText

View File

@ -0,0 +1,60 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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/. */
#include "xpcAccessibleTextRange.h"
#include "HyperTextAccessible.h"
#include "TextRange.h"
using namespace mozilla;
using namespace mozilla::a11y;
// nsISupports
NS_IMPL_ISUPPORTS1(xpcAccessibleTextRange, nsIAccessibleTextRange)
// nsIAccessibleTextRange
NS_IMETHODIMP
xpcAccessibleTextRange::GetStartContainer(nsIAccessible** aAnchor)
{
NS_ENSURE_ARG_POINTER(aAnchor);
*aAnchor = static_cast<nsIAccessible*>(mRange.StartContainer());
return NS_OK;
}
NS_IMETHODIMP
xpcAccessibleTextRange::GetStartOffset(int32_t* aOffset)
{
NS_ENSURE_ARG_POINTER(aOffset);
*aOffset = mRange.StartOffset();
return NS_OK;
}
NS_IMETHODIMP
xpcAccessibleTextRange::GetEndContainer(nsIAccessible** aAnchor)
{
NS_ENSURE_ARG_POINTER(aAnchor);
*aAnchor = static_cast<nsIAccessible*>(mRange.EndContainer());
return NS_OK;
}
NS_IMETHODIMP
xpcAccessibleTextRange::GetEndOffset(int32_t* aOffset)
{
NS_ENSURE_ARG_POINTER(aOffset);
*aOffset = mRange.EndOffset();
return NS_OK;
}
NS_IMETHODIMP
xpcAccessibleTextRange::GetText(nsAString& aText)
{
nsAutoString text;
mRange.Text(text);
aText.Assign(text);
return NS_OK;
}

View File

@ -0,0 +1,46 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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/. */
#ifndef mozilla_a11y_xpcAccessibleTextRange_h_
#define mozilla_a11y_xpcAccessibleTextRange_h_
#include "nsIAccessibleTextRange.h"
#include "TextRange.h"
#include "mozilla/Move.h"
namespace mozilla {
namespace a11y {
class TextRange;
class xpcAccessibleTextRange MOZ_FINAL : public nsIAccessibleTextRange
{
public:
NS_DECL_ISUPPORTS
NS_IMETHOD GetStartContainer(nsIAccessible** aAnchor) MOZ_FINAL MOZ_OVERRIDE;
NS_IMETHOD GetStartOffset(int32_t* aOffset) MOZ_FINAL MOZ_OVERRIDE;
NS_IMETHOD GetEndContainer(nsIAccessible** aAnchor) MOZ_FINAL MOZ_OVERRIDE;
NS_IMETHOD GetEndOffset(int32_t* aOffset) MOZ_FINAL MOZ_OVERRIDE;
NS_IMETHOD GetText(nsAString& aText) MOZ_FINAL MOZ_OVERRIDE;
private:
xpcAccessibleTextRange(TextRange&& aRange) :
mRange(Forward<TextRange>(aRange)) {}
xpcAccessibleTextRange() {}
friend class xpcAccessibleHyperText;
xpcAccessibleTextRange(const xpcAccessibleTextRange&) MOZ_DELETE;
xpcAccessibleTextRange& operator =(const xpcAccessibleTextRange&) MOZ_DELETE;
TextRange mRange;
};
} // namespace a11y
} // namespace mozilla
#endif

1
aclocal.m4 vendored
View File

@ -11,6 +11,7 @@ builtin(include, build/autoconf/toolchain.m4)dnl
builtin(include, build/autoconf/ccache.m4)dnl
builtin(include, build/autoconf/wrapper.m4)dnl
builtin(include, build/autoconf/nspr.m4)dnl
builtin(include, build/autoconf/nspr-build.m4)dnl
builtin(include, build/autoconf/nss.m4)dnl
builtin(include, build/autoconf/pkg.m4)dnl
builtin(include, build/autoconf/codeset.m4)dnl

View File

@ -1,4 +1,5 @@
[DEFAULT]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #require OOP support for mochitest-b2g-desktop, Bug 957554
support-files =
RecordingStatusChromeScript.js
RecordingStatusHelper.js

View File

@ -1120,6 +1120,14 @@ pref("devtools.toolbox.toolbarSpec", '["splitconsole", "paintflashing toggle","t
pref("devtools.toolbox.sideEnabled", true);
pref("devtools.toolbox.zoomValue", "1");
// Toolbox Button preferences
pref("devtools.command-button-pick.enabled", true);
pref("devtools.command-button-splitconsole.enabled", true);
pref("devtools.command-button-paintflashing.enabled", false);
pref("devtools.command-button-tilt.enabled", false);
pref("devtools.command-button-scratchpad.enabled", false);
pref("devtools.command-button-responsive.enabled", true);
// Inspector preferences
// Enable the Inspector
pref("devtools.inspector.enabled", true);

View File

@ -9,3 +9,7 @@
<svg:clipPath id="tab-curve-clip-path-end" clipPathUnits="objectBoundingBox">
<svg:path d="m 0,0.0625 -0.05,0 0,0.938 1,0 0,-0.028 C 0.67917542,0.95840561 0.56569036,0.81970962 0.51599998,0.5625 0.48279998,0.3905 0.465,0.0659 0,0.0625 z"/>
</svg:clipPath>
<svg:clipPath id="tab-hover-clip-path" clipPathUnits="objectBoundingBox">
<svg:path d="M 0,0.2 0,1 1,1, 1,0.2 z"/>
</svg:clipPath>

Before

Width:  |  Height:  |  Size: 731 B

After

Width:  |  Height:  |  Size: 865 B

View File

@ -237,7 +237,8 @@
flip="none"
side="left"
position="leftcenter topright"
noautohide="true">
noautohide="true"
hidden="true">
<hbox class="customization-tipPanel-wrapper">
<vbox class="customization-tipPanel-infoBox"/>
<vbox class="customization-tipPanel-content" flex="1">

View File

@ -569,6 +569,7 @@ CustomizeMode.prototype = {
});
}
this.tipPanel.hidden = false;
this.tipPanel.openPopup(anchorNode);
Services.prefs.setBoolPref(kShownPref, true);
},

View File

@ -461,7 +461,7 @@ var PlacesOrganizer = {
let backupFilePaths = yield PlacesBackups.getBackupFiles();
for (let backupFilePath of backupFilePaths) {
if (OS.Path.basename(backupFilePath) == backupName) {
PlacesOrganizer.restoreBookmarksFromFile(new FileUtils.File(backupFilePath));
PlacesOrganizer.restoreBookmarksFromFile(backupFilePath);
break;
}
}
@ -479,7 +479,7 @@ var PlacesOrganizer = {
let fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
let fpCallback = function fpCallback_done(aResult) {
if (aResult != Ci.nsIFilePicker.returnCancel) {
this.restoreBookmarksFromFile(fp.file);
this.restoreBookmarksFromFile(fp.file.path);
}
}.bind(this);
@ -495,9 +495,9 @@ var PlacesOrganizer = {
/**
* Restores bookmarks from a JSON file.
*/
restoreBookmarksFromFile: function PO_restoreBookmarksFromFile(aFile) {
restoreBookmarksFromFile: function PO_restoreBookmarksFromFile(aFilePath) {
// check file extension
if (!aFile.leafName.match(/\.json$/)) {
if (!aFilePath.endsWith("json")) {
this._showErrorAlert(PlacesUIUtils.getString("bookmarksRestoreFormatError"));
return;
}
@ -512,7 +512,7 @@ var PlacesOrganizer = {
Task.spawn(function() {
try {
yield BookmarkJSONUtils.importFromFile(aFile, true);
yield BookmarkJSONUtils.importFromFile(aFilePath, true);
} catch(ex) {
PlacesOrganizer._showErrorAlert(PlacesUIUtils.getString("bookmarksRestoreParseError"));
}

View File

@ -4,8 +4,6 @@
# 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/.
TEST_DIRS += ['tests']
for var in ('MOZ_APP_NAME', 'MOZ_MACBUNDLE_NAME'):
DEFINES[var] = CONFIG[var]

View File

@ -1,11 +0,0 @@
# -- 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/.
ifdef ENABLE_TESTS
pp_mochitest_browser_files := \
browser_privacypane_4.js \
$(NULL)
pp_mochitest_browser_files_PATH := $(DEPTH)/_tests/testing/mochitest/browser/$(relativesrcdir)
PP_TARGETS += pp_mochitest_browser_files
endif # ENABLE_TESTS

View File

@ -12,5 +12,6 @@ skip-if = !healthreport || (os == 'linux' && debug)
[browser_proxy_backup.js]
[browser_privacypane_1.js]
[browser_privacypane_3.js]
[browser_privacypane_4.js]
[browser_privacypane_5.js]
[browser_privacypane_8.js]

View File

@ -11,17 +11,20 @@ function test() {
rootDir = "file://" + tmpdir.path + '/';
}
loader.loadSubScript(rootDir + "privacypane_tests_perwindow.js", this);
let runtime = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime);
run_test_subset([
run_test_subset(Array.concat([
test_custom_retention("acceptCookies", "remember"),
test_custom_retention("acceptCookies", "custom"),
#ifdef RELEASE_BUILD
test_custom_retention("acceptCookies", "custom")
],
(runtime.isReleaseBuild ? [
test_custom_retention("acceptThirdPartyMenu", "remember", "visited"),
test_custom_retention("acceptThirdPartyMenu", "custom", "always"),
#else
test_custom_retention("acceptThirdPartyMenu", "custom", "always")
]
: [
test_custom_retention("acceptThirdPartyMenu", "remember", "always"),
test_custom_retention("acceptThirdPartyMenu", "custom", "visited"),
#endif
test_custom_retention("acceptThirdPartyMenu", "custom", "visited")
]), [
test_custom_retention("keepCookiesUntil", "remember", 1),
test_custom_retention("keepCookiesUntil", "custom", 2),
test_custom_retention("keepCookiesUntil", "custom", 0),
@ -31,5 +34,5 @@ function test() {
// reset all preferences to their default values once we're done
reset_preferences
]);
]));
}

View File

@ -1,5 +0,0 @@
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.

View File

@ -326,6 +326,7 @@ function reset_preferences(win) {
let testRunner;
function run_test_subset(subset) {
Services.prefs.setBoolPref("browser.preferences.instantApply", true);
dump("subset: " + [x.name for (x of subset)].join(",") + "\n");
waitForExplicitFinish();
registerCleanupFunction(function() {

View File

@ -5,7 +5,6 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
PARALLEL_DIRS += ['in-content']
TEST_DIRS += ['tests']
BROWSER_CHROME_MANIFESTS += [
'in-content/tests/browser.ini',

View File

@ -1,11 +0,0 @@
# 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/.
ifdef ENABLE_TESTS
pp_mochitest_browser_files := \
browser_privacypane_4.js \
$(NULL)
pp_mochitest_browser_files_PATH := $(DEPTH)/_tests/testing/mochitest/browser/$(relativesrcdir)
PP_TARGETS += pp_mochitest_browser_files
endif # ENABLE_TESTS

View File

@ -12,5 +12,6 @@ skip-if = !healthreport || (os == 'linux' && debug)
[browser_permissions.js]
[browser_privacypane_1.js]
[browser_privacypane_3.js]
[browser_privacypane_4.js]
[browser_privacypane_5.js]
[browser_privacypane_8.js]

View File

@ -12,17 +12,20 @@ function test() {
rootDir = "file://" + tmpdir.path + '/';
}
loader.loadSubScript(rootDir + "privacypane_tests_perwindow.js", this);
let runtime = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime);
run_test_subset([
run_test_subset(Array.concat([
test_custom_retention("acceptCookies", "remember"),
test_custom_retention("acceptCookies", "custom"),
#ifdef RELEASE_BUILD
test_custom_retention("acceptCookies", "custom")
],
(runtime.isReleaseBuild ? [
test_custom_retention("acceptThirdPartyMenu", "remember", "visited"),
test_custom_retention("acceptThirdPartyMenu", "custom", "always"),
#else
test_custom_retention("acceptThirdPartyMenu", "custom", "always")
]
: [
test_custom_retention("acceptThirdPartyMenu", "remember", "always"),
test_custom_retention("acceptThirdPartyMenu", "custom", "visited"),
#endif
test_custom_retention("acceptThirdPartyMenu", "custom", "visited")
]), [
test_custom_retention("keepCookiesUntil", "remember", 1),
test_custom_retention("keepCookiesUntil", "custom", 2),
test_custom_retention("keepCookiesUntil", "custom", 0),
@ -32,5 +35,5 @@ function test() {
// reset all preferences to their default values once we're done
reset_preferences
]);
]));
}

View File

@ -1,5 +0,0 @@
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.

View File

@ -1,14 +0,0 @@
# 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/.
ifdef ENABLE_TESTS
pp_mochitest_browser_files := \
browser_google.js \
browser_google_behavior.js \
$(NULL)
pp_mochitest_browser_files_PATH := $(DEPTH)/_tests/testing/mochitest/browser/$(relativesrcdir)
pp_mochitest_browser_files_FLAGS := -DMOZ_DISTRIBUTION_ID=$(MOZ_DISTRIBUTION_ID)
PP_TARGETS += pp_mochitest_browser_files
endif # ENABLE_TESTS

View File

@ -14,5 +14,7 @@ support-files =
[browser_483086.js]
[browser_addEngine.js]
[browser_contextmenu.js]
[browser_google.js]
[browser_google_behavior.js]
[browser_healthreport.js]
[browser_private_search_perwindowpb.js]

View File

@ -13,24 +13,28 @@ const MOZ_PARAM_LOCALE = /\{moz:locale\}/g;
const MOZ_PARAM_DIST_ID = /\{moz:distributionID\}/g;
const MOZ_PARAM_OFFICIAL = /\{moz:official\}/g;
let runtime = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime);
// Custom search parameters
#ifdef MOZ_OFFICIAL_BRANDING
const MOZ_OFFICIAL = "official";
#else
const MOZ_OFFICIAL = "unofficial";
#endif
const MOZ_OFFICIAL = runtime.isOfficialBranding ? "official" : "unofficial";
#if MOZ_UPDATE_CHANNEL == beta
const GOOGLE_CLIENT = "firefox-beta";
#elif MOZ_UPDATE_CHANNEL == aurora
const GOOGLE_CLIENT = "firefox-aurora";
#elif MOZ_UPDATE_CHANNEL == nightly
const GOOGLE_CLIENT = "firefox-nightly";
#else
const GOOGLE_CLIENT = "firefox-a";
#endif
var google_client;
switch (runtime.defaultUpdateChannel) {
case "beta":
google_client = "firefox-beta";
break;
case "aurora":
google_client = "firefox-aurora";
break;
case "nightly":
google_client = "firefox-nightly";
break;
default:
google_client = "firefox-a";
break;
}
#expand const MOZ_DISTRIBUTION_ID = __MOZ_DISTRIBUTION_ID__;
const GOOGLE_CLIENT = google_client;
const MOZ_DISTRIBUTION_ID = runtime.distributionID;
function getLocale() {
const localePref = "general.useragent.locale";

View File

@ -13,24 +13,28 @@ const MOZ_PARAM_LOCALE = /\{moz:locale\}/g;
const MOZ_PARAM_DIST_ID = /\{moz:distributionID\}/g;
const MOZ_PARAM_OFFICIAL = /\{moz:official\}/g;
let runtime = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime);
// Custom search parameters
#ifdef MOZ_OFFICIAL_BRANDING
const MOZ_OFFICIAL = "official";
#else
const MOZ_OFFICIAL = "unofficial";
#endif
const MOZ_OFFICIAL = runtime.isOfficialBranding ? "official" : "unofficial";
#if MOZ_UPDATE_CHANNEL == beta
const GOOGLE_CLIENT = "firefox-beta";
#elif MOZ_UPDATE_CHANNEL == aurora
const GOOGLE_CLIENT = "firefox-aurora";
#elif MOZ_UPDATE_CHANNEL == nightly
const GOOGLE_CLIENT = "firefox-nightly";
#else
const GOOGLE_CLIENT = "firefox-a";
#endif
var google_client;
switch (runtime.defaultUpdateChannel) {
case "beta":
google_client = "firefox-beta";
break;
case "aurora":
google_client = "firefox-aurora";
break;
case "nightly":
google_client = "firefox-nightly";
break;
default:
google_client = "firefox-a";
break;
}
#expand const MOZ_DISTRIBUTION_ID = __MOZ_DISTRIBUTION_ID__;
const GOOGLE_CLIENT = google_client;
const MOZ_DISTRIBUTION_ID = runtime.distributionID;
function getLocale() {
const localePref = "general.useragent.locale";

View File

@ -47,11 +47,6 @@
padding: 4px 0 0; /* To align it with the checkbox */
}
.options-citation-label + label {
padding: 3px 0 0 !important; /* To align it with the checkbox */
font-style: italic;
}
.hidden-labels-box:not(.visible) > label,
.hidden-labels-box.visible ~ .hidden-labels-box > label:last-child {
display: none;

View File

@ -15,6 +15,7 @@ support-files =
[browser_toolbox_highlight.js]
[browser_toolbox_hosts.js]
[browser_toolbox_options.js]
[browser_toolbox_options_disable_buttons.js]
[browser_toolbox_options_disable_cache.js]
[browser_toolbox_options_disable_js.js]
# [browser_toolbox_raise.js] # Bug 962258

View File

@ -0,0 +1,148 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
let doc = null, toolbox = null, panelWin = null, modifiedPrefs = [];
function test() {
waitForExplicitFinish();
gBrowser.selectedTab = gBrowser.addTab();
let target = TargetFactory.forTab(gBrowser.selectedTab);
gBrowser.selectedBrowser.addEventListener("load", function onLoad(evt) {
gBrowser.selectedBrowser.removeEventListener(evt.type, onLoad, true);
gDevTools.showToolbox(target)
.then(testSelectTool)
.then(testToggleToolboxButtons)
.then(testPrefsAreRespectedWhenReopeningToolbox)
.then(cleanup, errorHandler);
}, true);
content.location = "data:text/html;charset=utf8,test for dynamically registering and unregistering tools";
}
function testPrefsAreRespectedWhenReopeningToolbox() {
let deferred = promise.defer();
let target = TargetFactory.forTab(gBrowser.selectedTab);
info ("Closing toolbox to test after reopening");
gDevTools.closeToolbox(target).then(() => {
let target = TargetFactory.forTab(gBrowser.selectedTab);
gDevTools.showToolbox(target)
.then(testSelectTool)
.then(() => {
info ("Toolbox has been reopened. Checking UI state.");
testPreferenceAndUIStateIsConsistent();
deferred.resolve();
});
});
return deferred.promise;
}
function testSelectTool(aToolbox) {
let deferred = promise.defer();
info ("Selecting the options panel");
toolbox = aToolbox;
doc = toolbox.doc;
toolbox.once("options-selected", (event, tool) => {
ok(true, "Options panel selected via selectTool method");
panelWin = tool.panelWin;
deferred.resolve();
});
toolbox.selectTool("options");
return deferred.promise;
}
function testPreferenceAndUIStateIsConsistent() {
let checkNodes = [...panelWin.document.querySelectorAll("#enabled-toolbox-buttons-box > checkbox")];
let toolboxButtonNodes = [...doc.querySelectorAll("#toolbox-buttons > toolbarbutton")];
let toggleableTools = toolbox.toolboxButtons;
for (let tool of toggleableTools) {
let isVisible = getBoolPref(tool.visibilityswitch);
let button = toolboxButtonNodes.filter(button=>button.id === tool.id)[0];
is (!button.hasAttribute("hidden"), isVisible, "Button visibility matches pref for " + tool.id);
let check = checkNodes.filter(node=>node.id === tool.id)[0];
is (check.checked, isVisible, "Checkbox should be selected based on current pref for " + tool.id);
}
}
function testToggleToolboxButtons() {
let checkNodes = [...panelWin.document.querySelectorAll("#enabled-toolbox-buttons-box > checkbox")];
let toolboxButtonNodes = [...doc.querySelectorAll("#toolbox-buttons > toolbarbutton")];
let visibleButtons = toolboxButtonNodes.filter(button=>!button.hasAttribute("hidden"));
let toggleableTools = toolbox.toolboxButtons;
is (checkNodes.length, toggleableTools.length, "All of the buttons are toggleable." );
is (checkNodes.length, toolboxButtonNodes.length, "All of the DOM buttons are toggleable." );
for (let tool of toggleableTools) {
let id = tool.id;
let matchedCheckboxes = checkNodes.filter(node=>node.id === id);
let matchedButtons = toolboxButtonNodes.filter(button=>button.id === id);
ok (matchedCheckboxes.length === 1,
"There should be a single toggle checkbox for: " + id);
ok (matchedButtons.length === 1,
"There should be a DOM button for: " + id);
is (matchedButtons[0], tool.button,
"DOM buttons should match for: " + id);
is (matchedCheckboxes[0].getAttribute("label"), tool.label,
"The label for checkbox matches the tool definition.")
is (matchedButtons[0].getAttribute("tooltiptext"), tool.label,
"The tooltip for button matches the tool definition.")
}
// Store modified pref names so that they can be cleared on error.
for (let tool of toggleableTools) {
let pref = tool.visibilityswitch;
modifiedPrefs.push(pref);
}
// Try checking each checkbox, making sure that it changes the preference
for (let node of checkNodes) {
let tool = toggleableTools.filter(tool=>tool.id === node.id)[0];
let isVisible = getBoolPref(tool.visibilityswitch);
testPreferenceAndUIStateIsConsistent();
toggleButton(node);
testPreferenceAndUIStateIsConsistent();
let isVisibleAfterClick = getBoolPref(tool.visibilityswitch);
is (isVisible, !isVisibleAfterClick,
"Clicking on the node should have toggled visibility preference for " + tool.visibilityswitch);
}
return promise.resolve();
}
function getBoolPref(key) {
return Services.prefs.getBoolPref(key);
}
function toggleButton(node) {
node.scrollIntoView();
EventUtils.synthesizeMouseAtCenter(node, {}, panelWin);
}
function cleanup() {
toolbox.destroy().then(function() {
gBrowser.removeCurrentTab();
for (let pref of modifiedPrefs) {
Services.prefs.clearUserPref(pref);
}
toolbox = doc = panelWin = modifiedPrefs = null;
finish();
});
}
function errorHandler(error) {
ok(false, "Unexpected error: " + error);
cleanup();
}

View File

@ -61,6 +61,7 @@ OptionsPanel.prototype = {
return targetPromise.then(() => {
this.setupToolsList();
this.setupToolbarButtonsList();
this.populatePreferences();
this._disableJSClicked = this._disableJSClicked.bind(this);
@ -81,6 +82,43 @@ OptionsPanel.prototype = {
});
},
setupToolbarButtonsList: function() {
let enabledToolbarButtonsBox = this.panelDoc.getElementById("enabled-toolbox-buttons-box");
enabledToolbarButtonsBox.textContent = "";
let toggleableButtons = this.toolbox.toolboxButtons;
let setToolboxButtonsVisibility =
this.toolbox.setToolboxButtonsVisibility.bind(this.toolbox);
let onCheckboxClick = (checkbox) => {
let toolDefinition = toggleableButtons.filter(tool => tool.id === checkbox.id)[0];
Services.prefs.setBoolPref(toolDefinition.visibilityswitch, checkbox.checked);
setToolboxButtonsVisibility();
};
let createCommandCheckbox = tool => {
let checkbox = this.panelDoc.createElement("checkbox");
checkbox.setAttribute("id", tool.id);
checkbox.setAttribute("label", tool.label);
checkbox.setAttribute("checked", this.getBoolPref(tool.visibilityswitch));
checkbox.addEventListener("command", onCheckboxClick.bind(this, checkbox));
return checkbox;
};
for (let tool of toggleableButtons) {
enabledToolbarButtonsBox.appendChild(createCommandCheckbox(tool));
}
},
getBoolPref: function(key) {
try {
return Services.prefs.getBoolPref(key);
}
catch (ex) {
return true;
}
},
setupToolsList: function() {
let defaultToolsBox = this.panelDoc.getElementById("default-tools-box");
let additionalToolsBox = this.panelDoc.getElementById("additional-tools-box");
@ -90,15 +128,6 @@ OptionsPanel.prototype = {
defaultToolsBox.textContent = "";
additionalToolsBox.textContent = "";
let pref = function(key) {
try {
return Services.prefs.getBoolPref(key);
}
catch (ex) {
return true;
}
};
let onCheckboxClick = function(id) {
let toolDefinition = gDevTools._tools.get(id);
// Set the kill switch pref boolean to true
@ -124,7 +153,7 @@ OptionsPanel.prototype = {
l10n("options.toolNotSupportedMarker", tool.label));
checkbox.setAttribute("unsupported", "");
}
checkbox.setAttribute("checked", pref(tool.visibilityswitch));
checkbox.setAttribute("checked", this.getBoolPref(tool.visibilityswitch));
checkbox.addEventListener("command", onCheckboxClick.bind(checkbox, tool.id));
return checkbox;
};

View File

@ -20,9 +20,12 @@
<vbox id="default-tools-box" class="options-groupbox" tabindex="0"/>
<label value="&options.selectAdditionalTools.label;"/>
<vbox id="additional-tools-box" class="options-groupbox"/>
<label value="&options.selectEnabledToolboxButtons.label;"/>
<vbox id="enabled-toolbox-buttons-box" class="options-groupbox"/>
<label id="tools-not-supported-label"
class="options-citation-label theme-comment"
value="&options.toolNotSupported.label;"/>
</vbox>
<vbox class="options-vertical-pane" flex="1">
<label value="&options.selectDevToolsTheme.label;"/>

View File

@ -543,6 +543,7 @@ Toolbox.prototype = {
this.doc, this._requisition);
let container = this.doc.getElementById("toolbox-buttons");
buttons.forEach(container.appendChild.bind(container));
this.setToolboxButtonsVisibility();
},
/**
@ -562,6 +563,57 @@ Toolbox.prototype = {
this._pickerButton.addEventListener("command", this._togglePicker, false);
},
/**
* Return all toolbox buttons (command buttons, plus any others that were
* added manually).
*/
get toolboxButtons() {
// White-list buttons that can be toggled to prevent adding prefs for
// addons that have manually inserted toolbarbuttons into DOM.
return [
"command-button-pick",
"command-button-splitconsole",
"command-button-responsive",
"command-button-paintflashing",
"command-button-tilt",
"command-button-scratchpad"
].map(id => {
let button = this.doc.getElementById(id);
// Some buttons may not exist inside of Browser Toolbox
if (!button) {
return false;
}
return {
id: id,
button: button,
label: button.getAttribute("tooltiptext"),
visibilityswitch: "devtools." + id + ".enabled"
}
}).filter(button=>button);
},
/**
* Ensure the visibility of each toolbox button matches the
* preference value. Simply hide buttons that are preffed off.
*/
setToolboxButtonsVisibility: function() {
this.toolboxButtons.forEach(buttonSpec => {
let {visibilityswitch, id, button}=buttonSpec;
let on = true;
try {
on = Services.prefs.getBoolPref(visibilityswitch);
} catch (ex) { }
if (button) {
if (on) {
button.removeAttribute("hidden");
} else {
button.setAttribute("hidden", "true");
}
}
});
},
/**
* Build a tab for one tool definition and add to the toolbox
*

View File

@ -1,14 +0,0 @@
#
# 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/.
include $(topsrcdir)/config/makefiles/mochitest.mk
mochitest_browser_dest := $(call mochitestdir,browser)
mochitest_bug_677930_data_FILES = \
browser_styleinspector_bug_677930_urls_clickable/browser_styleinspector_bug_677930_urls_clickable.css \
$(NULL)
mochitest_bug_677930_data_DEST = $(mochitest_browser_dest)/browser_styleinspector_bug_677930_urls_clickable
INSTALL_TARGETS += mochitest_bug_677930_data

View File

@ -2,6 +2,7 @@
support-files =
head.js
browser_bug722196_identify_media_queries.html
browser_styleinspector_bug_677930_urls_clickable/browser_styleinspector_bug_677930_urls_clickable.css
[browser_bug683672.js]
support-files = browser_bug683672.html

View File

@ -92,6 +92,11 @@
- installed by add-ons. -->
<!ENTITY options.selectAdditionalTools.label "Developer Tools installed by add-ons">
<!-- LOCALIZATION NOTE (options.selectEnabledToolboxButtons.label): This is the label for
- the heading of group of checkboxes corresponding to the default developer
- tool buttons. -->
<!ENTITY options.selectEnabledToolboxButtons.label "Available Toolbox Buttons">
<!-- LOCALIZATION NOTE (options.toolNotSupported.label): This is the label for
- the explanation of the * marker on a tool which is currently not supported
- for the target of the toolbox. -->

View File

@ -27,6 +27,11 @@ function tearDown() {
PanelUI.hide();
BookmarksTestHelper.restore();
HistoryTestHelper.restore();
Browser.selectedTab
.browser
.contentWindow
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIDOMWindowUtils).clearNativeTouchSequence();
}
/*
@ -85,7 +90,7 @@ gTests.push({
let domUtils = win.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils);
var touchdrag = new TouchDragAndHold();
touchdrag.useNativeEvents = true;
touchdrag.stepTimeout = 20;
touchdrag.stepTimeout = 5;
touchdrag.numSteps = 20;
stopwatch.start();
@ -122,7 +127,7 @@ gTests.push({
let domUtils = win.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils);
var touchdrag = new TouchDragAndHold();
touchdrag.useNativeEvents = true;
touchdrag.stepTimeout = 20;
touchdrag.stepTimeout = 5;
touchdrag.numSteps = 10;
let iterations = 3;

View File

@ -201,13 +201,10 @@ menulist {
-moz-box-align: center;
font-weight: 600;
}
.menu-popup > richlistbox > richlistitem {
padding-right: 50px;
-moz-padding-end: 50px;
}
/* Additional styles applied to popups for form <select> elements. */
#select-container {
padding: 0;
position: absolute;

View File

@ -127,17 +127,17 @@ toolbarpaletteitem[place="palette"] > #personal-bookmarks > #bookmarks-toolbar-p
/* ----- BOOKMARK STAR ANIMATION ----- */
@keyframes animation-bookmarkAdded {
from { transform: rotate(0deg) translateX(-20px) rotate(0deg) scale(1); opacity: 0; }
60% { transform: rotate(180deg) translateX(-20px) rotate(-180deg) scale(2.2); opacity: 1; }
from { transform: rotate(0deg) translateX(-16px) rotate(0deg) scale(1); opacity: 0; }
60% { transform: rotate(180deg) translateX(-16px) rotate(-180deg) scale(2.2); opacity: 1; }
80% { opacity: 1; }
to { transform: rotate(180deg) translateX(-20px) rotate(-180deg) scale(1); opacity: 0; }
to { transform: rotate(180deg) translateX(-16px) rotate(-180deg) scale(1); opacity: 0; }
}
@keyframes animation-bookmarkAddedToBookmarksBar {
from { transform: rotate(0deg) translateX(-12px) rotate(0deg) scale(1); opacity: 0; }
60% { transform: rotate(180deg) translateX(-12px) rotate(-180deg) scale(2.2); opacity: 1; }
from { transform: rotate(0deg) translateX(-10px) rotate(0deg) scale(1); opacity: 0; }
60% { transform: rotate(180deg) translateX(-10px) rotate(-180deg) scale(2.2); opacity: 1; }
80% { opacity: 1; }
to { transform: rotate(180deg) translateX(-12px) rotate(-180deg) scale(1); opacity: 0; }
to { transform: rotate(180deg) translateX(-10px) rotate(-180deg) scale(1); opacity: 0; }
}
@keyframes animation-bookmarkPulse {
@ -174,6 +174,10 @@ toolbarpaletteitem[place="palette"] > #personal-bookmarks > #bookmarks-toolbar-p
animation: animation-bookmarkAddedToBookmarksBar 800ms;
}
#bookmarks-menu-button[notification="finish"] {
pointer-events: none;
}
#bookmarks-menu-button[notification="finish"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
animation: animation-bookmarkPulse 300ms;
animation-delay: 600ms;
@ -573,7 +577,7 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) {
border: 1px solid transparent;
border-radius: 2px;
transition-property: background-color, border-color;
transition-duration: 250ms;
transition-duration: 150ms;
}
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not(:-moz-any(@primaryToolbarButtons@)) > .toolbarbutton-icon,
@ -596,8 +600,8 @@ toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
-moz-padding-end: 5px;
}
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-button:not([disabled=true]):hover > .toolbarbutton-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([buttonover]):not([open]):hover > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):hover > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):hover > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon,
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):hover > .toolbarbutton-icon {
background-color: hsla(0,0%,100%,.3);
background-image: linear-gradient(hsla(0,0%,100%,.7), hsla(0,0%,100%,.2));
@ -648,6 +652,10 @@ toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
box-shadow: 0 0 0 1px hsla(0,0%,100%,.2);
}
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker {
-moz-margin-start: -4px;
}
#forward-button[disabled] {
transform: scale(0);
opacity: 0;

View File

@ -73,6 +73,7 @@ browser.jar:
skin/classic/browser/webRTC-sharingMicrophone-16.png
skin/classic/browser/customizableui/background-noise-toolbar.png (customizableui/background-noise-toolbar.png)
skin/classic/browser/customizableui/customize-illustration.png (../shared/customizableui/customize-illustration.png)
skin/classic/browser/customizableui/customize-illustration-rtl.png (../shared/customizableui/customize-illustration-rtl.png)
skin/classic/browser/customizableui/customizeMode-gridTexture.png (customizableui/customizeMode-gridTexture.png)
skin/classic/browser/customizableui/customizeMode-separatorHorizontal.png (customizableui/customizeMode-separatorHorizontal.png)
skin/classic/browser/customizableui/customizeMode-separatorVertical.png (customizableui/customizeMode-separatorVertical.png)

View File

@ -414,6 +414,10 @@ toolbarpaletteitem[place="palette"] > #personal-bookmarks > #bookmarks-toolbar-p
}
}
#bookmarks-menu-button[notification="finish"] {
pointer-events: none;
}
#bookmarks-menu-button[notification="finish"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
animation: animation-bookmarkPulse 300ms;
animation-delay: 600ms;
@ -4261,6 +4265,10 @@ window > chatbox {
list-style-image: url(chrome://browser/skin/customizableui/customize-illustration@2x.png);
}
.customization-tipPanel-contentImage:-moz-locale-dir(rtl) {
list-style-image: url(chrome://browser/skin/customizableui/customize-illustration-rtl@2x.png);
}
#customization-tipPanel > .panel-arrowcontainer > .panel-arrowbox > .panel-arrow[side="left"],
#customization-tipPanel > .panel-arrowcontainer > .panel-arrowbox > .panel-arrow[side="right"] {
list-style-image: url("chrome://browser/skin/customizableui/panelarrow-customizeTip@2x.png");

View File

@ -5,8 +5,8 @@
/*** Status and progress indicator ***/
#downloads-indicator-anchor {
min-width: 20px;
min-height: 20px;
min-width: 18px;
min-height: 18px;
}
#downloads-animation-container {

View File

@ -124,6 +124,8 @@ browser.jar:
skin/classic/browser/customizableui/customize-titleBar-toggle@2x.png (customizableui/customize-titleBar-toggle@2x.png)
skin/classic/browser/customizableui/customize-illustration.png (../shared/customizableui/customize-illustration.png)
skin/classic/browser/customizableui/customize-illustration@2x.png (../shared/customizableui/customize-illustration@2x.png)
skin/classic/browser/customizableui/customize-illustration-rtl.png (../shared/customizableui/customize-illustration-rtl.png)
skin/classic/browser/customizableui/customize-illustration-rtl@2x.png (../shared/customizableui/customize-illustration-rtl@2x.png)
skin/classic/browser/customizableui/customizeFavicon.ico (../shared/customizableui/customizeFavicon.ico)
skin/classic/browser/customizableui/customizeMode-gridTexture.png (customizableui/customizeMode-gridTexture.png)
skin/classic/browser/customizableui/customizeMode-separatorHorizontal.png (customizableui/customizeMode-separatorHorizontal.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -74,7 +74,7 @@
outline-offset: -5px;
}
#main-window[customize-entered] .customization-target:not(#PanelUI-contents) {
#main-window[customizing] .customization-target:not(#PanelUI-contents) {
min-width: 100px;
padding-left: 10px;
padding-right: 10px;

View File

@ -46,6 +46,10 @@
display: -moz-box;
}
.customization-tipPanel-contentImage:-moz-locale-dir(rtl) {
list-style-image: url(chrome://browser/skin/customizableui/customize-illustration-rtl.png);
}
.customization-tipPanel-link {
-moz-appearance: none;
background: transparent;

View File

@ -519,6 +519,11 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton {
color: white;
background-color: rgb(116,191,67);
text-shadow: none;
margin-top: -1px;
}
#customization-panelHolder #PanelUI-customize + toolbarseparator {
display: none;
}
#customization-panelHolder #PanelUI-customize:hover,

View File

@ -227,6 +227,20 @@
/* End selected tab */
/* Background tabs */
/* Decrease the height of the hoverable region of background tabs whenever the tabs are at the top
of the window (e.g. no menubar, tabs in titlebar, etc.) to make it easier to drag the window by
the titlebar. We don't need this in fullscreen since window dragging is not an issue there. */
%ifdef XP_MACOSX
#main-window[tabsintitlebar][sizemode="maximized"] .tab-background-middle:not([selected=true]),
%endif
#main-window[tabsintitlebar]:not([sizemode="maximized"]):not([inFullscreen]) #toolbar-menubar:-moz-any([autohide="true"][inactive], :not([autohide])) + #TabsToolbar .tab-background-middle:not([selected=true]) {
clip-path: url(chrome://browser/content/browser.xul#tab-hover-clip-path);
}
/* End background tabs */
/* new tab button border and gradient on hover */
.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true]),
.tabs-newtab-button:hover {

View File

@ -364,6 +364,10 @@ toolbarpaletteitem[place="palette"] > #personal-bookmarks > #bookmarks-toolbar-p
animation-timing-function: ease, ease, ease;
}
#bookmarks-menu-button[notification="finish"] {
pointer-events: none;
}
#bookmarks-menu-button[notification="finish"] > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon {
animation: animation-bookmarkPulse 300ms;
animation-delay: 600ms;

View File

@ -92,6 +92,7 @@ browser.jar:
skin/classic/browser/customizableui/background-noise-toolbar.png (customizableui/background-noise-toolbar.png)
skin/classic/browser/customizableui/customizeFavicon.ico (../shared/customizableui/customizeFavicon.ico)
skin/classic/browser/customizableui/customize-illustration.png (../shared/customizableui/customize-illustration.png)
skin/classic/browser/customizableui/customize-illustration-rtl.png (../shared/customizableui/customize-illustration-rtl.png)
skin/classic/browser/customizableui/customize-titleBar-toggle.png (customizableui/customize-titleBar-toggle.png)
skin/classic/browser/customizableui/customizeMode-gridTexture.png (customizableui/customizeMode-gridTexture.png)
skin/classic/browser/customizableui/customizeMode-separatorHorizontal.png (customizableui/customizeMode-separatorHorizontal.png)
@ -417,6 +418,7 @@ browser.jar:
skin/classic/aero/browser/webRTC-sharingMicrophone-16.png
skin/classic/aero/browser/customizableui/background-noise-toolbar.png (customizableui/background-noise-toolbar.png)
skin/classic/aero/browser/customizableui/customize-illustration.png (../shared/customizableui/customize-illustration.png)
skin/classic/aero/browser/customizableui/customize-illustration-rtl.png (../shared/customizableui/customize-illustration-rtl.png)
skin/classic/aero/browser/customizableui/customize-titleBar-toggle.png (customizableui/customize-titleBar-toggle.png)
skin/classic/aero/browser/customizableui/customizeFavicon.ico (../shared/customizableui/customizeFavicon.ico)
skin/classic/aero/browser/customizableui/customizeMode-gridTexture.png (customizableui/customizeMode-gridTexture.png)

View File

@ -293,7 +293,7 @@ case "$target" in
# The build tools got moved around to different directories in
# SDK Tools r22. Try to locate them.
android_build_tools=""
for suffix in android-4.4 android-4.3 android-4.2.2 19.0.0 18.1.0 18.0.1 18.0.0 17.0.0; do
for suffix in android-4.4 android-4.3 android-4.2.2 19.0.2 19.0.0 18.1.0 18.0.1 18.0.0 17.0.0; do
tools_directory="$android_sdk_root/build-tools/$suffix"
if test -d "$tools_directory" ; then
android_build_tools="$tools_directory"

View File

@ -0,0 +1,235 @@
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/.
AC_DEFUN([MOZ_CONFIG_NSPR], [
ifelse([$1],[],,[define(CONFIGURING_JS,yes)])
dnl Possible ways this can be called:
dnl from toplevel configure:
dnl JS_STANDALONE= BUILDING_JS=
dnl from js/src/configure invoked by toplevel configure:
dnl JS_STANDALONE= BUILDING_JS=1
dnl from standalone js/src/configure:
dnl JS_STANDALONE=1 BUILDING_JS=1
dnl ========================================================
dnl = Find the right NSPR to use.
dnl ========================================================
MOZ_ARG_WITH_STRING(nspr-cflags,
[ --with-nspr-cflags=FLAGS
Pass FLAGS to CC when building code that uses NSPR.
Use this when there's no accurate nspr-config
script available. This is the case when building
SpiderMonkey as part of the Mozilla tree: the
top-level configure script computes NSPR flags
that accomodate the quirks of that environment.],
NSPR_CFLAGS=$withval)
MOZ_ARG_WITH_STRING(nspr-libs,
[ --with-nspr-libs=LIBS Pass LIBS to LD when linking code that uses NSPR.
See --with-nspr-cflags for more details.],
NSPR_LIBS=$withval)
ifdef([CONFIGURING_JS],[
MOZ_ARG_ENABLE_BOOL(nspr-build,
[ --enable-nspr-build Configure and build NSPR from source tree],
MOZ_BUILD_NSPR=1,
MOZ_BUILD_NSPR=)
])
if test -z "$BUILDING_JS" || test -n "$JS_STANDALONE"; then
_IS_OUTER_CONFIGURE=1
fi
MOZ_ARG_WITH_BOOL(system-nspr,
[ --with-system-nspr Use an NSPR that is already built and installed.
Use the 'nspr-config' script in the current path,
or look for the script in the directories given with
--with-nspr-exec-prefix or --with-nspr-prefix.
(Those flags are only checked if you specify
--with-system-nspr.)],
_USE_SYSTEM_NSPR=1 )
JS_POSIX_NSPR=unset
ifdef([CONFIGURING_JS],[
if test -n "$JS_STANDALONE"; then
case "$target" in
*linux*|*darwin*|*dragonfly*|*freebsd*|*netbsd*|*openbsd*)
if test -z "$_HAS_NSPR" && test "$JS_THREADSAFE"; then
JS_POSIX_NSPR_DEFAULT=1
fi
;;
esac
fi
MOZ_ARG_ENABLE_BOOL(posix-nspr-emulation,
[ --enable-posix-nspr-emulation
Enable emulation of NSPR for POSIX systems],
JS_POSIX_NSPR=1,
JS_POSIX_NSPR=)
]) dnl ifdef CONFIGURING_JS
dnl Pass at most one of
dnl --with-system-nspr
dnl --with-nspr-cflags/libs
dnl --enable-nsprpub
dnl --enable-posix-nspr-emulation
AC_MSG_CHECKING([NSPR selection])
nspr_opts=
which_nspr=default
if test "$_USE_SYSTEM_NSPR"; then
nspr_opts="x$nspr_opts"
which_nspr="system"
fi
if test -n "$NSPR_CFLAGS" -o -n "$NSPR_LIBS"; then
nspr_opts="x$nspr_opts"
which_nspr="command-line"
fi
if test -n "$MOZ_BUILD_NSPR"; then
nspr_opts="x$nspr_opts"
which_nspr="source-tree"
fi
if test "$JS_POSIX_NSPR" != unset; then
nspr_opts="x$nspr_opts"
which_nspr="posix-wrapper"
fi
if test -z "$nspr_opts" || test "$nspr_opts" = x; then
AC_MSG_RESULT($which_nspr)
else
AC_MSG_ERROR([only one way of using NSPR may be selected. See 'configure --help'.])
fi
if test -z "$nspr_opts"; then
if test -z "$BUILDING_JS"; then
dnl Toplevel configure defaults to using nsprpub from the source tree
MOZ_BUILD_NSPR=1
else
dnl JS configure defaults to emulated NSPR if available, falling back to nsprpub
JS_POSIX_NSPR="$JS_POSIX_NSPR_DEFAULT"
if test -z "$JS_POSIX_NSPR"; then
MOZ_BUILD_NSPR=1
fi
fi
fi
AC_SUBST(MOZ_BUILD_NSPR)
if test "$JS_POSIX_NSPR" = unset; then
JS_POSIX_NSPR=
fi
if test -n "$BUILDING_JS"; then
if test "$JS_POSIX_NSPR" = 1; then
AC_DEFINE(JS_POSIX_NSPR)
fi
AC_SUBST(JS_POSIX_NSPR)
fi
if test -n "$_IS_OUTER_CONFIGURE"; then
if test -n "$_USE_SYSTEM_NSPR" -o -n "$NSPR_CFLAGS" -o -n "$NSPR_LIBS"; then
AM_PATH_NSPR($NSPR_MINVER, [MOZ_NATIVE_NSPR=1], [AC_MSG_ERROR([you do not have NSPR installed or your version is older than $NSPR_MINVER.])])
fi
if test -n "$MOZ_NATIVE_NSPR"; then
_SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $NSPR_CFLAGS"
AC_TRY_COMPILE([#include "prtypes.h"],
[#ifndef PR_STATIC_ASSERT
#error PR_STATIC_ASSERT not defined or requires including prtypes.h
#endif],
,
AC_MSG_ERROR([system NSPR does not support PR_STATIC_ASSERT or including prtypes.h does not provide it]))
AC_TRY_COMPILE([#include "prtypes.h"],
[#ifndef PR_UINT64
#error PR_UINT64 not defined or requires including prtypes.h
#endif],
,
AC_MSG_ERROR([system NSPR does not support PR_UINT64 or including prtypes.h does not provide it]))
CFLAGS=$_SAVE_CFLAGS
elif test -z "$JS_POSIX_NSPR"; then
if test -z "$LIBXUL_SDK"; then
NSPR_CFLAGS="-I${LIBXUL_DIST}/include/nspr"
if test -n "$GNU_CC"; then
NSPR_LIBS="-L${LIBXUL_DIST}/lib -lnspr${NSPR_VERSION} -lplc${NSPR_VERSION} -lplds${NSPR_VERSION}"
else
NSPR_LIBS="${LIBXUL_DIST}/lib/nspr${NSPR_VERSION}.lib ${LIBXUL_DIST}/lib/plc${NSPR_VERSION}.lib ${LIBXUL_DIST}/lib/plds${NSPR_VERSION}.lib "
fi
else
NSPR_CFLAGS=`"${LIBXUL_DIST}"/sdk/bin/nspr-config --prefix="${LIBXUL_DIST}" --includedir="${LIBXUL_DIST}/include/nspr" --cflags`
NSPR_LIBS=`"${LIBXUL_DIST}"/sdk/bin/nspr-config --prefix="${LIBXUL_DIST}" --libdir="${LIBXUL_DIST}"/lib --libs`
fi
fi
AC_SUBST(NSPR_CFLAGS)
AC_SUBST(NSPR_LIBS)
NSPR_PKGCONF_CHECK="nspr"
if test -n "$MOZ_NATIVE_NSPR"; then
# piggy back on $MOZ_NATIVE_NSPR to set a variable for the nspr check for js.pc
NSPR_PKGCONF_CHECK="nspr >= $NSPR_MINVER"
_SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $NSPR_CFLAGS"
AC_TRY_COMPILE([#include "prlog.h"],
[#ifndef PR_STATIC_ASSERT
#error PR_STATIC_ASSERT not defined
#endif],
,
AC_MSG_ERROR([system NSPR does not support PR_STATIC_ASSERT]))
CFLAGS=$_SAVE_CFLAGS
fi
AC_SUBST(NSPR_PKGCONF_CHECK)
fi # _IS_OUTER_CONFIGURE
])
AC_DEFUN([MOZ_SUBCONFIGURE_NSPR], [
if test -z "$MOZ_NATIVE_NSPR"; then
ac_configure_args="$_SUBDIR_CONFIG_ARGS --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla"
if test -z "$MOZ_DEBUG"; then
ac_configure_args="$ac_configure_args --disable-debug"
else
ac_configure_args="$ac_configure_args --enable-debug"
fi
if test "$MOZ_OPTIMIZE" = "1"; then
ac_configure_args="$ac_configure_args --enable-optimize"
elif test -z "$MOZ_OPTIMIZE"; then
ac_configure_args="$ac_configure_args --disable-optimize"
fi
if test -n "$HAVE_64BIT_OS"; then
ac_configure_args="$ac_configure_args --enable-64bit"
fi
if test -n "$USE_ARM_KUSER"; then
ac_configure_args="$ac_configure_args --with-arm-kuser"
fi
ac_configure_args="$ac_configure_args $NSPR_CONFIGURE_ARGS"
# Save these, so we can mess with them for the subconfigure ..
_SAVE_CFLAGS="$CFLAGS"
_SAVE_CPPFLAGS="$CPPFLAGS"
_SAVE_LDFLAGS="$LDFLAGS"
if test -n "$MOZ_LINKER" -a "$ac_cv_func_dladdr" = no ; then
# dladdr is supported by the new linker, even when the system linker doesn't
# support it. Trick nspr into using dladdr when it's not supported.
export CPPFLAGS="-include $_topsrcdir/mozglue/linker/dladdr.h $CPPFLAGS"
fi
export LDFLAGS="$LDFLAGS $NSPR_LDFLAGS"
export CFLAGS="$CFLAGS $MOZ_FRAMEPTR_FLAGS"
AC_OUTPUT_SUBDIRS(nsprpub)
# .. and restore them
CFLAGS="$_SAVE_CFLAGS"
CPPFLAGS="$_SAVE_CPPFLAGS"
LDFLAGS="$_SAVE_LDFLAGS"
ac_configure_args="$_SUBDIR_CONFIG_ARGS"
fi
])

View File

@ -5,6 +5,7 @@ support-files =
[test_app_principal_equality.html]
[test_bug246699.html]
[test_bug292789.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug423375.html]
[test_bug470804.html]
[test_disallowInheritPrincipal.html]

View File

@ -53,6 +53,7 @@ dnl ========================================================
MOZJPEG=62
MOZPNG=10609
NSPR_VERSION=4
NSPR_MINVER=4.10.3
NSS_VERSION=3
dnl Set the minimum version of toolkit libs used by mozilla
@ -131,7 +132,7 @@ EOF
exit 1
break
fi
MOZ_BUILD_ROOT=`pwd`
MOZ_BUILD_ROOT=`pwd -W 2>/dev/null || pwd`
MOZ_PYTHON
@ -2191,7 +2192,6 @@ ia64*-hpux*)
case "$host" in
*-mingw*)
MOZ_BUILD_ROOT=`cd $MOZ_BUILD_ROOT && pwd -W`
if test -n "$L10NBASEDIR"; then
L10NBASEDIR=`cd $L10NBASEDIR && pwd -W`
fi
@ -3505,47 +3505,7 @@ MOZ_ARG_WITH_BOOL(system-libxul,
[ --with-system-libxul Use system installed libxul SDK],
SYSTEM_LIBXUL=1)
dnl ========================================================
dnl = If NSPR was not detected in the system,
dnl = use the one in the source tree (mozilla/nsprpub)
dnl ========================================================
MOZ_ARG_WITH_BOOL(system-nspr,
[ --with-system-nspr Use system installed NSPR],
_USE_SYSTEM_NSPR=1 )
if test -n "$_USE_SYSTEM_NSPR"; then
AM_PATH_NSPR(4.10.3, [MOZ_NATIVE_NSPR=1], [AC_MSG_ERROR([your don't have NSPR installed or your version is too old])])
fi
if test -n "$MOZ_NATIVE_NSPR"; then
_SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $NSPR_CFLAGS"
AC_TRY_COMPILE([#include "prtypes.h"],
[#ifndef PR_STATIC_ASSERT
#error PR_STATIC_ASSERT not defined or requires including prtypes.h
#endif],
[MOZ_NATIVE_NSPR=1],
AC_MSG_ERROR([system NSPR does not support PR_STATIC_ASSERT or including prtypes.h does not provide it]))
AC_TRY_COMPILE([#include "prtypes.h"],
[#ifndef PR_UINT64
#error PR_UINT64 not defined or requires including prtypes.h
#endif],
[MOZ_NATIVE_NSPR=1],
AC_MSG_ERROR([system NSPR does not support PR_UINT64 or including prtypes.h does not provide it]))
CFLAGS=$_SAVE_CFLAGS
else
if test -z "$LIBXUL_SDK"; then
NSPR_CFLAGS="-I${LIBXUL_DIST}/include/nspr"
if test -n "$GNU_CC"; then
NSPR_LIBS="-L${LIBXUL_DIST}/lib -lnspr${NSPR_VERSION} -lplc${NSPR_VERSION} -lplds${NSPR_VERSION}"
else
NSPR_LIBS="${LIBXUL_DIST}/lib/nspr${NSPR_VERSION}.lib ${LIBXUL_DIST}/lib/plc${NSPR_VERSION}.lib ${LIBXUL_DIST}/lib/plds${NSPR_VERSION}.lib "
fi
else
NSPR_CFLAGS=`"${LIBXUL_DIST}"/sdk/bin/nspr-config --prefix="${LIBXUL_DIST}" --includedir="${LIBXUL_DIST}/include/nspr" --cflags`
NSPR_LIBS=`"${LIBXUL_DIST}"/sdk/bin/nspr-config --prefix="${LIBXUL_DIST}" --libdir="${LIBXUL_DIST}"/lib --libs`
fi
fi
MOZ_CONFIG_NSPR()
dnl set GRE_MILESTONE
dnl ========================================================
@ -8965,48 +8925,7 @@ if test -n "$_WRAP_MALLOC"; then
_SUBDIR_CONFIG_ARGS="`echo $_SUBDIR_CONFIG_ARGS | sed -e 's/--enable-wrap-malloc *//'`"
fi
if test -z "$MOZ_NATIVE_NSPR"; then
ac_configure_args="$_SUBDIR_CONFIG_ARGS --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla"
if test -z "$MOZ_DEBUG"; then
ac_configure_args="$ac_configure_args --disable-debug"
else
ac_configure_args="$ac_configure_args --enable-debug"
fi
if test "$MOZ_OPTIMIZE" = "1"; then
ac_configure_args="$ac_configure_args --enable-optimize"
elif test -z "$MOZ_OPTIMIZE"; then
ac_configure_args="$ac_configure_args --disable-optimize"
fi
if test -n "$HAVE_64BIT_OS"; then
ac_configure_args="$ac_configure_args --enable-64bit"
fi
if test -n "$USE_ARM_KUSER"; then
ac_configure_args="$ac_configure_args --with-arm-kuser"
fi
ac_configure_args="$ac_configure_args $NSPR_CONFIGURE_ARGS"
# Save these, so we can mess with them for the subconfigure ..
_SAVE_CFLAGS="$CFLAGS"
_SAVE_CPPFLAGS="$CPPFLAGS"
_SAVE_LDFLAGS="$LDFLAGS"
if test -n "$MOZ_LINKER" -a "$ac_cv_func_dladdr" = no ; then
# dladdr is supported by the new linker, even when the system linker doesn't
# support it. Trick nspr into using dladdr when it's not supported.
export CPPFLAGS="-include $_topsrcdir/mozglue/linker/dladdr.h $CPPFLAGS"
fi
export LDFLAGS="$LDFLAGS $NSPR_LDFLAGS"
export CFLAGS="$CFLAGS $MOZ_FRAMEPTR_FLAGS"
AC_OUTPUT_SUBDIRS(nsprpub)
# .. and restore them
CFLAGS="$_SAVE_CFLAGS"
CPPFLAGS="$_SAVE_CPPFLAGS"
LDFLAGS="$_SAVE_LDFLAGS"
ac_configure_args="$_SUBDIR_CONFIG_ARGS"
fi
MOZ_SUBCONFIGURE_NSPR()
dnl ========================================================
dnl = Setup a nice relatively clean build environment for

View File

@ -110,6 +110,7 @@ NS_CP_ContentTypeName(uint32_t contentType)
CASE_RETURN( TYPE_WEBSOCKET );
CASE_RETURN( TYPE_CSP_REPORT );
CASE_RETURN( TYPE_XSLT );
CASE_RETURN( TYPE_BEACON );
default:
return "<Unknown Type>";
}

View File

@ -24,7 +24,6 @@ DEPRECATED_OPERATION(MozBeforePaint)
DEPRECATED_OPERATION(DOMExceptionCode)
DEPRECATED_OPERATION(NoExposedProps)
DEPRECATED_OPERATION(MutationEvent)
DEPRECATED_OPERATION(MozSlice)
DEPRECATED_OPERATION(Components)
DEPRECATED_OPERATION(PrefixedVisibilityAPI)
DEPRECATED_OPERATION(NodeIteratorDetach)

View File

@ -24,7 +24,7 @@ typedef unsigned long nsContentPolicyType;
* by launching a dialog to prompt the user for something).
*/
[scriptable,uuid(e48e3024-f302-4a16-b8b6-2034d3a4b279)]
[scriptable,uuid(b6a71698-c117-441d-86b9-480cf06e3952)]
interface nsIContentPolicy : nsISupports
{
/**
@ -145,6 +145,11 @@ interface nsIContentPolicy : nsISupports
*/
const nsContentPolicyType TYPE_XSLT = 18;
/**
* Indicates a beacon post.
*/
const nsContentPolicyType TYPE_BEACON = 19;
/* When adding new content types, please update nsContentBlocker,
* NS_CP_ContentTypeName, contentSecurityPolicy.js, all nsIContentPolicy
* implementations, and other things that are not listed here that are

View File

@ -41,11 +41,6 @@ interface nsIDOMBlob : nsISupports
[optional] in long long end,
[optional] in DOMString contentType);
[optional_argc,implicit_jscontext]
nsIDOMBlob mozSlice([optional] in long long start,
[optional] in long long end,
[optional] in DOMString contentType);
// Get internal id of stored file. Returns -1 if it is not a stored file.
// Intended only for testing. It can be called on any thread.
[notxpcom] long long getFileId();

View File

@ -97,6 +97,7 @@ function ContentSecurityPolicy() {
csp._MAPPINGS[cp.TYPE_MEDIA] = cspr_sd_new.MEDIA_SRC;
csp._MAPPINGS[cp.TYPE_FONT] = cspr_sd_new.FONT_SRC;
csp._MAPPINGS[cp.TYPE_XSLT] = cspr_sd_new.SCRIPT_SRC;
csp._MAPPINGS[cp.TYPE_BEACON] = cspr_sd_new.CONNECT_SRC;
/* Our original CSP implementation's mappings for XHR and websocket
* These should be changed to be = cspr_sd.CONNECT_SRC when we remove

View File

@ -261,29 +261,6 @@ nsDOMFileBase::Slice(int64_t aStart, int64_t aEnd,
return *aBlob ? NS_OK : NS_ERROR_UNEXPECTED;
}
NS_IMETHODIMP
nsDOMFileBase::MozSlice(int64_t aStart, int64_t aEnd,
const nsAString& aContentType,
JSContext* aCx,
uint8_t optional_argc,
nsIDOMBlob **aBlob)
{
MOZ_ASSERT(NS_IsMainThread());
nsIScriptGlobalObject* sgo = nsJSUtils::GetDynamicScriptGlobal(aCx);
if (sgo) {
nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(sgo);
if (window) {
nsCOMPtr<nsIDocument> document = window->GetExtantDoc();
if (document) {
document->WarnOnceAbout(nsIDocument::eMozSlice);
}
}
}
return Slice(aStart, aEnd, aContentType, optional_argc, aBlob);
}
NS_IMETHODIMP
nsDOMFileBase::GetInternalStream(nsIInputStream **aStream)
{

View File

@ -1494,8 +1494,7 @@ nsFrameScriptExecutor::TryCacheLoadAndCompileScript(const nsAString& aURL,
if (global) {
JSAutoCompartment ac(cx, global);
JS::CompileOptions options(cx);
options.setFileAndLine(url.get(), 1)
.setPrincipals(nsJSPrincipals::get(mPrincipal));
options.setFileAndLine(url.get(), 1);
JS::Rooted<JSScript*> script(cx);
JS::Rooted<JSObject*> funobj(cx);
if (aRunInGlobalScope) {

View File

@ -242,6 +242,8 @@ nsMixedContentBlocker::ShouldLoad(uint32_t aContentType,
// spoofing attacks (e.g. make a "grant permission" button look like a
// "refuse permission" button).
//
// TYPE_BEACON: Beacon requests are similar to TYPE_PING, but are default on.
//
// TYPE_WEBSOCKET: The Websockets API requires browsers to
// reject mixed-content websockets: "If secure is false but the origin of
// the entry script has a scheme component that is itself a secure protocol,
@ -285,6 +287,7 @@ nsMixedContentBlocker::ShouldLoad(uint32_t aContentType,
case TYPE_MEDIA:
case TYPE_OBJECT_SUBREQUEST:
case TYPE_PING:
case TYPE_BEACON:
classification = eMixedDisplay;
break;

View File

@ -1,30 +0,0 @@
#
# 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/.
# OOP tests don't work on Windows (bug 763081) or native-fennec
# (see Bug 774939). App permission checks are also disabled on
# anything but B2G (Bug 900707).
ifdef MOZ_CHILD_PERMISSIONS
MOCHITEST_FILES += \
test_messagemanager_assertpermission.html \
test_child_process_shutdown_message.html \
$(NULL)
endif
# This test fails on the Mac for some reason
ifneq (,$(filter gtk2 gtk3 windows,$(MOZ_WIDGET_TOOLKIT)))
MOCHITEST_FILES += \
test_copyimage.html \
$(NULL)
endif
# Disabled for now. Mochitest isn't reliable enough for these.
# test_bug444546.html \
# bug444546.sjs \
# Disabled due to making the harness time out
# test_bug503473.html \
# file_bug503473-frame.sjs \

View File

@ -126,41 +126,57 @@ support-files =
file_multi_policy_injection_bypass_2.html^headers^
[test_CSP.html]
skip-if = toolkit == 'android' #TIMED_OUT
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) || toolkit == 'android' #TIMED_OUT # b2g-debug(observer not working) b2g-desktop(observer not working)
[test_CSP_bug663567.html]
[test_CSP_bug802872.html]
[test_CSP_bug885433.html]
[test_CSP_bug888172.html]
[test_CSP_bug916446.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(observer not working) b2g-desktop(observer not working)
[test_CSP_evalscript.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(observer not working) b2g-desktop(observer not working)
[test_CSP_evalscript_getCRMFRequest.html]
skip-if = toolkit == 'android' #bug 824652
skip-if = buildapp == 'b2g' || toolkit == 'android' #bug 824652 # b2g(no window.crypto support in multiprocess) b2g-debug(observer not working) b2g-desktop(observer not working)
[test_CSP_frameancestors.html]
skip-if = toolkit == 'android'
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) || toolkit == 'android' # b2g-debug(observer not working) b2g-desktop(observer not working)
[test_CSP_inlinescript.html]
skip-if = toolkit == 'android'
[test_CSP_inlinestyle.html]
[test_bothCSPheaders.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug))
[test_bug836922_npolicies.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(observer not working) b2g-desktop(observer not working)
[test_bug886164.html]
skip-if = (toolkit == 'gonk' && debug) #debug-only failure
[test_csp_redirects.html]
skip-if = toolkit == 'android' #TIMED_OUT
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) || toolkit == 'android' #TIMED_OUT
[test_CSP_bug910139.html]
[test_CSP_bug909029.html]
skip-if = (toolkit == 'gonk' && debug) #debug-only failure
[test_policyuri_regression_from_multipolicy.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(debug-only failure) b2g-desktop(Bug 931116, b2g desktop specific, initial triage)
[test_nonce_source.html]
skip-if = (toolkit == 'gonk' && debug) #debug-only failure
[test_CSP_bug941404.html]
skip-if = (toolkit == 'gonk' && debug) #debug-only failure
[test_hash_source.html]
skip-if = toolkit=='gonk' # b2g(can't use nsICryptoHash in CSPUtils.jsm (child process)) b2g-debug(can't use nsICryptoHash in CSPUtils.jsm (child process))
[test_dual_headers_warning.html]
[test_self_none_as_hostname_confusion.html]
[test_bug949549.html]
[test_csp_regexp_parsing.html]
[test_report_uri_missing_in_report_only_header.html]
[test_csp_report.html]
skip-if = buildapp == 'b2g' # b2g(observerservice issue) b2g-debug(observerservice issue) b2g-desktop(observerservice issue)
[test_policyuri_async_fetch.html]
[test_301_redirect.html]
skip-if = buildapp == 'b2g'
[test_302_redirect.html]
skip-if = buildapp == 'b2g'
[test_303_redirect.html]
skip-if = buildapp == 'b2g'
[test_307_redirect.html]
skip-if = buildapp == 'b2g'
[test_subframe_run_js_if_allowed.html]
[test_multi_policy_injection_bypass.html]
skip-if = buildapp == 'b2g'

View File

@ -30,6 +30,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=62178
case nsIContentPolicy::TYPE_MEDIA:
case nsIContentPolicy::TYPE_PING:
our ping implementation is off by default and does not comply with the current spec (bug 786347)
case nsIContentPolicy::TYPE_BEACON:
}
*/
-->

View File

@ -203,11 +203,6 @@ function testSlice(file, size, type, contents, fileType) {
ok(slice instanceof Blob, fileType + " fullsize slice is a Blob");
ok(!(slice instanceof File), fileType + " fullsize slice is not a File");
// Test that mozSlice works still.
slice = file.mozSlice(0, size);
ok(slice instanceof Blob, fileType + " fullsize slice is a Blob");
ok(!(slice instanceof File), fileType + " fullsize slice is not a File");
slice = file.slice(0, 1234);
ok(slice instanceof Blob, fileType + " sized slice is a Blob");
ok(!(slice instanceof File), fileType + " sized slice is not a File");

View File

@ -0,0 +1,2 @@
[test_messagemanager_assertpermission.html]
[test_child_process_shutdown_message.html]

View File

@ -220,7 +220,7 @@ skip-if = toolkit == 'android'
[test_CrossSiteXHR_cache.html]
skip-if = toolkit == 'android'
[test_CrossSiteXHR_origin.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android' # b2g(https not working, bug 907770) b2g-debug(https not working, bug 907770) b2g-desktop(https not working, bug 907770)
[test_DOMException.html]
[test_EventSource_redirects.html]
[test_NodeIterator_basics_filters.xhtml]
@ -230,17 +230,21 @@ skip-if = toolkit == 'android'
[test_XHR.html]
[test_XHRDocURI.html]
[test_XHRSendData.html]
skip-if = buildapp == 'b2g' # b2g(seems to stall) b2g-debug(seems to stall) b2g-desktop(seems to stall)
[test_XHR_anon.html]
[test_XHR_header.html]
[test_XHR_onuploadprogress.html]
[test_XHR_parameters.html]
skip-if = buildapp == 'b2g' # b2g(86 total, 4 failing - testing mozAnon - got false, expected true) b2g-debug(86 total, 4 failing - testing mozAnon - got false, expected true) b2g-desktop(86 total, 4 failing - testing mozAnon - got false, expected true)
[test_XHR_system.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(12 total, 2 failing - .mozSystem == true - got false, expected true + ) b2g-desktop(12 total, 2 failing - .mozSystem == true - got false, expected true + )
[test_XHR_timeout.html]
skip-if = buildapp == 'b2g' # b2g(flaky on B2G, bug 960743) b2g-debug(flaky on B2G, bug 960743) b2g-desktop(flaky on B2G, bug 960743)
[test_XHR_timeout.js]
[test_base.xhtml]
[test_blobconstructor.html]
[test_bug166235.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android' # b2g(clipboard undefined) b2g-debug(clipboard undefined) b2g-desktop(clipboard undefined)
[test_bug199959.html]
[test_bug218236.html]
[test_bug218277.html]
@ -259,6 +263,7 @@ skip-if = toolkit == 'android'
[test_bug320799.html]
[test_bug322317.html]
[test_bug326337.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug330925.xhtml]
[test_bug331959.html]
[test_bug333198.html]
@ -266,7 +271,7 @@ skip-if = toolkit == 'android'
[test_bug337631.html]
[test_bug338541.xhtml]
[test_bug338583.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android' # b2g(https not working, bug 907770) b2g-debug(https not working, bug 907770) b2g-desktop(43 total - bug 901343, specialpowers.wrap issue createsystemxhr)
[test_bug338679.html]
[test_bug339494.html]
[test_bug339494.xhtml]
@ -338,18 +343,26 @@ skip-if = toolkit == 'android'
[test_bug420700.html]
[test_bug421602.html]
[test_bug422403-1.html]
skip-if = buildapp == 'b2g' # b2g(bug 901343, specialpowers.wrap issue [nsIChannel.open]) b2g-debug(bug 901343, specialpowers.wrap issue [nsIChannel.open]) b2g-desktop(bug 901343, specialpowers.wrap issue [nsIChannel.open])
[test_bug422403-2.xhtml]
skip-if = buildapp == 'b2g'
[test_bug422537.html]
skip-if = buildapp == 'b2g' # b2g(xmlhttprequest causes crash, bug 902271) b2g-debug(xmlhttprequest causes crash, bug 902271) b2g-desktop(xmlhttprequest causes crash, bug 902271)
[test_bug424212.html]
[test_bug424359-1.html]
skip-if = buildapp == 'b2g'
[test_bug424359-2.html]
skip-if = buildapp == 'b2g'
[test_bug425013.html]
[test_bug426308.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk')
[test_bug426646.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug428847.html]
[test_bug429157.html]
[test_bug431082.html]
[test_bug431701.html]
skip-if = buildapp == 'b2g' # b2g(xmlhttprequest causes crash, bug 902271) b2g-debug(xmlhttprequest causes crash, bug 902271) b2g-desktop(xmlhttprequest causes crash, bug 902271)
[test_bug431833.html]
[test_bug433533.html]
[test_bug433662.html]
@ -374,22 +387,24 @@ skip-if = toolkit == 'android'
[test_bug461735.html]
[test_bug465767.html]
[test_bug466080.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android' # b2g(bug 901356, also fails on android) b2g-debug(bug 901356, also fails on android) b2g-desktop(bug 901356, also fails on android)
[test_bug466409.html]
skip-if = buildapp == 'b2g'
[test_bug466751.xhtml]
[test_bug469020.html]
[test_bug469304.html]
[test_bug473162-1.html]
[test_bug473162-2.html]
[test_bug475156.html]
skip-if = toolkit == 'android' #bug 855762
skip-if = buildapp == 'b2g' || toolkit == 'android' #bug 855762 # b2g(36 total - bug 902611) b2g-debug(36 total - bug 902611) b2g-desktop(36 total - bug 902611)
[test_bug482935.html]
skip-if = toolkit == 'android' #bug 855762
skip-if = buildapp == 'b2g' || toolkit == 'android' #bug 855762
[test_bug484396.html]
[test_bug493881.html]
[test_bug493881.js]
[test_bug498240.html]
[test_bug498433.html]
skip-if = buildapp == 'b2g'
[test_bug498897.html]
[test_bug499656.html]
[test_bug499656.xhtml]
@ -415,6 +430,7 @@ skip-if = toolkit == 'android' #TIMED_OUT
[test_bug548463.html]
[test_bug553896.xhtml]
[test_bug557892.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug558726.html]
[test_bug559526.html]
[test_bug560780.html]
@ -426,7 +442,9 @@ skip-if = toolkit == 'android' #TIMED_OUT
[test_bug564863.xhtml]
[test_bug567350.html]
[test_bug578096.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(debug-only failure; crash) b2g-desktop(Bug 931116, b2g desktop specific, initial triage)
[test_bug585978.html]
skip-if = (toolkit == 'gonk' && debug) #debug-only timeout
[test_bug587931.html]
[test_bug588990.html]
[test_bug590812.html]
@ -457,11 +475,14 @@ skip-if = toolkit == 'android' #bug 687032
[test_bug656283.html]
[test_bug664916.html]
[test_bug666604.html]
skip-if = buildapp == 'b2g' # b2g(dom.disable_open_during_load not implemented in b2g) b2g-debug(dom.disable_open_during_load not implemented in b2g) b2g-desktop(dom.disable_open_during_load not implemented in b2g)
[test_bug675121.html]
skip-if = buildapp == 'b2g' # b2g(bug 901378) b2g-debug(bug 901378) b2g-desktop(bug 901378)
[test_bug675166.html]
[test_bug682463.html]
[test_bug682554.html]
[test_bug682592.html]
skip-if = buildapp == 'b2g'
[test_bug684671.html]
[test_bug685798.html]
[test_bug686449.xhtml]
@ -494,6 +515,7 @@ skip-if = toolkit == 'android' #bug 687032
[test_bug787778.html]
[test_bug789856.html]
[test_bug804395.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #bug 901343, specialpowers.wrap issue createsystemxhr
[test_bug809003.html]
[test_bug810494.html]
[test_bug811701.html]
@ -503,7 +525,7 @@ skip-if = toolkit == 'android' #bug 687032
[test_bug819051.html]
[test_bug820909.html]
[test_bug827160.html]
skip-if = toolkit == 'android' #needs plugin support
skip-if = buildapp == 'b2g' || toolkit == 'android' #needs plugin support # b2g(needs plugin support) b2g-debug(debug-only failure) b2g-desktop(needs plugin support)
[test_bug840098.html]
[test_bug868999.html]
[test_bug869000.html]
@ -520,10 +542,13 @@ skip-if = toolkit == 'android' #needs plugin support
[test_bug927196.html]
[test_caretPositionFromPoint.html]
[test_classList.html]
# This test fails on the Mac for some reason
[test_copyimage.html]
skip-if = toolkit != 'gtk2' && toolkit != 'gtk3' && toolkit != 'windows'
[test_copypaste.html]
skip-if = toolkit == 'android' #bug 904183
skip-if = buildapp == 'b2g' || toolkit == 'android' #bug 904183 # b2g(clipboard undefined) b2g-debug(clipboard undefined) b2g-desktop(clipboard undefined)
[test_copypaste.xhtml]
skip-if = toolkit == 'android' #bug 904183
skip-if = buildapp == 'b2g' || toolkit == 'android' #bug 904183 # b2g(bug 904183) b2g-debug(bug 904183) b2g-desktop(bug 904183)
[test_createHTMLDocument.html]
[test_declare_stylesheet_obsolete.html]
[test_domparser_null_char.html]
@ -531,7 +556,7 @@ skip-if = toolkit == 'android' #bug 904183
[test_elementTraversal.html]
[test_fileapi.html]
[test_fileapi_slice.html]
skip-if = toolkit == 'android' #bug 775227
skip-if = buildapp == 'b2g' || toolkit == 'android' #bug 775227
[test_getElementById.html]
[test_html_colors_quirks.html]
[test_html_colors_standards.html]
@ -547,19 +572,20 @@ skip-if = toolkit == 'android' #bug 775227
[test_meta_viewport5.html]
[test_meta_viewport6.html]
[test_mixed_content_blocker.html]
skip-if = toolkit == 'android' #TIMED_OUT, SSL_REQUIRED
skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT, SSL_REQUIRED
[test_mixed_content_blocker_bug803225.html]
skip-if = toolkit == 'android' #TIMED_OUT, SSL_REQUIRED
skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT, SSL_REQUIRED
[test_mixed_content_blocker_frameNavigation.html]
skip-if = toolkit == 'android' #TIMED_OUT, SSL_REQUIRED
skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT, SSL_REQUIRED
[test_mozfiledataurl.html]
skip-if = toolkit == 'android' #TIMED_OUT
skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT
[test_mutationobservers.html]
skip-if = buildapp == 'b2g' # b2g(bug 901385, showmodaldialog) b2g-debug(bug 901385, showmodaldialog) b2g-desktop(bug 901385, showmodaldialog)
[test_nodelist_holes.html]
[test_object.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android' # b2g(needs plugin support) b2g-debug(needs plugin support) b2g-desktop(needs plugin support)
[test_plugin_freezing.html]
skip-if = toolkit == 'android' #CLICK_TO_PLAY
skip-if = buildapp == 'b2g' || toolkit == 'android' #CLICK_TO_PLAY
[test_processing_instruction_update_stylesheet.xhtml]
[test_range_bounds.html]
skip-if = toolkit == 'android'
@ -577,13 +603,13 @@ skip-if = toolkit == 'android' #RANDOM
[test_w3element_traversal.xhtml]
[test_w3element_traversal_svg.html]
[test_websocket.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android'
[test_websocket_basic.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android'
[test_websocket_hello.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android'
[test_x-frame-options.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android' # b2g(observerservice issue) b2g-debug(observerservice issue) b2g-desktop(observerservice issue)
[test_xbl_userdata.xhtml]
[test_xhr_abort_after_load.html]
skip-if = toolkit == 'android'
@ -594,3 +620,9 @@ skip-if = toolkit == 'android'
[test_xhr_withCredentials.html]
[test_file_from_blob.html]
[test_warning_for_blocked_cross_site_request.html]
[test_bug444546.html]
disabled = Disabled for now. Mochitest isn't reliable enough for these.
support-files = bug444546.sjs
[test_bug503473.html]
disabled = Disabled due to making the harness time out
support-files = file_bug503473-frame.sjs

View File

@ -25,6 +25,13 @@ MOCHITEST_MANIFESTS += [
'chrome/mochitest.ini',
'mochitest.ini',
]
# OOP tests don't work on Windows (bug 763081) or native-fennec
# (see Bug 774939). App permission checks are also disabled on
# anything but B2G (Bug 900707).
if CONFIG['MOZ_CHILD_PERMISSIONS']:
MOCHITEST_MANIFESTS += [
'mochitest-child-permissions.ini',
]
MOCHITEST_CHROME_MANIFESTS += [
'chrome.ini',

View File

@ -4,10 +4,10 @@ support-files =
file_check-binary-messages_wsh.py
[test_receive-arraybuffer.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android'
[test_receive-blob.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android'
[test_send-arraybuffer.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android'
[test_send-blob.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android'

View File

@ -188,7 +188,9 @@ disabled = bug 407107
[test_bug866575.html]
[test_bug902651.html]
[test_canvas.html]
skip-if = (toolkit == 'gonk' && debug) #debug-only crash; bug 933541
[test_canvas_focusring.html]
skip-if = (toolkit == 'gonk' && !debug) #specialpowers.wrap
[test_canvas_font_setter.html]
[test_hitregion_canvas.html]
skip-if = os == "android" || appname == "b2g"

View File

@ -17,3 +17,4 @@ support-files =
skipped_tests_winxp.txt
[test_webgl_conformance_test_suite.html]
skip-if = buildapp == 'b2g'

View File

@ -2798,6 +2798,7 @@ HTMLInputElement::SetValueInternal(const nsAString& aValue,
UpdateAllValidityStates(mParserCreating);
}
} else {
nsMemory::Free(mInputData.mValue);
mInputData.mValue = ToNewUnicode(value);
if (aSetValueChanged) {
SetValueChanged(true);

View File

@ -6,6 +6,7 @@ support-files =
[test_button_attributes_reflection.html]
[test_change_event.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_datalist_element.html]
[test_experimental_forms_pref.html]
[test_form_attribute-1.html]
@ -23,7 +24,9 @@ support-files =
[test_input_defaultValue.html]
[test_input_email.html]
[test_input_event.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_input_file_picker.html]
skip-if = buildapp == 'b2g' # b2g(5 failures out of 139 and timing out, bug 901581) b2g-debug(5 failures out of 139 and timing out, bug 901581) b2g-desktop(5 failures out of 139 and timing out, bug 901581)
[test_input_list_attribute.html]
[test_input_number_l10n.html]
# We don't build ICU for Firefox for Android or Firefox OS:
@ -39,8 +42,11 @@ skip-if = os == "android"
skip-if = os == "android" || appname == "b2g"
[test_input_range_attr_order.html]
[test_input_range_key_events.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_input_range_mouse_and_touch_events.html]
skip-if = (toolkit == 'gonk' && debug) #debug-only failure; bug 926546
[test_input_range_rounding.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_input_sanitization.html]
[test_input_textarea_set_value_no_scroll.html]
[test_input_typing_sanitization.html]
@ -70,6 +76,7 @@ skip-if = os == "android" || appname == "b2g"
[test_submit_invalid_file.html]
[test_textarea_attributes_reflection.html]
[test_validation.html]
skip-if = buildapp == 'b2g' # b2g(374 total, bug 901848, no keygen support) b2g-debug(374 total, bug 901848, no keygen support) b2g-desktop(374 total, bug 901848, no keygen support)
[test_valueAsDate_pref.html]
[test_valueasdate_attribute.html]
[test_valueasnumber_attribute.html]

View File

@ -68,9 +68,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=566160
/** Test for Bug 566160 **/
SimpleTest.waitForExplicitFinish();
addLoadEvent(function() {
setTimeout(runTests, 0);
});
SimpleTest.waitForFocus(runTests);
var gTestResults = {
frame1: "data:text/html,?foo=foo",

View File

@ -171,7 +171,7 @@ support-files =
[test_bug182279.html]
[test_bug2082.html]
[test_bug209275.xhtml]
skip-if = toolkit == 'android' #TIMED_OUT
skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT # b2g(timed out, 47 tests, bug 870262, :visited support) b2g-debug(timed out, 47 tests, bug 870262, :visited support) b2g-desktop(timed out, 47 tests, bug 870262, :visited support)
[test_bug237071.html]
[test_bug242709.html]
[test_bug24958.html]
@ -230,6 +230,7 @@ skip-if = toolkit == 'android' #TIMED_OUT
[test_bug424698.html]
[test_bug428135.xhtml]
[test_bug430351.html]
skip-if = buildapp == 'b2g' # b2g(13 failing out of 700, not focusable iframes? bug 902207) b2g-debug(13 failing out of 700, not focusable iframes? bug 902207) b2g-desktop(13 failing out of 700, not focusable iframes? bug 902207)
[test_bug430392.html]
[test_bug441930.html]
[test_bug442801.html]
@ -238,13 +239,14 @@ skip-if = toolkit == 'android' #TIMED_OUT
[test_bug458037.xhtml]
[test_bug460568.html]
[test_bug481335.xhtml]
skip-if = toolkit == 'android' #TIMED_OUT
skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT # b2g(timed out, bug 870262, :visited support) b2g-debug(timed out, bug 870262, :visited support) b2g-desktop(timed out, bug 870262, :visited support)
[test_bug500885.html]
[test_bug514856.html]
skip-if = toolkit == 'android'
[test_bug518122.html]
[test_bug519987.html]
[test_bug523771.html]
skip-if = buildapp == 'b2g' # b2g(onload of iframe not firing, because submit not working?) b2g-debug(onload of iframe not firing, because submit not working?) b2g-desktop(onload of iframe not firing, because submit not working?)
[test_bug529819.html]
[test_bug529859.html]
[test_bug535043.html]
@ -268,6 +270,7 @@ skip-if = toolkit == 'android' #TIMED_OUT
[test_bug560112.html]
[test_bug561634.html]
[test_bug561636.html]
skip-if = buildapp == 'b2g' # b2g(observerservice not working) b2g-debug(observerservice not working) b2g-desktop(observerservice not working)
[test_bug561640.html]
[test_bug564001.html]
[test_bug566046.html]
@ -294,6 +297,7 @@ skip-if = toolkit == 'android' #TIMED_OUT
[test_bug595429.html]
[test_bug595447.html]
[test_bug595449.html]
skip-if = (toolkit == 'gonk' && debug) #debug-only failure
[test_bug596350.html]
[test_bug596511.html]
[test_bug598643.html]
@ -310,25 +314,31 @@ skip-if = toolkit == 'android' #TIMED_OUT
[test_bug610687.html]
[test_bug611189.html]
[test_bug612730.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android' # b2g(form control not selected/checked with synthesizeMouse, also fails on Android) b2g-debug(form control not selected/checked with synthesizeMouse, also fails on Android) b2g-desktop(form control not selected/checked with synthesizeMouse, also fails on Android)
[test_bug613113.html]
skip-if = buildapp == 'b2g' # b2g(bug 587671, need an invalidformsubmit observer) b2g-debug(bug 587671, need an invalidformsubmit observer) b2g-desktop(bug 587671, need an invalidformsubmit observer)
[test_bug613722.html]
[test_bug613979.html]
[test_bug615595.html]
[test_bug615833.html]
skip-if = toolkit == 'android' #TIMED_OUT
skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT # b2g(form control not selected/checked with synthesizeMouse, also fails on Android) b2g-debug(form control not selected/checked with synthesizeMouse, also fails on Android) b2g-desktop(form control not selected/checked with synthesizeMouse, also fails on Android)
[test_bug617528.html]
[test_bug618948.html]
skip-if = buildapp == 'b2g' # b2g(bug 587671, need an invalidformsubmit observer) b2g-debug(bug 587671, need an invalidformsubmit observer) b2g-desktop(bug 587671, need an invalidformsubmit observer)
[test_bug619278.html]
skip-if = buildapp == 'b2g' # b2g(bug 587671, need an invalidformsubmit observer) b2g-debug(bug 587671, need an invalidformsubmit observer) b2g-desktop(bug 587671, need an invalidformsubmit observer)
[test_bug622558.html]
[test_bug622597.html]
skip-if = buildapp == 'b2g' # b2g(bug 587671, need an invalidformsubmit observer) b2g-debug(bug 587671, need an invalidformsubmit observer) b2g-desktop(bug 587671, need an invalidformsubmit observer)
[test_bug623291.html]
[test_bug6296.html]
[test_bug629801.html]
[test_bug633058.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug636336.html]
[test_bug641219.html]
[test_bug643051.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug646157.html]
[test_bug649134.html]
# This extra subdirectory is needed due to the nature of this test.
@ -342,9 +352,11 @@ support-files =
bug649134/file_bug649134-2.sjs
bug649134/index.html
[test_bug651956.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug658746.html]
[test_bug659596.html]
[test_bug659743.xml]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug660663.html]
[test_bug660959-1.html]
[test_bug660959-2.html]
@ -353,6 +365,7 @@ support-files =
[test_bug666666.html]
[test_bug669012.html]
[test_bug674558.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug674927.html]
[test_bug677463.html]
[test_bug677658.html]
@ -377,6 +390,7 @@ support-files =
[test_bug839913.html]
[test_bug840877.html]
[test_bug841466.html]
skip-if = (toolkit == 'gonk' && debug) #debug-only failure
[test_bug845057.html]
[test_bug869040.html]
[test_bug870787.html]
@ -393,25 +407,31 @@ support-files =
[test_embed_attributes_reflection.html]
[test_formData.html]
[test_formSubmission.html]
skip-if = toolkit == 'android' #TIMED_OUT
skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT # b2g(NS_ERROR_FILE_TARGET_DOES_NOT_EXIST) b2g-debug(NS_ERROR_FILE_TARGET_DOES_NOT_EXIST) b2g-desktop(NS_ERROR_FILE_TARGET_DOES_NOT_EXIST)
[test_formSubmission2.html]
skip-if = toolkit == 'android'
[test_formelements.html]
[test_fullscreen-api.html]
skip-if = toolkit == 'android' #TIMED_OUT
skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT # b2g(time out, some kind of focus issue) b2g-debug(time out, some kind of focus issue) b2g-desktop(time out, some kind of focus issue)
[test_hidden.html]
[test_html_attributes_reflection.html]
[test_htmlcollection.html]
[test_iframe_sandbox_general.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_iframe_sandbox_inheritance.html]
skip-if = buildapp == 'b2g' # b2g(Crash, bug 904659) b2g-debug(Crash, bug 904659) b2g-desktop(Crash, bug 904659)
[test_iframe_sandbox_modal.html]
skip-if = toolkit == 'android' #modal tests fail on android
skip-if = buildapp == 'b2g' || toolkit == 'android' #modal tests fail on android # b2g(modal tests fail on B2G) b2g-debug(modal tests fail on B2G) b2g-desktop(Bug 931116, b2g desktop specific, initial triage)
[test_iframe_sandbox_navigation.html]
skip-if = buildapp == 'b2g' # b2g(Crash, bug 904659) b2g-debug(Crash, bug 904659) b2g-desktop(Crash, bug 904659)
[test_iframe_sandbox_navigation2.html]
skip-if = buildapp == 'b2g' # b2g(Crash, bug 904659) b2g-debug(Crash, bug 904659) b2g-desktop(Crash, bug 904659)
[test_iframe_sandbox_plugins.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android' # b2g(plugins not supported) b2g-debug(plugins not supported) b2g-desktop(plugins not supported)
[test_iframe_sandbox_popups.html]
skip-if = buildapp == 'b2g' # b2g(multiple concurrent window.open()s fail on B2G) b2g-debug(multiple concurrent window.open()s fail on B2G) b2g-desktop(Bug 931116, b2g desktop specific, initial triage)
[test_iframe_sandbox_popups_inheritance.html]
skip-if = buildapp == 'b2g' # b2g(multiple concurrent window.open()s fail on B2G) b2g-debug(multiple concurrent window.open()s fail on B2G) b2g-desktop(Bug 931116, b2g desktop specific, initial triage)
[test_iframe_sandbox_same_origin.html]
[test_iframe_sandbox_workers.html]
[test_img_attributes_reflection.html]
@ -421,11 +441,12 @@ skip-if = toolkit == 'android'
[test_meta_attributes_reflection.html]
[test_mod_attributes_reflection.html]
[test_mozaudiochannel.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(Perma-orange on debug emulator) b2g-desktop(Bug 931116, b2g desktop specific, initial triage)
[test_named_options.html]
[test_nested_invalid_fieldsets.html]
[test_object_attributes_reflection.html]
[test_object_plugin_nav.html]
skip-if = toolkit == 'android' #TIMED_OUT
skip-if = buildapp == 'b2g' || toolkit == 'android' #TIMED_OUT # b2g(plugins not supported) b2g-debug(plugins not supported) b2g-desktop(plugins not supported)
[test_ol_attributes_reflection.html]
[test_option_defaultSelected.html]
[test_option_selected_state.html]
@ -444,4 +465,5 @@ skip-if = toolkit == 'android' #TIMED_OUT
skip-if = toolkit == 'android' #bug 871015
[test_input_files_not_nsIFile.html]
[test_ignoreuserfocus.html]
skip-if = (toolkit == 'gonk' && debug) #debug-only failure
[test_fragment_form_pointer.html]

View File

@ -25,8 +25,9 @@ support-files =
[test_bug1823.html]
[test_bug57600.html]
[test_bug196523.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug199692.html]
skip-if = toolkit == 'android' #bug 811644
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') || toolkit == 'android' #bug 811644 #Bug 931116, b2g desktop specific, initial triage
[test_bug172261.html]
[test_bug255820.html]
[test_bug259332.html]
@ -37,10 +38,10 @@ skip-if = toolkit == 'android' #bug 811644
[test_bug340017.xhtml]
[test_bug359657.html]
[test_bug369370.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android'
[test_bug380383.html]
[test_bug391777.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android' # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog)
[test_bug402680.html]
[test_bug403868.html]
[test_bug403868.xhtml]
@ -52,6 +53,7 @@ skip-if = true # Disabled for timeouts.
[test_documentAll.html]
[test_document-element-inserted.html]
[test_document.watch.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(expects document.cookie setting to work) b2g-desktop(expects document.cookie setting to work)
[test_bug445004.html]
skip-if = true || toolkit == 'android' # Disabled permanently (bug 559932).
[test_bug446483.html]
@ -69,8 +71,10 @@ skip-if = toolkit == 'android'
[test_bug677495.html]
[test_bug677495-1.html]
[test_bug741266.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android' # b2g(needs control of popup window size) b2g-debug(needs control of popup window size) b2g-desktop(needs control of popup window size)
[test_non-ascii-cookie.html]
skip-if = buildapp == 'b2g'
[test_bug765780.html]
[test_bug871161.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
support-files = file_bug871161-1.html file_bug871161-2.html

View File

@ -2,3 +2,4 @@
support-files = seek.webm seek.webm^headers^
[test_MediaSource.html]
skip-if = buildapp == 'b2g' # b2g( ReferenceError: MediaSource is not defined) b2g-debug( ReferenceError: MediaSource is not defined) b2g-desktop( ReferenceError: MediaSource is not defined)

View File

@ -22,6 +22,8 @@
# do ok(true, "Type not supported") and stop the test.
[DEFAULT]
#bug 918299
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug))
support-files =
320x240.ogv
320x240.ogv^headers^
@ -299,12 +301,17 @@ support-files =
[test_audio_event_adopt.html]
[test_autoplay.html]
[test_bug448534.html]
skip-if = buildapp == 'b2g' # b2g(Timed out, bug 894922? Bug 902677 is for the timing out of a lot of media tests) b2g-debug(Timed out, bug 894922? Bug 902677 is for the timing out of a lot of media tests) b2g-desktop(Timed out, bug 894922? Bug 902677 is for the timing out of a lot of media tests)
[test_bug463162.xhtml]
[test_bug495145.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(timed out) b2g-desktop(timed out)
[test_bug495300.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug))
[test_bug654550.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(timed out) b2g-desktop(timed out)
[test_bug686137.html]
[test_bug686942.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(timed out) b2g-desktop(timed out)
# [test_bug726904.html] # disabled - See bug 754860
[test_bug874897.html]
[test_bug883173.html]
@ -313,6 +320,7 @@ support-files =
[test_bug919265.html]
[test_bug957847.html]
[test_chaining.html]
skip-if = buildapp == 'b2g' # b2g(timed out) b2g-debug(timed out) b2g-desktop(timed out)
[test_contentDuration1.html]
[test_contentDuration2.html]
[test_contentDuration3.html]
@ -321,8 +329,11 @@ support-files =
[test_contentDuration6.html]
[test_contentDuration7.html]
[test_can_play_type.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(timed out) b2g-desktop(timed out)
[test_can_play_type_mpeg.html]
skip-if = buildapp == 'b2g' # b2g(7 failures out of 27) b2g-debug(7 failures out of 27) b2g-desktop(7 failures out of 27)
[test_can_play_type_ogg.html]
skip-if = buildapp == 'b2g'
[test_can_play_type_no_ogg.html]
[test_closing_connections.html]
[test_constants.html]
@ -331,38 +342,56 @@ support-files =
[test_decode_error.html]
[test_defaultMuted.html]
[test_delay_load.html]
skip-if = buildapp == 'b2g' # b2g(6 failures) b2g-debug(6 failures) b2g-desktop(6 failures)
[test_error_on_404.html]
skip-if = buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(timed out) b2g-desktop(timed out)
[test_framebuffer.html]
skip-if = buildapp == 'b2g' # b2g(timed out) b2g-debug(timed out) b2g-desktop(timed out)
[test_info_leak.html]
skip-if = buildapp == 'b2g' # b2g(2 failures) b2g-debug(2 failures) b2g-desktop(2 failures)
[test_invalid_reject.html]
[test_load.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(Timed out after gizmo.mp4) b2g-desktop(Timed out after gizmo.mp4)
[test_load_candidates.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(timed out) b2g-desktop(timed out)
[test_load_same_resource.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug))
[test_load_source.html]
[test_loop.html]
[test_metadata.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug))
[test_no_load_event.html]
[test_networkState.html]
[test_new_audio.html]
[test_paused.html]
[test_paused_after_ended.html]
[test_play_events.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(Last event should be canplaythrough for gizmo.mp4 - got playing, expected canplaythrough) b2g-desktop(Last event should be canplaythrough for gizmo.mp4 - got playing, expected canplaythrough)
[test_play_events_2.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(Last event should be canplaythrough for gizmo.mp4 - got playing, expected canplaythrough) b2g-desktop(Last event should be canplaythrough for gizmo.mp4 - got playing, expected canplaythrough)
[test_playback_errors.html]
[test_seekable1.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug))
[test_preload_actions.html]
[test_preload_attribute.html]
[test_progress.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(bug 901716 - timeouts) b2g-desktop(bug 901716 - timeouts)
[test_reactivate.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(timed out in small-shot.mp3) b2g-desktop(timed out in small-shot.mp3)
[test_readyState.html]
[test_referer.html]
skip-if = buildapp == 'b2g'
[test_reset_events_async.html]
[test_replay_metadata.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug))
[test_seek2.html]
[test_seek_out_of_range.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug))
[test_seekable2.html]
[test_seekable3.html]
skip-if = buildapp == 'b2g' # b2g(timed out) b2g-debug(timed out) b2g-desktop(timed out)
[test_source.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug))
[test_source_write.html]
[test_source_null.html]
[test_standalone.html]
@ -375,11 +404,15 @@ support-files =
[test_mediarecorder_record_timeslice.html]
[test_mediarecorder_record_audiocontext.html]
[test_mediarecorder_record_4ch_audiocontext.html]
skip-if = (toolkit == 'gonk' && !debug)
[test_mediarecorder_record_stopms.html]
[test_mediarecorder_record_nosrc.html]
[test_mozHasAudio.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug))
[test_source_media.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug))
[test_autoplay_contentEditable.html]
skip-if = buildapp == 'b2g' # b2g(bug 899074 - timeouts) b2g-debug(bug 899074 - timeouts) b2g-desktop(bug 899074 - timeouts)
[test_decoder_disable.html]
[test_mediarecorder_record_no_timeslice.html]
[test_mediarecorder_reload_crash.html]
@ -389,25 +422,32 @@ support-files =
[test_mediarecorder_getencodeddata.html]
[test_mediarecorder_unsupported_src.html]
[test_mediarecorder_record_gum_video_timeslice.html]
skip-if = buildapp == 'b2g' || (toolkit == 'android') # mimetype check, bug 969289
[test_playback.html]
skip-if = buildapp == 'b2g' # b2g(Test timed out, bug 668973?) b2g-debug(Test timed out, bug 668973?) b2g-desktop(Test timed out, bug 668973?)
[test_seekLies.html]
[test_media_sniffer.html]
[test_streams_srcObject.html]
[test_reset_src.html]
[test_streams_autoplay.html]
[test_streams_element_capture.html]
skip-if = buildapp == 'b2g' # b2g(bug 900172 - timeouts) b2g-debug(bug 900172 - timeouts) b2g-desktop(bug 900172 - timeouts)
[test_streams_element_capture_reset.html]
skip-if = buildapp == 'b2g' # b2g(bug 901102) b2g-debug(bug 901102) b2g-desktop(bug 901102)
[test_streams_element_capture_createObjectURL.html]
[test_streams_element_capture_playback.html]
[test_streams_gc.html]
skip-if = buildapp == 'b2g' # b2g(Value being assigned to HTMLMediaElement.currentTime is not a finite floating-point value) b2g-debug(Value being assigned to HTMLMediaElement.currentTime is not a finite floating-point value) b2g-desktop(Value being assigned to HTMLMediaElement.currentTime is not a finite floating-point value)
[test_streams_tracks.html]
[test_texttrack.html]
[test_texttrackcue.html]
[test_trackevent.html]
[test_texttrackregion.html]
[test_texttracklist.html]
[test_timeupdate_small_files.html] skip-if = os == "linux" # Intermittent failures, bug 760770
[test_timeupdate_small_files.html]
skip-if = os == "linux" # Intermittent failures, bug 760770
[test_unseekable.html]
skip-if = buildapp == 'b2g'
[test_VideoPlaybackQuality.html]
[test_VideoPlaybackQuality_disabled.html]
[test_webvtt_disabled.html]
@ -431,23 +471,37 @@ support-files =
# that. Then don't think about reenabling it on Windows until you know that
# you have fixed the timeouts of bug 832768, bug 814533, bug 840742
[test_play_twice.html] skip-if = appname == "seamonkey" # See bug 598252
[test_play_twice.html]
skip-if = appname == "seamonkey" # See bug 598252
[test_buffered.html] skip-if = os == "win" # See bug 832768 and 864682
[test_bug465498.html] skip-if = os == "win" # See bug 832768 and 864682
[test_bug493187.html] skip-if = os == "win" # See bug 707777
[test_media_selection.html] skip-if = os == "win" # See bug 897843
[test_seek.html] skip-if = os == "win" # See bug 832678, 795271, and 857424
[test_buffered.html]
skip-if = os == "win" # See bug 832768 and 864682
[test_bug465498.html]
skip-if = os == "win" # See bug 832768 and 864682
[test_bug493187.html]
skip-if = os == "win" || (buildapp=='b2g'&&debug) # See bug 707777, #b2g-emulator-debug - process crash
[test_media_selection.html]
skip-if = os == "win" # See bug 897843
[test_seek.html]
skip-if = os == "win" # See bug 832678, 795271, and 857424
# The tests below contain backend-specific tests. Write backend independent
# tests rather than adding to this list.
[test_can_play_type_webm.html] run-if = webm
[test_can_play_type_no_webm.html] skip-if = webm
[test_can_play_type_webm.html]
run-if = webm
[test_can_play_type_no_webm.html]
skip-if = webm
[test_can_play_type_wave.html] run-if = wave
[test_can_play_type_no_wave.html] skip-if = wave
[test_fragment_noplay.html] run-if = wave
[test_fragment_play.html] run-if = wave
[test_wave_data_s16.html] run-if = wave
[test_wave_data_u8.html] run-if = wave
[test_can_play_type_wave.html]
run-if = wave
[test_can_play_type_no_wave.html]
skip-if = wave
[test_fragment_noplay.html]
run-if = wave
[test_fragment_play.html]
run-if = wave
[test_wave_data_s16.html]
run-if = wave
[test_wave_data_u8.html]
run-if = wave

View File

@ -38,6 +38,7 @@ support-files =
[test_audioBufferSourceNodeNoStart.html]
[test_audioBufferSourceNodeNullBuffer.html]
[test_audioBufferSourceNodeOffset.html]
skip-if = (toolkit == 'gonk' && !debug) #bug 906752
[test_audioParamExponentialRamp.html]
[test_audioParamLinearRamp.html]
[test_audioParamSetCurveAtTime.html]
@ -122,4 +123,5 @@ support-files =
[test_waveShaperZeroLengthCurve.html]
[test_audioDestinationNode.html]
[test_mozaudiochannel.html]
skip-if = (toolkit == 'gonk' && !debug)
[test_waveDecoder.html]

View File

@ -10,9 +10,10 @@ support-files =
[test_audio_capture_error.html]
[test_call_start_from_end_handler.html]
[test_nested_eventloop.html]
skip-if = toolkit == 'android'
skip-if = buildapp == 'b2g' || toolkit == 'android' # b2g(showmodaldialog) b2g-debug(showmodaldialog) b2g-desktop(showmodaldialog)
[test_preference_enable.html]
[test_recognition_service_error.html]
skip-if = buildapp == 'b2g' # b2g(timed out) b2g-debug(timed out) b2g-desktop(timed out)
[test_success_without_recognition_service.html]
[test_timeout.html]
skip-if = os == "win"

View File

@ -1,4 +1,4 @@
[DEFAULT]
[test_ipc.html]
skip-if = toolkit == 'android' #bug 857673
skip-if = buildapp == 'b2g' || toolkit == 'android' #bug 857673 # b2g(comp.classes['@mozilla.org/special-powers-observer;1'] is undefined) b2g-debug(comp.classes['@mozilla.org/special-powers-observer;1'] is undefined) b2g-desktop(comp.classes['@mozilla.org/special-powers-observer;1'] is undefined)

View File

@ -3,4 +3,6 @@ support-files = common.js
[test_setup.html]
[test_speech_queue.html]
skip-if = buildapp == 'b2g' # b2g(Test timed out) b2g-debug(Test timed out) b2g-desktop(Test timed out)
[test_speech_simple.html]
skip-if = buildapp == 'b2g' # b2g(Test timed out) b2g-debug(Test timed out) b2g-desktop(Test timed out)

View File

@ -82,6 +82,7 @@ skip-if = true
[test_text_lengthAdjust.html]
[test_text_scaled.html]
[test_text_selection.html]
skip-if = buildapp == 'b2g' # b2g(Mouse selection not workin on b2g) b2g-debug(Mouse selection not workin on b2g) b2g-desktop(Mouse selection not workin on b2g)
[test_text_update.html]
[test_transform.xhtml]
[test_transformParsing.html]

View File

@ -8,7 +8,9 @@ support-files =
[test_bug343870.xhtml]
[test_bug355213.xhtml]
[test_bug392338.html]
skip-if = buildapp == 'b2g'
[test_bug399502.xhtml]
[test_bug445330.html]
[test_bug691215.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_viewport.xhtml]

View File

@ -2643,8 +2643,7 @@ nsXULPrototypeScript::Compile(const char16_t* aText,
// Ok, compile it to create a prototype script object!
NS_ENSURE_TRUE(JSVersion(mLangVersion) != JSVERSION_UNKNOWN, NS_OK);
JS::CompileOptions options(cx);
options.setPrincipals(nsJSPrincipals::get(aDocument->NodePrincipal()))
.setFileAndLine(urlspec.get(), aLineNo)
options.setFileAndLine(urlspec.get(), aLineNo)
.setVersion(JSVersion(mLangVersion));
// If the script was inline, tell the JS parser to save source for
// Function.prototype.toSource(). If it's out of line, we retrieve the

View File

@ -9,8 +9,12 @@ support-files =
[test_child_navigation_by_location.html]
[test_other_auxiliary_navigation_by_location.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #bug 948948, NS_ERROR_FAILURE from nsWindowWatcher::GetPrompt
[test_our_auxiliary_navigation_by_location.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #bug 948948, NS_ERROR_FAILURE from nsWindowWatcher::GetPrompt
[test_parent_navigation_by_location.html]
[test_sibling_navigation_by_location.html]
[test_top_navigation_by_location_exotic.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #bug 948948, NS_ERROR_FAILURE from nsWindowWatcher::GetPrompt
[test_top_navigation_by_location.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #bug 948948, NS_ERROR_FAILURE from nsWindowWatcher::GetPrompt

View File

@ -37,51 +37,65 @@ support-files =
[test_anchor_scroll_after_document_open.html]
[test_bfcache_plus_hash.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug123696.html]
[test_bug369814.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug384014.html]
[test_bug385434.html]
[test_bug387979.html]
[test_bug402210.html]
[test_bug404548.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug413310.html]
skip-if = true || toolkit == 'android' || buildapp == 'b2g'
# Disabled for too many intermittent failures (bug 719186)
skip-if = true || toolkit == 'android'
[test_bug475636.html]
[test_bug509055.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug511449.html]
skip-if = toolkit != "cocoa"
support-files = file_bug511449.html
[test_bug529119-1.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug529119-2.html]
skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(debug-only failure) b2g-desktop(Bug 931116, b2g desktop specific, initial triage)
[test_bug540462.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug551225.html]
[test_bug570341.html]
skip-if = (toolkit == 'gonk' && debug) #debug-only failure
[test_bug580069.html]
[test_bug590573.html]
skip-if = toolkit == 'android' #bug 823022
skip-if = buildapp == 'b2g' || toolkit == 'android' #bug 823022 # b2g(queryinterfaces into webnavigation, might suffer from something similar as bug 823022) b2g-debug(queryinterfaces into webnavigation, might suffer from something similar as bug 823022) b2g-desktop(queryinterfaces into webnavigation, might suffer from something similar as bug 823022)
[test_bug598895.html]
skip-if = toolkit == 'android'
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') || toolkit == 'android' #Bug 931116, b2g desktop specific, initial triage
[test_bug634834.html]
[test_bug637644.html]
skip-if = toolkit == 'android'
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') || toolkit == 'android' #Bug 931116, b2g desktop specific, initial triage
[test_bug640387_1.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug640387_2.html]
[test_bug653741.html]
[test_bug660404.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug662170.html]
[test_bug668513.html]
skip-if = toolkit == 'android' #RANDOM
[test_bug669671.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug675587.html]
[test_bug680257.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug691547.html]
[test_bug694612.html]
[test_bug703855.html]
[test_bug713825.html]
[test_bug728939.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
[test_bug797909.html]
[test_framedhistoryframes.html]
skip-if = toolkit == 'android' #bug 784321
[test_pushState_after_document_open.html]
[test_windowedhistoryframes.html]
skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage

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