This commit is contained in:
Reed Loden 2008-07-12 05:10:07 -05:00
Родитель 793b8b3114 42867837b7
Коммит bc9f0c06c1
23 изменённых файлов: 82 добавлений и 305 удалений

Просмотреть файл

@ -1,113 +0,0 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998-1999
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# David Hyatt (hyatt@apple.com)
# Dean Tessman (dean_tessman@hotmail.com)
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
var gSiteBox;
var gUnblockButton;
var gPageReport;
var permissionmanager =
Components.classes["@mozilla.org/permissionmanager;1"]
.getService(Components.interfaces.nsIPermissionManager);
var nsIPermissionManager = Components.interfaces.nsIPermissionManager;
function onLoad()
{
gSiteBox = document.getElementById("siteBox");
gUnblockButton = document.getElementById("unblockButton");
gPageReport = opener.gBrowser.pageReport;
buildSiteBox();
// select the first item using a delay, otherwise the listitems
// don't paint as selected.
setTimeout(selectFirstItem, 0);
}
function selectFirstItem()
{
gSiteBox.selectedIndex = 0;
}
function buildSiteBox()
{
for (var i = 0; i < gPageReport.length; i++) {
var found = false;
for (var j = 0; j < gSiteBox.childNodes.length; j++) {
if (gSiteBox.childNodes[j].label == gPageReport[i]) {
found = true;
break;
}
}
if (!found)
gSiteBox.appendItem(gPageReport[i]);
}
}
function siteSelected()
{
gUnblockButton.disabled = (gSiteBox.selectedItems.length == 0);
}
function whitelistSite()
{
var selectedItem = gSiteBox.selectedItems[0];
if (!selectedItem)
return;
var selectedIndex = gSiteBox.getIndexOfItem(selectedItem);
var uri = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService)
.newURI(selectedItem.label, null, null);
permissionmanager.add(uri, "popup", nsIPermissionManager.ALLOW_ACTION);
gSiteBox.removeChild(selectedItem);
if (gSiteBox.getRowCount() == 0) {
// close if there are no other sites to whitelist
window.close();
return;
}
// make sure a site is selected
if (selectedIndex > gSiteBox.getRowCount() - 1)
selectedIndex -= 1;
gSiteBox.selectedIndex = selectedIndex;
document.documentElement.getButton("accept").focus()
}

Просмотреть файл

@ -1,74 +0,0 @@
<?xml version="1.0"?>
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998-1999
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# David Hyatt (hyatt@apple.com)
# Dean Tessman (dean_tessman@hotmail.com)
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<!DOCTYPE dialog [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
%brandDTD;
<!ENTITY % openDialogDTD SYSTEM "chrome://browser/locale/pageReport.dtd" >
%openDialogDTD;
]>
<dialog id="pageReport"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="&caption.label;"
onload="onLoad()"
style="width: 40em;"
buttons="accept"
persist="screenX screenY"
screenX="24" screenY="24">
<script type="application/x-javascript" src="chrome://browser/content/pageReport.js"/>
<description>
&intro.label;
</description>
<listbox style="height:10em" id="siteBox" onselect="siteSelected();" flex="1"/>
<separator class="thin"/>
<hbox>
<button label="&unblock.label;" id="unblockButton" oncommand="whitelistSite();"
disabled="true" accesskey="&unblock.accesskey;" icon="yes"/>
<spacer flex="1"/>
<button dlgtype="accept" label="&done.label;" default="true" icon="close"
oncommand="window.close();" accesskey="&done.accesskey;"/>
</hbox>
</dialog>

Просмотреть файл

@ -348,9 +348,9 @@ function resetPageInfo()
/* Reset Media tab */
var mediaTab = document.getElementById("mediaTab");
if (!mediaTab.hidden) {
var os = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
os.removeObserver(imagePermissionObserver, "perm-changed");
Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService)
.removeObserver(imagePermissionObserver, "perm-changed");
mediaTab.hidden = true;
}
gImageView.clear();
@ -370,10 +370,11 @@ function resetPageInfo()
function onUnloadPageInfo()
{
// Remove the observer, only if there is at least 1 image.
if (!document.getElementById("mediaTab").hidden) {
var os = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
os.removeObserver(imagePermissionObserver, "perm-changed");
Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService)
.removeObserver(imagePermissionObserver, "perm-changed");
}
/* Call registered overlay unload functions */
@ -542,6 +543,7 @@ function doGrab(iterator)
processFrames();
return;
}
setTimeout(doGrab, 16, iterator);
}
@ -557,6 +559,7 @@ function addImage(url, type, alt, elem, isBg)
{
if (!url)
return;
if (!gImageHash.hasOwnProperty(url))
gImageHash[url] = { };
if (!gImageHash[url].hasOwnProperty(type))
@ -584,11 +587,13 @@ function addImage(url, type, alt, elem, isBg)
else
sizeText = gStrings.unknown;
gImageView.addRow([url, type, sizeText, alt, 1, elem, isBg]);
// Add the observer, only once.
if (gImageView.data.length == 1) {
document.getElementById("mediaTab").hidden = false;
var os = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
os.addObserver(imagePermissionObserver, "perm-changed", false);
Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService)
.addObserver(imagePermissionObserver, "perm-changed", false);
}
}
else {
@ -665,6 +670,7 @@ function onBeginLinkDrag(event,urlField,descField)
.createInstance(Components.interfaces.nsISupportsArray);
if (!transArray)
return;
var trans = Components.classes[TRANSFERABLE_CONTRACTID]
.createInstance(Components.interfaces.nsITransferable);
if (!trans)
@ -1017,6 +1023,7 @@ var imagePermissionObserver = {
{
if (document.getElementById("mediaPreviewBox").collapsed)
return;
if (aTopic == "perm-changed") {
var permission = aSubject.QueryInterface(Components.interfaces.nsIPermission);
if (permission.type == "image") {

Просмотреть файл

@ -35,8 +35,6 @@ browser.jar:
* content/browser/pageinfo/security.js (content/pageinfo/security.js)
* content/browser/openLocation.js (content/openLocation.js)
* content/browser/openLocation.xul (content/openLocation.xul)
* content/browser/pageReport.js (content/pageReport.js)
* content/browser/pageReport.xul (content/pageReport.xul)
* content/browser/pageReportFirstTime.xul (content/pageReportFirstTime.xul)
* content/browser/safeMode.js (content/safeMode.js)
* content/browser/safeMode.xul (content/safeMode.xul)

Просмотреть файл

@ -281,9 +281,8 @@ SessionStartup.prototype = {
}
else { // basic prompt with no options
// get app name from branding properties
var brandStringBundle = this._getStringBundle("chrome://branding/locale/brand.properties");
var brandShortName = brandStringBundle.GetStringFromName("brandShortName");
const brandShortName = this._getStringBundle("chrome://branding/locale/brand.properties")
.GetStringFromName("brandShortName");
// create prompt strings
var ssStringBundle = this._getStringBundle("chrome://browser/locale/sessionstore.properties");
var restoreTitle = ssStringBundle.formatStringFromName("restoredTitle", [brandShortName], 1);
@ -293,12 +292,10 @@ SessionStartup.prototype = {
var promptService = Cc["@mozilla.org/embedcomp/prompt-service;1"].
getService(Ci.nsIPromptService);
// set the buttons that will appear on the dialog
var flags = promptService.BUTTON_TITLE_IS_STRING * promptService.BUTTON_POS_0 +
promptService.BUTTON_TITLE_IS_STRING * promptService.BUTTON_POS_1 +
promptService.BUTTON_POS_0_DEFAULT;
var buttonChoice = promptService.confirmEx(null, restoreTitle, restoreText,
flags, okTitle, cancelTitle, null,
null, {});
@ -315,11 +312,8 @@ SessionStartup.prototype = {
* @returns nsIStringBundle
*/
_getStringBundle: function sss_getStringBundle(aURI) {
var bundleService = Cc["@mozilla.org/intl/stringbundle;1"].
getService(Ci.nsIStringBundleService);
var appLocale = Cc["@mozilla.org/intl/nslocaleservice;1"].
getService(Ci.nsILocaleService).getApplicationLocale();
return bundleService.createBundle(aURI, appLocale);
return Cc["@mozilla.org/intl/stringbundle;1"].
getService(Ci.nsIStringBundleService).createBundle(aURI);
},
/* ........ Storage API .............. */

Просмотреть файл

@ -2052,19 +2052,6 @@ SessionStoreService.prototype = {
return aWindow.document.documentElement.getAttribute(aAttribute) || dimension;
},
/**
* Convenience method to get localized string bundles
* @param aURI
* @returns nsIStringBundle
*/
_getStringBundle: function sss_getStringBundle(aURI) {
var bundleService = Cc["@mozilla.org/intl/stringbundle;1"].
getService(Ci.nsIStringBundleService);
var appLocale = Cc["@mozilla.org/intl/nslocaleservice;1"].
getService(Ci.nsILocaleService).getApplicationLocale();
return bundleService.createBundle(aURI, appLocale);
},
/**
* Get nsIURI from string
* @param string

Просмотреть файл

@ -1,10 +0,0 @@
<!ENTITY caption.label "Blocked Pop-ups">
<!ENTITY intro.label "The following pages were prevented from displaying
unrequested pop-up windows:">
<!ENTITY done.label "Done">
<!ENTITY done.accesskey "D">
<!ENTITY unblock.label "Unblock Site">
<!ENTITY unblock.accesskey "U">

Просмотреть файл

@ -14,7 +14,6 @@
locale/browser/openLocation.properties (%chrome/browser/openLocation.properties)
* locale/browser/pageInfo.dtd (%chrome/browser/pageInfo.dtd)
locale/browser/pageInfo.properties (%chrome/browser/pageInfo.properties)
locale/browser/pageReport.dtd (%chrome/browser/pageReport.dtd)
locale/browser/pageReportFirstTime.dtd (%chrome/browser/pageReportFirstTime.dtd)
locale/browser/quitDialog.properties (%chrome/browser/quitDialog.properties)
* locale/browser/safeMode.dtd (%chrome/browser/safeMode.dtd)

Просмотреть файл

@ -103,11 +103,11 @@ filefield {
margin: 1px;
}
filefield[disabled="true"] .fileFieldContentBox {
.fileFieldContentBox[disabled="true"] {
opacity: 0.5;
}
filefield[disabled="true"] .fileFieldIcon {
.fileFieldIcon[disabled="true"] {
opacity: 0.2;
}

Просмотреть файл

@ -130,11 +130,11 @@ filefield {
margin: 1px;
}
filefield[disabled="true"] .fileFieldContentBox {
.fileFieldContentBox[disabled="true"] {
opacity: 0.5;
}
filefield[disabled="true"] .fileFieldIcon {
.fileFieldIcon[disabled="true"] {
opacity: 0.2;
}

Просмотреть файл

@ -40,7 +40,7 @@
#ifndef nsDOMString_h___
#define nsDOMString_h___
#include "nsAString.h"
#include "nsStringGlue.h"
inline PRBool DOMStringIsNull(const nsAString& aString)
{

Просмотреть файл

@ -1131,10 +1131,10 @@ nsTextControlFrame::PreDestroy()
}
//unregister self from content
mTextListener->SetFrame(nsnull);
nsFormControlFrame::RegUnRegAccessKey(static_cast<nsIFrame*>(this), PR_FALSE);
if (mTextListener)
{
mTextListener->SetFrame(nsnull);
if (mContent)
{
mContent->RemoveEventListenerByIID(static_cast<nsIDOMFocusListener *>(mTextListener), NS_GET_IID(nsIDOMFocusListener));

Просмотреть файл

@ -181,7 +181,7 @@ typedef unsigned short uint16;
#endif
#ifndef _UINT32
# if defined(__alpha) || defined(__amd64__) || defined(__x86_64__)
# if defined(__alpha) || defined(__amd64__) || defined(__x86_64__) || defined(__LP64__)
typedef unsigned int uint32;
# else /* __alpha */
typedef unsigned long uint32;
@ -197,7 +197,7 @@ typedef short int16;
#endif
#ifndef _INT32
# if defined(__alpha) || defined(__amd64__) || defined(__x86_64__)
# if defined(__alpha) || defined(__amd64__) || defined(__x86_64__) || defined(__LP64__)
typedef int int32;
# else /* __alpha */
typedef long int32;

Просмотреть файл

@ -51,8 +51,6 @@
#include "nsIComponentManager.h"
#include "nsIDateTimeFormat.h"
#include "nsIDOMElement.h"
#include "nsILocale.h"
#include "nsILocaleService.h"
#include "nsILocalFile.h"
#include "nsIDynamicContainer.h"
#include "nsIServiceManager.h"

Просмотреть файл

@ -372,7 +372,11 @@ function ShowPrefs()
if (!document.getElementById("showWarningNextTime").checked)
gPrefBranch.setBoolPref("general.warnOnAboutConfig", false);
document.getElementById("textbox").focus();
var textbox = document.getElementById("textbox");
if (textbox.value)
// somebody seems to already have tried to apply a filter
FilterPrefs();
textbox.focus();
}
function onConfigUnload()

Просмотреть файл

@ -653,17 +653,9 @@ function getPostData()
function getStringBundle()
{
const bundleURL = "chrome://global/locale/contentAreaCommands.properties";
const sbsContractID = "@mozilla.org/intl/stringbundle;1";
const sbsIID = Components.interfaces.nsIStringBundleService;
const sbs = Components.classes[sbsContractID].getService(sbsIID);
const lsContractID = "@mozilla.org/intl/nslocaleservice;1";
const lsIID = Components.interfaces.nsILocaleService;
const ls = Components.classes[lsContractID].getService(lsIID);
var appLocale = ls.getApplicationLocale();
return sbs.createBundle(bundleURL, appLocale);
return Components.classes["@mozilla.org/intl/stringbundle;1"]
.getService(Components.interfaces.nsIStringBundleService)
.createBundle("chrome://global/locale/contentAreaCommands.properties");
}
function makeWebBrowserPersist()

Просмотреть файл

@ -366,12 +366,9 @@
if (!this._mStrBundle) {
// need to create string bundle manually instead of using <xul:stringbundle/>
// see bug 63370 for details
var localeService = Components.classes["@mozilla.org/intl/nslocaleservice;1"]
.getService(Components.interfaces.nsILocaleService);
var stringBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"]
.getService(Components.interfaces.nsIStringBundleService);
var bundleURL = "chrome://global/locale/browser.properties";
this._mStrBundle = stringBundleService.createBundle(bundleURL, localeService.getApplicationLocale());
this._mStrBundle = Components.classes["@mozilla.org/intl/stringbundle;1"]
.getService(Components.interfaces.nsIStringBundleService)
.createBundle("chrome://global/locale/browser.properties");
}
return this._mStrBundle;
]]></getter>

Просмотреть файл

@ -196,12 +196,9 @@
if (!this._mStrBundle) {
// need to create string bundle manually instead of using <xul:stringbundle/>
// see bug 63370 for details
var localeService = Components.classes["@mozilla.org/intl/nslocaleservice;1"]
.getService(Components.interfaces.nsILocaleService);
var stringBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"]
.getService(Components.interfaces.nsIStringBundleService);
var bundleURL = "chrome://global/locale/dialog.properties";
this._mStrBundle = stringBundleService.createBundle(bundleURL, localeService.getApplicationLocale());
this._mStrBundle = Components.classes["@mozilla.org/intl/stringbundle;1"]
.getService(Components.interfaces.nsIStringBundleService)
.createBundle("chrome://global/locale/dialog.properties");
}
return this._mStrBundle;
]]></getter>

Просмотреть файл

@ -45,9 +45,9 @@
<![CDATA[
if (!this._bundle) {
try {
var stringBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"]
.getService(Components.interfaces.nsIStringBundleService);
this._bundle = stringBundleService.createBundle(this.src, this.appLocale);
this._bundle = Components.classes["@mozilla.org/intl/stringbundle;1"]
.getService(Components.interfaces.nsIStringBundleService)
.createBundle(this.src);
}
catch (e) {
dump("Failed to get stringbundle:\n");
@ -74,21 +74,6 @@
</setter>
</property>
<property name="appLocale">
<getter>
<![CDATA[
try {
var localeService = Components.classes["@mozilla.org/intl/nslocaleservice;1"]
.getService(Components.interfaces.nsILocaleService);
return localeService.getApplicationLocale();
}
catch (ex) {
return null;
}
]]>
</getter>
</property>
<property name="strings">
<getter>
<![CDATA[

Просмотреть файл

@ -175,12 +175,9 @@
try {
// need to create string bundle manually instead of using <xul:stringbundle/>
// see bug 63370 for details
var localeService = Components.classes["@mozilla.org/intl/nslocaleservice;1"]
.getService(Components.interfaces.nsILocaleService);
var stringBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"]
.getService(Components.interfaces.nsIStringBundleService);
var bundleURL = "chrome://global/locale/wizard.properties";
this._bundle = stringBundleService.createBundle(bundleURL);
this._bundle = Components.classes["@mozilla.org/intl/stringbundle;1"]
.getService(Components.interfaces.nsIStringBundleService)
.createBundle("chrome://global/locale/wizard.properties");
} catch (e) {
// This fails in remote XUL, which has to provide titles for all pages
// see bug 142502

Просмотреть файл

@ -8,8 +8,8 @@
<binding id="fileField" extends="chrome://global/content/bindings/general.xml#control-item">
<content>
<xul:stringbundle anonid="bundle" src="chrome://mozapps/locale/preferences/preferences.properties"/>
<xul:hbox class="fileFieldContentBox" align="center" flex="1">
<xul:image class="fileFieldIcon" xbl:inherits="src=image"/>
<xul:hbox class="fileFieldContentBox" align="center" flex="1" xbl:inherits="disabled">
<xul:image class="fileFieldIcon" xbl:inherits="src=image,disabled"/>
<xul:textbox class="fileFieldLabel" xbl:inherits="value=label,disabled,accesskey,tabindex" flex="1" readonly="true"/>
</xul:hbox>
</content>

Просмотреть файл

@ -317,6 +317,8 @@
} else if ([window isSheet]) {
[TopLevelWindowData activateInWindow:window];
}
[[window contentView] setNeedsDisplay:YES];
}
- (void)windowResignedKey:(NSNotification*)inNotification
@ -329,6 +331,8 @@
} else if ([window isSheet]) {
[TopLevelWindowData deactivateInWindow:window];
}
[[window contentView] setNeedsDisplay:YES];
}
// The appearance of a top-level window depends on its main state (not its key

Просмотреть файл

@ -666,6 +666,10 @@ nsNativeThemeWin::GetThemePartAndState(nsIFrame* aFrame, PRUint8 aWidgetType,
if (IsDisabled(aFrame)) {
aState = TS_DISABLED;
return NS_OK;
} else if (CheckBooleanAttr(aFrame, nsWidgetAtoms::open) ||
CheckBooleanAttr(aFrame, nsWidgetAtoms::checked)) {
aState = TS_ACTIVE;
return NS_OK;
}
aState = StandardGetState(aFrame, aWidgetType, PR_TRUE);
@ -1091,6 +1095,12 @@ nsNativeThemeWin::GetThemePartAndState(nsIFrame* aFrame, PRUint8 aWidgetType,
aPart = mIsVistaOrLater ? CBP_DROPMARKER_VISTA : CBP_DROPMARKER;
// For HTML controls with author styling, we should fall
// back to the old dropmarker style to avoid clashes with
// author-specified backgrounds and borders (bug #441034)
if (isHTML && IsWidgetStyled(aFrame->PresContext(), aFrame, NS_THEME_DROPDOWN))
aPart = CBP_DROPMARKER;
if (IsDisabled(aFrame)) {
aState = TS_DISABLED;
return NS_OK;
@ -1247,19 +1257,17 @@ nsNativeThemeWin::DrawWidgetBackground(nsIRenderingContext* aContext,
tr.ScaleInverse(p2a);
cr.ScaleInverse(p2a);
if (mIsVistaOrLater) {
/* See GetWidgetOverflow */
if (aWidgetType == NS_THEME_DROPDOWN_BUTTON &&
IsHTMLContent(aFrame))
{
tr.pos.y -= 1.0;
tr.size.width += 1.0;
tr.size.height += 2.0;
/* See GetWidgetOverflow */
if (aWidgetType == NS_THEME_DROPDOWN_BUTTON &&
part == CBP_DROPMARKER_VISTA && IsHTMLContent(aFrame))
{
tr.pos.y -= 1.0;
tr.size.width += 1.0;
tr.size.height += 2.0;
cr.pos.y -= 1.0;
cr.size.width += 1.0;
cr.size.height += 2.0;
}
cr.pos.y -= 1.0;
cr.size.width += 1.0;
cr.size.height += 2.0;
}
nsRefPtr<gfxContext> ctx = aContext->ThebesContext();
@ -1648,7 +1656,10 @@ nsNativeThemeWin::GetWidgetOverflow(nsIDeviceContext* aContext,
* like they're supposed to.
*/
if (aWidgetType == NS_THEME_DROPDOWN_BUTTON &&
IsHTMLContent(aFrame))
IsHTMLContent(aFrame) &&
!IsWidgetStyled(aFrame->GetParent()->PresContext(),
aFrame->GetParent(),
NS_THEME_DROPDOWN))
{
PRInt32 p2a = aContext->AppUnitsPerDevPixel();
/* Note: no overflow on the left */
@ -2227,6 +2238,10 @@ nsresult nsNativeThemeWin::ClassicGetThemePartAndState(nsIFrame* aFrame, PRUint8
contentState = GetContentState(aFrame, aWidgetType);
if (IsDisabled(aFrame))
aState |= DFCS_INACTIVE;
else if (CheckBooleanAttr(aFrame, nsWidgetAtoms::open))
aState |= DFCS_PUSHED;
else if (CheckBooleanAttr(aFrame, nsWidgetAtoms::checked))
aState |= DFCS_CHECKED;
else {
if (contentState & NS_EVENT_STATE_ACTIVE && contentState & NS_EVENT_STATE_HOVER) {
aState |= DFCS_PUSHED;