mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Merge m-c to inbound on a CLOSED TREE
This commit is contained in:
commit
cc152eb194
@ -723,3 +723,7 @@ SettingsListener.observe('layers.draw-tile-borders', false, function(value) {
|
||||
Services.prefs.setBoolPref('layers.draw-tile-borders', value);
|
||||
});
|
||||
|
||||
SettingsListener.observe('layers.dump', false, function(value) {
|
||||
Services.prefs.setBoolPref('layers.dump', value);
|
||||
});
|
||||
|
||||
|
@ -14,4 +14,5 @@ body {
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
@ -19,7 +19,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="c8d34e6e98d4b99921fda59ddd89f2dcdce201fc"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ec159aac19ff25912f1d68ffb44b29f797583ef5"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="d11f524d00cacf5ba0dfbf25e4aa2158b1c3a036"/>
|
||||
|
@ -17,7 +17,7 @@
|
||||
</project>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="c8d34e6e98d4b99921fda59ddd89f2dcdce201fc"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="ec159aac19ff25912f1d68ffb44b29f797583ef5"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="3d5c964015967ca8c86abe6dbbebee3cb82b1609"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="52ca41d9fa6ef88e65d9da52e375716c68d48646"/>
|
||||
|
@ -19,7 +19,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="c8d34e6e98d4b99921fda59ddd89f2dcdce201fc"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="ec159aac19ff25912f1d68ffb44b29f797583ef5"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="15e8982284c4560f9c74c2b9fe8bb361ebfe0cb6"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="d11f524d00cacf5ba0dfbf25e4aa2158b1c3a036"/>
|
||||
|
@ -4801,9 +4801,8 @@ const nodeToShortcutMap = {
|
||||
"tabview-button": "key_tabview",
|
||||
};
|
||||
const gDynamicTooltipCache = new Map();
|
||||
function UpdateDynamicShortcutTooltipText(popupTriggerNode) {
|
||||
let label = document.getElementById("dynamic-shortcut-tooltip-label");
|
||||
let nodeId = popupTriggerNode.id;
|
||||
function UpdateDynamicShortcutTooltipText(aTooltip) {
|
||||
let nodeId = aTooltip.triggerNode.id;
|
||||
if (!gDynamicTooltipCache.has(nodeId) && nodeId in nodeToTooltipMap) {
|
||||
let strId = nodeToTooltipMap[nodeId];
|
||||
let args = [];
|
||||
@ -4816,8 +4815,7 @@ function UpdateDynamicShortcutTooltipText(popupTriggerNode) {
|
||||
}
|
||||
gDynamicTooltipCache.set(nodeId, gNavigatorBundle.getFormattedString(strId, args));
|
||||
}
|
||||
let desiredLabel = gDynamicTooltipCache.get(nodeId);
|
||||
label.setAttribute("value", desiredLabel);
|
||||
aTooltip.setAttribute("label", gDynamicTooltipCache.get(nodeId));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -476,9 +476,7 @@
|
||||
</hbox>
|
||||
|
||||
<tooltip id="dynamic-shortcut-tooltip"
|
||||
onpopupshowing="UpdateDynamicShortcutTooltipText(this.triggerNode)">
|
||||
<label id="dynamic-shortcut-tooltip-label"/>
|
||||
</tooltip>
|
||||
onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
|
||||
</popupset>
|
||||
|
||||
#ifdef CAN_DRAW_IN_TITLEBAR
|
||||
|
@ -1058,11 +1058,13 @@ nsDOMCameraControl::OnRecorderStateChange(CameraControlListener::RecorderState a
|
||||
mStartRecordingOnErrorCb = nullptr;
|
||||
cb->Call(ignored);
|
||||
}
|
||||
return;
|
||||
state = NS_LITERAL_STRING("Started");
|
||||
break;
|
||||
|
||||
case CameraControlListener::kRecorderStopped:
|
||||
NotifyRecordingStatusChange(NS_LITERAL_STRING("shutdown"));
|
||||
return;
|
||||
state = NS_LITERAL_STRING("Stopped");
|
||||
break;
|
||||
|
||||
#ifdef MOZ_B2G_CAMERA
|
||||
case CameraControlListener::kFileSizeLimitReached:
|
||||
|
@ -57,6 +57,8 @@ public:
|
||||
|
||||
virtual ~CanvasClient() {}
|
||||
|
||||
virtual void Clear() {};
|
||||
|
||||
virtual void Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer) = 0;
|
||||
|
||||
virtual void Updated() { }
|
||||
@ -80,6 +82,11 @@ public:
|
||||
return TextureInfo(COMPOSITABLE_IMAGE);
|
||||
}
|
||||
|
||||
virtual void Clear() MOZ_OVERRIDE
|
||||
{
|
||||
mBuffer = nullptr;
|
||||
}
|
||||
|
||||
virtual void Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer) MOZ_OVERRIDE;
|
||||
|
||||
virtual bool AddTextureClient(TextureClient* aTexture) MOZ_OVERRIDE
|
||||
@ -113,6 +120,11 @@ public:
|
||||
return TextureInfo(COMPOSITABLE_IMAGE);
|
||||
}
|
||||
|
||||
virtual void Clear() MOZ_OVERRIDE
|
||||
{
|
||||
mBuffer = nullptr;
|
||||
}
|
||||
|
||||
virtual void Update(gfx::IntSize aSize, ClientCanvasLayer* aLayer) MOZ_OVERRIDE;
|
||||
|
||||
virtual void OnDetach() MOZ_OVERRIDE
|
||||
|
@ -56,6 +56,13 @@ public:
|
||||
|
||||
virtual void RenderLayer();
|
||||
|
||||
virtual void ClearCachedResources()
|
||||
{
|
||||
if (mCanvasClient) {
|
||||
mCanvasClient->Clear();
|
||||
}
|
||||
}
|
||||
|
||||
virtual void FillSpecificAttributes(SpecificLayerAttributes& aAttrs)
|
||||
{
|
||||
aAttrs = CanvasLayerAttributes(mFilter, mBounds);
|
||||
|
@ -206,7 +206,12 @@ public:
|
||||
typedef RotatedContentBuffer::PaintState PaintState;
|
||||
typedef RotatedContentBuffer::ContentType ContentType;
|
||||
|
||||
virtual void Clear() { RotatedContentBuffer::Clear(); }
|
||||
virtual void Clear()
|
||||
{
|
||||
RotatedContentBuffer::Clear();
|
||||
mTextureClient = nullptr;
|
||||
mTextureClientOnWhite = nullptr;
|
||||
}
|
||||
|
||||
virtual PaintState BeginPaintBuffer(ThebesLayer* aLayer,
|
||||
uint32_t aFlags) MOZ_OVERRIDE
|
||||
@ -424,6 +429,13 @@ public:
|
||||
}
|
||||
virtual ~ContentClientDoubleBuffered() {}
|
||||
|
||||
virtual void Clear() MOZ_OVERRIDE
|
||||
{
|
||||
ContentClientRemoteBuffer::Clear();
|
||||
mFrontClient = nullptr;
|
||||
mFrontClientOnWhite = nullptr;
|
||||
}
|
||||
|
||||
virtual void SwapBuffers(const nsIntRegion& aFrontUpdatedRegion) MOZ_OVERRIDE;
|
||||
|
||||
virtual void PrepareFrame() MOZ_OVERRIDE;
|
||||
|
@ -305,8 +305,9 @@ TextureClient::Finalize()
|
||||
|
||||
if (actor) {
|
||||
// this will call ForceRemove in the right thread, using a sync proxy if needed
|
||||
actor->GetForwarder()->RemoveTexture(this);
|
||||
|
||||
if (actor->GetForwarder()) {
|
||||
actor->GetForwarder()->RemoveTexture(this);
|
||||
}
|
||||
// The actor has a raw pointer to us, actor->mTextureClient. Null it before we die.
|
||||
actor->mTextureClient = nullptr;
|
||||
}
|
||||
|
@ -2101,7 +2101,6 @@ InitLayersAccelerationPrefs()
|
||||
sPrefLayersAccelerationDisabled = Preferences::GetBool("layers.acceleration.disabled", false);
|
||||
sPrefLayersPreferOpenGL = Preferences::GetBool("layers.prefer-opengl", false);
|
||||
sPrefLayersPreferD3D9 = Preferences::GetBool("layers.prefer-d3d9", false);
|
||||
sPrefLayersDrawFPS = Preferences::GetBool("layers.acceleration.draw-fps", false);
|
||||
sPrefLayersDump = Preferences::GetBool("layers.dump", false);
|
||||
sPrefLayersScrollGraph = Preferences::GetBool("layers.scroll-graph", false);
|
||||
sPrefLayersEnableTiles = Preferences::GetBool("layers.enable-tiles", false);
|
||||
@ -2111,6 +2110,8 @@ InitLayersAccelerationPrefs()
|
||||
sComponentAlphaEnabled = Preferences::GetBool("layers.componentalpha.enabled", true);
|
||||
sPrefBrowserTabsRemoteAutostart = Preferences::GetBool("browser.tabs.remote.autostart", false);
|
||||
|
||||
Preferences::AddBoolVarCache(&sPrefLayersDrawFPS, "layers.acceleration.draw-fps", false);
|
||||
|
||||
#ifdef XP_WIN
|
||||
if (sPrefLayersAccelerationForceEnabled) {
|
||||
sLayersSupportsD3D9 = true;
|
||||
|
@ -74,6 +74,12 @@ public class Tab {
|
||||
public static final int STATE_SUCCESS = 2;
|
||||
public static final int STATE_ERROR = 3;
|
||||
|
||||
public static final int LOAD_PROGRESS_INIT = 10;
|
||||
public static final int LOAD_PROGRESS_START = 20;
|
||||
public static final int LOAD_PROGRESS_LOCATION_CHANGE = 60;
|
||||
public static final int LOAD_PROGRESS_LOADED = 80;
|
||||
public static final int LOAD_PROGRESS_STOP = 100;
|
||||
|
||||
private static final int DEFAULT_BACKGROUND_COLOR = Color.WHITE;
|
||||
|
||||
public enum ErrorType {
|
||||
@ -112,6 +118,7 @@ public class Tab {
|
||||
mPluginViews = new ArrayList<View>();
|
||||
mPluginLayers = new HashMap<Object, Layer>();
|
||||
mState = shouldShowProgress(url) ? STATE_SUCCESS : STATE_LOADING;
|
||||
mLoadProgress = LOAD_PROGRESS_INIT;
|
||||
|
||||
// At startup, the background is set to a color specified by LayerView
|
||||
// when the LayerView is created. Shortly after, this background color
|
||||
@ -628,6 +635,7 @@ public class Tab {
|
||||
setHasTouchListeners(false);
|
||||
setBackgroundColor(DEFAULT_BACKGROUND_COLOR);
|
||||
setErrorType(ErrorType.NONE);
|
||||
setLoadProgress(LOAD_PROGRESS_LOCATION_CHANGE);
|
||||
|
||||
Tabs.getInstance().notifyListeners(this, Tabs.TabEvents.LOCATION_CHANGE, oldUrl);
|
||||
}
|
||||
@ -639,6 +647,7 @@ public class Tab {
|
||||
}
|
||||
|
||||
void handleDocumentStart(boolean showProgress, String url) {
|
||||
setLoadProgress(LOAD_PROGRESS_START);
|
||||
setState(showProgress ? STATE_LOADING : STATE_SUCCESS);
|
||||
updateIdentityData(null);
|
||||
setReaderEnabled(false);
|
||||
@ -649,6 +658,7 @@ public class Tab {
|
||||
|
||||
final String oldURL = getURL();
|
||||
final Tab tab = this;
|
||||
tab.setLoadProgress(LOAD_PROGRESS_STOP);
|
||||
ThreadUtils.getBackgroundHandler().postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -659,7 +669,11 @@ public class Tab {
|
||||
ThumbnailHelper.getInstance().getAndProcessThumbnailFor(tab);
|
||||
}
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
|
||||
void handleContentLoaded() {
|
||||
setLoadProgress(LOAD_PROGRESS_LOADED);
|
||||
}
|
||||
|
||||
protected void saveThumbnailToDB() {
|
||||
try {
|
||||
|
@ -51,11 +51,6 @@ public class Tabs implements GeckoEventListener {
|
||||
private AccountManager mAccountManager;
|
||||
private OnAccountsUpdateListener mAccountListener = null;
|
||||
|
||||
private static final int LOAD_PROGRESS_START = 20;
|
||||
private static final int LOAD_PROGRESS_LOCATION_CHANGE = 60;
|
||||
private static final int LOAD_PROGRESS_LOADED = 80;
|
||||
private static final int LOAD_PROGRESS_STOP = 100;
|
||||
|
||||
public static final int LOADURL_NONE = 0;
|
||||
public static final int LOADURL_NEW_TAB = 1 << 0;
|
||||
public static final int LOADURL_USER_ENTERED = 1 << 1;
|
||||
@ -440,7 +435,6 @@ public class Tabs implements GeckoEventListener {
|
||||
} else if (event.equals("Tab:Select")) {
|
||||
selectTab(tab.getId());
|
||||
} else if (event.equals("Content:LocationChange")) {
|
||||
tab.setLoadProgress(LOAD_PROGRESS_LOCATION_CHANGE);
|
||||
tab.handleLocationChange(message);
|
||||
} else if (event.equals("Content:SecurityChange")) {
|
||||
tab.updateIdentityData(message.getJSONObject("identity"));
|
||||
@ -454,20 +448,19 @@ public class Tabs implements GeckoEventListener {
|
||||
if ((state & GeckoAppShell.WPL_STATE_START) != 0) {
|
||||
boolean showProgress = message.getBoolean("showProgress");
|
||||
tab.handleDocumentStart(showProgress, message.getString("uri"));
|
||||
tab.setLoadProgress(LOAD_PROGRESS_START);
|
||||
notifyListeners(tab, Tabs.TabEvents.START);
|
||||
} else if ((state & GeckoAppShell.WPL_STATE_STOP) != 0) {
|
||||
tab.handleDocumentStop(message.getBoolean("success"));
|
||||
tab.setLoadProgress(LOAD_PROGRESS_STOP);
|
||||
notifyListeners(tab, Tabs.TabEvents.STOP);
|
||||
}
|
||||
}
|
||||
} else if (event.equals("Content:LoadError")) {
|
||||
tab.setLoadProgress(LOAD_PROGRESS_LOADED);
|
||||
tab.handleContentLoaded();
|
||||
notifyListeners(tab, Tabs.TabEvents.LOAD_ERROR);
|
||||
} else if (event.equals("Content:PageShow")) {
|
||||
notifyListeners(tab, TabEvents.PAGE_SHOW);
|
||||
} else if (event.equals("DOMContentLoaded")) {
|
||||
tab.handleContentLoaded();
|
||||
String backgroundColor = message.getString("bgColor");
|
||||
if (backgroundColor != null) {
|
||||
tab.setBackgroundColor(backgroundColor);
|
||||
@ -476,7 +469,6 @@ public class Tabs implements GeckoEventListener {
|
||||
tab.setBackgroundColor(Color.WHITE);
|
||||
}
|
||||
tab.setErrorType(message.optString("errorType"));
|
||||
tab.setLoadProgress(LOAD_PROGRESS_LOADED);
|
||||
notifyListeners(tab, Tabs.TabEvents.LOADED);
|
||||
} else if (event.equals("DOMTitleChanged")) {
|
||||
tab.updateTitle(message.getString("title"));
|
||||
|
@ -470,8 +470,9 @@ public class BrowserToolbar extends GeckoRelativeLayout
|
||||
// Progress-related handling
|
||||
switch (msg) {
|
||||
case START:
|
||||
updateProgressVisibility(tab, 0);
|
||||
updateProgressVisibility(tab, Tab.LOAD_PROGRESS_INIT);
|
||||
// Fall through.
|
||||
case ADDED:
|
||||
case LOCATION_CHANGE:
|
||||
case LOAD_ERROR:
|
||||
case LOADED:
|
||||
|
Loading…
Reference in New Issue
Block a user