Bug 938114 - Build layout/base in unified mode; r=roc

This commit is contained in:
Ehsan Akhgari 2013-11-14 21:43:56 -05:00
parent 35ff0cae16
commit c70da60ccf
8 changed files with 51 additions and 54 deletions

@ -7,6 +7,11 @@
%{ C++
#include "jspubtd.h"
// windows.h #defines CreateEvent
#ifdef CreateEvent
#undef CreateEvent
#endif
%}
interface nsIDOMNodeIterator;

@ -11,13 +11,13 @@ XPIDL_SOURCES += [
]
if CONFIG['IBMBIDI']:
SOURCES += [
UNIFIED_SOURCES += [
'nsBidi.cpp',
'nsBidiPresUtils.cpp',
]
if CONFIG['MOZ_DEBUG']:
SOURCES += [
UNIFIED_SOURCES += [
'nsAutoLayoutPhase.cpp',
]
@ -66,7 +66,7 @@ EXPORTS.mozilla += [
'PaintTracker.h',
]
SOURCES += [
UNIFIED_SOURCES += [
'ActiveLayerTracker.cpp',
'DisplayItemClip.cpp',
'DisplayListClipState.cpp',
@ -88,11 +88,9 @@ SOURCES += [
'nsLayoutDebugger.cpp',
'nsLayoutHistoryState.cpp',
'nsLayoutUtils.cpp',
'nsPresArena.cpp',
'nsPresContext.cpp',
'nsPresShell.cpp',
'nsQuoteList.cpp',
'nsRefreshDriver.cpp',
'nsStyleChangeList.cpp',
'nsStyleSheetService.cpp',
'PaintTracker.cpp',
@ -102,6 +100,13 @@ SOURCES += [
'StackArena.cpp',
]
# nsPresArena.cpp needs to be built separately because it uses plarena.h.
# nsRefreshDriver.cpp needs to be built separately because of name clashes in the OS X headers
SOURCES += [
'nsPresArena.cpp',
'nsRefreshDriver.cpp',
]
FAIL_ON_WARNINGS = True
LIBXUL_LIBRARY = True

@ -320,30 +320,6 @@ static nscolor MakeBevelColor(mozilla::css::Side whichSide, uint8_t style,
nscolor aBackgroundColor,
nscolor aBorderColor);
static gfxContext::GraphicsOperator GetGFXBlendMode(uint8_t mBlendMode)
{
switch (mBlendMode) {
case NS_STYLE_BLEND_NORMAL: return gfxContext::OPERATOR_OVER;
case NS_STYLE_BLEND_MULTIPLY: return gfxContext::OPERATOR_MULTIPLY;
case NS_STYLE_BLEND_SCREEN: return gfxContext::OPERATOR_SCREEN;
case NS_STYLE_BLEND_OVERLAY: return gfxContext::OPERATOR_OVERLAY;
case NS_STYLE_BLEND_DARKEN: return gfxContext::OPERATOR_DARKEN;
case NS_STYLE_BLEND_LIGHTEN: return gfxContext::OPERATOR_LIGHTEN;
case NS_STYLE_BLEND_COLOR_DODGE: return gfxContext::OPERATOR_COLOR_DODGE;
case NS_STYLE_BLEND_COLOR_BURN: return gfxContext::OPERATOR_COLOR_BURN;
case NS_STYLE_BLEND_HARD_LIGHT: return gfxContext::OPERATOR_HARD_LIGHT;
case NS_STYLE_BLEND_SOFT_LIGHT: return gfxContext::OPERATOR_SOFT_LIGHT;
case NS_STYLE_BLEND_DIFFERENCE: return gfxContext::OPERATOR_DIFFERENCE;
case NS_STYLE_BLEND_EXCLUSION: return gfxContext::OPERATOR_EXCLUSION;
case NS_STYLE_BLEND_HUE: return gfxContext::OPERATOR_HUE;
case NS_STYLE_BLEND_SATURATION: return gfxContext::OPERATOR_SATURATION;
case NS_STYLE_BLEND_COLOR: return gfxContext::OPERATOR_COLOR;
case NS_STYLE_BLEND_LUMINOSITY: return gfxContext::OPERATOR_LUMINOSITY;
}
return gfxContext::OPERATOR_OVER;
}
static InlineBackgroundData* gInlineBGData = nullptr;
// Initialize any static variables used by nsCSSRendering.

@ -651,6 +651,30 @@ struct nsCSSRendering {
const uint8_t aStyle,
const gfxFloat aDescentLimit = -1.0);
static gfxContext::GraphicsOperator GetGFXBlendMode(uint8_t mBlendMode) {
switch (mBlendMode) {
case NS_STYLE_BLEND_NORMAL: return gfxContext::OPERATOR_OVER;
case NS_STYLE_BLEND_MULTIPLY: return gfxContext::OPERATOR_MULTIPLY;
case NS_STYLE_BLEND_SCREEN: return gfxContext::OPERATOR_SCREEN;
case NS_STYLE_BLEND_OVERLAY: return gfxContext::OPERATOR_OVERLAY;
case NS_STYLE_BLEND_DARKEN: return gfxContext::OPERATOR_DARKEN;
case NS_STYLE_BLEND_LIGHTEN: return gfxContext::OPERATOR_LIGHTEN;
case NS_STYLE_BLEND_COLOR_DODGE: return gfxContext::OPERATOR_COLOR_DODGE;
case NS_STYLE_BLEND_COLOR_BURN: return gfxContext::OPERATOR_COLOR_BURN;
case NS_STYLE_BLEND_HARD_LIGHT: return gfxContext::OPERATOR_HARD_LIGHT;
case NS_STYLE_BLEND_SOFT_LIGHT: return gfxContext::OPERATOR_SOFT_LIGHT;
case NS_STYLE_BLEND_DIFFERENCE: return gfxContext::OPERATOR_DIFFERENCE;
case NS_STYLE_BLEND_EXCLUSION: return gfxContext::OPERATOR_EXCLUSION;
case NS_STYLE_BLEND_HUE: return gfxContext::OPERATOR_HUE;
case NS_STYLE_BLEND_SATURATION: return gfxContext::OPERATOR_SATURATION;
case NS_STYLE_BLEND_COLOR: return gfxContext::OPERATOR_COLOR;
case NS_STYLE_BLEND_LUMINOSITY: return gfxContext::OPERATOR_LUMINOSITY;
default: MOZ_ASSERT(false); return gfxContext::OPERATOR_OVER;
}
return gfxContext::OPERATOR_OVER;
}
protected:
static gfxRect GetTextDecorationRectInternal(const gfxPoint& aPt,
const gfxSize& aLineSize,

@ -230,6 +230,8 @@ struct nsCSSBorderRenderer {
gfxCornerSizes *aOuterRadiiRet);
};
namespace mozilla {
#ifdef DEBUG_NEW_BORDERS
#include <stdarg.h>
@ -288,4 +290,6 @@ static inline void SF(const char *fmt, ...) {}
static inline void SX(gfxContext *ctx) {}
#endif
}
#endif /* NS_CSS_RENDERING_BORDERS_H */

@ -3169,30 +3169,6 @@ nsRegion nsDisplayMixBlendMode::GetOpaqueRegion(nsDisplayListBuilder* aBuilder,
return nsRegion();
}
static gfxContext::GraphicsOperator GetGFXBlendMode(uint8_t mBlendMode) {
switch (mBlendMode) {
case NS_STYLE_BLEND_NORMAL: return gfxContext::OPERATOR_OVER;
case NS_STYLE_BLEND_MULTIPLY: return gfxContext::OPERATOR_MULTIPLY;
case NS_STYLE_BLEND_SCREEN: return gfxContext::OPERATOR_SCREEN;
case NS_STYLE_BLEND_OVERLAY: return gfxContext::OPERATOR_OVERLAY;
case NS_STYLE_BLEND_DARKEN: return gfxContext::OPERATOR_DARKEN;
case NS_STYLE_BLEND_LIGHTEN: return gfxContext::OPERATOR_LIGHTEN;
case NS_STYLE_BLEND_COLOR_DODGE: return gfxContext::OPERATOR_COLOR_DODGE;
case NS_STYLE_BLEND_COLOR_BURN: return gfxContext::OPERATOR_COLOR_BURN;
case NS_STYLE_BLEND_HARD_LIGHT: return gfxContext::OPERATOR_HARD_LIGHT;
case NS_STYLE_BLEND_SOFT_LIGHT: return gfxContext::OPERATOR_SOFT_LIGHT;
case NS_STYLE_BLEND_DIFFERENCE: return gfxContext::OPERATOR_DIFFERENCE;
case NS_STYLE_BLEND_EXCLUSION: return gfxContext::OPERATOR_EXCLUSION;
case NS_STYLE_BLEND_HUE: return gfxContext::OPERATOR_HUE;
case NS_STYLE_BLEND_SATURATION: return gfxContext::OPERATOR_SATURATION;
case NS_STYLE_BLEND_COLOR: return gfxContext::OPERATOR_COLOR;
case NS_STYLE_BLEND_LUMINOSITY: return gfxContext::OPERATOR_LUMINOSITY;
default: MOZ_ASSERT(false); return gfxContext::OPERATOR_OVER;
}
return gfxContext::OPERATOR_OVER;
}
// nsDisplayMixBlendMode uses layers for rendering
already_AddRefed<Layer>
nsDisplayMixBlendMode::BuildLayer(nsDisplayListBuilder* aBuilder,
@ -3208,7 +3184,7 @@ nsDisplayMixBlendMode::BuildLayer(nsDisplayListBuilder* aBuilder,
return nullptr;
}
container->SetMixBlendMode(GetGFXBlendMode(mFrame->StyleDisplay()->mMixBlendMode));
container->SetMixBlendMode(nsCSSRendering::GetGFXBlendMode(mFrame->StyleDisplay()->mMixBlendMode));
return container.forget();
}

@ -1383,3 +1383,5 @@ nsRefreshDriver::RevokeFrameRequestCallbacks(nsIDocument* aDocument)
// No need to worry about restarting our timer in slack mode if it's already
// running; that will happen automatically when it fires.
}
#undef LOG

@ -24,6 +24,11 @@
#include "nsAutoPtr.h"
#include "nsSelectsAreaFrame.h"
// X.h defines KeyPress
#ifdef KeyPress
#undef KeyPress
#endif
class nsIDOMHTMLSelectElement;
class nsIDOMHTMLOptionsCollection;
class nsIComboboxControlFrame;