Timeline
Aug 4, 2013:
- 2:29 PM Changeset in webkit [153701] by
-
- 8 edits1 add in trunk
Background doesn't fully repaint when body has margins.
https://bugs.webkit.org/show_bug.cgi?id=119033
Reviewed by Simon Fraser.
Ensure that background-color changes do not leave unpainted areas when
body has margins.
Both <body> and <html> background-color get propagated up to the viewport.
If <body> has background-color attribute set, while <html> doesn't, the color is
applied not only on the <body> but on both the <html> and the viewport. However,
it's not enough to mark the RenderView dirty because with tiles backing on,
there could be areas outside of the viewport that need repaint. By marking
the RenderView's graphics layer dirty instead, we ensure that all the related
tiles get marked dirty too and the new background color covers all areas.
Manual test added. When forcing top-level composition on (even with embedded iframe to
make sure we don't do paintsIntoWindow rendering), the test case execution changes so much,
that the repaint rects don't reflect the functionality difference anymore.
.:
Reviewed by Simon Fraser.
- ManualTests/compositing/background-color-change-on-body-with-margin.html: Added.
Source/WebCore:
- page/FrameView.cpp:
(WebCore::FrameView::reset):
(WebCore::FrameView::layout):
- page/FrameView.h:
(WebCore::FrameView::needsFullRepaint):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::styleWillChange):
- rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
- rendering/RenderView.cpp:
(WebCore::RenderView::repaintRootContents):
(WebCore::RenderView::repaintViewAndCompositedLayers):
- rendering/RenderView.h:
- 9:17 AM Changeset in webkit [153700] by
-
- 3 edits in trunk/Source/WebCore
Document needn't expose its active element.
<http://webkit.org/b/119466>
Reviewed by Antonio Gomes.
The Document::m_activeElement pointer is only used inside updateHoverActiveState(),
so we can remove the activeElement()/setActiveElement() accessors.
- dom/Document.h:
- dom/Document.cpp:
(WebCore::Document::updateHoverActiveState):
- 8:57 AM Changeset in webkit [153699] by
-
- 3 edits in trunk/Source/WebCore
Inserting a rule into an empty style sheet shouldn't trigger style recalc unless necessary.
<http://webkit.org/b/119475>
<rdar://problem/14643481>
Reviewed by Antti Koivisto.
This is kind of a cheesy optimization, but it turns out that the use case is quite common.
The pattern goes like this:
(1) Create <style> element.
(2) Add it to the document's <head>.
(3) .addRule() one rule through the CSSOM API.
Prior to this patch, (3) would always cause a full (deferred) style recalc.
Now that we exclude empty style sheets from the document's (effective) active set,
we can piggyback on the style invalidation analysis when transitioning from an empty
sheet to a single-rule sheet.
In other words, add a special code path for the first rule insertion into an empty,
in-document style sheet to minimize the amount of invalidation that happens.
- css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::didMutateRules):
(WebCore::CSSStyleSheet::insertRule):
- css/CSSStyleSheet.h:
(WebCore::CSSStyleSheet::RuleMutationScope::RuleMutationScope):
(WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
- 7:35 AM Changeset in webkit [153698] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Fix a C++11 warning.
Rubber-stamped by Martin Robinson.
- platform/gtk/FileSystemGtk.cpp:
(WebCore::sharedResourcesPath): Fix a C++11 warning.
- 6:03 AM Changeset in webkit [153697] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Remove legacy hack in CodeGeneratorGObject.pm
https://bugs.webkit.org/show_bug.cgi?id=117545
Patch by Diego Pino Garcia <Diego Pino Garcia> on 2013-08-04
Reviewed by Carlos Garcia Campos.
There's a checking that sets gtype to uint in case it's ushort. gtype
is a value obtained from GetGValueTypeName(), which never returns
ushort.
- bindings/scripts/CodeGeneratorGObject.pm:
(GenerateProperty): remove unnecessary glitch
- 12:41 AM Changeset in webkit [153696] by
-
- 5 edits in trunk/Source/WebCore
[Mac] Disable screen font substitution at WebCore-level in OS X 10.9+
<http://webkit.org/b/119474>
<rdar://problem/14643349>
Reviewed by Dan Bernstein.
Disable screen font substitution by default in Settings so internal WebCore clients
such as SVG-as-image will get the right default setting.
- page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault):
(WebCore::Settings::setScreenFontSubstitutionEnabled):
- page/Settings.h:
(WebCore::Settings::screenFontSubstitutionEnabled):
- page/Settings.in:
- page/mac/SettingsMac.mm:
(WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault):
Aug 3, 2013:
- 9:13 PM Changeset in webkit [153695] by
-
- 3 edits in trunk/Source/WebCore
Refine the unavailable plug-in indicator
https://bugs.webkit.org/show_bug.cgi?id=119400
<rdar://problem/14616012>
Reviewed by Oliver Hunt.
Add a border, flip the text and background colors, and make the indicator
much higher contrast, to be more visible on a variety of sites.
Also, refine the arrow to be less blocky and inlaid inside a circle.
- rendering/RenderEmbeddedObject.cpp:
(WebCore::replacementTextRoundedRectPressedColor):
(WebCore::replacementTextRoundedRectColor):
(WebCore::replacementTextColor):
(WebCore::unavailablePluginBorderColor):
(WebCore::drawReplacementArrow):
(WebCore::RenderEmbeddedObject::paintReplaced):
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
(WebCore::RenderEmbeddedObject::unavailablePluginIndicatorBounds):
(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
- rendering/RenderEmbeddedObject.h:
- 9:00 PM Changeset in webkit [153694] by
-
- 4 edits in trunk/Source/WebKit2
Unreviewed, build and style fix for r153693.
- UIProcess/WebProcessProxy.cpp:
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/WebPage/WebPage.cpp:
- 8:50 PM Changeset in webkit [153693] by
-
- 6 edits in trunk/Source/WebKit2
Remove SimplePDFPlugin
https://bugs.webkit.org/show_bug.cgi?id=119437
Reviewed by Alexey Proskuryakov.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getPlugins):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
Don't add SimplePDFPlugin, nor try to instantiate it.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
Merge previously inherited behavior in from SimplePDFPlugin.
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/Plugins/PDF/SimplePDFPlugin.h: Removed.
- WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Removed.
Remove SimplePDFPlugin.
- 5:31 PM Changeset in webkit [153692] by
-
- 15 edits in trunk/Source/WebKit2
Remove pageOverlayShouldApplyFadeWhenPainting() and adopt composited fade for the Mac port
https://bugs.webkit.org/show_bug.cgi?id=119411
Reviewed by Simon Fraser.
Mac is the only holdout that performs non-composited fades of page
overlays. We should adopt that mechanism (as a precursor to doing a
CA-accelerated fade) and remove the now-unnecessary property.
- WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
(WKBundlePageOverlayFractionFadedIn):
Always return 1 (fully-faded-in) so that clients who attempt to use this
to bake the fade opacity into their painting will paint at full opacity,
allowing us to do the composited fade separately.
- WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
- WebProcess/WebPage/DrawingArea.h:
- WebProcess/WebPage/DrawingAreaImpl.cpp:
- WebProcess/WebPage/DrawingAreaImpl.h:
- WebProcess/WebPage/LayerTreeHost.h:
- WebProcess/WebPage/PageOverlay.cpp:
(WebKit::PageOverlay::PageOverlay):
(WebKit::PageOverlay::setPage):
(WebKit::PageOverlay::setNeedsDisplay):
(WebKit::PageOverlay::fadeAnimationTimerFired):
- WebProcess/WebPage/PageOverlay.h:
Remove pageOverlayShouldApplyFadeWhenPainting and fractionFadedIn().
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::drawRect):
Draw the find overlay without taking the PageOverlay's fade into account.
- WebProcess/WebPage/TapHighlightController.cpp:
(WebKit::TapHighlightController::drawRect):
Remove pageOverlayShouldApplyFadeWhenPainting. Since it's always
"false" for all ports now, take the second path here.
- WebProcess/WebPage/mac/LayerTreeHostMac.h:
- WebProcess/WebPage/mac/LayerTreeHostMac.mm:
(WebKit::LayerTreeHostMac::setPageOverlayOpacity):
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setPageOverlayOpacity):
Implement setPageOverlayOpacity for DrawingAreaImpl
and TiledCoreAnimationDrawingArea.
- 5:12 PM Changeset in webkit [153691] by
-
- 7 edits in trunk/Source/JavaScriptCore
hasIndexingHeader() ought really to be a property of an object and its structure, not just its structure
https://bugs.webkit.org/show_bug.cgi?id=119470
Reviewed by Oliver Hunt.
Structure can still tell you if the object "could" (in the conservative sense)
have an indexing header; that's used by the compiler.
Most of the time if you want to know if there's an indexing header, you ask the
JSObject.
In some cases, the JSObject wants to know if it would have an indexing header if
it had a different structure; then it uses Structure::hasIndexingHeader(JSCell*).
- dfg/DFGRepatch.cpp:
(JSC::DFG::tryCachePutByID):
(JSC::DFG::tryBuildPutByIdList):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
- runtime/ButterflyInlines.h:
(JSC::Butterfly::create):
(JSC::Butterfly::growPropertyStorage):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::resizeArray):
- runtime/JSObject.cpp:
(JSC::JSObject::copyButterfly):
(JSC::JSObject::visitButterfly):
- runtime/JSObject.h:
(JSC::JSObject::hasIndexingHeader):
(JSC::JSObject::setButterfly):
- runtime/Structure.h:
(JSC::Structure::couldHaveIndexingHeader):
(JSC::Structure::hasIndexingHeader):
- 10:49 AM Changeset in webkit [153690] by
-
- 2 edits in trunk/LayoutTests
webaudio/audiobuffersource-loop-points.html always times out
https://bugs.webkit.org/show_bug.cgi?id=119467
Skip this test.
- platform/mac-wk2/TestExpectations:
- 8:56 AM BadContent edited by
- Add a spamming account to the blocked list. (diff)
- 6:43 AM Changeset in webkit [153689] by
-
- 6 edits4 adds in trunk
PreloadScanner preloads external CSS with non-matching media attribute
https://bugs.webkit.org/show_bug.cgi?id=106198
Patch by Yoav Weiss <yoav@yoav.ws> on 2013-08-03
Reviewed by Dean Jackson.
Source/WebCore:
Test: http/tests/loading/preload-css-test.html
- html/parser/HTMLPreloadScanner.cpp:
Remove m_linkMediaAttributeIsScreen
Remove MediaQueryEvaluator calls
Add m_mediaAttribute that gets the value of the "media" attribute
Pass m_mediaAttribute to PreloadRequest
(WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner):
(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
(WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
(WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
- html/parser/HTMLResourcePreloader.cpp:
Add MediaQueryEvaluator calls to see if "media" matches
Perform preload only to resource with a matching media (if media exists)
(WebCore::PreloadRequest::isSafeToSendToAnotherThread):
(WebCore::mediaAttributeMatches):
(WebCore::HTMLResourcePreloader::preload):
- html/parser/HTMLResourcePreloader.h:
Add a constructor with a mediaAttribute value
Add m_mediaAttribute & its getter.
(WebCore::PreloadRequest::create):
(WebCore::PreloadRequest::media):
(WebCore::PreloadRequest::PreloadRequest):
LayoutTests:
- http/tests/loading/preload-css-test-expected.txt: Added.
- http/tests/loading/preload-css-test.html: Added.
- http/tests/loading/resources/big_mq.css: Added.
- http/tests/loading/resources/small_mq.css: Added.
- http/tests/local/link-stylesheet-load-order-preload-expected.txt:
- 3:15 AM Changeset in webkit [153688] by
-
- 4 edits in trunk/Source/WebCore
RenderBoxModelObject::firstLetterRemainingText should be a RenderTextFragment*.
<http://webkit.org/b/119181>
Reviewed by Sam Weinig.
De-generalize this code a bit since we know that the firstLetterRemainingText() is always
going to be a RenderTextFragment.
- rendering/RenderBoxModelObject.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::firstLetterRemainingText):
(WebCore::RenderBoxModelObject::setFirstLetterRemainingText):
Make these two deal in RenderTextFragment*.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetterStyle):
Tighten up some pointer types so we don't have to cast as much.