mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Merge m-c to inbound
This commit is contained in:
commit
7fa368925b
@ -1,4 +1,4 @@
|
||||
{
|
||||
"revision": "723401621af1bfabb671ec53ac7cafd62b700cb9",
|
||||
"revision": "175b7a89aa5f39aa2b2263029ab086ac1833a636",
|
||||
"repo_path": "/integration/gaia-central"
|
||||
}
|
||||
|
@ -675,8 +675,6 @@ pref("plugins.update.notifyUser", false);
|
||||
|
||||
pref("plugins.click_to_play", true);
|
||||
|
||||
pref("plugins.clickToActivateInfo.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/clicktoplay");
|
||||
|
||||
// let all plugins except Flash default to click-to-play
|
||||
pref("plugin.default.state", 1);
|
||||
pref("plugin.state.flash", 2);
|
||||
|
@ -705,7 +705,7 @@ var gPluginHandler = {
|
||||
url = Services.blocklist.getPluginBlocklistURL(pluginInfo.pluginTag);
|
||||
}
|
||||
else {
|
||||
url = Services.urlFormatter.formatURLPref("plugins.clickToActivateInfo.url");
|
||||
url = Services.urlFormatter.formatURLPref("app.support.baseURL") + "clicktoplay";
|
||||
}
|
||||
pluginInfo.detailsLink = url;
|
||||
|
||||
|
@ -26,6 +26,33 @@ const LAYOUT_CHANGE_TIMER = 250;
|
||||
* The inspector controls the highlighter, the breadcrumbs,
|
||||
* the markup view, and the sidebar (computed view, rule view
|
||||
* and layout view).
|
||||
*
|
||||
* Events:
|
||||
* - ready
|
||||
* Fired when the inspector panel is opened for the first time and ready to
|
||||
* use
|
||||
* - new-root
|
||||
* Fired after a new root (navigation to a new page) event was fired by
|
||||
* the walker, and taken into account by the inspector (after the markup
|
||||
* view has been reloaded)
|
||||
* - markuploaded
|
||||
* Fired when the markup-view frame has loaded
|
||||
* - layout-change
|
||||
* Fired when the layout of the inspector changes
|
||||
* - breadcrumbs-updated
|
||||
* Fired when the breadcrumb widget updates to a new node
|
||||
* - layoutview-updated
|
||||
* Fired when the layoutview (box model) updates to a new node
|
||||
* - markupmutation
|
||||
* Fired after markup mutations have been processed by the markup-view
|
||||
* - computed-view-refreshed
|
||||
* Fired when the computed rules view updates to a new node
|
||||
* - computed-view-property-expanded
|
||||
* Fired when a property is expanded in the computed rules view
|
||||
* - computed-view-property-collapsed
|
||||
* Fired when a property is collapsed in the computed rules view
|
||||
* - rule-view-refreshed
|
||||
* Fired when the rule view updates to a new node
|
||||
*/
|
||||
function InspectorPanel(iframeWindow, toolbox) {
|
||||
this._toolbox = toolbox;
|
||||
@ -320,6 +347,7 @@ InspectorPanel.prototype = {
|
||||
this.once("markuploaded", () => {
|
||||
this.markup.expandNode(this.selection.nodeFront);
|
||||
this.setupSearchBox();
|
||||
this.emit("new-root");
|
||||
});
|
||||
});
|
||||
},
|
||||
|
@ -10,19 +10,29 @@ function test() {
|
||||
const URL_1 = "data:text/html;charset=UTF-8,<div id='one' style='color:red;'>ONE</div>";
|
||||
const URL_2 = "data:text/html;charset=UTF-8,<div id='two' style='color:green;'>TWO</div>";
|
||||
|
||||
let inspector;
|
||||
let toolbox, inspector;
|
||||
|
||||
// open tab, load URL_1, and wait for load to finish
|
||||
let tab = gBrowser.selectedTab = gBrowser.addTab();
|
||||
let target = TargetFactory.forTab(gBrowser.selectedTab);
|
||||
let deferred = promise.defer();
|
||||
let browser = gBrowser.getBrowserForTab(tab);
|
||||
|
||||
function onPageOneLoad() {
|
||||
browser.removeEventListener("load", onPageOneLoad, true);
|
||||
function onTabLoad() {
|
||||
browser.removeEventListener("load", onTabLoad, true);
|
||||
deferred.resolve(null);
|
||||
}
|
||||
browser.addEventListener("load", onTabLoad, true);
|
||||
browser.loadURI(URL_1);
|
||||
|
||||
gDevTools.showToolbox(target).then(aToolbox => {
|
||||
return aToolbox.selectTool("inspector");
|
||||
}).then(i => {
|
||||
// open devtools panel
|
||||
deferred.promise.then(() => {
|
||||
return gDevTools.showToolbox(target, null, Toolbox.HostType.BOTTOM);
|
||||
}).then(aToolbox => {
|
||||
toolbox = aToolbox;
|
||||
}).then(() => {
|
||||
// select the inspector
|
||||
return toolbox.selectTool("inspector").then(i => {
|
||||
inspector = i;
|
||||
|
||||
// Verify we are on page one
|
||||
@ -30,32 +40,41 @@ function test() {
|
||||
ok(testNode, "We have the test node on page 1");
|
||||
|
||||
assertMarkupViewIsLoaded();
|
||||
});
|
||||
}).then(() => {
|
||||
// navigate to URL_2
|
||||
let deferred = promise.defer();
|
||||
|
||||
// Listen to will-navigate to check if the view is empty
|
||||
target.on("will-navigate", () => {
|
||||
info("Navigation to page 2 has started, the inspector should be empty");
|
||||
assertMarkupViewIsEmpty();
|
||||
// Listen to will-navigate to check if the view is empty
|
||||
target.on("will-navigate", () => {
|
||||
info("Navigation to page 2 has started, the inspector should be empty");
|
||||
assertMarkupViewIsEmpty();
|
||||
});
|
||||
inspector.once("new-root", () => {
|
||||
info("Navigation to page 2 was done, the inspector should be back up");
|
||||
|
||||
// Verify we are on page one
|
||||
let testNode = content.document.querySelector("#two");
|
||||
ok(testNode, "We have the test node on page 2");
|
||||
|
||||
// On page 2 load, verify we have the right content
|
||||
assertMarkupViewIsLoaded();
|
||||
|
||||
inspector.selection.setNode(content.document.querySelector("#two"));
|
||||
inspector.once("inspector-updated", () => {
|
||||
deferred.resolve();
|
||||
});
|
||||
inspector.once("markuploaded", () => {
|
||||
info("Navigation to page 2 was done, the inspector should be back up");
|
||||
});
|
||||
|
||||
// Verify we are on page one
|
||||
let testNode = content.document.querySelector("#two");
|
||||
ok(testNode, "We have the test node on page 2");
|
||||
|
||||
// On page 2 load, verify we have the right content
|
||||
assertMarkupViewIsLoaded();
|
||||
endTests();
|
||||
});
|
||||
|
||||
// Navigate to page 2
|
||||
inspector.selection.setNode(content.document.querySelector("#one"));
|
||||
inspector.once("inspector-updated", () => {
|
||||
browser.loadURI(URL_2);
|
||||
});
|
||||
}
|
||||
|
||||
// Navigate to page 1
|
||||
browser.addEventListener("load", onPageOneLoad, true);
|
||||
browser.loadURI(URL_1);
|
||||
return deferred.promise;
|
||||
}).then(() => {
|
||||
endTests();
|
||||
});
|
||||
|
||||
function assertMarkupViewIsLoaded() {
|
||||
let markupViewBox = inspector.panelDoc.getElementById("markup-box");
|
||||
|
@ -194,8 +194,14 @@
|
||||
<handler event="click" phase="capturing">
|
||||
<![CDATA[
|
||||
if (event.mozInputSource == Ci.nsIDOMMouseEvent.MOZ_SOURCE_TOUCH) {
|
||||
SelectionHelperUI.attachEditSession(ChromeSelectionHandler,
|
||||
event.clientX, event.clientY);
|
||||
if (typeof SelectionHelperUI != 'undefined') {
|
||||
SelectionHelperUI.attachEditSession(ChromeSelectionHandler,
|
||||
event.clientX, event.clientY);
|
||||
} else {
|
||||
// If we don't have access to SelectionHelperUI then we are using this
|
||||
// binding for browser content (e.g. about:config)
|
||||
Services.obs.notifyObservers(event, "attach_edit_session_to_content", "");
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</handler>
|
||||
@ -287,8 +293,14 @@
|
||||
<handler event="click" phase="capturing">
|
||||
<![CDATA[
|
||||
if (event.mozInputSource == Ci.nsIDOMMouseEvent.MOZ_SOURCE_TOUCH) {
|
||||
SelectionHelperUI.attachEditSession(ChromeSelectionHandler,
|
||||
event.clientX, event.clientY);
|
||||
if (typeof SelectionHelperUI != 'undefined') {
|
||||
SelectionHelperUI.attachEditSession(ChromeSelectionHandler,
|
||||
event.clientX, event.clientY);
|
||||
} else {
|
||||
// If we don't have access to SelectionHelperUI then we are using this
|
||||
// binding for browser content (e.g. about:config)
|
||||
Services.obs.notifyObservers(event, "attach_edit_session_to_content", "");
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</handler>
|
||||
|
@ -112,6 +112,7 @@ var BrowserUI = {
|
||||
NewTabUtils.init();
|
||||
SettingsCharm.init();
|
||||
NavButtonSlider.init();
|
||||
SelectionHelperUI.init();
|
||||
|
||||
// We can delay some initialization until after startup. We wait until
|
||||
// the first page is shown, then dispatch a UIReadyDelayed event.
|
||||
|
@ -7,6 +7,11 @@ let Ci = Components.interfaces;
|
||||
Components.utils.import("resource://gre/modules/Services.jsm");
|
||||
|
||||
var ViewConfig = {
|
||||
get _main() {
|
||||
delete this._main;
|
||||
return this._main = document.getElementById("main-container");
|
||||
},
|
||||
|
||||
get _container() {
|
||||
delete this._container;
|
||||
return this._container = document.getElementById("prefs-container");
|
||||
@ -18,6 +23,7 @@ var ViewConfig = {
|
||||
},
|
||||
|
||||
init: function init() {
|
||||
this._main.addEventListener("click", this, false);
|
||||
window.addEventListener("resize", this, false);
|
||||
window.addEventListener("prefchange", this, false);
|
||||
window.addEventListener("prefnew", this, false);
|
||||
@ -29,6 +35,7 @@ var ViewConfig = {
|
||||
},
|
||||
|
||||
uninit: function uninit() {
|
||||
this._main.removeEventListener("click", this, false);
|
||||
window.removeEventListener("resize", this, false);
|
||||
window.removeEventListener("prefchange", this, false);
|
||||
window.removeEventListener("prefnew", this, false);
|
||||
@ -168,6 +175,10 @@ var ViewConfig = {
|
||||
case "prefnew":
|
||||
this._handlePrefChange(aEvent.detail, aEvent.type == "prefnew");
|
||||
break;
|
||||
|
||||
case "click":
|
||||
this._onClick();
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
@ -179,6 +190,12 @@ var ViewConfig = {
|
||||
mainBox.setAttribute("height", height);
|
||||
},
|
||||
|
||||
_onClick: function () {
|
||||
// Blur the search box when tapping anywhere else in the content
|
||||
// in order to close the soft keyboard.
|
||||
document.getElementById("textbox").blur();
|
||||
},
|
||||
|
||||
_handlePrefChange: function _handlePrefChange(aIndex, aNew) {
|
||||
let isEditing = !this._editor.hidden;
|
||||
let shouldUpdateEditor = false;
|
||||
|
@ -184,6 +184,12 @@ let Content = {
|
||||
break;
|
||||
|
||||
case "click":
|
||||
// Workaround for bug 925457: we sometimes don't recognize the
|
||||
// correct tap target or are unable to identify if it's editable.
|
||||
// Instead always save tap co-ordinates for the keyboard to look for
|
||||
// when it is up.
|
||||
SelectionHandler.onClickCoords(aEvent.clientX, aEvent.clientY);
|
||||
|
||||
if (aEvent.eventPhase == aEvent.BUBBLING_PHASE)
|
||||
this._onClickBubble(aEvent);
|
||||
else
|
||||
|
@ -8,6 +8,7 @@ var SelectionHandler = {
|
||||
init: function init() {
|
||||
this.type = kContentSelector;
|
||||
this.snap = true;
|
||||
this.lastYPos = this.lastXPos = null;
|
||||
addMessageListener("Browser:SelectionStart", this);
|
||||
addMessageListener("Browser:SelectionAttach", this);
|
||||
addMessageListener("Browser:SelectionEnd", this);
|
||||
@ -340,6 +341,11 @@ var SelectionHandler = {
|
||||
this.sendAsync("Content:SelectionHandlerPong", { id: aId });
|
||||
},
|
||||
|
||||
onClickCoords: function (xPos, yPos) {
|
||||
this.lastXPos = xPos;
|
||||
this.lastYPos = yPos;
|
||||
},
|
||||
|
||||
/*************************************************
|
||||
* Selection helpers
|
||||
*/
|
||||
@ -412,9 +418,12 @@ var SelectionHandler = {
|
||||
*/
|
||||
_calcNewContentPosition: function _calcNewContentPosition(aNewViewHeight) {
|
||||
// We have no target element but the keyboard is up
|
||||
// so lets not cover content
|
||||
// so lets not cover content that is below the keyboard
|
||||
if (!this._cache || !this._cache.element) {
|
||||
return Services.metro.keyboardHeight;
|
||||
if (this.lastYPos != null && this.lastYPos > aNewViewHeight) {
|
||||
return Services.metro.keyboardHeight;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
let position = Util.centerElementInView(aNewViewHeight, this._cache.element);
|
||||
@ -523,7 +532,12 @@ var SelectionHandler = {
|
||||
break;
|
||||
|
||||
case "Browser:RepositionInfoRequest":
|
||||
this._repositionInfoRequest(json);
|
||||
// This message is sent simultaneously with a tap event.
|
||||
// Wait a bit to make sure we have the most up-to-date tap co-ordinates
|
||||
// before a call to _calcNewContentPosition() which accesses them.
|
||||
content.setTimeout (function () {
|
||||
SelectionHandler._repositionInfoRequest(json);
|
||||
}, 50);
|
||||
break;
|
||||
|
||||
case "Browser:SelectionHandlerPing":
|
||||
|
@ -344,6 +344,21 @@ var SelectionHelperUI = {
|
||||
return false;
|
||||
},
|
||||
|
||||
|
||||
/*
|
||||
* Observers
|
||||
*/
|
||||
|
||||
observe: function (aSubject, aTopic, aData) {
|
||||
switch (aTopic) {
|
||||
case "attach_edit_session_to_content":
|
||||
let event = aSubject;
|
||||
SelectionHelperUI.attachEditSession(Browser.selectedTab.browser,
|
||||
event.clientX, event.clientY);
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* Public apis
|
||||
*/
|
||||
@ -495,6 +510,10 @@ var SelectionHelperUI = {
|
||||
* Init and shutdown
|
||||
*/
|
||||
|
||||
init: function () {
|
||||
Services.obs.addObserver(this, "attach_edit_session_to_content", false);
|
||||
},
|
||||
|
||||
_init: function _init(aMsgTarget) {
|
||||
// store the target message manager
|
||||
this._msgTarget = aMsgTarget;
|
||||
|
@ -30,9 +30,11 @@ libs::
|
||||
# Bookmarks
|
||||
|
||||
# Pick up desktop's bookmarks.inc file
|
||||
ifdef LOCALE_MERGEDIR
|
||||
vpath book%.inc $(LOCALE_MERGEDIR)/browser/profile
|
||||
endif
|
||||
vpath book%.inc $(LOCALE_SRCDIR)/profile
|
||||
ifdef LOCALE_MERGEDIR
|
||||
vpath book%.inc $(LOCALE_SRCDIR)/profile
|
||||
vpath book%.inc @top_srcdir@/$(relativesrcdir)/en-US/profile
|
||||
endif
|
||||
|
||||
|
11
configure.in
11
configure.in
@ -222,7 +222,6 @@ if test -n "$gonkdir" ; then
|
||||
15)
|
||||
GONK_INCLUDES="-I$gonkdir/frameworks/base/opengl/include -I$gonkdir/frameworks/base/native/include -I$gonkdir/frameworks/base/include -I$gonkdir/frameworks/base/services/camera -I$gonkdir/frameworks/base/include/media/stagefright -I$gonkdir/frameworks/base/include/media/stagefright/openmax -I$gonkdir/frameworks/base/media/libstagefright/rtsp -I$gonkdir/frameworks/base/media/libstagefright/include -I$gonkdir/external/dbus -I$gonkdir/external/bluetooth/bluez/lib -I$gonkdir/dalvik/libnativehelper/include/nativehelper"
|
||||
MOZ_B2G_BT=1
|
||||
MOZ_B2G_BT_BLUEZ=1
|
||||
MOZ_B2G_CAMERA=1
|
||||
MOZ_OMX_DECODER=1
|
||||
AC_SUBST(MOZ_OMX_DECODER)
|
||||
@ -231,15 +230,9 @@ if test -n "$gonkdir" ; then
|
||||
17|18)
|
||||
GONK_INCLUDES="-I$gonkdir/frameworks/native/include -I$gonkdir/frameworks/av/include -I$gonkdir/frameworks/av/include/media -I$gonkdir/frameworks/av/include/camera -I$gonkdir/frameworks/native/include/media/openmax -I$gonkdir/frameworks/av/media/libstagefright/include"
|
||||
if test -d "$gonkdir/external/bluetooth/bluez"; then
|
||||
GONK_INCLUDES="$GONK_INCLUDES -I$gonkdir/external/dbus -I$gonkdir/external/bluetooth/bluez/lib"
|
||||
GONK_INCLUDES+=" -I$gonkdir/external/dbus -I$gonkdir/external/bluetooth/bluez/lib"
|
||||
MOZ_B2G_BT=1
|
||||
MOZ_B2G_BT_BLUEZ=1
|
||||
fi
|
||||
if test -d "$gonkdir/external/bluetooth/bluedroid"; then
|
||||
MOZ_B2G_BT=1
|
||||
MOZ_B2G_BT_BLUEDROID=1
|
||||
fi
|
||||
|
||||
MOZ_B2G_CAMERA=1
|
||||
MOZ_OMX_DECODER=1
|
||||
AC_SUBST(MOZ_OMX_DECODER)
|
||||
@ -7295,8 +7288,6 @@ if test -n "$MOZ_B2G_BT"; then
|
||||
AC_DEFINE(MOZ_B2G_BT)
|
||||
fi
|
||||
AC_SUBST(MOZ_B2G_BT)
|
||||
AC_SUBST(MOZ_B2G_BT_BLUEZ)
|
||||
AC_SUBST(MOZ_B2G_BT_BLUEDROID)
|
||||
|
||||
dnl ========================================================
|
||||
dnl = Enable Pico Speech Synthesis (Gonk usually)
|
||||
|
@ -44,9 +44,7 @@
|
||||
|
||||
#if defined(MOZ_B2G_BT)
|
||||
# if defined(MOZ_BLUETOOTH_GONK)
|
||||
#ifndef MOZ_B2G_BT_BLUEDROID
|
||||
#include "BluetoothGonkService.h"
|
||||
#endif
|
||||
# include "BluetoothGonkService.h"
|
||||
# elif defined(MOZ_BLUETOOTH_DBUS)
|
||||
# include "BluetoothDBusService.h"
|
||||
# else
|
||||
@ -306,13 +304,9 @@ BluetoothService::Create()
|
||||
#endif
|
||||
|
||||
#if defined(MOZ_BLUETOOTH_GONK)
|
||||
#ifndef MOZ_B2G_BT_BLUEDROID
|
||||
return new BluetoothGonkService();
|
||||
#endif
|
||||
#elif defined(MOZ_BLUETOOTH_DBUS)
|
||||
#ifdef MOZ_B2G_BT_BLUEZ
|
||||
return new BluetoothDBusService();
|
||||
#endif
|
||||
#endif
|
||||
BT_WARNING("No platform support for bluetooth!");
|
||||
return nullptr;
|
||||
|
@ -27,12 +27,11 @@
|
||||
#include <errno.h>
|
||||
|
||||
#include <sys/socket.h>
|
||||
#ifdef MOZ_B2G_BT_BLUEZ
|
||||
#include <bluetooth/bluetooth.h>
|
||||
#include <bluetooth/l2cap.h>
|
||||
#include <bluetooth/rfcomm.h>
|
||||
#include <bluetooth/sco.h>
|
||||
#endif
|
||||
|
||||
#include "BluetoothUnixSocketConnector.h"
|
||||
#include "nsThreadUtils.h"
|
||||
|
||||
@ -44,7 +43,6 @@ static const int L2CAP_SO_SNDBUF = 400 * 1024; // 400 KB send buffer
|
||||
static const int L2CAP_SO_RCVBUF = 400 * 1024; // 400 KB receive buffer
|
||||
static const int L2CAP_MAX_MTU = 65000;
|
||||
|
||||
#ifdef MOZ_B2G_BT_BLUEZ
|
||||
static
|
||||
int get_bdaddr(const char *str, bdaddr_t *ba)
|
||||
{
|
||||
@ -64,8 +62,6 @@ void get_bdaddr_as_string(const bdaddr_t *ba, char *str) {
|
||||
b[5], b[4], b[3], b[2], b[1], b[0]);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
BluetoothUnixSocketConnector::BluetoothUnixSocketConnector(
|
||||
BluetoothSocketType aType,
|
||||
int aChannel,
|
||||
@ -80,7 +76,6 @@ BluetoothUnixSocketConnector::BluetoothUnixSocketConnector(
|
||||
bool
|
||||
BluetoothUnixSocketConnector::SetUp(int aFd)
|
||||
{
|
||||
#ifdef MOZ_B2G_BT_BLUEZ
|
||||
int lm = 0;
|
||||
int sndbuf, rcvbuf;
|
||||
|
||||
@ -162,7 +157,7 @@ BluetoothUnixSocketConnector::SetUp(int aFd)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -172,7 +167,6 @@ BluetoothUnixSocketConnector::Create()
|
||||
MOZ_ASSERT(!NS_IsMainThread());
|
||||
int fd = -1;
|
||||
|
||||
#ifdef MOZ_B2G_BT_BLUEZ
|
||||
switch (mType) {
|
||||
case BluetoothSocketType::RFCOMM:
|
||||
fd = socket(PF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM);
|
||||
@ -199,7 +193,7 @@ BluetoothUnixSocketConnector::Create()
|
||||
BT_WARNING("Could not set up socket!");
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
return fd;
|
||||
}
|
||||
|
||||
@ -209,7 +203,6 @@ BluetoothUnixSocketConnector::CreateAddr(bool aIsServer,
|
||||
sockaddr_any& aAddr,
|
||||
const char* aAddress)
|
||||
{
|
||||
#ifdef MOZ_B2G_BT_BLUEZ
|
||||
// Set to BDADDR_ANY, if it's not a server, we'll reset.
|
||||
bdaddr_t bd_address_obj = {{0, 0, 0, 0, 0, 0}};
|
||||
|
||||
@ -249,7 +242,6 @@ BluetoothUnixSocketConnector::CreateAddr(bool aIsServer,
|
||||
BT_WARNING("Socket type unknown!");
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -257,7 +249,6 @@ void
|
||||
BluetoothUnixSocketConnector::GetSocketAddr(const sockaddr_any& aAddr,
|
||||
nsAString& aAddrStr)
|
||||
{
|
||||
#ifdef MOZ_B2G_BT_BLUEZ
|
||||
char addr[18];
|
||||
switch (mType) {
|
||||
case BluetoothSocketType::RFCOMM:
|
||||
@ -274,5 +265,4 @@ BluetoothUnixSocketConnector::GetSocketAddr(const sockaddr_any& aAddr,
|
||||
MOZ_CRASH("Socket should be either RFCOMM or SCO!");
|
||||
}
|
||||
aAddrStr.AssignASCII(addr);
|
||||
#endif
|
||||
}
|
||||
|
@ -36,14 +36,6 @@ DEFINES += -DMOZ_BLUETOOTH_DBUS
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef MOZ_B2G_BT_BLUEZ
|
||||
DEFINES += -DMOZ_B2G_BT_BLUEZ
|
||||
endif
|
||||
|
||||
ifdef MOZ_B2G_BT_BLUEDROID
|
||||
DEFINES += -DMOZ_B2G_BT_BLUEDROID
|
||||
endif
|
||||
|
||||
# Add VPATH to LOCAL_INCLUDES so we are going to include the correct backend
|
||||
# subdirectory.
|
||||
LOCAL_INCLUDES += $(VPATH:%=-I%)
|
||||
|
@ -24,9 +24,6 @@ BEGIN_BLUETOOTH_NAMESPACE
|
||||
class BluetoothDBusService : public BluetoothService
|
||||
{
|
||||
public:
|
||||
BluetoothDBusService();
|
||||
~BluetoothDBusService();
|
||||
|
||||
bool IsReady();
|
||||
|
||||
virtual nsresult StartInternal() MOZ_OVERRIDE;
|
||||
@ -171,6 +168,11 @@ public:
|
||||
virtual nsresult
|
||||
SendInputMessage(const nsAString& aDeviceAddresses,
|
||||
const nsAString& aMessage) MOZ_OVERRIDE;
|
||||
|
||||
protected:
|
||||
BluetoothDBusService();
|
||||
~BluetoothDBusService();
|
||||
|
||||
private:
|
||||
/**
|
||||
* For DBus Control method of "UpdateNotification", event id should be
|
||||
|
@ -52,7 +52,7 @@ if CONFIG['MOZ_B2G_BT']:
|
||||
'BluetoothRilListener.cpp',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['MOZ_B2G_BT_BLUEZ']:
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
|
||||
CPP_SOURCES += [
|
||||
'linux/BluetoothDBusService.cpp',
|
||||
'gonk/BluetoothGonkService.cpp',
|
||||
|
@ -316,11 +316,37 @@ AutoMounterResponseCallback::ResponseReceived(const VolumeCommand* aCommand)
|
||||
}
|
||||
}
|
||||
|
||||
class AutoBool {
|
||||
public:
|
||||
explicit AutoBool(bool &aBool) : mBool(aBool) {
|
||||
mBool = true;
|
||||
}
|
||||
|
||||
~AutoBool() {
|
||||
mBool = false;
|
||||
}
|
||||
|
||||
private:
|
||||
bool &mBool;
|
||||
};
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
void
|
||||
AutoMounter::UpdateState()
|
||||
{
|
||||
static bool inUpdateState = false;
|
||||
if (inUpdateState) {
|
||||
// When UpdateState calls SetISharing, this causes a volume state
|
||||
// change to occur, which would normally cause UpdateState to be called
|
||||
// again. We want the volume state change to go out (so that device
|
||||
// storage will see the change in sharing state), but since we're
|
||||
// already in UpdateState we just want to prevent recursion from screwing
|
||||
// things up.
|
||||
return;
|
||||
}
|
||||
AutoBool inUpdateStateDetector(inUpdateState);
|
||||
|
||||
MOZ_ASSERT(MessageLoop::current() == XRE_GetIOMessageLoop());
|
||||
|
||||
// If the following preconditions are met:
|
||||
@ -379,6 +405,7 @@ AutoMounter::UpdateState()
|
||||
umsAvail, umsEnabled, mMode, usbCablePluggedIn, tryToShare);
|
||||
|
||||
bool filesOpen = false;
|
||||
static unsigned filesOpenDelayCount = 0;
|
||||
VolumeArray::index_type volIndex;
|
||||
VolumeArray::size_type numVolumes = VolumeManager::NumVolumes();
|
||||
for (volIndex = 0; volIndex < numVolumes; volIndex++) {
|
||||
@ -413,6 +440,12 @@ AutoMounter::UpdateState()
|
||||
break;
|
||||
}
|
||||
|
||||
// Mark the volume as if we've started sharing. This will cause
|
||||
// apps which watch device storage notifications to see the volume
|
||||
// go into the shared state, and prompt them to close any open files
|
||||
// that they might have.
|
||||
vol->SetIsSharing(true);
|
||||
|
||||
// Check to see if there are any open files on the volume and
|
||||
// don't initiate the unmount while there are open files.
|
||||
OpenFileFinder::Info fileInfo;
|
||||
@ -431,15 +464,26 @@ AutoMounter::UpdateState()
|
||||
LOGW("UpdateState: Mounted volume %s has open files, not sharing",
|
||||
vol->NameStr());
|
||||
|
||||
// Check again in 5 seconds to see if the files are closed. Since
|
||||
// we're trying to share the volume, this implies that we're
|
||||
// Check again in a few seconds to see if the files are closed.
|
||||
// Since we're trying to share the volume, this implies that we're
|
||||
// plugged into the PC via USB and this in turn implies that the
|
||||
// battery is charging, so we don't need to be too concerned about
|
||||
// wasting battery here.
|
||||
//
|
||||
// If we just detected that there were files open, then we use
|
||||
// a short timer. We will have told the apps that we're trying
|
||||
// trying to share, and they'll be closing their files. This makes
|
||||
// the sharing more responsive. If after a few seconds, the apps
|
||||
// haven't closed their files, then we back off.
|
||||
|
||||
int delay = 1000;
|
||||
if (filesOpenDelayCount > 10) {
|
||||
delay = 5000;
|
||||
}
|
||||
MessageLoopForIO::current()->
|
||||
PostDelayedTask(FROM_HERE,
|
||||
NewRunnableMethod(this, &AutoMounter::UpdateState),
|
||||
5000);
|
||||
delay);
|
||||
filesOpen = true;
|
||||
break;
|
||||
}
|
||||
@ -447,7 +491,6 @@ AutoMounter::UpdateState()
|
||||
// Volume is mounted, we need to unmount before
|
||||
// we can share.
|
||||
LOG("UpdateState: Unmounting %s", vol->NameStr());
|
||||
vol->SetIsSharing(true);
|
||||
vol->StartUnmount(mResponseCallback);
|
||||
return; // UpdateState will be called again when the Unmount command completes
|
||||
}
|
||||
@ -488,8 +531,10 @@ AutoMounter::UpdateState()
|
||||
|
||||
int32_t status = AUTOMOUNTER_STATUS_DISABLED;
|
||||
if (filesOpen) {
|
||||
filesOpenDelayCount++;
|
||||
status = AUTOMOUNTER_STATUS_FILES_OPEN;
|
||||
} else if (enabled) {
|
||||
filesOpenDelayCount = 0;
|
||||
status = AUTOMOUNTER_STATUS_ENABLED;
|
||||
}
|
||||
SetAutoMounterStatus(status);
|
||||
|
@ -68,7 +68,15 @@ Volume::Volume(const nsCSubstring& aName)
|
||||
void
|
||||
Volume::SetIsSharing(bool aIsSharing)
|
||||
{
|
||||
if (aIsSharing == mIsSharing) {
|
||||
return;
|
||||
}
|
||||
mIsSharing = aIsSharing;
|
||||
LOG("Volume %s: IsSharing set to %d state %s",
|
||||
NameStr(), (int)mIsSharing, StateStr(mState));
|
||||
if (mIsSharing) {
|
||||
mEventObserverList.Broadcast(this);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -95,6 +95,12 @@ bool nsVolume::Equals(nsIVolume* aVolume)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool isSharing;
|
||||
aVolume->GetIsSharing(&isSharing);
|
||||
if (mIsSharing != isSharing) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -71,6 +71,10 @@ public:
|
||||
int32_t State() const { return mState; }
|
||||
const char* StateStr() const { return NS_VolumeStateStr(mState); }
|
||||
|
||||
bool IsFake() const { return mIsFake; }
|
||||
bool IsMediaPresent() const { return mIsMediaPresent; }
|
||||
bool IsSharing() const { return mIsSharing; }
|
||||
|
||||
typedef nsTArray<nsRefPtr<nsVolume> > Array;
|
||||
|
||||
private:
|
||||
@ -80,9 +84,6 @@ private:
|
||||
void UpdateMountLock(const nsAString& aMountLockState);
|
||||
void UpdateMountLock(bool aMountLocked);
|
||||
|
||||
bool IsFake() const { return mIsFake; }
|
||||
bool IsMediaPresent() const { return mIsMediaPresent; }
|
||||
bool IsSharing() const { return mIsSharing; }
|
||||
void SetIsFake(bool aIsFake);
|
||||
void SetState(int32_t aState);
|
||||
|
||||
|
@ -454,7 +454,7 @@ nsVolumeService::UpdateVolumeIOThread(const Volume* aVolume)
|
||||
"media %d sharing %d",
|
||||
aVolume->NameStr(), aVolume->StateStr(), aVolume->MountPoint().get(),
|
||||
aVolume->MountGeneration(), (int)aVolume->IsMountLocked(),
|
||||
(int)aVolume->IsMediaPresent(), (int)aVolume->IsSharing());
|
||||
(int)aVolume->MediaPresent(), (int)aVolume->IsSharing());
|
||||
MOZ_ASSERT(MessageLoop::current() == XRE_GetIOMessageLoop());
|
||||
NS_DispatchToMainThread(new UpdateVolumeRunnable(this, aVolume));
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ DIRS += [
|
||||
if CONFIG['MOZ_B2G_RIL']:
|
||||
DIRS += ['ril']
|
||||
|
||||
if CONFIG['MOZ_B2G_BT_BLUEZ']:
|
||||
if CONFIG['MOZ_B2G_BT']:
|
||||
DIRS += ['dbus']
|
||||
|
||||
if CONFIG['MOZ_B2G_RIL'] or CONFIG['MOZ_B2G_BT']:
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/un.h>
|
||||
#include <netinet/in.h>
|
||||
#ifdef MOZ_B2G_BT_BLUEZ
|
||||
#ifdef MOZ_B2G_BT
|
||||
#include <bluetooth/bluetooth.h>
|
||||
#include <bluetooth/sco.h>
|
||||
#include <bluetooth/l2cap.h>
|
||||
@ -31,7 +31,7 @@ union sockaddr_any {
|
||||
sockaddr_un un;
|
||||
sockaddr_in in;
|
||||
sockaddr_in6 in6;
|
||||
#ifdef MOZ_B2G_BT_BLUEZ
|
||||
#ifdef MOZ_B2G_BT
|
||||
sockaddr_sco sco;
|
||||
sockaddr_rc rc;
|
||||
sockaddr_l2 l2;
|
||||
|
@ -34,6 +34,7 @@ HelperAppLauncherDialog.prototype = {
|
||||
// Add a fake intent for save to disk at the top of the list
|
||||
apps.unshift({
|
||||
name: bundle.GetStringFromName("helperapps.saveToDisk"),
|
||||
packageName: "org.mozilla.gecko.Download",
|
||||
iconUri: "drawable://icon",
|
||||
launch: function() {
|
||||
// Reset the preferredAction here
|
||||
@ -43,23 +44,82 @@ HelperAppLauncherDialog.prototype = {
|
||||
}
|
||||
});
|
||||
|
||||
let app = apps[0];
|
||||
if (apps.length > 1) {
|
||||
app = HelperApps.prompt(apps, {
|
||||
title: bundle.GetStringFromName("helperapps.pick")
|
||||
// See if the user already marked something as the default for this mimetype,
|
||||
// and if that app is still installed.
|
||||
let preferredApp = this._getPreferredApp(aLauncher);
|
||||
if (preferredApp) {
|
||||
let pref = apps.filter(function(app) {
|
||||
return app.packageName === preferredApp;
|
||||
});
|
||||
}
|
||||
|
||||
if (app) {
|
||||
aLauncher.MIMEInfo.preferredAction = Ci.nsIMIMEInfo.useHelperApp;
|
||||
if (!app.launch(aLauncher.source)) {
|
||||
aLauncher.cancel();
|
||||
if (pref.length > 0) {
|
||||
pref[0].launch(aLauncher.source);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
// Something weird happened. Log an error
|
||||
Services.console.logStringMessage("Unexpected selection from grid: " + app);
|
||||
}
|
||||
|
||||
let callback = function(app) {
|
||||
aLauncher.MIMEInfo.preferredAction = Ci.nsIMIMEInfo.useHelperApp;
|
||||
app.launch(aLauncher.source);
|
||||
if (!app.launch(aLauncher.source)) {
|
||||
aLauncher.cancel(Cr.NS_BINDING_ABORTED);
|
||||
}
|
||||
}
|
||||
|
||||
if (apps.length > 1) {
|
||||
HelperApps.prompt(apps, {
|
||||
title: bundle.GetStringFromName("helperapps.pick"),
|
||||
buttons: [
|
||||
bundle.GetStringFromName("helperapps.alwaysUse"),
|
||||
bundle.GetStringFromName("helperapps.useJustOnce")
|
||||
]
|
||||
}, (data) => {
|
||||
if (data.button < 0)
|
||||
return;
|
||||
|
||||
callback(apps[data.icongrid0]);
|
||||
|
||||
if (data.button == 0)
|
||||
this._setPreferredApp(aLauncher, apps[data.icongrid0]);
|
||||
});
|
||||
} else {
|
||||
callback(apps[0]);
|
||||
}
|
||||
},
|
||||
|
||||
_getPrefName: function getPrefName(mimetype) {
|
||||
return "browser.download.preferred." + mimetype.replace("\\", ".");
|
||||
},
|
||||
|
||||
_getMimeTypeFromLauncher: function getMimeTypeFromLauncher(launcher) {
|
||||
let mime = launcher.MIMEInfo.MIMEType;
|
||||
if (!mime)
|
||||
mime = ContentAreaUtils.getMIMETypeForURI(launcher.source) || "";
|
||||
return mime;
|
||||
},
|
||||
|
||||
_getPreferredApp: function getPreferredApp(launcher) {
|
||||
let mime = this._getMimeTypeFromLauncher(launcher);
|
||||
if (!mime)
|
||||
return;
|
||||
|
||||
try {
|
||||
return Services.prefs.getCharPref(this._getPrefName(mime));
|
||||
} catch(ex) {
|
||||
Services.console.logStringMessage("Error getting pref for " + mime + " " + ex);
|
||||
}
|
||||
return null;
|
||||
},
|
||||
|
||||
_setPreferredApp: function setPreferredApp(launcher, app) {
|
||||
let mime = this._getMimeTypeFromLauncher(launcher);
|
||||
if (!mime)
|
||||
return;
|
||||
|
||||
if (app)
|
||||
Services.prefs.setCharPref(this._getPrefName(mime), app.packageName);
|
||||
else
|
||||
Services.prefs.clearUserPref(this._getPrefName(mime));
|
||||
},
|
||||
|
||||
promptForSaveToFile: function hald_promptForSaveToFile(aLauncher, aContext, aDefaultFile, aSuggestedFileExt, aForcePrompt) {
|
||||
|
@ -265,6 +265,8 @@ helperapps.always=Always
|
||||
helperapps.never=Never
|
||||
helperapps.pick=Complete action using
|
||||
helperapps.saveToDisk=Download
|
||||
helperapps.alwaysUse=Always
|
||||
helperapps.useJustOnce=Just once
|
||||
|
||||
#Lightweight themes
|
||||
# LOCALIZATION NOTE (lwthemeInstallRequest.message): %S will be replaced with
|
||||
|
@ -1,2 +0,0 @@
|
||||
mobile/android/base/resources/drawable-mdpi/sync_desktop.png
|
||||
mobile/android/base/resources/drawable-mdpi/sync_mobile.png
|
@ -1 +0,0 @@
|
||||
mobile/android/base/resources/drawable/sync_pin_background.xml
|
@ -1,11 +0,0 @@
|
||||
res/layout/sync_account.xml
|
||||
res/layout/sync_list_item.xml
|
||||
res/layout/sync_redirect_to_setup.xml
|
||||
res/layout/sync_send_tab.xml
|
||||
res/layout/sync_setup.xml
|
||||
res/layout/sync_setup_failure.xml
|
||||
res/layout/sync_setup_jpake_waiting.xml
|
||||
res/layout/sync_setup_nointernet.xml
|
||||
res/layout/sync_setup_pair.xml
|
||||
res/layout/sync_setup_success.xml
|
||||
res/layout/sync_setup_webview.xml
|
@ -1 +0,0 @@
|
||||
res/values-large-v11/sync_styles.xml
|
@ -1,289 +0,0 @@
|
||||
background/announcements/Announcement.java
|
||||
background/announcements/AnnouncementPresenter.java
|
||||
background/announcements/AnnouncementsBroadcastReceiver.java
|
||||
background/announcements/AnnouncementsBroadcastService.java
|
||||
background/announcements/AnnouncementsFetchDelegate.java
|
||||
background/announcements/AnnouncementsFetcher.java
|
||||
background/announcements/AnnouncementsFetchResourceDelegate.java
|
||||
background/announcements/AnnouncementsService.java
|
||||
background/BackgroundService.java
|
||||
background/bagheera/BagheeraClient.java
|
||||
background/bagheera/BagheeraRequestDelegate.java
|
||||
background/bagheera/BoundedByteArrayEntity.java
|
||||
background/bagheera/DeflateHelper.java
|
||||
background/common/DateUtils.java
|
||||
background/common/log/Logger.java
|
||||
background/common/log/writers/AndroidLevelCachingLogWriter.java
|
||||
background/common/log/writers/AndroidLogWriter.java
|
||||
background/common/log/writers/LevelFilteringLogWriter.java
|
||||
background/common/log/writers/LogWriter.java
|
||||
background/common/log/writers/PrintLogWriter.java
|
||||
background/common/log/writers/SimpleTagLogWriter.java
|
||||
background/common/log/writers/StringLogWriter.java
|
||||
background/common/log/writers/TagLogWriter.java
|
||||
background/common/log/writers/ThreadLocalTagLogWriter.java
|
||||
background/datareporting/TelemetryRecorder.java
|
||||
background/db/CursorDumper.java
|
||||
background/db/Tab.java
|
||||
background/healthreport/Environment.java
|
||||
background/healthreport/EnvironmentBuilder.java
|
||||
background/healthreport/EnvironmentV1.java
|
||||
background/healthreport/HealthReportBroadcastReceiver.java
|
||||
background/healthreport/HealthReportBroadcastService.java
|
||||
background/healthreport/HealthReportDatabases.java
|
||||
background/healthreport/HealthReportDatabaseStorage.java
|
||||
background/healthreport/HealthReportGenerator.java
|
||||
background/healthreport/HealthReportProvider.java
|
||||
background/healthreport/HealthReportStorage.java
|
||||
background/healthreport/HealthReportUtils.java
|
||||
background/healthreport/ProfileInformationCache.java
|
||||
background/healthreport/prune/HealthReportPruneService.java
|
||||
background/healthreport/prune/PrunePolicy.java
|
||||
background/healthreport/prune/PrunePolicyDatabaseStorage.java
|
||||
background/healthreport/prune/PrunePolicyStorage.java
|
||||
background/healthreport/upload/AndroidSubmissionClient.java
|
||||
background/healthreport/upload/HealthReportUploadService.java
|
||||
background/healthreport/upload/ObsoleteDocumentTracker.java
|
||||
background/healthreport/upload/SubmissionClient.java
|
||||
background/healthreport/upload/SubmissionPolicy.java
|
||||
sync/AlreadySyncingException.java
|
||||
sync/CollectionKeys.java
|
||||
sync/CommandProcessor.java
|
||||
sync/CommandRunner.java
|
||||
sync/config/AccountPickler.java
|
||||
sync/config/activities/SelectEnginesActivity.java
|
||||
sync/config/ClientRecordTerminator.java
|
||||
sync/config/ConfigurationMigrator.java
|
||||
sync/CredentialException.java
|
||||
sync/CredentialsSource.java
|
||||
sync/crypto/CryptoException.java
|
||||
sync/crypto/CryptoInfo.java
|
||||
sync/crypto/HKDF.java
|
||||
sync/crypto/HMACVerificationException.java
|
||||
sync/crypto/KeyBundle.java
|
||||
sync/crypto/MissingCryptoInputException.java
|
||||
sync/crypto/NoKeyBundleException.java
|
||||
sync/crypto/PersistedCrypto5Keys.java
|
||||
sync/CryptoRecord.java
|
||||
sync/DelayedWorkTracker.java
|
||||
sync/delegates/ClientsDataDelegate.java
|
||||
sync/delegates/FreshStartDelegate.java
|
||||
sync/delegates/GlobalSessionCallback.java
|
||||
sync/delegates/JSONRecordFetchDelegate.java
|
||||
sync/delegates/KeyUploadDelegate.java
|
||||
sync/delegates/MetaGlobalDelegate.java
|
||||
sync/delegates/WipeServerDelegate.java
|
||||
sync/EngineSettings.java
|
||||
sync/ExtendedJSONObject.java
|
||||
sync/GlobalSession.java
|
||||
sync/HTTPFailureException.java
|
||||
sync/InfoCollections.java
|
||||
sync/InfoCounts.java
|
||||
sync/jpake/BigIntegerHelper.java
|
||||
sync/jpake/Gx3OrGx4IsZeroOrOneException.java
|
||||
sync/jpake/IncorrectZkpException.java
|
||||
sync/jpake/JPakeClient.java
|
||||
sync/jpake/JPakeCrypto.java
|
||||
sync/jpake/JPakeJson.java
|
||||
sync/jpake/JPakeNoActivePairingException.java
|
||||
sync/jpake/JPakeNumGenerator.java
|
||||
sync/jpake/JPakeNumGeneratorRandom.java
|
||||
sync/jpake/JPakeParty.java
|
||||
sync/jpake/stage/CompleteStage.java
|
||||
sync/jpake/stage/ComputeFinalStage.java
|
||||
sync/jpake/stage/ComputeKeyVerificationStage.java
|
||||
sync/jpake/stage/ComputeStepOneStage.java
|
||||
sync/jpake/stage/ComputeStepTwoStage.java
|
||||
sync/jpake/stage/DecryptDataStage.java
|
||||
sync/jpake/stage/DeleteChannel.java
|
||||
sync/jpake/stage/GetChannelStage.java
|
||||
sync/jpake/stage/GetRequestStage.java
|
||||
sync/jpake/stage/JPakeStage.java
|
||||
sync/jpake/stage/PutRequestStage.java
|
||||
sync/jpake/stage/VerifyPairingStage.java
|
||||
sync/jpake/Zkp.java
|
||||
sync/JSONRecordFetcher.java
|
||||
sync/KeyBundleProvider.java
|
||||
sync/MetaGlobal.java
|
||||
sync/MetaGlobalException.java
|
||||
sync/MetaGlobalMissingEnginesException.java
|
||||
sync/MetaGlobalNotSetException.java
|
||||
sync/middleware/Crypto5MiddlewareRepository.java
|
||||
sync/middleware/Crypto5MiddlewareRepositorySession.java
|
||||
sync/middleware/MiddlewareRepository.java
|
||||
sync/middleware/MiddlewareRepositorySession.java
|
||||
sync/net/AuthHeaderProvider.java
|
||||
sync/net/BaseResource.java
|
||||
sync/net/BaseResourceDelegate.java
|
||||
sync/net/BasicAuthHeaderProvider.java
|
||||
sync/net/BrowserIDAuthHeaderProvider.java
|
||||
sync/net/ConnectionMonitorThread.java
|
||||
sync/net/HandleProgressException.java
|
||||
sync/net/HawkAuthHeaderProvider.java
|
||||
sync/net/HMACAuthHeaderProvider.java
|
||||
sync/net/HttpResponseObserver.java
|
||||
sync/net/Resource.java
|
||||
sync/net/ResourceDelegate.java
|
||||
sync/net/SyncResponse.java
|
||||
sync/net/SyncStorageCollectionRequest.java
|
||||
sync/net/SyncStorageCollectionRequestDelegate.java
|
||||
sync/net/SyncStorageRecordRequest.java
|
||||
sync/net/SyncStorageRequest.java
|
||||
sync/net/SyncStorageRequestDelegate.java
|
||||
sync/net/SyncStorageRequestIncrementalDelegate.java
|
||||
sync/net/SyncStorageResponse.java
|
||||
sync/net/TLSSocketFactory.java
|
||||
sync/net/WBOCollectionRequestDelegate.java
|
||||
sync/net/WBORequestDelegate.java
|
||||
sync/NoCollectionKeysSetException.java
|
||||
sync/NodeAuthenticationException.java
|
||||
sync/NonArrayJSONException.java
|
||||
sync/NonObjectJSONException.java
|
||||
sync/NullClusterURLException.java
|
||||
sync/PersistedMetaGlobal.java
|
||||
sync/PrefsSource.java
|
||||
sync/receivers/SyncAccountDeletedReceiver.java
|
||||
sync/receivers/SyncAccountDeletedService.java
|
||||
sync/receivers/UpgradeReceiver.java
|
||||
sync/repositories/android/AndroidBrowserBookmarksDataAccessor.java
|
||||
sync/repositories/android/AndroidBrowserBookmarksRepository.java
|
||||
sync/repositories/android/AndroidBrowserBookmarksRepositorySession.java
|
||||
sync/repositories/android/AndroidBrowserHistoryDataAccessor.java
|
||||
sync/repositories/android/AndroidBrowserHistoryDataExtender.java
|
||||
sync/repositories/android/AndroidBrowserHistoryRepository.java
|
||||
sync/repositories/android/AndroidBrowserHistoryRepositorySession.java
|
||||
sync/repositories/android/AndroidBrowserRepository.java
|
||||
sync/repositories/android/AndroidBrowserRepositoryDataAccessor.java
|
||||
sync/repositories/android/AndroidBrowserRepositorySession.java
|
||||
sync/repositories/android/BookmarksDeletionManager.java
|
||||
sync/repositories/android/BookmarksInsertionManager.java
|
||||
sync/repositories/android/BrowserContractHelpers.java
|
||||
sync/repositories/android/CachedSQLiteOpenHelper.java
|
||||
sync/repositories/android/ClientsDatabase.java
|
||||
sync/repositories/android/ClientsDatabaseAccessor.java
|
||||
sync/repositories/android/FennecTabsRepository.java
|
||||
sync/repositories/android/FormHistoryRepositorySession.java
|
||||
sync/repositories/android/PasswordsRepositorySession.java
|
||||
sync/repositories/android/RepoUtils.java
|
||||
sync/repositories/BookmarkNeedsReparentingException.java
|
||||
sync/repositories/BookmarksRepository.java
|
||||
sync/repositories/ConstrainedServer11Repository.java
|
||||
sync/repositories/delegates/DeferrableRepositorySessionCreationDelegate.java
|
||||
sync/repositories/delegates/DeferredRepositorySessionBeginDelegate.java
|
||||
sync/repositories/delegates/DeferredRepositorySessionFetchRecordsDelegate.java
|
||||
sync/repositories/delegates/DeferredRepositorySessionFinishDelegate.java
|
||||
sync/repositories/delegates/DeferredRepositorySessionStoreDelegate.java
|
||||
sync/repositories/delegates/RepositorySessionBeginDelegate.java
|
||||
sync/repositories/delegates/RepositorySessionCleanDelegate.java
|
||||
sync/repositories/delegates/RepositorySessionCreationDelegate.java
|
||||
sync/repositories/delegates/RepositorySessionFetchRecordsDelegate.java
|
||||
sync/repositories/delegates/RepositorySessionFinishDelegate.java
|
||||
sync/repositories/delegates/RepositorySessionGuidsSinceDelegate.java
|
||||
sync/repositories/delegates/RepositorySessionStoreDelegate.java
|
||||
sync/repositories/delegates/RepositorySessionWipeDelegate.java
|
||||
sync/repositories/domain/BookmarkRecord.java
|
||||
sync/repositories/domain/BookmarkRecordFactory.java
|
||||
sync/repositories/domain/ClientRecord.java
|
||||
sync/repositories/domain/ClientRecordFactory.java
|
||||
sync/repositories/domain/FormHistoryRecord.java
|
||||
sync/repositories/domain/HistoryRecord.java
|
||||
sync/repositories/domain/HistoryRecordFactory.java
|
||||
sync/repositories/domain/PasswordRecord.java
|
||||
sync/repositories/domain/Record.java
|
||||
sync/repositories/domain/RecordParseException.java
|
||||
sync/repositories/domain/TabsRecord.java
|
||||
sync/repositories/domain/VersionConstants.java
|
||||
sync/repositories/FetchFailedException.java
|
||||
sync/repositories/HashSetStoreTracker.java
|
||||
sync/repositories/HistoryRepository.java
|
||||
sync/repositories/IdentityRecordFactory.java
|
||||
sync/repositories/InactiveSessionException.java
|
||||
sync/repositories/InvalidBookmarkTypeException.java
|
||||
sync/repositories/InvalidRequestException.java
|
||||
sync/repositories/InvalidSessionTransitionException.java
|
||||
sync/repositories/MultipleRecordsForGuidException.java
|
||||
sync/repositories/NoContentProviderException.java
|
||||
sync/repositories/NoGuidForIdException.java
|
||||
sync/repositories/NoStoreDelegateException.java
|
||||
sync/repositories/NullCursorException.java
|
||||
sync/repositories/ParentNotFoundException.java
|
||||
sync/repositories/ProfileDatabaseException.java
|
||||
sync/repositories/RecordFactory.java
|
||||
sync/repositories/RecordFilter.java
|
||||
sync/repositories/Repository.java
|
||||
sync/repositories/RepositorySession.java
|
||||
sync/repositories/RepositorySessionBundle.java
|
||||
sync/repositories/Server11Repository.java
|
||||
sync/repositories/Server11RepositorySession.java
|
||||
sync/repositories/StoreFailedException.java
|
||||
sync/repositories/StoreTracker.java
|
||||
sync/repositories/StoreTrackingRepositorySession.java
|
||||
sync/Server11PreviousPostFailedException.java
|
||||
sync/Server11RecordPostFailedException.java
|
||||
sync/setup/activities/AccountActivity.java
|
||||
sync/setup/activities/ActivityUtils.java
|
||||
sync/setup/activities/ClientRecordArrayAdapter.java
|
||||
sync/setup/activities/RedirectToSetupActivity.java
|
||||
sync/setup/activities/SendTabActivity.java
|
||||
sync/setup/activities/SendTabData.java
|
||||
sync/setup/activities/SetupFailureActivity.java
|
||||
sync/setup/activities/SetupSuccessActivity.java
|
||||
sync/setup/activities/SetupSyncActivity.java
|
||||
sync/setup/activities/SyncActivity.java
|
||||
sync/setup/activities/WebURLFinder.java
|
||||
sync/setup/activities/WebViewActivity.java
|
||||
sync/setup/auth/AccountAuthenticator.java
|
||||
sync/setup/auth/AuthenticateAccountStage.java
|
||||
sync/setup/auth/AuthenticationResult.java
|
||||
sync/setup/auth/AuthenticatorStage.java
|
||||
sync/setup/auth/EnsureUserExistenceStage.java
|
||||
sync/setup/auth/FetchUserNodeStage.java
|
||||
sync/setup/Constants.java
|
||||
sync/setup/InvalidSyncKeyException.java
|
||||
sync/setup/SyncAccounts.java
|
||||
sync/setup/SyncAuthenticatorService.java
|
||||
sync/stage/AbstractNonRepositorySyncStage.java
|
||||
sync/stage/AbstractSessionManagingSyncStage.java
|
||||
sync/stage/AndroidBrowserBookmarksServerSyncStage.java
|
||||
sync/stage/AndroidBrowserHistoryServerSyncStage.java
|
||||
sync/stage/CheckPreconditionsStage.java
|
||||
sync/stage/CompletedStage.java
|
||||
sync/stage/EnsureClusterURLStage.java
|
||||
sync/stage/EnsureCrypto5KeysStage.java
|
||||
sync/stage/FennecTabsServerSyncStage.java
|
||||
sync/stage/FetchInfoCollectionsStage.java
|
||||
sync/stage/FetchMetaGlobalStage.java
|
||||
sync/stage/FormHistoryServerSyncStage.java
|
||||
sync/stage/GlobalSyncStage.java
|
||||
sync/stage/NoSuchStageException.java
|
||||
sync/stage/NoSyncIDException.java
|
||||
sync/stage/PasswordsServerSyncStage.java
|
||||
sync/stage/SafeConstrainedServer11Repository.java
|
||||
sync/stage/ServerSyncStage.java
|
||||
sync/stage/SyncClientsEngineStage.java
|
||||
sync/stage/UploadMetaGlobalStage.java
|
||||
sync/syncadapter/SyncAdapter.java
|
||||
sync/syncadapter/SyncService.java
|
||||
sync/SyncConfiguration.java
|
||||
sync/SyncConfigurationException.java
|
||||
sync/SyncException.java
|
||||
sync/synchronizer/ConcurrentRecordConsumer.java
|
||||
sync/synchronizer/RecordConsumer.java
|
||||
sync/synchronizer/RecordsChannel.java
|
||||
sync/synchronizer/RecordsChannelDelegate.java
|
||||
sync/synchronizer/RecordsConsumerDelegate.java
|
||||
sync/synchronizer/SerialRecordConsumer.java
|
||||
sync/synchronizer/ServerLocalSynchronizer.java
|
||||
sync/synchronizer/ServerLocalSynchronizerSession.java
|
||||
sync/synchronizer/SessionNotBegunException.java
|
||||
sync/synchronizer/Synchronizer.java
|
||||
sync/synchronizer/SynchronizerDelegate.java
|
||||
sync/synchronizer/SynchronizerSession.java
|
||||
sync/synchronizer/SynchronizerSessionDelegate.java
|
||||
sync/synchronizer/UnbundleError.java
|
||||
sync/synchronizer/UnexpectedSessionException.java
|
||||
sync/SynchronizerConfiguration.java
|
||||
sync/ThreadPool.java
|
||||
sync/UnexpectedJSONException.java
|
||||
sync/UnknownSynchronizerConfigurationVersionException.java
|
||||
sync/Utils.java
|
@ -1,464 +0,0 @@
|
||||
ch/boye/httpclientandroidlib/androidextra/HttpClientAndroidLog.java
|
||||
ch/boye/httpclientandroidlib/annotation/GuardedBy.java
|
||||
ch/boye/httpclientandroidlib/annotation/Immutable.java
|
||||
ch/boye/httpclientandroidlib/annotation/NotThreadSafe.java
|
||||
ch/boye/httpclientandroidlib/annotation/ThreadSafe.java
|
||||
ch/boye/httpclientandroidlib/auth/AUTH.java
|
||||
ch/boye/httpclientandroidlib/auth/AuthenticationException.java
|
||||
ch/boye/httpclientandroidlib/auth/AuthScheme.java
|
||||
ch/boye/httpclientandroidlib/auth/AuthSchemeFactory.java
|
||||
ch/boye/httpclientandroidlib/auth/AuthSchemeRegistry.java
|
||||
ch/boye/httpclientandroidlib/auth/AuthScope.java
|
||||
ch/boye/httpclientandroidlib/auth/AuthState.java
|
||||
ch/boye/httpclientandroidlib/auth/BasicUserPrincipal.java
|
||||
ch/boye/httpclientandroidlib/auth/ContextAwareAuthScheme.java
|
||||
ch/boye/httpclientandroidlib/auth/Credentials.java
|
||||
ch/boye/httpclientandroidlib/auth/InvalidCredentialsException.java
|
||||
ch/boye/httpclientandroidlib/auth/MalformedChallengeException.java
|
||||
ch/boye/httpclientandroidlib/auth/NTCredentials.java
|
||||
ch/boye/httpclientandroidlib/auth/NTUserPrincipal.java
|
||||
ch/boye/httpclientandroidlib/auth/params/AuthParamBean.java
|
||||
ch/boye/httpclientandroidlib/auth/params/AuthParams.java
|
||||
ch/boye/httpclientandroidlib/auth/params/AuthPNames.java
|
||||
ch/boye/httpclientandroidlib/auth/UsernamePasswordCredentials.java
|
||||
ch/boye/httpclientandroidlib/client/AuthCache.java
|
||||
ch/boye/httpclientandroidlib/client/AuthenticationHandler.java
|
||||
ch/boye/httpclientandroidlib/client/CircularRedirectException.java
|
||||
ch/boye/httpclientandroidlib/client/ClientProtocolException.java
|
||||
ch/boye/httpclientandroidlib/client/CookieStore.java
|
||||
ch/boye/httpclientandroidlib/client/CredentialsProvider.java
|
||||
ch/boye/httpclientandroidlib/client/entity/DecompressingEntity.java
|
||||
ch/boye/httpclientandroidlib/client/entity/DeflateDecompressingEntity.java
|
||||
ch/boye/httpclientandroidlib/client/entity/GzipDecompressingEntity.java
|
||||
ch/boye/httpclientandroidlib/client/entity/UrlEncodedFormEntity.java
|
||||
ch/boye/httpclientandroidlib/client/HttpClient.java
|
||||
ch/boye/httpclientandroidlib/client/HttpRequestRetryHandler.java
|
||||
ch/boye/httpclientandroidlib/client/HttpResponseException.java
|
||||
ch/boye/httpclientandroidlib/client/methods/AbortableHttpRequest.java
|
||||
ch/boye/httpclientandroidlib/client/methods/HttpDelete.java
|
||||
ch/boye/httpclientandroidlib/client/methods/HttpEntityEnclosingRequestBase.java
|
||||
ch/boye/httpclientandroidlib/client/methods/HttpGet.java
|
||||
ch/boye/httpclientandroidlib/client/methods/HttpHead.java
|
||||
ch/boye/httpclientandroidlib/client/methods/HttpOptions.java
|
||||
ch/boye/httpclientandroidlib/client/methods/HttpPost.java
|
||||
ch/boye/httpclientandroidlib/client/methods/HttpPut.java
|
||||
ch/boye/httpclientandroidlib/client/methods/HttpRequestBase.java
|
||||
ch/boye/httpclientandroidlib/client/methods/HttpTrace.java
|
||||
ch/boye/httpclientandroidlib/client/methods/HttpUriRequest.java
|
||||
ch/boye/httpclientandroidlib/client/NonRepeatableRequestException.java
|
||||
ch/boye/httpclientandroidlib/client/params/AllClientPNames.java
|
||||
ch/boye/httpclientandroidlib/client/params/AuthPolicy.java
|
||||
ch/boye/httpclientandroidlib/client/params/ClientParamBean.java
|
||||
ch/boye/httpclientandroidlib/client/params/ClientPNames.java
|
||||
ch/boye/httpclientandroidlib/client/params/CookiePolicy.java
|
||||
ch/boye/httpclientandroidlib/client/params/HttpClientParams.java
|
||||
ch/boye/httpclientandroidlib/client/protocol/ClientContext.java
|
||||
ch/boye/httpclientandroidlib/client/protocol/ClientContextConfigurer.java
|
||||
ch/boye/httpclientandroidlib/client/protocol/RequestAcceptEncoding.java
|
||||
ch/boye/httpclientandroidlib/client/protocol/RequestAddCookies.java
|
||||
ch/boye/httpclientandroidlib/client/protocol/RequestAuthCache.java
|
||||
ch/boye/httpclientandroidlib/client/protocol/RequestClientConnControl.java
|
||||
ch/boye/httpclientandroidlib/client/protocol/RequestDefaultHeaders.java
|
||||
ch/boye/httpclientandroidlib/client/protocol/RequestProxyAuthentication.java
|
||||
ch/boye/httpclientandroidlib/client/protocol/RequestTargetAuthentication.java
|
||||
ch/boye/httpclientandroidlib/client/protocol/ResponseAuthCache.java
|
||||
ch/boye/httpclientandroidlib/client/protocol/ResponseContentEncoding.java
|
||||
ch/boye/httpclientandroidlib/client/protocol/ResponseProcessCookies.java
|
||||
ch/boye/httpclientandroidlib/client/RedirectException.java
|
||||
ch/boye/httpclientandroidlib/client/RedirectHandler.java
|
||||
ch/boye/httpclientandroidlib/client/RedirectStrategy.java
|
||||
ch/boye/httpclientandroidlib/client/RequestDirector.java
|
||||
ch/boye/httpclientandroidlib/client/ResponseHandler.java
|
||||
ch/boye/httpclientandroidlib/client/UserTokenHandler.java
|
||||
ch/boye/httpclientandroidlib/client/utils/CloneUtils.java
|
||||
ch/boye/httpclientandroidlib/client/utils/Idn.java
|
||||
ch/boye/httpclientandroidlib/client/utils/JdkIdn.java
|
||||
ch/boye/httpclientandroidlib/client/utils/Punycode.java
|
||||
ch/boye/httpclientandroidlib/client/utils/Rfc3492Idn.java
|
||||
ch/boye/httpclientandroidlib/client/utils/URIUtils.java
|
||||
ch/boye/httpclientandroidlib/client/utils/URLEncodedUtils.java
|
||||
ch/boye/httpclientandroidlib/conn/BasicEofSensorWatcher.java
|
||||
ch/boye/httpclientandroidlib/conn/BasicManagedEntity.java
|
||||
ch/boye/httpclientandroidlib/conn/ClientConnectionManager.java
|
||||
ch/boye/httpclientandroidlib/conn/ClientConnectionManagerFactory.java
|
||||
ch/boye/httpclientandroidlib/conn/ClientConnectionOperator.java
|
||||
ch/boye/httpclientandroidlib/conn/ClientConnectionRequest.java
|
||||
ch/boye/httpclientandroidlib/conn/ConnectionKeepAliveStrategy.java
|
||||
ch/boye/httpclientandroidlib/conn/ConnectionPoolTimeoutException.java
|
||||
ch/boye/httpclientandroidlib/conn/ConnectionReleaseTrigger.java
|
||||
ch/boye/httpclientandroidlib/conn/ConnectTimeoutException.java
|
||||
ch/boye/httpclientandroidlib/conn/EofSensorInputStream.java
|
||||
ch/boye/httpclientandroidlib/conn/EofSensorWatcher.java
|
||||
ch/boye/httpclientandroidlib/conn/HttpHostConnectException.java
|
||||
ch/boye/httpclientandroidlib/conn/HttpRoutedConnection.java
|
||||
ch/boye/httpclientandroidlib/conn/ManagedClientConnection.java
|
||||
ch/boye/httpclientandroidlib/conn/MultihomePlainSocketFactory.java
|
||||
ch/boye/httpclientandroidlib/conn/OperatedClientConnection.java
|
||||
ch/boye/httpclientandroidlib/conn/params/ConnConnectionParamBean.java
|
||||
ch/boye/httpclientandroidlib/conn/params/ConnConnectionPNames.java
|
||||
ch/boye/httpclientandroidlib/conn/params/ConnManagerParamBean.java
|
||||
ch/boye/httpclientandroidlib/conn/params/ConnManagerParams.java
|
||||
ch/boye/httpclientandroidlib/conn/params/ConnManagerPNames.java
|
||||
ch/boye/httpclientandroidlib/conn/params/ConnPerRoute.java
|
||||
ch/boye/httpclientandroidlib/conn/params/ConnPerRouteBean.java
|
||||
ch/boye/httpclientandroidlib/conn/params/ConnRouteParamBean.java
|
||||
ch/boye/httpclientandroidlib/conn/params/ConnRouteParams.java
|
||||
ch/boye/httpclientandroidlib/conn/params/ConnRoutePNames.java
|
||||
ch/boye/httpclientandroidlib/conn/routing/BasicRouteDirector.java
|
||||
ch/boye/httpclientandroidlib/conn/routing/HttpRoute.java
|
||||
ch/boye/httpclientandroidlib/conn/routing/HttpRouteDirector.java
|
||||
ch/boye/httpclientandroidlib/conn/routing/HttpRoutePlanner.java
|
||||
ch/boye/httpclientandroidlib/conn/routing/RouteInfo.java
|
||||
ch/boye/httpclientandroidlib/conn/routing/RouteTracker.java
|
||||
ch/boye/httpclientandroidlib/conn/scheme/HostNameResolver.java
|
||||
ch/boye/httpclientandroidlib/conn/scheme/LayeredSchemeSocketFactory.java
|
||||
ch/boye/httpclientandroidlib/conn/scheme/LayeredSchemeSocketFactoryAdaptor.java
|
||||
ch/boye/httpclientandroidlib/conn/scheme/LayeredSocketFactory.java
|
||||
ch/boye/httpclientandroidlib/conn/scheme/LayeredSocketFactoryAdaptor.java
|
||||
ch/boye/httpclientandroidlib/conn/scheme/PlainSocketFactory.java
|
||||
ch/boye/httpclientandroidlib/conn/scheme/Scheme.java
|
||||
ch/boye/httpclientandroidlib/conn/scheme/SchemeRegistry.java
|
||||
ch/boye/httpclientandroidlib/conn/scheme/SchemeSocketFactory.java
|
||||
ch/boye/httpclientandroidlib/conn/scheme/SchemeSocketFactoryAdaptor.java
|
||||
ch/boye/httpclientandroidlib/conn/scheme/SocketFactory.java
|
||||
ch/boye/httpclientandroidlib/conn/scheme/SocketFactoryAdaptor.java
|
||||
ch/boye/httpclientandroidlib/conn/ssl/AbstractVerifier.java
|
||||
ch/boye/httpclientandroidlib/conn/ssl/AllowAllHostnameVerifier.java
|
||||
ch/boye/httpclientandroidlib/conn/ssl/BrowserCompatHostnameVerifier.java
|
||||
ch/boye/httpclientandroidlib/conn/ssl/SSLSocketFactory.java
|
||||
ch/boye/httpclientandroidlib/conn/ssl/StrictHostnameVerifier.java
|
||||
ch/boye/httpclientandroidlib/conn/ssl/TrustManagerDecorator.java
|
||||
ch/boye/httpclientandroidlib/conn/ssl/TrustSelfSignedStrategy.java
|
||||
ch/boye/httpclientandroidlib/conn/ssl/TrustStrategy.java
|
||||
ch/boye/httpclientandroidlib/conn/ssl/X509HostnameVerifier.java
|
||||
ch/boye/httpclientandroidlib/conn/util/InetAddressUtils.java
|
||||
ch/boye/httpclientandroidlib/ConnectionClosedException.java
|
||||
ch/boye/httpclientandroidlib/ConnectionReuseStrategy.java
|
||||
ch/boye/httpclientandroidlib/cookie/ClientCookie.java
|
||||
ch/boye/httpclientandroidlib/cookie/Cookie.java
|
||||
ch/boye/httpclientandroidlib/cookie/CookieAttributeHandler.java
|
||||
ch/boye/httpclientandroidlib/cookie/CookieIdentityComparator.java
|
||||
ch/boye/httpclientandroidlib/cookie/CookieOrigin.java
|
||||
ch/boye/httpclientandroidlib/cookie/CookiePathComparator.java
|
||||
ch/boye/httpclientandroidlib/cookie/CookieRestrictionViolationException.java
|
||||
ch/boye/httpclientandroidlib/cookie/CookieSpec.java
|
||||
ch/boye/httpclientandroidlib/cookie/CookieSpecFactory.java
|
||||
ch/boye/httpclientandroidlib/cookie/CookieSpecRegistry.java
|
||||
ch/boye/httpclientandroidlib/cookie/MalformedCookieException.java
|
||||
ch/boye/httpclientandroidlib/cookie/params/CookieSpecParamBean.java
|
||||
ch/boye/httpclientandroidlib/cookie/params/CookieSpecPNames.java
|
||||
ch/boye/httpclientandroidlib/cookie/SetCookie.java
|
||||
ch/boye/httpclientandroidlib/cookie/SetCookie2.java
|
||||
ch/boye/httpclientandroidlib/cookie/SM.java
|
||||
ch/boye/httpclientandroidlib/entity/AbstractHttpEntity.java
|
||||
ch/boye/httpclientandroidlib/entity/BasicHttpEntity.java
|
||||
ch/boye/httpclientandroidlib/entity/BufferedHttpEntity.java
|
||||
ch/boye/httpclientandroidlib/entity/ByteArrayEntity.java
|
||||
ch/boye/httpclientandroidlib/entity/ContentLengthStrategy.java
|
||||
ch/boye/httpclientandroidlib/entity/ContentProducer.java
|
||||
ch/boye/httpclientandroidlib/entity/EntityTemplate.java
|
||||
ch/boye/httpclientandroidlib/entity/FileEntity.java
|
||||
ch/boye/httpclientandroidlib/entity/HttpEntityWrapper.java
|
||||
ch/boye/httpclientandroidlib/entity/InputStreamEntity.java
|
||||
ch/boye/httpclientandroidlib/entity/SerializableEntity.java
|
||||
ch/boye/httpclientandroidlib/entity/StringEntity.java
|
||||
ch/boye/httpclientandroidlib/FormattedHeader.java
|
||||
ch/boye/httpclientandroidlib/Header.java
|
||||
ch/boye/httpclientandroidlib/HeaderElement.java
|
||||
ch/boye/httpclientandroidlib/HeaderElementIterator.java
|
||||
ch/boye/httpclientandroidlib/HeaderIterator.java
|
||||
ch/boye/httpclientandroidlib/HttpClientConnection.java
|
||||
ch/boye/httpclientandroidlib/HttpConnection.java
|
||||
ch/boye/httpclientandroidlib/HttpConnectionMetrics.java
|
||||
ch/boye/httpclientandroidlib/HttpEntity.java
|
||||
ch/boye/httpclientandroidlib/HttpEntityEnclosingRequest.java
|
||||
ch/boye/httpclientandroidlib/HttpException.java
|
||||
ch/boye/httpclientandroidlib/HttpHeaders.java
|
||||
ch/boye/httpclientandroidlib/HttpHost.java
|
||||
ch/boye/httpclientandroidlib/HttpInetConnection.java
|
||||
ch/boye/httpclientandroidlib/HttpMessage.java
|
||||
ch/boye/httpclientandroidlib/HttpRequest.java
|
||||
ch/boye/httpclientandroidlib/HttpRequestFactory.java
|
||||
ch/boye/httpclientandroidlib/HttpRequestInterceptor.java
|
||||
ch/boye/httpclientandroidlib/HttpResponse.java
|
||||
ch/boye/httpclientandroidlib/HttpResponseFactory.java
|
||||
ch/boye/httpclientandroidlib/HttpResponseInterceptor.java
|
||||
ch/boye/httpclientandroidlib/HttpServerConnection.java
|
||||
ch/boye/httpclientandroidlib/HttpStatus.java
|
||||
ch/boye/httpclientandroidlib/HttpVersion.java
|
||||
ch/boye/httpclientandroidlib/impl/AbstractHttpClientConnection.java
|
||||
ch/boye/httpclientandroidlib/impl/AbstractHttpServerConnection.java
|
||||
ch/boye/httpclientandroidlib/impl/auth/AuthSchemeBase.java
|
||||
ch/boye/httpclientandroidlib/impl/auth/BasicScheme.java
|
||||
ch/boye/httpclientandroidlib/impl/auth/BasicSchemeFactory.java
|
||||
ch/boye/httpclientandroidlib/impl/auth/DigestScheme.java
|
||||
ch/boye/httpclientandroidlib/impl/auth/DigestSchemeFactory.java
|
||||
ch/boye/httpclientandroidlib/impl/auth/NTLMEngine.java
|
||||
ch/boye/httpclientandroidlib/impl/auth/NTLMEngineException.java
|
||||
ch/boye/httpclientandroidlib/impl/auth/NTLMEngineImpl.java
|
||||
ch/boye/httpclientandroidlib/impl/auth/NTLMScheme.java
|
||||
ch/boye/httpclientandroidlib/impl/auth/NTLMSchemeFactory.java
|
||||
ch/boye/httpclientandroidlib/impl/auth/RFC2617Scheme.java
|
||||
ch/boye/httpclientandroidlib/impl/auth/SpnegoTokenGenerator.java
|
||||
ch/boye/httpclientandroidlib/impl/auth/UnsupportedDigestAlgorithmException.java
|
||||
ch/boye/httpclientandroidlib/impl/client/AbstractAuthenticationHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/client/AbstractHttpClient.java
|
||||
ch/boye/httpclientandroidlib/impl/client/BasicAuthCache.java
|
||||
ch/boye/httpclientandroidlib/impl/client/BasicCookieStore.java
|
||||
ch/boye/httpclientandroidlib/impl/client/BasicCredentialsProvider.java
|
||||
ch/boye/httpclientandroidlib/impl/client/BasicResponseHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/client/ClientParamsStack.java
|
||||
ch/boye/httpclientandroidlib/impl/client/ContentEncodingHttpClient.java
|
||||
ch/boye/httpclientandroidlib/impl/client/DefaultConnectionKeepAliveStrategy.java
|
||||
ch/boye/httpclientandroidlib/impl/client/DefaultHttpClient.java
|
||||
ch/boye/httpclientandroidlib/impl/client/DefaultHttpRequestRetryHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/client/DefaultProxyAuthenticationHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/client/DefaultRedirectHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/client/DefaultRedirectStrategy.java
|
||||
ch/boye/httpclientandroidlib/impl/client/DefaultRedirectStrategyAdaptor.java
|
||||
ch/boye/httpclientandroidlib/impl/client/DefaultRequestDirector.java
|
||||
ch/boye/httpclientandroidlib/impl/client/DefaultTargetAuthenticationHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/client/DefaultUserTokenHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/client/EntityEnclosingRequestWrapper.java
|
||||
ch/boye/httpclientandroidlib/impl/client/RedirectLocations.java
|
||||
ch/boye/httpclientandroidlib/impl/client/RequestWrapper.java
|
||||
ch/boye/httpclientandroidlib/impl/client/RoutedRequest.java
|
||||
ch/boye/httpclientandroidlib/impl/client/TunnelRefusedException.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/AbstractClientConnAdapter.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/AbstractPooledConnAdapter.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/AbstractPoolEntry.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/ConnectionShutdownException.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/DefaultClientConnection.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/DefaultClientConnectionOperator.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/DefaultHttpRoutePlanner.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/DefaultResponseParser.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/HttpInetSocketAddress.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/IdleConnectionHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/LoggingSessionInputBuffer.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/LoggingSessionOutputBuffer.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/ProxySelectorRoutePlanner.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/SchemeRegistryFactory.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/SingleClientConnManager.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/tsccm/AbstractConnPool.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPooledConnAdapter.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPoolEntry.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPoolEntryRef.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/tsccm/ConnPoolByRoute.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/tsccm/PoolEntryRequest.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/tsccm/RefQueueHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/tsccm/RefQueueWorker.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/tsccm/RouteSpecificPool.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/tsccm/ThreadSafeClientConnManager.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/tsccm/WaitingThread.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/tsccm/WaitingThreadAborter.java
|
||||
ch/boye/httpclientandroidlib/impl/conn/Wire.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/AbstractCookieAttributeHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/AbstractCookieSpec.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/BasicClientCookie.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/BasicClientCookie2.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/BasicCommentHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/BasicDomainHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/BasicExpiresHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/BasicMaxAgeHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/BasicPathHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/BasicSecureHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/BestMatchSpec.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/BestMatchSpecFactory.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/BrowserCompatSpec.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/BrowserCompatSpecFactory.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/CookieSpecBase.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/DateParseException.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/DateUtils.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/IgnoreSpec.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/IgnoreSpecFactory.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/NetscapeDomainHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftHeaderParser.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftSpec.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftSpecFactory.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/PublicSuffixFilter.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/PublicSuffixListParser.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/RFC2109DomainHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/RFC2109Spec.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/RFC2109SpecFactory.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/RFC2109VersionHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/RFC2965CommentUrlAttributeHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/RFC2965DiscardAttributeHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/RFC2965DomainAttributeHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/RFC2965PortAttributeHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/RFC2965Spec.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/RFC2965SpecFactory.java
|
||||
ch/boye/httpclientandroidlib/impl/cookie/RFC2965VersionAttributeHandler.java
|
||||
ch/boye/httpclientandroidlib/impl/DefaultConnectionReuseStrategy.java
|
||||
ch/boye/httpclientandroidlib/impl/DefaultHttpClientConnection.java
|
||||
ch/boye/httpclientandroidlib/impl/DefaultHttpRequestFactory.java
|
||||
ch/boye/httpclientandroidlib/impl/DefaultHttpResponseFactory.java
|
||||
ch/boye/httpclientandroidlib/impl/DefaultHttpServerConnection.java
|
||||
ch/boye/httpclientandroidlib/impl/EnglishReasonPhraseCatalog.java
|
||||
ch/boye/httpclientandroidlib/impl/entity/EntityDeserializer.java
|
||||
ch/boye/httpclientandroidlib/impl/entity/EntitySerializer.java
|
||||
ch/boye/httpclientandroidlib/impl/entity/LaxContentLengthStrategy.java
|
||||
ch/boye/httpclientandroidlib/impl/entity/StrictContentLengthStrategy.java
|
||||
ch/boye/httpclientandroidlib/impl/HttpConnectionMetricsImpl.java
|
||||
ch/boye/httpclientandroidlib/impl/io/AbstractMessageParser.java
|
||||
ch/boye/httpclientandroidlib/impl/io/AbstractMessageWriter.java
|
||||
ch/boye/httpclientandroidlib/impl/io/AbstractSessionInputBuffer.java
|
||||
ch/boye/httpclientandroidlib/impl/io/AbstractSessionOutputBuffer.java
|
||||
ch/boye/httpclientandroidlib/impl/io/ChunkedInputStream.java
|
||||
ch/boye/httpclientandroidlib/impl/io/ChunkedOutputStream.java
|
||||
ch/boye/httpclientandroidlib/impl/io/ContentLengthInputStream.java
|
||||
ch/boye/httpclientandroidlib/impl/io/ContentLengthOutputStream.java
|
||||
ch/boye/httpclientandroidlib/impl/io/HttpRequestParser.java
|
||||
ch/boye/httpclientandroidlib/impl/io/HttpRequestWriter.java
|
||||
ch/boye/httpclientandroidlib/impl/io/HttpResponseParser.java
|
||||
ch/boye/httpclientandroidlib/impl/io/HttpResponseWriter.java
|
||||
ch/boye/httpclientandroidlib/impl/io/HttpTransportMetricsImpl.java
|
||||
ch/boye/httpclientandroidlib/impl/io/IdentityInputStream.java
|
||||
ch/boye/httpclientandroidlib/impl/io/IdentityOutputStream.java
|
||||
ch/boye/httpclientandroidlib/impl/io/SocketInputBuffer.java
|
||||
ch/boye/httpclientandroidlib/impl/io/SocketOutputBuffer.java
|
||||
ch/boye/httpclientandroidlib/impl/NoConnectionReuseStrategy.java
|
||||
ch/boye/httpclientandroidlib/impl/SocketHttpClientConnection.java
|
||||
ch/boye/httpclientandroidlib/impl/SocketHttpServerConnection.java
|
||||
ch/boye/httpclientandroidlib/io/BufferInfo.java
|
||||
ch/boye/httpclientandroidlib/io/EofSensor.java
|
||||
ch/boye/httpclientandroidlib/io/HttpMessageParser.java
|
||||
ch/boye/httpclientandroidlib/io/HttpMessageWriter.java
|
||||
ch/boye/httpclientandroidlib/io/HttpTransportMetrics.java
|
||||
ch/boye/httpclientandroidlib/io/SessionInputBuffer.java
|
||||
ch/boye/httpclientandroidlib/io/SessionOutputBuffer.java
|
||||
ch/boye/httpclientandroidlib/MalformedChunkCodingException.java
|
||||
ch/boye/httpclientandroidlib/message/AbstractHttpMessage.java
|
||||
ch/boye/httpclientandroidlib/message/BasicHeader.java
|
||||
ch/boye/httpclientandroidlib/message/BasicHeaderElement.java
|
||||
ch/boye/httpclientandroidlib/message/BasicHeaderElementIterator.java
|
||||
ch/boye/httpclientandroidlib/message/BasicHeaderIterator.java
|
||||
ch/boye/httpclientandroidlib/message/BasicHeaderValueFormatter.java
|
||||
ch/boye/httpclientandroidlib/message/BasicHeaderValueParser.java
|
||||
ch/boye/httpclientandroidlib/message/BasicHttpEntityEnclosingRequest.java
|
||||
ch/boye/httpclientandroidlib/message/BasicHttpRequest.java
|
||||
ch/boye/httpclientandroidlib/message/BasicHttpResponse.java
|
||||
ch/boye/httpclientandroidlib/message/BasicLineFormatter.java
|
||||
ch/boye/httpclientandroidlib/message/BasicLineParser.java
|
||||
ch/boye/httpclientandroidlib/message/BasicListHeaderIterator.java
|
||||
ch/boye/httpclientandroidlib/message/BasicNameValuePair.java
|
||||
ch/boye/httpclientandroidlib/message/BasicRequestLine.java
|
||||
ch/boye/httpclientandroidlib/message/BasicStatusLine.java
|
||||
ch/boye/httpclientandroidlib/message/BasicTokenIterator.java
|
||||
ch/boye/httpclientandroidlib/message/BufferedHeader.java
|
||||
ch/boye/httpclientandroidlib/message/HeaderGroup.java
|
||||
ch/boye/httpclientandroidlib/message/HeaderValueFormatter.java
|
||||
ch/boye/httpclientandroidlib/message/HeaderValueParser.java
|
||||
ch/boye/httpclientandroidlib/message/LineFormatter.java
|
||||
ch/boye/httpclientandroidlib/message/LineParser.java
|
||||
ch/boye/httpclientandroidlib/message/ParserCursor.java
|
||||
ch/boye/httpclientandroidlib/MethodNotSupportedException.java
|
||||
ch/boye/httpclientandroidlib/NameValuePair.java
|
||||
ch/boye/httpclientandroidlib/NoHttpResponseException.java
|
||||
ch/boye/httpclientandroidlib/params/AbstractHttpParams.java
|
||||
ch/boye/httpclientandroidlib/params/BasicHttpParams.java
|
||||
ch/boye/httpclientandroidlib/params/CoreConnectionPNames.java
|
||||
ch/boye/httpclientandroidlib/params/CoreProtocolPNames.java
|
||||
ch/boye/httpclientandroidlib/params/DefaultedHttpParams.java
|
||||
ch/boye/httpclientandroidlib/params/HttpAbstractParamBean.java
|
||||
ch/boye/httpclientandroidlib/params/HttpConnectionParamBean.java
|
||||
ch/boye/httpclientandroidlib/params/HttpConnectionParams.java
|
||||
ch/boye/httpclientandroidlib/params/HttpParams.java
|
||||
ch/boye/httpclientandroidlib/params/HttpProtocolParamBean.java
|
||||
ch/boye/httpclientandroidlib/params/HttpProtocolParams.java
|
||||
ch/boye/httpclientandroidlib/params/SyncBasicHttpParams.java
|
||||
ch/boye/httpclientandroidlib/ParseException.java
|
||||
ch/boye/httpclientandroidlib/protocol/BasicHttpContext.java
|
||||
ch/boye/httpclientandroidlib/protocol/BasicHttpProcessor.java
|
||||
ch/boye/httpclientandroidlib/protocol/DefaultedHttpContext.java
|
||||
ch/boye/httpclientandroidlib/protocol/ExecutionContext.java
|
||||
ch/boye/httpclientandroidlib/protocol/HTTP.java
|
||||
ch/boye/httpclientandroidlib/protocol/HttpContext.java
|
||||
ch/boye/httpclientandroidlib/protocol/HttpDateGenerator.java
|
||||
ch/boye/httpclientandroidlib/protocol/HttpExpectationVerifier.java
|
||||
ch/boye/httpclientandroidlib/protocol/HttpProcessor.java
|
||||
ch/boye/httpclientandroidlib/protocol/HttpRequestExecutor.java
|
||||
ch/boye/httpclientandroidlib/protocol/HttpRequestHandler.java
|
||||
ch/boye/httpclientandroidlib/protocol/HttpRequestHandlerRegistry.java
|
||||
ch/boye/httpclientandroidlib/protocol/HttpRequestHandlerResolver.java
|
||||
ch/boye/httpclientandroidlib/protocol/HttpRequestInterceptorList.java
|
||||
ch/boye/httpclientandroidlib/protocol/HttpResponseInterceptorList.java
|
||||
ch/boye/httpclientandroidlib/protocol/HttpService.java
|
||||
ch/boye/httpclientandroidlib/protocol/ImmutableHttpProcessor.java
|
||||
ch/boye/httpclientandroidlib/protocol/RequestConnControl.java
|
||||
ch/boye/httpclientandroidlib/protocol/RequestContent.java
|
||||
ch/boye/httpclientandroidlib/protocol/RequestDate.java
|
||||
ch/boye/httpclientandroidlib/protocol/RequestExpectContinue.java
|
||||
ch/boye/httpclientandroidlib/protocol/RequestTargetHost.java
|
||||
ch/boye/httpclientandroidlib/protocol/RequestUserAgent.java
|
||||
ch/boye/httpclientandroidlib/protocol/ResponseConnControl.java
|
||||
ch/boye/httpclientandroidlib/protocol/ResponseContent.java
|
||||
ch/boye/httpclientandroidlib/protocol/ResponseDate.java
|
||||
ch/boye/httpclientandroidlib/protocol/ResponseServer.java
|
||||
ch/boye/httpclientandroidlib/protocol/SyncBasicHttpContext.java
|
||||
ch/boye/httpclientandroidlib/protocol/UriPatternMatcher.java
|
||||
ch/boye/httpclientandroidlib/ProtocolException.java
|
||||
ch/boye/httpclientandroidlib/ProtocolVersion.java
|
||||
ch/boye/httpclientandroidlib/ReasonPhraseCatalog.java
|
||||
ch/boye/httpclientandroidlib/RequestLine.java
|
||||
ch/boye/httpclientandroidlib/StatusLine.java
|
||||
ch/boye/httpclientandroidlib/TokenIterator.java
|
||||
ch/boye/httpclientandroidlib/TruncatedChunkException.java
|
||||
ch/boye/httpclientandroidlib/UnsupportedHttpVersionException.java
|
||||
ch/boye/httpclientandroidlib/util/ByteArrayBuffer.java
|
||||
ch/boye/httpclientandroidlib/util/CharArrayBuffer.java
|
||||
ch/boye/httpclientandroidlib/util/EncodingUtils.java
|
||||
ch/boye/httpclientandroidlib/util/EntityUtils.java
|
||||
ch/boye/httpclientandroidlib/util/ExceptionUtils.java
|
||||
ch/boye/httpclientandroidlib/util/LangUtils.java
|
||||
ch/boye/httpclientandroidlib/util/VersionInfo.java
|
||||
org/json/simple/ItemList.java
|
||||
org/json/simple/JSONArray.java
|
||||
org/json/simple/JSONAware.java
|
||||
org/json/simple/JSONObject.java
|
||||
org/json/simple/JSONStreamAware.java
|
||||
org/json/simple/JSONValue.java
|
||||
org/json/simple/parser/ContainerFactory.java
|
||||
org/json/simple/parser/ContentHandler.java
|
||||
org/json/simple/parser/JSONParser.java
|
||||
org/json/simple/parser/ParseException.java
|
||||
org/json/simple/parser/Yylex.java
|
||||
org/json/simple/parser/Yytoken.java
|
||||
org/mozilla/apache/commons/codec/binary/Base32.java
|
||||
org/mozilla/apache/commons/codec/binary/Base32InputStream.java
|
||||
org/mozilla/apache/commons/codec/binary/Base32OutputStream.java
|
||||
org/mozilla/apache/commons/codec/binary/Base64.java
|
||||
org/mozilla/apache/commons/codec/binary/Base64InputStream.java
|
||||
org/mozilla/apache/commons/codec/binary/Base64OutputStream.java
|
||||
org/mozilla/apache/commons/codec/binary/BaseNCodec.java
|
||||
org/mozilla/apache/commons/codec/binary/BaseNCodecInputStream.java
|
||||
org/mozilla/apache/commons/codec/binary/BaseNCodecOutputStream.java
|
||||
org/mozilla/apache/commons/codec/binary/BinaryCodec.java
|
||||
org/mozilla/apache/commons/codec/binary/Hex.java
|
||||
org/mozilla/apache/commons/codec/binary/StringUtils.java
|
||||
org/mozilla/apache/commons/codec/BinaryDecoder.java
|
||||
org/mozilla/apache/commons/codec/BinaryEncoder.java
|
||||
org/mozilla/apache/commons/codec/CharEncoding.java
|
||||
org/mozilla/apache/commons/codec/Decoder.java
|
||||
org/mozilla/apache/commons/codec/DecoderException.java
|
||||
org/mozilla/apache/commons/codec/digest/DigestUtils.java
|
||||
org/mozilla/apache/commons/codec/Encoder.java
|
||||
org/mozilla/apache/commons/codec/EncoderException.java
|
||||
org/mozilla/apache/commons/codec/language/AbstractCaverphone.java
|
||||
org/mozilla/apache/commons/codec/language/Caverphone.java
|
||||
org/mozilla/apache/commons/codec/language/Caverphone1.java
|
||||
org/mozilla/apache/commons/codec/language/Caverphone2.java
|
||||
org/mozilla/apache/commons/codec/language/ColognePhonetic.java
|
||||
org/mozilla/apache/commons/codec/language/DoubleMetaphone.java
|
||||
org/mozilla/apache/commons/codec/language/Metaphone.java
|
||||
org/mozilla/apache/commons/codec/language/RefinedSoundex.java
|
||||
org/mozilla/apache/commons/codec/language/Soundex.java
|
||||
org/mozilla/apache/commons/codec/language/SoundexUtils.java
|
||||
org/mozilla/apache/commons/codec/net/BCodec.java
|
||||
org/mozilla/apache/commons/codec/net/QCodec.java
|
||||
org/mozilla/apache/commons/codec/net/QuotedPrintableCodec.java
|
||||
org/mozilla/apache/commons/codec/net/RFC1522Codec.java
|
||||
org/mozilla/apache/commons/codec/net/URLCodec.java
|
||||
org/mozilla/apache/commons/codec/net/Utils.java
|
||||
org/mozilla/apache/commons/codec/StringDecoder.java
|
||||
org/mozilla/apache/commons/codec/StringEncoder.java
|
||||
org/mozilla/apache/commons/codec/StringEncoderComparator.java
|
@ -1,4 +0,0 @@
|
||||
background/common/GlobalConstants.java
|
||||
sync/SyncConstants.java
|
||||
background/announcements/AnnouncementsConstants.java
|
||||
background/healthreport/HealthReportConstants.java
|
@ -131,9 +131,9 @@ DownloadLegacyTransfer.prototype = {
|
||||
aCurTotalProgress,
|
||||
aMaxTotalProgress)
|
||||
{
|
||||
return onProgressChange64(aWebProgress, aRequest, aCurSelfProgress,
|
||||
aMaxSelfProgress, aCurTotalProgress,
|
||||
aMaxTotalProgress);
|
||||
this.onProgressChange64(aWebProgress, aRequest, aCurSelfProgress,
|
||||
aMaxSelfProgress, aCurTotalProgress,
|
||||
aMaxTotalProgress);
|
||||
},
|
||||
|
||||
onLocationChange: function () { },
|
||||
|
@ -222,6 +222,11 @@ static const char kIsGarbageCollectingParameter[] = "IsGarbageCollecting=";
|
||||
static const int kIsGarbageCollectingParameterLen =
|
||||
sizeof(kIsGarbageCollectingParameter)-1;
|
||||
|
||||
#ifdef XP_WIN
|
||||
static const char kBlockedDllsParameter[] = "BlockedDllList=";
|
||||
static const int kBlockedDllsParameterLen = sizeof(kBlockedDllsParameter) - 1;
|
||||
#endif
|
||||
|
||||
// this holds additional data sent via the API
|
||||
static Mutex* crashReporterAPILock;
|
||||
static Mutex* notesFieldLock;
|
||||
@ -540,6 +545,9 @@ bool MinidumpCallback(
|
||||
WriteFile(hFile, isGarbageCollecting ? "1" : "0", 1, &nBytes, nullptr);
|
||||
WriteFile(hFile, "\n", 1, &nBytes, nullptr);
|
||||
}
|
||||
WriteFile(hFile, kBlockedDllsParameter, kBlockedDllsParameterLen, &nBytes, nullptr);
|
||||
WriteBlockedDlls(hFile);
|
||||
WriteFile(hFile, "\n", 1, &nBytes, nullptr);
|
||||
|
||||
// Try to get some information about memory.
|
||||
MEMORYSTATUSEX statex;
|
||||
|
@ -44,6 +44,11 @@ nsresult AppendAppNotesToCrashReport(const nsACString& data);
|
||||
|
||||
nsresult SetGarbageCollecting(bool collecting);
|
||||
|
||||
#ifdef XP_WIN
|
||||
// Implemented by the blocklist, this method writes the blocklist annotation
|
||||
void WriteBlockedDlls(HANDLE file);
|
||||
#endif
|
||||
|
||||
nsresult SetRestartArgs(int argc, char** argv);
|
||||
nsresult SetupExtraData(nsIFile* aAppDataDirectory,
|
||||
const nsACString& aBuildID);
|
||||
|
@ -89,7 +89,7 @@ ifdef MOZ_B2G_RIL #{
|
||||
STATIC_LIBS += mozril_s
|
||||
endif #}
|
||||
|
||||
ifdef MOZ_B2G_BT_BLUEZ #{
|
||||
ifdef MOZ_B2G_BT #{
|
||||
STATIC_LIBS += mozdbus_s
|
||||
ifeq (gonk,$(MOZ_WIDGET_TOOLKIT))
|
||||
OS_LIBS += -ldbus
|
||||
|
@ -20,10 +20,11 @@
|
||||
|
||||
#include "nsWindowsDllInterceptor.h"
|
||||
#include "mozilla/WindowsVersion.h"
|
||||
#include "nsWindowsHelpers.h"
|
||||
|
||||
using namespace mozilla;
|
||||
|
||||
#if defined(MOZ_CRASHREPORTER) && !defined(NO_BLOCKLIST_CRASHREPORTER)
|
||||
#ifdef MOZ_CRASHREPORTER
|
||||
#include "nsExceptionHandler.h"
|
||||
#endif
|
||||
|
||||
@ -138,6 +139,10 @@ static DllBlockInfo sWindowsDllBlocklist[] = {
|
||||
// bug 925459, bitguard crashes
|
||||
{ "bitguard.dll", MAKE_VERSION(2, 6, 1694, 24) },
|
||||
|
||||
// bug 812683 - crashes in Windows library when Asus Gamer OSD is installed
|
||||
// Software is discontinued/unsupported
|
||||
{ "atkdx11disp.dll", ALL_VERSIONS },
|
||||
|
||||
{ nullptr, 0 }
|
||||
};
|
||||
|
||||
@ -220,6 +225,10 @@ CheckASLR(const wchar_t* path)
|
||||
return retval;
|
||||
}
|
||||
|
||||
// This lock protects both the reentrancy sentinel and the crash reporter
|
||||
// data structures.
|
||||
static CRITICAL_SECTION sLock;
|
||||
|
||||
/**
|
||||
* Some versions of Windows call LoadLibraryEx to get the version information
|
||||
* for a DLL, which causes our patched LdrLoadDll implementation to re-enter
|
||||
@ -236,22 +245,20 @@ public:
|
||||
explicit ReentrancySentinel(const char* dllName)
|
||||
{
|
||||
DWORD currentThreadId = GetCurrentThreadId();
|
||||
EnterCriticalSection(&sLock);
|
||||
AutoCriticalSection lock(&sLock);
|
||||
mPreviousDllName = (*sThreadMap)[currentThreadId];
|
||||
|
||||
// If there is a DLL currently being loaded and it has the same name
|
||||
// as the current attempt, we're re-entering.
|
||||
mReentered = mPreviousDllName && !stricmp(mPreviousDllName, dllName);
|
||||
(*sThreadMap)[currentThreadId] = dllName;
|
||||
LeaveCriticalSection(&sLock);
|
||||
}
|
||||
|
||||
~ReentrancySentinel()
|
||||
{
|
||||
DWORD currentThreadId = GetCurrentThreadId();
|
||||
EnterCriticalSection(&sLock);
|
||||
AutoCriticalSection lock(&sLock);
|
||||
(*sThreadMap)[currentThreadId] = mPreviousDllName;
|
||||
LeaveCriticalSection(&sLock);
|
||||
}
|
||||
|
||||
bool BailOut() const
|
||||
@ -266,16 +273,94 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
static CRITICAL_SECTION sLock;
|
||||
static std::map<DWORD, const char*>* sThreadMap;
|
||||
|
||||
const char* mPreviousDllName;
|
||||
bool mReentered;
|
||||
};
|
||||
|
||||
CRITICAL_SECTION ReentrancySentinel::sLock;
|
||||
std::map<DWORD, const char*>* ReentrancySentinel::sThreadMap;
|
||||
|
||||
/**
|
||||
* This is a linked list of DLLs that have been blocked. It doesn't use
|
||||
* mozilla::LinkedList because this is an append-only list and doesn't need
|
||||
* to be doubly linked.
|
||||
*/
|
||||
class DllBlockSet
|
||||
{
|
||||
public:
|
||||
static void Add(const char* name, unsigned long long version);
|
||||
|
||||
// Write the list of blocked DLLs to a file HANDLE. This method is run after
|
||||
// a crash occurs and must therefore not use the heap, etc.
|
||||
static void Write(HANDLE file);
|
||||
|
||||
private:
|
||||
DllBlockSet(const char* name, unsigned long long version)
|
||||
: mName(name)
|
||||
, mVersion(version)
|
||||
, mNext(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
const char* mName; // points into the sWindowsDllBlocklist string
|
||||
unsigned long long mVersion;
|
||||
DllBlockSet* mNext;
|
||||
|
||||
static DllBlockSet* gFirst;
|
||||
};
|
||||
|
||||
DllBlockSet* DllBlockSet::gFirst;
|
||||
|
||||
void
|
||||
DllBlockSet::Add(const char* name, unsigned long long version)
|
||||
{
|
||||
AutoCriticalSection lock(&sLock);
|
||||
for (DllBlockSet* b = gFirst; b; b = b->mNext) {
|
||||
if (0 == strcmp(b->mName, name) && b->mVersion == version) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Not already present
|
||||
DllBlockSet* n = new DllBlockSet(name, version);
|
||||
n->mNext = gFirst;
|
||||
gFirst = n;
|
||||
}
|
||||
|
||||
void
|
||||
DllBlockSet::Write(HANDLE file)
|
||||
{
|
||||
AutoCriticalSection lock(&sLock);
|
||||
DWORD nBytes;
|
||||
|
||||
// Because this method is called after a crash occurs, and uses heap memory,
|
||||
// protect this entire block with a structured exception handler.
|
||||
__try {
|
||||
for (DllBlockSet* b = gFirst; b; b = b->mNext) {
|
||||
// write name[,v.v.v.v];
|
||||
WriteFile(file, b->mName, strlen(b->mName), &nBytes, nullptr);
|
||||
if (b->mVersion != -1) {
|
||||
WriteFile(file, ",", 1, &nBytes, nullptr);
|
||||
uint16_t parts[4];
|
||||
parts[0] = b->mVersion >> 48;
|
||||
parts[1] = (b->mVersion >> 32) & 0xFFFF;
|
||||
parts[2] = (b->mVersion >> 16) & 0xFFFF;
|
||||
parts[3] = b->mVersion & 0xFFFF;
|
||||
for (int p = 0; p < 4; ++p) {
|
||||
char buf[32];
|
||||
ltoa(parts[p], buf, 10);
|
||||
WriteFile(file, buf, strlen(buf), &nBytes, nullptr);
|
||||
if (p != 3) {
|
||||
WriteFile(file, ".", 1, &nBytes, nullptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
WriteFile(file, ";", 1, &nBytes, nullptr);
|
||||
}
|
||||
}
|
||||
__except (EXCEPTION_EXECUTE_HANDLER) { }
|
||||
}
|
||||
|
||||
static
|
||||
wchar_t* getFullPath (PWCHAR filePath, wchar_t* fname)
|
||||
{
|
||||
@ -304,6 +389,17 @@ wchar_t* getFullPath (PWCHAR filePath, wchar_t* fname)
|
||||
return full_fname;
|
||||
}
|
||||
|
||||
// No builtin function to find the last character matching a set
|
||||
static wchar_t* lastslash(wchar_t* s, int len)
|
||||
{
|
||||
for (wchar_t* c = s + len - 1; c >= s; --c) {
|
||||
if (*c == L'\\' || *c == L'/') {
|
||||
return c;
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
static NTSTATUS NTAPI
|
||||
patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileName, PHANDLE handle)
|
||||
{
|
||||
@ -330,7 +426,7 @@ patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileNam
|
||||
goto continue_loading;
|
||||
}
|
||||
|
||||
dll_part = wcsrchr(fname, L'\\');
|
||||
dll_part = lastslash(fname, len);
|
||||
if (dll_part) {
|
||||
dll_part = dll_part + 1;
|
||||
len -= dll_part - fname;
|
||||
@ -396,6 +492,8 @@ patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileNam
|
||||
goto continue_loading;
|
||||
}
|
||||
|
||||
unsigned long long fVersion = ALL_VERSIONS;
|
||||
|
||||
if (info->maxVersion != ALL_VERSIONS) {
|
||||
ReentrancySentinel sentinel(dllName);
|
||||
if (sentinel.BailOut()) {
|
||||
@ -422,7 +520,7 @@ patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileNam
|
||||
if (GetFileVersionInfoW(full_fname, 0, infoSize, infoData) &&
|
||||
VerQueryValueW(infoData, L"\\", (LPVOID*) &vInfo, &vInfoLen))
|
||||
{
|
||||
unsigned long long fVersion =
|
||||
fVersion =
|
||||
((unsigned long long)vInfo->dwFileVersionMS) << 32 |
|
||||
((unsigned long long)vInfo->dwFileVersionLS);
|
||||
|
||||
@ -436,6 +534,7 @@ patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileNam
|
||||
|
||||
if (!load_ok) {
|
||||
printf_stderr("LdrLoadDll: Blocking load of '%s' -- see http://www.mozilla.com/en-US/blocklist/\n", dllName);
|
||||
DllBlockSet::Add(info->name, fVersion);
|
||||
return STATUS_DLL_NOT_FOUND;
|
||||
}
|
||||
}
|
||||
@ -481,9 +580,17 @@ XRE_SetupDllBlocklist()
|
||||
printf_stderr ("LdrLoadDll hook failed, no dll blocklisting active\n");
|
||||
#endif
|
||||
|
||||
#if defined(MOZ_CRASHREPORTER) && !defined(NO_BLOCKLIST_CRASHREPORTER)
|
||||
#ifdef MOZ_CRASHREPORTER
|
||||
if (!ok) {
|
||||
CrashReporter::AppendAppNotesToCrashReport(NS_LITERAL_CSTRING("DllBlockList Failed\n"));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef MOZ_CRASHREPORTER
|
||||
void
|
||||
CrashReporter::WriteBlockedDlls(HANDLE file)
|
||||
{
|
||||
DllBlockSet::Write(file);
|
||||
}
|
||||
#endif
|
||||
|
@ -9,6 +9,26 @@
|
||||
#include "nsAutoRef.h"
|
||||
#include "nscore.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Critical Section helper class
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class AutoCriticalSection
|
||||
{
|
||||
public:
|
||||
AutoCriticalSection(LPCRITICAL_SECTION section)
|
||||
: mSection(section)
|
||||
{
|
||||
::EnterCriticalSection(mSection);
|
||||
}
|
||||
~AutoCriticalSection()
|
||||
{
|
||||
::LeaveCriticalSection(mSection);
|
||||
}
|
||||
private:
|
||||
LPCRITICAL_SECTION mSection;
|
||||
};
|
||||
|
||||
template<>
|
||||
class nsAutoRefTraits<HKEY>
|
||||
{
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "mozilla/MathAlgorithms.h"
|
||||
#include "mozilla/Mutex.h"
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include "nsWindowsHelpers.h"
|
||||
#include <windows.h>
|
||||
|
||||
#include "nsCRT.h"
|
||||
@ -185,26 +186,6 @@ namespace mozilla {
|
||||
typedef ULONGLONG (WINAPI* GetTickCount64_t)();
|
||||
static GetTickCount64_t sGetTickCount64 = nullptr;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Critical Section helper class
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class AutoCriticalSection
|
||||
{
|
||||
public:
|
||||
AutoCriticalSection(LPCRITICAL_SECTION section)
|
||||
: mSection(section)
|
||||
{
|
||||
::EnterCriticalSection(mSection);
|
||||
}
|
||||
~AutoCriticalSection()
|
||||
{
|
||||
::LeaveCriticalSection(mSection);
|
||||
}
|
||||
private:
|
||||
LPCRITICAL_SECTION mSection;
|
||||
};
|
||||
|
||||
// Function protecting GetTickCount result from rolling over,
|
||||
// result is in [ms]
|
||||
static ULONGLONG WINAPI
|
||||
|
Loading…
Reference in New Issue
Block a user