Update to 2.0.0, update BR versions, drop unused patches, change spec structure to webkitgtk3 spec file
This commit is contained in:
parent
00ff3b2ffb
commit
7a144e06bd
1
.gitignore
vendored
1
.gitignore
vendored
@ -22,3 +22,4 @@ webkit-1.3.2.tar.gz
|
||||
/webkitgtk-1.10.0.tar.xz
|
||||
/webkitgtk-1.10.1.tar.xz
|
||||
/webkitgtk-1.10.2.tar.xz
|
||||
/webkitgtk-2.0.0.tar.xz
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
7b1a652af1eb11bee5bf7209e9ff67e6 webkitgtk-1.10.2.tar.xz
|
||||
fa231ba8c9cd33575b9692614324be21 webkitgtk-2.0.0.tar.xz
|
||||
|
@ -1,20 +0,0 @@
|
||||
diff --git a/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.cpp b/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.cpp
|
||||
index b587460..aee7b7b 100644
|
||||
--- a/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.cpp
|
||||
+++ b/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.cpp
|
||||
@@ -94,7 +94,14 @@ static AtkObject* webkitAccessibleTableRefAt(AtkTable* table, gint row, gint col
|
||||
AccessibilityTableCell* axCell = cell(table, row, column);
|
||||
if (!axCell)
|
||||
return 0;
|
||||
- return axCell->wrapper();
|
||||
+
|
||||
+ AtkObject* cell = axCell->wrapper();
|
||||
+ if (!cell)
|
||||
+ return 0;
|
||||
+
|
||||
+ // This method transfers full ownership over the returned
|
||||
+ // AtkObject, so an extra reference is needed here.
|
||||
+ return ATK_OBJECT(g_object_ref(cell));
|
||||
}
|
||||
|
||||
static gint webkitAccessibleTableGetIndexAt(AtkTable* table, gint row, gint column)
|
@ -1,291 +0,0 @@
|
||||
diff -up webkitgtk-1.10.2/Source/WebCore/rendering/RenderBox.cpp.renderFix webkitgtk-1.10.2/Source/WebCore/rendering/RenderBox.cpp
|
||||
--- webkitgtk-1.10.2/Source/WebCore/rendering/RenderBox.cpp.renderFix 2013-02-07 09:46:11.536257504 +0100
|
||||
+++ webkitgtk-1.10.2/Source/WebCore/rendering/RenderBox.cpp 2013-02-06 17:54:21.968762253 +0100
|
||||
@@ -815,12 +815,15 @@ BackgroundBleedAvoidance RenderBox::dete
|
||||
FloatSize contextScaling(static_cast<float>(ctm.xScale()), static_cast<float>(ctm.yScale()));
|
||||
if (borderObscuresBackgroundEdge(contextScaling))
|
||||
return BackgroundBleedShrinkBackground;
|
||||
-
|
||||
+
|
||||
// FIXME: there is one more strategy possible, for opaque backgrounds and
|
||||
// translucent borders. In that case we could avoid using a transparency layer,
|
||||
// and paint the border first, and then paint the background clipped to the
|
||||
// inside of the border.
|
||||
|
||||
+ if (!style->hasAppearance() && borderObscuresBackground() && backgroundIsSingleOpaqueLayer())
|
||||
+ return BackgroundBleedBackgroundOverBorder;
|
||||
+
|
||||
return BackgroundBleedUseTransparencyLayer;
|
||||
}
|
||||
|
||||
@@ -859,6 +862,9 @@ void RenderBox::paintBoxDecorations(Pain
|
||||
IntRect snappedPaintRect(pixelSnappedIntRect(paintRect));
|
||||
bool themePainted = style()->hasAppearance() && !theme()->paint(this, paintInfo, snappedPaintRect);
|
||||
if (!themePainted) {
|
||||
+ if (bleedAvoidance == BackgroundBleedBackgroundOverBorder)
|
||||
+ paintBorder(paintInfo, paintRect, style(), bleedAvoidance);
|
||||
+
|
||||
paintBackground(paintInfo, paintRect, bleedAvoidance);
|
||||
|
||||
if (style()->hasAppearance())
|
||||
@@ -867,7 +873,7 @@ void RenderBox::paintBoxDecorations(Pain
|
||||
paintBoxShadow(paintInfo, paintRect, style(), Inset);
|
||||
|
||||
// The theme will tell us whether or not we should also paint the CSS border.
|
||||
- if ((!style()->hasAppearance() || (!themePainted && theme()->paintBorderOnly(this, paintInfo, snappedPaintRect))) && style()->hasBorder())
|
||||
+ if (bleedAvoidance != BackgroundBleedBackgroundOverBorder && (!style()->hasAppearance() || (!themePainted && theme()->paintBorderOnly(this, paintInfo, snappedPaintRect))) && style()->hasBorder())
|
||||
paintBorder(paintInfo, paintRect, style(), bleedAvoidance);
|
||||
|
||||
if (bleedAvoidance == BackgroundBleedUseTransparencyLayer)
|
||||
@@ -888,6 +894,25 @@ void RenderBox::paintBackground(const Pa
|
||||
}
|
||||
}
|
||||
|
||||
+bool RenderBox::backgroundIsSingleOpaqueLayer() const
|
||||
+{
|
||||
+ const FillLayer* fillLayer = style()->backgroundLayers();
|
||||
+ if (!fillLayer || fillLayer->next() || fillLayer->clip() != BorderFillBox || fillLayer->composite() != CompositeSourceOver)
|
||||
+ return false;
|
||||
+
|
||||
+ // Clipped with local scrolling
|
||||
+ if (hasOverflowClip() && fillLayer->attachment() == LocalBackgroundAttachment)
|
||||
+ return false;
|
||||
+
|
||||
+ Color bgColor = style()->visitedDependentColor(CSSPropertyBackgroundColor);
|
||||
+ if (bgColor.isValid() && bgColor.alpha() == 255)
|
||||
+ return true;
|
||||
+
|
||||
+ // FIXME: return true if a background image is present and is opaque
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
void RenderBox::paintMask(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
|
||||
{
|
||||
if (!paintInfo.shouldPaintWithinRoot(this) || style()->visibility() != VISIBLE || paintInfo.phase != PaintPhaseMask || paintInfo.context->paintingDisabled())
|
||||
diff -up webkitgtk-1.10.2/Source/WebCore/rendering/RenderBox.h.renderFix webkitgtk-1.10.2/Source/WebCore/rendering/RenderBox.h
|
||||
--- webkitgtk-1.10.2/Source/WebCore/rendering/RenderBox.h.renderFix 2013-02-07 09:46:20.064330632 +0100
|
||||
+++ webkitgtk-1.10.2/Source/WebCore/rendering/RenderBox.h 2013-02-06 17:55:30.523341759 +0100
|
||||
@@ -514,7 +514,7 @@ protected:
|
||||
void paintMaskImages(const PaintInfo&, const LayoutRect&);
|
||||
|
||||
BackgroundBleedAvoidance determineBackgroundBleedAvoidance(GraphicsContext*) const;
|
||||
-
|
||||
+ bool backgroundIsSingleOpaqueLayer() const;
|
||||
#if PLATFORM(MAC)
|
||||
void paintCustomHighlight(const LayoutPoint&, const AtomicString& type, bool behindText);
|
||||
#endif
|
||||
diff -up webkitgtk-1.10.2/Source/WebCore/rendering/RenderBoxModelObject.cpp.renderFix webkitgtk-1.10.2/Source/WebCore/rendering/RenderBoxModelObject.cpp
|
||||
--- webkitgtk-1.10.2/Source/WebCore/rendering/RenderBoxModelObject.cpp.renderFix 2013-02-07 09:46:40.613506841 +0100
|
||||
+++ webkitgtk-1.10.2/Source/WebCore/rendering/RenderBoxModelObject.cpp 2013-02-07 09:26:13.000980076 +0100
|
||||
@@ -671,7 +671,7 @@ LayoutUnit RenderBoxModelObject::compute
|
||||
}
|
||||
|
||||
RoundedRect RenderBoxModelObject::getBackgroundRoundedRect(const LayoutRect& borderRect, InlineFlowBox* box, LayoutUnit inlineBoxWidth, LayoutUnit inlineBoxHeight,
|
||||
- bool includeLogicalLeftEdge, bool includeLogicalRightEdge)
|
||||
+ bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const
|
||||
{
|
||||
RenderView* renderView = view();
|
||||
RoundedRect border = style()->getRoundedBorderFor(borderRect, renderView, includeLogicalLeftEdge, includeLogicalRightEdge);
|
||||
@@ -683,17 +683,31 @@ RoundedRect RenderBoxModelObject::getBac
|
||||
return border;
|
||||
}
|
||||
|
||||
-static LayoutRect backgroundRectAdjustedForBleedAvoidance(GraphicsContext* context, const LayoutRect& borderRect, BackgroundBleedAvoidance bleedAvoidance)
|
||||
+static LayoutRect shrinkRectByOnePixel(GraphicsContext* context, const LayoutRect& rect)
|
||||
{
|
||||
- if (bleedAvoidance != BackgroundBleedShrinkBackground)
|
||||
- return borderRect;
|
||||
-
|
||||
- // We shrink the rectangle by one pixel on each side because the bleed is one pixel maximum.
|
||||
+ LayoutRect shrunkRect = rect;
|
||||
AffineTransform transform = context->getCTM();
|
||||
- LayoutRect adjustedRect = borderRect;
|
||||
- adjustedRect.inflateX(-static_cast<LayoutUnit>(ceil(1 / transform.xScale())));
|
||||
- adjustedRect.inflateY(-static_cast<LayoutUnit>(ceil(1 / transform.yScale())));
|
||||
- return adjustedRect;
|
||||
+ shrunkRect.inflateX(-static_cast<LayoutUnit>(ceil(1 / transform.xScale())));
|
||||
+ shrunkRect.inflateY(-static_cast<LayoutUnit>(ceil(1 / transform.yScale())));
|
||||
+ return shrunkRect;
|
||||
+}
|
||||
+
|
||||
+LayoutRect RenderBoxModelObject::borderInnerRectAdjustedForBleedAvoidance(GraphicsContext* context, const LayoutRect& rect, BackgroundBleedAvoidance bleedAvoidance) const
|
||||
+{
|
||||
+ // We shrink the rectangle by one pixel on each side to make it fully overlap the anti-aliased background border
|
||||
+ return (bleedAvoidance == BackgroundBleedBackgroundOverBorder) ? shrinkRectByOnePixel(context, rect) : rect;
|
||||
+}
|
||||
+
|
||||
+RoundedRect RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance(GraphicsContext* context, const LayoutRect& borderRect, BackgroundBleedAvoidance bleedAvoidance, InlineFlowBox* box, const LayoutSize& boxSize, bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const
|
||||
+{
|
||||
+ if (bleedAvoidance == BackgroundBleedShrinkBackground) {
|
||||
+ // We shrink the rectangle by one pixel on each side because the bleed is one pixel maximum.
|
||||
+ return getBackgroundRoundedRect(shrinkRectByOnePixel(context, borderRect), box, boxSize.width(), boxSize.height(), includeLogicalLeftEdge, includeLogicalRightEdge);
|
||||
+ }
|
||||
+ if (bleedAvoidance == BackgroundBleedBackgroundOverBorder)
|
||||
+ return style()->getRoundedInnerBorderFor(borderRect, includeLogicalLeftEdge, includeLogicalRightEdge);
|
||||
+
|
||||
+ return getBackgroundRoundedRect(borderRect, box, boxSize.width(), boxSize.height(), includeLogicalLeftEdge, includeLogicalRightEdge);
|
||||
}
|
||||
|
||||
static void applyBoxShadowForBackground(GraphicsContext* context, RenderStyle* style)
|
||||
@@ -727,7 +741,7 @@ void RenderBoxModelObject::paintFillLaye
|
||||
Color bgColor = color;
|
||||
StyleImage* bgImage = bgLayer->image();
|
||||
bool shouldPaintBackgroundImage = bgImage && bgImage->canRender(this, style()->effectiveZoom());
|
||||
-
|
||||
+
|
||||
bool forceBackgroundToWhite = false;
|
||||
if (document()->printing()) {
|
||||
if (style()->printColorAdjust() == PrintColorAdjustEconomy)
|
||||
@@ -765,7 +779,7 @@ void RenderBoxModelObject::paintFillLaye
|
||||
applyBoxShadowForBackground(context, style());
|
||||
|
||||
if (hasRoundedBorder && bleedAvoidance != BackgroundBleedUseTransparencyLayer) {
|
||||
- RoundedRect border = getBackgroundRoundedRect(backgroundRectAdjustedForBleedAvoidance(context, rect, bleedAvoidance), box, boxSize.width(), boxSize.height(), includeLeftEdge, includeRightEdge);
|
||||
+ RoundedRect border = backgroundRoundedRectAdjustedForBleedAvoidance(context, rect, bleedAvoidance, box, boxSize, includeLeftEdge, includeRightEdge);
|
||||
context->fillRoundedRect(border, bgColor, style()->colorSpace());
|
||||
} else
|
||||
context->fillRect(pixelSnappedIntRect(rect), bgColor, style()->colorSpace());
|
||||
@@ -776,7 +790,8 @@ void RenderBoxModelObject::paintFillLaye
|
||||
bool clipToBorderRadius = hasRoundedBorder && bleedAvoidance != BackgroundBleedUseTransparencyLayer;
|
||||
GraphicsContextStateSaver clipToBorderStateSaver(*context, clipToBorderRadius);
|
||||
if (clipToBorderRadius) {
|
||||
- RoundedRect border = getBackgroundRoundedRect(backgroundRectAdjustedForBleedAvoidance(context, rect, bleedAvoidance), box, boxSize.width(), boxSize.height(), includeLeftEdge, includeRightEdge);
|
||||
+// RoundedRect border = getBackgroundRoundedRect(backgroundRectAdjustedForBleedAvoidance(context, rect, bleedAvoidance), box, boxSize.width(), boxSize.height(), includeLeftEdge, includeRightEdge);
|
||||
+ RoundedRect border = isBorderFill ? backgroundRoundedRectAdjustedForBleedAvoidance(context, rect, bleedAvoidance, box, boxSize, includeLeftEdge, includeRightEdge) : getBackgroundRoundedRect(rect, box, boxSize.width(), boxSize.height(), includeLeftEdge, includeRightEdge);
|
||||
context->addRoundedRectClip(border);
|
||||
}
|
||||
|
||||
@@ -1706,7 +1721,7 @@ static IntRect calculateSideRect(const R
|
||||
}
|
||||
|
||||
void RenderBoxModelObject::paintBorderSides(GraphicsContext* graphicsContext, const RenderStyle* style, const RoundedRect& outerBorder, const RoundedRect& innerBorder,
|
||||
- const BorderEdge edges[], BorderEdgeFlags edgeSet, BackgroundBleedAvoidance bleedAvoidance,
|
||||
+ const IntPoint& innerBorderAdjustment, const BorderEdge edges[], BorderEdgeFlags edgeSet, BackgroundBleedAvoidance bleedAvoidance,
|
||||
bool includeLogicalLeftEdge, bool includeLogicalRightEdge, bool antialias, const Color* overrideColor)
|
||||
{
|
||||
bool renderRadii = outerBorder.isRounded();
|
||||
@@ -1717,7 +1732,7 @@ void RenderBoxModelObject::paintBorderSi
|
||||
|
||||
if (edges[BSTop].shouldRender() && includesEdge(edgeSet, BSTop)) {
|
||||
IntRect sideRect = outerBorder.rect();
|
||||
- sideRect.setHeight(edges[BSTop].width);
|
||||
+ sideRect.setHeight(edges[BSTop].width + innerBorderAdjustment.y());
|
||||
|
||||
bool usePath = renderRadii && (borderStyleHasInnerDetail(edges[BSTop].style) || borderWillArcInnerEdge(innerBorder.radii().topLeft(), innerBorder.radii().topRight()));
|
||||
paintOneBorderSide(graphicsContext, style, outerBorder, innerBorder, sideRect, BSTop, BSLeft, BSRight, edges, usePath ? &roundedPath : 0, bleedAvoidance, includeLogicalLeftEdge, includeLogicalRightEdge, antialias, overrideColor);
|
||||
@@ -1725,7 +1740,7 @@ void RenderBoxModelObject::paintBorderSi
|
||||
|
||||
if (edges[BSBottom].shouldRender() && includesEdge(edgeSet, BSBottom)) {
|
||||
IntRect sideRect = outerBorder.rect();
|
||||
- sideRect.shiftYEdgeTo(sideRect.maxY() - edges[BSBottom].width);
|
||||
+ sideRect.shiftYEdgeTo(sideRect.maxY() - edges[BSBottom].width - innerBorderAdjustment.y());
|
||||
|
||||
bool usePath = renderRadii && (borderStyleHasInnerDetail(edges[BSBottom].style) || borderWillArcInnerEdge(innerBorder.radii().bottomLeft(), innerBorder.radii().bottomRight()));
|
||||
paintOneBorderSide(graphicsContext, style, outerBorder, innerBorder, sideRect, BSBottom, BSLeft, BSRight, edges, usePath ? &roundedPath : 0, bleedAvoidance, includeLogicalLeftEdge, includeLogicalRightEdge, antialias, overrideColor);
|
||||
@@ -1733,7 +1748,7 @@ void RenderBoxModelObject::paintBorderSi
|
||||
|
||||
if (edges[BSLeft].shouldRender() && includesEdge(edgeSet, BSLeft)) {
|
||||
IntRect sideRect = outerBorder.rect();
|
||||
- sideRect.setWidth(edges[BSLeft].width);
|
||||
+ sideRect.setWidth(edges[BSLeft].width + innerBorderAdjustment.x());
|
||||
|
||||
bool usePath = renderRadii && (borderStyleHasInnerDetail(edges[BSLeft].style) || borderWillArcInnerEdge(innerBorder.radii().bottomLeft(), innerBorder.radii().topLeft()));
|
||||
paintOneBorderSide(graphicsContext, style, outerBorder, innerBorder, sideRect, BSLeft, BSTop, BSBottom, edges, usePath ? &roundedPath : 0, bleedAvoidance, includeLogicalLeftEdge, includeLogicalRightEdge, antialias, overrideColor);
|
||||
@@ -1741,14 +1756,14 @@ void RenderBoxModelObject::paintBorderSi
|
||||
|
||||
if (edges[BSRight].shouldRender() && includesEdge(edgeSet, BSRight)) {
|
||||
IntRect sideRect = outerBorder.rect();
|
||||
- sideRect.shiftXEdgeTo(sideRect.maxX() - edges[BSRight].width);
|
||||
+ sideRect.shiftXEdgeTo(sideRect.maxX() - edges[BSRight].width - innerBorderAdjustment.x());
|
||||
|
||||
bool usePath = renderRadii && (borderStyleHasInnerDetail(edges[BSRight].style) || borderWillArcInnerEdge(innerBorder.radii().bottomRight(), innerBorder.radii().topRight()));
|
||||
paintOneBorderSide(graphicsContext, style, outerBorder, innerBorder, sideRect, BSRight, BSTop, BSBottom, edges, usePath ? &roundedPath : 0, bleedAvoidance, includeLogicalLeftEdge, includeLogicalRightEdge, antialias, overrideColor);
|
||||
}
|
||||
}
|
||||
|
||||
-void RenderBoxModelObject::paintTranslucentBorderSides(GraphicsContext* graphicsContext, const RenderStyle* style, const RoundedRect& outerBorder, const RoundedRect& innerBorder,
|
||||
+void RenderBoxModelObject::paintTranslucentBorderSides(GraphicsContext* graphicsContext, const RenderStyle* style, const RoundedRect& outerBorder, const RoundedRect& innerBorder, const IntPoint& innerBorderAdjustment,
|
||||
const BorderEdge edges[], BackgroundBleedAvoidance bleedAvoidance, bool includeLogicalLeftEdge, bool includeLogicalRightEdge, bool antialias)
|
||||
{
|
||||
BorderEdgeFlags edgesToDraw = AllBorderEdges;
|
||||
@@ -1779,7 +1794,7 @@ void RenderBoxModelObject::paintTransluc
|
||||
commonColor = Color(commonColor.red(), commonColor.green(), commonColor.blue());
|
||||
}
|
||||
|
||||
- paintBorderSides(graphicsContext, style, outerBorder, innerBorder, edges, commonColorEdgeSet, bleedAvoidance, includeLogicalLeftEdge, includeLogicalRightEdge, antialias, &commonColor);
|
||||
+ paintBorderSides(graphicsContext, style, outerBorder, innerBorder, innerBorderAdjustment, edges, commonColorEdgeSet, bleedAvoidance, includeLogicalLeftEdge, includeLogicalRightEdge, antialias, &commonColor);
|
||||
|
||||
if (useTransparencyLayer)
|
||||
graphicsContext->endTransparencyLayer();
|
||||
@@ -1802,7 +1817,7 @@ void RenderBoxModelObject::paintBorder(c
|
||||
BorderEdge edges[4];
|
||||
getBorderEdgeInfo(edges, style, includeLogicalLeftEdge, includeLogicalRightEdge);
|
||||
RoundedRect outerBorder = style->getRoundedBorderFor(rect, view(), includeLogicalLeftEdge, includeLogicalRightEdge);
|
||||
- RoundedRect innerBorder = style->getRoundedInnerBorderFor(rect, includeLogicalLeftEdge, includeLogicalRightEdge);
|
||||
+ RoundedRect innerBorder = style->getRoundedInnerBorderFor(borderInnerRectAdjustedForBleedAvoidance(graphicsContext, rect, bleedAvoidance), includeLogicalLeftEdge, includeLogicalRightEdge);
|
||||
|
||||
bool haveAlphaColor = false;
|
||||
bool haveAllSolidEdges = true;
|
||||
@@ -1938,10 +1953,12 @@ void RenderBoxModelObject::paintBorder(c
|
||||
|
||||
// If only one edge visible antialiasing doesn't create seams
|
||||
bool antialias = shouldAntialiasLines(graphicsContext) || numEdgesVisible == 1;
|
||||
+ RoundedRect unadjustedInnerBorder = (bleedAvoidance == BackgroundBleedBackgroundOverBorder) ? style->getRoundedInnerBorderFor(rect, includeLogicalLeftEdge, includeLogicalRightEdge) : innerBorder;
|
||||
+ IntPoint innerBorderAdjustment(innerBorder.rect().x() - unadjustedInnerBorder.rect().x(), innerBorder.rect().y() - unadjustedInnerBorder.rect().y());
|
||||
if (haveAlphaColor)
|
||||
- paintTranslucentBorderSides(graphicsContext, style, outerBorder, innerBorder, edges, bleedAvoidance, includeLogicalLeftEdge, includeLogicalRightEdge, antialias);
|
||||
- else
|
||||
- paintBorderSides(graphicsContext, style, outerBorder, innerBorder, edges, AllBorderEdges, bleedAvoidance, includeLogicalLeftEdge, includeLogicalRightEdge, antialias);
|
||||
+ paintTranslucentBorderSides(graphicsContext, style, outerBorder, unadjustedInnerBorder, innerBorderAdjustment, edges, bleedAvoidance, includeLogicalLeftEdge, includeLogicalRightEdge, antialias);
|
||||
+ else
|
||||
+ paintBorderSides(graphicsContext, style, outerBorder, unadjustedInnerBorder, innerBorderAdjustment, edges, AllBorderEdges, bleedAvoidance, includeLogicalLeftEdge, includeLogicalRightEdge, antialias);
|
||||
}
|
||||
|
||||
void RenderBoxModelObject::drawBoxSideFromPath(GraphicsContext* graphicsContext, const LayoutRect& borderRect, const Path& borderPath, const BorderEdge edges[],
|
||||
diff -up webkitgtk-1.10.2/Source/WebCore/rendering/RenderBoxModelObject.h.renderFix webkitgtk-1.10.2/Source/WebCore/rendering/RenderBoxModelObject.h
|
||||
--- webkitgtk-1.10.2/Source/WebCore/rendering/RenderBoxModelObject.h.renderFix 2013-02-07 09:46:33.245443660 +0100
|
||||
+++ webkitgtk-1.10.2/Source/WebCore/rendering/RenderBoxModelObject.h 2013-02-07 09:04:28.775797236 +0100
|
||||
@@ -37,7 +37,8 @@ typedef unsigned BorderEdgeFlags;
|
||||
enum BackgroundBleedAvoidance {
|
||||
BackgroundBleedNone,
|
||||
BackgroundBleedShrinkBackground,
|
||||
- BackgroundBleedUseTransparencyLayer
|
||||
+ BackgroundBleedUseTransparencyLayer,
|
||||
+ BackgroundBleedBackgroundOverBorder
|
||||
};
|
||||
|
||||
enum ContentChangeType {
|
||||
@@ -232,6 +233,8 @@ protected:
|
||||
void getBorderEdgeInfo(class BorderEdge[], const RenderStyle*, bool includeLogicalLeftEdge = true, bool includeLogicalRightEdge = true) const;
|
||||
bool borderObscuresBackgroundEdge(const FloatSize& contextScale) const;
|
||||
bool borderObscuresBackground() const;
|
||||
+ RoundedRect backgroundRoundedRectAdjustedForBleedAvoidance(GraphicsContext*, const LayoutRect&, BackgroundBleedAvoidance, InlineFlowBox*, const LayoutSize&, bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const;
|
||||
+ LayoutRect borderInnerRectAdjustedForBleedAvoidance(GraphicsContext*, const LayoutRect&, BackgroundBleedAvoidance) const;
|
||||
|
||||
bool shouldPaintAtLowQuality(GraphicsContext*, Image*, const void*, const LayoutSize&);
|
||||
|
||||
@@ -280,7 +283,7 @@ private:
|
||||
IntSize calculateImageIntrinsicDimensions(StyleImage*, const IntSize& scaledPositioningAreaSize, ScaleByEffectiveZoomOrNot) const;
|
||||
|
||||
RoundedRect getBackgroundRoundedRect(const LayoutRect&, InlineFlowBox*, LayoutUnit inlineBoxWidth, LayoutUnit inlineBoxHeight,
|
||||
- bool includeLogicalLeftEdge, bool includeLogicalRightEdge);
|
||||
+ bool includeLogicalLeftEdge, bool includeLogicalRightEdge) const;
|
||||
|
||||
void clipBorderSidePolygon(GraphicsContext*, const RoundedRect& outerBorder, const RoundedRect& innerBorder,
|
||||
BoxSide, bool firstEdgeMatches, bool secondEdgeMatches);
|
||||
@@ -288,11 +291,11 @@ private:
|
||||
void paintOneBorderSide(GraphicsContext*, const RenderStyle*, const RoundedRect& outerBorder, const RoundedRect& innerBorder,
|
||||
const IntRect& sideRect, BoxSide, BoxSide adjacentSide1, BoxSide adjacentSide2, const class BorderEdge[],
|
||||
const Path*, BackgroundBleedAvoidance, bool includeLogicalLeftEdge, bool includeLogicalRightEdge, bool antialias, const Color* overrideColor = 0);
|
||||
- void paintTranslucentBorderSides(GraphicsContext*, const RenderStyle*, const RoundedRect& outerBorder, const RoundedRect& innerBorder,
|
||||
+ void paintTranslucentBorderSides(GraphicsContext*, const RenderStyle*, const RoundedRect& outerBorder, const RoundedRect& innerBorder, const IntPoint& innerBorderAdjustment,
|
||||
const class BorderEdge[], BackgroundBleedAvoidance, bool includeLogicalLeftEdge, bool includeLogicalRightEdge, bool antialias = false);
|
||||
void paintBorderSides(GraphicsContext*, const RenderStyle*, const RoundedRect& outerBorder, const RoundedRect& innerBorder,
|
||||
- const class BorderEdge[], BorderEdgeFlags, BackgroundBleedAvoidance,
|
||||
- bool includeLogicalLeftEdge, bool includeLogicalRightEdge, bool antialias = false, const Color* overrideColor = 0);
|
||||
+ const IntPoint& innerBorderAdjustment, const class BorderEdge[], BorderEdgeFlags, BackgroundBleedAvoidance,
|
||||
+ bool includeLogicalLeftEdge, bool includeLogicalRightEdge, bool antialias = false, const Color* overrideColor = 0);
|
||||
void drawBoxSideFromPath(GraphicsContext*, const LayoutRect&, const Path&, const class BorderEdge[],
|
||||
float thickness, float drawThickness, BoxSide, const RenderStyle*,
|
||||
Color, EBorderStyle, BackgroundBleedAvoidance, bool includeLogicalLeftEdge, bool includeLogicalRightEdge);
|
21
webkit-1.11.2-Double2Ints.patch
Normal file
21
webkit-1.11.2-Double2Ints.patch
Normal file
@ -0,0 +1,21 @@
|
||||
diff -up webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp.double2ints webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
|
||||
--- webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp.double2ints 2013-02-12 17:22:38.000000000 +0100
|
||||
+++ webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp 2013-03-07 18:04:39.778807991 +0100
|
||||
@@ -117,6 +118,17 @@ static double Ints2Double(uint32_t lo, u
|
||||
u.ival64 = (static_cast<uint64_t>(hi) << 32) | lo;
|
||||
return u.dval;
|
||||
}
|
||||
+
|
||||
+static void Double2Ints(double input, intptr_t& lo, intptr_t& hi)
|
||||
+{
|
||||
+ union {
|
||||
+ double dval;
|
||||
+ int64_t ival64;
|
||||
+ } u;
|
||||
+ u.dval = input;
|
||||
+ hi = static_cast<intptr_t>(u.ival64 >> 32);
|
||||
+ lo = static_cast<intptr_t>(u.ival64);
|
||||
+}
|
||||
#endif // USE(JSVALUE32_64)
|
||||
|
||||
} // namespace LLint
|
12
webkit-1.11.2-yarr.patch
Normal file
12
webkit-1.11.2-yarr.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up webkitgtk-1.11.2/Source/WTF/wtf/Platform.h.orig webkitgtk-1.11.2/Source/WTF/wtf/Platform.h
|
||||
--- webkitgtk-1.11.2/Source/WTF/wtf/Platform.h.orig 2012-12-16 21:27:29.000000000 +0100
|
||||
+++ webkitgtk-1.11.2/Source/WTF/wtf/Platform.h 2012-12-16 23:16:19.000000000 +0100
|
||||
@@ -1001,7 +1001,7 @@
|
||||
#define ENABLE_REGEXP_TRACING 0
|
||||
|
||||
/* Yet Another Regex Runtime - turned on by default for JIT enabled ports. */
|
||||
-#if !defined(ENABLE_YARR_JIT) && (ENABLE(JIT) || ENABLE(LLINT_C_LOOP)) && !PLATFORM(CHROMIUM) && !(OS(QNX) && PLATFORM(QT))
|
||||
+#if !defined(ENABLE_YARR_JIT) && ENABLE(JIT) && !PLATFORM(CHROMIUM) && !(OS(QNX) && PLATFORM(QT))
|
||||
#define ENABLE_YARR_JIT 1
|
||||
|
||||
/* Setting this flag compares JIT results with interpreter results. */
|
40
webkit-1.11.90-double2intsPPC32.patch
Normal file
40
webkit-1.11.90-double2intsPPC32.patch
Normal file
@ -0,0 +1,40 @@
|
||||
diff -up webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm.double2intsPPC32 webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
|
||||
--- webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm.double2intsPPC32 2013-03-07 17:55:22.488831605 +0100
|
||||
+++ webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm 2013-03-07 17:56:04.998829804 +0100
|
||||
@@ -1729,7 +1729,7 @@ _llint_op_next_pname:
|
||||
loadi 20[PC], t2
|
||||
loadi PayloadOffset[cfr, t2, 8], t2
|
||||
loadp JSPropertyNameIterator::m_jsStrings[t2], t3
|
||||
- loadi [t3, t0, 8], t3
|
||||
+ loadi PayloadOffset[t3, t0, 8], t3
|
||||
addi 1, t0
|
||||
storei t0, PayloadOffset[cfr, t1, 8]
|
||||
loadi 4[PC], t1
|
||||
diff -up webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.asm.double2intsPPC32 webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
|
||||
--- webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.asm.double2intsPPC32 2013-03-07 17:56:24.953828958 +0100
|
||||
+++ webkitgtk-1.11.90/Source/JavaScriptCore/llint/LowLevelInterpreter.asm 2013-03-07 17:58:05.653824691 +0100
|
||||
@@ -263,13 +263,13 @@ macro assertNotConstant(index)
|
||||
end
|
||||
|
||||
macro functionForCallCodeBlockGetter(targetRegister)
|
||||
- loadp Callee[cfr], targetRegister
|
||||
+ loadp Callee + PayloadOffset[cfr], targetRegister
|
||||
loadp JSFunction::m_executable[targetRegister], targetRegister
|
||||
loadp FunctionExecutable::m_codeBlockForCall[targetRegister], targetRegister
|
||||
end
|
||||
|
||||
macro functionForConstructCodeBlockGetter(targetRegister)
|
||||
- loadp Callee[cfr], targetRegister
|
||||
+ loadp Callee + PayloadOffset[cfr], targetRegister
|
||||
loadp JSFunction::m_executable[targetRegister], targetRegister
|
||||
loadp FunctionExecutable::m_codeBlockForConstruct[targetRegister], targetRegister
|
||||
end
|
||||
@@ -824,7 +824,7 @@ macro interpretResolveWithBase(opcodeLen
|
||||
getResolveOperation(4, t0)
|
||||
btpz t0, .slowPath
|
||||
|
||||
- loadp ScopeChain[cfr], t3
|
||||
+ loadp ScopeChain + PayloadOffset[cfr], t3
|
||||
# Get the base
|
||||
loadis ResolveOperation::m_operation[t0], t2
|
||||
|
@ -1,26 +0,0 @@
|
||||
From eb2ec2d5b8f1e941fcf7a35523d65589882a92f9 Mon Sep 17 00:00:00 2001
|
||||
From: Kalev Lember <kalevlember@gmail.com>
|
||||
Date: Sun, 27 Jan 2013 15:53:24 +0100
|
||||
Subject: [PATCH] [GTK] Pass ICU cppflags to libWebCoreSVG.la build
|
||||
|
||||
---
|
||||
Source/WebCore/GNUmakefile.am | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Source/WebCore/GNUmakefile.am b/Source/WebCore/GNUmakefile.am
|
||||
index 0319a6f..2f24764 100644
|
||||
--- a/Source/WebCore/GNUmakefile.am
|
||||
+++ b/Source/WebCore/GNUmakefile.am
|
||||
@@ -566,7 +566,8 @@ libWebCoreSVG_la_CPPFLAGS = \
|
||||
$(javascriptcore_cppflags) \
|
||||
-fno-strict-aliasing \
|
||||
$(CAIRO_CFLAGS) \
|
||||
- $(LIBSOUP_CFLAGS)
|
||||
+ $(LIBSOUP_CFLAGS) \
|
||||
+ $(UNICODE_CFLAGS)
|
||||
|
||||
FEATURE_DEFINES += ENABLE_SVG=1
|
||||
webcore_cppflags += -DENABLE_SVG=1
|
||||
--
|
||||
1.8.1
|
||||
|
63
webkitgtk-1.11.5-libatomic.patch
Normal file
63
webkitgtk-1.11.5-libatomic.patch
Normal file
@ -0,0 +1,63 @@
|
||||
diff -up webkitgtk-1.11.90/GNUmakefile.in.libatomic webkitgtk-1.11.90/GNUmakefile.in
|
||||
--- webkitgtk-1.11.90/GNUmakefile.in.libatomic 2013-02-21 19:07:19.000000000 +0100
|
||||
+++ webkitgtk-1.11.90/GNUmakefile.in 2013-02-25 11:31:34.824149062 +0100
|
||||
@@ -20933,6 +20933,7 @@ libWTF_la_CXXFLAGS = \
|
||||
$(libWTF_la_CFLAGS)
|
||||
|
||||
libWTF_la_CFLAGS = \
|
||||
+ -latomic \
|
||||
-fstrict-aliasing \
|
||||
-O3 \
|
||||
$(global_cflags) \
|
||||
@@ -22305,7 +22306,7 @@ Programs_WebKitPluginProcess_SOURCES = \
|
||||
|
||||
#if ENABLE_SVG
|
||||
#endif
|
||||
-Programs_WebKitPluginProcess_LDADD = -lpthread \
|
||||
+Programs_WebKitPluginProcess_LDADD = -latomic -lpthread \
|
||||
libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
|
||||
libWebCore.la libWebCoreSVG.la libWebCorePlatform.la \
|
||||
libWebCoreGtk2.la $(CAIRO_LIBS) $(COVERAGE_LDFLAGS) \
|
||||
diff -up webkitgtk-1.11.90/Source/WebKit2/GNUmakefile.am.libatomic webkitgtk-1.11.90/Source/WebKit2/GNUmakefile.am
|
||||
--- webkitgtk-1.11.90/Source/WebKit2/GNUmakefile.am.libatomic 2013-02-25 11:28:58.812154709 +0100
|
||||
+++ webkitgtk-1.11.90/Source/WebKit2/GNUmakefile.am 2013-02-25 11:29:14.906154126 +0100
|
||||
@@ -568,6 +568,7 @@ Programs_WebKitPluginProcess_SOURCES = \
|
||||
$(webkit2_plugin_process_sources)
|
||||
|
||||
Programs_WebKitPluginProcess_LDADD = \
|
||||
+ -latomic \
|
||||
-lpthread \
|
||||
libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
|
||||
libWebCore.la
|
||||
diff -up webkitgtk-1.11.90/Source/WTF/GNUmakefile.am.libatomic webkitgtk-1.11.90/Source/WTF/GNUmakefile.am
|
||||
--- webkitgtk-1.11.90/Source/WTF/GNUmakefile.am.libatomic 2012-07-19 12:02:14.000000000 +0200
|
||||
+++ webkitgtk-1.11.90/Source/WTF/GNUmakefile.am 2013-02-25 09:21:31.552243859 +0100
|
||||
@@ -25,6 +25,7 @@ libWTF_la_CXXFLAGS = \
|
||||
$(libWTF_la_CFLAGS)
|
||||
|
||||
libWTF_la_CFLAGS = \
|
||||
+ -latomic \
|
||||
-fstrict-aliasing \
|
||||
-O3 \
|
||||
$(global_cflags) \
|
||||
diff -up webkitgtk-1.11.90/Source/WTF/wtf/Atomics.h.libatomic webkitgtk-1.11.90/Source/WTF/wtf/Atomics.h
|
||||
--- webkitgtk-1.11.90/Source/WTF/wtf/Atomics.h.libatomic 2013-01-29 11:00:42.000000000 +0100
|
||||
+++ webkitgtk-1.11.90/Source/WTF/wtf/Atomics.h 2013-02-25 09:21:31.553243859 +0100
|
||||
@@ -107,6 +107,17 @@ inline int atomicDecrement(int volatile*
|
||||
inline int atomicIncrement(int volatile* addend) { return __atomic_inc(addend) + 1; }
|
||||
inline int atomicDecrement(int volatile* addend) { return __atomic_dec(addend) - 1; }
|
||||
|
||||
+#elif COMPILER(GCC) && (__GNUC__ > 4 || (__GNUC__ == 4 \
|
||||
+ && (__GNUC_MINOR__ > 8 || (__GNUC_MINOR__ == 8 \
|
||||
+ && (__GNUC_PATCHLEVEL__ > 0 || (__GNUC_PATCHLEVEL__ == 0)))))) \
|
||||
+ && CPU(PPC)
|
||||
+#define WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED 1
|
||||
+inline int atomicIncrement(int volatile* addend) { return __atomic_fetch_add(addend, 1, __ATOMIC_ACQ_REL); }
|
||||
+inline int atomicDecrement(int volatile* addend) { return __atomic_fetch_sub(addend, 1, __ATOMIC_ACQ_REL); }
|
||||
+
|
||||
+inline int64_t atomicIncrement(int64_t volatile* addend) { return __atomic_fetch_add(addend, 1, __ATOMIC_ACQ_REL); }
|
||||
+inline int64_t atomicDecrement(int64_t volatile* addend) { return __atomic_fetch_sub(addend, 1, __ATOMIC_ACQ_REL); }
|
||||
+
|
||||
#elif COMPILER(GCC) && !CPU(SPARC64) // sizeof(_Atomic_word) != sizeof(int) on sparc64 gcc
|
||||
#define WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED 1
|
||||
|
@ -1,62 +0,0 @@
|
||||
From 35b1ae6cdb8af8c3b3283e84c0f55ca03f1a2e85 Mon Sep 17 00:00:00 2001
|
||||
From: "mrobinson@webkit.org"
|
||||
<mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
|
||||
Date: Mon, 26 Nov 2012 22:00:15 +0000
|
||||
Subject: [PATCH] [GTK] Explicitly link against librt
|
||||
https://bugs.webkit.org/show_bug.cgi?id=103194
|
||||
|
||||
Patch by Kalev Lember <kalevlember@gmail.com> on 2012-11-26
|
||||
Reviewed by Martin Robinson.
|
||||
|
||||
Fixes broken build with undefined references to shm_open / shm_unlink
|
||||
symbols. SharedMemoryUnix.cpp uses these so we need to link with -lrt.
|
||||
|
||||
.:
|
||||
|
||||
* configure.ac:
|
||||
|
||||
Source/WebKit2:
|
||||
|
||||
* GNUmakefile.am:
|
||||
|
||||
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135761 268f45cc-cd09-0410-ab3c-d52691b4dbfc
|
||||
---
|
||||
ChangeLog | 12 ++++++++++++
|
||||
Source/WebKit2/ChangeLog | 12 ++++++++++++
|
||||
Source/WebKit2/GNUmakefile.am | 1 +
|
||||
configure.ac | 7 +++++++
|
||||
4 files changed, 32 insertions(+)
|
||||
|
||||
diff --git a/Source/WebKit2/GNUmakefile.am b/Source/WebKit2/GNUmakefile.am
|
||||
index 097cdc1..ff5ff1f 100644
|
||||
--- a/Source/WebKit2/GNUmakefile.am
|
||||
+++ b/Source/WebKit2/GNUmakefile.am
|
||||
@@ -566,6 +566,7 @@ Programs_WebKitPluginProcess_LDADD += \
|
||||
$(PANGO_LIBS) \
|
||||
$(PNG_LIBS) \
|
||||
$(SHLWAPI_LIBS) \
|
||||
+ $(SHM_LIBS) \
|
||||
$(SQLITE3_LIBS) \
|
||||
$(UNICODE_LIBS) \
|
||||
$(XRENDER_LIBS) \
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 4e1f0e8..97980e4 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1118,6 +1118,13 @@ if test "$enable_webkit2" = "yes"; then
|
||||
if test "$have_gtk_unix_printing" = "yes"; then
|
||||
AC_DEFINE([HAVE_GTK_UNIX_PRINTING], [1], [Define if GTK+ UNIX Printing is available])
|
||||
fi
|
||||
+
|
||||
+ # On some Linux/Unix platforms, shm_* may only be available if linking
|
||||
+ # against librt
|
||||
+ if test "$os_win32" = "no"; then
|
||||
+ AC_SEARCH_LIBS([shm_open], [rt], [SHM_LIBS="-lrt"])
|
||||
+ AC_SUBST(SHM_LIBS)
|
||||
+ fi
|
||||
fi
|
||||
|
||||
# Plugin Process
|
||||
--
|
||||
1.8.0.1
|
||||
|
138
webkitgtk.spec
138
webkitgtk.spec
@ -5,30 +5,11 @@
|
||||
mkdir -p %{buildroot}%{_docdir}/%{name}-%{version} ||: ; \
|
||||
cp -p %1 %{buildroot}%{_docdir}/%{name}-%{version}/$(echo '%1' | sed -e 's!/!.!g')
|
||||
|
||||
## Optional build modifications...
|
||||
## --with coverage: Enables compile-time checking of code coverage.
|
||||
## (Default: No)
|
||||
##
|
||||
## --with debug: Enable more verbose debugging. Makes runtime a bit slower.
|
||||
## Also disables the optimized memory allocator.
|
||||
## (Default: No)
|
||||
##
|
||||
## --with pango: Use Pango instead of freetype2 as the font renderer.
|
||||
## CJK support is functional only with the freetype2 backend.
|
||||
## (Default: No - use freetype2)
|
||||
|
||||
%bcond_with coverage
|
||||
%bcond_with debug
|
||||
%bcond_with pango
|
||||
|
||||
Name: webkitgtk
|
||||
Version: 1.10.2
|
||||
Release: 6%{?dist}
|
||||
Version: 2.0.0
|
||||
Release: 1%{?dist}
|
||||
Summary: GTK+ Web content engine library
|
||||
|
||||
Provides: WebKit-gtk = %{version}-%{release}
|
||||
Obsoletes: WebKit-gtk < %{version}-%{release}
|
||||
|
||||
Group: Development/Libraries
|
||||
License: LGPLv2+ and BSD
|
||||
URL: http://www.webkitgtk.org/
|
||||
@ -36,15 +17,14 @@ URL: http://www.webkitgtk.org/
|
||||
Source0: http://www.webkitgtk.org/releases/webkitgtk-%{version}.tar.xz
|
||||
|
||||
# add support for nspluginwrapper.
|
||||
Patch2: webkit-1.3.10-nspluginwrapper.patch
|
||||
# Explicitly link with -lrt
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=103194
|
||||
Patch3: webkitgtk-librt.patch
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=108032
|
||||
Patch4: webkitgtk-1.11.4-icu-cppflags.patch
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=108819
|
||||
Patch5: webkit-1.10.2-renderFix.patch
|
||||
Patch6: webkit-1.10.2-atkFix.patch
|
||||
Patch0: webkit-1.3.10-nspluginwrapper.patch
|
||||
# workarounds for non-JIT arches
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=104270
|
||||
Patch1: webkit-1.11.2-yarr.patch
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=103128
|
||||
Patch2: webkit-1.11.2-Double2Ints.patch
|
||||
Patch3: webkitgtk-1.11.5-libatomic.patch
|
||||
Patch4: webkit-1.11.90-double2intsPPC32.patch
|
||||
|
||||
BuildRequires: bison
|
||||
BuildRequires: chrpath
|
||||
@ -55,8 +35,8 @@ BuildRequires: gettext
|
||||
BuildRequires: gperf
|
||||
BuildRequires: gstreamer-devel
|
||||
BuildRequires: gstreamer-plugins-base-devel
|
||||
BuildRequires: gtk2-devel
|
||||
BuildRequires: libsoup-devel >= 2.27.91
|
||||
BuildRequires: gtk2-devel >= 2.24.10
|
||||
BuildRequires: libsoup-devel >= 2.42.0
|
||||
BuildRequires: libicu-devel
|
||||
BuildRequires: libjpeg-devel
|
||||
BuildRequires: libxslt-devel
|
||||
@ -67,15 +47,12 @@ BuildRequires: gobject-introspection-devel
|
||||
BuildRequires: mesa-libGL-devel
|
||||
BuildRequires: gtk-doc
|
||||
BuildRequires: ruby
|
||||
|
||||
## Conditional dependencies...
|
||||
%if %{with pango}
|
||||
BuildRequires: pango-devel
|
||||
%else
|
||||
BuildRequires: cairo-devel
|
||||
BuildRequires: cairo-gobject-devel
|
||||
BuildRequires: fontconfig-devel
|
||||
BuildRequires: fontconfig-devel >= 2.5
|
||||
BuildRequires: freetype-devel
|
||||
|
||||
%ifarch ppc
|
||||
BuildRequires: libatomic
|
||||
%endif
|
||||
|
||||
%description
|
||||
@ -88,77 +65,69 @@ Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
Requires: gtk2-devel
|
||||
Provides: WebKit-gtk-devel = %{version}-%{release}
|
||||
Obsoletes: WebKit-gtk-devel < %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries, build data, and header
|
||||
files for developing applications that use %{name}.
|
||||
|
||||
|
||||
%package doc
|
||||
Summary: Documentation for %{name}
|
||||
Group: Documentation
|
||||
BuildArch: noarch
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Provides: WebKit-doc = %{version}-%{release}
|
||||
Obsoletes: WebKit-doc < %{version}-%{release}
|
||||
|
||||
%description doc
|
||||
This package contains developer documentation for %{name}.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -qn "webkitgtk-%{version}"
|
||||
%patch2 -p1 -b .nspluginwrapper
|
||||
%patch3 -p1 -b .librt
|
||||
%patch4 -p1 -b .icu_cppflags
|
||||
%patch5 -p1 -b .renderFix
|
||||
%patch6 -p1 -b .atkFix
|
||||
|
||||
# For patch3 and patch4
|
||||
autoreconf --verbose --install -I Source/autotools
|
||||
%patch0 -p1 -b .nspluginwrapper
|
||||
%patch1 -p1 -b .yarr
|
||||
%patch2 -p1 -b .double2ints
|
||||
%ifarch ppc
|
||||
%patch3 -p1 -b .libatomic
|
||||
%patch4 -p1 -b .double2intsPPC32
|
||||
%endif
|
||||
|
||||
%build
|
||||
%ifarch s390 %{arm}
|
||||
%ifarch s390 %{arm} ppc
|
||||
# Use linker flags to reduce memory consumption on low-mem architectures
|
||||
%global optflags %{optflags} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
|
||||
%endif
|
||||
%ifarch s390
|
||||
%ifarch s390 s390x
|
||||
# Decrease debuginfo verbosity to reduce memory consumption even more
|
||||
%global optflags %(echo %{optflags} | sed 's/-g/-g1/')
|
||||
%endif
|
||||
|
||||
# explicitly disable JIT on ARM https://bugs.webkit.org/show_bug.cgi?id=85076
|
||||
%ifarch ppc
|
||||
# Use linker flag -relax to get WebKit2 build under ppc(32) with JIT disabled
|
||||
%global optflags %{optflags} -Wl,-relax
|
||||
%endif
|
||||
|
||||
CFLAGS="%optflags -DLIBSOUP_I_HAVE_READ_BUG_594377_AND_KNOW_SOUP_PASSWORD_MANAGER_MIGHT_GO_AWAY" %configure \
|
||||
%ifarch %{arm}
|
||||
# Build with -g1 on all platforms to avoid running into 4 GB ar format limit
|
||||
# https://bugs.webkit.org/show_bug.cgi?id=91154
|
||||
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
|
||||
|
||||
CFLAGS="%{optflags} -DLIBSOUP_I_HAVE_READ_BUG_594377_AND_KNOW_SOUP_PASSWORD_MANAGER_MIGHT_GO_AWAY" %configure \
|
||||
--with-gtk=2.0 \
|
||||
--disable-webkit2 \
|
||||
%ifarch s390 s390x ppc ppc64
|
||||
--disable-jit \
|
||||
%else
|
||||
%ifnarch s390 s390x ppc ppc64
|
||||
--enable-jit \
|
||||
%endif
|
||||
%endif
|
||||
--disable-webkit2 \
|
||||
--enable-geolocation \
|
||||
--enable-introspection \
|
||||
--with-gtk=2.0 \
|
||||
--enable-webgl \
|
||||
%{?with_coverage: --enable-coverage } \
|
||||
%{?with_debug: --enable-debug } \
|
||||
%{?with_pango: --with-font-backend=pango }
|
||||
--enable-introspection
|
||||
|
||||
mkdir -p DerivedSources/webkit
|
||||
mkdir -p DerivedSources/WebCore
|
||||
mkdir -p DerivedSources/ANGLE
|
||||
mkdir -p DerivedSources/webkitdom/
|
||||
mkdir -p DerivedSources/WebKit2/webkit2gtk/webkit2
|
||||
mkdir -p DerivedSources/InjectedBundle
|
||||
|
||||
make V=1 %{?_smp_mflags}
|
||||
make %{_smp_mflags} V=1
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
|
||||
make install DESTDIR=%{buildroot}
|
||||
|
||||
install -d -m 755 %{buildroot}%{_libexecdir}/%{name}
|
||||
@ -169,11 +138,13 @@ chrpath --delete %{buildroot}%{_bindir}/jsc-1
|
||||
chrpath --delete %{buildroot}%{_libdir}/libwebkitgtk-1.0.so
|
||||
chrpath --delete %{buildroot}%{_libexecdir}/%{name}/GtkLauncher
|
||||
|
||||
%find_lang webkitgtk-2.0
|
||||
# Remove .la files
|
||||
find $RPM_BUILD_ROOT%{_libdir} -name "*.la" -delete
|
||||
|
||||
%find_lang WebKitGTK-2.0
|
||||
|
||||
## Finally, copy over and rename the various files for %%doc inclusion.
|
||||
%add_to_doc_files Source/WebKit/LICENSE
|
||||
%add_to_doc_files Source/WebKit/gtk/po/README
|
||||
%add_to_doc_files Source/WebKit/gtk/NEWS
|
||||
%add_to_doc_files Source/WebCore/icu/LICENSE
|
||||
%add_to_doc_files Source/WebCore/LICENSE-APPLE
|
||||
@ -185,9 +156,6 @@ chrpath --delete %{buildroot}%{_libexecdir}/%{name}/GtkLauncher
|
||||
%add_to_doc_files Source/JavaScriptCore/icu/README
|
||||
%add_to_doc_files Source/JavaScriptCore/icu/LICENSE
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
|
||||
@ -201,20 +169,16 @@ fi
|
||||
glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
|
||||
|
||||
|
||||
%files -f webkitgtk-2.0.lang
|
||||
%defattr(-,root,root,-)
|
||||
%files -f WebKitGTK-2.0.lang
|
||||
%doc %{_docdir}/%{name}-%{version}/
|
||||
%exclude %{_libdir}/*.la
|
||||
%{_libdir}/libwebkitgtk-1.0.so.*
|
||||
%{_libdir}/libjavascriptcoregtk-1.0.so.*
|
||||
%{_libdir}/girepository-1.0/WebKit-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/JSCore-1.0.typelib
|
||||
#{_datadir}/glib-2.0/schemas/org.webkitgtk-1.0.gschema.xml
|
||||
%{_libexecdir}/%{name}/
|
||||
%{_datadir}/webkitgtk-1.0
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
%files devel
|
||||
%{_bindir}/jsc-1
|
||||
%{_includedir}/webkitgtk-1.0
|
||||
%{_libdir}/libwebkitgtk-1.0.so
|
||||
@ -224,13 +188,19 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
|
||||
%{_datadir}/gir-1.0/WebKit-1.0.gir
|
||||
%{_datadir}/gir-1.0/JSCore-1.0.gir
|
||||
|
||||
%files doc
|
||||
%defattr(-,root,root,-)
|
||||
%files doc
|
||||
%dir %{_datadir}/gtk-doc
|
||||
%dir %{_datadir}/gtk-doc/html
|
||||
%{_datadir}/gtk-doc/html/webkitgtk
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Apr 2 2013 Tomas Popela <tpopela@redhat.com> - 2.0.0-1
|
||||
- Update to 2.0.0
|
||||
- Update BR versions
|
||||
- Drop unused patches
|
||||
- Change spec structure to webkitgtk3 spec file
|
||||
|
||||
* Tue Mar 12 2013 Tomas Popela <tpopela@redhat.com> 1.10.2-6
|
||||
- Add upstream patch for RH bug #908143 - AccessibilityTableRow::parentTable crash
|
||||
- Add fix for bug #907432 - Rendering glitches on some sites
|
||||
|
Loading…
Reference in New Issue
Block a user