mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 582244 - Part 1: Bare bones PB implementation. r=mfinkle
This commit is contained in:
parent
79751f5392
commit
17c96a1e9d
@ -895,6 +895,9 @@ abstract public class BrowserApp extends GeckoApp
|
||||
}
|
||||
GeckoAppShell.sendEventToGecko(GeckoEvent.createBroadcastEvent("DesktopMode:Change", args.toString()));
|
||||
return true;
|
||||
case R.id.private_browsing:
|
||||
Tabs.getInstance().loadUrl("about:home", Tabs.LOADURL_NEW_TAB | Tabs.LOADURL_PRIVATE);
|
||||
return true;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -37,6 +37,7 @@ public class Tabs implements GeckoEventListener {
|
||||
public static final int LOADURL_NONE = 0;
|
||||
public static final int LOADURL_NEW_TAB = 1;
|
||||
public static final int LOADURL_USER_ENTERED = 2;
|
||||
public static final int LOADURL_PRIVATE = 4;
|
||||
|
||||
private static final int SCORE_INCREMENT_TAB_LOCATION_CHANGE = 5;
|
||||
private static final int SCORE_INCREMENT_TAB_SELECTED = 10;
|
||||
@ -455,11 +456,14 @@ public class Tabs implements GeckoEventListener {
|
||||
int tabId = -1;
|
||||
|
||||
try {
|
||||
boolean isPrivate = (flags & LOADURL_PRIVATE) != 0;
|
||||
|
||||
args.put("url", url);
|
||||
args.put("engine", searchEngine);
|
||||
args.put("parentId", parentId);
|
||||
args.put("userEntered", (flags & LOADURL_USER_ENTERED) != 0);
|
||||
args.put("newTab", (flags & LOADURL_NEW_TAB) != 0);
|
||||
args.put("isPrivate", isPrivate);
|
||||
|
||||
if ((flags & LOADURL_NEW_TAB) != 0) {
|
||||
tabId = getNextTabId();
|
||||
|
@ -126,6 +126,7 @@ size. -->
|
||||
<!ENTITY find_in_page "Find in Page">
|
||||
<!ENTITY desktop_mode "Request Desktop Site">
|
||||
<!ENTITY tools "Tools">
|
||||
<!ENTITY new_pb_tab "New Private Browsing Tab">
|
||||
|
||||
<!-- Localization note (find_text, find_prev, find_next, find_close) : These strings are used
|
||||
as alternate text for accessibility. They are not visible in the UI. -->
|
||||
|
@ -32,6 +32,9 @@
|
||||
android:title="@string/desktop_mode"
|
||||
android:checkable="true" />
|
||||
|
||||
<item android:id="@+id/private_browsing"
|
||||
android:title="@string/new_pb_tab"/>
|
||||
|
||||
<item android:title="@string/tools"
|
||||
android:icon="@drawable/ic_menu_tools">
|
||||
|
||||
|
@ -33,6 +33,9 @@
|
||||
android:title="@string/desktop_mode"
|
||||
android:checkable="true" />
|
||||
|
||||
<item android:id="@+id/private_browsing"
|
||||
android:title="@string/new_pb_tab"/>
|
||||
|
||||
<item android:title="@string/tools"
|
||||
android:icon="@drawable/ic_menu_tools">
|
||||
|
||||
|
@ -33,6 +33,9 @@
|
||||
android:title="@string/desktop_mode"
|
||||
android:checkable="true" />
|
||||
|
||||
<item android:id="@+id/private_browsing"
|
||||
android:title="@string/new_pb_tab"/>
|
||||
|
||||
<item android:title="@string/tools"
|
||||
android:icon="@drawable/ic_menu_tools">
|
||||
|
||||
|
@ -32,6 +32,9 @@
|
||||
android:title="@string/desktop_mode"
|
||||
android:checkable="true" />
|
||||
|
||||
<item android:id="@+id/private_browsing"
|
||||
android:title="@string/new_pb_tab"/>
|
||||
|
||||
<item android:id="@+id/addons"
|
||||
android:title="@string/addons"/>
|
||||
|
||||
|
@ -125,6 +125,7 @@
|
||||
<string name="downloads">&downloads;</string>
|
||||
<string name="apps">&apps;</string>
|
||||
<string name="char_encoding">&char_encoding;</string>
|
||||
<string name="new_pb_tab">&new_pb_tab;</string>
|
||||
<!-- This string only appears in developer builds, which
|
||||
is why it is not localizable. -->
|
||||
<string name="toggle_profiling">Toggle Profiling</string>
|
||||
|
@ -1089,7 +1089,8 @@ var BrowserApp = {
|
||||
selected: true,
|
||||
parentId: ("parentId" in data) ? data.parentId : -1,
|
||||
flags: flags,
|
||||
tabID: data.tabID
|
||||
tabID: data.tabID,
|
||||
isPrivate: data.isPrivate
|
||||
};
|
||||
|
||||
let url = data.url;
|
||||
@ -2282,6 +2283,11 @@ Tab.prototype = {
|
||||
// Must be called after appendChild so the docshell has been created.
|
||||
this.setActive(false);
|
||||
|
||||
let isPrivate = ("isPrivate" in aParams) && aParams.isPrivate;
|
||||
if (isPrivate) {
|
||||
this.browser.docShell.QueryInterface(Ci.nsILoadContext).usePrivateBrowsing = true;
|
||||
}
|
||||
|
||||
this.browser.stop();
|
||||
|
||||
let frameLoader = this.browser.QueryInterface(Ci.nsIFrameLoaderOwner).frameLoader;
|
||||
@ -2316,7 +2322,8 @@ Tab.prototype = {
|
||||
selected: ("selected" in aParams) ? aParams.selected : true,
|
||||
title: aParams.title || aURL,
|
||||
delayLoad: aParams.delayLoad || false,
|
||||
desktopMode: this.desktopMode
|
||||
desktopMode: this.desktopMode,
|
||||
isPrivate: isPrivate
|
||||
}
|
||||
};
|
||||
sendMessageToJava(message);
|
||||
|
Loading…
Reference in New Issue
Block a user