Timeline



Sep 5, 2014:

9:58 PM Changeset in webkit [173350] by commit-queue@webkit.org
  • 13 edits in trunk/Source

Use WTFString::split(char) in more places
https://bugs.webkit.org/show_bug.cgi?id=136543

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-05
Reviewed by Sam Weinig.

Source/WebCore:

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::nodeForPath):

  • mathml/MathMLMencloseElement.cpp:

(WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):

  • page/PerformanceResourceTiming.cpp:

(WebCore::passesTimingAllowCheck):

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):

  • platform/graphics/opengl/GLPlatformContext.cpp:

(WebCore::parseExtensions):

  • platform/gtk/PasteboardHelper.cpp:

(WebCore::PasteboardHelper::fillDataObjectFromDropData):

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::loadResponseHeaders):

  • platform/network/curl/CurlCacheManager.cpp:

(WebCore::CurlCacheManager::loadIndex):

Source/WebKit2:

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::PluginVersion::parse):

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::initInspectorServer):

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::isTransparentSilverlightBackgroundValue):

9:14 PM Changeset in webkit [173349] by mmaxfield@apple.com
  • 11 edits
    2 adds in trunk

Laying out a TextRun using an SVG font is O(n2)
https://bugs.webkit.org/show_bug.cgi?id=136584

Reviewed by Andreas Kling.

PerformanceTests:

Time how long it takes to lay out and render some text using an SVG font.

  • SVG/SVG-Text.html: Added.
  • SVG/resources/graffiti.svg: Added.

Source/WebCore:

Caching the version of the run with normalized spaces leads to a 5x speedup on the
performance test this patch adds.

Note that SVGFontData::applySVGGlyphSelection() is still unnecesarrily O(n), so more
work can be done here. In particular, the call to collectGlyphsForString() can likely
be sped up.

No new correctness tests because there is no behavior change.
Performance Test: SVG/SVG-Text.html

  • platform/graphics/Font.h:

(WebCore::Font::treatAsSpace): Make inline.
(WebCore::Font::treatAsZeroWidthSpace): Ditto.
(WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Ditto.

  • platform/graphics/SimpleFontData.h: Add String cache argument.
  • platform/graphics/TextRun.h: Move member variables around for better packing.

(WebCore::TextRun::TextRun): Ditto.

  • platform/graphics/WidthIterator.cpp: Add String cache argument.

(WebCore::WidthIterator::glyphDataForCharacter): Ditto.
(WebCore::WidthIterator::advanceInternal): Create String cache and pass it to
glyphDataForCharacter.

  • platform/graphics/WidthIterator.h: Add String cache argument.
  • rendering/svg/SVGTextRunRenderingContext.cpp: Ditto.

(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Ditto.

  • rendering/svg/SVGTextRunRenderingContext.h: Ditto.
  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::applySVGGlyphSelection): Call computeNormalizedSpaces
to consult with the cache.
(WebCore::computeNormalizedSpaces): Compute cached String value.

  • svg/SVGFontData.h: Add String cache argument.
7:24 PM Changeset in webkit [173348] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r169407): Calls to RenderStyle::getRoundedBorderFor() in computeRoundedRectForBoxShape() still include RenderView pointer
<http://webkit.org/b/136591>
<rdar://problem/18143731>

Reviewed by Simon Fraser.

In r169407, the RenderView* argument was removed from
RenderStyle::getRoundedBorderFor(). This argument was not
removed from these calls in computeRoundedRectForBoxShape(), but
because getRoundedBorderFor() always returned a reference, and
because the default for the next argument was true, there was no
actual change in behavior from this bug.

No new tests since there is no change in behavior.

  • rendering/shapes/BoxShape.cpp:

(WebCore::computeRoundedRectForBoxShape): Remove RenderView*
arguments from calls to getRoundedBorderFor().

5:25 PM Changeset in webkit [173347] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Change this test not to use a percentage width, and to use a non-blurred
shadow to avoid different results on Retina display systems.

  • platform/mac-wk2/tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/frames/fixed-inside-frame.html:
5:16 PM Changeset in webkit [173346] by ggaren@apple.com
  • 8 edits in trunk/Source

bmalloc should honor the FastMalloc statistics API
https://bugs.webkit.org/show_bug.cgi?id=136592

Reviewed by Gavin Barraclough.

Source/bmalloc:

We do this by tracking "size" and "capacity" in the VM heap.

The VM heap's "capacity" is all the VM we ever allocated.

The VM heap's "size" the subset of VM currently held onto by the
VM heap (and therefore not in use by the regular heap).

Somewhat ironically, reducing the process's memory footprint, increases
the size of the VM heap, since the VM heap holds the pages that are
purely virtual and not physical.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::size):
(bmalloc::Heap::capacity):

  • bmalloc/Heap.h:
  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::VMHeap):
(bmalloc::VMHeap::allocateSmallChunk):
(bmalloc::VMHeap::allocateMediumChunk):
(bmalloc::VMHeap::allocateLargeChunk):

  • bmalloc/VMHeap.h:

(bmalloc::VMHeap::size):
(bmalloc::VMHeap::capacity):
(bmalloc::VMHeap::allocateSmallPage):
(bmalloc::VMHeap::allocateMediumPage):
(bmalloc::VMHeap::allocateLargeRange):
(bmalloc::VMHeap::deallocateSmallPage):
(bmalloc::VMHeap::deallocateMediumPage):
(bmalloc::VMHeap::deallocateLargeRange):

  • bmalloc/bmalloc.h:

(bmalloc::api::heapSize):
(bmalloc::api::heapCapacity):

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::fastMallocStatistics):

5:15 PM Changeset in webkit [173345] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Work around bug 136593 by disabling the PDFDocumentImage live resize optimization there
https://bugs.webkit.org/show_bug.cgi?id=136594
rdar://problem/17457013

Reviewed by Simon Fraser.

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
Disable the optimization on iOS, because bug 136593 rears its head
most often on iOS because it is more common to have contexts that always
use low-quality image interpolation on that platform.

5:14 PM Changeset in webkit [173344] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Doing a navigation on a non-opaque WKWebView can result in an empty layer tree
https://bugs.webkit.org/show_bug.cgi?id=136590
<rdar://problem/18234000>

Reviewed by Simon Fraser.

  • page/FrameView.cpp:

(WebCore::FrameView::setTransparent):
Avoid scheduling a compositing layer update if the RenderView isn't the
one associated with this FrameView. This can happen during a navigation,
before the new Document (and RenderView) is swapped in. This is particularly
bad in the case of setTransparent because it is called from Frame::createView,
which is right in the middle of that transition window. If we let the compositing
layer update go ahead, it can end up detaching the new Document's layer tree,
and we have no mechanism that would cause it to reattach.

5:06 PM Changeset in webkit [173343] by jpfau@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, skip tests for a feature that isn't supported

  • platform/mac/TestExpectations:
4:54 PM Changeset in webkit [173342] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Build fix after r173340.

  • WebCoreSupport/WebEditorClient.h:

(kit):
(core):

4:40 PM Changeset in webkit [173341] by Lucas Forschler
  • 2 edits in trunk/Tools

<https://webkit.org/b/136586> Add bots to Apple build/test queues

Reviewed by Daniel Bates.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
4:30 PM Changeset in webkit [173340] by enrica@apple.com
  • 13 edits in trunk/Source

Remove PLATFORM(IOS) from WebCore/editing (Part 3).
https://bugs.webkit.org/show_bug.cgi?id=136474

Reviewed by Benjamin Poulain.

This patch removes the use of PLATFORM(IOS) from TextAffinity.h
and removes the assumption that EAffinity values match NSSelectionAffinity
values. It also removes the includes in TextAffinity.h, creating the need to
include explicitly the files when necessary. It also removes the unnecessary
use of platform specific types, replacing them with WebCore types.

Source/WebCore:

  • editing/TextAffinity.h:

(kit): Deleted.
(core): Deleted.

  • editing/cocoa/HTMLConverter.mm:
  • page/mac/WebCoreFrameView.h:
  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::platformSetScrollPosition):
(WebCore::ScrollView::platformSetScrollOrigin):

  • platform/ios/wak/WAKScrollView.mm:

(-[WAKScrollView setScrollOrigin:updatePositionAtAll:immediately:]):
(-[WAKScrollView scrollOrigin]):

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.h: Added kit and core for EAffinity.
  • WebView/WebFrameView.mm:

(-[WebFrameView _scrollToBeginningOfDocument]):
(-[WebFrameView _scrollToEndOfDocument]):

Source/WebKit2:

  • WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
  • WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:

(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

4:01 PM Changeset in webkit [173339] by jpfau@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Add test after r173324

Rubber-stamped by Simon Fraser.

  • storage/indexeddb/version-change-event-expected.txt: Added.
  • storage/indexeddb/version-change-event.html: Added.
4:00 PM Changeset in webkit [173338] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

bmalloc should honor the FastMalloc scavenging API
https://bugs.webkit.org/show_bug.cgi?id=136588

Reviewed by Andreas Kling.

  • wtf/FastMalloc.cpp:

(WTF::releaseFastMallocFreeMemory):

3:26 PM Changeset in webkit [173337] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed GTK build fix; include StringPrintStream to pull in toString().

  • html/HTMLMediaElement.h:
3:11 PM Changeset in webkit [173336] by beidson@apple.com
  • 5 edits in trunk

Allow pages with unload handlers in the page cache
<rdar://problem/11084669> and https://bugs.webkit.org/show_bug.cgi?id=136535

Reviewed by Oliver Hunt.

Source/WebCore:

This will match what iOS has been doing for some time.

Updated tests for new behavior.

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):

LayoutTests:

  • fast/frames/frame-crash-with-page-cache-expected.txt:
  • fast/frames/resources/cached-page-1.html:
3:09 PM Changeset in webkit [173335] by roger_fong@apple.com
  • 4 edits in trunk

Remove statically used varyings from packing restrictions check.
https://bugs.webkit.org/show_bug.cgi?id=136585.
<rdar://problem/16308409>

Reviewed by Dean Jackson.

  • src/compiler/translator/Compiler.cpp:

(TCompiler::enforcePackingRestrictions):

  • platform/mac/TestExpectations: Unskip build_009_to_016.html conformance test.
2:32 PM Changeset in webkit [173334] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

2014-09-05 Geoffrey Garen <ggaren@apple.com>

Rolled out <http://trac.webkit.org/changeset/173313>.

It seems to have broken the PLT bot.

Do the bmalloc.
https://bugs.webkit.org/show_bug.cgi?id=132629

  • wtf/FastMalloc.cpp:
2:08 PM Changeset in webkit [173333] by commit-queue@webkit.org
  • 7 edits
    3 adds in trunk

Web Inspector: breakpoint actions should work regardless of Content Security Policy
https://bugs.webkit.org/show_bug.cgi?id=136542

Patch by Matt Baker <Matt Baker> on 2014-09-05
Reviewed by Mark Lam.

Source/JavaScriptCore:

Added JSC::DebuggerEvalEnabler, an RAII object which enables eval on a
JSGlobalObject for the duration of a scope, returning the eval enabled state to its
original value when the scope exits. Used by JSC::DebuggerCallFrame::evaluate
to allow breakpoint actions to execute JS in pages with a Content Security Policy
that would normally prohibit this (such as Inspector's Main.html).

Refactored Inspector::InjectedScriptBase to use the RAII object instead of manually
setting eval enabled and then resetting the original eval enabled state.

NOTE: The JS::DebuggerEvalEnabler constructor checks the passed in ExecState pointer
for null to be equivalent with the original code in Inspector::InjectedScriptBase.
InjectedScriptBase is getting the ExecState from ScriptObject::scriptState(), which
can currently be null.

(JSC::DebuggerCallFrame::evaluate):

  • debugger/DebuggerEvalEnabler.h: Added.

(JSC::DebuggerEvalEnabler::DebuggerEvalEnabler):
(JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler):

  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::callFunctionWithEvalEnabled):

LayoutTests:

Added test for "Evaluate JavaScript" breakpoint actions for breakpoints set on
pages with a CSP that does not allow 'unsafe-eval'.

  • inspector/debugger/breakpoint-action-eval-expected.txt: Added.
  • inspector/debugger/breakpoint-action-eval.html: Added.
1:57 PM Changeset in webkit [173332] by ap@apple.com
  • 2 edits in trunk/Tools

Buildbot metrics page gives wrong results after a new bot gets added
https://bugs.webkit.org/show_bug.cgi?id=136516

Reviewed by Tim Horton.

Part 2: Fix elapsed times.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:

(Analyzer.prototype._countTimes): Made lastTestedRevisionByQueue contain undefined values
until the first build in a queue. This happens to work as needed with _fullyTestedRevisionNumber().

1:25 PM Changeset in webkit [173331] by clopez@igalia.com
  • 6 edits in trunk

[SOUP] Implement ResourceResponse::platformSuggestedFilename() when USE(SOUP) is enabled.
https://bugs.webkit.org/show_bug.cgi?id=136562

Reviewed by Martin Robinson.

Source/WebCore:

No new tests, this makes existing tests pass.

  • platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::ResourceResponse::platformSuggestedFilename):
Implement ResourceResponse::platformSuggestedFilename() for SOUP after r173272, r173301 and r173305.

Tools:

  • Scripts/run-gtk-tests:

(TestRunner): Remove failure expectations for tests that now pass.

LayoutTests:

  • platform/gtk/TestExpectations: Remove failure expectations for tests that now pass.
1:05 PM Changeset in webkit [173330] by msaboff@apple.com
  • 3 edits
    2 adds in trunk/LayoutTests

ARM32 iOS: JSC Test math.js fails
https://bugs.webkit.org/show_bug.cgi?id=136261

Reviewed by Geoffrey Garen.

Split out the failing tests to a new test script math-denorm.js. Added check
at the top of the new file to skip the tests when running on ARM for iOS.

  • js/math-denorm-expected.txt: Added.
  • js/math-expected.txt:
  • js/script-tests/math-denorm.js: Added.
  • js/script-tests/math.js:
1:05 PM Changeset in webkit [173329] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[Curl] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=136574

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-09-05
Reviewed by Alex Christensen.

The ResourceResponse::setSuggestedFilename method is no longer available.

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::setResponseFromCachedHeaders):

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::didReceiveHeader):

  • platform/network/curl/MultipartHandle.cpp:

(WebCore::MultipartHandle::didReceiveResponse):

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::headerCallback):

  • platform/network/curl/ResourceResponse.h:

(WebCore::ResourceResponse::platformSuggestedFilename):

1:04 PM Changeset in webkit [173328] by benjamin@webkit.org
  • 21 edits
    12 adds in trunk

Update the current matching of :read-only and :read-write to the latest spec
https://bugs.webkit.org/show_bug.cgi?id=136566

Reviewed by Antti Koivisto.

Source/WebCore:

WebKit's implementation of :read-only and :read-write dated from 2008 and
it was based on the web form spec (http://www.w3.org/TR/web-forms-2/).
That spec is very dead now.

There are new definitions of :read-only and :read-write in three specs:
-the HTML living spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#selector-read-only
-Selectors level 4: http://dev.w3.org/csswg/selectors4/#rw-pseudos
-CSS 3 UI: http://www.w3.org/TR/css3-ui/

All the definitions say about the same thing. The definitions of Selector Level 4 and
CSS 3 UI are very vague and poorly worded. I used the HTML when something was ambiguous.

In the new definitions, :read-only and :read-write are opposite. It is no longer possible to
match both selector simultaneously for the same element.
Consequently, I got rid of Element:matchesReadOnlyPseudoClass(). Matching :read-only is now equivalent
to :not(:read-write).

The existing definition of :read-write was matching the spec so I could reuse that.

There is one more part to the new spec that is not addressed here: the pseudo class :read-write should
now also match arbitrary editable HTMLElement (e.g. an element with contenteditable). This will be fixed
in a follow up.

Tests: fast/css/read-only-read-write-input-basics.html

fast/css/read-only-read-write-textarea-basics.html
fast/selectors/read-only-read-write-input-basics.html
fast/selectors/read-only-read-write-input-in-fieldset.html
fast/selectors/read-only-read-write-textarea-basics.html
fast/selectors/read-only-read-write-textarea-in-fieldset.html

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesReadOnlyPseudoClass):

  • dom/Element.cpp:

(WebCore::Element::matchesReadOnlyPseudoClass): Deleted.

  • dom/Element.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::matchesReadOnlyPseudoClass): Deleted.

  • html/HTMLInputElement.h:
  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass): Deleted.

  • html/HTMLTextAreaElement.h:
  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::matchesReadOnlyPseudoClass): Deleted.

  • html/shadow/SliderThumbElement.h:
  • html/shadow/SpinButtonElement.cpp:

(WebCore::SpinButtonElement::matchesReadOnlyPseudoClass): Deleted.

  • html/shadow/SpinButtonElement.h:
  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::isReadOnlyControl):

LayoutTests:

  • fast/css/readonly-pseudoclass-opera-005.html:

This was one of the original test.
With the new definition, input[type=radio] is always :read-only.

  • fast/forms/input-live-pseudo-selectors-expected.txt:
  • fast/forms/resources/input-live-pseudo-selectors.js:
  • fast/forms/resources/live-pseudo-selectors.css:

(:read-only): Deleted.

  • fast/forms/resources/select-live-pseudo-selectors.js:
  • fast/forms/resources/textarea-live-pseudo-selectors.js:
  • fast/forms/textarea-live-pseudo-selectors-expected.txt:

Those various tests were mostly testing form validation. The selectors
for :read-only and :read-write were in the way of testing.

They were only 3 cases tested and they are covered by the new tests.

  • fast/css/read-only-read-write-input-basics-expected.html: Added.
  • fast/css/read-only-read-write-input-basics.html: Added.
  • fast/css/read-only-read-write-textarea-basics-expected.html: Added.
  • fast/css/read-only-read-write-textarea-basics.html: Added.
  • fast/selectors/read-only-read-write-input-basics-expected.txt: Added.
  • fast/selectors/read-only-read-write-input-basics.html: Added.
  • fast/selectors/read-only-read-write-input-in-fieldset-expected.txt: Added.
  • fast/selectors/read-only-read-write-input-in-fieldset.html: Added.
  • fast/selectors/read-only-read-write-textarea-basics-expected.txt: Added.
  • fast/selectors/read-only-read-write-textarea-basics.html: Added.
  • fast/selectors/read-only-read-write-textarea-in-fieldset-expected.txt: Added.
  • fast/selectors/read-only-read-write-textarea-in-fieldset.html: Added.

New tests covering basic features for <input> and <textarea>. The definition for
other editable content is ignored for now.

12:42 PM Changeset in webkit [173327] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk/Source/JavaScriptCore

[WinCairo] jsc.exe won't run.
https://bugs.webkit.org/show_bug.cgi?id=136481

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-09-05
Reviewed by Alex Christensen.

We need to define WIN_CAIRO to avoid looking for the AAS folder.

12:33 PM Changeset in webkit [173326] by ddkilzer@apple.com
  • 12 edits in trunk/Source

JavaScriptCore should build with newer clang
<http://webkit.org/b/136002>
<rdar://problem/18020616>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Other than the JSC::SourceProvider::asID() change (which simply
removes code that the optimizing compiler would have discarded
in Release builds), we move the |this| checks in OpaqueJSString
to NULL checks in to JSBase, JSObjectRef, JSScriptRef,
JSStringRef{CF} and JSValueRef.

Note that the following function arguments are _not_ NULL-checked
since doing so would just cover up bugs (and were not needed to
prevent any tests from failing):

  • |script| in JSEvaluateScript(), JSCheckScriptSyntax();
  • |body| in JSObjectMakeFunction();
  • |source| in JSScriptCreateReferencingImmortalASCIIText() (which is a const char* anyway);
  • |source| in JSScriptCreateFromString().
  • API/JSBase.cpp:

(JSEvaluateScript): Add NULL check for |sourceURL|.
(JSCheckScriptSyntax): Ditto.

  • API/JSObjectRef.cpp:

(JSObjectMakeFunction): Ditto.

  • API/JSScriptRef.cpp:

(JSScriptCreateReferencingImmortalASCIIText): Ditto.
(JSScriptCreateFromString): Add NULL check for |url|.

  • API/JSStringRef.cpp:

(JSStringGetLength): Return early if NULL pointer is passed in.
(JSStringGetCharactersPtr): Ditto.
(JSStringGetUTF8CString): Ditto. Also check |buffer| parameter.

  • API/JSStringRefCF.cpp:

(JSStringCopyCFString): Ditto.

  • API/JSValueRef.cpp:

(JSValueMakeString): Add NULL check for |string|.

  • API/OpaqueJSString.cpp:

(OpaqueJSString::string): Remove code that checks |this|.
(OpaqueJSString::identifier): Ditto.
(OpaqueJSString::characters): Ditto.

  • API/OpaqueJSString.h:

(OpaqueJSString::is8Bit): Remove code that checks |this|.
(OpaqueJSString::characters8): Ditto.
(OpaqueJSString::characters16): Ditto.
(OpaqueJSString::length): Ditto.

  • parser/SourceProvider.h:

(JSC::SourceProvider::asID): Remove code that checks |this|.

Source/WebKit2:

  • Shared/API/c/WKString.cpp:

(WKStringCreateWithJSString): Add NULL check to prevent
WebKitTestRunner crashes that relied on the previous |this|
behavior where NULL values were allowed.

12:25 PM Changeset in webkit [173325] by akling@apple.com
  • 12 edits in trunk/Source/WebCore

CTTE: SVGResourcesCache should only allow RenderElements.
<https://webkit.org/b/136578>

Only RenderElement subclasses can use SVG resources.
Codify this by making SVGResourcesCache::m_cache keyed on RenderElement.

Reviewed by Antti Koivisto.

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::selfWillPaint):

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::imageChanged):

  • rendering/svg/RenderSVGResource.cpp:

(WebCore::requestPaintingResource):
(WebCore::removeFromCacheAndInvalidateDependencies):

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::applyClippingToContext):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
(WebCore::RenderSVGShape::markerRect):
(WebCore::RenderSVGShape::drawMarkers):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::invalidateResourcesOfChildren):
(WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
(WebCore::SVGRenderSupport::filtersForceContainerLayout):
(WebCore::SVGRenderSupport::pointInClippingArea):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::resourcesCacheFromRenderer):
(WebCore::SVGResourcesCache::cachedResourcesForRenderer):
(WebCore::SVGResourcesCache::clientLayoutChanged):
(WebCore::SVGResourcesCache::clientDestroyed):
(WebCore::SVGResourcesCache::resourceDestroyed):
(WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Deleted.

  • rendering/svg/SVGResourcesCache.h:
  • rendering/svg/SVGResourcesCycleSolver.cpp:

(WebCore::SVGResourcesCycleSolver::resourceContainsCycles):

12:20 PM Changeset in webkit [173324] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

IDB version changed events should have a valid eventType()
https://bugs.webkit.org/show_bug.cgi?id=136583

Reviewed by Brady Eidson.

IDBDatabase::dispatchEvent() asserts that the event type is versionchangeEvent,
but the version changed event created with an empty event type. Correct this.

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::onVersionChange):

12:16 PM Changeset in webkit [173323] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Increase number of maximum active WebGL contexts.
https://bugs.webkit.org/show_bug.cgi?id=136551.
<rdar://problem/18236425>

Reviewed by Brent Fulgham.

Test covered by Khronos conformance test:
webgl/1.0.2/conformance/context/context-creation-and-destruction.html

  • platform/graphics/mac/GraphicsContext3DMac.mm:
12:09 PM Changeset in webkit [173322] by ap@apple.com
  • 4 edits in trunk/Tools

Dashboard metrics page wastes a lot of time sorting iterations
https://bugs.webkit.org/show_bug.cgi?id=136559

Reviewed by Tim Horton.

Also fixes comments here and there, and adds a missing "var".

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype._parseData):
(BuildbotIteration.prototype._updateWithData):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

(BuildbotQueue.prototype.loadAll):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:

(Analyzer.prototype._countTimes):

11:57 AM Changeset in webkit [173321] by Simon Fraser
  • 6 edits in trunk/Source

Remove some PLATFORM(IOS) code in Color.h/cpp
https://bugs.webkit.org/show_bug.cgi?id=136582

Reviewed by Dan Bates.
Source/WebCore:

Remove Color::tap which is unused, and remove createCGColorWithDeviceWhite()
which was only called in one file in WebKit.

  • WebCore.exp.in:
  • platform/graphics/Color.h:
  • platform/graphics/cg/ColorCG.cpp:

(WebCore::createCGColorWithDeviceWhite): Deleted.

Source/WebKit/ios:

createCGColorWithDeviceWhite() is only used here so make it a local static function.

  • WebView/WebPDFViewIOS.mm:

(createCGColorWithDeviceWhite):

11:54 AM Changeset in webkit [173320] by Beth Dakin
  • 17 edits in trunk/Source

ScrollablArea::handleWheelEvent() should return early if the ScrollableArea is not
actually scrollable
https://bugs.webkit.org/show_bug.cgi?id=136558

Reviewed by Simon Fraser.

Source/WebCore:

This patch requires adding a new virtual function to ScrollableArea called
isScrollableOrRubberbandable(). Unfortunately, there is already a virtual function
of that name that exists on RenderLayerModelObject, which is only problematic
because RenderListBox inherits from both RenderLayerModelObject and
ScrollableArea. This patch resolves that conflict in the simplest way, by re-
naming the RenderLayerModelObject version of the function to
isScrollableOrRubberbandableBox(). It’s a little unfortunate, but simpler than the
other solutions I came up with.

New ScrollableArea virtual function.

  • page/FrameView.cpp:

(WebCore::FrameView::isScrollableOrRubberbandable):

  • page/FrameView.h:

The point of the whole patch! Return early if you can’t scroll or rubber band.

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::handleWheelEvent):

New ScrollableArea virtual function.

  • platform/ScrollableArea.h:
  • platform/win/PopupMenuWin.h:

Re-name.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::isScrollableOrRubberbandableBox):
(WebCore::RenderBox::isScrollableOrRubberbandable): Deleted.

  • rendering/RenderBox.h:

Implement new ScrollableArea virtual function, and adapt to the re-name.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::isScrollableOrRubberbandable):
(WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):

  • rendering/RenderLayer.h:

Re-name.

  • rendering/RenderLayerModelObject.h:

(WebCore::RenderLayerModelObject::isScrollableOrRubberbandableBox):
(WebCore::RenderLayerModelObject::isScrollableOrRubberbandable): Deleted.

Implement ScrollableArea virtual function.

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::isScrollableOrRubberbandable):

  • rendering/RenderListBox.h:

Re-name.

  • rendering/RenderView.cpp:

(WebCore::RenderView::isScrollableOrRubberbandableBox):
(WebCore::RenderView::isScrollableOrRubberbandable): Deleted.

  • rendering/RenderView.h:

Source/WebKit2:

New ScrollableArea virtual function.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
11:42 AM Changeset in webkit [173319] by clopez@igalia.com
  • 5 edits in trunk

[GTK] Unreviewed GTK gardening.

Tools:

  • Scripts/run-gtk-tests:

(TestRunner): Skip tests failing since r173272.

LayoutTests:

  • platform/gtk/TestExpectations: Report and mark new failures after r173049 and r173272.

Update some expectations for new cases.

  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt: Rebaseline after r173049.
11:38 AM Changeset in webkit [173318] by jer.noble@apple.com
  • 75 edits
    2 copies
    2 moves
    1 delete in trunk

Refactoring: make MediaTime the primary time type for audiovisual times.
https://bugs.webkit.org/show_bug.cgi?id=133579

Reviewed by Eric Carlson.

Source/JavaScriptCore:

Add a utility function which converts a MediaTime to a JSNumber.

  • runtime/JSCJSValue.h:

(JSC::jsNumber):

Source/WebCore:

In order to limit the number of floating-point rounding errors for media systems which
can make use of rational time objects.

Add some convenience methods to convert between QTTime and MediaTime.

  • platform/graphics/mac/MediaTimeQTKit.h: Added.
  • platform/graphics/mac/MediaTimeQTKit.mm: Added.

(WebCore::toMediaTime):
(WebCore::toQTTime):

Rename MediaTimeMac -> MediaTimeAVFoundation:

  • platform/graphics/avfoundation/MediaTimeAVFoundation.cpp: Renamed from Source/WebCore/platform/mac/MediaTimeMac.cpp.

(WebCore::toMediaTime):
(WebCore::toCMTime):

  • platform/graphics/avfoundation/MediaTimeAVFoundation.h: Renamed from Source/WebCore/platform/mac/MediaTimeMac.h.

Use MediaTime instead of double:

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::duration):
(WebCore::MediaSource::currentTime):
(WebCore::MediaSource::buffered):
(WebCore::MediaSource::setDuration):
(WebCore::MediaSource::activeRanges):

  • Modules/mediasource/MediaSource.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::remove):
(WebCore::SourceBuffer::removeCodedFrames):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::hasCurrentTime):
(WebCore::SourceBuffer::hasFutureTime):
(WebCore::SourceBuffer::canPlayThrough):

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDataCueCustom.cpp:

(WebCore::JSDataCueConstructor::constructJSDataCue):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:

(WebCore::ValueToString<MediaTime>::string):

  • html/MediaFragmentURIParser.cpp:

(WebCore::MediaFragmentURIParser::MediaFragmentURIParser):
(WebCore::MediaFragmentURIParser::startTime):
(WebCore::MediaFragmentURIParser::endTime):
(WebCore::MediaFragmentURIParser::parseTimeFragment):
(WebCore::MediaFragmentURIParser::parseNPTFragment):
(WebCore::MediaFragmentURIParser::parseNPTTime):
(WebCore::MediaFragmentURIParser::invalidTimeValue): Deleted.

  • html/MediaFragmentURIParser.h:
  • html/TimeRanges.h:

(WebCore::TimeRanges::ranges):

  • html/track/DataCue.cpp:

(WebCore::DataCue::DataCue):

  • html/track/DataCue.h:

(WebCore::DataCue::create):

  • html/track/InbandDataTextTrack.cpp:

(WebCore::InbandDataTextTrack::addDataCue):
(WebCore::InbandDataTextTrack::updateDataCue):
(WebCore::InbandDataTextTrack::removeDataCue):

  • html/track/InbandDataTextTrack.h:
  • html/track/InbandGenericTextTrack.cpp:

(WebCore::InbandGenericTextTrack::updateCueFromCueData):
(WebCore::InbandGenericTextTrack::addGenericCue):
(WebCore::InbandGenericTextTrack::removeGenericCue):

  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::startTimeVariance):

  • html/track/InbandTextTrack.h:
  • html/track/InbandWebVTTTextTrack.cpp:

(WebCore::InbandWebVTTTextTrack::newCuesParsed):

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::addCue):
(WebCore::TextTrack::hasCue):

  • html/track/TextTrack.h:

(WebCore::TextTrack::startTimeVariance):

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::create):
(WebCore::TextTrackCue::TextTrackCue):
(WebCore::TextTrackCue::setStartTime):
(WebCore::TextTrackCue::setEndTime):
(WebCore::TextTrackCue::hasEquivalentStartTime):

  • html/track/TextTrackCue.h:

(WebCore::TextTrackCue::startTime):
(WebCore::TextTrackCue::endTime):

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::TextTrackCueGeneric):

  • html/track/TextTrackCueGeneric.h:
  • html/track/TextTrackCueList.cpp:

(WebCore::TextTrackCueList::add):

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::VTTCue):
(WebCore::VTTCue::markFutureAndPastNodes):
(WebCore::VTTCue::updateDisplayTree):

  • html/track/VTTCue.h:

(WebCore::VTTCue::create):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::WebVTTParser):
(WebCore::WebVTTParser::resetCueValues):
(WebCore::WebVTTParser::collectTimeStamp):
(WebCore::WebVTTTreeBuilder::constructTreeFromToken):

  • html/track/WebVTTParser.h:

(WebCore::WebVTTCueData::startTime):
(WebCore::WebVTTCueData::setStartTime):
(WebCore::WebVTTCueData::endTime):
(WebCore::WebVTTCueData::setEndTime):
(WebCore::WebVTTCueData::WebVTTCueData): Deleted.

  • platform/graphics/InbandTextTrackPrivateClient.h:

(WebCore::GenericCueData::startTime):
(WebCore::GenericCueData::setStartTime):
(WebCore::GenericCueData::endTime):
(WebCore::GenericCueData::setEndTime):
(WebCore::GenericCueData::GenericCueData):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::duration):
(WebCore::MediaPlayer::startTime):
(WebCore::MediaPlayer::initialTime):
(WebCore::MediaPlayer::currentTime):
(WebCore::MediaPlayer::seekWithTolerance):
(WebCore::MediaPlayer::seek):
(WebCore::MediaPlayer::maxTimeSeekable):
(WebCore::MediaPlayer::minTimeSeekable):
(WebCore::MediaPlayer::mediaTimeForTimeValue):
(WebCore::MediaPlayer::totalFrameDelay):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::durationMediaTime):
(WebCore::MediaPlayerPrivateInterface::currentMediaTime):
(WebCore::MediaPlayerPrivateInterface::seek):
(WebCore::MediaPlayerPrivateInterface::seekWithTolerance):
(WebCore::MediaPlayerPrivateInterface::startTime):
(WebCore::MediaPlayerPrivateInterface::initialTime):
(WebCore::MediaPlayerPrivateInterface::seekable):
(WebCore::MediaPlayerPrivateInterface::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateInterface::minMediaTimeSeekable):
(WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue):
(WebCore::MediaPlayerPrivateInterface::totalFrameDelay):
(WebCore::MediaPlayerPrivateInterface::startTimeDouble): Deleted.
(WebCore::MediaPlayerPrivateInterface::maxTimeSeekableDouble): Deleted.
(WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValueDouble): Deleted.

  • platform/graphics/MediaSourcePrivateClient.h:
  • platform/graphics/TrackPrivateBase.h:

(WebCore::TrackPrivateBase::startTimeVariance):

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:

(WebCore::InbandMetadataTextTrackPrivateAVF::InbandMetadataTextTrackPrivateAVF):
(WebCore::InbandMetadataTextTrackPrivateAVF::addDataCue):
(WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes):
(WebCore::InbandMetadataTextTrackPrivateAVF::flushPartialCues):

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h:

(WebCore::IncompleteMetaDataCue::IncompleteMetaDataCue):
(WebCore::IncompleteMetaDataCue::startTime):

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCue):
(WebCore::InbandTextTrackPrivateAVF::resetCueValues):

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
(WebCore::MediaPlayerPrivateAVFoundation::durationMediaTime):
(WebCore::MediaPlayerPrivateAVFoundation::seek):
(WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance):
(WebCore::MediaPlayerPrivateAVFoundation::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundation::minMediaTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundation::maxTimeLoaded):
(WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress):
(WebCore::MediaPlayerPrivateAVFoundation::updateStates):
(WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged):
(WebCore::MediaPlayerPrivateAVFoundation::seekableTimeRangesChanged):
(WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
(WebCore::MediaPlayerPrivateAVFoundation::didEnd):
(WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration):
(WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
(WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost):
(WebCore::MediaPlayerPrivateAVFoundation::duration): Deleted.
(WebCore::MediaPlayerPrivateAVFoundation::maxTimeSeekableDouble): Deleted.
(WebCore::MediaPlayerPrivateAVFoundation::minTimeSeekable): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification):
(WebCore::MediaPlayerPrivateAVFoundation::Notification::time):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
(WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
(WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
(WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
(WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
(WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue): Deleted.
(WebCore::AVFWrapper::seekToTime): Deleted.
(WebCore::LegibleOutputData::LegibleOutputData): Deleted.
(WebCore::AVFWrapper::createImageForTimeInRect): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
(WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue): Deleted.
(WebCore::AVFWrapper::seekToTime): Deleted.
(WebCore::LegibleOutputData::LegibleOutputData): Deleted.
(WebCore::AVFWrapper::createImageForTimeInRect): Deleted.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
(WebCore::MediaPlayerPrivateAVFoundationObjC::currentMediaTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMinTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded):
(WebCore::MediaPlayerPrivateAVFoundationObjC::mediaTimeForTimeValue):
(WebCore::MediaPlayerPrivateAVFoundationObjC::processCue):
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
(WebCore::MediaPlayerPrivateAVFoundationObjC::durationDidChange):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
(WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime): Deleted.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationMediaTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::initialTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minMediaTimeSeekable):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTimeDouble): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxTimeSeekableDouble): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minTimeSeekable): Deleted.

  • platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
  • platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:

(WebCore::InbandMetadataTextTrackPrivateGStreamer::addDataCue):

  • platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:

(WebCore::InbandMetadataTextTrackPrivateGStreamer::addDataCue):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
(WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::maxValueForTimeRanges):
(WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
(WebCore::MediaPlayerPrivateQTKit::durationMediaTime):
(WebCore::MediaPlayerPrivateQTKit::currentMediaTime):
(WebCore::MediaPlayerPrivateQTKit::seek):
(WebCore::MediaPlayerPrivateQTKit::doSeek):
(WebCore::MediaPlayerPrivateQTKit::cancelSeek):
(WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
(WebCore::MediaPlayerPrivateQTKit::seeking):
(WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
(WebCore::MediaPlayerPrivateQTKit::buffered):
(WebCore::MediaPlayerPrivateQTKit::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateQTKit::maxMediaTimeLoaded):
(WebCore::MediaPlayerPrivateQTKit::didLoadingProgress):
(WebCore::MediaPlayerPrivateQTKit::updateStates):
(WebCore::MediaPlayerPrivateQTKit::timeChanged):
(WebCore::MediaPlayerPrivateQTKit::didEnd):
(WebCore::MediaPlayerPrivateQTKit::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateQTKit::maxMediaTimeLoaded):
(WebCore::MediaPlayerPrivateQTKit::createQTTime): Deleted.
(WebCore::MediaPlayerPrivateQTKit::duration): Deleted.
(WebCore::MediaPlayerPrivateQTKit::currentTime): Deleted.
(WebCore::MediaPlayerPrivateQTKit::maxTimeSeekable): Deleted.
(WebCore::MediaPlayerPrivateQTKit::maxTimeLoaded): Deleted.
(WebCore::MediaPlayerPrivateQTKit::mediaTimeForTimeValue): Deleted.

  • platform/mac/PlatformClockCM.mm:
  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::maxMediaTimeSeekable):
(WebCore::MockMediaPlayerMediaSource::currentMediaTime):
(WebCore::MockMediaPlayerMediaSource::durationMediaTime):
(WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
(WebCore::MockMediaPlayerMediaSource::totalFrameDelay):
(WebCore::MockMediaPlayerMediaSource::maxTimeSeekableDouble): Deleted.
(WebCore::MockMediaPlayerMediaSource::currentTimeDouble): Deleted.
(WebCore::MockMediaPlayerMediaSource::durationDouble): Deleted.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):

  • platform/mock/mediasource/MockMediaSourcePrivate.h:
  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockSourceBufferPrivate::enqueueSample):

Source/WTF:

Add a unary minus operator, and add unimplemented private casting operators, to make
unintentional double->MediaTime and MediaTime->double casts hard errors.

  • wtf/MediaTime.cpp:

(WTF::MediaTime::operator-):

  • wtf/MediaTime.h:

LayoutTests:

Update the http/media tests to use byte-ranges, and update our byte-range CGI script
to return correct headers. Remove the platform expected results for media/video-seek-past-end-paused.html
now that we pass.

  • http/tests/media/reload-after-dialog.html:
  • http/tests/media/video-error-abort.html:
  • http/tests/media/video-throttled-load.cgi:
  • platform/mac/media/video-seek-past-end-paused-expected.txt: Removed.
  • platform/mac/TestExpectations:
11:33 AM Changeset in webkit [173317] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

[iOS] Another attempt to fix the iOS build after <http://trac.webkit.org/changeset/173309>
(https://bugs.webkit.org/show_bug.cgi?id=136564)

Move #endif inside -viewDidMoveToWindow up one line such that the closing brace ('}') is after it.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView viewDidMoveToWindow]):

11:25 AM Changeset in webkit [173316] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

[iOS] Another attempt to fix the iOS build after <http://trac.webkit.org/changeset/173309>
(https://bugs.webkit.org/show_bug.cgi?id=136564)

Add !PLATFORM(IOS)-guard in -viewDidMoveToWindow around code that references WebHTMLViewPrivate.flagsChangedEventMonitor.
The instance variable WebHTMLViewPrivate.flagsChangedEventMonitor is guarded by !PLATFORM(IOS).

  • WebView/WebHTMLView.mm:

(-[WebHTMLView viewDidMoveToWindow]):

11:16 AM Changeset in webkit [173315] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

[iOS] Fix the iOS build after <http://trac.webkit.org/changeset/173309>
(https://bugs.webkit.org/show_bug.cgi?id=136564)

Include more code inside the !PLATFORM(IOS)-guarded section in -setDataSource:.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView setDataSource:]):

11:15 AM Changeset in webkit [173314] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

REGRESSION(r173272): Two blob tests failing on WK1
https://bugs.webkit.org/show_bug.cgi?id=136573

Reviewed by Alexey Proskuryakov.

http/tests/fileapi/blob-url-in-subframe.html
http/tests/security/mixedContent/blob-url-in-iframe.html

  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::notifyResponseOnSuccess):

No need to set this twice.

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::initNSURLResponse):

Also test that it is an HTTP URL before using NSHTTPURLResponse. Blobs create non-HTTP URLs with status codes.
Pass the accidentally lost expected content length.

11:07 AM Changeset in webkit [173313] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

Do the bmalloc.
https://bugs.webkit.org/show_bug.cgi?id=132629

Reviewed by Michael Saboff.

64-bit only for now, just to try it out.

  • wtf/FastMalloc.cpp:
9:17 AM Changeset in webkit [173312] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

ARM: Add more coverage to ARMv7 disassembler
https://bugs.webkit.org/show_bug.cgi?id=136565

Reviewed by Mark Lam.

Added ARMV7 disassembler support for Push/Pop multiple and floating point instructions
VCMP, VCVT[R] between floating point and integer, and VLDR.

  • disassembler/ARMv7/ARMv7DOpcode.cpp:

(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPushPopMultiple::appendRegisterList):
(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPopMultiple::format):
(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPushMultiple::format):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::format):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::format):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::format):

  • disassembler/ARMv7/ARMv7DOpcode.h:

(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPushPopMultiple::registerList):
(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPushPopMultiple::condition):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::condition):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::dBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::vd):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::szBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::eBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::mBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::vm):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::condition):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::dBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::op2):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::vd):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::szBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::op):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::mBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::vm):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::condition):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::uBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::rn):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::vd):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::doubleReg):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::immediate8):

7:18 AM Changeset in webkit [173311] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Move computeInlinePreferredLogicalWidths() from RenderBlock to RenderBlockFlow
https://bugs.webkit.org/show_bug.cgi?id=136461

Reviewed by Darin Adler.

This patch enables us to go from const_cast<RenderBlockFlow*>(this)->computeInlinePreferredLogicalWidths()
to computeInlinePreferredLogicalWidths().

Covered by existing tests.

  • rendering/RenderBlock.cpp:

(WebCore::InlineMinMaxIterator::endOfInline): Deleted.
(WebCore::InlineMinMaxIterator::next): Deleted.
(WebCore::getBPMWidth): Deleted.
(WebCore::getBorderPaddingMargin): Deleted.
(WebCore::stripTrailingSpace): Deleted.
(WebCore::preferredWidth): Deleted.
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths): Deleted.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths):
(WebCore::InlineMinMaxIterator::initial): The (parent == current) condition was used as 'initial' state before.
and in order to make computeInlinePreferredLogicalWidths const, InlineMinMaxIterator() needs to take const RenderObject*.
(WebCore::InlineMinMaxIterator::next):
(WebCore::getBPMWidth):
(WebCore::getBorderPaddingMargin):
(WebCore::stripTrailingSpace):
(WebCore::preferredWidth):
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):

  • rendering/RenderBlockFlow.h:
3:25 AM Changeset in webkit [173310] by Dániel Bátyai
  • 2 edits in trunk/Source/WTF

Enable GenGC on ARM Traditional
https://bugs.webkit.org/show_bug.cgi?id=136567

Reviewed by Csaba Osztrogonác.

  • wtf/Platform.h:
1:01 AM Changeset in webkit [173309] by mjs@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Use tracking areas instead of (SPI) mouse moved notifications, and follow flags changes with an event monitor
https://bugs.webkit.org/show_bug.cgi?id=136564

Reviewed by Dan Bernstein.

WebKit1 depended on mouse moved event notifications to track mouse
moves, and on being specially called by Safari to track flags
changes. WebKit2 does both these things better - it uses a tracking area
and event monitors. Copy those approaches.

  • WebKit.order: Remove reference to obsolete call.
  • WebView/WebHTMLView.mm:

(-[WebHTMLViewPrivate dealloc]): No need to deallocate tracking
area, since we now just always have one.
(-[WebHTMLViewPrivate clear]): ditto
(-[WebHTMLView _postFakeMouseMovedEventForFlagsChangedEvent:]):
New method that posts a fake mouse move event in response to
a flags change event, for use by the event monitor.
(+[WebHTMLView _postFlagsChangedEvent:]): Empty this old call,
still kept around for benefit of older Safari.
(-[WebHTMLView _updateMouseoverWithEvent:]): Handle Dashboard's
special mouseover mode (previously handled in a weird way).
(-[WebHTMLView close]): No more need to mess with mouse moved observer.
(-[WebHTMLView viewWillMoveToWindow:]): ditto
(-[WebHTMLView viewDidMoveToWindow]): ditto; but now hook up a flags
changed monitor.
(-[WebHTMLView windowDidBecomeKey:]): No need to handle non-key window
tracking area or mouse moved observer.
(-[WebHTMLView windowDidResignKey:]): ditto
(-[WebHTMLView windowWillOrderOnScreen:]): No need to mess with mouse
moved observer.
(-[WebHTMLView windowWillOrderOffScreen:]): ditto
(-[WebHTMLView mouseMoved:]): Converted from the old mouseMovedNotification:
(-[WebHTMLView setDataSource:]): Change if around body to early return. Hook
up tracking area - we have to do it here, because before this point, the
WebHTMLView does not know its WebView, which is where dashboard settings
live.
(-[WebHTMLView _removeMouseMovedObserverUnconditionally]): Deleted.
(-[WebHTMLView addMouseMovedObserver]): Deleted.
(-[WebHTMLView removeMouseMovedObserver]): Deleted.

Sep 4, 2014:

10:58 PM Changeset in webkit [173308] by ap@apple.com
  • 2 edits in trunk/LayoutTests

platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=136554

  • platform/mac-wk2/TestExpectations: Marking it as such.
8:36 PM Changeset in webkit [173307] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Move PropertySlot's inline functions back to PropertySlot.h.
<https://webkit.org/b/136547>

Reviewed by Filip Pizlo.

  • runtime/JSObject.h:

(JSC::PropertySlot::getValue): Deleted.

  • runtime/PropertySlot.h:

(JSC::PropertySlot::getValue):

8:32 PM Changeset in webkit [173306] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, speculative build fix on GTK port since r173305.

  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp:

(webkitURISchemeRequestReadCallback):

8:15 PM Changeset in webkit [173305] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, build fix for EFL and GTK ports since r173272.

  • platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::ResourceResponse::updateFromSoupMessageHeaders):

6:54 PM Changeset in webkit [173304] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Make sure that deleting all code first processes the call edge log, and reenable call edge profiling.

Rubber stamped by Sam Weinig.

  • debugger/Debugger.cpp:

(JSC::Debugger::forEachCodeBlock):
(JSC::Debugger::setSteppingMode):
(JSC::Debugger::recompileAllJSFunctions):

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::recompileAllJSFunctionsForTypeProfiling):

  • runtime/Options.h: Reenable call edge profiling.
  • runtime/VM.cpp:

(JSC::VM::prepareToDiscardCode): Make sure this also processes the call edge log, in case any call edge profiles are about to be destroyed.
(JSC::VM::discardAllCode):
(JSC::VM::releaseExecutableMemory):
(JSC::VM::setEnabledProfiler):
(JSC::VM::waitForCompilationsToComplete): Deleted.

  • runtime/VM.h: Rename waitForCompilationsToComplete() back to prepareToDiscardCode() because the purpose of the method - now as ever - is to do all of the things that need to be done to ensure that code may be safely deleted.
6:52 PM Changeset in webkit [173303] by psolanki@apple.com
  • 4 edits in trunk/Source/WebCore

Unreviewed. Speculative build fix. Add platformSuggestedFilename() to all the ResourceResponse header files.

  • platform/network/curl/ResourceResponse.h:

(WebCore::ResourceResponse::platformSuggestedFilename):

  • platform/network/soup/ResourceResponse.h:
  • platform/network/win/ResourceResponse.h:

(WebCore::ResourceResponse::platformSuggestedFilename):

6:37 PM Changeset in webkit [173302] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Rebaseline three blending tests which no longer need backing store.

  • css3/blending/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt:
  • css3/blending/blend-mode-parent-of-composited-blended-has-layer-expected.txt:
  • css3/blending/blend-mode-with-composited-descendant-should-have-layer-expected.txt:
6:36 PM Changeset in webkit [173301] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Another speculative build fix after r173272. Add a stub implementation for
ResourceResponse::platformSuggestedFilename(). Filed bug 136562 for proper fix.

  • platform/network/soup/ResourceResponseSoup.cpp:

(ResourceResponse::platformSuggestedFilename):

6:09 PM Changeset in webkit [173300] by psolanki@apple.com
  • 4 edits in trunk/Source/WebCore

Unreviewed. Speculative EFL and GTK build fix after r173272. Remove the filename argument
from the various ResourceResponse constructors.

  • platform/network/curl/ResourceResponse.h:

(WebCore::ResourceResponse::ResourceResponse):

  • platform/network/soup/ResourceResponse.h:

(WebCore::ResourceResponse::ResourceResponse):

  • platform/network/win/ResourceResponse.h:

(WebCore::ResourceResponse::ResourceResponse):

6:02 PM Changeset in webkit [173299] by psolanki@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Bring back [WebPreferences setDiskImageCacheEnabled:] for backwards compatibility
https://bugs.webkit.org/show_bug.cgi?id=136560

Reviewed by Joseph Pecoraro.

I removed the disk image caching code in r173265. However, we still have clients that call
setDiskImageCacheEnabled. Add in a stub method until we can wean the clients off this call.

  • WebView/WebPreferences.mm:

(-[WebPreferences setDiskImageCacheEnabled:]):

  • WebView/WebPreferencesPrivate.h:
5:57 PM Changeset in webkit [173298] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Ensure that the call frame set up by vmEntryToNative does not overlap with the stack of the callee
https://bugs.webkit.org/show_bug.cgi?id=136485

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-09-04
Reviewed by Michael Saboff.

Changed makeHostFunctionCall to keep the stack pointer above the call
frame set up by doVMEntry. Thus the callee will/can not override the top
of the call frame.

Refactored the two (32_64 and 64) versions of makeHostFunctionCall to be
more alike to help future maintenance.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
5:55 PM Changeset in webkit [173297] by Simon Fraser
  • 2 edits in trunk/Tools

Add some logging to help diagnose assertions in dumpWebViewAsPixelsAndCompareWithExpected() on bots
https://bugs.webkit.org/show_bug.cgi?id=136561

Reviewed by Tim Horton.

Log for calloc() and CGBitmapContextCreate() failures.

  • DumpRenderTree/mac/PixelDumpSupportMac.mm:

(createBitmapContext):
(createBitmapContextFromWebView):

5:29 PM Changeset in webkit [173296] by aestes@apple.com
  • 2 edits in trunk/Tools

Fix the Mac Production build after r173283.

  • WebKitTestRunner/config.h: Reverted to defining WEBCORE_EXPORT for now.
5:23 PM Changeset in webkit [173295] by Simon Fraser
  • 3 edits
    2 adds in trunk

border-radius should not force layer backing store
https://bugs.webkit.org/show_bug.cgi?id=136555

Reviewed by Dean Jackson.

Source/WebCore:

Border-radius is not a reason to allocate backing store; it's not relevant unless
we also have a border or background, and hasBoxDecorations() already checks for that.

With that gone, we can now use renderer.hasBoxDecorations() (which also checks for
a background), but it doesn't check for outlines, so do that in addition.

Test: compositing/backing/border-radius-no-backing.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

Test that dumps layers on some composited elements with border-radius

  • compositing/backing/border-radius-no-backing-expected.txt: Added.
  • compositing/backing/border-radius-no-backing.html: Added.
5:23 PM Changeset in webkit [173294] by Simon Fraser
  • 3 edits
    2 adds in trunk

CSS filter on a compositing layer should not cause unncessary backing store allocation
https://bugs.webkit.org/show_bug.cgi?id=136557

Reviewed by Dean Jackson.

Source/WebCore:

Remove the style.hasFilter() check from hasBoxDecorations(), since filters aren't
a box decoration. This allows creation of simple container layers with composited filters.

Test: compositing/backing/filter-no-backing.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

Dump the layer tree on some layer configs with filters.

  • compositing/backing/filter-no-backing-expected.txt: Added.
  • compositing/backing/filter-no-backing.html: Added.
5:23 PM Changeset in webkit [173293] by Simon Fraser
  • 4 edits
    4 adds in trunk

Improve the logic for compositing backing store avoidance
https://bugs.webkit.org/show_bug.cgi?id=136556

Reviewed by Dean Jackson.

Source/WebCore:

Avoid backing store allocation in more cases by improving the logic that detects
whether a RenderLayer has any painted, non-layer descendent renderers.

Rename RenderLayer::hasNonEmptyChildRenderers() to hasPaintingNonLayerDescendants(),
and make it recur 3 levels deep, walking child lists of up to 20 siblings looking
for renderers that paint anything. Any renderer with box decorations paints;
replaced elements paint, and non-whitespace text nodes paint. We can avoid
making backing store when whitespace nodes are present only when user-select is none,
since we have to ensure that there's backing store to paint the selection into.

Tests: compositing/backing/inline-block-no-backing.html

compositing/backing/whitespace-nodes-no-backing.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hasNonEmptyChildRenderers): Call the recursive hasPaintingNonLayerDescendants().
(WebCore::RenderLayer::hasBoxDecorationsOrBackground):
(WebCore::RenderLayer::isVisuallyNonEmpty): Do the cheap tests first. Use isRenderReplaced()
rather than isReplaced(), since the latter includes inline-blocks.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateConfiguration): Don't run the isSimpleContainerCompositingLayer()
logic in the root layer, since it always wants backing store.
(WebCore::RenderLayerBacking::updateAfterDescendents): Ditto.
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): isReplaced() includes
inline-block, so use isRenderReplaced() instead.

LayoutTests:

Tests that dump the layer tree (showing backing store) for various combinations
of child renderers and whitespace.

  • compositing/backing/inline-block-no-backing-expected.txt: Added.
  • compositing/backing/inline-block-no-backing.html: Added.
  • compositing/backing/whitespace-nodes-no-backing-expected.txt: Added.
  • compositing/backing/whitespace-nodes-no-backing.html: Added.
5:09 PM Changeset in webkit [173292] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] Fix the iOS build after <http://trac.webkit.org/changeset/173258>
(https://bugs.webkit.org/show_bug.cgi?id=136494)

Use ENABLE_TOUCH_EVENT instead of ENABLE(TOUCH_EVENT) as the latter isn't available
to some clients of this private header.

  • platform/ios/wak/WAKResponder.h:
4:50 PM Changeset in webkit [173291] by Beth Dakin
  • 2 edits in trunk/LayoutTests

Another speculative fix for the bots.

  • platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html:
4:47 PM Changeset in webkit [173290] by Brent Fulgham
  • 4 edits in trunk/Tools

[Win] webkitpy test suite frequently fails to complete
https://bugs.webkit.org/show_bug.cgi?id=136546

Reviewed by Daniel Bates.

Properly convert the ASCII crash log produced by ntsd into
a unicode string as early as possible so that we handle it
properly when generating our logs and other test support output.

We were mixing ASCII/unicode strings under Windows, which was
causing test system failures when we processed some crash logs.

Also do a better job of handling garbage pid entries in the
Cygwin lock files.

  • Scripts/webkitpy/common/system/crashlogs.py:

(CrashLogs._find_newest_log_win): The ntsd '.logopen' command
creates an ASCII file. Decode it as ASCII, not 'utf-8', and
handle the strings as unicode from that point on.

  • Scripts/webkitpy/port/http_lock.py:

(HttpLock._current_lock_pid): Add logging and handle case of
the current_pid failing to cleanly convert to 'int'.

  • Scripts/webkitpy/port/win.py:

(WinPort): Add 64-bit architecture as a known target for the
Windows build.

4:38 PM Changeset in webkit [173289] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Clicking on a select element should never hide the popup menu.
https://bugs.webkit.org/show_bug.cgi?id=136548.
<rdar://problem/10215926>
Reviewed by Simon Fraser.

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
Never call hidePopup as a result of a click on a select element.
The only way you can properly hide a popup is to click again or lose focus on the popup itself.

4:13 PM Changeset in webkit [173288] by aestes@apple.com
  • 5 edits in trunk

Address additional review feedback after landing r173283.

Reviewed by Daniel Bates.

  • DumpRenderTree/config.h: Removed redundant includes.
  • TestWebKitAPI/config.h: Ditto.
  • WebKitTestRunner/config.h: Ditto.
3:39 PM Changeset in webkit [173287] by enrica@apple.com
  • 6 edits in trunk/Source/WebCore

Remove PLATFORM(IOS) from WebCore/editing (Part 2).
https://bugs.webkit.org/show_bug.cgi?id=136474

Reviewed by Tim Horton.

Removing some more PLATFORM(IOS) from the editing code.
Most of these changes are fixes that were made for IOS but never merged
to OpenSource.

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyBlockStyle):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::doApply):

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
(WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):

  • editing/VisibleUnits.cpp:

(WebCore::startOfDocument):
(WebCore::endOfDocument):

  • editing/ios/EditorIOS.mm: No need for platform guard, this file is not built for Mac.
3:31 PM Changeset in webkit [173286] by Beth Dakin
  • 2 edits in trunk/LayoutTests

Speculative fix for a test failing on the bot.

  • platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html:
3:24 PM Changeset in webkit [173285] by Lucas Forschler
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

3:19 PM Changeset in webkit [173284] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.19

New Tag.

2:59 PM WebKitGtkLayoutTests edited by b.long@cablelabs.com
Remove extra argument in WebKitTestRunner example (diff)
2:58 PM WebKitGtkLayoutTests edited by b.long@cablelabs.com
Add info about running WebKitTestRunner (diff)
2:36 PM Changeset in webkit [173283] by aestes@apple.com
  • 10 edits in trunk

[Cocoa] Some WebKitLegacy headers migrated from WebCore incorrectly contain WEBCORE_EXPORT
https://bugs.webkit.org/show_bug.cgi?id=136521

Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/ios/wak/WebCoreThread.h: Stopped defining WEBCORE_EXPORT.

Source/WebKit/mac:

Taught MigrateHeaders.make to remove WEBCORE_EXPORT from headers using this sed expression:

s/( *)WEBCORE_EXPORT /\1/g

This removes WEBCORE_EXPORT and a single following space character but preserves preceeding whitespace.

  • MigrateHeaders.make:

Source/WebKit2:

  • config.h: Included <WebCore/PlatformExportMacros.h> instead of defining WEBCORE_EXPORT.

Tools:

  • DumpRenderTree/config.h: Included <WebCore/PlatformExportMacros.h> instead of defining WEBCORE_EXPORT.
  • TestWebKitAPI/config.h: Ditto.
  • WebKitTestRunner/config.h: Ditto.
2:23 PM Changeset in webkit [173282] by msaboff@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

REGRESSION(r173031): crashes during run-layout-jsc on x86/Linux
https://bugs.webkit.org/show_bug.cgi?id=136436

Reviewed by Geoffrey Garen.

Instead of trying to calculate a stack pointer that allows for possible
stacked argument space, just use the "home" stack pointer location.
That stack pointer provides space for the worst case number of stacked
arguments on architectures that use stacked arguments. It also provides
stack space so that the return PC and caller frame pointer that are stored
as part of making the call to operationCallEval will not override any part
of the callee frame created on the stack.

Changed compileCallEval() to use the stackPointer value of the calling
function. That stack pointer is calculated to have enough space for
outgoing stacked arguments. By moving the stack pointer to its "home"
position, the caller frame and return PC are not set as part of making
the call to operationCallEval(). Moved the explicit setting of the
callerFrame field of the callee CallFrame from operationCallEval() to
compileCallEval() since it has been the artifact of making a call for
most architectures. Simplified the exception logic in compileCallEval()
as a result of the change. To be compliant with the stack state
expected by virtualCallThunkGenerator(), moved the stack pointer to
point above the CallerFrameAndPC of the callee CallFrame.

  • jit/JIT.h: Changed callOperationNoExceptionCheck(J_JITOperation_EE, ...)

to callOperation(J_JITOperation_EE, ...) as it now can do a typical exception
check.

  • jit/JITCall.cpp & jit/JITCall32_64.cpp:

(JSC::JIT::compileCallEval): Use the home stack pointer when making the call
to operationCallEval. Since the stack pointer adjustment no longer needs
to be done after making the call to operationCallEval(), the exception check
logic can be simplified.
(JSC::JIT::compileCallEvalSlowCase): Restored the stack pointer to point
to above the calleeFrame as this is what the generated thunk expects.

  • jit/JITInlines.h:

(JSC::JIT::callOperation): Refactor of callOperationNoExceptionCheck
with the addition of a standard exception check.
(JSC::JIT::callOperationNoExceptionCheck): Deleted.

  • jit/JITOperations.cpp:

(JSC::operationCallEval): Eliminated the explicit setting of caller frame
as that is now done in the code generated by compileCallEval().

2:20 PM Changeset in webkit [173281] by hyatt@apple.com
  • 4 edits
    3 adds in trunk

Initial letters should clear one another.
https://bugs.webkit.org/show_bug.cgi?id=136514

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/css-generated-content/initial-letter-clearance.html.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
Compute the required clearance and add it both to the block's logical height
and to the logical top offset of the float.

(WebCore::RenderBlockFlow::lowestInitialLetterLogicalBottom):

  • rendering/RenderBlockFlow.h:

A new method for determining the lowest floating initial letter.

LayoutTests:

  • fast/css-generated-content/initial-letter-clearance.html: Added.
  • platform/mac/fast/css-generated-content/initial-letter-clearance-expected.png: Added.
  • platform/mac/fast/css-generated-content/initial-letter-clearance-expected.txt: Added.
2:16 PM Changeset in webkit [173280] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

Beef up the DFG's CFG analyses to include iterated dominance frontiers and more user-friendly BlockSets
https://bugs.webkit.org/show_bug.cgi?id=136520

Fix bug found in Geoff's review but not landed in previous commit.

  • wtf/BitVector.cpp:

(WTF::BitVector::equalsSlowCaseFast): return true.

2:08 PM Changeset in webkit [173279] by fpizlo@apple.com
  • 14 edits
    2 adds in trunk/Source

Beef up the DFG's CFG analyses to include iterated dominance frontiers and more user-friendly BlockSets
https://bugs.webkit.org/show_bug.cgi?id=136520

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add code to compute iterated dominance frontiers. This involves using BlockSet a lot, so
this patch also makes BlockSet a lot more user-friendly.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGBasicBlock.h:
  • dfg/DFGBlockSet.cpp: Added.

(JSC::DFG::BlockSet::dump):

  • dfg/DFGBlockSet.h:

(JSC::DFG::BlockSet::iterator::iterator):
(JSC::DFG::BlockSet::iterator::operator++):
(JSC::DFG::BlockSet::iterator::operator==):
(JSC::DFG::BlockSet::iterator::operator!=):
(JSC::DFG::BlockSet::Iterable::Iterable):
(JSC::DFG::BlockSet::Iterable::begin):
(JSC::DFG::BlockSet::Iterable::end):
(JSC::DFG::BlockSet::iterable):
(JSC::DFG::BlockAdder::BlockAdder):
(JSC::DFG::BlockAdder::operator()):

  • dfg/DFGBlockSetInlines.h: Added.

(JSC::DFG::BlockSet::iterator::operator*):

  • dfg/DFGDominators.cpp:

(JSC::DFG::Dominators::strictDominatorsOf):
(JSC::DFG::Dominators::dominatorsOf):
(JSC::DFG::Dominators::blocksStrictlyDominatedBy):
(JSC::DFG::Dominators::blocksDominatedBy):
(JSC::DFG::Dominators::dominanceFrontierOf):
(JSC::DFG::Dominators::iteratedDominanceFrontierOf):

  • dfg/DFGDominators.h:

(JSC::DFG::Dominators::forAllStrictDominatorsOf):
(JSC::DFG::Dominators::forAllDominatorsOf):
(JSC::DFG::Dominators::forAllBlocksStrictlyDominatedBy):
(JSC::DFG::Dominators::forAllBlocksDominatedBy):
(JSC::DFG::Dominators::forAllBlocksInDominanceFrontierOf):
(JSC::DFG::Dominators::forAllBlocksInIteratedDominanceFrontierOf):
(JSC::DFG::Dominators::forAllBlocksInDominanceFrontierOfImpl):
(JSC::DFG::Dominators::forAllBlocksInIteratedDominanceFrontierOfImpl):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dumpBlockHeader):

  • dfg/DFGInvalidationPointInjectionPhase.cpp:

(JSC::DFG::InvalidationPointInjectionPhase::run):

Source/WTF:

Give BitVector a way to quickly find the next set (or unset) bit. Make BitVector equality
faster. Fix a minor closure goof in Spectrum.

  • wtf/BitVector.cpp:

(WTF::BitVector::equalsSlowCase):
(WTF::BitVector::equalsSlowCaseFast):
(WTF::BitVector::equalsSlowCaseSimple):

  • wtf/BitVector.h:

(WTF::BitVector::findBit):
(WTF::BitVector::findBitFast):
(WTF::BitVector::findBitSimple):
(WTF::BitVector::findBitInWord):

  • wtf/Spectrum.h:

(WTF::Spectrum::removeIf):

2:07 PM Changeset in webkit [173278] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Use WTFString::find(char) in more places
https://bugs.webkit.org/show_bug.cgi?id=136541

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-04
Reviewed by Daniel Bates.

  • Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::queryKeysAndValues):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::parseAttribute):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parametersForPlugin):

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::decodedSnippetForAttribute):

  • page/UserContentURLPattern.cpp:

(WebCore::UserContentURLPattern::parse):

1:59 PM Changeset in webkit [173277] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Try to fix iOS build.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::initForSynthesizedDocument):

1:54 PM Changeset in webkit [173276] by mjs@apple.com
  • 10 edits in trunk/Source

Remove WebCoreSystemInterface glue for otherwise unused WKSI calls
https://bugs.webkit.org/show_bug.cgi?id=136527

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.order:
  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

1:48 PM Changeset in webkit [173275] by Beth Dakin
  • 3 edits
    2 adds in trunk

REGRESSION (r172832): Poor 2-finger scrolling performance at theverge.com articles
(all tiles repaint)
https://bugs.webkit.org/show_bug.cgi?id=136433
-and corresponding-
rdar://problem/18193942

Reviewed by Tim Horton.

Source/WebCore:

We should ensure that we are only setting scroll elasticity for layers that return
true for scrollsOverflow(). When overflow:scroll is set on the root element, we
wound up setting the ScrollElasticity for the root, which messed up with the
special way that the root is meant to scroll. Even though overflow:scroll has been
set on the root, scrollsOverflow() is still false because we knew not to set
hasOverflowClip() since it’s the root, which is why this check works.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):

Really, we should have never even called RenderLayer::setHasVerticalScrollbar or
RenderLayer::setHasHorizontalScrollbar since it’s wrong to be creating a scrollbar
on RenderLayer for the root. We should make sure, in addition to the other
requirements consulted, that the renderer has an overflow clip before we create
the scrollbars.
(WebCore::RenderLayer::updateScrollbarsAfterStyleChange):

LayoutTests:

  • platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html: Added.
1:23 PM Changeset in webkit [173274] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit/win

Try to fix windows build.

  • WebURLResponse.cpp:

(WebURLResponse::createInstance):
(WebURLResponse::initWithURL):

1:01 PM Changeset in webkit [173273] by ap@apple.com
  • 2 edits in trunk/Tools

REGRESSION: Dashboard metrics page aggregation counts performance bots
https://bugs.webkit.org/show_bug.cgi?id=136539

Reviewed by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsMain.js:
1:00 PM Changeset in webkit [173272] by Antti Koivisto
  • 16 edits in trunk/Source

Remove ResourceResponse::m_suggestedFilename
https://bugs.webkit.org/show_bug.cgi?id=136534

Reviewed by Alexey Proskuryakov.

Source/WebCore:

This will simplify things.

  • WebCore.exp.in:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::handleSubstituteDataLoadNow):
(WebCore::DocumentLoader::maybeLoadEmpty):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::willLoadMediaElementURL):

  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::loadCache):

  • loader/archive/ArchiveResource.cpp:

(WebCore::ArchiveResource::create):

  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
(WebCore::BlobResourceHandle::notifyResponseOnError):

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::ResourceResponseBase):
(WebCore::ResourceResponseBase::adopt):
(WebCore::ResourceResponseBase::copyData):
(WebCore::ResourceResponseBase::suggestedFilename):
(WebCore::ResourceResponseBase::httpStatusText):
(WebCore::ResourceResponseBase::setHTTPStatusText):
(WebCore::ResourceResponseBase::httpHeaderField):
(WebCore::ResourceResponseBase::setHTTPHeaderField):
(WebCore::ResourceResponseBase::addHTTPHeaderField):
(WebCore::ResourceResponseBase::httpHeaderFields):
(WebCore::ResourceResponseBase::isAttachment):
(WebCore::ResourceResponseBase::wasCached):
(WebCore::ResourceResponseBase::connectionReused):
(WebCore::ResourceResponseBase::setConnectionReused):
(WebCore::ResourceResponseBase::connectionID):
(WebCore::ResourceResponseBase::setConnectionID):

Remove AllFields initialization. It was only used to get m_suggestedFilename.
Rename CommonAndUncommonFields to AllFields

(WebCore::ResourceResponseBase::setSuggestedFilename): Deleted.

No more setter.

  • platform/network/ResourceResponseBase.h:

(WebCore::ResourceResponseBase::platformSuggestedFileName):

Get the suggested filename from the platform class on-demand.

  • platform/network/cf/ResourceResponse.h:

(WebCore::ResourceResponse::ResourceResponse):

Remove never-used file name constructor parameter.

  • platform/network/cf/ResourceResponseCFNet.cpp:

(WebCore::ResourceResponse::platformLazyInit):

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::initNSURLResponse):

Synthesize HTTP response properly so it can hold Content-Disposition for file name (and other headers).

(WebCore::ResourceResponse::platformLazyInit):

Don't pull the suggested filename anymore.

(WebCore::ResourceResponse::platformSuggestedFilename):

Get the suggested name from the (possibly synthetic) NSURLRequest.

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceResponse>::encode):
(IPC::ArgumentCoder<ResourceResponse>::decode):

No more m_suggestedFilename.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::addArchiveResource):

Fake the suggested filename by using the Content-Disposition header.

12:54 PM Changeset in webkit [173271] by andersca@apple.com
  • 4 edits in trunk/Source/WTF

Make hash table classes final
https://bugs.webkit.org/show_bug.cgi?id=136540

Reviewed by Antti Koivisto.

We don't want anybody inheriting from these classes, so make them final.

  • wtf/HashCountedSet.h:
  • wtf/HashMap.h:
  • wtf/HashSet.h:
12:45 PM Changeset in webkit [173270] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Perl test fix.

  • Scripts/webkitperl/auto-version_unittest/versionStampTests.pl: Correct test to check for

VersionStamp.exe tool, not just the driver script.

12:10 PM Changeset in webkit [173269] by mark.lam@apple.com
  • 50 edits in trunk/Source/JavaScriptCore

Fixed indentations and some style warnings in JavaScriptCore/runtime.
<https://webkit.org/b/136518>

Reviewed by Michael Saboff.

Also removed some superflous spaces. There are no semantic changes.

  • runtime/Completion.h:
  • runtime/ConstructData.h:
  • runtime/DateConstructor.h:
  • runtime/DateInstance.h:
  • runtime/DateInstanceCache.h:
  • runtime/DatePrototype.h:
  • runtime/Error.h:
  • runtime/ErrorConstructor.h:
  • runtime/ErrorInstance.h:
  • runtime/ErrorPrototype.h:
  • runtime/FunctionConstructor.h:
  • runtime/FunctionPrototype.h:
  • runtime/GetterSetter.h:
  • runtime/Identifier.h:
  • runtime/InitializeThreading.h:
  • runtime/InternalFunction.h:
  • runtime/JSAPIValueWrapper.h:
  • runtime/JSFunction.h:
  • runtime/JSLock.h:
  • runtime/JSNotAnObject.h:
  • runtime/JSONObject.h:
  • runtime/JSString.h:
  • runtime/JSTypeInfo.h:
  • runtime/JSWrapperObject.h:
  • runtime/Lookup.h:
  • runtime/MathObject.h:
  • runtime/NativeErrorConstructor.h:
  • runtime/NativeErrorPrototype.h:
  • runtime/NumberConstructor.h:
  • runtime/NumberObject.h:
  • runtime/NumberPrototype.h:
  • runtime/NumericStrings.h:
  • runtime/ObjectConstructor.h:
  • runtime/ObjectPrototype.h:
  • runtime/PropertyDescriptor.h:
  • runtime/Protect.h:
  • runtime/PutPropertySlot.h:
  • runtime/RegExp.h:
  • runtime/RegExpCachedResult.h:
  • runtime/RegExpConstructor.h:
  • runtime/RegExpMatchesArray.h:
  • runtime/RegExpObject.h:
  • runtime/RegExpPrototype.h:
  • runtime/SmallStrings.h:
  • runtime/StringConstructor.h:
  • runtime/StringObject.h:
  • runtime/StringPrototype.h:
  • runtime/StructureChain.h:
  • runtime/VM.h:
11:43 AM Changeset in webkit [173268] by commit-queue@webkit.org
  • 123 edits in trunk

Remove CSS_FILTERS flag
https://bugs.webkit.org/show_bug.cgi?id=136529

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-09-04
Reviewed by Dirk Schulze.

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests, no behaviour changed.

  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.cpp:
  • WebCore.exp.in:
  • bindings/js/JSCSSValueCustom.cpp:

(WebCore::toJS):

  • bindings/objc/DOMCSS.mm:

(kitClass):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForFilter):
(WebCore::isLayoutDependent):
(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSComputedStyleDeclaration.h:
  • css/CSSFilterImageValue.cpp:
  • css/CSSFilterImageValue.h:
  • css/CSSImageGeneratorValue.cpp:

(WebCore::CSSImageGeneratorValue::image):
(WebCore::CSSImageGeneratorValue::isFixedSize):
(WebCore::CSSImageGeneratorValue::fixedSize):
(WebCore::CSSImageGeneratorValue::isPending):
(WebCore::CSSImageGeneratorValue::knownToBeOpaque):
(WebCore::CSSImageGeneratorValue::loadSubimages):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGeneratedImage):
(WebCore::CSSParser::parseFilterImage):
(WebCore::CSSParser::parseFilter):

  • css/CSSParser.h:
  • css/CSSPropertyNames.in:
  • css/CSSValue.cpp:

(WebCore::CSSValue::hasFailedOrCanceledSubresources):
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
(WebCore::CSSValue::cloneForCSSOM):

  • css/CSSValue.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::generatedOrPendingFromValue):
(WebCore::StyleResolver::loadPendingResources):

  • css/StyleResolver.h:
  • css/WebKitCSSFilterValue.cpp:
  • css/WebKitCSSFilterValue.h:
  • css/WebKitCSSFilterValue.idl:
  • loader/cache/CachedSVGDocumentReference.cpp:
  • loader/cache/CachedSVGDocumentReference.h:
  • page/FrameView.cpp:

(WebCore::FrameView::scrollContentsFastPath):

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::AnimationBase):

  • page/animation/AnimationBase.h:
  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFilter):
(WebCore::blendFunc):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • page/animation/ImplicitAnimation.cpp:

(WebCore::ImplicitAnimation::reset):
(WebCore::ImplicitAnimation::checkForMatchingFilterFunctionLists):

  • page/animation/ImplicitAnimation.h:
  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::checkForMatchingFilterFunctionLists):

  • page/animation/KeyframeAnimation.h:
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::validateFilterOperations):

  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/GraphicsLayerAnimation.cpp:

(WebCore::applyFilterAnimation):
(WebCore::GraphicsLayerAnimation::applyInternal):

  • platform/graphics/GraphicsLayerAnimation.h:
  • platform/graphics/IntRectExtent.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::propertyIdToString):
(WebCore::supportsAcceleratedFilterAnimations):
(WebCore::GraphicsLayerCA::filtersCanBeComposited):
(WebCore::GraphicsLayerCA::moveOrCopyAnimations):
(WebCore::GraphicsLayerCA::setFilters):
(WebCore::GraphicsLayerCA::addAnimation):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateFilters):
(WebCore::GraphicsLayerCA::ensureStructuralLayer):
(WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCAAnimation.h:
  • platform/graphics/ca/PlatformCAFilters.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.mm:

(PlatformCAAnimationMac::setFromValue):
(PlatformCAAnimationMac::setToValue):
(PlatformCAAnimationMac::setValues):

  • platform/graphics/ca/mac/PlatformCAFiltersMac.mm:

(PlatformCAFilters::animatedFilterPropertyName):

  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::clone):
(PlatformCALayerMac::filtersCanBeComposited):

  • platform/graphics/ca/win/PlatformCAAnimationWin.cpp:

(PlatformCAAnimationWin::setFromValue):
(PlatformCAAnimationWin::setToValue):
(PlatformCAAnimationWin::setValues):

  • platform/graphics/ca/win/PlatformCAAnimationWin.h:
  • platform/graphics/ca/win/PlatformCAFiltersWin.cpp:

(PlatformCAFilters::animatedFilterPropertyName):

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(PlatformCALayerWin::clone):

  • platform/graphics/ca/win/PlatformCALayerWin.h:
  • platform/graphics/filters/FilterOperation.cpp:
  • platform/graphics/filters/FilterOperation.h:
  • platform/graphics/filters/FilterOperations.cpp:
  • platform/graphics/filters/FilterOperations.h:
  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::GraphicsLayerTextureMapper::setFilters):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/graphics/texmap/TextureMapper.h:
  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGLData::TextureMapperGLData):
(WebCore::prepareFilterProgram):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::BitmapTextureGL::applyFilters):

  • platform/graphics/texmap/TextureMapperGL.h:
  • platform/graphics/texmap/TextureMapperImageBuffer.cpp:

(WebCore::BitmapTextureImageBuffer::applyFilters):

  • platform/graphics/texmap/TextureMapperImageBuffer.h:
  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::setAnimatedFilters):
(WebCore::TextureMapperLayer::computeOverlapRegions):
(WebCore::TextureMapperLayer::paintIntoSurface):
(WebCore::TextureMapperLayer::setFilters):
(WebCore::TextureMapperLayer::syncAnimations):

  • platform/graphics/texmap/TextureMapperLayer.h:

(WebCore::TextureMapperLayer::hasFilters):

  • platform/graphics/texmap/TextureMapperShaderProgram.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::didChangeFilters):
(WebCore::CoordinatedGraphicsLayer::setFilters):
(WebCore::CoordinatedGraphicsLayer::syncFilters):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
(WebCore::CoordinatedGraphicsScene::setLayerState):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
  • rendering/FilterEffectRenderer.cpp:
  • rendering/FilterEffectRenderer.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::adjustStyleDifference):

  • rendering/RenderElement.h:

(WebCore::RenderElement::hasFilter): Deleted.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::~RenderLayer):
(WebCore::transparencyClipBox):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateFilters):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::startTransition):
(WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
(WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
(WebCore::RenderLayerCompositor::requiresCompositingForFilters):

  • rendering/RenderLayerFilterInfo.cpp:
  • rendering/RenderLayerFilterInfo.h:
  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleWillChange):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):
(WebCore::RenderObject::repaintUsingContainer):

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):

  • rendering/RenderView.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout):
(WebCore::RenderStyle::changeRequiresLayerRepaint):

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleFilterData.cpp:
  • rendering/style/StyleFilterData.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
(WebCore::StyleRareNonInheritedData::hasFilters):

  • rendering/style/StyleRareNonInheritedData.h:
  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(IPC::ArgumentCoder<WebCore::FilterOperations>::decode):
(IPC::ArgumentCoder<GraphicsLayerAnimation>::encode):
(IPC::ArgumentCoder<GraphicsLayerAnimation>::decode):
(IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::encode):
(IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::decode):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  • Shared/WebCoreArgumentCoders.cpp:
  • Shared/WebCoreArgumentCoders.h:
  • WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:

(WebKit::GraphicsLayerCARemote::filtersCanBeComposited):

  • WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:

(WebKit::PlatformCAAnimationRemote::setFromValue):
(WebKit::PlatformCAAnimationRemote::setToValue):
(WebKit::PlatformCAAnimationRemote::setValues):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::updateClonedLayerProperties):
(WebKit::PlatformCALayerRemote::filtersCanBeComposited):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:

LayoutTests:

  • platform/efl/TestExpectations:
11:27 AM Changeset in webkit [173267] by zandobersek@gmail.com
  • 5 edits
    1 delete in trunk

Unreviewed, rolling out r173201.
https://bugs.webkit.org/show_bug.cgi?id=136538

Improves the situation but also introduces additional crashes.
(Requested by zdobersek on #webkit).

Reverted changeset:

"GMainLoopSource is exposed to race conditions"
https://bugs.webkit.org/show_bug.cgi?id=135800
http://trac.webkit.org/changeset/173201

Patch by Commit Queue <commit-queue@webkit.org> on 2014-09-04

11:07 AM Changeset in webkit [173266] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r173248.
https://bugs.webkit.org/show_bug.cgi?id=136536

call edge profiling and polymorphic call inlining are still
causing crashes (Requested by eric_carlson on #webkit).

Reverted changeset:

"Reenable call edge profiling and polymorphic call inlining,
now that a bunch of the bugs"
http://trac.webkit.org/changeset/173248

10:36 AM Changeset in webkit [173265] by psolanki@apple.com
  • 29 edits
    3 deletes in trunk/Source

Remove iOS specific disk image cache
https://bugs.webkit.org/show_bug.cgi?id=136517

Reviewed by Antti Koivisto.

Disk image cache code unnecessarily complicates SharedBuffer implementation. We can remove
this now since we don't enable it in WebKit2 on iOS.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/ResourceBuffer.cpp:

(WebCore::ResourceBuffer::isUsingDiskImageCache): Deleted.

  • loader/ResourceBuffer.h:
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::canUseDiskImageCache): Deleted.
(WebCore::CachedImage::useDiskImageCache): Deleted.

  • loader/cache/CachedImage.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::isUsingDiskImageCache): Deleted.

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::canUseDiskImageCache): Deleted.
(WebCore::CachedResource::useDiskImageCache): Deleted.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::TypeStatistic::addResource):
(WebCore::MemoryCache::dumpStats):
(WebCore::MemoryCache::dumpLRULists):
(WebCore::MemoryCache::flushCachedImagesToDisk): Deleted.

  • loader/cache/MemoryCache.h:

(WebCore::MemoryCache::TypeStatistic::TypeStatistic):

  • loader/ios/DiskImageCacheClientIOS.h: Removed.
  • loader/ios/DiskImageCacheIOS.h: Removed.
  • loader/ios/DiskImageCacheIOS.mm: Removed.
  • platform/Logging.h:
  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::~SharedBuffer):
(WebCore::SharedBuffer::data):
(WebCore::SharedBuffer::append):
(WebCore::SharedBuffer::buffer):
(WebCore::SharedBuffer::getSomeData):
(WebCore::SharedBuffer::isAllowedToBeMemoryMapped): Deleted.
(WebCore::SharedBuffer::allowToBeMemoryMapped): Deleted.
(WebCore::SharedBuffer::failedMemoryMap): Deleted.
(WebCore::SharedBuffer::markAsMemoryMapped): Deleted.
(WebCore::SharedBuffer::memoryMappedNotificationCallbackData): Deleted.
(WebCore::SharedBuffer::memoryMappedNotificationCallback): Deleted.
(WebCore::SharedBuffer::setMemoryMappedNotificationCallback): Deleted.

  • platform/SharedBuffer.h:

(WebCore::SharedBuffer::isMemoryMapped): Deleted.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::SharedBuffer):

  • platform/mac/SharedBufferMac.mm:

(-[WebCoreSharedBufferData length]):
(-[WebCoreSharedBufferData bytes]):
(WebCore::SharedBuffer::createCFData):
(-[WebCoreSharedBufferData initWithMemoryMappedSharedBuffer:]): Deleted.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/ios:

  • WebCoreSupport/WebDiskImageCacheClientIOS.h: Removed.
  • WebCoreSupport/WebDiskImageCacheClientIOS.mm: Removed.
  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder finishedLoadingWithDataSource:]):
(-[WebPDFViewPlaceholder dataSourceMemoryMapped]): Deleted.
(-[WebPDFViewPlaceholder dataSourceMemoryMapFailed]): Deleted.

Source/WebKit/mac:

  • Misc/WebCache.mm:

(+[WebCache statistics]):

  • WebView/WebDataSource.mm:

(-[WebDataSource _setAllowToBeMemoryMapped]):
(-[WebDataSource setDataSourceDelegate:]):
(-[WebDataSource dataSourceDelegate]):
(-[WebDataSource dealloc]):
(BufferMemoryMapped): Deleted.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences diskImageCacheEnabled]): Deleted.
(-[WebPreferences setDiskImageCacheEnabled:]): Deleted.
(-[WebPreferences diskImageCacheMinimumImageSize]): Deleted.
(-[WebPreferences setDiskImageCacheMinimumImageSize:]): Deleted.
(-[WebPreferences diskImageCacheMaximumCacheSize]): Deleted.
(-[WebPreferences setDiskImageCacheMaximumCacheSize:]): Deleted.
(-[WebPreferences _diskImageCacheSavedCacheDirectory]): Deleted.
(-[WebPreferences _setDiskImageCacheSavedCacheDirectory:]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(+[WebView _handleMemoryWarning]):
(-[WebView _preferencesChanged:]):

Source/WTF:

  • wtf/FeatureDefines.h:
10:21 AM Changeset in webkit [173264] by Brian Burg
  • 6 edits in trunk/Source/JavaScriptCore

Web Inspector: the profiler should not accrue time to nodes while the debugger is paused
https://bugs.webkit.org/show_bug.cgi?id=136352

Reviewed by Timothy Hatcher.

Hook up pause/continue events to the LegacyProfiler and any active
ProfilerGenerators. If the debugger is paused, all intervening call
entries will be created with totalTime as 0.0.

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::handlePause):

  • profiler/LegacyProfiler.cpp: Move from typedef'd callbacks to using

std::function. This allows callbacks to take different argument types.

(JSC::callFunctionForProfilesWithGroup):
(JSC::LegacyProfiler::willExecute):
(JSC::LegacyProfiler::didExecute):
(JSC::LegacyProfiler::exceptionUnwind):
(JSC::LegacyProfiler::didPause):
(JSC::LegacyProfiler::didContinue):
(JSC::dispatchFunctionToProfiles): Deleted.

  • profiler/LegacyProfiler.h:
  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::ProfileGenerator):
(JSC::ProfileGenerator::endCallEntry):
(JSC::ProfileGenerator::didExecute): Deleted.

  • profiler/ProfileGenerator.h:

(JSC::ProfileGenerator::didPause):
(JSC::ProfileGenerator::didContinue):

10:10 AM Changeset in webkit [173263] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Unreviewed, rolling out r173245.
https://bugs.webkit.org/show_bug.cgi?id=136533

Broke JSC tests. (Requested by ddkilzer on #webkit).

Reverted changeset:

"JavaScriptCore should build with newer clang"
https://bugs.webkit.org/show_bug.cgi?id=136002
http://trac.webkit.org/changeset/173245

10:00 AM Changeset in webkit [173262] by Brian Burg
  • 8 edits in trunk/Source

LegacyProfiler: ProfileNodes should be used more like structs
https://bugs.webkit.org/show_bug.cgi?id=136381

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Previously, both the profile generator and individual profile nodes
were collectively responsible for creating new Call entries and
maintaining data structure invariants. This complexity is unnecessary.

This patch centralizes profile data creation inside the profile generator.
The profile nodes manage nextSibling and parent pointers, but do not
collect the current time or create new Call entries themselves.

Since ProfileNode::nextSibling and its callers are only used within
debug printing code, it should be compiled out for release builds.

  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::ProfileGenerator):
(JSC::AddParentForConsoleStartFunctor::operator()):
(JSC::ProfileGenerator::beginCallEntry): create a new Call entry.
(JSC::ProfileGenerator::endCallEntry): finish the last Call entry.
(JSC::ProfileGenerator::willExecute): inline ProfileNode::willExecute()
(JSC::ProfileGenerator::didExecute): inline ProfileNode::didExecute()
(JSC::ProfileGenerator::stopProfiling): Only walk up the spine.
(JSC::ProfileGenerator::removeProfileStart):
(JSC::ProfileGenerator::removeProfileEnd):

  • profiler/ProfileGenerator.h:
  • profiler/ProfileNode.cpp:

(JSC::ProfileNode::ProfileNode):
(JSC::ProfileNode::addChild):
(JSC::ProfileNode::removeChild):
(JSC::ProfileNode::spliceNode): Renamed from insertNode.
(JSC::ProfileNode::debugPrintRecursively):
(JSC::ProfileNode::willExecute): Deleted.
(JSC::ProfileNode::insertNode): Deleted.
(JSC::ProfileNode::stopProfiling): Deleted.
(JSC::ProfileNode::traverseNextNodePostOrder):
(JSC::ProfileNode::endAndRecordCall): Deleted.
(JSC::ProfileNode::debugPrintDataSampleStyle):

  • profiler/ProfileNode.h:

(JSC::ProfileNode::Call::setStartTime):
(JSC::ProfileNode::Call::setTotalTime):
(JSC::ProfileNode::appendCall):
(JSC::ProfileNode::firstChild):
(JSC::ProfileNode::lastChild):
(JSC::ProfileNode::nextSibling):
(JSC::ProfileNode::setNextSibling):

Source/WebCore:

  • inspector/ScriptProfileNode.idl: Remove an unused property.
9:46 AM Changeset in webkit [173261] by commit-queue@webkit.org
  • 1 edit
    2 deletes in trunk/Source/WebCore

Remove Qt cruft: MIMESniffing.cpp and MIMESniffing.h
https://bugs.webkit.org/show_bug.cgi?id=136528

Patch by Renato Nagy <rnagy@inf.u-szeged.hu> on 2014-09-04
Reviewed by Alexey Proskuryakov.

  • platform/network/MIMESniffing.cpp: Removed.
  • platform/network/MIMESniffing.h: Removed.
9:33 AM Changeset in webkit [173260] by ap@apple.com
  • 2 edits in trunk/Tools

Buildbot metrics page gives wrong results after a new bot gets added
https://bugs.webkit.org/show_bug.cgi?id=136516

Part 1: Fix red/green counters. Dashboard is considered green at a given time
if all the bots that ever had results before this time are green.

This doesn't (and cannot) address situations where the bot gets removed and then
re-added. It also gives wrong results after a bot gets removed, because it doesn't
know that it was ever displayed on the dashboard.

Reviewed by Darin Adler.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:

(Analyzer.prototype._dashboardIsAllGreen):
(Analyzer.prototype._updateStretchOfRedCounters):
(Analyzer.prototype._countPercentageOfGreen):
(Analyzer.prototype._allQueuesAreSuccessful): Deleted.

9:13 AM Changeset in webkit [173259] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Introduce CSS_BASIC_SHAPES_TYPE_CASTS, and use it
https://bugs.webkit.org/show_bug.cgi?id=136403

Reviewed by Daniel Bates.

toCSSBasicShapeFoo() will help to detect wrong type casting. So this patch generates it, and use it
instead of static_cast<const CSSBasicShapeFoo*>().

No new tests no behavior changes.

  • css/BasicShapeFunctions.cpp:

(WebCore::basicShapeForValue):

  • css/CSSBasicShapes.cpp:

(WebCore::CSSBasicShapeCircle::equals):
(WebCore::CSSBasicShapeEllipse::equals):
(WebCore::CSSBasicShapePolygon::equals):
(WebCore::CSSBasicShapeInset::equals):

  • css/CSSBasicShapes.h:
8:42 AM Changeset in webkit [173258] by dbates@webkit.org
  • 13 edits in trunk/Source

[iOS] Make iOS build when ENABLE_TOUCH_EVENT and ENABLE_IOS_TOUCH_EVENTS disabled
https://bugs.webkit.org/show_bug.cgi?id=136494

Reviewed by Andy Estes.

Source/WebCore:

  • WebCore.exp.in: Add ENABLE(IOS_TOUCH_EVENTS) and ENABLE(TOUCH_EVENTS) guards. Also, sort this file using

the script Tools/Scripts/sort-export-file.

  • bindings/js/JSDocumentCustom.cpp: Add ENABLE(TOUCH_EVENTS)-guard around headers JSTouch.h and JSTouchList.h.
  • page/ios/WebEventRegion.mm: Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS) since this

code is specific to the iOS touch machinery.

  • page/scrolling/ScrollingCoordinator.cpp: Add ENABLE(IOS_TOUCH_EVENTS) and ENABLE(TOUCH_EVENTS) guards.

(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS).

  • platform/ios/ScrollAnimatorIOS.h: Add ENABLE(TOUCH_EVENTS) guard.
  • platform/ios/ScrollAnimatorIOS.mm:

(WebCore::ScrollAnimatorIOS::ScrollAnimatorIOS): Ditto.

  • platform/ios/wak/WAKResponder.h: Ditto.
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer): Add ENABLE(IOS_TOUCH_EVENTS) guard.
(WebCore::RenderLayer::~RenderLayer): Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS) since this
code is specific to the iOS touch machinery.

  • rendering/RenderLayer.h: Add ENABLE(IOS_TOUCH_EVENTS) guard.

Source/WebKit/mac:

  • MigrateHeaders.make: Migrate header WebEventRegion.h only when ENABLE_IOS_TOUCH_EVENTS is defined.
  • WebView/WebView.mm: Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS).
4:14 AM Changeset in webkit [173257] by clopez@igalia.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r173240) [GTK] Debug build broken.

Unreviewed build fix after r173240.

  • dom/EventListenerMap.h: Add missing include.
1:28 AM Changeset in webkit [173256] by mitz@apple.com
  • 6 edits in trunk/Source/WebCore

Get rid of HIGH_DPI_CANVAS leftovers
https://bugs.webkit.org/show_bug.cgi?id=136491

Reviewed by Benjamin Poulain.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::HTMLCanvasElement): Removed m_deviceScaleFactor initializer.
(WebCore::HTMLCanvasElement::reset): Removed checking if the scale factor has changed and
updating m_deviceScaleFactor.
(WebCore::HTMLCanvasElement::convertLogicalToDevice): Removed scaling by the device scale
factor.
(WebCore::HTMLCanvasElement::convertDeviceToLogical): Ditto.
(WebCore::HTMLCanvasElement::createImageBuffer): Replaced m_deviceScaleFactor with a literal
1.
(WebCore::HTMLCanvasElement::targetDeviceScaleFactor): Deleted.

  • html/HTMLCanvasElement.h: Removed m_deviceScaleFactor member variable and its getter.
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::putImageData): Removed scaling by the device scale
factor.

  • html/canvas/CanvasRenderingContext2D.h:

(WebCore::CanvasRenderingContext2D::webkitBackingStorePixelRatio): Changed to return 1.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::texImage2D): Replaced deviceScaleFactor() with 1.
(WebCore::WebGLRenderingContext::texSubImage2D): Ditto.

12:41 AM Changeset in webkit [173255] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

Initialize m_usesNetworkProcess earlier in WebProcess::initializeWebProcess()
https://bugs.webkit.org/show_bug.cgi?id=136478

Reviewed by Alexey Proskuryakov.

The soup network backend uses WebProcess::usesNetworkProcess()
from WebProcess::platformSetCacheModel() and
WebProcess::platformInitializeWebProcess(), both called before the
m_usesNetworkProcess member has been initialized.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess): Move the
m_usesNetworkProcess initialization at the beginning right before
calling platformInitializeWebProcess().

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformSetCacheModel): Remove the early
return when using the network process, since this was dead code
before this change, and not really needed now that
usesNetworkProcess() will return true.
(WebKit::WebProcess::platformInitializeWebProcess): Remove comment
that is not accurate since r171156.

12:03 AM Changeset in webkit [173254] by commit-queue@webkit.org
  • 25 edits
    2 adds in trunk

XMLHttpRequest always defaults Content-Type to application/xml, while it should depend on data type
https://bugs.webkit.org/show_bug.cgi?id=11049

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-03
Reviewed by Darin Adler.

Source/WebCore:

Updated default mime type when sending text (changed from application/xml to text/plain;charset=UTF-8)
Updated default mime type when sending document (set to application/xml;charset=UTF-8 for XML documents and text/html;charset=UTF-8 for HTML documents)

Test: http/tests/xmlhttprequest/post-content-type-document.html

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::send): updating default Content-Type valuess.

LayoutTests:

  • http/tests/xmlhttprequest/methods-lower-case-expected.txt: Rebaseline (application/xml -> text/plain;charset=UTF-8).
  • http/tests/xmlhttprequest/post-content-type-document.html: New test to cover default mime type for XML and HTML document data types.
  • http/tests/xmlhttprequest/post-content-type-document-expected.txt: Ditto.
  • http/tests/xmlhttprequest/post-content-type-expected.txt: Rebaseline (application/xml -> text/plain;charset=UTF-8).
  • http/tests/xmlhttprequest/post-content-type.html: Ditto.
  • http/tests/xmlhttprequest/request-encoding2.html: Ditto.
  • platform/gtk/http/tests/xmlhttprequest/methods-async-expected.txt: Ditto.
  • platform/gtk/http/tests/xmlhttprequest/methods-expected.txt: Ditto.
  • platform/gtk/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Ditto.
  • platform/gtk/http/tests/xmlhttprequest/workers/methods-expected.txt: Ditto.
  • platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt: Ditto.
  • platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt: Ditto.

Sep 3, 2014:

11:46 PM Changeset in webkit [173253] by ddkilzer@apple.com
  • 2 edits in trunk/Websites/bugs.webkit.org

Make images work with patches created using svn 1.7
<http://webkit.org/b/136507>

Reviewed by Darin Adler.

  • PrettyPatch/PrettyPatch.rb:

(PrettyPatch.prettify): Delete redundant patches that claim
newly added images are actually removed.
(PrettyPatch.SVN_BINARY_FILE_MARKER_FORMAT): Rename from
BINARY_FILE_MARKER_FORMAT.
(PrettyPatch.SVN_IMAGE_FILE_MARKER_FORMAT): Rename from
IMAGE_FILE_MARKER_FORMAT.
(PrettyPatch.SVN_PROPERTY_CHANGES_FORMAT): Add. Used to find
and ignore property changes in svn 1.7 patches.
(PrettyPatch.SVN_START_OF_BINARY_DATA_FORMAT): Rename from
START_OF_BINARY_DATA_FORMAT.
(FileDiff.filename): Add read-only accessor.
(FileDiff.image): Add read-only accessor.
(FileDiff.image_url): Add read-only accessor.
(FileDiff.initialize): Add special case for svn-1.7 image
patches that add a file. Update various regex constants per
above.

11:43 PM Changeset in webkit [173252] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[SOUP] Race condition when downloading a file due to the intermediate temporary file
https://bugs.webkit.org/show_bug.cgi?id=136423

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-09-03
Reviewed by Carlos Garcia Campos.

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::DownloadClient): Replace m_destinationURI with
m_destinationFile and add m_createdDestination.
(WebKit::DownloadClient::deleteFilesIfNeeded): Added.
(WebKit::DownloadClient::downloadFailed): Call deleteFilesIfNeeded.
(WebKit::DownloadClient::didReceiveResponse): Attempt to create the
destination file before the intermediate file. Fail here if the file
exists and overwrite is not allowed, so we don't erroneously fire the
didCreateDestination event or waste time downloading the file when we
know the download will fail.
(WebKit::DownloadClient::didFinishLoading): Unconditionally overwrite
the empty destination file.
(WebKit::DownloadClient::cancel): Call deleteFilesIfNeeded.
(WebKit::DownloadClient::deleteIntermediateFileInNeeded): Deleted.

10:53 PM Changeset in webkit [173251] by Brian Burg
  • 30 edits
    4 moves in trunk/Source

Web Inspector: fix prefixes for subclasses of JSC::ConsoleClient
https://bugs.webkit.org/show_bug.cgi?id=136476

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/JSGlobalObjectConsoleClient.cpp: Renamed from Source/JavaScriptCore/inspector/JSConsoleClient.cpp.
  • inspector/JSGlobalObjectConsoleClient.h: Renamed from Source/JavaScriptCore/inspector/JSConsoleClient.h.
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::reportAPIException):

  • inspector/JSGlobalObjectInspectorController.h:

Source/WebCore:

No new tests. No behavior changed.

  • CMakeLists.txt:
  • WebCore.exp.in:
  • WebCore.order:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::restore):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::clearWindowShell):
(WebCore::ScriptController::initScript):

  • css/CSSParser.cpp:

(WebCore::CSSParser::logError):

  • dom/Document.cpp:

(WebCore::Document::addConsoleMessage):
(WebCore::Document::addMessage):

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::muteConsole):
(WebCore::PageDebuggerAgent::unmuteConsole):
(WebCore::PageDebuggerAgent::breakpointActionLog):

  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::muteConsole):
(WebCore::PageRuntimeAgent::unmuteConsole):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::console):
(WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
(WebCore::DOMWindow::close):
(WebCore::DOMWindow::printErrorMessage):
(WebCore::DOMWindow::pageConsole): Deleted.

  • page/DOMWindow.h:
  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:
  • page/PageConsoleClient.cpp: Renamed from Source/WebCore/page/PageConsole.cpp.
  • page/PageConsoleClient.h: Renamed from Source/WebCore/page/PageConsole.h.
  • testing/Internals.cpp:

(WebCore::Internals::consoleProfiles):

  • testing/Internals.h:
  • xml/XSLStyleSheetLibxslt.cpp:

(WebCore::XSLStyleSheet::parseString):

  • xml/XSLTProcessorLibxslt.cpp:

(WebCore::XSLTProcessor::parseErrorFunc):
(WebCore::docLoaderFunc):

Source/WebKit/mac:

  • Misc/WebCoreStatistics.mm:

(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):

Source/WebKit/win:

  • WebCoreStatistics.cpp:

(WebCoreStatistics::shouldPrintExceptions):
(WebCoreStatistics::setShouldPrintExceptions):

9:29 PM Changeset in webkit [173250] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Websocket Layout Tests passed in latest build.
https://bugs.webkit.org/show_bug.cgi?id=136278

Unreviewed gardening.

Websocket Layout Tests passed in latest build, possibly because r172438.

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-09-03

  • platform/efl/TestExpectations:
7:54 PM Changeset in webkit [173249] by mjs@apple.com
  • 5 edits in trunk/Source/WebCore

Fix a few leftovers from removing MIME-related WKSI usage
https://bugs.webkit.org/show_bug.cgi?id=136513

Reviewed by Alexey Proskuryakov.

  • WebCore.exp.in:
  • WebCore.order:
  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.mm:
7:10 PM Changeset in webkit [173248] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Reenable call edge profiling and polymorphic call inlining, now that a bunch of the bugs
are fixed.

  • runtime/Options.h:
6:43 PM Changeset in webkit [173247] by jpfau@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, mark test as crashing

  • platform/wk2/TestExpectations:
5:55 PM Changeset in webkit [173246] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Text caret changes to color of text in Mail and Notes
https://bugs.webkit.org/show_bug.cgi?id=135904

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-09-03
Reviewed by Simon Fraser.

Source/WebCore:

Consult with the background color of spans inside editable divs to determine what color
the caret should be.

Test: editing/caret/color-span-inside-editable.html

  • editing/FrameSelection.cpp:

(WebCore::CaretBase::paintCaret):

LayoutTests:

Make sure the caret is the correct color.

  • editing/caret/color-span-inside-editable-expected.html: Added.
  • editing/caret/color-span-inside-editable.html: Added.
5:53 PM Changeset in webkit [173245] by ddkilzer@apple.com
  • 11 edits in trunk/Source

JavaScriptCore should build with newer clang
<http://webkit.org/b/136002>
<rdar://problem/18020616>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Other than the JSC::SourceProvider::asID() change (which simply
removes code that the optimizing compiler would have discarded
in Release builds), we move the |this| checks in OpaqueJSString
to NULL checks in to JSBase, JSScriptRef, JSStringRef{CF} and
JSValueRef.

  • API/JSBase.cpp:

(JSEvaluateScript): Use String() in case |script| or |sourceURL|
are NULL.

  • API/JSScriptRef.cpp:

(JSScriptCreateReferencingImmortalASCIIText): Use String() in
case |url| is NULL.

  • API/JSStringRef.cpp:

(JSStringGetLength): Return early if NULL pointer is passed in.
(JSStringGetCharactersPtr): Ditto.
(JSStringGetUTF8CString): Ditto. Also check |buffer| parameter.

  • API/JSStringRefCF.cpp:

(JSStringCopyCFString): Ditto.

  • API/JSValueRef.cpp:

(JSValueMakeString): Use String() in case |string| is NULL.

  • API/OpaqueJSString.cpp:

(OpaqueJSString::string): Remove code that checks |this|.
(OpaqueJSString::identifier): Ditto.
(OpaqueJSString::characters): Ditto.

  • API/OpaqueJSString.h:

(OpaqueJSString::is8Bit): Remove code that checks |this|.
(OpaqueJSString::characters8): Ditto.
(OpaqueJSString::characters16): Ditto.
(OpaqueJSString::length): Ditto.

  • parser/SourceProvider.h:

(JSC::SourceProvider::asID): Remove code that checks |this|.

Source/WebKit2:

  • Shared/API/c/WKString.cpp:

(WKStringCreateWithJSString): Add NULL check to prevent
WebKitTestRunner crashes that relied on the previous |this|
behavior where NULL values were allowed.

5:28 PM Changeset in webkit [173244] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

CallEdgeProfile::visitWeak() shouldn't attempt to despecify empty profiles
https://bugs.webkit.org/show_bug.cgi?id=136511

Reviewed by Geoffrey Garen.

  • bytecode/CallEdgeProfile.cpp:

(JSC::CallEdgeProfile::worthDespecifying):
(JSC::CallEdgeProfile::visitWeak):
(JSC::CallEdgeProfile::mergeBack):

5:26 PM Changeset in webkit [173243] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the iOS build after r173230

  • WebCore.exp.in:
4:48 PM Changeset in webkit [173242] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r167325): (null) entry added to Xcode project file when JSBoundFunction.h was removed
<http://webkit.org/b/136509>

Reviewed by Daniel Bates.

entry left behind when JSBoundFunction.h was removed.

4:10 PM Changeset in webkit [173241] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

Remove unnecessary function from TextPainter
https://bugs.webkit.org/show_bug.cgi?id=136497

Reviewed by Simon Fraser.

Function is never called.

No new tests because there is no behavior change.

  • rendering/TextPainter.cpp:

(WebCore::TextPainter::paintTextInContext): Deleted.

  • rendering/TextPainter.h:
3:56 PM Changeset in webkit [173240] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Don't use DEPRECATED_DEFINE_STATIC_LOCAL for mutexes
https://bugs.webkit.org/show_bug.cgi?id=136510

Reviewed by Andreas Kling.

Mutexes are intended to be used from multiple threads, and DEPRECATED_DEFINE_STATIC_LOCAL is not thread safe.

  • bindings/objc/DOMInternal.mm:

(wrapperCacheLock):
(getDOMWrapper):
(addDOMWrapper):
(removeDOMWrapper):
Use LazyNeverDestroyed + std::call_once, and switch the mutex over to an std::mutex.

  • dom/EventListenerMap.cpp:

(WebCore::EventListenerMap::assertNoActiveIterators):
(WebCore::EventListenerIterator::EventListenerIterator):
(WebCore::EventListenerIterator::~EventListenerIterator):
(WebCore::activeIteratorCountMutex):
(WebCore::EventListenerMap::EventListenerMap): Deleted.

  • dom/EventListenerMap.h:

Use an std::atomic<int> instead of a mutex here.

3:55 PM Changeset in webkit [173239] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed test fix.

  • Scripts/webkitperl/auto-version_unittest/versionStampTests.pl: Don't fail

test if user doesn't have the VersionStamp.exe program.

3:50 PM Changeset in webkit [173238] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Avoid warning if a process does not have access to com.apple.webinspector
https://bugs.webkit.org/show_bug.cgi?id=136473

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-03
Reviewed by Alexey Proskuryakov.

Pre-check for access to the mach port to avoid emitting warnings
in syslog for processes that do not have access.

  • inspector/remote/RemoteInspector.mm:

(Inspector::canAccessWebInspectorMachPort):
(Inspector::RemoteInspector::shared):

3:44 PM Changeset in webkit [173237] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Temporarily disable call edge profiling. It is causing crashes and I'm still investigating
them.

  • runtime/Options.h:
3:26 PM Changeset in webkit [173236] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark a number of passing tests.

  • platform/win/TestExpectations: Update expectations based on passes

on multiple test bots.

3:15 PM Changeset in webkit [173235] by enrica@apple.com
  • 24 edits in trunk/Source

Remove PLATFORM(IOS) from WebCore/editing (Part 1).
https://bugs.webkit.org/show_bug.cgi?id=136474

Reviewed by Tim Horton.

Source/WebCore:

This is the first part of the work to remove PLATFORM(IOS) everywhere
in the editing code.

  • dom/Range.cpp:

(WebCore::Range::create): Adding create function that takes VisiblePosition.

  • dom/Range.h:
  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::apply):
(WebCore::CompositeEditCommand::inputText):

  • editing/CompositeEditCommand.h:
  • editing/DeleteButton.h: No need for the platform guard since it is already under

DELETION_UI

  • editing/DeleteButtonController.cpp:

(WebCore::DeleteButtonController::enable):
(WebCore::DeleteButtonController::disable):

  • editing/EditAction.h:
  • editing/EditCommand.h:

(WebCore::EditCommand::isInsertTextCommand):

  • editing/Editor.cpp:

(WebCore::ClearTextCommand::CreateAndApply):

  • editing/Editor.h:
  • editing/EditorCommand.cpp:

(WebCore::executeClearText):
(WebCore::enabledCopy):
(WebCore::enabledCut):
(WebCore::enabledClearText):
(WebCore::createCommandMap):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::modifyExtendingRight):
(WebCore::FrameSelection::modifyExtendingForward):
(WebCore::FrameSelection::modifyMovingRight):
(WebCore::FrameSelection::modifyMovingForward):
(WebCore::FrameSelection::modifyExtendingLeft):
(WebCore::FrameSelection::modifyExtendingBackward):
(WebCore::FrameSelection::modifyMovingLeft):
(WebCore::FrameSelection::modifyMovingBackward):

  • editing/InsertTextCommand.h:
  • editing/TextCheckingHelper.cpp:
  • editing/TextGranularity.h:
  • editing/VisiblePosition.h:

(WebCore::operator>=):

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):

  • editing/VisibleUnits.cpp:
  • editing/VisibleUnits.h:

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.mm:

(undoNameForEditAction):

Source/WebKit2:

  • UIProcess/WebEditCommandProxy.cpp:

(WebKit::WebEditCommandProxy::nameForEditAction):

3:02 PM Changeset in webkit [173234] by andersca@apple.com
  • 8 edits in trunk/Source/WebCore

Get rid of some uses of OwnPtr
https://bugs.webkit.org/show_bug.cgi?id=136503

Reviewed by Sam Weinig.

  • dom/ElementRareData.cpp:
  • dom/ElementRareData.h:

(WebCore::ElementRareData::create): Deleted.

  • dom/MutationObserverRegistration.cpp:

(WebCore::MutationObserverRegistration::create): Deleted.

  • dom/MutationObserverRegistration.h:
  • dom/Node.cpp:

(WebCore::Node::materializeRareData):
(WebCore::Node::didMoveToNewDocument):
(WebCore::eventTargetDataMap):
(WebCore::Node::eventTargetData):
(WebCore::Node::ensureEventTargetData):
(WebCore::Node::mutationObserverRegistry):
(WebCore::Node::registerMutationObserver):
(WebCore::Node::unregisterMutationObserver):
(WebCore::Node::notifyMutationObserversNodeWillDetach):

  • dom/Node.h:
  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::NodeListsNodeData):
(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::clearNodeLists):
(WebCore::NodeRareData::ensureNodeLists):
(WebCore::NodeRareData::ensureMutationObserverData):
(WebCore::NodeListsNodeData::create): Deleted.
(WebCore::NodeMutationObserverData::create): Deleted.
(WebCore::NodeRareData::create): Deleted.

2:52 PM Changeset in webkit [173233] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=136395
Need a way to get userAgent from WKWebView.

Add _userAgent property to return user agent string from WKWebView.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-09-03
Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _userAgent]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
2:50 PM Changeset in webkit [173232] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[MIPS] Wrong register usage in LLInt op_catch.
https://bugs.webkit.org/show_bug.cgi?id=125168

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2014-09-03
Reviewed by Geoffrey Garen.

Fix register usage and add PIC header to all the ops in LLInt.

  • offlineasm/instructions.rb:
  • offlineasm/mips.rb:
2:42 PM Changeset in webkit [173231] by dburkart@apple.com
  • 2 edits in trunk/Tools

Add myself as a committer.

2:32 PM Changeset in webkit [173230] by mjs@apple.com
  • 31 edits
    2 moves in trunk/Source

Clean up naming for and slightly refactor legacy video fullscreen support
https://bugs.webkit.org/show_bug.cgi?id=136446

Reviewed by Jer Noble.

Key changes:
supportsFullscreenForNode(Node*) --> supportsVideoFullscreen()
enterFullscreenForNode(Node*) --> enterVideoFullscreenForVideoElement(HTMLVideoElement*)
exitFullscreenForNode(Node*) --> exitVideoFullscreen()

The old versions had unnecessary parameters, did not clearly distinguish their purpose
from enterFullscreenForElement and friends, and wrongly claimed generality to all Nodes.
Also changed many other places to use HTMLVideoElement* instead of Node* or
HTMLMediaElement* when they were in fact only used for video elements and would only
work for such.

Source/WebCore:

The implications of this include a bunch of renaming in some iOS fullscreen code.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Rename m_isFullscreen flag to
m_isInVideoFullscreen, since it only covers the case of legacy video fullscreen,
not element fullscreen.
(WebCore::HTMLMediaElement::stop): ditto
(WebCore::HTMLMediaElement::requiresTextTrackRepresentation): ditto
(WebCore::HTMLMediaElement::isFullscreen): ditto
(WebCore::HTMLMediaElement::enterFullscreen): Rename m_isFullscreen flag to
m_isInVideoFullscreen. Hoist video element check here from all supportsFullscrenForNode
clients. Adjust for relevant ChromeClient refactorings.
(WebCore::HTMLMediaElement::enterFullscreen): ditto above

  • html/HTMLMediaElement.h:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::supportsFullscreen): Adjust for relevant ChromeClient
refactorings.

  • page/ChromeClient.h:

(WebCore::ChromeClient::supportsVideoFullscreen): Renamed from
supportsFullscreenForNode, and removed Node* parameter.
(WebCore::ChromeClient::enterVideoFullscreenForVideoElement): Renamed from
enterFulscreenForNode and changed Node* parameter to HTMLVideoElement*.
(WebCore::ChromeClient::exitVideoFullscreen): Renamed from
exitFullscreenForNode, and removed Node* parameter.

  • platform/ios/WebVideoFullscreenControllerAVKit.h:
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController videoElement]): Renamed from mediaElement;
return a video element and not just a media element.
(-[WebVideoFullscreenController dealloc]): Renamed _mediaElement data member
to _videoElement and changed type accordingly.
(-[WebVideoFullscreenController setVideoElement:]): Renamed from setMediaElement:
and adjust parameter type accordingly.
(-[WebVideoFullscreenController enterFullscreen:]): Video elements, not media
elements.
(-[WebVideoFullscreenController exitFullscreen]): ditto
(-[WebVideoFullscreenController didCleanupFullscreen]): ditto

  • platform/ios/WebVideoFullscreenInterface.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: Remove gratuitous HTMLMEdiaElement.h include

and fix declarations accordingly.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Include WTFString.h
  • platform/ios/WebVideoFullscreenModelVideoElement.h: Renamed from Source/WebCore/platform/ios/WebVideoFullscreenModelMediaElement.h.
  • platform/ios/WebVideoFullscreenModelVideoElement.mm: Renamed from Source/WebCore/platform/ios/WebVideoFullscreenModelMediaElement.mm.

(WebVideoFullscreenModelVideoElement) Renamed from WebVideoFullscreenModelMediaElement
(WebVideoFullscreenModelVideoElement::setVideoElement): Renamed from setMediaElement and
change param type accordingly. Also no need to check for actual videoness of the element.
(WebVideoFullscreenModelVideoElement::updateForEventName): Rename data member from m_mediaElement
to m_videoElement and change type accordingly.
(WebVideoFullscreenModelVideoElement::setVideoFullscreenLayer): ditto
(WebVideoFullscreenModelVideoElement::play): ditto
(WebVideoFullscreenModelVideoElement::pause): ditto
(WebVideoFullscreenModelVideoElement::togglePlayState): ditto
(WebVideoFullscreenModelVideoElement::beginScrubbing): ditto
(WebVideoFullscreenModelVideoElement::endScrubbing): ditto
(WebVideoFullscreenModelVideoElement::seekToTime): ditto
(WebVideoFullscreenModelVideoElement::fastSeek): ditto
(WebVideoFullscreenModelVideoElement::beginScanningForward): ditto
(WebVideoFullscreenModelVideoElement::beginScanningBackward): ditto
(WebVideoFullscreenModelVideoElement::endScanning): ditto
(WebVideoFullscreenModelVideoElement::requestExitFullscreen): ditto
(WebVideoFullscreenModelVideoElement::setVideoLayerFrame): ditto
(WebVideoFullscreenModelVideoElement::setVideoLayerGravity): ditto
(WebVideoFullscreenModelVideoElement::updateLegibleOptions): ditto

  • platform/mac/WebVideoFullscreenController.h:
  • platform/mac/WebVideoFullscreenController.mm:

(-[WebVideoFullscreenController videoElement]): Renamed from mediaElement
and update return type accordingly.
(-[WebVideoFullscreenController setVideoElement:]): Renamed from
setMediaElement and update return type accordingly.
(-[WebVideoFullscreenController videoElementRect]): Renamed
from mediaElementRect.
(-[WebVideoFullscreenController enterFullscreen:]): Update for
rename.
(-[WebVideoFullscreenController exitFullscreen]): ditto
(-[WebVideoFullscreenController updatePowerAssertions]): Rename
member from _mediaElement to _videoElement
(-[WebVideoFullscreenController _requestExit]): ditto

  • WebCore.exp.in: Adjust for function and class renames.
  • WebCore.xcodeproj/project.pbxproj: Adjust for file renames.

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::supportsVideoFullscreen): Adjust for main refactoring.
Also no more need to check for video elementness.
(WebChromeClient::enterVideoFullscreenForVideoElement): Adjust for main refactoring.
(WebChromeClient::exitVideoFullscreen): ditto

  • WebView/WebView.mm:

(-[WebView _enterVideoFullscreenForVideoElement:]): Adjust for main
refactoring.
(-[WebView _exitVideoFullscreen]): ditto
(-[WebView _close]): ditto

  • WebView/WebViewInternal.h:

Source/WebKit/win:

  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::supportsVideoFullscreen): Adjust for the
main refactoring.
(WebChromeClient::enterVideoFullscreenForVideoElement): ditto
(WebChromeClient::exitVideoFullscreen): ditto

  • WebCoreSupport/WebChromeClient.h:
  • WebView.cpp:

(WebView::enterVideoFullscreenForVideoElement): Adjust for the
main refactoring.
(WebView::exitVideoFullscreen): ditto.

  • WebView.h:
  • FullscreenVideoController.cpp: Use video elements, not media elements throughout

(FullscreenVideoController::LayerClient::platformCALayerLayoutSublayersOfLayer):
(FullscreenVideoController::setVideoElement):
(FullscreenVideoController::enterFullscreen):
(FullscreenVideoController::exitFullscreen):
(FullscreenVideoController::canPlay):
(FullscreenVideoController::play):
(FullscreenVideoController::pause):
(FullscreenVideoController::volume):
(FullscreenVideoController::setVolume):
(FullscreenVideoController::currentTime):
(FullscreenVideoController::setCurrentTime):
(FullscreenVideoController::duration):
(FullscreenVideoController::beginScrubbing):
(FullscreenVideoController::endScrubbing):
(FullscreenVideoController::onChar):
(FullscreenVideoController::onKeyDown):
(FullscreenVideoController::onMouseUp):

  • FullscreenVideoController.h:

(FullscreenVideoController::videoElement):

Source/WebKit2:

Legacy video fullscreen in WebKit2 is only supported on iOS (for other ports that support
it, it's WK1 only).

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::supportsVideoFullscreen): Adjust for renames as
mentioned.
(WebKit::WebChromeClient::enterVideoFullscreenForVideoElement): ditto
(WebKit::WebChromeClient::exitVideoFullscreen): ditto

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/ios/WebVideoFullscreenManager.h:
  • WebProcess/ios/WebVideoFullscreenManager.mm:

(WebKit::clientRectForElement): No need to be generic to node.
(WebKit::WebVideoFullscreenManager::supportsVideoFullscreen): Adjust for the
main refactoring. Also change m_node to m_videoElement with appropriate type change.
(WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): ditto
(WebKit::WebVideoFullscreenManager::exitVideoFullscreen): ditto
(WebKit::WebVideoFullscreenManager::didEnterFullscreen): ditto
(WebKit::WebVideoFullscreenManager::didExitFullscreen): ditto
(WebKit::WebVideoFullscreenManager::didCleanupFullscreen): ditto

2:30 PM Changeset in webkit [173229] by benjamin@webkit.org
  • 16 edits
    20 adds in trunk

Fix style invalidation of elements with multiple siblings dependencies
https://bugs.webkit.org/show_bug.cgi?id=136472

Reviewed by Andreas Kling.

Source/WebCore:

Previously, style invalidation of siblings was driven by a pair of flags:
-ChildrenAffectedByDirectAdjacentRules.
-ChildrenAffectedByForwardPositionalRules.

When ChildrenAffectedByDirectAdjacentRules was set, the element after an element
with "needsStyleRecalc" was also recomputed. While this work for pair of elements:

a + b

It does not work for more than that. For example, with

a.propery + b + c

When the state of <a> changes, the style of <b> was updated, which is useless. The style
of <c> was untouched, which is incorrect.

When ChildrenAffectedByForwardPositionalRules, all elements after one with "needsStyleRecalc"
were invalidated. While more correct, it caused avalanche of style recalc and was not a very
useful "optimization".


To fix the correctness issues (e.g. "a + b + c"), I could have gone two ways:
1) Invalidate the parent of a, b, c. The children would always get a correct style

when their parent's style would be resolved.

2) Create invalidation relations to enforce that the right siblings are invalidated.

I have decided for a weak version of (2). The reason is that most DOM trees are very
shallow while being very wide. Invalidating the parent generally causes massive style
recalculation.

To keep things simple for now, there is no explicit dependency list between siblings.
Instead, each element has a pair of flag:
1) The element's style depends on the state of a previous sibling.
2) The element's state affects following siblings.

With the notation "<-" for (1), "->" for (2), the selector "a + b + c" create this kind
of marking:

a + b + c
-> ->

<-

When <a> is invalidated, the style resolver will go through the chain of dependent elements
and invalidate any element that can be affected by a prior invalidation, here <c>.

Overlaps are possible. For example with the two selector, "a + b + c", "b ~ d"
the marking would be

a + b + c + d
-> -> ->

<- <-

A change in <a> would invalidate both <c> and <d>. This is overkill, but the end result
is correct and it is a net improvement over the previous flags.

As usual, the CSS JIT makes an effort at compile time to reduce tree marking. SelectorChecker
marks everything as usual.

Tests: fast/css/direct-adjacent-style-update-optimization.html

fast/css/indirect-adjacent-style-update-optimization.html
fast/css/non-matching-adjacent-style-update.html
fast/selectors/first-of-type-direct-adjacent-style-update.html
fast/selectors/first-of-type-sibling-style-update.html
fast/selectors/id-direct-adjacent-style-update.html
fast/selectors/id-sibling-style-update.html
fast/selectors/nth-child-as-first-simple-selector-style-update.html
fast/selectors/nth-child-direct-adjacent-style-update.html
fast/selectors/nth-child-style-update.html

  • css/SelectorChecker.cpp:

(WebCore::isFirstOfType):
(WebCore::countElementsBefore):
(WebCore::countElementsOfTypeBefore):
Counting selectors are not unlike adjacent combinators, they are handled the exact same way.
For example a :nth-child(4) would generate somewhat similar marking as

:first-child + * + * + *

Everything prior to the element with the counter affects the style of the element.

(WebCore::hasScrollbarPseudoElement):
The assertion was incorrect. You can get an scrollbar pseudo ID on an element without scrollbar.
It will never match, but such case is possible.

(WebCore::SelectorChecker::matchRecursively):
(WebCore::SelectorChecker::checkOne):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithElement):
Previously, any subtree affected by sibling selectors were unshareable. That was done by checking
for Element::hasFlagsSetDuringStylingOfChildren().

Now that sibling relation are local, they no longer prevent sharing of all children. Instead, we can
test locally for subgroup with sibling relations.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::isAdjacentRelation):
(WebCore::SelectorCompiler::shouldMarkStyleIsAffectedByPreviousSibling):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::markElementIfResolvingStyle):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle): Deleted.

  • dom/Document.cpp:

(WebCore::nodeOrItsAncestorNeedsStyleRecalc):

  • dom/Element.cpp:

(WebCore::checkForSiblingStyleChanges):
(WebCore::Element::hasFlagsSetDuringStylingOfChildren):
(WebCore::Element::setChildrenAffectedByForwardPositionalRules): Deleted.
(WebCore::Element::rareDataChildrenAffectedByForwardPositionalRules): Deleted.

  • dom/Element.h:

(WebCore::Element::affectsNextSiblingElementStyle):
(WebCore::Element::setAffectsNextSiblingElementStyle):
(WebCore::Element::setStyleIsAffectedByPreviousSibling):
(WebCore::Element::childrenAffectedByPositionalRules): Deleted.
(WebCore::Element::childrenAffectedByDirectAdjacentRules): Deleted.
(WebCore::Element::childrenAffectedByForwardPositionalRules): Deleted.
(WebCore::Element::setChildrenAffectedByDirectAdjacentRules): Deleted.
(WebCore::Element::setChildrenAffectedByForwardPositionalRules): Deleted.

  • dom/ElementRareData.h:

(WebCore::ElementRareData::ElementRareData):
(WebCore::ElementRareData::resetDynamicRestyleObservations):
(WebCore::ElementRareData::childrenAffectedByForwardPositionalRules): Deleted.
(WebCore::ElementRareData::setChildrenAffectedByForwardPositionalRules): Deleted.

  • dom/Node.h:

(WebCore::Node::styleIsAffectedByPreviousSibling):
(WebCore::Node::flagAffectsNextSiblingElementStyle):
(WebCore::Node::flagStyleIsAffectedByPreviousSibling):
(WebCore::Node::flagChildrenAffectedByDirectAdjacentRulesFlag): Deleted.

  • html/HTMLElement.h:

(WebCore::HTMLElement::isHTMLUnknownElement):

  • html/HTMLUnknownElement.h:
  • style/StyleResolveTree.cpp:

(WebCore::Style::resetStyleForNonRenderedDescendants):
(WebCore::Style::resolveTree):

LayoutTests:

The test coverage was pretty bad. :(
I tried to cover the most obvious problems.

  • fast/css/direct-adjacent-style-update-optimization-expected.txt: Added.
  • fast/css/direct-adjacent-style-update-optimization.html: Added.
  • fast/css/indirect-adjacent-style-update-optimization-expected.txt: Added.
  • fast/css/indirect-adjacent-style-update-optimization.html: Added.
  • fast/css/non-matching-adjacent-style-update-expected.txt: Added.
  • fast/css/non-matching-adjacent-style-update.html: Added.
  • fast/selectors/attribute-direct-adjacent-style-update-expected.txt:
  • fast/selectors/class-direct-adjacent-style-update-expected.txt:
  • fast/selectors/first-child-direct-adjacent-style-update-expected.txt:
  • fast/selectors/first-of-type-direct-adjacent-style-update-expected.txt: Copied from LayoutTests/fast/selectors/attribute-direct-adjacent-style-update-expected.txt.
  • fast/selectors/first-of-type-direct-adjacent-style-update.html: Added.
  • fast/selectors/first-of-type-sibling-style-update-expected.txt: Added.
  • fast/selectors/first-of-type-sibling-style-update.html: Added.
  • fast/selectors/id-direct-adjacent-style-update-expected.txt: Copied from LayoutTests/fast/selectors/attribute-direct-adjacent-style-update-expected.txt.
  • fast/selectors/id-direct-adjacent-style-update.html: Added.
  • fast/selectors/id-sibling-style-update-expected.txt: Added.
  • fast/selectors/id-sibling-style-update.html: Added.
  • fast/selectors/nth-child-as-first-simple-selector-style-update-expected.txt: Added.
  • fast/selectors/nth-child-as-first-simple-selector-style-update.html: Added.
  • fast/selectors/nth-child-direct-adjacent-style-update-expected.txt: Copied from LayoutTests/fast/selectors/attribute-direct-adjacent-style-update-expected.txt.
  • fast/selectors/nth-child-direct-adjacent-style-update.html: Added.
  • fast/selectors/nth-child-style-update-expected.txt: Added.
  • fast/selectors/nth-child-style-update.html: Added.
2:29 PM Changeset in webkit [173228] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard performance popover is unstyled
https://bugs.webkit.org/show_bug.cgi?id=136499

Reviewed by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:

(.performance-popover):
(.performance-popover .dashboard-link):

2:25 PM Changeset in webkit [173227] by benjamin@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Add a test case for Element.matches() with :scope
https://bugs.webkit.org/show_bug.cgi?id=136475

Reviewed by Andreas Kling.

There was not test for this use case. Looks like everything works fine.

  • fast/selectors/matches-scope-expected.txt: Added.
  • fast/selectors/matches-scope.html: Added.
2:18 PM Changeset in webkit [173226] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Dump SimpleLineLayout info in showRenderTree() output
https://bugs.webkit.org/show_bug.cgi?id=136489

Reviewed by Zalan Bujtas.

Include info about SimpleLineLayout to showRenderTree() output.

Also show RenderText length, and truncate the RenderText contents
to 80 chars (since the string is replicated in inline boxes or simple line layout output).

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::showLineTreeAndMark):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::showRenderObject):

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::printPrefix):
(WebCore::SimpleLineLayout::showLineTreeForFlow):

  • rendering/SimpleLineLayoutFunctions.h:
2:01 PM Changeset in webkit [173225] by saambarati1@gmail.com
  • 10 edits
    8 adds in trunk

Create tests for type profiling
https://bugs.webkit.org/show_bug.cgi?id=136161

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The type profiler is now being tested. These are basic tests that don't
check every edge case, but will catch any major failures in the type profiler.
These tests cover:

  • The basic, inheritance-based type system in TypeSet.
  • Function return types.
  • Correct merging of types for multiple assignments to one variable.

This patch also provides an API for writing new tests for
the type profiler. The API works by passing in a function and a
unique substring of an expression contained in that function, and
returns an object representing type information for that expression.

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionFindTypeForExpression):
(functionReturnTypeFor):

  • runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::typeInformationForExpressionAtOffset):

  • runtime/TypeProfiler.h:
  • runtime/TypeProfilerLog.h:
  • runtime/TypeSet.cpp:

(JSC::TypeSet::toJSONString):
(JSC::StructureShape::toJSONString):

  • runtime/TypeSet.h:
  • tests/typeProfiler: Added.
  • tests/typeProfiler.yaml: Added.
  • tests/typeProfiler/basic.js: Added.

(wrapper.foo):
(wrapper):

  • tests/typeProfiler/captured.js: Added.

(wrapper.changeFoo):
(wrapper):

  • tests/typeProfiler/driver: Added.
  • tests/typeProfiler/driver/driver.js: Added.

(assert):

  • tests/typeProfiler/inheritance.js: Added.

(wrapper.A):
(wrapper.B):
(wrapper.C):
(wrapper):

  • tests/typeProfiler/return.js: Added.

(foo):
(Ctor):

Tools:

Have run-javascriptcore-tests run the newly created
tests for the type profiler.

  • Scripts/run-javascriptcore-tests:
  • Scripts/run-jsc-stress-tests:
2:00 PM Changeset in webkit [173224] by ggaren@apple.com
  • 7 edits in trunk/Source/bmalloc

bmalloc crashes on the EWS bots (due to bad large object allocation)
https://bugs.webkit.org/show_bug.cgi?id=136469

Reviewed by Andreas Kling.

It's possible to convince bmalloc to perform a bad large object allocation,
through these steps:

(1) Insert object A into freelist F0.

(2) Split, merge and split again A's neighbors such that object B is
inserted into freelist F0, with boundary tag and size equal to object A,
but pointer not completely equal to object A. Put object B at the head of F0.

(3) Allocate some other object from F0, swapping its position in the
freelist with object B, such that object A is now ahead of object B.

--> Now, the next allocation for size A/B will allocate object A, which
has a slightly wrong idea about where the object actually begins.
Immediately, you'll corrupt a little memory, and over time, you'll also
corrupt boundary tag metadata.

The solution is to store the begin pointer in the boundary tag. Luckily,
this doesn't make the tag any bigger, and it's not a noticeable slowdown
on MallocBench.

  • bmalloc/Algorithm.h:

(bmalloc::rightShift):

  • bmalloc/BeginTag.h:

(bmalloc::BeginTag::isInFreeList): This is the bug fix. Make sure to
validate the start pointer when popping off the free list. Through a
very uncommon set of steps, it is possible to have an item in the free
list that is valid by all accounts except for its start pointer.

  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::compactBegin):
(bmalloc::BoundaryTag::setRange):
(bmalloc::BoundaryTag::setSize): Deleted. Record a compact version of the
start pointer. We don't need the whole pointer -- just the offset, in
largeAlignment increments, into the relevant boundary tag bucket.

  • bmalloc/BoundaryTagInlines.h:

(bmalloc::validateNext):
(bmalloc::BoundaryTag::init):
(bmalloc::BoundaryTag::mergeLarge):
(bmalloc::BoundaryTag::splitLarge):

  • bmalloc/SegregatedFreeList.cpp:

(bmalloc::SegregatedFreeList::insert):
(bmalloc::SegregatedFreeList::takeGreedy):
(bmalloc::SegregatedFreeList::take): Provide the whole range instead of
the size when establishing a boundary tag, as required by the new
interface.

  • bmalloc/Sizes.h:
1:59 PM Changeset in webkit [173223] by ggaren@apple.com
  • 3 edits
    2 adds in trunk/PerformanceTests

MallocBench should have a stress test for correctness
https://bugs.webkit.org/show_bug.cgi?id=136468

Reviewed by Andreas Kling.

Added a stress test that allocates randomized sizes of randomized
lifetimes in randomized order.

This version of the test reproduces the EWS crash seen in bmalloc
(<https://bugs.webkit.org/show_bug.cgi?id=132629>).

  • MallocBench/MallocBench.xcodeproj/project.pbxproj:
  • MallocBench/MallocBench/Benchmark.cpp: Sort!
  • MallocBench/MallocBench/stress.cpp: Added.

(Object::Object):
(SizeStream::SizeStream):
(SizeStream::next):
(benchmark_stress): Usually, we random(0). Surprisingly, though, only
random(1) reproduces the bug I was looking for.

  • MallocBench/MallocBench/stress.h: Added.
1:53 PM Changeset in webkit [173222] by Julien Brianceau
  • 3 edits in trunk/Source/JavaScriptCore

Add missing implementations to fix build for sh4 architecture
https://bugs.webkit.org/show_bug.cgi?id=136455

Reviewed by Geoffrey Garen.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::store8):
(JSC::MacroAssemblerSH4::moveWithPatch):
(JSC::MacroAssemblerSH4::branchAdd32):
(JSC::MacroAssemblerSH4::branch32WithPatch):
(JSC::MacroAssemblerSH4::abortWithReason):
(JSC::MacroAssemblerSH4::canJumpReplacePatchableBranch32WithPatch):
(JSC::MacroAssemblerSH4::startOfPatchableBranch32WithPatchOnAddress):
(JSC::MacroAssemblerSH4::revertJumpReplacementToPatchableBranch32WithPatch):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitFunctionPrologue):
(JSC::AssemblyHelpers::emitFunctionEpilogue):

1:26 PM Changeset in webkit [173221] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

iOS build fix after r173217

  • platform/graphics/ios/FontServicesIOS.h:

(WebCore::FontServicesIOS::capHeight):

  • platform/graphics/ios/FontServicesIOS.mm:

(WebCore::FontServicesIOS::FontServicesIOS):
This fixes the build, but I don't know if it's completely correct.

1:18 PM Changeset in webkit [173220] by andersca@apple.com
  • 4 edits
    2 deletes in trunk/Source/WebCore

Get rid of DOMImplementationFront
https://bugs.webkit.org/show_bug.cgi?id=136495

Reviewed by Andreas Kling.

DOMImplementationFront was used in a workaround for a GCC bug, and since we're building with clang
on Mac this is no longer an issue.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMImplementationFront.cpp: Removed.
  • bindings/objc/DOMImplementationFront.h: Removed.

Remove files.

  • bindings/objc/DOMUtility.mm:

(JSC::createDOMWrapper):
Remove call to implementationFront.

  • bindings/scripts/CodeGeneratorObjC.pm:

(GetImplClassName):
Remove DOMImplementation special case

(AddIncludesForType):
Ditto.

(GenerateHeader):
Use the class header name in the #import in the internal header.

(GenerateImplementation):
Remove DOMImplementation special case.

1:12 PM Changeset in webkit [173219] by Brent Fulgham
  • 3 edits in trunk/Tools

[Win] Revise test environment for Windows build.
https://bugs.webkit.org/show_bug.cgi?id=136486

Reviewed by David Kilzer.

The various calls to get the Safari path really only have
meaning on the Mac. Other ports get access to the build
and test environment separately, so remove the various
checks in the Safari-specific code to simplify things.

Remove some 64-bit hacks used on Windows now that the
various tools know how to find the 64-bit runtime environment.

  • Scripts/run-javascriptcore-tests:
  • Scripts/webkitdirs.pm:

(safariPathFromSafariBundle): Revise to expect Mac.
(installedSafariPath): Ditto.
(safariPath): Ditto.
(appleApplicationSupportPath): Get rid of 64-bit Windows hack.
(setPathForRunningWebKitApp): Get rid of unused SafariPath
argument for Windows runs.

12:57 PM Changeset in webkit [173218] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Improper release of unretained AVCFAssetResourceLoaderRef
https://bugs.webkit.org/show_bug.cgi?id=136493
<rdar://problem/18112559>

Reviewed by Eric Carlson.

Don't bother wrapping the return value of AVCFURLAssetGetResourceLoader in a
RetainPtr. We don't hold onto this value or want to control its lifetime; we just
want to pass it to the AVCFAssetResourceLoaderSetCallbacks function.

Use of the RetainPtr created a double-release and crash.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::createAssetForURL):

12:26 PM Changeset in webkit [173217] by hyatt@apple.com
  • 22 edits
    15 adds in trunk

Add support for the initial-letter CSS property to first-letter
https://bugs.webkit.org/show_bug.cgi?id=136484

Reviewed by Dean Jackson.
Source/WebCore:


New tests in fast/css-generated-content/initial-letter-*.html

This patch add support for the CSS initial-letter property, enabling
better drop caps support in WebKit. Letters size to a specified number of
paragraph lines, and align to the cap-height of the first line and the baseline
of the last line.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):
Add -webkit-initial-letter to the list.

  • css/CSSLineBoxContainValue.cpp:

(WebCore::CSSLineBoxContainValue::customCSSText):

  • css/CSSLineBoxContainValue.h:

Add support for a new value of line-box-contain, initial-letter, that causes
lines to use cap-height above the baseline and the glyph bounds below the
baseline.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
Add support for parsing of initial-letter.

(WebCore::CSSParser::parseLineBoxContain):
Add the new line-box-contain value for first-letters with initial-letter set.

  • css/CSSPropertyNames.in:

Add the new initial-letter property.

  • css/CSSValueKeywords.in:

Add the new initial-letter line-box-contain value.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
Map initial-letter into the RenderStyle.

  • platform/graphics/FontMetrics.h:

(WebCore::FontMetrics::hasCapHeight):
(WebCore::FontMetrics::floatCapHeight):
(WebCore::FontMetrics::setCapHeight):
(WebCore::FontMetrics::capHeight):

  • platform/graphics/ios/SimpleFontDataIOS.mm:

(WebCore::SimpleFontData::platformInit):

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformInit):
Add support for cap-height to the font system. iOS and Mac have been patched.
Other platforms will need to add support for cap-height to get this feature.
hasCapHeight() will return false for unsupported platforms for graceful
degradation.

  • rendering/RenderBlock.cpp:

(WebCore::styleForFirstLetter):
Modified to check for initialLetterDrop/Height and to adjust the style
accordingly (e.g., to apply float when needed).

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
Code to adjust the float's position and margin to do cap-height alignment
and sunken letters.

  • rendering/RenderBlockFlow.h:

Remove the const from computeLogicalLocationForFloat, since the margin of the
float can now be modified dynamically for sunken first-letters.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::ascentAndDescentForBox):
Add support for initial-letter line-box-contain value.

  • rendering/RootInlineBox.h:

Add the includeInitialLetterForBox method to support the new line-box-contain value.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout):

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h:

Normal maintenance stuff for addition of a new CSS property (making sure it is diffed
properly for layout changes and copied on assignment, etc.)

LayoutTests:

  • fast/css-generated-content/initial-letter-basic.html: Added.
  • fast/css-generated-content/initial-letter-border-padding.html: Added.
  • fast/css-generated-content/initial-letter-descender.html: Added.
  • fast/css-generated-content/initial-letter-raised.html: Added.
  • fast/css-generated-content/initial-letter-sunken.html: Added.
  • platform/mac/fast/css-generated-content/initial-letter-basic-expected.png: Added.
  • platform/mac/fast/css-generated-content/initial-letter-basic-expected.txt: Added.
  • platform/mac/fast/css-generated-content/initial-letter-border-padding-expected.png: Added.
  • platform/mac/fast/css-generated-content/initial-letter-border-padding-expected.txt: Added.
  • platform/mac/fast/css-generated-content/initial-letter-descender-expected.png: Added.
  • platform/mac/fast/css-generated-content/initial-letter-descender-expected.txt: Added.
  • platform/mac/fast/css-generated-content/initial-letter-raised-expected.png: Added.
  • platform/mac/fast/css-generated-content/initial-letter-raised-expected.txt: Added.
  • platform/mac/fast/css-generated-content/initial-letter-sunken-expected.png: Added.
  • platform/mac/fast/css-generated-content/initial-letter-sunken-expected.txt: Added.
12:22 PM Changeset in webkit [173216] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Prevent double-release on AVCFURLAssetRef
https://bugs.webkit.org/show_bug.cgi?id=136492
<rdar://problem/18206746>

Reviewed by Eric Carlson.

The AVFWrapper::setAsset method needs to retain the passed argument, since it
originates from AVCFPlayerItemGetAsset, which does not increment the
reference count of its return value as expected by Cocoa Get/Create/Copy
semantics.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::setAsset): Retain the passed argument.

12:17 PM Changeset in webkit [173215] by mitz@apple.com
  • 13 edits in trunk/Source

Get rid of HIGH_DPI_CANVAS leftovers
https://bugs.webkit.org/show_bug.cgi?id=136491

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Removed definition of ENABLE_HIGH_DPI_CANVAS

and removed it from FEATURE_DEFINES.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Removed definition of ENABLE_HIGH_DPI_CANVAS

and removed it from FEATURE_DEFINES.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::targetDeviceScaleFactor): Removed #if ENABLE(HIGH_DPI_CANVAS)
code.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Removed definition of ENABLE_HIGH_DPI_CANVAS

and removed it from FEATURE_DEFINES.

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Removed definition of ENABLE_HIGH_DPI_CANVAS

and removed it from FEATURE_DEFINES.

Source/WTF:

  • wtf/FeatureDefines.h: Removed definition of ENABLE_HIGH_DPI_CANVAS.
11:58 AM Changeset in webkit [173214] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

CallEdgeProfile::visitWeak() should gracefully handle the case where primaryCallee duplicates an entry in otherCallees
https://bugs.webkit.org/show_bug.cgi?id=136490

Reviewed by Geoffrey Garen.

  • bytecode/CallEdgeProfile.cpp:

(JSC::CallEdgeProfile::visitWeak):

11:50 AM Changeset in webkit [173213] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

FTL In implementation sets callReturnLocation incorrectly leading to crashes beneath repatchCall()
https://bugs.webkit.org/show_bug.cgi?id=136488

Reviewed by Mark Hahnenberg.

  • ftl/FTLCompile.cpp:

(JSC::FTL::generateCheckInICFastPath): The call is in the slow path.

  • tests/stress/ftl-in-overflow.js: Added. This used to crash with 100% with FTL enabled.

(foo):

11:42 AM Changeset in webkit [173212] by commit-queue@webkit.org
  • 32 edits in trunk/Source/WebCore

Use StringBuilder append(char) and appendLiteral in more places
https://bugs.webkit.org/show_bug.cgi?id=136470

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-03
Reviewed by Andreas Kling.

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::loggingString):

  • Modules/websockets/WebSocket.cpp:

(WebCore::encodeProtocolString):

  • Modules/websockets/WebSocketExtensionDispatcher.cpp:

(WebCore::WebSocketExtensionDispatcher::createHeaderValue):
(WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::clientLocation):
(WebCore::WebSocketHandshake::clientHandshakeMessage):

  • css/CSSCalculationValue.cpp:

(WebCore::buildCssText):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::cssText):

  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::cssText):

  • css/CSSSelectorList.cpp:

(WebCore::CSSSelectorList::selectorsText):

  • css/CSSSupportsRule.cpp:

(WebCore::CSSSupportsRule::cssText):

  • css/MediaQuery.cpp:

(WebCore::MediaQuery::serialize):

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::generateUniquePrefix):

  • editing/markup.cpp:

(WebCore::urlToMarkup):

  • fileapi/FileReaderLoader.cpp:

(WebCore::FileReaderLoader::convertToDataURL):

  • html/EmailInputType.cpp:

(WebCore::EmailInputType::sanitizeValue):

  • html/FormController.cpp:

(WebCore::recordFormStructure):

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::buildConsoleError):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::collectCueText):

  • mathml/MathMLMencloseElement.cpp:

(WebCore::MathMLMencloseElement::longDivLeftPadding):

  • page/PageSerializer.cpp:

(WebCore::SerializerMarkupAccumulator::appendElement):

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::toRawString):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::synchronousScrollingReasonsAsText):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::logThreadedScrollingMode):

  • platform/PODInterval.h:

(WebCore::PODInterval::toString):

  • platform/PODRedBlackTree.h:

(WebCore::PODRedBlackTree::dumpFromNode):

  • platform/UUID.cpp:

(WebCore::createCanonicalUUIDString):

  • platform/network/ProxyServer.cpp:

(WebCore::appendProxyServerString):
(WebCore::toString):

  • platform/text/DateTimeFormat.cpp:

(WebCore::DateTimeFormat::quoteAndAppendLiteral):

  • platform/text/PlatformLocale.cpp:

(WebCore::DateTimeStringBuilder::zeroPadString):
(WebCore::Locale::convertFromLocalizedNumber):

  • platform/text/TextStream.cpp:

(WebCore::TextStream::operator<<):

  • rendering/RenderListMarker.cpp:

(WebCore::listMarkerText):

  • testing/Internals.cpp:

(WebCore::Internals::parserMetaData):
(WebCore::Internals::getCurrentCursorInfo):

10:57 AM Changeset in webkit [173211] by dburkart@apple.com
  • 7 edits
    1 add in trunk/Tools

Dashboard should show performance bots.
https://bugs.webkit.org/show_bug.cgi?id=136386

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype._parseData.collectPerfTestResults):
(BuildbotIteration.prototype._parseData):
Support possible performance failures.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotPerformanceQueueView.js:

New QueueView to manage the way we present performance data.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

(BuildbotQueue):
Support new 'performance' and 'performanceTestName' keys.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:

Add performance column to the main page.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(body):
Make sure everything fits on 13 inch screens.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:
10:37 AM Changeset in webkit [173210] by Brent Fulgham
  • 2 edits
    32 deletes in trunk/LayoutTests

[Win] Unreviewed test gardening.

Remove abandoned results for tests that had been converted to reftest.
Also resolve warnings in TestExpectation file.

  • platform/win/TestExpectations:
  • platform/win/ietestcenter/css3/flexbox: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-baseline-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-baseline-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-center-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-center-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-center-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-center-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-end-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-end-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-start-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-start-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-stretch-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-stretch-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-direction-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-direction-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-004-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-004-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-005-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-005-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-004-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-004-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-layout-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-layout-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-layout-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-layout-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-layout-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-layout-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-ordinal-group-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-center-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-center-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-end-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-end-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-justify-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-justify-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-start-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-start-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid: Removed.
  • platform/win/ietestcenter/css3/grid/display-grid-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/display-grid-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/display-grid-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/display-grid-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-column-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-column-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-column-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-column-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-column-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-column-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-columns-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-columns-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-004-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-004-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-005-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-005-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-block-formatting-context-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-block-formatting-context-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-containing-block-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-containing-block-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-containing-block-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-containing-block-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-containing-block-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-containing-block-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-filling-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-filling-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-004-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-004-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-005-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-005-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-006-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-006-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-007-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-007-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-008-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-008-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-009-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-009-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-010-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-010-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-012-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-012-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-013-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-013-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-014-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-014-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-015-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-015-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-negative-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-negative-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-percentage-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-percentage-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/declaring-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/declaring-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/prefix-008-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/prefix-008-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/prefix-009-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/prefix-009-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/qualifiedNames-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/qualifiedNames-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/scope-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/scope-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-016-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-016-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-017-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-017-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-018-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-018-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-019-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-019-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-020-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-020-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-021-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-021-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-022-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-022-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-023-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-023-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/terminology-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/terminology-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/valuesandunits: Removed.
  • platform/win/ietestcenter/css3/valuesandunits/units-000-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/valuesandunits/units-010-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/valuesandunits/units-010-expected.txt: Removed.
  • platform/win/ietestcenter/css3/valuesandunits/units-020-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/valuesandunits/units-020-expected.txt: Removed.
10:26 AM Changeset in webkit [173209] by betravis@adobe.com
  • 5 edits
    2 adds in trunk

[CSS Font Loading] Enable Page Caching
https://bugs.webkit.org/show_bug.cgi?id=136044

Reviewed by Andreas Kling.

Source/WebCore:

Modifying FontLoader to track fonts loaded via the loadFont
method as well as via CSS rules. Fonts loaded via loadFont are
tracked in m_numLoadingFromJS, while fonts loaded via CSS rules
are tracked in m_numLoadingFromCSS. The page is cacheable when no
fonts are currently loading.

Added fast/css/fontloader-page-cache.html

  • css/FontLoader.cpp:

(WebCore::LoadFontCallback::create): Modified to take and store
the number of fonts it will be loading.
(WebCore::LoadFontCallback::createFromParams): Ditto.
(WebCore::LoadFontCallback::familyCount): Getter for number of
fonts loaded via this callback.
(WebCore::LoadFontCallback::LoadFontCallback):
(WebCore::LoadFontCallback::notifyLoaded): Callback the FontLoader
to let it update its count when all the fonts have finished loading.
(WebCore::FontLoader::loadFontDone): Ditto.
(WebCore::FontLoader::FontLoader):
(WebCore::FontLoader::beginFontLoading): Track the number of fonts
loading.
(WebCore::FontLoader::fontLoaded): Ditto.
(WebCore::FontLoader::loadError): Ditto.
(WebCore::FontLoader::loadFont):

  • css/FontLoader.h:

(WebCore::FontLoader::loading):

LayoutTests:

Adding test that loads a font then navigates away and back.
Test must also be disabled while feature is turned off.

  • TestExpectations: Skip test.
  • fast/css/fontloader-page-cache-expected.txt: Added.
  • fast/css/fontloader-page-cache.html: Added.
10:05 AM Changeset in webkit [173208] by barraclough@apple.com
  • 4 edits in trunk/Source/WebCore

Simplify DOMTimer::adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary
https://bugs.webkit.org/show_bug.cgi?id=136402

Reviewed by Andreas Kling.

When the minimum DOM timer interval changes, the Page updates all DOMTimers accordingly.
Updating the fire/repeat interval on TimerBase requires a delta, but in
DOMTimer::adjustMinimumTimerInterval we have the new requested interval. In the case of
timers we can get the current interval to calculate the delta by calling repeatInterval(),
but in the case of one-shot timers neither TimerBase nor DOMTimer have store the interval
that was actually set for the timer (DOMTimer knows the original, unadjusted timer, but
not the actual interval). The way this currently works is that when the minimum interval
changes, Page calls adjustMinimumTimerInterval providing the previous minimum. If the
timer is one-shot, then adjustMinimumTimerInterval will use this to compute the delta
based on what the interval would have been.

We can simplify & unify with the code to throttle interval timers when the nesting
threshold is hit, by instead tracking the current timer interval as a member on DOMTimer &
using this to compute the delta in all cases.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):

  • adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary
  • page/DOMTimer.cpp:

(WebCore::DOMTimer::DOMTimer):

initialize m_currentTimerInterval

(WebCore::DOMTimer::fired):

  • when the nesting level changes (potentially triggering throttling) just call updateTimerIntervalIfNecessary

(WebCore::DOMTimer::updateTimerIntervalIfNecessary):

  • compute delta based on m_currentTimerInterval

(WebCore::DOMTimer::intervalClampedToMinimum):

  • this now always takes m_originalInterval and scriptExecutionContext()->minimumTimerInterval() as its inputs, so remove arguments.

(WebCore::DOMTimer::adjustMinimumTimerInterval): Deleted.

  • adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary
  • page/DOMTimer.h:
    • adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary, added m_currentTimerInterval
9:12 AM Changeset in webkit [173207] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit/win

Unreviewed build fix after r173200.

  • WebView.cpp:

(WebView::setCacheModel): Use appropriate types for cache sizes to be
64-bit clean on CFNetwork compile.

8:34 AM Changeset in webkit [173206] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[XSLT] Make WebKit build when XSLT is disabled
https://bugs.webkit.org/show_bug.cgi?id=136471

Reviewed by Simon Fraser.

Fixes a Clang compiler warning that file-static function WebCore::hasNoStyleInformation is unused.
This function is only called from ENABLE(XSLT)-guarded code. So, add a ENABLE(XSLT)-guard around
WebCore::hasNoStyleInformation().

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::hasNoStyleInformation):

7:15 AM Changeset in webkit [173205] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Don't generate superfluous mov instructions for move immediate on ARM64.
https://bugs.webkit.org/show_bug.cgi?id=136435

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-09-03
Reviewed by Michael Saboff.

On ARM64, the size of an immediate operand for a mov instruction is 16
bits. Thus, a move immediate offlineasm instruction may potentially be
split up to several machine level instructions. The current
implementation always emits a mov for the least significant 16 bits of
the value. However, if any of the bits 63:16 are significant then the
first emitted mov already filled bits 15:0 with zeroes (or ones, for
negative values). So, if bits 15:0 of the value are all zeroes (or ones)
then the last mov does not need to be emitted.

  • offlineasm/arm64.rb:
5:45 AM Changeset in webkit [173204] by Lucas Forschler
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

5:39 AM Changeset in webkit [173203] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.18

New Tag.

5:20 AM Changeset in webkit [173202] by Lucas Forschler
  • 1 delete in tags/Safari-600.1.18

Remove Tag.

12:26 AM Changeset in webkit [173201] by zandobersek@gmail.com
  • 5 edits
    1 add in trunk

GMainLoopSource is exposed to race conditions
https://bugs.webkit.org/show_bug.cgi?id=135800

Reviewed by Carlos Garcia Campos.

Source/WTF:

GMainLoopSource objects can be dispatching tasks on one thread
while having a new task scheduled on a different thread. This
can for instance occur in WebKitVideoSink, where the timeout
callback can be called on main thread while at the same time
it is being rescheduled on a different thread (created through
GStreamer).

The initial solution is to use GMutex to prevent parallel data
access from different threads. In the future I plan to add better
assertions, some meaningful comments and look at the possibility
of creating thread-specific GMainLoopSource objects that wouldn't
require the use of GMutex.

GSource, GCancellable and std::function<> objects are now packed
into an internal Context structure. Using the C++11 move semantics
it's simple to, at the time of dispatch, move the current context
out of the GMainLoopSource object in case the dispatch causes a
rescheduling on that same object.

All the schedule*() methods and the cancelInternal() method callers
now lock the GMutex to ensure no one else is accessing the data at
that moment. Similar goes for the dispatch methods, but those do
the dispatch and possible destruction duties with the mutex unlocked.
The dispatch can cause rescheduling on the same GMainLoopSource object,
which must not be done with a locked mutex.

  • wtf/gobject/GMainLoopSource.cpp:

(WTF::GMainLoopSource::GMainLoopSource):
(WTF::GMainLoopSource::~GMainLoopSource):
(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::cancelInternal):
(WTF::GMainLoopSource::scheduleIdleSource):
(WTF::GMainLoopSource::schedule):
(WTF::GMainLoopSource::scheduleTimeoutSource):
(WTF::GMainLoopSource::scheduleAfterDelay):
(WTF::GMainLoopSource::voidCallback):
(WTF::GMainLoopSource::boolCallback):
(WTF::GMainLoopSource::socketCallback):
(WTF::GMainLoopSource::destroy):
(WTF::GMainLoopSource::reset): Deleted.

  • wtf/gobject/GMainLoopSource.h:

Tools:

Add a unit test for GMainLoopSource that tests different
types of rescheduling tasks on already-active sources.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/Tests/WTF/gobject/GMainLoopSource.cpp: Added.

(GMainLoopSourceTest::GMainLoopSourceTest):
(GMainLoopSourceTest::~GMainLoopSourceTest):
(GMainLoopSourceTest::runLoop):
(GMainLoopSourceTest::finish):
(GMainLoopSourceTest::source):
(testGMainLoopSourceBasicRescheduling):
(testGMainLoopSourceReentrantRescheduling):
(testGMainLoopSourceDifferentThreadRescheduling):
(beforeAll):
(afterAll):
(TestWebKitAPI::GMainLoopSourceTest::GMainLoopSourceTest):
(TestWebKitAPI::GMainLoopSourceTest::~GMainLoopSourceTest):
(TestWebKitAPI::GMainLoopSourceTest::runLoop):
(TestWebKitAPI::GMainLoopSourceTest::finish):
(TestWebKitAPI::GMainLoopSourceTest::source):
(TestWebKitAPI::TEST):

Sep 2, 2014:

11:04 PM Changeset in webkit [173200] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/win

[WinCairo] Memory cache capacity is not set.
https://bugs.webkit.org/show_bug.cgi?id=136432

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-09-02
Reviewed by Alex Christensen.

Reuse code from AppleWin to set memory and disk cache capacity.

  • WebKitSystemBits.cpp:

(WebVolumeFreeSize):

  • WebKitSystemBits.h:
  • WebView.cpp:

(WebView::setCacheModel):

9:58 PM Changeset in webkit [173199] by Brian Burg
  • 21 edits in trunk

LegacyProfiler: remove redundant ProfileNode members and other cleanup
https://bugs.webkit.org/show_bug.cgi?id=136380

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

ProfileNode's selfTime and totalTime members are redundant and only used
for dumping profile data from debug-only code. Remove the members and compute
the same data on-demand when necessary using a postorder traversal functor.

Remove ProfileNode.head since it is only used to calculate percentages for
dumped profile data. This can be explicitly passed around when needed.

Rename Profile.head to Profile.rootNode, and other various renamings.

Rearrange some header includes so that touching LegacyProfiler-related headers
will no longer cause a full rebuild.

  • inspector/JSConsoleClient.cpp: Add header include.
  • inspector/agents/InspectorProfilerAgent.cpp:

(Inspector::InspectorProfilerAgent::buildProfileInspectorObject):

  • inspector/protocol/Profiler.json: Remove unused Profile.idleTime member.
  • jit/JIT.h: Remove header include.
  • jit/JITCode.h: Remove header include.
  • jit/JITOperations.cpp: Sort and add header include.
  • llint/LLIntSlowPaths.cpp: Sort and add header include.
  • profiler/Profile.cpp: Rename the debug dumping functions. Move the node

postorder traversal code to ProfileNode so we can traverse any subtree.
(JSC::Profile::Profile):
(JSC::Profile::debugPrint):
(JSC::Profile::debugPrintSampleStyle):
(JSC::Profile::forEach): Deleted.
(JSC::Profile::debugPrintData): Deleted.
(JSC::Profile::debugPrintDataSampleStyle): Deleted.

  • profiler/Profile.h:
  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::ProfileGenerator):
(JSC::AddParentForConsoleStartFunctor::AddParentForConsoleStartFunctor):
(JSC::AddParentForConsoleStartFunctor::operator()):
(JSC::ProfileGenerator::addParentForConsoleStart):
(JSC::ProfileGenerator::didExecute):
(JSC::StopProfilingFunctor::operator()):
(JSC::ProfileGenerator::stopProfiling):
(JSC::ProfileGenerator::removeProfileStart):
(JSC::ProfileGenerator::removeProfileEnd):

  • profiler/ProfileGenerator.h:
  • profiler/ProfileNode.cpp:

(JSC::ProfileNode::ProfileNode):
(JSC::ProfileNode::willExecute):
(JSC::ProfileNode::removeChild):
(JSC::ProfileNode::stopProfiling):
(JSC::ProfileNode::endAndRecordCall):
(JSC::ProfileNode::debugPrint):
(JSC::ProfileNode::debugPrintSampleStyle):
(JSC::ProfileNode::debugPrintRecursively):
(JSC::ProfileNode::debugPrintSampleStyleRecursively):
(JSC::ProfileNode::debugPrintData): Deleted.
(JSC::ProfileNode::debugPrintDataSampleStyle): Deleted.

  • profiler/ProfileNode.h: Calculate per-node self and total times using a postorder traversal.

The forEachNodePostorder functor traverses the subtree rooted at |this|.
(JSC::ProfileNode::create):
(JSC::ProfileNode::calls):
(JSC::ProfileNode::forEachNodePostorder):
(JSC::CalculateProfileSubtreeDataFunctor::returnValue):
(JSC::CalculateProfileSubtreeDataFunctor::operator()):
(JSC::ProfileNode::head): Deleted.
(JSC::ProfileNode::setHead): Deleted.
(JSC::ProfileNode::totalTime): Deleted.
(JSC::ProfileNode::setTotalTime): Deleted.
(JSC::ProfileNode::selfTime): Deleted.
(JSC::ProfileNode::setSelfTime): Deleted.
(JSC::ProfileNode::totalPercent): Deleted.
(JSC::ProfileNode::selfPercent): Deleted.

  • runtime/ConsoleClient.h: Remove header include.

Source/WebCore:

Remove Profile.idleTime, rename head to rootNode, and remove ProfileNode members.

Covered by existing tests.

  • inspector/ScriptProfile.idl:
  • inspector/ScriptProfileNode.idl:
  • inspector/TimelineRecordFactory.cpp:

Source/WebInspectorUI:

Remove unused Profile.idleTime member.

  • UserInterface/Models/Profile.js:

(WebInspector.Profile.prototype.get idleTime): Deleted.

  • UserInterface/Models/ScriptTimelineRecord.js:

(WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):

LayoutTests:

Renamed Profile.head to Profile.rootNode.

  • fast/profiler/resources/profiler-test-JS-resources.js:

(printHeavyProfilesDataWithoutTime):
(printProfilesDataWithoutTime):

8:17 PM Changeset in webkit [173198] by Brian Burg
  • 30 edits
    25 deletes in trunk/Source

Web Inspector: remove ProfilerAgent and legacy profiler files in the frontend
https://bugs.webkit.org/show_bug.cgi?id=136462

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

It's not used by the frontend anymore.

  • inspector/JSConsoleClient.cpp:

(Inspector::JSConsoleClient::JSConsoleClient): Stub out console.profile/profileEnd
methods since they didn't work for JSContexts anyway.
(Inspector::JSConsoleClient::profile):
(Inspector::JSConsoleClient::profileEnd):

  • inspector/JSConsoleClient.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):

  • inspector/agents/InspectorProfilerAgent.cpp: Removed.
  • inspector/agents/InspectorProfilerAgent.h: Removed.
  • inspector/agents/JSGlobalObjectProfilerAgent.cpp: Removed.
  • inspector/agents/JSGlobalObjectProfilerAgent.h: Removed.
  • inspector/protocol/Profiler.json: Removed.

Source/WebCore:

It's not used by the frontend anymore.

No new tests, no behavior changed.

  • CMakeLists.txt:
  • ForwardingHeaders/inspector/agents/InspectorProfilerAgent.h: Removed.
  • WebCore.order:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorAllInOne.cpp:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorController.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didCommitLoadImpl):

  • inspector/InstrumentingAgents.cpp:

(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):

  • inspector/InstrumentingAgents.h:

(WebCore::InstrumentingAgents::inspectorProfilerAgent): Deleted.
(WebCore::InstrumentingAgents::setInspectorProfilerAgent): Deleted.

  • inspector/PageProfilerAgent.cpp: Removed.
  • inspector/PageProfilerAgent.h: Removed.
  • inspector/TimelineRecordFactory.cpp: Moved these builders to their only callsite.

(WebCore::buildInspectorObject):
(WebCore::buildProfileInspectorObject):
(WebCore::TimelineRecordFactory::appendProfile):

  • inspector/WebProfilerAgent.cpp: Removed.
  • inspector/WebProfilerAgent.h: Removed.
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):

  • inspector/WorkerProfilerAgent.cpp: Removed.
  • inspector/WorkerProfilerAgent.h: Removed.
  • inspector/protocol/Timeline.json:

Source/WebInspectorUI:

The legacy profiler manager didn't do anything, and its views and models
have been superseded by new views and models based on the Timeline classes.

  • .eslintrc:
  • UserInterface/Base/Main.js:

(WebInspector.loaded):
(WebInspector.openURL): Remove profile URL handling code.

  • UserInterface/Controllers/LegacyProfileManager.js: Removed.
  • UserInterface/Main.html:
  • UserInterface/Protocol/ConsoleObserver.js:

(WebInspector.ConsoleObserver.prototype.messageAdded):

  • UserInterface/Protocol/InspectorFrontendAPI.js:

(InspectorFrontendAPI.isProfilingJavaScript): Deleted.
(InspectorFrontendAPI.startProfilingJavaScript): Deleted.
(InspectorFrontendAPI.stopProfilingJavaScript): Deleted.

  • UserInterface/Protocol/LegacyProfilerObserver.js: Removed.
  • UserInterface/Views/LegacyBottomUpProfileDataGridTree.js: Removed.
  • UserInterface/Views/LegacyJavaScriptProfileObject.js: Removed.
  • UserInterface/Views/LegacyJavaScriptProfileType.js: Removed.
  • UserInterface/Views/LegacyJavaScriptProfileView.css: Removed.
  • UserInterface/Views/LegacyJavaScriptProfileView.js: Removed.
  • UserInterface/Views/LegacyProfileDataGridTree.js: Removed.
  • UserInterface/Views/LegacyProfileObject.js: Removed.
  • UserInterface/Views/LegacyProfileType.js: Removed.
  • UserInterface/Views/LegacyProfileView.css: Removed.
  • UserInterface/Views/LegacyProfileView.js: Removed.
  • UserInterface/Views/LegacyTopDownProfileDataGridTree.js: Removed.
6:28 PM Changeset in webkit [173197] by jer.noble@apple.com
  • 16 edits
    1 copy
    1 add in trunk/Source/WebCore

[EME][Mac] Refactor CDMPrivateMediaSourceAVFObjC to allow sessions to be created without being attached to an AVStreamDataParser.
https://bugs.webkit.org/show_bug.cgi?id=136016

Reviewed by Eric Carlson.

The CDMPrivateMediaPlayer class will delegate creation of CDMSession instances to the current MediaPlayer. This
of course requires the MediaKeys object owning the CDM to be attached to a HTMLMediaElement, and specifically to
one with a valid src attribute or source node which has sucessfully begun loading. For certain CDM operations,
it would be better if a given MediaKeys could create a session without actually being connected to a
HTMLMediaElement (yet).

To facilitate this for CDMSessionPrivateMediaSourceAVFObjC, add a new class, CDMPrivateMediaSourceAVFObjC, which
is the primary factory for CDMSessionPrivateMediaSOurceAVFObjC. Disclaim responsibility for creating these sessions
in MediaPlayerPrivateMediaSourceAVFObjC by not passing the "supportsKeySystem" method when registering itself.

Add methods to CDMSessionPrivateMediaSourceAVFObjC to allow SourceBuffers to be added and removed from the session,
to support adding the session to the HTMLMediaElement after the session has been created.

Since MediaPlayerPrivate instance and CDMSession instances must be able to communicate with one another, add a type()
enum and virtual method to allow CDMSession instnaces to be distinguisted from (and casted to) one another.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::installedCDMFactories): Register CDMPrivateMediaSourceAVFObjC.
(WebCore::CDM::createSession): Notify the MediaPlayer of the new CDMSession.

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::setMediaElement): Notify the HTMLMediaElement of any existing sessions.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/CDMSession.h:

(WebCore::CDMSession::type): Added.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::setCDMSession): Pass through to the MediaPlayerPrivate.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::setCDMSession): Added. Default no-op.

  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.h: Added.

(WebCore::CDMPrivateMediaSourceAVFObjC::CDMPrivateMediaSourceAVFObjC): Simple constructor.
(WebCore::CDMPrivateMediaSourceAVFObjC::~CDMPrivateMediaSourceAVFObjC): Simple destructor.
(WebCore::CDMPrivateMediaSourceAVFObjC::create): Simple factory.
(WebCore::CDMPrivateMediaSourceAVFObjC::cdm): Simple accessor.

  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:

(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystem): Moved from MediaPlayerPrivateMediaSourceAVFObjC.
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystemAndMimeType): Ditto.
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsMIMEType): Ditto.
(WebCore::CDMPrivateMediaSourceAVFObjC::createSession): Returns new CDMSessionMediaSourceAVFObjC.

  • platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:

(WebCore::CDMSessionAVFoundationObjC::type): Added.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:

(WebCore::CDMSessionMediaSourceAVFObjC::type): Added.
(WebCore::toCDMSessionMediaSourceAVFObjC): Throw assertion if type() is not correct.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:

(WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC): Removed m_parent ivar.
(WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC): Ditto.
(WebCore::CDMSessionMediaSourceAVFObjC::update): Determing which SourceBuffer is protected.
(WebCore::CDMSessionMediaSourceAVFObjC::addSourceBuffer): Added.
(WebCore::CDMSessionMediaSourceAVFObjC::removeSourceBuffer): Added.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine): Remove supportsKeyType parameter.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType): Remove keyType check.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession): Tell the CDMSession about outstanding SourceBuffers.

  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
5:51 PM Changeset in webkit [173196] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[Win] Attempt to fix the Windows build after <http://trac.webkit.org/changeset/173192>
(https://bugs.webkit.org/show_bug.cgi?id=136467)

Declare ResourceHandleClient::connectionProperties() when building for iOS or when USE(CFNETWORK).

  • platform/network/ResourceHandleClient.h:
5:46 PM Changeset in webkit [173195] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.11-branch/Source

Versioning.

5:43 PM Changeset in webkit [173194] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.11.4

New tag.

5:25 PM Changeset in webkit [173193] by Gustavo Noronha Silva
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK] Updated German translation
https://bugs.webkit.org/show_bug.cgi?id=135956

Patch by Christian Stadelmann <gnome-de@genodeftest.de> on 2014-09-02
Reviewed by Gustavo Noronha.

  • de.po: updated.
5:14 PM Changeset in webkit [173192] by dbates@webkit.org
  • 14 edits
    2 copies in trunk/Source

[iOS] Support using Foundation networking code
https://bugs.webkit.org/show_bug.cgi?id=136467

Reviewed by Pratik Solanki.

Source/WebCore:

We should support building iOS WebKit with the Foundation networking code
(i.e. !USE(CFNETWORK)).

Additionally, disable USE(CFNETWORK) and use the Foundation networking code
by default when building iOS WebKit without the Apple Internal SDK.

  • Configurations/WebCore.xcconfig: Remove file WebCoreURLResponse.mm from the list of excluded files

so that we compile an implementation for function WebCore::synthesizeRedirectResponseIfNecessary when
building without USE(CFNETWORK).

  • WebCore.exp.in: Add symbols for WebCore::synthesizeRedirectResponseIfNecessary() and WebCore::ResourceHandleClient::willCacheResponseAsync().
  • WebCore.xcodeproj/project.pbxproj: Add new files CFNetworkConnectionCacheSPI.h and CFURLRequestSPI.h.

Also move group platform/spi such that it appears in alphabetical order in the platform group.

  • platform/cf/URLCF.cpp: Remove unnecessary header <CoreFoundation/CFPriv.h>.
  • platform/network/ResourceHandle.h: Declare iOS-specific variant of ResourceHandle::createNSURLConnection().
  • platform/network/ResourceHandleClient.h: Always include header <wtf/RetainPtr.h> when building for iOS.

(WebCore::ResourceHandleClient::connectionProperties): Add PLATFORM(IOS)-guard around declaration.

  • platform/network/cf/ResourceRequestCFNet.cpp: Substitute header CFNetworkConnectionCacheSPI.h for

<CFNetwork/CFNetworkConnectionCachePriv.h>.

  • platform/network/mac/CredentialStorageMac.mm:

(WebCore::CredentialStorage::saveToPersistentStorage): Use Credential::nsCredential() and ProtectionSpace::nsSpace()
instead of WebCore::mac(const {Credential, ProtectionSpace}&) as the latter were removed in <http://trac.webkit.org/changeset/171801>
and <http://trac.webkit.org/changeset/171540>, respectively.

  • platform/network/mac/ResourceErrorMac.mm: Add USE(CFNETWORK)-guard around <CFNetwork/CFSocketStreamPriv.h>.
  • platform/network/mac/ResourceHandleMac.mm: Substitute header CFURLRequestSPI.h for <CFNetwork/CFURLRequest.h>.

(WebCore::ResourceHandle::start): Modified to use ResourceHandle::makeDelegate() instead of d->m_proxy, which
was removed in <http://trac.webkit.org/changeset/147476>.
(WebCore::ResourceHandle::platformLoadResourceSynchronously): Ditto.

  • platform/network/mac/WebCoreURLResponse.mm:

(WebCore::synthesizeRedirectResponseIfNecessary): Add !USE(CFNETWORK)- and PLATFORM(IOS)- guards.

  • platform/spi/cf/CFNetworkConnectionCacheSPI.h: Added.
  • platform/spi/cf/CFURLRequestSPI.h: Added.

Source/WTF:

Disable USE(CFNETWORK) and use the Foundation networking code by default when building
iOS WebKit without the Apple Internal SDK.

  • wtf/Platform.h:
4:09 PM Changeset in webkit [173191] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Pass the resource identifier in willSendRequest callback.
https://bugs.webkit.org/show_bug.cgi?id=136325

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-09-02
Reviewed by Dan Bernstein.

Add two new delegate methods webProcessPlugInBrowserContextController:frame:willSendRequestForResource:request:redirectResponse:
and webProcessPlugInBrowserContextController:frame:didInitiateLoadForResource:request:pageIsProvisionallyLoading:. We will remove
the old willSendRequest and didInitiateLoadForResource when clients adopt the new methods.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(willSendRequestForFrame):
(didInitiateLoadForResource):

3:47 PM Changeset in webkit [173190] by mmaxfield@apple.com
  • 5 edits in trunk/Source/WebCore

Use references in public EventSender functions
https://bugs.webkit.org/show_bug.cgi?id=136463

Reviewed by Dan Bates.

Passing nullptr to EventSender shouldn't be allowed.

No new tests because there is no behavior change.

  • dom/EventSender.h:

(WebCore::EventSender::hasPendingEvents):
(WebCore::EventSender<T>::dispatchEventSoon):
(WebCore::EventSender<T>::cancelEvent):
(WebCore::EventSender<T>::dispatchPendingEvents):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::~HTMLLinkElement):
(WebCore::HTMLLinkElement::notifyLoadedSheetAndAllCriticalSubresources):

  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::~HTMLStyleElement):
(WebCore::HTMLStyleElement::notifyLoadedSheetAndAllCriticalSubresources):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::~ImageLoader):
(WebCore::ImageLoader::setImageWithoutConsideringPendingLoadEvent):
(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):

3:45 PM Changeset in webkit [173189] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] Exclude touch and gesture files when building without ENABLE_TOUCH_EVENTS
and ENABLE_IOS_GESTURE_EVENTS, respectively
https://bugs.webkit.org/show_bug.cgi?id=136456

Reviewed by Andy Estes.

It's sufficient to exclude the touch and gesture files when building without
ENABLE_TOUCH_EVENTS and ENABLE_IOS_GESTURE_EVENTS, respectively. Currently we
exclude these files when building without the Apple Internal SDK, which is
heavy handed.

  • Configurations/WebCore.xcconfig:
3:29 PM Changeset in webkit [173188] by akling@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Optimize own property GetByVals with rope string subscripts.
<https://webkit.org/b/136458>

For simple JSObjects that don't override getOwnPropertySlot to implement
custom properties, we have a fast path that grabs directly at the object
property storage.

Make this fast path even faster when the property name is an unresolved
rope string by using JSString::toExistingAtomicString(). This is faster
because it avoids allocating a new StringImpl if the string is already
a known Identifier, which is guaranteed to be the case if it's present
as an own property on the object.)

~10% speed-up on Dromaeo/dom-attr.html

Reviewed by Geoffrey Garen.

  • dfg/DFGOperations.cpp:
  • jit/JITOperations.cpp:

(JSC::getByVal):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::getByVal):

When using the fastGetOwnProperty() optimization, get the String
out of JSString by using toExistingAtomicString(). This avoids
StringImpl allocation and lets us bypass the PropertyTable lookup
entirely if no AtomicString is found.

  • runtime/JSCell.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::fastGetOwnProperty):

Make fastGetOwnProperty() take a PropertyName instead of a String.
This avoids churning the ref count, since we don't need to create
a temporary wrapper around the AtomicStringImpl* found in GetByVal.

  • runtime/PropertyName.h:

(JSC::PropertyName::PropertyName):

Add constructor: PropertyName(AtomicStringImpl*)

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyTable::get):
(JSC::PropertyTable::findWithString): Deleted.

  • runtime/Structure.h:
  • runtime/StructureInlines.h:

(JSC::Structure::get):

Remove code for querying a PropertyTable with an unhashed string key
since the only client is now gone.

2:33 PM Changeset in webkit [173187] by Simon Fraser
  • 2 edits in trunk/Tools

Make sure WK1 prefs are initialized in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=136465

Reviewed by Tim Horton.

Call -didChangeSettings from -awakeFromNib for WK1 windows just as we do
for WK2 windows, to make sure that WebPreferences are updated (to get
layer borders to work consistently).

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController awakeFromNib]):

2:25 PM Changeset in webkit [173186] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix an assertion sometimes seen under RenderLayerCompositor::detachRootLayer()
https://bugs.webkit.org/show_bug.cgi?id=136464

Reviewed by Tim Horton.

Don't try to call RenderLayer::isVisuallyNonEmpty() under RenderLayerCompositor::detachRootLayer()
when layout might be stale; there's not point trying to update the backing store state
when detaching, only when attaching.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):

2:18 PM Changeset in webkit [173185] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.11-branch/Source/WTF

Merged r173036. <rdar://problem/18203609>

1:20 PM Changeset in webkit [173184] by Simon Fraser
  • 3 edits
    4 adds in trunk

Avoid backing store allocation with some combinations of replaced elements, masking and visibility:hidden
https://bugs.webkit.org/show_bug.cgi?id=136400

Reviewed by Tim Horton.
Source/WebCore:

RenderLayer::isVisuallyNonEmpty() would return true for replaced elements (e.g. images)
with visibility:hidden, and for layers with a mask, and both would cause additional
backing store in some cases.

We can move the hasVisibleContent() to the top of the function, since visibility:hidden
will always hide any content of this layer. The hasMask() check can also be removed;
a mask can only mask content that is already visible; it never contributes additional
pixels.

Tests: compositing/backing/masked-child-no-backing.html

compositing/backing/replaced-child-no-backing.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

  • compositing/backing/masked-child-no-backing-expected.txt: Added.
  • compositing/backing/masked-child-no-backing.html: Added.
  • compositing/backing/replaced-child-no-backing-expected.txt: Added.
  • compositing/backing/replaced-child-no-backing.html: Added.
1:14 PM Changeset in webkit [173183] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Use jsNontrivialString for strings we know are more than a single character
https://bugs.webkit.org/show_bug.cgi?id=136393

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-02
Reviewed by Geoffrey Garen.

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::addUsagesToJSON):

12:07 PM Changeset in webkit [173182] by achristensen@apple.com
  • 53 edits in trunk/Source/WebCore

Fix bindings tests after r173176.
https://bugs.webkit.org/show_bug.cgi?id=136460

Reviewed by Simon Fraser.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.h:
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:
  • bindings/scripts/test/JS/JSTestEventTarget.h:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestException.h:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
  • bindings/scripts/test/JS/JSTestNamedConstructor.h:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:
  • bindings/scripts/test/JS/JSTestNondeterministic.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.h:
  • bindings/scripts/test/JS/JSattribute.cpp:
  • bindings/scripts/test/JS/JSattribute.h:
  • bindings/scripts/test/JS/JSreadonly.cpp:
  • bindings/scripts/test/JS/JSreadonly.h:
  • bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h:
  • bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h:
  • bindings/scripts/test/ObjC/DOMTestCallbackInternal.h:
  • bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h:
  • bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h:
  • bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h:
  • bindings/scripts/test/ObjC/DOMTestExceptionInternal.h:
  • bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h:
  • bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h:
  • bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h:
  • bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h:
  • bindings/scripts/test/ObjC/DOMTestNodeInternal.h:
  • bindings/scripts/test/ObjC/DOMTestNondeterministicInternal.h:
  • bindings/scripts/test/ObjC/DOMTestObjInternal.h:
  • bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h:
  • bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h:
  • bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h:
  • bindings/scripts/test/ObjC/DOMattributeInternal.h:
  • bindings/scripts/test/ObjC/DOMreadonlyInternal.h:

Added new WEBCORE_EXPORT macros.

11:30 AM Changeset in webkit [173181] by Simon Fraser
  • 4 edits
    2 adds in trunk

Non-composited child RenderLayers cause allocation of unncessary backing store
https://bugs.webkit.org/show_bug.cgi?id=136375

Reviewed by David Hyatt.

Source/WebCore:

A composited element that has non-composited descendant elements that fall into
RenderLayers was getting backing store when none was required. descendentLayerPaintsIntoAncestor()
was simply checking the "visibility:visible" bit on descendant non-composited layers,
instead of actually asking them if they have any visual content.

Added a couple of FIXME comments.

Test: compositing/backing/child-layer-no-backing.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::descendentLayerPaintsIntoAncestor):

LayoutTests:

Test with a composited div with various configurations of non-composited child layers.

  • compositing/backing/child-layer-no-backing-expected.txt: Added.
  • compositing/backing/child-layer-no-backing.html: Added.
11:25 AM Changeset in webkit [173180] by saambarati1@gmail.com
  • 13 edits
    5 adds in trunk/Source/WebInspectorUI

Web Inspector: Create a UI for displaying JavaScript type information
https://bugs.webkit.org/show_bug.cgi?id=135142

Reviewed by Joseph Pecoraro.

JavaScriptCore now has a type profiler. This patch provides a frontend
user interface for displaying this type information in the Web Inspector.
The user interface works by placing inline "type tokens" next to important
JavaScript expressions: function arguments, function return types, and
variable declarations. Type information can also be seen for almost every
JavaScipt expression just by hovering over it while viewing a JavaScript file.

Currently, turning on the type profiler is expensive, so the inspector
ensures to never turn on type profiling until the user specifically asks
for type information to be turned on.

  • UserInterface/Base/Main.js:

(WebInspector.loaded):

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController.prototype._startTracking):
(WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
Added a new type profiling mode.

  • UserInterface/Controllers/FormatterSourceMap.js:

(WebInspector.FormatterSourceMap.prototype.originalToFormatted):
(WebInspector.FormatterSourceMap.prototype.originalPositionToFormatted):
(WebInspector.FormatterSourceMap.prototype.formattedToOriginal):
(WebInspector.FormatterSourceMap.prototype.formattedToOriginalOffset):

  • UserInterface/Controllers/TypeTokenAnnotator.js: Added.

(WebInspector.TypeTokenAnnotator):
(WebInspector.TypeTokenAnnotator.prototype.get isActive):
(WebInspector.TypeTokenAnnotator.prototype.get sourceCodeTextEditor):
(WebInspector.TypeTokenAnnotator.prototype.pause):
(WebInspector.TypeTokenAnnotator.prototype.resume):
(WebInspector.TypeTokenAnnotator.prototype.refresh):
(WebInspector.TypeTokenAnnotator.prototype.reset):
(WebInspector.TypeTokenAnnotator.prototype.toggleTypeAnnotations):
(WebInspector.TypeTokenAnnotator.prototype._insertAnnotations.):
(WebInspector.TypeTokenAnnotator.prototype._insertTypeTokensForEachNode):
(WebInspector.TypeTokenAnnotator.prototype._insertToken):
(WebInspector.TypeTokenAnnotator.prototype.isLineTerminator):
(WebInspector.TypeTokenAnnotator.prototype._translateToOffsetAfterFunctionParameterList):
(WebInspector.TypeTokenAnnotator.prototype._clearTimeoutIfNeeded):
This class is responsible for producing the inline "type token" annotations.

  • UserInterface/Images/NavigationItemTypes.svg: Added.
  • UserInterface/Main.html:
  • UserInterface/Models/Script.js:

(WebInspector.Script.prototype.get scriptSyntaxTree):

  • UserInterface/Models/ScriptSyntaxTree.js:

(WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
(WebInspector.ScriptSyntaxTree.prototype.):
(WebInspector.ScriptSyntaxTree.prototype.updateTypes):
(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):

  • UserInterface/Views/ScriptContentView.js:

(WebInspector.ScriptContentView):
(WebInspector.ScriptContentView.prototype.get navigationItems):
(WebInspector.ScriptContentView.prototype._contentDidPopulate):
(WebInspector.ScriptContentView.prototype._toggleTypeAnnotations):
(WebInspector.ScriptContentView.prototype._showJavaScriptTypeInformationSettingChanged):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype.shown):
(WebInspector.SourceCodeTextEditor.prototype.hidden):
(WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.showPopoverForTypes):
(WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
(WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
(WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation.handler):
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation):
(WebInspector.SourceCodeTextEditor.prototype._showPopover):
(WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._enableScrollEventsForTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._disableScrollEventsForTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):

  • UserInterface/Views/TextContentView.js:

(WebInspector.TextContentView.prototype.get navigationItems):

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor.prototype.set formatted):
(WebInspector.TextEditor.prototype.canShowTypeAnnotations):
(WebInspector.TextEditor.prototype.visibleRangeOffsets):
(WebInspector.TextEditor.prototype.originalOffsetToCurrentPosition):
(WebInspector.TextEditor.prototype.currentOffsetToCurrentPosition):
(WebInspector.TextEditor.prototype.currentPositionToOriginalOffset):
(WebInspector.TextEditor.prototype.currentPositionToCurrentOffset):
(WebInspector.TextEditor.prototype.setInlineWidget):
(WebInspector.TextEditor.prototype.addScrollHandler):
(WebInspector.TextEditor.prototype.removeScrollHandler):
(WebInspector.TextEditor.prototype._scrollIntoViewCentered):

  • UserInterface/Views/TextResourceContentView.js:

(WebInspector.TextResourceContentView):
(WebInspector.TextResourceContentView.prototype.get navigationItems):
(WebInspector.TextResourceContentView.prototype._contentDidPopulate):
(WebInspector.TextResourceContentView.prototype._toggleTypeAnnotations):
(WebInspector.TextResourceContentView.prototype._showJavaScriptTypeInformationSettingChanged):

  • UserInterface/Views/TypePropertiesSection.js: Added.

(WebInspector.TypePropertiesSection):
(WebInspector.TypePropertiesSection.prototype.onpopulate):
(WebInspector.TypePropertiesSection.PropertyComparator):
(WebInspector.TypePropertyTreeElement):
(WebInspector.TypePropertyTreeElement.prototype.onpopulate):

  • UserInterface/Views/TypeTokenView.css: Added.

(.type-token):
(.type-token-left-spacing):
(.type-token-right-spacing):
(.type-token-function, .type-token-boolean):
(.type-token-number):
(.type-token-string):
(.type-token-default):
(.type-token-empty):
(.type-token-many):

  • UserInterface/Views/TypeTokenView.js: Added.

(WebInspector.TypeTokenView):
(WebInspector.TypeTokenView.titleForPopover):
(WebInspector.TypeTokenView.prototype.update):
(WebInspector.TypeTokenView.prototype._setUpMouseoverHandlers):
(WebInspector.TypeTokenView.prototype._shouldShowPopover):
The inline "type token" view.

10:01 AM Changeset in webkit [173179] by Dániel Bátyai
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] MacroAssembler generating incorrect code on ARM32 Traditional
https://bugs.webkit.org/show_bug.cgi?id=136429

Reviewed by Csaba Osztrogonác.

Changed test32 to use tst to check if reg is zero, instead of cmp.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::test32):

9:52 AM Changeset in webkit [173178] by msaboff@apple.com
  • 5 edits
    2 adds in trunk

Out of bounds write in vmEntryToJavaScript / JSC::JITCode::execute
https://bugs.webkit.org/show_bug.cgi?id=136305

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

While preparing the callee's CallFrame, ProtoCallFrame fixes any arity mismatch
and then JITCode::execute() calls the normal entrypoint. This is incompatible
with the expectation of FTL generated functions. Changed ProtoCallFrame to not
perform the arity fix, but just flag an arity mismatch. now JITCode::execute()
uses that arity mismatch condition to select the normal or arity check
entrypoint. The entrypoint selection is only done for functions, programs
and eval always have one parameter.

  • interpreter/ProtoCallFrame.cpp:

(JSC::ProtoCallFrame::init): Changed to flag arity mismatch instead of fixing it.

  • interpreter/ProtoCallFrame.h:

(JSC::ProtoCallFrame::needArityCheck): New boolean to signify what entrypoint
should be called.

  • jit/JITCode.cpp:

(JSC::JITCode::execute): Select normal or arity check entrypoint as appropriate.

LayoutTests:

  • js/arity-mismatch-at-vmentry-expected.txt: Added.
  • js/arity-mismatch-at-vmentry.html: Added.
9:47 AM Changeset in webkit [173177] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r173175.
https://bugs.webkit.org/show_bug.cgi?id=136454

it broke debug builds (Requested by jessieberlin on #webkit).

Reverted changeset:

"Introduce CSS_BASIC_TYPE_CASTS, and use it"
https://bugs.webkit.org/show_bug.cgi?id=136403
http://trac.webkit.org/changeset/173175

9:28 AM Changeset in webkit [173176] by Darin Adler
  • 56 edits in trunk/Source/WebCore

2014-09-02 Alex Christensen <achristensen@webkit.org>

More use of WEBCORE_EXPORT.

Reviewed by Darin Adler.

These changes from a patch attached to https://bugs.webkit.org/show_bug.cgi?id=136172
contain more deployment of the WEBCORE_EXPORT macro. As of this writing, the macro is
defined to do nothing, so landing these is a harmless way to get closer to be the point
where we can throw the switch to use these instead of explicit export files on OS X,
iOS, and Windows.

  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMWindowBase.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateHeader):

  • bridge/runtime_method.cpp:
  • bridge/runtime_object.cpp:
  • dom/Document.h:
  • dom/Element.h:
  • dom/Position.h:
  • dom/Range.h:
  • dom/StaticNodeList.h:
  • dom/make_names.pl:

(printInit):
(printNamesCppFile):

  • editing/Editor.h:
  • editing/FrameSelection.h:
  • editing/TextIterator.h:
  • inspector/InspectorFrontendClient.h:
  • inspector/InspectorFrontendClientLocal.h:
  • loader/DocumentLoader.h:
  • loader/FrameLoader.h:
  • loader/cache/MemoryCache.h:
  • loader/cocoa/DiskCacheMonitorCocoa.h:
  • loader/mac/LoaderNSURLExtras.h:
  • page/Page.h:
  • page/PageGroup.h:
  • page/SecurityPolicy.h:
  • page/Settings.h:
  • page/make_settings.pl:

(printGetterAndSetter):

  • page/scrolling/ScrollingStateScrollingNode.h:
  • platform/CrossThreadCopier.h:
  • platform/LocalizedStrings.h:
  • platform/MemoryPressureHandler.cpp:
  • platform/PlatformScreen.h:
  • platform/PublicSuffix.h:
  • platform/graphics/Gradient.h:
  • platform/graphics/cocoa/WebActionDisablingCALayerDelegate.h:
  • platform/graphics/filters/FilterOperation.h:
  • platform/ios/WebVideoFullscreenControllerAVKit.h:
  • platform/mac/PlatformEventFactoryMac.h:
  • platform/mac/WebCoreFullScreenPlaceholderView.h:
  • platform/mac/WebCoreFullScreenWindow.h:
  • platform/mac/WebCoreNSStringExtras.h:
  • platform/mac/WebCoreObjCExtras.h:
  • platform/mac/WebFontCache.h:
  • platform/mac/WebVideoFullscreenController.h:
  • platform/mac/WebWindowAnimation.h:
  • platform/network/BlobRegistryImpl.h:
  • platform/network/CredentialStorage.h:
  • platform/network/PlatformCookieJar.h:
  • platform/network/ProxyServer.h:
  • platform/sql/SQLiteStatement.h:
  • platform/text/TextEncoding.h:
  • rendering/HitTestResult.h:
  • rendering/RenderTreeAsText.h:
  • testing/Internals.h:

Add many more correct uses of WEBCORE_EXPORT; remove a few incorrect ones.

9:06 AM Changeset in webkit [173175] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Introduce CSS_BASIC_TYPE_CASTS, and use it
https://bugs.webkit.org/show_bug.cgi?id=136403

Reviewed by Darin Adler.

toCSSBasicFoo() will help to detect wrong type casting. So this patch generates it, and use it
instead of static_cast<const CSSBasicFoo*>().

No new tests no behavior changes.

  • css/BasicShapeFunctions.cpp:

(WebCore::basicShapeForValue):

  • css/CSSBasicShapes.cpp:

(WebCore::CSSBasicShapeCircle::equals):
(WebCore::CSSBasicShapeEllipse::equals):
(WebCore::CSSBasicShapePolygon::equals):
(WebCore::CSSBasicShapeInset::equals):

  • css/CSSBasicShapes.h:
9:03 AM Changeset in webkit [173174] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style should complain about C++ comments in Platform.h
https://bugs.webkit.org/show_bug.cgi?id=133802

Patch by Renato Nagy <rnagy@inf.u-szeged.hu> on 2014-09-02
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_platformh_comments):
(_process_lines):
(CppChecker):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_platformh_comment):

9:00 AM Changeset in webkit [173173] by commit-queue@webkit.org
  • 6 edits
    4 adds in trunk

CachedResourceLoader should check redirections to reuse or not cached resources
https://bugs.webkit.org/show_bug.cgi?id=131757

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-02
Reviewed by Antti Koivisto.

Source/WebCore:

Added cache-control redirection check to properly determine revalidation policy.
Tightened redirection cache-control header check by testing for no-cache and must-revalidate directives.
Added redirection freshness check.

Test: http/tests/cache/cache-redirections.html

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::canReuse): Removed redirection check (now handled by CachedResource::redirectChainAllowsReuse).

  • loader/cache/CachedResource.cpp:

(WebCore::currentAge): Moved from WebCore::CachedResource::currentAge method to static function. Added response and responseTimestamp as parameters.
(WebCore::CachedResource::CachedResource): Initialized redirection chain status (no redirection and expiracy date set to never).
(WebCore::CachedResource::isExpired): Updated according new currentAge/freshnessLifetime method parameters.
(WebCore::CachedResource::freshnessLifetime): Added response as parameter.
(WebCore::CachedResource::willSendRequest): Computes whether a redirection can be cached, and if cached for how long it will remain fresh.
(WebCore::CachedResource::redirectChainAllowsReuse): Return false if any of the redirection in the redirection chain cannot be cached or expired.

  • loader/cache/CachedResource.h: Added cache chain member that stores whether the redirection chain can be cached and if so when it will be expired.
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::determineRevalidationPolicy): Added check of the redirection chain.

LayoutTests:

Added test checks that fresh redirections allow reuse of cached resoure and expired or not cacheable redirections trigger reloading of resources.

  • http/tests/cache/cache-redirections-expected.txt: Added.
  • http/tests/cache/cache-redirections.html: Added.
  • http/tests/cache/resources/cache-control-redirect.php: Added.
  • http/tests/cache/resources/cacheable-random-text.php: Added.
8:54 AM Changeset in webkit [173172] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Prevent decoded images from being destroyed when they're in use.
https://bugs.webkit.org/show_bug.cgi?id=136259.

Patch by Daewoong Jang <daewoong.jang@navercorp.com> on 2014-09-02
Reviewed by Darin Adler.

Try to fix a regression introduced by r172790. Before the patch,
CachedImage does not release its Image object if it still has clients.
However this behavior was changed due to removal of CachedResource::isSafeToMakePurgeable(),
which implied a call to CachedResource::hasClients(). This patch restores
the behavior by adding a check to hasClients() in CachedImage::destroyDecodedData().

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::destroyDecodedData):

8:51 AM Changeset in webkit [173171] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

[WinCairo] testapi.exe is not built.
https://bugs.webkit.org/show_bug.cgi?id=136369

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-09-02
Reviewed by Alex Christensen.

The testapi project should be of type Application.

  • JavaScriptCore.vcxproj/jsc/jscLauncher.vcxproj: Change project type to Application.
  • JavaScriptCore.vcxproj/testRegExp/testRegExpLauncher.vcxproj: Ditto.
  • JavaScriptCore.vcxproj/testapi/testapiCommonCFLite.props: Compile and link fix.
  • JavaScriptCore.vcxproj/testapi/testapiLauncher.vcxproj: Change project type to Application.
3:59 AM Changeset in webkit [173170] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Gtk] Make install-dependencies work on Arch Linux
https://bugs.webkit.org/show_bug.cgi?id=136374

Patch by Brendan Long <self@brendanlong.com> on 2014-09-02
Reviewed by Philippe Normand.

  • gtk/install-dependencies: Add dependencies for pacman (Arch Linux).
1:36 AM Changeset in webkit [173169] by Manuel Rego Casasnovas
  • 1 edit
    4 adds in trunk/LayoutTests

[CSS Grid Layout] Test coverage for first-line pseudo-element
https://bugs.webkit.org/show_bug.cgi?id=135770

Reviewed by Zoltan Horvath.

According to the spec the ::first-line pseudo-element do not apply to
grid containers.

This was already working as expected but we were missing some tests
checking it, so we are adding new tests to have coverage.

  • fast/css-grid-layout/grid-container-ignore-first-line-expected.txt: Added.
  • fast/css-grid-layout/grid-container-ignore-first-line.html: Added.
  • fast/css-grid-layout/grid-item-first-line-valid-expected.txt: Added.
  • fast/css-grid-layout/grid-item-first-line-valid.html: Added.
1:06 AM Changeset in webkit [173168] by Philippe Normand
  • 4 edits in trunk/Source/WebKit2

Unreviewed, GTK build fix after r173163.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::createDrawingAreaProxy):

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
(WebKit::DrawingAreaProxyImpl::update):
(WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
(WebKit::DrawingAreaProxyImpl::incorporateUpdate):
(WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
(WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
(WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
(WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
(WebKit::DrawingAreaProxyImpl::updateAcceleratedCompositingMode):

  • UIProcess/DrawingAreaProxyImpl.h:

Sep 1, 2014:

9:43 PM Changeset in webkit [173167] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the iOS build.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _createDrawingAreaProxy]):
Whoops.

7:05 PM Changeset in webkit [173166] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

Build break on the EFL port since r173163
https://bugs.webkit.org/show_bug.cgi?id=136443

Unreviewed build fix.

Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2014-09-01

  • UIProcess/BackingStore.cpp:

(WebKit::BackingStore::BackingStore):

  • UIProcess/BackingStore.h:
  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:

(WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy):
(WebKit::CoordinatedDrawingAreaProxy::updateViewport):
(WebKit::CoordinatedDrawingAreaProxy::contentsRect):
(WebKit::CoordinatedDrawingAreaProxy::update):
(WebKit::CoordinatedDrawingAreaProxy::didUpdateBackingStoreState):
(WebKit::CoordinatedDrawingAreaProxy::incorporateUpdate):
(WebKit::CoordinatedDrawingAreaProxy::sendUpdateBackingStoreState):
(WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
(WebKit::CoordinatedDrawingAreaProxy::enterAcceleratedCompositingMode):
(WebKit::CoordinatedDrawingAreaProxy::exitAcceleratedCompositingMode):
(WebKit::CoordinatedDrawingAreaProxy::updateAcceleratedCompositingMode):

  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:

(WebKit::CoordinatedDrawingAreaProxy::page):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
(WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
(WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHostProxy::renderNextFrame):
(WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
(WebKit::CoordinatedLayerTreeHostProxy::commitScrollOffset):

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::createDrawingAreaProxy):

  • UIProcess/cairo/BackingStoreCairo.cpp:

(WebKit::BackingStore::incorporateUpdate):

5:12 PM Changeset in webkit [173165] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove two unused WebKit2 PDF-related preferences
https://bugs.webkit.org/show_bug.cgi?id=136441

Reviewed by Dan Bernstein.

  • Shared/WebPreferencesDefinitions.h:

Move the macro arguments comment down near where the macros are being used.
No need to check both PLATFORM(IOS) and PLATFORM(IOS_SIMULATOR); the second can't be true without the first.
These two PDF preferences are long-unused; if we bring back their functionality,
we'll bring back the preferences.

4:15 PM Changeset in webkit [173164] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[CMAKE] Add missing offlineasm dependencies
https://bugs.webkit.org/show_bug.cgi?id=136437

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-09-01
Reviewed by Csaba Osztrogonác.

Add the ARM64, MIPS and SH4 backends to the dependencies.

  • CMakeLists.txt:
4:04 PM Changeset in webkit [173163] by timothy_horton@apple.com
  • 8 edits in trunk/Source/WebKit2

DrawingAreaProxy and friends can hold on to WebPageProxy by reference
https://bugs.webkit.org/show_bug.cgi?id=136440

Reviewed by Dan Bernstein.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _createDrawingAreaProxy]):

  • UIProcess/DrawingAreaProxy.cpp:

(WebKit::DrawingAreaProxy::DrawingAreaProxy):
(WebKit::DrawingAreaProxy::~DrawingAreaProxy):
(WebKit::DrawingAreaProxy::setExposedRect):
(WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):

  • UIProcess/DrawingAreaProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
(WebKit::RemoteLayerTreeDrawingAreaProxy::deviceScaleFactorDidChange):
(WebKit::RemoteLayerTreeDrawingAreaProxy::scaledExposedRect):
(WebKit::RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidStart):
(WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidEnd):
(WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
(WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorScale):
(WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):
(WebKit::RemoteLayerTreeDrawingAreaProxy::didRefreshDisplay):
(WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateViewState):
(WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
(WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
(WebKit::TiledCoreAnimationDrawingAreaProxy::colorSpaceDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::minimumLayoutSizeDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::enterAcceleratedCompositingMode):
(WebKit::TiledCoreAnimationDrawingAreaProxy::updateAcceleratedCompositingMode):
(WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateViewState):
(WebKit::TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
(WebKit::TiledCoreAnimationDrawingAreaProxy::adjustTransientZoom):
(WebKit::TiledCoreAnimationDrawingAreaProxy::commitTransientZoom):

2:15 PM Changeset in webkit [173162] by Brian Burg
  • 5 edits
    2 adds in trunk

Provide column numbers to DTrace willExecute/didExecute probes
https://bugs.webkit.org/show_bug.cgi?id=136434

Reviewed by Antti Koivisto.

Source/JavaScriptCore:

Provide the columnNumber and update stubs for !HAVE(DTRACE).

  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::willExecute):
(JSC::ProfileGenerator::didExecute):

  • runtime/Tracing.d:
  • runtime/Tracing.h:

Tools:

Create a directory for DTrace scripts. Add an example script that
shows how to use static probes provided by JavaScriptCore's profiler.

  • Scripts/dtrace/jsc-trace-profiler-events.d: Added.
12:16 PM Changeset in webkit [173161] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

RenderThemeMac::paintProgressBar creates a buffer without respecting the destination's acceleration setting
https://bugs.webkit.org/show_bug.cgi?id=136427

Reviewed by Dan Bernstein.

No new tests, just a performance improvement.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintProgressBar):

12:15 PM Changeset in webkit [173160] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Remove an unnecessary local in GraphicsLayerCA::ensureStructuralLayer
https://bugs.webkit.org/show_bug.cgi?id=136426

Reviewed by Dan Bernstein.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::ensureStructuralLayer):
This was here so that we could call PlatformCALayerClient::platformLayerChanged,
but that no longer exists!

11:10 AM Changeset in webkit [173159] by clopez@igalia.com
  • 2 edits in trunk/Tools

[GTK] [JHBuild] Cyclic dependency between cairo and librsvg.
https://bugs.webkit.org/show_bug.cgi?id=136431

Reviewed by Martin Robinson.

  • gtk/jhbuild.modules: Disable cairo SVG testsuite.

Add missing dependencies for librsvg (glib and cairo).

11:06 AM Changeset in webkit [173158] by clopez@igalia.com
  • 2 edits in trunk/Tools

[GTK] install-dependencies don't installs dbus-launch that is needed for the API tests.
https://bugs.webkit.org/show_bug.cgi?id=136425

Reviewed by Martin Robinson.

  • gtk/install-dependencies: Add dbus-x11 to the list of packages needed for running the tests.
3:33 AM Changeset in webkit [173157] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

Update my list of email addresses in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=136424

Reviewed by Gyuyoung Kim.

  • Scripts/webkitpy/common/config/contributors.json:
2:33 AM Changeset in webkit [173156] by svillar@igalia.com
  • 6 edits in trunk

[CSS Grid Layout] Resolved value of grid-template-* must include every track listed
https://bugs.webkit.org/show_bug.cgi?id=136362

Reviewed by Darin Adler.

Source/WebCore:

Section 5.1.5 of the specs clearly states that the resolved value
for grid-template-* must include every listed track, whether
explicitly or implicitly created. We were only listing the
explicit grid tracks.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForGridTrackList):

LayoutTests:

Added new test cases to verify that both explicit and implicit
tracks are listed in grid-template-* resolved values. Also
refactored a testing function to improve the readability of the test.

  • fast/css-grid-layout/grid-auto-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
  • fast/css-grid-layout/resources/grid-definitions-parsing-utils.js:

(testGridAutoDefinitionsValues):

2:28 AM Changeset in webkit [173155] by gyuyoung.kim@samsung.com
  • 8 edits in trunk

[CMAKE] Build warning by INTERFACE_LINK_LIBRARIES
https://bugs.webkit.org/show_bug.cgi?id=136194

Reviewed by Csaba Osztrogonác.

Set the LINK_INTERFACE_LIBRARIES target property on the top level CMakeLists.txt.

  • CMakeLists.txt:
1:35 AM Changeset in webkit [173154] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[SOUP] WebKitDownload cannot overwrite existing file
https://bugs.webkit.org/show_bug.cgi?id=136322

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-09-01
Reviewed by Carlos Garcia Campos.

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::didReceiveResponse): pass a member variable
to Download::decideDestinationWithSuggestedFilename instead of a
temporary bool, so we can use the result in didFinishLoading.
(WebKit::DownloadClient::didFinishLoading): overwrite the destination
if Download::decideDestinationWithSuggestedFilename determined we
should do so.

Note: See TracTimeline for information about the timeline view.