WebKit-https.git
5 years ago2014-09-05 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 5 Sep 2014 21:32:00 +0000 (21:32 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173334 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWeb Inspector: breakpoint actions should work regardless of Content Security Policy
commit-queue@webkit.org [Fri, 5 Sep 2014 21:08:14 +0000 (21:08 +0000)]
Web Inspector: breakpoint actions should work regardless of Content Security Policy
https://bugs.webkit.org/show_bug.cgi?id=136542

Patch by Matt Baker <mattbaker@apple.com> 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.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* debugger/DebuggerCallFrame.cpp:
(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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173333 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoBuildbot metrics page gives wrong results after a new bot gets added
ap@apple.com [Fri, 5 Sep 2014 20:57:55 +0000 (20:57 +0000)]
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().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173332 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[SOUP] Implement ResourceResponse::platformSuggestedFilename() when USE(SOUP) is...
clopez@igalia.com [Fri, 5 Sep 2014 20:25:01 +0000 (20:25 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173331 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoARM32 iOS: JSC Test math.js fails
msaboff@apple.com [Fri, 5 Sep 2014 20:05:32 +0000 (20:05 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173330 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Curl] Compile error.
commit-queue@webkit.org [Fri, 5 Sep 2014 20:05:19 +0000 (20:05 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173329 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUpdate the current matching of :read-only and :read-write to the latest spec
benjamin@webkit.org [Fri, 5 Sep 2014 20:04:39 +0000 (20:04 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173328 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[WinCairo] jsc.exe won't run.
commit-queue@webkit.org [Fri, 5 Sep 2014 19:42:08 +0000 (19:42 +0000)]
[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.

* JavaScriptCore.vcxproj/jsc/DLLLauncherWinCairo.props: Added.
* JavaScriptCore.vcxproj/jsc/jscLauncher.vcxproj:
* JavaScriptCore.vcxproj/testRegExp/testRegExpLauncher.vcxproj:
* JavaScriptCore.vcxproj/testapi/testapiCommonCFLite.props:
* JavaScriptCore.vcxproj/testapi/testapiLauncher.vcxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173327 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoJavaScriptCore should build with newer clang
ddkilzer@apple.com [Fri, 5 Sep 2014 19:33:29 +0000 (19:33 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173326 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoCTTE: SVGResourcesCache should only allow RenderElements.
akling@apple.com [Fri, 5 Sep 2014 19:25:57 +0000 (19:25 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173325 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoIDB version changed events should have a valid eventType()
simon.fraser@apple.com [Fri, 5 Sep 2014 19:20:18 +0000 (19:20 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173324 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoIncrease number of maximum active WebGL contexts.
roger_fong@apple.com [Fri, 5 Sep 2014 19:16:15 +0000 (19:16 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173323 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDashboard metrics page wastes a lot of time sorting iterations
ap@apple.com [Fri, 5 Sep 2014 19:09:08 +0000 (19:09 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173322 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove some PLATFORM(IOS) code in Color.h/cpp
simon.fraser@apple.com [Fri, 5 Sep 2014 18:57:06 +0000 (18:57 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173321 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoScrollablArea::handleWheelEvent() should return early if the ScrollableArea is not
bdakin@apple.com [Fri, 5 Sep 2014 18:54:37 +0000 (18:54 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173320 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[GTK] Unreviewed GTK gardening.
clopez@igalia.com [Fri, 5 Sep 2014 18:42:34 +0000 (18:42 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173319 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRefactoring: make MediaTime the primary time type for audiovisual times.
jer.noble@apple.com [Fri, 5 Sep 2014 18:38:59 +0000 (18:38 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173318 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS] Another attempt to fix the iOS build after <http://trac.webkit.org/changeset...
dbates@webkit.org [Fri, 5 Sep 2014 18:33:29 +0000 (18:33 +0000)]
[iOS] Another attempt to fix the iOS build after <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]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173317 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS] Another attempt to fix the iOS build after <http://trac.webkit.org/changeset...
dbates@webkit.org [Fri, 5 Sep 2014 18:25:32 +0000 (18:25 +0000)]
[iOS] Another attempt to fix the iOS build after <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]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173316 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS] Fix the iOS build after <http://trac.webkit.org/changeset/173309>
dbates@webkit.org [Fri, 5 Sep 2014 18:16:16 +0000 (18:16 +0000)]
[iOS] Fix the iOS build after <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:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173315 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION(r173272): Two blob tests failing on WK1
antti@apple.com [Fri, 5 Sep 2014 18:15:59 +0000 (18:15 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173314 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDo the bmalloc.
ggaren@apple.com [Fri, 5 Sep 2014 18:07:22 +0000 (18:07 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173313 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoARM: Add more coverage to ARMv7 disassembler
msaboff@apple.com [Fri, 5 Sep 2014 16:17:17 +0000 (16:17 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173312 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMove computeInlinePreferredLogicalWidths() from RenderBlock to RenderBlockFlow
zalan@apple.com [Fri, 5 Sep 2014 14:18:06 +0000 (14:18 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173311 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoEnable GenGC on ARM Traditional
dbatyai.u-szeged@partner.samsung.com [Fri, 5 Sep 2014 10:25:15 +0000 (10:25 +0000)]
Enable GenGC on ARM Traditional
https://bugs.webkit.org/show_bug.cgi?id=136567

Reviewed by Csaba Osztrogonác.

* wtf/Platform.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173310 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUse tracking areas instead of (SPI) mouse moved notifications, and follow flags chang...
mjs@apple.com [Fri, 5 Sep 2014 08:01:35 +0000 (08:01 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173309 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoplatform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability...
ap@apple.com [Fri, 5 Sep 2014 05:58:56 +0000 (05:58 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173308 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMove PropertySlot's inline functions back to PropertySlot.h.
mark.lam@apple.com [Fri, 5 Sep 2014 03:36:52 +0000 (03:36 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173307 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, speculative build fix on GTK port since r173305.
gyuyoung.kim@samsung.com [Fri, 5 Sep 2014 03:32:43 +0000 (03:32 +0000)]
Unreviewed, speculative build fix on GTK port since r173305.

* UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(webkitURISchemeRequestReadCallback):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173306 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, build fix for EFL and GTK ports since r173272.
gyuyoung.kim@samsung.com [Fri, 5 Sep 2014 03:15:48 +0000 (03:15 +0000)]
Unreviewed, build fix for EFL and GTK ports since r173272.

* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessageHeaders):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173305 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMake sure that deleting all code first processes the call edge log, and reenable...
fpizlo@apple.com [Fri, 5 Sep 2014 01:54:02 +0000 (01:54 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173304 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed. Speculative build fix. Add platformSuggestedFilename() to all the Resourc...
psolanki@apple.com [Fri, 5 Sep 2014 01:52:53 +0000 (01:52 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173303 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRebaseline three blending tests which no longer need backing store.
simon.fraser@apple.com [Fri, 5 Sep 2014 01:37:28 +0000 (01:37 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173302 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed. Another speculative build fix after r173272. Add a stub implementation for
psolanki@apple.com [Fri, 5 Sep 2014 01:36:11 +0000 (01:36 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173301 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed. Speculative EFL and GTK build fix after r173272. Remove the filename...
psolanki@apple.com [Fri, 5 Sep 2014 01:09:31 +0000 (01:09 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173300 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoBring back [WebPreferences setDiskImageCacheEnabled:] for backwards compatibility
psolanki@apple.com [Fri, 5 Sep 2014 01:02:43 +0000 (01:02 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173299 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoEnsure that the call frame set up by vmEntryToNative does not overlap with the stack...
commit-queue@webkit.org [Fri, 5 Sep 2014 00:57:22 +0000 (00:57 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173298 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd some logging to help diagnose assertions in dumpWebViewAsPixelsAndCompareWithExpe...
simon.fraser@apple.com [Fri, 5 Sep 2014 00:55:10 +0000 (00:55 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173297 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFix the Mac Production build after r173283.
aestes@apple.com [Fri, 5 Sep 2014 00:29:34 +0000 (00:29 +0000)]
Fix the Mac Production build after r173283.

* WebKitTestRunner/config.h: Reverted to defining WEBCORE_EXPORT for now.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173296 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoborder-radius should not force layer backing store
simon.fraser@apple.com [Fri, 5 Sep 2014 00:23:10 +0000 (00:23 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173295 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoCSS filter on a compositing layer should not cause unncessary backing store allocation
simon.fraser@apple.com [Fri, 5 Sep 2014 00:23:08 +0000 (00:23 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173294 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoImprove the logic for compositing backing store avoidance
simon.fraser@apple.com [Fri, 5 Sep 2014 00:23:05 +0000 (00:23 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173293 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS] Fix the iOS build after <http://trac.webkit.org/changeset/173258>
dbates@webkit.org [Fri, 5 Sep 2014 00:09:39 +0000 (00:09 +0000)]
[iOS] Fix the iOS build after <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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173292 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAnother speculative fix for the bots.
bdakin@apple.com [Thu, 4 Sep 2014 23:50:33 +0000 (23:50 +0000)]
Another speculative fix for the bots.

* platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173291 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Win] webkitpy test suite frequently fails to complete
bfulgham@apple.com [Thu, 4 Sep 2014 23:47:36 +0000 (23:47 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173290 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoClicking on a select element should never hide the popup menu.
roger_fong@apple.com [Thu, 4 Sep 2014 23:38:51 +0000 (23:38 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173289 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAddress additional review feedback after landing r173283.
aestes@apple.com [Thu, 4 Sep 2014 23:13:39 +0000 (23:13 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173288 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove PLATFORM(IOS) from WebCore/editing (Part 2).
enrica@apple.com [Thu, 4 Sep 2014 22:39:05 +0000 (22:39 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173287 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSpeculative fix for a test failing on the bot.
bdakin@apple.com [Thu, 4 Sep 2014 22:31:57 +0000 (22:31 +0000)]
Speculative fix for a test failing on the bot.

* platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173286 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Cocoa] Some WebKitLegacy headers migrated from WebCore incorrectly contain WEBCORE_E...
aestes@apple.com [Thu, 4 Sep 2014 21:36:14 +0000 (21:36 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173283 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION(r173031): crashes during run-layout-jsc on x86/Linux
msaboff@apple.com [Thu, 4 Sep 2014 21:23:38 +0000 (21:23 +0000)]
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().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173282 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoInitial letters should clear one another.
hyatt@apple.com [Thu, 4 Sep 2014 21:20:12 +0000 (21:20 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173281 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoBeef up the DFG's CFG analyses to include iterated dominance frontiers and more user...
fpizlo@apple.com [Thu, 4 Sep 2014 21:16:53 +0000 (21:16 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173280 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoBeef up the DFG's CFG analyses to include iterated dominance frontiers and more user...
fpizlo@apple.com [Thu, 4 Sep 2014 21:08:38 +0000 (21:08 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173279 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUse WTFString::find(char) in more places
commit-queue@webkit.org [Thu, 4 Sep 2014 21:07:00 +0000 (21:07 +0000)]
Use WTFString::find(char) in more places
https://bugs.webkit.org/show_bug.cgi?id=136541

Patch by Joseph Pecoraro <pecoraro@apple.com> 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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173278 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoTry to fix iOS build.
antti@apple.com [Thu, 4 Sep 2014 20:59:43 +0000 (20:59 +0000)]
Try to fix iOS build.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::initForSynthesizedDocument):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173277 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove WebCoreSystemInterface glue for otherwise unused WKSI calls
mjs@apple.com [Thu, 4 Sep 2014 20:54:00 +0000 (20:54 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173276 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION (r172832): Poor 2-finger scrolling performance at theverge.com articles
bdakin@apple.com [Thu, 4 Sep 2014 20:48:03 +0000 (20:48 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173275 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoTry to fix windows build.
antti@apple.com [Thu, 4 Sep 2014 20:23:54 +0000 (20:23 +0000)]
Try to fix windows build.

* WebURLResponse.cpp:
(WebURLResponse::createInstance):
(WebURLResponse::initWithURL):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173274 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION: Dashboard metrics page aggregation counts performance bots
ap@apple.com [Thu, 4 Sep 2014 20:01:33 +0000 (20:01 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173273 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove ResourceResponse::m_suggestedFilename
antti@apple.com [Thu, 4 Sep 2014 20:00:11 +0000 (20:00 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173272 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMake hash table classes final
andersca@apple.com [Thu, 4 Sep 2014 19:54:54 +0000 (19:54 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173271 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Win] Perl test fix.
bfulgham@apple.com [Thu, 4 Sep 2014 19:45:07 +0000 (19:45 +0000)]
[Win] Perl test fix.

* Scripts/webkitperl/auto-version_unittest/versionStampTests.pl: Correct test to check for
VersionStamp.exe tool, not just the driver script.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173270 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFixed indentations and some style warnings in JavaScriptCore/runtime.
mark.lam@apple.com [Thu, 4 Sep 2014 19:10:36 +0000 (19:10 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173269 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove CSS_FILTERS flag
commit-queue@webkit.org [Thu, 4 Sep 2014 18:43:39 +0000 (18:43 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173268 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, rolling out r173201.
zandobersek@gmail.com [Thu, 4 Sep 2014 18:27:01 +0000 (18:27 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173267 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, rolling out r173248.
commit-queue@webkit.org [Thu, 4 Sep 2014 18:07:02 +0000 (18:07 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173266 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove iOS specific disk image cache
psolanki@apple.com [Thu, 4 Sep 2014 17:36:21 +0000 (17:36 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173265 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWeb Inspector: the profiler should not accrue time to nodes while the debugger is...
burg@cs.washington.edu [Thu, 4 Sep 2014 17:21:39 +0000 (17:21 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173264 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, rolling out r173245.
commit-queue@webkit.org [Thu, 4 Sep 2014 17:10:26 +0000 (17:10 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173263 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoLegacyProfiler: ProfileNodes should be used more like structs
burg@cs.washington.edu [Thu, 4 Sep 2014 17:00:22 +0000 (17:00 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173262 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove Qt cruft: MIMESniffing.cpp and MIMESniffing.h
commit-queue@webkit.org [Thu, 4 Sep 2014 16:46:29 +0000 (16:46 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173261 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoBuildbot metrics page gives wrong results after a new bot gets added
ap@apple.com [Thu, 4 Sep 2014 16:33:17 +0000 (16:33 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173260 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoIntroduce CSS_BASIC_SHAPES_TYPE_CASTS, and use it
gyuyoung.kim@samsung.com [Thu, 4 Sep 2014 16:13:35 +0000 (16:13 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173259 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS] Make iOS build when ENABLE_TOUCH_EVENT and ENABLE_IOS_TOUCH_EVENTS disabled
dbates@webkit.org [Thu, 4 Sep 2014 15:42:54 +0000 (15:42 +0000)]
[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).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173258 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION(r173240) [GTK] Debug build broken.
clopez@igalia.com [Thu, 4 Sep 2014 11:14:18 +0000 (11:14 +0000)]
REGRESSION(r173240) [GTK] Debug build broken.

Unreviewed build fix after r173240.

* dom/EventListenerMap.h: Add missing include.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173257 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoGet rid of HIGH_DPI_CANVAS leftovers
mitz@apple.com [Thu, 4 Sep 2014 08:28:19 +0000 (08:28 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173256 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoInitialize m_usesNetworkProcess earlier in WebProcess::initializeWebProcess()
carlosgc@webkit.org [Thu, 4 Sep 2014 07:41:27 +0000 (07:41 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173255 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoXMLHttpRequest always defaults Content-Type to application/xml, while it should depen...
commit-queue@webkit.org [Thu, 4 Sep 2014 07:03:54 +0000 (07:03 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173254 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMake images work with patches created using svn 1.7
ddkilzer@apple.com [Thu, 4 Sep 2014 06:46:42 +0000 (06:46 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173253 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[SOUP] Race condition when downloading a file due to the intermediate temporary file
commit-queue@webkit.org [Thu, 4 Sep 2014 06:43:35 +0000 (06:43 +0000)]
[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 <mcatanzaro@igalia.com> 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173252 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWeb Inspector: fix prefixes for subclasses of JSC::ConsoleClient
burg@cs.washington.edu [Thu, 4 Sep 2014 05:53:43 +0000 (05:53 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173251 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[EFL] Websocket Layout Tests passed in latest build.
commit-queue@webkit.org [Thu, 4 Sep 2014 04:29:30 +0000 (04:29 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173250 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFix a few leftovers from removing MIME-related WKSI usage
mjs@apple.com [Thu, 4 Sep 2014 02:54:00 +0000 (02:54 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173249 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoReenable call edge profiling and polymorphic call inlining, now that a bunch of the...
fpizlo@apple.com [Thu, 4 Sep 2014 02:10:52 +0000 (02:10 +0000)]
Reenable call edge profiling and polymorphic call inlining, now that a bunch of the bugs
are fixed.

* runtime/Options.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173248 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, mark test as crashing
jpfau@apple.com [Thu, 4 Sep 2014 01:43:34 +0000 (01:43 +0000)]
Unreviewed, mark test as crashing

* platform/wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173247 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoText caret changes to color of text in Mail and Notes
mmaxfield@apple.com [Thu, 4 Sep 2014 00:55:07 +0000 (00:55 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173246 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoJavaScriptCore should build with newer clang
ddkilzer@apple.com [Thu, 4 Sep 2014 00:53:16 +0000 (00:53 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173245 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoCallEdgeProfile::visitWeak() shouldn't attempt to despecify empty profiles
fpizlo@apple.com [Thu, 4 Sep 2014 00:28:50 +0000 (00:28 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173244 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFix the iOS build after r173230
timothy_horton@apple.com [Thu, 4 Sep 2014 00:26:42 +0000 (00:26 +0000)]
Fix the iOS build after r173230

* WebCore.exp.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173243 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION (r167325): (null) entry added to Xcode project file when JSBoundFunction...
ddkilzer@apple.com [Wed, 3 Sep 2014 23:48:05 +0000 (23:48 +0000)]
REGRESSION (r167325): (null) entry added to Xcode project file when JSBoundFunction.h was removed
<http://webkit.org/b/136509>

Reviewed by Daniel Bates.

* JavaScriptCore.xcodeproj/project.pbxproj: Remove the (null)
entry left behind when JSBoundFunction.h was removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173242 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove unnecessary function from TextPainter
mmaxfield@apple.com [Wed, 3 Sep 2014 23:10:31 +0000 (23:10 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173241 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDon't use DEPRECATED_DEFINE_STATIC_LOCAL for mutexes
andersca@apple.com [Wed, 3 Sep 2014 22:56:48 +0000 (22:56 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173240 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Win] Unreviewed test fix.
bfulgham@apple.com [Wed, 3 Sep 2014 22:55:02 +0000 (22:55 +0000)]
[Win] Unreviewed test fix.

* Scripts/webkitperl/auto-version_unittest/versionStampTests.pl: Don't fail
test if user doesn't have the VersionStamp.exe program.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173239 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAvoid warning if a process does not have access to com.apple.webinspector
commit-queue@webkit.org [Wed, 3 Sep 2014 22:50:17 +0000 (22:50 +0000)]
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 <pecoraro@apple.com> 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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173238 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoTemporarily disable call edge profiling. It is causing crashes and I'm still investig...
fpizlo@apple.com [Wed, 3 Sep 2014 22:44:34 +0000 (22:44 +0000)]
Temporarily disable call edge profiling. It is causing crashes and I'm still investigating
them.

* runtime/Options.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173237 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Win] Mark a number of passing tests.
bfulgham@apple.com [Wed, 3 Sep 2014 22:26:34 +0000 (22:26 +0000)]
[Win] Mark a number of passing tests.

* platform/win/TestExpectations: Update expectations based on passes
on multiple test bots.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173236 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove PLATFORM(IOS) from WebCore/editing (Part 1).
enrica@apple.com [Wed, 3 Sep 2014 22:15:29 +0000 (22:15 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173235 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoGet rid of some uses of OwnPtr
andersca@apple.com [Wed, 3 Sep 2014 22:02:08 +0000 (22:02 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173234 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agohttps://bugs.webkit.org/show_bug.cgi?id=136395
commit-queue@webkit.org [Wed, 3 Sep 2014 21:52:06 +0000 (21:52 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173233 268f45cc-cd09-0410-ab3c-d52691b4dbfc