bug 829288 - fix layout/ warnings on mingw r=dholbert
authorTrevor Saunders <trev.saunders@gmail.com>
Thu, 10 Jan 2013 02:04:09 -0500
changeset 118457 f9134833700b4587ce6affb1479d75084f0020b7
parent 118456 2983ba3b514fd540f2f4c57b9fcd1dfe8338f7a8
child 118458 b584bc588b4079502e9ce876f325e8cb4b5ef15b
push id21082
push usertrev.saunders@gmail.com
push dateThu, 10 Jan 2013 23:23:26 +0000
treeherdermozilla-inbound@deab61ea49b6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdholbert
bugs829288
milestone21.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
bug 829288 - fix layout/ warnings on mingw r=dholbert
layout/base/nsPresContext.cpp
layout/generic/nsFontInflationData.cpp
layout/style/nsRuleNode.cpp
--- a/layout/base/nsPresContext.cpp
+++ b/layout/base/nsPresContext.cpp
@@ -2333,19 +2333,21 @@ enum InterruptMode {
   ModeRandom,
   ModeCounter,
   ModeEvent
 };
 // Controlled by the GECKO_REFLOW_INTERRUPT_MODE env var; allowed values are
 // "random" (except on Windows) or "counter".  If neither is used, the mode is
 // ModeEvent.
 static InterruptMode sInterruptMode = ModeEvent;
+#ifndef XP_WIN
 // Used for the "random" mode.  Controlled by the GECKO_REFLOW_INTERRUPT_SEED
 // env var.
 static uint32_t sInterruptSeed = 1;
+#endif
 // Used for the "counter" mode.  This is the number of unskipped interrupt
 // checks that have to happen before we interrupt.  Controlled by the
 // GECKO_REFLOW_INTERRUPT_FREQUENCY env var.
 static uint32_t sInterruptMaxCounter = 10;
 // Used for the "counter" mode.  This counts up to sInterruptMaxCounter and is
 // then reset to 0.
 static uint32_t sInterruptCounter;
 // Number of interrupt checks to skip before really trying to interrupt.
--- a/layout/generic/nsFontInflationData.cpp
+++ b/layout/generic/nsFontInflationData.cpp
@@ -19,17 +19,17 @@ using namespace mozilla;
 using namespace mozilla::layout;
 
 static void
 DestroyFontInflationData(void *aPropertyValue)
 {
   delete static_cast<nsFontInflationData*>(aPropertyValue);
 }
 
-NS_DECLARE_FRAME_PROPERTY(FontInflationDataProperty, DestroyFontInflationData);
+NS_DECLARE_FRAME_PROPERTY(FontInflationDataProperty, DestroyFontInflationData)
 
 /* static */ nsFontInflationData*
 nsFontInflationData::FindFontInflationDataFor(const nsIFrame *aFrame)
 {
   // We have one set of font inflation data per block formatting context.
   const nsIFrame *bfc = FlowRootFor(aFrame);
   NS_ASSERTION(bfc->GetStateBits() & NS_FRAME_FONT_INFLATION_FLOW_ROOT,
                "should have found a flow root");
--- a/layout/style/nsRuleNode.cpp
+++ b/layout/style/nsRuleNode.cpp
@@ -3045,35 +3045,33 @@ nsRuleNode::SetFont(nsPresContext* aPres
       systemFont.sizeAdjust = fontStyle.sizeAdjust;
 
 #ifdef XP_WIN
       // XXXldb This platform-specific stuff should be in the
       // LookAndFeel implementation, not here.
       // XXXzw Should we even still *have* this code?  It looks to be making
       // old, probably obsolete assumptions.
 
-      // As far as I can tell the system default fonts and sizes
-      // on MS-Windows for Buttons, Listboxes/Comboxes and Text Fields are
-      // all pre-determined and cannot be changed by either the control panel
-      // or programmtically.
-      switch (fontID) {
+      if (fontID == LookAndFeel::eFont_Field ||
+          fontID == LookAndFeel::eFont_Button ||
+          fontID == LookAndFeel::eFont_List) {
+        // As far as I can tell the system default fonts and sizes
+        // on MS-Windows for Buttons, Listboxes/Comboxes and Text Fields are
+        // all pre-determined and cannot be changed by either the control panel
+        // or programmatically.
         // Fields (text fields)
         // Button and Selects (listboxes/comboboxes)
         //    We use whatever font is defined by the system. Which it appears
         //    (and the assumption is) it is always a proportional font. Then we
         //    always use 2 points smaller than what the browser has defined as
         //    the default proportional font.
-      case LookAndFeel::eFont_Field:
-      case LookAndFeel::eFont_Button:
-      case LookAndFeel::eFont_List:
         // Assumption: system defined font is proportional
         systemFont.size =
           NS_MAX(defaultVariableFont->size -
                  nsPresContext::CSSPointsToAppUnits(2), 0);
-        break;
       }
 #endif
     }
   }
 
   // font-family: string list, enum, inherit
   const nsCSSValue* familyValue = aRuleData->ValueForFontFamily();
   NS_ASSERTION(eCSSUnit_Enumerated != familyValue->GetUnit(),