Merge mozilla-central to mozilla-inbound

This commit is contained in:
Ed Morley 2012-09-28 16:01:22 +01:00
commit ce41594120
8 changed files with 48 additions and 32 deletions

View File

@ -1,3 +1,5 @@
# Full list is tracked through meta bug 793882
####################
# Intended leaks #
####################

View File

@ -1,6 +1,9 @@
# Full list is tracked through meta bug 793882
####################################
# Leaks in third party libraries #
####################################
{
Bug 793537
Memcheck:Leak
@ -8,13 +11,14 @@
obj:/usr/lib/libpango-1.0.so.0.2800.1
...
}
{
Bug 793539 which may be fixed or change when bug 713802 is fixed
Memcheck:Leak
...
obj:/usr/lib/libgnomevfs-2.so.0.2400.2
...
}
#{
# Bug 713802 now seems fixed, commenting out suppression to verify that bug 793539 is also gone
# Bug 793539 which may be fixed or change when bug 713802 is fixed
# Memcheck:Leak
# ...
# obj:/usr/lib/libgnomevfs-2.so.0.2400.2
# ...
#}
{
Bug 793598
Memcheck:Leak

View File

@ -1,6 +1,9 @@
# Full list is tracked through meta bug 793882
####################################
# Leaks in third party libraries #
####################################
{
Bug 793537
Memcheck:Leak
@ -8,13 +11,14 @@
obj:/usr/lib64/libpango-1.0.so.0.2800.1
...
}
{
Bug 793539 which may be fixed or change when bug 713802 is fixed
Memcheck:Leak
...
obj:/usr/lib64/libgnomevfs-2.so.0.2400.2
...
}
#{
# Bug 713802 now seems fixed, commenting out suppression to verify that bug 793539 is also gone
# Bug 793539 which may be fixed or change when bug 713802 is fixed
# Memcheck:Leak
# ...
# obj:/usr/lib64/libgnomevfs-2.so.0.2400.2
# ...
#}
{
Bug 793598
Memcheck:Leak

View File

@ -6399,7 +6399,8 @@ nsDocument::PreHandleEvent(nsEventChainPreVisitor& aVisitor)
// Load events must not propagate to |window| object, see bug 335251.
if (aVisitor.mEvent->message != NS_LOAD) {
nsGlobalWindow* window = static_cast<nsGlobalWindow*>(GetWindow());
aVisitor.mParentTarget = static_cast<nsIDOMEventTarget*>(window);
aVisitor.mParentTarget =
window ? window->GetTargetForEventTargetChain() : nullptr;
}
return NS_OK;
}

View File

@ -226,9 +226,9 @@ uint32_t nsEventTargetChainItem::sCurrentEtciCount = 0;
nsEventTargetChainItem::nsEventTargetChainItem(nsIDOMEventTarget* aTarget,
nsEventTargetChainItem* aChild)
: mChild(aChild), mParent(nullptr), mFlags(0), mItemFlags(0)
: mTarget(aTarget), mChild(aChild), mParent(nullptr), mFlags(0), mItemFlags(0)
{
mTarget = aTarget->GetTargetForEventTargetChain();
MOZ_ASSERT(!aTarget || mTarget == aTarget->GetTargetForEventTargetChain());
if (mChild) {
mChild->mParent = this;
}
@ -533,7 +533,8 @@ nsEventDispatcher::Dispatch(nsISupports* aTarget,
// Create the event target chain item for the event target.
nsEventTargetChainItem* targetEtci =
nsEventTargetChainItem::Create(pool.GetPool(), target);
nsEventTargetChainItem::Create(pool.GetPool(),
target->GetTargetForEventTargetChain());
NS_ENSURE_TRUE(targetEtci, NS_ERROR_OUT_OF_MEMORY);
if (!targetEtci->IsValid()) {
nsEventTargetChainItem::Destroy(pool.GetPool(), targetEtci);

View File

@ -3954,11 +3954,14 @@ CodeGenerator::emitInstanceOf(LInstruction *ins, Register rhs)
masm.loadPtr(Address(lhsTmp, JSObject::offsetOfType()), lhsTmp);
masm.loadPtr(Address(lhsTmp, offsetof(types::TypeObject, proto)), lhsTmp);
masm.test32(lhsTmp, lhsTmp);
// Bail out if we hit a lazy proto
masm.branch32(Assembler::Equal, lhsTmp, Imm32(1), call->entry());
masm.testPtr(lhsTmp, lhsTmp);
masm.j(Assembler::Zero, &done);
// Check lhs is equal to rhsShape
masm.cmp32(lhsTmp, rhsTmp);
masm.cmpPtr(lhsTmp, rhsTmp);
masm.j(Assembler::NotEqual, &loopPrototypeChain);
// return true

View File

@ -0,0 +1,10 @@
function f(o)
{
print(o instanceof String);
}
var g = newGlobal();
f(new Object());
var o1 = g.eval('new Object()');
var o2 = Object.create(o1);
f(o2);

View File

@ -51,7 +51,6 @@ abstract public class BrowserApp extends GeckoApp
public static BrowserToolbar mBrowserToolbar;
private AboutHomeContent mAboutHomeContent;
private boolean mAboutHomeShowing;
private static final int ADDON_MENU_OFFSET = 1000;
private class MenuItemInfo {
@ -598,25 +597,17 @@ abstract public class BrowserApp extends GeckoApp
mAboutHomeContent.update(EnumSet.of(AboutHomeContent.UpdateFlags.TOP_SITES));
}
private void showAboutHome() {
if (mAboutHomeShowing)
return;
mAboutHomeShowing = true;
public void showAboutHome() {
Runnable r = new AboutHomeRunnable(true);
mMainHandler.postAtFrontOfQueue(r);
}
private void hideAboutHome() {
if (!mAboutHomeShowing)
return;
mAboutHomeShowing = false;
public void hideAboutHome() {
Runnable r = new AboutHomeRunnable(false);
mMainHandler.postAtFrontOfQueue(r);
}
private class AboutHomeRunnable implements Runnable {
public class AboutHomeRunnable implements Runnable {
boolean mShow;
AboutHomeRunnable(boolean show) {
mShow = show;