WebKit-https.git
7 years agoTry to fix the build after r173383, part 3.
timothy_horton@apple.com [Mon, 8 Sep 2014 17:53:47 +0000 (17:53 +0000)]
Try to fix the build after r173383, part 3.

* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:

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

7 years agoTry to fix the build after r173383, part 2.
timothy_horton@apple.com [Mon, 8 Sep 2014 17:45:42 +0000 (17:45 +0000)]
Try to fix the build after r173383, part 2.

* wtf/OSObjectPtr.h:

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

7 years agoTry to fix the build after r173383.
timothy_horton@apple.com [Mon, 8 Sep 2014 17:37:42 +0000 (17:37 +0000)]
Try to fix the build after r173383.

* wtf/OSObjectPtr.h:

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

7 years agoMake OSObjectPtr a bit more like RefPtr
weinig@apple.com [Mon, 8 Sep 2014 17:26:37 +0000 (17:26 +0000)]
Make OSObjectPtr a bit more like RefPtr
https://bugs.webkit.org/show_bug.cgi?id=136613

Reviewed by Darin Adler.

Address some of Darin's feedback by:
- Making the adopting constructor private and friending adoptOSObject().
- Implementing the assignment operator using swap.
- Adding a move assignment operator.

* wtf/OSObjectPtr.h:
(WTF::OSObjectPtr::operator=):
(WTF::OSObjectPtr::swap):
(WTF::OSObjectPtr::OSObjectPtr):

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

7 years agoIntroduce CSS_RULE_TYPE_CASTS, and use it
gyuyoung.kim@samsung.com [Mon, 8 Sep 2014 17:10:01 +0000 (17:10 +0000)]
Introduce CSS_RULE_TYPE_CASTS, and use it
https://bugs.webkit.org/show_bug.cgi?id=136628

Reviewed by Darin Adler.

As a step to use toFoo, this patch introduces toCSSFooRule(). This will help to detect
wrong type cast. Additionally some missing type casts are clean up as well.

No new tests, no behavior changes.

* bindings/gobject/WebKitDOMPrivate.cpp:
(WebKit::wrap):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::addFontFaceRule):
* css/CSSImportRule.h:
* css/CSSMediaRule.h:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseGridTemplateRowsAndAreas):
* css/CSSRule.h:
* css/CSSStyleRule.h:
* css/CSSSupportsRule.h:
* css/InspectorCSSOMWrappers.cpp:
(WebCore::InspectorCSSOMWrappers::collect):
* css/WebKitCSSRegionRule.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::asCSSStyleRule):
(WebCore::InspectorCSSAgent::collectStyleSheets):
* inspector/InspectorStyleSheet.cpp:
(WebCore::asCSSRuleList):
(WebCore::fillMediaListChain):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeCSSStyleSheet):

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

7 years agoDashboard metrics should ignore commits that didn't trigger builds
ap@apple.com [Mon, 8 Sep 2014 17:05:10 +0000 (17:05 +0000)]
Dashboard metrics should ignore commits that didn't trigger builds
https://bugs.webkit.org/show_bug.cgi?id=136618

Reviewed by Darin Adler.

Commits that didn't trigger builds are ones like ChangeLog updates, patches for
other platforms etc. It does not make sense to count wait time for these, as it
can be arbitrarily long.

The new algorithm is much slower asymptotically, but it's OK, computers are fast.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype._parseData): Record changes that triggered the iteration.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:
We used to walk the timeline to see which revisions are fully tested, but that's not
correct. A revision that's only tested by a subset of queues finishes independently
of another that's tested by another subset. Now, we just search for the answer for
each revision individually.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsView.js:
(MetricsView.prototype._update.appendQueueResults): Added worst revision number, which
the analyzer now reports. Removed best time, which is more confusing than meaningful.

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

7 years ago32-bit build fix after r173364.
jberlin@webkit.org [Mon, 8 Sep 2014 16:11:51 +0000 (16:11 +0000)]
32-bit build fix after r173364.

* Carbon/HIViewAdapter.m:
(+[HIViewAdapter bindHIViewToNSView:nsView:]):

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

7 years agoBuild fix.
mitz@apple.com [Mon, 8 Sep 2014 15:28:09 +0000 (15:28 +0000)]
Build fix.

Added back SPI that is still in use.

* Misc/WebNSURLExtras.h:
* Misc/WebNSURLExtras.mm:
(-[NSURL _webkit_URLByRemovingFragment]):

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

7 years agoSource/WebKit/mac:
mitz@apple.com [Mon, 8 Sep 2014 15:21:47 +0000 (15:21 +0000)]
Source/WebKit/mac:
iOS Simulator build fix.

* Misc/WebKitSystemBits.m:
(WebMemorySize):

Source/WebKit2:
Build fix.

* Platform/IPC/Connection.h:

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

7 years agoMore 32-bit Release build fixes after r173364.
jberlin@webkit.org [Mon, 8 Sep 2014 15:21:34 +0000 (15:21 +0000)]
More 32-bit Release build fixes after r173364.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

7 years agoMore build fixes after r173374.
jberlin@webkit.org [Mon, 8 Sep 2014 14:45:37 +0000 (14:45 +0000)]
More build fixes after r173374.

* wtf/dtoa/strtod.cc:

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

7 years agoBuild fix after r173374.
jberlin@webkit.org [Mon, 8 Sep 2014 14:33:58 +0000 (14:33 +0000)]
Build fix after r173374.

* wtf/dtoa/strtod.cc:

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

7 years agoSpeculative build fix after r173364.
jberlin@webkit.org [Mon, 8 Sep 2014 14:26:48 +0000 (14:26 +0000)]
Speculative build fix after r173364.

* wtf/dtoa/strtod.cc:

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

7 years ago[EFL[WK2] MiniBrowser comes to crash on debug mode
gyuyoung.kim@samsung.com [Mon, 8 Sep 2014 10:01:15 +0000 (10:01 +0000)]
[EFL[WK2] MiniBrowser comes to crash on debug mode
https://bugs.webkit.org/show_bug.cgi?id=136617

Reviewed by Csaba Osztrogonác.

Fix wrong ASSERTION use in applyCursorFromEcoreX().

* platform/efl/EflScreenUtilities.cpp: Change ASSERT(!window) with *ASSERT(window)*
(WebCore::applyCursorFromEcoreX):

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

7 years agoRemove EWebLauncher from webkitdirs.pm
commit-queue@webkit.org [Mon, 8 Sep 2014 09:32:02 +0000 (09:32 +0000)]
Remove EWebLauncher from webkitdirs.pm
https://bugs.webkit.org/show_bug.cgi?id=136622

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-09-08
Reviewed by Gyuyoung Kim.

* Scripts/webkitdirs.pm:
(launcherName):

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

7 years agoFix typos in last patch to fix build.
mjs@apple.com [Mon, 8 Sep 2014 02:39:36 +0000 (02:39 +0000)]
Fix typos in last patch to fix build.

Unreviewed build fix.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::silentSavePlanForGPR):
(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode):

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

7 years agoIntroduce COMPILER_QUIRK(CONSIDERS_UNREACHABLE_CODE) and use it
mjs@apple.com [Mon, 8 Sep 2014 02:16:47 +0000 (02:16 +0000)]
Introduce COMPILER_QUIRK(CONSIDERS_UNREACHABLE_CODE) and use it
https://bugs.webkit.org/show_bug.cgi?id=136616

Reviewed by Darin Adler.
Source/JavaScriptCore:

Many compilers will analyze unrechable code paths (e.g. after an
unreachable code path), so sometimes they need dead code initializations.
But clang with suitable warnings will complain about unreachable code. So
use the quirk to include it conditionally.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printGetByIdOp):
* dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::handleExitCounts):
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThread):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::silentSavePlanForGPR):
* jsc.cpp:
* runtime/JSArray.cpp:
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToArguments):
* runtime/RegExp.cpp:
(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):

Source/WTF:

* wtf/Compiler.h: Define the quirk for all compilers but clang.

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

7 years agoIntroduce toBasicShapeFoo() instead of static_cast<BasicShapeFoo*>
gyuyoung.kim@samsung.com [Mon, 8 Sep 2014 01:36:07 +0000 (01:36 +0000)]
Introduce toBasicShapeFoo() instead of static_cast<BasicShapeFoo*>
https://bugs.webkit.org/show_bug.cgi?id=136609

Reviewed by Darin Adler.

To use BasicShapeFoo() helps to detect wrong type casting and improve code readability.

No new tests, no behavior changes.

* css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape):
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape):
* rendering/style/BasicShapes.cpp:
(WebCore::BasicShape::canBlend):
(WebCore::BasicShapeCircle::blend):
(WebCore::BasicShapeEllipse::blend):
(WebCore::BasicShapePolygon::blend):
(WebCore::BasicShapeInset::blend):
* rendering/style/BasicShapes.h:

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

7 years agoFix build failure seen on Mountain Lion buildbot.
darin@apple.com [Sun, 7 Sep 2014 19:14:25 +0000 (19:14 +0000)]
Fix build failure seen on Mountain Lion buildbot.

* Misc/WebNSDataExtras.h: Make WEB_GUESS_MIME_TYPE_PEEK_LENGTH an unsigned instead
of an int, to avoid warning about mixing signs.

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

7 years agoXPCPtr should be converted into an all purpose smart pointer for os_objects
weinig@apple.com [Sun, 7 Sep 2014 17:56:32 +0000 (17:56 +0000)]
XPCPtr should be converted into an all purpose smart pointer for os_objects
https://bugs.webkit.org/show_bug.cgi?id=136602

Reviewed by Darin Adler.

Source/WebKit2:

* DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:
(DatabaseServiceInitializer):
* NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
(WebKit::NetworkServiceInitializerDelegate::NetworkServiceInitializerDelegate):
(NetworkServiceInitializer):
* Platform/IPC/Connection.h:
(IPC::Connection::Identifier::Identifier):
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::ConnectionTerminationWatchdog::createConnectionTerminationWatchdog):
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
* Platform/IPC/mac/XPCPtr.h: Removed.
* PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
(WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate):
(PluginServiceInitializer):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
(WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate):
(WebKit::XPCServiceInitializer):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::checkEntitlements):
(WebKit::XPCServiceInitializerDelegate::hasEntitlement):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
(WebKit::XPCServiceEventHandler):
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceEventHandler):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService):
(WebKit::connectToReExecService):
* WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
(WebContentServiceInitializer):
Update after the rename of XPCPtr to OSObjectPtr.

Source/WTF:

* WTF.xcodeproj/project.pbxproj:
* wtf/OSObjectPtr.h: Copied from Source/WebKit2/Platform/IPC/mac/XPCPtr.h.
(WTF::retainOSObject):
(WTF::releaseOSObject):
(WTF::OSObjectPtr::OSObjectPtr):
(WTF::OSObjectPtr::~OSObjectPtr):
(WTF::OSObjectPtr::operator=):
(WTF::adoptOSObject):
(IPC::XPCPtr::XPCPtr): Deleted.
(IPC::XPCPtr::~XPCPtr): Deleted.
(IPC::XPCPtr::operator=): Deleted.
(IPC::adoptXPC): Deleted.
Rename/move XPCPtr to OSObjectPtr and make it work with any os_object.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/darwin: Added.
* TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp: Added.
Add basic unit tests for OSObjectPtr.

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

7 years agoUse a <circle> instead of a <path> in DownloadArrow.svg.
timothy@apple.com [Sun, 7 Sep 2014 09:30:32 +0000 (09:30 +0000)]
Use a <circle> instead of a <path> in DownloadArrow.svg.
https://bugs.webkit.org/show_bug.cgi?id=136608

Reviewed by Antoine Quint.

* UserInterface/Images/DownloadArrow.svg:
* UserInterface/Views/TreeElementStatusButton.css:
(.item > .status > .status-button > svg .filled):
(body.mac-platform.legacy .item > .status > .status-button > svg .filled):
(:focus .item.selected > .status > .status-button > svg .filled):
(.item > .status > .status-button > svg .stroked):
(body.mac-platform.legacy .item > .status > .status-button > svg .stroked):
(:focus .item.selected > .status > .status-button > svg .stroked):
Tweak CSS selectors to apply to other shapes, not just path.

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

7 years ago[Fullscreen] Add a site-specific hack to work around "flash on exit" behavior of...
jer.noble@apple.com [Sun, 7 Sep 2014 00:19:53 +0000 (00:19 +0000)]
[Fullscreen] Add a site-specific hack to work around "flash on exit" behavior of YouTube.com.
https://bugs.webkit.org/show_bug.cgi?id=136604

Reviewed by Eric Carlson.

YouTube.com will cause a "flash" of the full screen sized <video> element upon exiting full
screen because the "fullscreenchange" event is fired asynchronously after the exit animation
completes. Only YouTube sites and embeds, add a site-specific-quirk which runs the "fullscreenchange"
event synchronously at the end of the exit animation. This causes YouTube's video resizing logic
to run during the period of time where we've disabled screen updates, instead of immediately
after.

* dom/Document.cpp:
(WebCore::Document::webkitDidExitFullScreenForElement):

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

7 years agoMake updates suggested by new version of Xcode
darin@apple.com [Sat, 6 Sep 2014 22:53:17 +0000 (22:53 +0000)]
Make updates suggested by new version of Xcode
https://bugs.webkit.org/show_bug.cgi?id=136603

Reviewed by Mark Rowe.

Source/JavaScriptCore:

* Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE, COMBINE_HIDPI_IMAGES,
and ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.

* JavaScriptCore.xcodeproj/project.pbxproj: Update LastUpgradeCheck.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode): Compile out unreachable code
for clang, since it understands the code is unreachable.
* runtime/JSArray.cpp:
(JSC::JSArray::fillArgList): Ditto.
(JSC::JSArray::copyToArguments): Ditto.

Source/ThirdParty:

* gtest/xcode/Config/General.xcconfig: Moved CLANG_WARN_BOOL_CONVERSION,
CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION, and COMBINE_HIDPI_IMAGES
here from project file.  Added CLANG_WARN_UNREACHABLE_CODE, ENABLE_STRICT_OBJC_MSGSEND,
and GCC_WARN_64_TO_32_BIT_CONVERSION as suggested by Xcode upgrade check.

* gtest/xcode/gtest.xcodeproj/project.pbxproj: Updated LastUpgradeCheck and removed
things that are redundant with the xcconfig file above.

Source/ThirdParty/ANGLE:

* ANGLE.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.

* Configurations/ANGLE.xcconfig: Added CLANG_WARN_BOOL_CONVERSION,
CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION, COMBINE_HIDPI_IMAGES,
and ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.

Source/WebCore:

* Configurations/Base.xcconfig: Added COMBINE_HIDPI_IMAGES and
ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.

* WebCore.xcodeproj/project.pbxproj: Let Xcode remove an orphaned item from the file,
and also updated LastUpgradeCheck.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateTextTrackDisplay): Use #if/#else/#endif instead of
using #if/return/#endif and leaving code unreachable.
(WebCore::HTMLMediaElement::configureMediaControls): Ditto.
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Ditto.
* html/canvas/WebGLDrawBuffers.cpp:
(WebCore::WebGLDrawBuffers::supported): Ditto.

Source/WebInspectorUI:

* Configurations/Base.xcconfig: Added CLANG_WARN_BOOL_CONVERSION, CLANG_WARN_CONSTANT_CONVERSION,
CLANG_WARN_EMPTY_BODY, CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION,
CLANG_WARN_UNREACHABLE_CODE, CLANG_WARN__DUPLICATE_METHOD_MATCH, ENABLE_STRICT_OBJC_MSGSEND,
GCC_WARN_UNDECLARED_SELECTOR, and GCC_WARN_UNUSED_FUNCTION as suggested by Xcode update check.
Also removed duplicate GCC_WARN_UNUSED_VARIABLE line.

* WebInspectorUI.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.

Source/WebKit/mac:

* Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE, COMBINE_HIDPI_IMAGES,
and ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.

* History/WebURLsWithTitles.m:
(+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use NSUInteger instead of
unsigned for correctness, and to quiet the 32-to-64-bit compiler warning (which is
not turned on because it gives us too many false positives).
* Misc/WebElementDictionary.mm:
(-[WebElementDictionary objectForKey:]): Ditto.
* Misc/WebNSDataExtras.m:
(-[NSData _webkit_guessedMIMETypeForXML]): Ditto.
(-[NSData _webkit_guessedMIMEType]): Ditto.
(-[NSData _webkit_parseRFC822HeaderFields]): Ditto.
(-[NSData _web_locationAfterFirstBlankLine]): Ditto.

* Misc/WebNSURLExtras.h: Removed unused _web_URLWithLowercasedScheme, _web_hostData,
_webkit_URLByRemovingFragment, _webkit_URLByRemovingResourceSpecifier, _webkit_isFTPDirectoryURL,
_webkit_shouldLoadAsEmptyDocument, _web_hostNameNeedsDecodingWithRange:,
_web_hostNameNeedsEncodingWithRange:, _web_decodeHostNameWithRange:, _web_encodeHostNameWithRange:,
and _webkit_URLFragment methods.

* Misc/WebNSURLExtras.mm:
(-[NSURL _web_URLByTruncatingOneCharacterBeforeComponent:]): Deleted.
(-[NSURL _webkit_URLByRemovingFragment]): Deleted.
(-[NSURL _webkit_URLByRemovingResourceSpecifier]): Deleted.
(-[NSURL _webkit_isFTPDirectoryURL]): Deleted.
(-[NSURL _webkit_shouldLoadAsEmptyDocument]): Deleted.
(-[NSURL _web_URLWithLowercasedScheme]): Deleted.
(-[NSString _webkit_isFTPDirectoryURL]): Deleted.
(-[NSString _web_hostNameNeedsDecodingWithRange:]): Deleted.
(-[NSString _web_hostNameNeedsEncodingWithRange:]): Deleted.
(-[NSString _web_decodeHostNameWithRange:]): Deleted.
(-[NSString _web_encodeHostNameWithRange:]): Deleted.
(-[NSString _webkit_URLFragment]): Deleted.

* Plugins/WebPluginDatabase.mm:
(-[WebPluginDatabase removePluginInstanceViewsFor:]): Use a modern for loop
to iterate an array instead of a loop using the type "unsigned int".

* WebCoreSupport/WebOpenPanelResultListener.mm:
(-[WebOpenPanelResultListener chooseFilenames:]): Use NSUInteger instead of int.

* WebView/WebDelegateImplementationCaching.mm:
(CallDelegate): Use wtfCallIMP in one overload that was instead just calling the
directly without a proper type for the function pointer. This might have been causing
an actual problem on 64-bit systems, and it was different from all the other CallDelegate
functions that were already doing this correctly.

* WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController _placePopupWindow:]): Use NSUInteger instead of int.

Source/WebKit2:

* Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE, COMBINE_HIDPI_IMAGES,
and ENABLE_STRICT_OBJC_MSGSEND as suggested by the Xcode upgrade check.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::initializeCocoaOverrides): Changed NSConcreteTask_launch to use the same technique
as the other functions in this file, doing the type casting right at the call to
method_setImplementation so the global has a suitable type for making a function call,
rather than relying on the abilty to call through a type without a specific argument list.

* UIProcess/Plugins/PluginInfoStore.cpp:
(WebKit::pathExtension): Use size_t for the result of String::reverseFind rather than
converting it to an int. Also don't rely on the fact that WTF's notFound becomes -1 when
cast from size_t to int.

* WebKit2.xcodeproj/project.pbxproj: Let Xcode delete some orphaned items, and updated
LastUpgradeCheck.

Source/WTF:

* Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE,
COMBINE_HIDPI_IMAGES, and ENABLE_STRICT_OBJC_MSGSEND as suggested by
Xcode upgrade check.

* WTF.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.

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

7 years agoWeb Inspector: convert DockSide to an enum class
burg@cs.washington.edu [Sat, 6 Sep 2014 20:52:28 +0000 (20:52 +0000)]
Web Inspector: convert DockSide to an enum class
https://bugs.webkit.org/show_bug.cgi?id=136601

Reviewed by Timothy Hatcher.

Source/WebCore:

* inspector/InspectorFrontendClient.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
(WebCore::InspectorFrontendClientLocal::requestSetDockSide):
(WebCore::InspectorFrontendClientLocal::canAttachWindow):
(WebCore::InspectorFrontendClientLocal::setAttachedWindow):
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::requestSetDockSide):

Source/WebKit/mac:

* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::frontendLoaded):
(-[WebInspectorWindowController attachWindow:]):
(-[WebInspectorWindowController attach]):
(-[WebInspectorWindowController detach]):
* WebInspector/WebInspectorFrontend.mm:
(-[WebInspectorFrontend attach]):

Source/WebKit/win:

* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorFrontendClient::frontendLoaded):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
(WebKit::WebInspectorFrontendClient::attachWindow):
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::attachedBottom):
(WebKit::WebInspector::attachedRight):
(WebKit::WebInspector::detached):

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

7 years agoSerialize ResourceResponses using WebKit types
antti@apple.com [Sat, 6 Sep 2014 17:58:46 +0000 (17:58 +0000)]
Serialize ResourceResponses using WebKit types
https://bugs.webkit.org/show_bug.cgi?id=136545

Fix the failing webarchive tests.

* platform/network/mac/ResourceResponseMac.mm:
(WebCore::ResourceResponse::initNSURLResponse): Map empty text encoding name to nil NSString.

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

7 years agoUnreviewed. Add myself as a committer.
saambarati1@gmail.com [Sat, 6 Sep 2014 17:27:27 +0000 (17:27 +0000)]
Unreviewed. Add myself as a committer.

* Scripts/webkitpy/common/config/contributors.json:

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

7 years ago[WinCairo][Curl] fileExists() incorrectly claims folder does not exist.
commit-queue@webkit.org [Sat, 6 Sep 2014 17:02:47 +0000 (17:02 +0000)]
[WinCairo][Curl] fileExists() incorrectly claims folder does not exist.
https://bugs.webkit.org/show_bug.cgi?id=136598

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

The fileExists() function will always return false on Windows,
if the filename parameter ends with a slash or backslash.

* platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::setCacheDirectory): Add slash after call to fileExists().

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

7 years agoNew clang warns about boolean checks for |this| pointer in RenderObject debug methods
ddkilzer@apple.com [Sat, 6 Sep 2014 16:04:25 +0000 (16:04 +0000)]
New clang warns about boolean checks for |this| pointer in RenderObject debug methods
<http://webkit.org/b/136599>

Reviewed by Zalan Bujtas.

Ignores the following static analyzer warnings:

    Source/WebCore/rendering/RenderObject.cpp:1465:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]
        if (!this) {
            ~^~~~
    Source/WebCore/rendering/RenderObject.cpp:1584:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]
        if (!this)
            ~^~~~

* rendering/RenderObject.cpp:
(WebCore::RenderObject::showRenderObject):
(WebCore::RenderObject::showRenderSubTreeAndMark):
Add "#pragma clang" preprocessor macros to ignore this warning
since the code is only compiled for Debug builds.  Also add a
pragma for the pragma so older clangs don't complain about an
unkonwn pragma.

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

7 years agoSerialize ResourceResponses using WebKit types
antti@apple.com [Sat, 6 Sep 2014 15:33:06 +0000 (15:33 +0000)]
Serialize ResourceResponses using WebKit types
https://bugs.webkit.org/show_bug.cgi?id=136545

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Serialization is faster and we can mostly avoid having NSURLResponses in web process.

* WebCore.exp.in:
* platform/network/ResourceLoadTiming.h:
(WebCore::ResourceLoadTiming::encode):
(WebCore::ResourceLoadTiming::decode):
* platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):

    Serialize from the WebCore data instead of serializing NSURLResponse.

* platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::ResourceResponse::cfURLResponse):

    Synthesize CFURLResponse by creating NSURLResponse on Cocoa platforms so we don't need copy code.
    This has negligible performance impact, NSURLResponse is just a wrapper around CFURLResponse.

* platform/network/mac/ResourceResponseMac.mm:
(WebCore::ResourceResponse::nsURLResponse):
(WebCore::ResourceResponse::setCertificateChain):

    Avoid unnecessary NSURLRequest instantiation in debug builds.

Source/WebKit2:

Remove the WK2 serialization code for responses. It moves to the types itself in WebCore where it is
close to the data being serialized and less likely to get out of sync.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ResourceResponse>::encode): Deleted.
(IPC::ArgumentCoder<ResourceResponse>::decode): Deleted.
* Shared/WebCoreArgumentCoders.h:
* Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<ResourceResponse>::encodePlatformData): Deleted.
(IPC::ArgumentCoder<ResourceResponse>::decodePlatformData): Deleted.

LayoutTests:

Remove failure expectations for tests fixed by this patch.

http/tests/xmlhttprequest/web-apps/012.html
http/tests/xmlhttprequest/web-apps/013.html

* platform/mac-wk2/TestExpectations:

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

7 years agoHTMLElement.cpp does not compile with new clang
ddkilzer@apple.com [Sat, 6 Sep 2014 15:02:58 +0000 (15:02 +0000)]
HTMLElement.cpp does not compile with new clang
<http://webkit.org/b/136600>

Reviewed by Chris Fleizach.

Fixes the following static analyzer warning:

    Source/WebCore/html/HTMLElement.cpp:545:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]
        if (!this || !parentNode())
            ~^~~~

* html/HTMLElement.cpp:
(WebCore::HTMLElement::setOuterText): Remove "!this" check added
in r75738.  It would only cover up real bugs, and isn't even hit
in layout tests.

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

7 years ago[EFL] Drop evas object cursor support
ryuan.choi@gmail.com [Sat, 6 Sep 2014 11:17:23 +0000 (11:17 +0000)]
[EFL] Drop evas object cursor support
https://bugs.webkit.org/show_bug.cgi?id=136324

Reviewed by Gyuyoung Kim.

Removed evas object cursor because there are some bugs.
ewebkit will only support ecore_x_cursor because ewebkit is available with X, now.

Source/WebCore:

* platform/efl/DefaultTheme/CMakeLists.txt: Removed cursor related code.
* platform/efl/DefaultTheme/default.edc: Ditto.
* platform/efl/DefaultTheme/widget/cursor/cursor.edc: Removed.
* platform/efl/EflScreenUtilities.cpp:
(WebCore::getEcoreCursor):
(WebCore::applyCursorFromEcoreX): Renamed applyFallbackCursor.
(WebCore::createCustomCursor): Added to make custom cursor.
(WebCore::applyFallbackCursor): Deleted.
* platform/efl/EflScreenUtilities.h:

Source/WebKit2:

* UIProcess/API/efl/EwkView.cpp:
(EwkViewEventHandler<EVAS_CALLBACK_MOUSE_IN>::handleEvent):
(EwkView::EwkView):
(EwkView::updateCursor): Simplifies not to use evas object cursor.
(EwkView::setCursor): Ditto.
* UIProcess/API/efl/EwkView.h:

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

7 years agoUnreviewed, EFL build fix when SHARED_CORE is on.
gyuyoung.kim@samsung.com [Sat, 6 Sep 2014 10:36:29 +0000 (10:36 +0000)]
Unreviewed, EFL build fix when SHARED_CORE is on.

* TestWebKitAPI/PlatformEfl.cmake:

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

7 years agoUnreviewed, rolling out r173335.
commit-queue@webkit.org [Sat, 6 Sep 2014 07:07:43 +0000 (07:07 +0000)]
Unreviewed, rolling out r173335.
https://bugs.webkit.org/show_bug.cgi?id=136597

Broke webgl/1.0.2/conformance/glsl/misc/shader-varying-
packing-restrictions.html (Requested by ap on #webkit).

Reverted changeset:

"Remove statically used varyings from packing restrictions
check."
https://bugs.webkit.org/show_bug.cgi?id=136585
http://trac.webkit.org/changeset/173335

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

7 years agoUnreviewed, rolling out r173340 and r173342.
commit-queue@webkit.org [Sat, 6 Sep 2014 07:02:43 +0000 (07:02 +0000)]
Unreviewed, rolling out r173340 and r173342.
https://bugs.webkit.org/show_bug.cgi?id=136596

Broke many tests (Requested by ap on #webkit).

Reverted changesets:

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

"Build fix after r173340."
http://trac.webkit.org/changeset/173342

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

7 years agoUse WTFString::split(char) in more places
commit-queue@webkit.org [Sat, 6 Sep 2014 04:58:35 +0000 (04:58 +0000)]
Use WTFString::split(char) in more places
https://bugs.webkit.org/show_bug.cgi?id=136543

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-05
Reviewed by Sam Weinig.

Source/WebCore:

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::nodeForPath):
* mathml/MathMLMencloseElement.cpp:
(WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
* page/PerformanceResourceTiming.cpp:
(WebCore::passesTimingAllowCheck):
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):
* platform/graphics/opengl/GLPlatformContext.cpp:
(WebCore::parseExtensions):
* platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::fillDataObjectFromDropData):
* platform/network/curl/CurlCacheEntry.cpp:
(WebCore::CurlCacheEntry::loadResponseHeaders):
* platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::loadIndex):

Source/WebKit2:

* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::PluginVersion::parse):
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::initInspectorServer):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::isTransparentSilverlightBackgroundValue):

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

7 years agoLaying out a TextRun using an SVG font is O(n^2)
mmaxfield@apple.com [Sat, 6 Sep 2014 04:14:15 +0000 (04:14 +0000)]
Laying out a TextRun using an SVG font is O(n^2)
https://bugs.webkit.org/show_bug.cgi?id=136584

Reviewed by Andreas Kling.

PerformanceTests:

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

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

Source/WebCore:

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

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

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

* platform/graphics/Font.h:
(WebCore::Font::treatAsSpace): Make inline.
(WebCore::Font::treatAsZeroWidthSpace): Ditto.
(WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Ditto.
* platform/graphics/SimpleFontData.h: Add String cache argument.
* platform/graphics/TextRun.h: Move member variables around for better packing.
(WebCore::TextRun::TextRun): Ditto.
* platform/graphics/WidthIterator.cpp: Add String cache argument.
(WebCore::WidthIterator::glyphDataForCharacter): Ditto.
(WebCore::WidthIterator::advanceInternal): Create String cache and pass it to
glyphDataForCharacter.
* platform/graphics/WidthIterator.h: Add String cache argument.
* rendering/svg/SVGTextRunRenderingContext.cpp: Ditto.
(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Ditto.
* rendering/svg/SVGTextRunRenderingContext.h: Ditto.
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection): Call computeNormalizedSpaces
to consult with the cache.
(WebCore::computeNormalizedSpaces): Compute cached String value.
* svg/SVGFontData.h: Add String cache argument.

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

7 years agoREGRESSION (r169407): Calls to RenderStyle::getRoundedBorderFor() in computeRoundedRe...
ddkilzer@apple.com [Sat, 6 Sep 2014 02:24:18 +0000 (02:24 +0000)]
REGRESSION (r169407): Calls to RenderStyle::getRoundedBorderFor() in computeRoundedRectForBoxShape() still include RenderView pointer
<http://webkit.org/b/136591>
<rdar://problem/18143731>

Reviewed by Simon Fraser.

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

No new tests since there is no change in behavior.

* rendering/shapes/BoxShape.cpp:
(WebCore::computeRoundedRectForBoxShape): Remove RenderView*
arguments from calls to getRoundedBorderFor().

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

7 years agoChange this test not to use a percentage width, and to use a non-blurred
simon.fraser@apple.com [Sat, 6 Sep 2014 00:25:07 +0000 (00:25 +0000)]
Change this test not to use a percentage width, and to use a non-blurred
shadow to avoid different results on Retina display systems.

* platform/mac-wk2/tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/frames/fixed-inside-frame.html:

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

7 years agobmalloc should honor the FastMalloc statistics API
ggaren@apple.com [Sat, 6 Sep 2014 00:16:18 +0000 (00:16 +0000)]
bmalloc should honor the FastMalloc statistics API
https://bugs.webkit.org/show_bug.cgi?id=136592

Reviewed by Gavin Barraclough.

Source/bmalloc:

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

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

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

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

* bmalloc/Heap.cpp:
(bmalloc::Heap::size):
(bmalloc::Heap::capacity):
* bmalloc/Heap.h:
* bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::VMHeap):
(bmalloc::VMHeap::allocateSmallChunk):
(bmalloc::VMHeap::allocateMediumChunk):
(bmalloc::VMHeap::allocateLargeChunk):
* bmalloc/VMHeap.h:
(bmalloc::VMHeap::size):
(bmalloc::VMHeap::capacity):
(bmalloc::VMHeap::allocateSmallPage):
(bmalloc::VMHeap::allocateMediumPage):
(bmalloc::VMHeap::allocateLargeRange):
(bmalloc::VMHeap::deallocateSmallPage):
(bmalloc::VMHeap::deallocateMediumPage):
(bmalloc::VMHeap::deallocateLargeRange):
* bmalloc/bmalloc.h:
(bmalloc::api::heapSize):
(bmalloc::api::heapCapacity):

Source/WTF:

* wtf/FastMalloc.cpp:
(WTF::fastMallocStatistics):

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

7 years ago[iOS] Work around bug 136593 by disabling the PDFDocumentImage live resize optimizati...
timothy_horton@apple.com [Sat, 6 Sep 2014 00:15:44 +0000 (00:15 +0000)]
[iOS] Work around bug 136593 by disabling the PDFDocumentImage live resize optimization there
https://bugs.webkit.org/show_bug.cgi?id=136594
rdar://problem/17457013

Reviewed by Simon Fraser.

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

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

7 years agoDoing a navigation on a non-opaque WKWebView can result in an empty layer tree
timothy_horton@apple.com [Sat, 6 Sep 2014 00:14:15 +0000 (00:14 +0000)]
Doing a navigation on a non-opaque WKWebView can result in an empty layer tree
https://bugs.webkit.org/show_bug.cgi?id=136590
<rdar://problem/18234000>

Reviewed by Simon Fraser.

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

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

7 years agoUnreviewed, skip tests for a feature that isn't supported
jpfau@apple.com [Sat, 6 Sep 2014 00:06:52 +0000 (00:06 +0000)]
Unreviewed, skip tests for a feature that isn't supported

* platform/mac/TestExpectations:

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

7 years agoBuild fix after r173340.
enrica@apple.com [Fri, 5 Sep 2014 23:54:34 +0000 (23:54 +0000)]
Build fix after r173340.

* WebCoreSupport/WebEditorClient.h:
(kit):
(core):

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

7 years ago<https://webkit.org/b/136586> Add bots to Apple build/test queues
lforschler@apple.com [Fri, 5 Sep 2014 23:40:23 +0000 (23:40 +0000)]
<https://webkit.org/b/136586> Add bots to Apple build/test queues

Reviewed by Daniel Bates.

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

7 years agoRemove PLATFORM(IOS) from WebCore/editing (Part 3).
enrica@apple.com [Fri, 5 Sep 2014 23:30:30 +0000 (23:30 +0000)]
Remove PLATFORM(IOS) from WebCore/editing (Part 3).
https://bugs.webkit.org/show_bug.cgi?id=136474

Reviewed by Benjamin Poulain.

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

Source/WebCore:

* editing/TextAffinity.h:
(kit): Deleted.
(core): Deleted.
* editing/cocoa/HTMLConverter.mm:
* page/mac/WebCoreFrameView.h:
* platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::platformSetScrollPosition):
(WebCore::ScrollView::platformSetScrollOrigin):
* platform/ios/wak/WAKScrollView.mm:
(-[WAKScrollView setScrollOrigin:updatePositionAtAll:immediately:]):
(-[WAKScrollView scrollOrigin]):

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.h: Added kit and core for EAffinity.
* WebView/WebFrameView.mm:
(-[WebFrameView _scrollToBeginningOfDocument]):
(-[WebFrameView _scrollToEndOfDocument]):

Source/WebKit2:

* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
* WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:
(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

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

7 years agoAdd test after r173324
jpfau@apple.com [Fri, 5 Sep 2014 23:01:16 +0000 (23:01 +0000)]
Add test after r173324

Rubber-stamped by Simon Fraser.

* storage/indexeddb/version-change-event-expected.txt: Added.
* storage/indexeddb/version-change-event.html: Added.

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

7 years agobmalloc should honor the FastMalloc scavenging API
ggaren@apple.com [Fri, 5 Sep 2014 23:00:38 +0000 (23:00 +0000)]
bmalloc should honor the FastMalloc scavenging API
https://bugs.webkit.org/show_bug.cgi?id=136588

Reviewed by Andreas Kling.

* wtf/FastMalloc.cpp:
(WTF::releaseFastMallocFreeMemory):

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

7 years agoUnreviewed GTK build fix; include StringPrintStream to pull in toString().
jer.noble@apple.com [Fri, 5 Sep 2014 22:26:20 +0000 (22:26 +0000)]
Unreviewed GTK build fix; include StringPrintStream to pull in toString().

* html/HTMLMediaElement.h:

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

7 years agoAllow pages with unload handlers in the page cache
beidson@apple.com [Fri, 5 Sep 2014 22:11:16 +0000 (22:11 +0000)]
Allow pages with unload handlers in the page cache
<rdar://problem/11084669> and https://bugs.webkit.org/show_bug.cgi?id=136535

Reviewed by Oliver Hunt.

Source/WebCore:

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

Updated tests for new behavior.

* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):

LayoutTests:

* fast/frames/frame-crash-with-page-cache-expected.txt:
* fast/frames/resources/cached-page-1.html:

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

7 years agoRemove statically used varyings from packing restrictions check.
roger_fong@apple.com [Fri, 5 Sep 2014 22:09:41 +0000 (22:09 +0000)]
Remove statically used varyings from packing restrictions check.
https://bugs.webkit.org/show_bug.cgi?id=136585.
<rdar://problem/16308409>

Reviewed by Dean Jackson.

* src/compiler/translator/Compiler.cpp:
(TCompiler::enforcePackingRestrictions):
* platform/mac/TestExpectations: Unskip build_009_to_016.html conformance test.

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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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