WebKit-https.git
6 years ago[GTK] Stop trying to install WebKit1 documentation
rakuco@webkit.org [Sun, 6 Apr 2014 16:24:48 +0000 (16:24 +0000)]
[GTK] Stop trying to install WebKit1 documentation
https://bugs.webkit.org/show_bug.cgi?id=131278

Reviewed by Martin Robinson.

* Source/PlatformGTK.cmake: Remove install() call since the WebKit1 documentation is not
built anymore since r166584. This fixes `make install'.

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

6 years agoWeb Inspector: remove unused test hook setInspectorResourcesDataSizeLimits
burg@cs.washington.edu [Sun, 6 Apr 2014 05:55:59 +0000 (05:55 +0000)]
Web Inspector: remove unused test hook setInspectorResourcesDataSizeLimits
https://bugs.webkit.org/show_bug.cgi?id=131268

Reviewed by Timothy Hatcher.

Source/WebCore:

This was used in the old inspector frontend tests for the Network panel.
It's no longer used by any tests or frontend code.

* WebCore.exp.in: Remove symbols.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setInspectorResourcesDataSizeLimits): Deleted.
* inspector/InspectorController.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::setResourcesDataSizeLimitsFromInternals): Deleted.
* inspector/InspectorResourceAgent.h:
* inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::setResourcesDataSizeLimits): Deleted.
* inspector/NetworkResourcesData.h:
* testing/Internals.cpp:
(WebCore::Internals::setInspectorResourcesDataSizeLimits): Deleted.
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove symbols.

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

6 years ago[WK2] Fix unused parameter compile warning.
commit-queue@webkit.org [Sun, 6 Apr 2014 02:33:37 +0000 (02:33 +0000)]
[WK2] Fix unused parameter compile warning.
https://bugs.webkit.org/show_bug.cgi?id=131260

Patch by Miyoung Shin <myid.m.shin@gmail.com> on 2014-04-05
Reviewed by Gyuyoung Kim.

fix unused parameter warning in the WebKit2 build.

* UIProcess/API/APIDownloadClient.h:
(API::DownloadClient::didReceiveData):
(API::DownloadClient::shouldDecodeSourceDataOfMIMEType):
(API::DownloadClient::decideDestinationWithSuggestedFilename):
(API::DownloadClient::didCreateDestination):

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

6 years agoREGRESSION (NetworkProcess): Subresources fail to load from AppCache
ap@apple.com [Sun, 6 Apr 2014 01:00:01 +0000 (01:00 +0000)]
REGRESSION (NetworkProcess): Subresources fail to load from AppCache
https://bugs.webkit.org/show_bug.cgi?id=131262
<rdar://problem/15370653>

Reviewed by Sam Weinig.

Source/WebCore:

Exported ApplicationCacheHost::maybeLoadResource. Changed it to take a const
reference to ResourceRequest, as appropriate for WebResourceLoadScheduler.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::maybeLoadResource):
* loader/appcache/ApplicationCacheHost.h:

Source/WebKit2:

* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad): Check application cache,
as done in ResourceLoader::start() for in-process loads.

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

6 years agoWeb Inspector: remove unused metrics and commands from the Timeline agent
burg@cs.washington.edu [Sun, 6 Apr 2014 00:51:14 +0000 (00:51 +0000)]
Web Inspector: remove unused metrics and commands from the Timeline agent
https://bugs.webkit.org/show_bug.cgi?id=131184

Reviewed by Timothy Hatcher.

Source/WebCore:

This patch removes several instrumentation hooks that are not being
used by the frontend in any way. Most of them are not hooked up to
produce any data, so they just clutter up InspectorClient and the agent.

* WebCore.exp.in: Remove didBeginFrame/didCancelFrame.
* inspector/InspectorClient.h: Remove client methods that are never overridden.
(WebCore::InspectorClient::canMonitorMainThread): Deleted.
(WebCore::InspectorClient::supportsFrameInstrumentation): Deleted.
(WebCore::InspectorClient::getAllocatedObjects): Deleted.
(WebCore::InspectorClient::dumpUncountedAllocatedObjects): Deleted.

* inspector/InspectorController.cpp: Remove unused instrumentation.
(WebCore::InspectorController::didBeginFrame): Deleted.
(WebCore::InspectorController::didCancelFrame): Deleted.
(WebCore::InspectorController::didComposite): Deleted.
(WebCore::InspectorController::wilComposite): Deleted.
* inspector/InspectorController.h:

* inspector/InspectorTimelineAgent.cpp: Remove the backend's BeginFrame enum
value, but keep it in the protocol for when it is reimplemented. Remove
management of the current frame record, and simplify some code.
(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
(WebCore::InspectorTimelineAgent::clearRecordStack):
(WebCore::InspectorTimelineAgent::canMonitorMainThread): Deleted.
(WebCore::InspectorTimelineAgent::supportsFrameInstrumentation): Deleted.
(WebCore::InspectorTimelineAgent::didBeginFrame): Deleted.
(WebCore::InspectorTimelineAgent::didCancelFrame): Deleted.
(WebCore::InspectorTimelineAgent::didComposite): Deleted.
(WebCore::InspectorTimelineAgent::wilComposite): Deleted.
(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline): Deleted. Undo telescoping.
(WebCore::usedHeapSize): Deleted.
(WebCore::InspectorTimelineAgent::commitFrameRecord): Deleted.
* inspector/InspectorTimelineAgent.h:
(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
* inspector/protocol/Timeline.json:

* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp: Remove
instrumentation hook for beginFrame. This is the only backend that implements it.
(WebCore::CompositingCoordinator::syncDisplayState):

* testing/Internals.cpp: Remove crufty test methods that aren't used.
(WebCore::Internals::emitInspectorDidBeginFrame): Deleted.
(WebCore::Internals::emitInspectorDidCancelFrame): Deleted.
* testing/Internals.h:
* testing/Internals.idl:

Source/WebInspectorUI:

Remove the Memory domain from old protocol versions. Remove enum values
BeginFrame and CompositeLayers. Remove arguments to Timeline.start.
Remove miscellaneous Timeline commands that no longer exist and were never used.

* UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
* UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
* Versions/Inspector-iOS-6.0.json:
* Versions/Inspector-iOS-7.0.json:

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove symbols.

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

6 years agoFrequent PluginProcess crashes at libsqlite3.dylib: openDatabase
ap@apple.com [Sun, 6 Apr 2014 00:50:33 +0000 (00:50 +0000)]
Frequent PluginProcess crashes at libsqlite3.dylib: openDatabase
https://bugs.webkit.org/show_bug.cgi?id=131264
<rdar://problem/14165329>

Reviewed by Sam Weinig.

Don't create NSURLCache until after having called setenv.

* PluginProcess/PluginProcess.h: Added m_nsurlCacheDirectory.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializePluginProcess): Compute NSURL cache path
on our own. This does not match CFNetwork's result in most cases, but should work
equally well.
(WebKit::PluginProcess::initializeSandbox): Create a cache with our path and best
guess for capacity.

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

6 years agoREGRESSION (r163914): Application cache cannot be used in main frame
ap@apple.com [Sun, 6 Apr 2014 00:48:04 +0000 (00:48 +0000)]
REGRESSION (r163914): Application cache cannot be used in main frame
https://bugs.webkit.org/show_bug.cgi?id=131263
<rdar://problem/16532063>

Reviewed by Sam Weinig.

* loader/appcache/ApplicationCacheHost.cpp: (WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):
Don't check main frame origin when loading into main frame, it's not a 3rd party
subframe, and the URL is unrelated to the page we are loading now.

* loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::cacheForMainRequest):
Removed the same incorrect check that was duplicated here. The only caller already
checks isApplicationCacheBlockedForRequest().

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

6 years ago[Xcode] Clean up the platform/graphics group
mitz@apple.com [Sat, 5 Apr 2014 22:55:12 +0000 (22:55 +0000)]
[Xcode] Clean up the platform/graphics group
https://bugs.webkit.org/show_bug.cgi?id=131271

Reviewed by Eric Carlson.

* WebCore.xcodeproj/project.pbxproj: Created an opentype group and moved opentype file
references into it. Removed duplicate file references.

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

6 years ago[CMake] Include X11's include dirs in TestNetscapePlugin
rakuco@webkit.org [Sat, 5 Apr 2014 22:02:49 +0000 (22:02 +0000)]
[CMake] Include X11's include dirs in TestNetscapePlugin
https://bugs.webkit.org/show_bug.cgi?id=131270

Reviewed by Martin Robinson.

* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt: Include X11_INCLUDE_DIR since
TestNetscapePlugin includes WebCore code that includes X headers.

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

6 years agoRemove unused type casting helpers for HTMLUnknownElement...
akling@apple.com [Sat, 5 Apr 2014 21:46:01 +0000 (21:46 +0000)]
Remove unused type casting helpers for HTMLUnknownElement...

...to fix the debug build.

* html/HTMLUnknownElement.h:

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

6 years agoCanvas strokeText and fillText with SourceIn, DestinationIn, SourceOut, DestinationAt...
krit@webkit.org [Sat, 5 Apr 2014 21:34:44 +0000 (21:34 +0000)]
Canvas strokeText and fillText with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
https://bugs.webkit.org/show_bug.cgi?id=66766

Reviewed by Andreas Kling.

Source/WebCore:

Use transparency layers to draw text with certain compositing modes on
the canvas. This follows the Canvas specification and makes WebKit fully
compatible with IE. It also makes it more compatible with Firefox, even though
Firefox still has some bugs.

Test: fast/canvas/canvas-composite-text-alpha.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):

LayoutTests:

330 tests check compositing on Canvas with text.

* fast/canvas/canvas-composite-text-alpha-expected.txt: Added.
* fast/canvas/canvas-composite-text-alpha.html: Added.

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

6 years agoDevirtualize isHTMLUnknownElement().
akling@apple.com [Sat, 5 Apr 2014 21:33:19 +0000 (21:33 +0000)]
Devirtualize isHTMLUnknownElement().
<https://webkit.org/b/131269>

We were hitting isHTMLUnknownElement() pretty hard when marking
out-of-document Nodes. (The check is part of isHTMLAudioElement()
which is called by JSNodeOwner::isReachableFromOpaqueRoots().)

This patch uses a Node flag for the unknown element instead.
I'm also adding HTMLUnknownElement.{h,idl} to the Xcode project
since they were suspiciously missing.

Reviewed by Benjamin Poulain.

* WebCore.xcodeproj/project.pbxproj:
* dom/Node.h:
* html/HTMLElement.h:
(WebCore::HTMLElement::isHTMLUnknownElement):
* html/HTMLUnknownElement.h:
(WebCore::toHTMLUnknownElement): Deleted.

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

6 years agoAdd missing files from r166837
mhahnenberg@apple.com [Sat, 5 Apr 2014 20:06:57 +0000 (20:06 +0000)]
Add missing files from r166837

* heap/GCLogging.cpp: Added.
(JSC::GCLogging::levelAsString):
(JSC::LoggingFunctor::LoggingFunctor):
(JSC::LoggingFunctor::~LoggingFunctor):
(JSC::LoggingFunctor::operator()):
(JSC::LoggingFunctor::log):
(JSC::LoggingFunctor::reviveCells):
(JSC::LoggingFunctor::returnValue):
(JSC::GCLogging::dumpObjectGraph):
* heap/GCLogging.h: Added.

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

6 years agoEnhanced GC logging
mhahnenberg@apple.com [Sat, 5 Apr 2014 20:05:04 +0000 (20:05 +0000)]
Enhanced GC logging
https://bugs.webkit.org/show_bug.cgi?id=131246

Reviewed by Geoff Garen.

Source/JavaScriptCore:

Getting data on the state of the JSC Heap at runtime is currently in a sad state.
The OBJECT_MARK_LOGGING macro enables some basic GC logging, but it requires a full
recompile to turn it on. It would be nice if we could runtime enable our GC logging
infrastructure while incurring minimal cost when it is disabled.

It would also be nice to get a complete view of the Heap. Currently OBJECT_MARK_LOGGING
provides us with the discovered roots along with parent-child relationships as objects
are scanned. However, once an object is scanned it will never be declared as the child
of another object during that collection. This gives us a tree-like view of the
Heap (i.e. each scanned node only reports having a single parent), where the actual
Heap can be an arbitrary graph.

This patch replaces OBJECT_MARK_LOGGING and gives us these nice to haves. First it enhances
our logGC() runtime Option by changing it to be a tri-state value of None, Basic, or Verbose
logging levels. None means no logging is done, Basic is what logGC() = true would have done
prior to this patch, and Verbose logs all object relationships.

JSCell has new dump/dumpToStream methods, the latter of which is "virtual" to allow
subclasses to override the default string representation that will be dumped. These
methods allow JSCells to be dumped using the standard dataLog() calls similar to much of
the logging infrastructure in our compilers.

This patch also adds a GCLogging class that handles dumping the relationships between objects.
It does this by using the pre-existing visitChildren virtual methods to obtain the immediate
children of each live cell at the end of garbage collection.

This change meets our goal of being neutral on the benchmarks we track.

* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/GCLogging.cpp: Added.
(JSC::GCLogging::levelAsString):
(JSC::LoggingFunctor::LoggingFunctor):
(JSC::LoggingFunctor::operator()):
(JSC::LoggingFunctor::log):
(JSC::LoggingFunctor::reviveCells):
(JSC::LoggingFunctor::returnValue):
(JSC::GCLogging::dumpObjectGraph):
* heap/GCLogging.h: Added.
* heap/GCSegmentedArray.h:
(JSC::GCSegmentedArray::begin):
(JSC::GCSegmentedArray::end):
* heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::visitSmallStrings):
(JSC::Heap::visitConservativeRoots):
(JSC::Heap::visitCompilerWorklists):
(JSC::Heap::visitProtectedObjects):
(JSC::Heap::visitTempSortVectors):
(JSC::Heap::visitArgumentBuffers):
(JSC::Heap::visitException):
(JSC::Heap::visitStrongHandles):
(JSC::Heap::visitHandleStack):
(JSC::Heap::traceCodeBlocksAndJITStubRoutines):
(JSC::Heap::visitWeakHandles):
(JSC::Heap::updateObjectCounts):
(JSC::Heap::collect):
(JSC::Heap::didFinishCollection):
* heap/Heap.h:
* heap/MarkStack.h:
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::dump):
* heap/SlotVisitor.h:
(JSC::SlotVisitor::markStack):
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::internalAppend):
* runtime/ClassInfo.h:
* runtime/JSCell.cpp:
(JSC::JSCell::dump):
(JSC::JSCell::dumpToStream):
(JSC::JSCell::className):
* runtime/JSCell.h:
* runtime/JSCellInlines.h:
(JSC::JSCell::visitChildren):
* runtime/JSString.cpp:
(JSC::JSString::dumpToStream):
(JSC::JSString::visitChildren):
* runtime/JSString.h:
(JSC::JSString::length):
(JSC::JSRopeString::RopeBuilder::length):
* runtime/Options.cpp:
(JSC::parse):
(JSC::Options::setOption):
(JSC::Options::dumpOption):
* runtime/Options.h:

Source/WTF:

Remove OBJECT_MARK_LOGGING

* wtf/FeatureDefines.h:
* wtf/Platform.h:

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

6 years agoCanvas stroke and strokeRect with SourceIn, DestinationIn, SourceOut, DestinationAtop...
krit@webkit.org [Sat, 5 Apr 2014 19:57:00 +0000 (19:57 +0000)]
Canvas stroke and strokeRect with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
https://bugs.webkit.org/show_bug.cgi?id=66762

Reviewed by Andreas Kling.

Source/WebCore:

For fill operations we create a new ImageBuffer to ensure that the results are composited
correctly according to the Canvas spec. This patch creates a new transparency layer
for stroking on certain compositing operators to archive the same. This makes WebKit's
behavior interoperable with Firefox and IE as well.

Test: fast/fast/canvas/canvas-composite-stroke-alpha.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::strokeInternal):
(WebCore::CanvasRenderingContext2D::strokeRect):

LayoutTests:

330 tests based on canvas-composite-alpha to test correct compositing behavior with
strokeRect() and stroke().

* fast/canvas/canvas-composite-stroke-alpha-expected.txt: Added.
* fast/canvas/canvas-composite-stroke-alpha.html: Added.

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

6 years agoRemove bogus ASSERT in -JSVirtualMachine scanObjectGraph
mhahnenberg@apple.com [Sat, 5 Apr 2014 19:54:18 +0000 (19:54 +0000)]
Remove bogus ASSERT in -JSVirtualMachine scanObjectGraph
https://bugs.webkit.org/show_bug.cgi?id=131251

Reviewed by Geoffrey Garen.

* API/JSVirtualMachine.mm:
(scanExternalObjectGraph):
* API/tests/testapi.mm:

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

6 years agoUse preallocated stack reference to store adjacentBacktrackingStart
commit-queue@webkit.org [Sat, 5 Apr 2014 19:31:58 +0000 (19:31 +0000)]
Use preallocated stack reference to store adjacentBacktrackingStart
https://bugs.webkit.org/show_bug.cgi?id=131237

Patch by Yusuke Suzuki <utatane.tea@gmail.com> on 2014-04-05
Reviewed by Benjamin Poulain.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateBacktrackingTailsIfNeeded):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacent): Deleted.
(WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures): Deleted.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDescendantBacktrackingTail): Deleted.
* cssjit/StackAllocator.h:
(WebCore::StackAllocator::allocateUninitialized):

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

6 years agoSource/WebCore: bad values from HTMLImageElement x and y attributes (CSSOM-View)
commit-queue@webkit.org [Sat, 5 Apr 2014 13:52:11 +0000 (13:52 +0000)]
Source/WebCore: bad values from HTMLImageElement x and y attributes (CSSOM-View)
https://bugs.webkit.org/show_bug.cgi?id=130308

Patch by Jeongeun Kim <je_julie.kim@samsung.com> on 2014-04-05
Reviewed by Simon Fraser.

According to CSSOM-View, interface HTMLImageElement,
The x attribute must return the x-coordinate.
If style is not updated when x() is called, it can’t return anything.
Style and layout should be done before getting value for x() and y().

Test: cssom/cssom-view-img-attributes-001.html

* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::x):
(WebCore::HTMLImageElement::y):

LayoutTests: bad values from HTMLImageElement x and y attributes (CSSOM-View)
https://bugs.webkit.org/show_bug.cgi?id=130308

Patch by Jeongeun Kim <je_julie.kim@samsung.com> on 2014-04-05
Reviewed by Simon Fraser.

According to CSSOM-View, ‘interface HTMLImageElement’,
The x attribute must return the x-coordinate.
If style is not updated when x() is called, it can’t return anything.
Style and layout should be done before getting value for x() and y().

* cssom/cssom-view-img-attributes-001-expected.txt: Added.
* cssom/cssom-view-img-attributes-001.html: Added.

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

6 years agoREGRESSION (r166529): Fix build after renaming TileCache to LegacyTileCache
ddkilzer@apple.com [Sat, 5 Apr 2014 13:34:17 +0000 (13:34 +0000)]
REGRESSION (r166529): Fix build after renaming TileCache to LegacyTileCache
<http://webkit.org/b/130986>

* Scripts/check-for-inappropriate-objc-class-names: Add 'Legacy'
prefix to TileCache class names in exception list.

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

6 years ago[EFL][WK1] Apply override and final keyword for ChromeClientEfl
ryuan.choi@samsung.com [Sat, 5 Apr 2014 12:24:58 +0000 (12:24 +0000)]
[EFL][WK1] Apply override and final keyword for ChromeClientEfl
https://bugs.webkit.org/show_bug.cgi?id=131261

Reviewed by Gyuyoung Kim.

There are unnecessary virtual methods in ChromeClientEfl.
Almost methods are already removed from parent class and
the others does not need to be virtual method.

This patch removed them and applied override and final.

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::scheduleAnimation):
(WebCore::ChromeClientEfl::serviceScriptedAnimations): Deleted.
(WebCore::ChromeClientEfl::cancelGeolocationPermissionForFrame): Deleted.
(WebCore::ChromeClientEfl::invalidateContents): Deleted.
(WebCore::ChromeClientEfl::cancelGeolocationPermissionRequestForFrame): Deleted.
(WebCore::ChromeClientEfl::iconForFiles): Deleted.
* WebCoreSupport/ChromeClientEfl.h:
(WebCore::ChromeClientEfl::scrollRectIntoView): Deleted.
(WebCore::ChromeClientEfl::numWheelEventHandlersChanged): Deleted.

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

6 years ago[CSS Shapes] Remove CSSBoxType member from BasicShape and CSSBasicShape
zoltan@webkit.org [Sat, 5 Apr 2014 08:22:35 +0000 (08:22 +0000)]
[CSS Shapes] Remove CSSBoxType member from BasicShape and CSSBasicShape
https://bugs.webkit.org/show_bug.cgi?id=129706

Reviewed by Andreas Kling.

The CSSBoxType has been moved up to ShapeValue and is no longer needed in the BasicShape classes.

No new tests, no behavior change.

* css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape):
(WebCore::basicShapeForValue):
* rendering/style/BasicShapes.cpp:
(WebCore::BasicShape::canBlend):
* rendering/style/BasicShapes.h:
(WebCore::BasicShape::referenceBox): Deleted.
(WebCore::BasicShape::setReferenceBox): Deleted.
(WebCore::BasicShape::BasicShape): Deleted.

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

6 years agoWebProcess freezes after fast/forms/form-associated-element-crash3.html test
ap@apple.com [Sat, 5 Apr 2014 08:19:51 +0000 (08:19 +0000)]
WebProcess freezes after fast/forms/form-associated-element-crash3.html test
https://bugs.webkit.org/show_bug.cgi?id=122130

fast/forms/form-associated-element-crash.html often times out on Mavericks WK1
https://bugs.webkit.org/show_bug.cgi?id=124593

With underlying bug having been fixed in OS X 10.9.2, removing expectations
for form-associated-element tests that were affected by it.

I'm not sure if Mountain Lion was affected, let's see if tests start to fail there.

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
* platform/wk2/TestExpectations:

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

6 years agoFix the 32-bit build after r166818.
mrowe@apple.com [Sat, 5 Apr 2014 07:08:36 +0000 (07:08 +0000)]
Fix the 32-bit build after r166818.

* WebCore.exp.in:

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

6 years agoWeb Inspector: hook up probe samples to TimelineAgent's records
burg@cs.washington.edu [Sat, 5 Apr 2014 05:53:51 +0000 (05:53 +0000)]
Web Inspector: hook up probe samples to TimelineAgent's records
https://bugs.webkit.org/show_bug.cgi?id=131127

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* inspector/ScriptDebugListener.h: Add a proper forward declaration for ScriptBreakpointAction.

Source/WebCore:

Hook up probe callbacks from ScriptDebugListener so that timeline records are
created for probe samples. The record includes the probe identifier and hit count.
The actual probe evaluation result is sent separately by DebuggerAgent, and
can be looked up in frontend models using the identifier and hit count.

* inspector/InspectorTimelineAgent.cpp: Only listen to the debug server when recording.
(WebCore::InspectorTimelineAgent::start):
(WebCore::InspectorTimelineAgent::stop):
(WebCore::InspectorTimelineAgent::breakpointActionProbe):
(WebCore::toProtocol):
* inspector/InspectorTimelineAgent.h:
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createProbeSampleData):
* inspector/TimelineRecordFactory.h:
* inspector/protocol/Timeline.json: Add new enum value.

Source/WebInspectorUI:

* UserInterface/Controllers/TimelineManager.js: Stub out a case for the ProbeSample record type.
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):

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

6 years agoUnreviewed build fix.
bfulgham@apple.com [Sat, 5 Apr 2014 04:52:41 +0000 (04:52 +0000)]
Unreviewed build fix.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add missing
symbol export.

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

6 years agoWeb Inspector: JSContext inspection Resource search throws exception
commit-queue@webkit.org [Sat, 5 Apr 2014 03:54:05 +0000 (03:54 +0000)]
Web Inspector: JSContext inspection Resource search throws exception
https://bugs.webkit.org/show_bug.cgi?id=131253

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-04-04
Reviewed by Timothy Hatcher.

Fail gracefully when none of the supported search backends are available.
In JSContext inspection the DOM and Page agents are unavailable.

* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype.performSearch):

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

6 years agoWeb Inspector: JSContext inspection - TypeError: null is not an object (evaluating...
commit-queue@webkit.org [Sat, 5 Apr 2014 03:52:05 +0000 (03:52 +0000)]
Web Inspector: JSContext inspection - TypeError: null is not an object (evaluating 'contentView.showSourceCode')
https://bugs.webkit.org/show_bug.cgi?id=129857

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-04-04
Reviewed by Timothy Hatcher.

When inspecting a JSContext, there is no main frame resource, so
attempting to show it was resulting in a runtime error.
Instead, check to see if there is a main frame resource, fallback
to selecting the first tree element.

* UserInterface/Base/Main.js:
(WebInspector.toggleConsoleView):
* UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):

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

6 years agoStreamline cached wrapper lookup for Nodes in the normal world.
akling@apple.com [Sat, 5 Apr 2014 03:17:09 +0000 (03:17 +0000)]
Streamline cached wrapper lookup for Nodes in the normal world.
<https://webkit.org/b/131249>

Inline the hot path for toJS(..., Node*) for cached wrapper lookups
in the normal world. (Or really, out-of-line the cold path, since
that was preventing the compiler from inlining this function.)

Also have JSDOMGlobalObject cache the "is normal world" flag from
the DOMWrapperWorld so we can avoid the extra load.

Reviewed by Benjamin Poulain.

* WebCore.exp.in:
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
* bindings/js/JSDOMGlobalObject.h:
(WebCore::JSDOMGlobalObject::worldIsNormal):
* bindings/js/JSNodeCustom.cpp:
(WebCore::getOutOfLineCachedWrapper):
* bindings/js/JSNodeCustom.h:
(WebCore::toJS):

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

6 years agoUnreviewed, rolling out r166820.
commit-queue@webkit.org [Sat, 5 Apr 2014 03:15:24 +0000 (03:15 +0000)]
Unreviewed, rolling out r166820.
https://bugs.webkit.org/show_bug.cgi?id=131256

Broke builds. (Requested by bdash on #webkit).

Reverted changeset:

"WIP for inlining C++.  Added a build target to produce llvm
ir."
https://bugs.webkit.org/show_bug.cgi?id=130523
http://trac.webkit.org/changeset/166820

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

6 years agoUnreviewed. iOS Build fix after r166818.
joepeck@webkit.org [Sat, 5 Apr 2014 03:03:37 +0000 (03:03 +0000)]
Unreviewed. iOS Build fix after r166818.

These member variables / declarations are accessed by iOS
in shared code in TelephoneNumberOverlayControllerMac.

* WebProcess/WebPage/TelephoneNumberOverlayController.h:

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

6 years agoWIP for inlining C++. Added a build target to produce llvm ir.
commit-queue@webkit.org [Sat, 5 Apr 2014 02:47:29 +0000 (02:47 +0000)]
WIP for inlining C++.  Added a build target to produce llvm ir.
https://bugs.webkit.org/show_bug.cgi?id=130523

Patch by Matthew Mirman <mmirman@apple.com> on 2014-04-04
Reviewed by Filip Pizlo.

The llvm ir gets placed JavaScriptCoreRuntimeToLLVMir.build with the extension .o

* JavaScriptCore.xcodeproj/project.pbxproj:
* build_index.py: Added.
* Configurations/CompileRuntimeToLLVMir.xcconfig: Added.

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

6 years agoUnreviewed. Rollout r166812, breaks 32-bit Mavericks build.
joepeck@webkit.org [Sat, 5 Apr 2014 01:24:30 +0000 (01:24 +0000)]
Unreviewed. Rollout r166812, breaks 32-bit Mavericks build.

* Shared/mac/CookieStorageShim.mm:
(WebKit::CookieStorageShim::initialize):
(-[WKNSURLSessionLocal _copyCookiesForRequestUsingAllAppropriateStorageSemantics:]):

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

6 years agoShow DataDetector UI on scanned phone numbers.
beidson@apple.com [Sat, 5 Apr 2014 01:10:11 +0000 (01:10 +0000)]
Show DataDetector UI on scanned phone numbers.
<rdar://problem/16379588> and https://bugs.webkit.org/show_bug.cgi?id=131247

Reviewed by Tim Horton.

Source/WebCore:

Gather the ranges of the scanned telephone numbers and send them up to WK2:
* editing/Editor.cpp:
(WebCore::Editor::respondToChangedSelection):
(WebCore::Editor::scanSelectionForTelephoneNumbers):
(WebCore::Editor::scanRangeForTelephoneNumbers):
* editing/Editor.h:

Add client method to receive scanned telephone number ranges:
* page/EditorClient.h:
(WebCore::EditorClient::selectedTelephoneNumberRangesChanged):

Remove unneeded placeholder UI:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDocumentMarkers):
(WebCore::InlineTextBox::computeRectForReplacementMarker): Deleted.
(WebCore::InlineTextBox::paintCompositionUnderline): Deleted.
* rendering/InlineTextBox.h:
(WebCore::InlineTextBox::expansionBehavior): Deleted.

Source/WebKit2:

Add a new PageOverlay for telephone number UI, handle drawing the UI, and
handle mouse clicks on the button in that UI.

Even though clicks are detected, they aren’t acted upon yet.

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::selectedTelephoneNumberRangesChanged): Pass ranges to
  the TelephoneNumberController.
* WebProcess/WebCoreSupport/WebEditorClient.h:

This controller handles installing/removing the PageOverlay, drawing the UI elements,
and handling mouse events while any of the UI elements are shown.
There’s also a clumsy attempt to keep platform-specific parts separated out.
* WebProcess/WebPage/TelephoneNumberOverlayController.cpp: Added.
(WebKit::TelephoneNumberOverlayController::TelephoneNumberOverlayController):
(WebKit::TelephoneNumberOverlayController::createOverlayIfNeeded):
(WebKit::TelephoneNumberOverlayController::destroyOverlay):
(WebKit::TelephoneNumberOverlayController::pageOverlayDestroyed):
(WebKit::TelephoneNumberOverlayController::willMoveToWebPage):
(WebKit::TelephoneNumberOverlayController::didMoveToWebPage):
(WebKit::TelephoneNumberOverlayController::rectsForDrawing):
(WebKit::TelephoneNumberOverlayController::selectedTelephoneNumberRangesChanged):

* WebProcess/WebPage/TelephoneNumberOverlayController.h: Added.
(WebKit::TelephoneNumberOverlayController::create):

* WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm: Added.
(WebKit::TelephoneNumberOverlayController::drawRect):
(WebKit::TelephoneNumberOverlayController::handleTelephoneClick):
(WebKit::TelephoneNumberOverlayController::mouseEvent):
(WebKit::TelephoneNumberOverlayController::clearMouseDownInformation):
(WebKit::TelephoneNumberOverlayController::clearHighlights):

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::telephoneNumberOverlayController):
* WebProcess/WebPage/WebPage.h:

* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoAX: supportsARIAExpanded should always return true for a few roles: combobox, disclosure.
commit-queue@webkit.org [Sat, 5 Apr 2014 00:37:55 +0000 (00:37 +0000)]
AX: supportsARIAExpanded should always return true for a few roles: combobox, disclosure.
https://bugs.webkit.org/show_bug.cgi?id=129787

Patch by James Craig <jcraig@apple.com> on 2014-04-04
Reviewed by Chris Fleizach.

Source/WebCore:

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::supportsARIAExpanded):

LayoutTests:

* inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
* inspector-protocol/dom/getAccessibilityPropertiesForNode.html:

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

6 years agoWeb Inspector: Log JS Exceptions to System Console if JavaScriptCoreOutputConsoleMess...
commit-queue@webkit.org [Fri, 4 Apr 2014 23:54:59 +0000 (23:54 +0000)]
Web Inspector: Log JS Exceptions to System Console if JavaScriptCoreOutputConsoleMessagesToSystemConsole enabled
https://bugs.webkit.org/show_bug.cgi?id=131241

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-04-04
Reviewed by Timothy Hatcher.

* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::reportAPIException):
Log the exception to the system console if system console output is enabled.

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

6 years agoInclude Session ID in WebPageCreationParameters.
mhock@apple.com [Fri, 4 Apr 2014 23:53:36 +0000 (23:53 +0000)]
Include Session ID in WebPageCreationParameters.
https://bugs.webkit.org/show_bug.cgi?id=131239

<rdar://problem/16175483>

Reviewed by Sam Weinig.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):

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

6 years agoJSGenerateToNativeObject should use fast JSNode/JSElement casts.
akling@apple.com [Fri, 4 Apr 2014 23:30:50 +0000 (23:30 +0000)]
JSGenerateToNativeObject should use fast JSNode/JSElement casts.
<https://webkit.org/b/131245>

Make JSGenerateToNativeObject spit out code using the fast new wrapper
casts for JSNode and JSElement.

This avoids walking the ClassInfo chain in many core functions, e.g:

    - Node.insertBefore()
    - Node.replaceChild()
    - Node.removeChild()
    - Node.appendChild()
    - window.getComputedStyle()

Reviewed by Geoff Garen.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):

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

6 years ago[CSS Shapes] polygon y-value calc() args serialize incorrectly
zoltan@webkit.org [Fri, 4 Apr 2014 23:25:41 +0000 (23:25 +0000)]
[CSS Shapes] polygon y-value calc() args serialize incorrectly
https://bugs.webkit.org/show_bug.cgi?id=129842

Reviewed by Bem Jones-Bey.

Source/WebCore:

The code hit ASSERT(isCalculation(value)) in CSSParser::createPrimitiveNumbericValue, because
CSSParser::validUnit had been called on both coordinates, which set the value for m_parsedCalculation,
but only one of the coordinates was calculation value. I reordered calling valudUnit and
createPrimitiveNumbericValue to be called in the correct order on the coordinates.

I added the new test case to parsing-test-utils.js.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseBasicShapePolygon):

LayoutTests:

* fast/shapes/parsing/parsing-shape-outside-expected.txt:
* fast/shapes/parsing/parsing-test-utils.js:

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

6 years ago[Mac][WK2] Videos do not have access to session cookies
jer.noble@apple.com [Fri, 4 Apr 2014 23:15:10 +0000 (23:15 +0000)]
[Mac][WK2] Videos do not have access to session cookies
https://bugs.webkit.org/show_bug.cgi?id=129687

Reviewed by Eric Carlson.

Update the CookieStorageShim to track changes in underlying networking stack.

* Shared/mac/CookieStorageShim.mm:
(WebKit::CookieStorageShim::initialize):
(-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):

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

6 years agoWeb Replay: capture and replay wheel events and scroll commands
burg@cs.washington.edu [Fri, 4 Apr 2014 23:14:15 +0000 (23:14 +0000)]
Web Replay: capture and replay wheel events and scroll commands
https://bugs.webkit.org/show_bug.cgi?id=129402

.:

Reviewed by Timothy Hatcher.

* ManualTests/inspector/replay-wheel-events.html: Added.

Source/WebCore:

Reviewed by Timothy Hatcher and Simon Fraser.

To capture and replay scrolling, the scrolling coordinator will force synchronous
scrolling during capture and replay. If the page is capturing or replaying,
ForceOnMainThread will be added to the coordinator's SynchronousScrollingReasons.

A callback was added to signal that replay session state have changed,
and thus the synchronous scrolling reasons should be recomputed.

Automated replay reftests for scrolling are not included, because they will be
too flaky until more nondeterminism is handled. Specifically, resource loading,
initial focus/active state, and parsing are known blocking issues.

Test: ManualTests/inspector/replay-wheel-events.html

* page/scrolling/ScrollingCoordinator.cpp: Add a new callback for replay state
session changes. Add ForceOnMainThread if the page's active input cursor is
capturing or replaying.

(WebCore::ScrollingCoordinator::synchronousScrollingReasons):
(WebCore::ScrollingCoordinator::replaySessionStateDidChange): Added.
* page/scrolling/ScrollingCoordinator.h:

* platform/PlatformWheelEvent.h:
* platform/ScrollTypes.h: Add explicit enum storage types so these enums can
be forward-declared. This is necessary to generate enum encode/decode implementations.

* replay/ReplayController.cpp:
(WebCore::ReplayController::setForceDeterministicSettings): If async scrolling
support is available, tell the scrolling tree to behave deterministically.

* replay/ReplayInputDispatchMethods.cpp:
(WebCore::HandleWheelEvent::dispatch): Added.
(WebCore::LogicalScrollPage::dispatch): Added.
(WebCore::ScrollPage::dispatch): Added.
* replay/SerializationMethods.cpp: Introduce more specific macros for values
deserialized to arbitraray lvalues, scalars, RefPtr, and unique_ptr. Fix existing
uses of decode macros.

(JSC::EncodingTraits<NondeterministicInputBase>::encodeValue): Fix macro name.
(JSC::EncodingTraits<KeypressCommand>::encodeValue): Fix macro name.
(JSC::EncodingTraits<PlatformKeyboardEvent>::encodeValue): Fix macro name.
(JSC::EncodingTraits<PlatformMouseEvent>::encodeValue): Fix macro name.
(JSC::PlatformWheelEventCocoa::PlatformWheelEventCocoa): Added. Encapsulate
and initialize data members specific to PLATFORM(COCOA).

(JSC::EncodingTraits<PlatformWheelEvent>::encodeValue): Added.
(JSC::EncodingTraits<PlatformWheelEvent>::decodeValue): Added.
* replay/SerializationMethods.h:
* replay/UserInputBridge.cpp: Fill in bridge methods to capture inputs.
(WebCore::UserInputBridge::handleWheelEvent):
(WebCore::UserInputBridge::scrollRecursively):
(WebCore::UserInputBridge::logicalScrollRecursively):
* replay/WebInputs.json: Add inputs and new enum types.

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

6 years agoImprove error checking in WebPageProxy::didReceiveEvent
ap@apple.com [Fri, 4 Apr 2014 22:56:27 +0000 (22:56 +0000)]
Improve error checking in WebPageProxy::didReceiveEvent
https://bugs.webkit.org/show_bug.cgi?id=131243
<rdar://problem/16529207>

Reviewed by Anders Carlsson.

* UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didReceiveEvent):

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

6 years agoUnreviewed gardening. Mark a flakey test that is failing intermittenly in pixel tests.
joepeck@webkit.org [Fri, 4 Apr 2014 22:46:44 +0000 (22:46 +0000)]
Unreviewed gardening. Mark a flakey test that is failing intermittenly in pixel tests.

* platform/mac/TestExpectations:
Mark svg/as-image/svg-as-image-canvas.html as flakey.

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

6 years agoUpgrade to SelectorFailsAllSiblings when Child selector is failed.
benjamin@webkit.org [Fri, 4 Apr 2014 22:30:44 +0000 (22:30 +0000)]
Upgrade to SelectorFailsAllSiblings when Child selector is failed.
https://bugs.webkit.org/show_bug.cgi?id=130961

Patch by Yusuke Suzuki <utatane.tea@gmail.com> on 2014-04-04
Reviewed by Benjamin Poulain.

When Child selector fails, we should resume matching from the closest
Descendant selector.
So upgrading SelectorFailsLocally to SelectorFailsAllSibling at least
to prevent unnecessary direct/indirect adjacent selectors matching.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::matchRecursively):

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

6 years agoKeep track of filtered active attribute/uniform indices per shader program.
roger_fong@apple.com [Fri, 4 Apr 2014 22:08:47 +0000 (22:08 +0000)]
Keep track of filtered active attribute/uniform indices per shader program.
https://bugs.webkit.org/show_bug.cgi?id=131235.

Reviewed by Dean Jackson.

Tests: Covered by existing Khronos Conformance tests.
Will create a test to use multiple shader programs in a follow-up patch.

* html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::cacheActiveAttribLocations): Use getActiveAttribImpl. We do not need to use the filtered list of attributes here.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getUniformLocation): Use filtered list of uniforms for uniform count.
* platform/graphics/GraphicsContext3D.h: Create a map of shader programs to ActiveShaderSymbolCounts.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::attachShader):
When attaching or detaching a shader the shader program's active symbols list will change. Clear it so that it will be updated later.
(WebCore::GraphicsContext3D::detachShader): Ditto.
(WebCore::GraphicsContext3D::compileShader): No need to clear symbol counts here.
(WebCore::GraphicsContext3D::getActiveAttrib): getActiveAttrib should only be able to query for attributes in the filtered list.
(WebCore::GraphicsContext3D::getActiveUniform): getActiveUniform should only be able to query for uniforms in the filtered list.
(WebCore::GraphicsContext3D::getNonBuiltInActiveSymbolCount): Return the filtered symbol count for a shader program.

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

6 years agoMore documentation
andersca@apple.com [Fri, 4 Apr 2014 22:03:22 +0000 (22:03 +0000)]
More documentation
https://bugs.webkit.org/show_bug.cgi?id=131238

Reviewed by Sam Weinig.

* UIProcess/API/Cocoa/WKNavigation.h:
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
* UIProcess/API/Cocoa/WKPreferences.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:

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

6 years ago[CSS Blending] Add compositing reason for isolation.
commit-queue@webkit.org [Fri, 4 Apr 2014 20:34:23 +0000 (20:34 +0000)]
[CSS Blending] Add compositing reason for isolation.
https://bugs.webkit.org/show_bug.cgi?id=131153

Patch by Ion Rosca <rosca@adobe.com> on 2014-04-04
Reviewed by Joseph Pecoraro.

Source/WebCore:

There are 2 reasons involving blend modes for a layer to be composited:
1) the layer has blend mode and has composited descendants: CompositingReasonBlendingWithCompositedDescendants.
2) the layer has to isolate composited blending descendants: CompositingReasonIsolatesCompositedBlendingDescendants

Test: inspector-protocol/layers/layers-blending-compositing-reasons.html

* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
* inspector/protocol/LayerTree.json:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::reasonsForCompositing):
(WebCore::RenderLayerCompositor::logReasonsForCompositing):
* rendering/RenderLayerCompositor.h: adding CompositingReasonIsolatesCompositedBlendingDescendants.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Views/LayerTreeSidebarPanel.js:
(WebInspector.LayerTreeSidebarPanel.prototype._populateListOfCompositingReasons):

LayoutTests:

* inspector-protocol/layers/layers-blending-compositing-reasons-expected.txt: Added.
* inspector-protocol/layers/layers-blending-compositing-reasons.html: Added.

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

6 years agoWeb Inspector: Provide a way for JSContext console to log to system console
commit-queue@webkit.org [Fri, 4 Apr 2014 19:57:47 +0000 (19:57 +0000)]
Web Inspector: Provide a way for JSContext console to log to system console
https://bugs.webkit.org/show_bug.cgi?id=131050

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-04-04
Reviewed by Timothy Hatcher.

Applications often re-expose some log -> NSLog functionality.
We already have the capability ourselves, which includes extra
information such as sourceURL:line:column, all arguments instead
of just one argument, and backtrace information on console.trace.
Therefore it would be convenient if developers could just use
the built-in console.log and get rich output in both the inspector
and the console, without writing their own logger.

The logging will be enabled in debug builds by default, and can be enabled
otherwise by setting a user default before creating the first context.

For example, in the application itself:

    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"JavaScriptCoreOutputConsoleMessagesToSystemConsole"];

Or from outside the application:

    shell> defaults write <app-bundle-identifier> JavaScriptCoreOutputConsoleMessagesToSystemConsole -bool YES

* inspector/JSConsoleClient.h:
* inspector/JSConsoleClient.cpp:
(Inspector::JSConsoleClient::logToSystemConsole):
(Inspector::JSConsoleClient::setLogToSystemConsole):
(Inspector::JSConsoleClient::initializeLogToSystemConsole):
(Inspector::JSConsoleClient::JSConsoleClient):
Global setting for logging to system console. Enabled on
debug builds, and by a user default on supported platforms.

(Inspector::JSConsoleClient::messageWithTypeAndLevel):
Log to system console when the static setting is enabled.

* runtime/ConsoleClient.h:
* runtime/ConsoleClient.cpp:
(JSC::appendURLAndPosition):
(JSC::appendMessagePrefix):
(JSC::ConsoleClient::printConsoleMessage):
(JSC::ConsoleClient::printConsoleMessageWithArguments):
Clean up printing. Build strings and use WTFLogAlways instead of printf
for consistant logging.

* runtime/ConsoleClient.cpp:
(JSC::ConsoleClient::printConsoleMessageWithArguments):
Clean up printing. If there is no source URL, don't print a leading colon.

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

6 years ago[GTK] kill-old-processes should kill dbus-daemon processes
commit-queue@webkit.org [Fri, 4 Apr 2014 18:37:02 +0000 (18:37 +0000)]
[GTK] kill-old-processes should kill dbus-daemon processes
https://bugs.webkit.org/show_bug.cgi?id=127352

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-04-04
Reviewed by Martin Robinson.

* BuildSlaveSupport/kill-old-processes:
(main):

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

6 years agoUse more const refs in ShapeOutsideInfo and some misc cleanup
bjonesbe@adobe.com [Fri, 4 Apr 2014 18:36:32 +0000 (18:36 +0000)]
Use more const refs in ShapeOutsideInfo and some misc cleanup
https://bugs.webkit.org/show_bug.cgi?id=131192

Reviewed by Dirk Schulze.

Use const refs for pretty much everything that can't be null. Also
cleanup some code that got a bit messy when ShapeInfo was merged into
ShapeOutsideInfo.

No new tests, no behavior change.

* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::shapeToRendererPoint):
(WebCore::ShapeOutsideInfo::shapeToRendererSize):
(WebCore::referenceBox):
(WebCore::ShapeOutsideInfo::setReferenceBoxLogicalSize):
(WebCore::getShapeImageAndRect):
(WebCore::ShapeOutsideInfo::computedShape):
(WebCore::ShapeOutsideInfo::logicalTopOffset):
(WebCore::ShapeOutsideInfo::logicalLeftOffset):
* rendering/shapes/ShapeOutsideInfo.h:

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

6 years agoAdd radar number.
mhock@apple.com [Fri, 4 Apr 2014 18:16:54 +0000 (18:16 +0000)]
Add radar number.

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

6 years agoREGRESSION (r166615): Pressing return doesnâ\80\99t submit search term at bing.com
ap@apple.com [Fri, 4 Apr 2014 18:07:44 +0000 (18:07 +0000)]
REGRESSION (r166615): Pressing return doesnâ\80\99t submit search term at bing.com
https://bugs.webkit.org/show_bug.cgi?id=131212
<rdar://problem/16521788>

Reviewed by Dan Bernstein.

Source/WebCore:

Test: fast/forms/submit-while-you-submit.html

Turns out that m_shouldSubmit can actually be modified in a code path where we can't
directly return the result. I'm not sure if the current behavior is entirely correct
(we have open bugs about submitting forms multiple times), but let's restore it to
pre-r166615 state.

* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::HTMLFormElement):
(WebCore::HTMLFormElement::prepareForSubmission):
(WebCore::HTMLFormElement::submit):
* html/HTMLFormElement.h:

LayoutTests:

* fast/forms/submit-while-you-submit-expected.txt: Added.
* fast/forms/submit-while-you-submit.html: Added.

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

6 years agoUse JSCell::indexingType instead of Structure::indexingType wherever possible
mhahnenberg@apple.com [Fri, 4 Apr 2014 17:56:23 +0000 (17:56 +0000)]
Use JSCell::indexingType instead of Structure::indexingType wherever possible
https://bugs.webkit.org/show_bug.cgi?id=131230

Reviewed by Mark Lam.

Avoid the indirection through the Structure.

* bytecode/ArrayAllocationProfile.cpp:
(JSC::ArrayAllocationProfile::updateIndexingType):
* bytecode/ArrayAllocationProfile.h:
(JSC::ArrayAllocationProfile::selectIndexingType):
* heap/HeapStatistics.cpp:
(JSC::StorageStatistics::operator()):
* runtime/ArrayPrototype.cpp:
(JSC::attemptFastSort):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::objectPrototypeIsSane):
(JSC::JSGlobalObject::arrayPrototypeChainIsSane):
(JSC::JSGlobalObject::stringPrototypeChainIsSane):
* runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::create):

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

6 years ago[Mac] Change operation queue width to NSOperationQueueDefaultMaxConcurrentOperationCount.
mhock@apple.com [Fri, 4 Apr 2014 17:48:02 +0000 (17:48 +0000)]
[Mac] Change operation queue width to NSOperationQueueDefaultMaxConcurrentOperationCount.
https://bugs.webkit.org/show_bug.cgi?id=131231

Reviewed by Brady Eidson.

No new tests, no behavior change.

* platform/network/mac/ResourceHandleMac.mm:
(WebCore::operationQueueForAsyncClients):

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

6 years ago[CSS Shapes] Simplify Polygon implementation
hmuller@adobe.com [Fri, 4 Apr 2014 17:35:21 +0000 (17:35 +0000)]
[CSS Shapes] Simplify Polygon implementation
https://bugs.webkit.org/show_bug.cgi?id=130975

Reviewed by Andreas Kling.

Only floats can specify shape-outside. For polygon shape-outside values, the problem
of finding the left and right exclusion edges reduces to finding the X axis
limits of the polygon edges that overlap a particular layout line. This is a much
simpler version of the problem that PolygonShape was originally designed for, and so
the implementation can also be simplified. There's more about the new algorithm in
http://hansmuller-webkit.blogspot.com/2014/03/a-simpler-algorithm-for-css-shapes.html.

No new tests, since functionality was only removed.

* platform/graphics/FloatRect.h:
(WebCore::FloatRect::overlapsYRange):
(WebCore::FloatRect::overlapsXRange):
* rendering/shapes/PolygonShape.cpp:
(WebCore::OffsetPolygonEdge::xIntercept):
(WebCore::circleXIntercept):
(WebCore::OffsetPolygonEdge::clippedEdgeXRange): X axis extent of the edge clipped to a vertical interval.
(WebCore::clippedCircleXRange): X axis extent of a circle clipped to a vertical interval.
(WebCore::PolygonShape::shapeMarginLogicalBoundingBox):
(WebCore::PolygonShape::getExcludedIntervals):
(WebCore::PolygonShape::buildDisplayPaths):
* rendering/shapes/PolygonShape.h:
(WebCore::OffsetPolygonEdge::OffsetPolygonEdge):
(WebCore::OffsetPolygonEdge::isWithinYRange):
(WebCore::OffsetPolygonEdge::overlapsYRange):
(WebCore::PolygonShape::PolygonShape):
* rendering/shapes/ShapeInterval.h:
(WebCore::ShapeInterval::isEmpty):
(WebCore::ShapeInterval::unite):

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

6 years agoUnreviewed test fix. Rebaseline Mountain Lion scrolling tests
bfulgham@apple.com [Fri, 4 Apr 2014 17:34:30 +0000 (17:34 +0000)]
Unreviewed test fix. Rebaseline Mountain Lion scrolling tests
after switching to high-resolution continuous scroll output.

* platform/mac-mountainlion/fast/scrolling: Added.
* platform/mac-mountainlion/fast/scrolling/scroll-div-latched-mainframe-expected.txt: Added.
* platform/mac-mountainlion/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt: Added.
* platform/mac-mountainlion/fast/scrolling/scroll-select-latched-mainframe-expected.txt: Added.

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

6 years agoUse JSCell::type instead of TypeInfo::type wherever possible
mhahnenberg@apple.com [Fri, 4 Apr 2014 17:21:03 +0000 (17:21 +0000)]
Use JSCell::type instead of TypeInfo::type wherever possible
https://bugs.webkit.org/show_bug.cgi?id=131229

Reviewed by Michael Saboff.

Avoid going through the Structure and reifying the TypeInfo.

* runtime/Executable.h:
(JSC::ExecutableBase::isEvalExecutable):
(JSC::ExecutableBase::isProgramExecutable):

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

6 years ago[CSS Shapes] shape-margin in percentage units always computes to 0px
bjonesbe@adobe.com [Fri, 4 Apr 2014 17:14:26 +0000 (17:14 +0000)]
[CSS Shapes] shape-margin in percentage units always computes to 0px
https://bugs.webkit.org/show_bug.cgi?id=130369

Reviewed by Andreas Kling.

Source/WebCore:

Make shape-margin parsing accept percentages and properly compute the
length once the percentage is accepted.

Test: fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-percent.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape):
(WebCore::Shape::createRasterShape):
(WebCore::Shape::createBoxShape):
* rendering/shapes/Shape.h:
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::computedShape):

LayoutTests:

Fix parsing test to understand that percentages are allowed for
shape-margin. Also add the layout test from Rebecca Hauck.

* fast/shapes/parsing/parsing-shape-margin-expected.txt:
* fast/shapes/parsing/parsing-test-utils.js:
* fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-percent-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-percent.html: Added.

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

6 years ago[CSS Shapes] Remove outside-shape CSS value
zoltan@webkit.org [Fri, 4 Apr 2014 16:56:46 +0000 (16:56 +0000)]
[CSS Shapes] Remove outside-shape CSS value
https://bugs.webkit.org/show_bug.cgi?id=131201

Reviewed by Bem Jones-Bey.

Source/WebCore:

Outside-shape is not a valid CSS value anymore. This patch removes it.

No new tests, existing tests are removed.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::shapePropertyValue):
* css/CSSValueKeywords.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyShape::applyValue):
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::computedShape):
(WebCore::ShapeOutsideInfo::isEnabledFor):
* rendering/style/ShapeValue.h:
(WebCore::ShapeValue::createOutsideValue): Deleted.

LayoutTests:

* fast/shapes/parsing/parsing-shape-outside-expected.txt:
* fast/shapes/parsing/parsing-shape-outside.html:

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

6 years agoGradient offsets are off if compositing operator != source-over
krit@webkit.org [Fri, 4 Apr 2014 16:41:09 +0000 (16:41 +0000)]
Gradient offsets are off if compositing operator != source-over
https://bugs.webkit.org/show_bug.cgi?id=129791

Reviewed by Andreas Kling.

Source/WebCore:

Instead of transforming the path before drawing it on the context,
the whole context should be transformed. This will make the gradient
map correctly to the context space.

Test: fast/canvas/canvas-gradient-on-compositing.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):

LayoutTests:

Test that the gradient space maps correctly to context space after
applying compositing mode.

* fast/canvas/canvas-gradient-on-compositing-expected.txt: Added.
* fast/canvas/canvas-gradient-on-compositing.html: Added.
* fast/canvas/script-tests/canvas-gradient-on-compositing.js: Added.
(dataToArray):
(getPixel):
(pixelShouldBe):

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

6 years agoSubpixel rendering: Move background images to device pixel boundaries.
zalan@apple.com [Fri, 4 Apr 2014 16:30:18 +0000 (16:30 +0000)]
Subpixel rendering: Move background images to device pixel boundaries.
https://bugs.webkit.org/show_bug.cgi?id=131144

Reviewed by Simon Fraser.

Replace integral snapping with device pixel snapping.
Background image geometry calculation uses LayoutUnits and we snap to device pixels right before painting.

Source/WebCore:

Tests: fast/backgrounds/hidpi-bitmap-background-on-subpixel-position.html
       fast/backgrounds/hidpi-bitmap-background-origin-on-subpixel-position.html
       fast/backgrounds/hidpi-bitmap-background-repeat-on-subpixel-position.html
       fast/backgrounds/hidpi-generated-gradient-background-on-subpixel-position.html

* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setContentsTilePhase):
(WebCore::GraphicsLayer::contentsTilePhase):
(WebCore::GraphicsLayer::setContentsTileSize):
(WebCore::GraphicsLayer::contentsTileSize):
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::setContentsTileSize):
(WebCore::TextureMapperLayer::setContentsTilePhase):
* platform/graphics/texmap/TextureMapperLayer.h:
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsTileSize):
(WebCore::CoordinatedGraphicsLayer::setContentsTilePhase):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
* platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::repaintLayerRectsForImage):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::resolveWidthForRatio):
(WebCore::resolveHeightForRatio):
(WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio):
(WebCore::resolveAgainstIntrinsicRatio):
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
(WebCore::RenderBoxModelObject::calculateFillTileSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
(WebCore::getSpace):
(WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):
(WebCore::RenderBoxModelObject::paintNinePieceImage):
(WebCore::applySubPixelHeuristicForTileSize): Deleted.
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::spaceSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setSpaceSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::getShapeImageAndRect):

LayoutTests:

* css3/background/background-repeat-round-auto1-expected.html:
* css3/background/background-repeat-round-auto1.html:
* css3/background/background-repeat-round-auto2-expected.html:
* css3/background/background-repeat-round-auto2.html:
* css3/background/background-repeat-round-border-expected.html:
* css3/background/background-repeat-round-border.html:
* css3/background/background-repeat-round-content-expected.html:
* css3/background/background-repeat-round-content.html:
* css3/background/background-repeat-space-content-expected.html:
* css3/background/background-repeat-space-content.html:
* css3/background/background-repeat-space-padding-expected.html:
* css3/background/background-repeat-space-padding.html:
* css3/masking/mask-repeat-round-auto1-expected.html:
* css3/masking/mask-repeat-round-auto1.html:
* css3/masking/mask-repeat-round-auto2-expected.html:
* css3/masking/mask-repeat-round-auto2.html:
* css3/masking/mask-repeat-round-border-expected.html:
* css3/masking/mask-repeat-round-border.html:
* css3/masking/mask-repeat-round-content-expected.html:
* css3/masking/mask-repeat-round-content.html:
* css3/masking/mask-repeat-space-content-expected.html:
* css3/masking/mask-repeat-space-content.html:
* css3/masking/mask-repeat-space-padding-expected.html:
* css3/masking/mask-repeat-space-padding.html:
* fast/backgrounds/hidpi-bitmap-background-on-subpixel-position-expected.html: Added.
* fast/backgrounds/hidpi-bitmap-background-on-subpixel-position.html: Added.
* fast/backgrounds/hidpi-bitmap-background-origin-on-subpixel-position-expected.html: Added.
* fast/backgrounds/hidpi-bitmap-background-origin-on-subpixel-position.html: Added.
* fast/backgrounds/hidpi-bitmap-background-repeat-on-subpixel-position-expected.html: Added.
* fast/backgrounds/hidpi-bitmap-background-repeat-on-subpixel-position.html: Added.
* fast/backgrounds/hidpi-generated-gradient-background-on-subpixel-position-expected.html: Added.
* fast/backgrounds/hidpi-generated-gradient-background-on-subpixel-position.html: Added.
* fast/backgrounds/resources/black25x25.png: Added.

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

6 years ago[Win] Unreviewed test fix (crash in debug build).
bfulgham@apple.com [Fri, 4 Apr 2014 16:14:43 +0000 (16:14 +0000)]
[Win] Unreviewed test fix (crash in debug build).

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::legibleOutputCallback): Correct assertion. This
callback is scheduled for the caption queue, not the main queue.

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

6 years ago[Win] Load Media Controls js/css from bundle
bfulgham@apple.com [Fri, 4 Apr 2014 16:12:35 +0000 (16:12 +0000)]
[Win] Load Media Controls js/css from bundle
https://bugs.webkit.org/show_bug.cgi?id=131194

Reviewed by Dean Jackson.

* DerivedSources.cpp: Remove no-longer generated file.
* DerivedSources.make: Don't generate unneeded files.
* WebCore.vcxproj/WebCore.vcxproj: Don't compile unneeded files.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.vcxproj/copyWebCoreResourceFiles.cmd: Copy css/js to resource
* rendering/RenderThemeSafari.cpp:
* rendering/RenderThemeSafari.h:
* rendering/RenderThemeWin.cpp:
* rendering/RenderThemeWin.h:

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

6 years ago[CSSRegions] Region's behaviour not updated when becoming valid from invalid
mihnea@adobe.com [Fri, 4 Apr 2014 15:05:43 +0000 (15:05 +0000)]
[CSSRegions] Region's behaviour not updated when becoming valid from invalid
https://bugs.webkit.org/show_bug.cgi?id=131211

Reviewed by Andrei Bucur.

Source/WebCore:

When a region becomes valid again from invalid, it was part of a dependency cycle and the dependency cycle was broken,
it needs to behave like a valid region again: if it has autoheight then it should compute its height based on the
named flow content, if it has region styling then it should apply the additional style to the flowed content.

Added a new method, updateRegionFlags, that is used to ensure that auto-height and region-styling flags
are properly set in several situations. Checking the behaviour, autoheight or styling, is done only
if the region is valid.

Tests: fast/regions/auto-size/autoheight-region-valid-from-invalid.html
       fast/regions/region-styling/region-withstyling-valid-from-invalid.html

* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::updateRegionFlags):
(WebCore::RenderNamedFlowFragment::styleDidChange):
(WebCore::RenderNamedFlowFragment::updateRegionHasAutoLogicalHeightFlag):
(WebCore::RenderNamedFlowFragment::checkRegionStyle):
(WebCore::RenderNamedFlowFragment::attachRegion):
(WebCore::RenderNamedFlowFragment::detachRegion):
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::addFragmentToNamedFlowThread):

LayoutTests:

Add tests for auto-height and region styling behaviour.

* fast/regions/auto-size/autoheight-region-valid-from-invalid-expected.html: Added.
* fast/regions/auto-size/autoheight-region-valid-from-invalid.html: Added.
* fast/regions/region-styling/region-withstyling-valid-from-invalid-expected.html: Added.
* fast/regions/region-styling/region-withstyling-valid-from-invalid.html: Added.

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

6 years ago[GTK][CMake] Remove FindXt.cmake.
rakuco@webkit.org [Fri, 4 Apr 2014 14:03:20 +0000 (14:03 +0000)]
[GTK][CMake] Remove FindXt.cmake.
https://bugs.webkit.org/show_bug.cgi?id=131227

Reviewed by Anders Carlsson.

.:

Xt is already detected by CMake's own FindX11.cmake, so there is no need to keep a custom FindXt.cmake around.

* Source/cmake/FindXt.cmake: Removed.
* Source/cmake/OptionsGTK.cmake:

Source/WebCore:

* PlatformGTK.cmake: Use FindX11.cmake's Xt variables instead of our own FindXt.cmake's ones.

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

6 years ago[GTK][CMake] Use a stricter check for the HAVE_GTK_UNIX_PRINTING define
rakuco@webkit.org [Fri, 4 Apr 2014 12:35:47 +0000 (12:35 +0000)]
[GTK][CMake] Use a stricter check for the HAVE_GTK_UNIX_PRINTING define
https://bugs.webkit.org/show_bug.cgi?id=131226

Reviewed by Carlos Garcia Campos.

#cmakedefine01 will define HAVE_GTK_UNIX_PRINTING to 0 instead of #undef'ining it. This
means that simple checks like #ifdef HAVE_GTK_UNIX_PRINTING will always be true -- we
actually need to check if the value is set to 1, which is precisely what the HAVE() macro
does, so start using it.

* UIProcess/API/gtk/WebKitPrintOperation.cpp:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::print):
* WebProcess/WebPage/gtk/PrinterListGtk.cpp:
* WebProcess/WebPage/gtk/PrinterListGtk.h:
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::WebPrintOperationGtk::create):

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

6 years agoUnreviewed GTK gardening.
svillar@igalia.com [Fri, 4 Apr 2014 10:53:21 +0000 (10:53 +0000)]
Unreviewed GTK gardening.

Updated expectations for tests crashing in Debug bots.

* platform/gtk-wk1/TestExpectations:
* platform/gtk-wk2/TestExpectations:
* platform/gtk/TestExpectations:

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

6 years ago[EFL] Build error due to changed path of generated js files.
tgergely.u-szeged@partner.samsung.com [Fri, 4 Apr 2014 10:24:59 +0000 (10:24 +0000)]
[EFL] Build error due to changed path of generated js files.
https://bugs.webkit.org/show_bug.cgi?id=131215

Reviewed by Gyuyoung Kim.

r166648 fixed the generation of some .js files on GTK. Due to some
changes in the paths it causes a build error on EFL.

* Source/PlatformEfl.cmake:
  Replaced path for two derived source files.

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

6 years ago[Win] Update obsolete packages in cygwin
agomez@igalia.com [Fri, 4 Apr 2014 08:11:34 +0000 (08:11 +0000)]
[Win] Update obsolete packages in cygwin
https://bugs.webkit.org/show_bug.cgi?id=126264

Reviewed by Brent Fulgham.

Removed "apache" and "minires" as the first has been replaced by
"lighttpd" and the second is now integrated into
"cygwin". Replaced the transitional and now obsolete "gcc" package
with "gcc-g++" and ensure that "python" stays at version "2.6.8"
since the newer version available is "2.7.3" which breaks the
build due to some funniness with environment variable handling.

* CygwinDownloader/cygwin-downloader.py:
* CygwinDownloader/cygwin-downloader.zip:

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

6 years agoAX: iOS does not need to spin the run loop on synchronous message calls
cfleizach@apple.com [Fri, 4 Apr 2014 06:52:22 +0000 (06:52 +0000)]
AX: iOS does not need to spin the run loop on synchronous message calls
https://bugs.webkit.org/show_bug.cgi?id=131195

Reviewed by Dan Bernstein.

On the Mac platform, we need to spin the run loop while making synchronous calls to avoid VoiceOver hanging.
On iOS, this not needed due to architectural differences.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::synchronousMessagesShouldSpinRunLoop):
* WebProcess/WebPage/WebPage.h:

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

6 years ago[EFL] Should flush and render layers after the root layer is changed.
commit-queue@webkit.org [Fri, 4 Apr 2014 06:26:54 +0000 (06:26 +0000)]
[EFL] Should flush and render layers after the root layer is changed.
https://bugs.webkit.org/show_bug.cgi?id=131108

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-04-03
Reviewed by Gyuyoung Kim.

If there is no update event after root layer is changed, old webview can be shown.
Because the syncTimer is not being triggered by root layer change.
We should flush and render layers by starting syncTimer when the root layer is changed.

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
(WebCore::AcceleratedCompositingContext::setRootGraphicsLayer): Add m_syncTimer.startOneShot(0);
* WebCoreSupport/AcceleratedCompositingContextEfl.h:
(WebCore::AcceleratedCompositingContext::setRootGraphicsLayer): Move implementation from header to source.

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

6 years ago[Cocoa] Add additional WKWebView SPI for clients that interact with PDFs
aestes@apple.com [Fri, 4 Apr 2014 05:23:52 +0000 (05:23 +0000)]
[Cocoa] Add additional WKWebView SPI for clients that interact with PDFs
https://bugs.webkit.org/show_bug.cgi?id=131206

Reviewed by Dan Bernstein.

Add _dataForDisplayedPDF and _suggestedFilenameForDisplayedPDF to
support clients that wish to save a copy of the currently displayed PDF
to disk. Ultimately we should support this use case by exposing something
like WKWebViewContentProvider, but for now let's do something simple.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didFinishLoadingDataForCustomContentProviderWithSuggestedFilename:data:]):
(-[WKWebView _dataForDisplayedPDF]):
(-[WKWebView _suggestedFilenameForDisplayedPDF]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/Cocoa/WKWebViewContentProvider.h:
* UIProcess/ios/WKPDFView.h:
* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView documentData]):
(-[WKPDFView suggestedFilename]):
(-[WKPDFView web_setContentProviderData:suggestedFilename:]):

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

6 years ago[EFL][WK2] Add API to get contents size of current web page.
eunmi15.lee@samsung.com [Fri, 4 Apr 2014 05:04:56 +0000 (05:04 +0000)]
[EFL][WK2] Add API to get contents size of current web page.
https://bugs.webkit.org/show_bug.cgi?id=131148

Reviewed by Gyuyoung Kim.

Application can want to get contents size of current web page without
monitoring "contents,size,changed" signal, so I add API to get contents
size directly.

* UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
(WKViewGetContentsSize): WK API to get contents size from WebView.
* UIProcess/API/C/CoordinatedGraphics/WKView.h:
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_contents_size_get): new API to get contents size.
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):

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

6 years agoFast-path for casting JS wrappers to JSElement.
akling@apple.com [Fri, 4 Apr 2014 04:42:21 +0000 (04:42 +0000)]
Fast-path for casting JS wrappers to JSElement.
<https://webkit.org/b/131210>

Add an extended JSType for Element wrappers so we can avoid walking
the ClassInfo chain in those bindings as well.

Generalized the code to select a casting helper in the bindings
generator into a function (GetCastingHelperForThisObject.)
Updated all the jsDynamicCast call sites to go through this, in case
there's an optimized cast available for the desired type.

Reviewed by Benjamin Poulain.

* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMWrapper.h:
* bindings/js/JSElementCustom.h: Added.
(WebCore::jsElementCast):
* bindings/js/JSNodeCustom.h:
(WebCore::jsNodeCast):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GetCastingHelperForThisObject):
(GenerateImplementation):
* dom/Element.idl:

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

6 years agoUnreviewed build fix.
bfulgham@apple.com [Fri, 4 Apr 2014 04:23:11 +0000 (04:23 +0000)]
Unreviewed build fix.

* WebKit.vcxproj/WebKit.sln: Make sure we don't generate the
WebInspectorUI before the generated JS is ready.

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

6 years ago[WK2][EFL] Use template method in creating NativeWebMouseEvent
jinwoo7.song@samsung.com [Fri, 4 Apr 2014 04:11:56 +0000 (04:11 +0000)]
[WK2][EFL] Use template method in creating NativeWebMouseEvent
https://bugs.webkit.org/show_bug.cgi?id=131152

Reviewed by Anders Carlsson.

There are three EFL mouse events, such as Evas_Event_Mouse_Down, Evas_Event_Mouse_Up,
and Evas_Event_Mouse_Move. They can be defined as a template method.

* PlatformEfl.cmake: Remove NativeWebMouseEventEfl.cpp
* Shared/NativeWebMouseEvent.h:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent): Add a template method.
* Shared/efl/NativeWebMouseEventEfl.cpp: Removed.

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

6 years agocompositing/tiling/rotated-tiled-* tests failing on bots
joepeck@webkit.org [Fri, 4 Apr 2014 04:08:02 +0000 (04:08 +0000)]
compositing/tiling/rotated-tiled-* tests failing on bots
https://bugs.webkit.org/show_bug.cgi?id=131207

Unreviewed rebaseline of tests after r166748.

* platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:

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

6 years agoRebaseline a bindings test.
akling@apple.com [Fri, 4 Apr 2014 03:24:53 +0000 (03:24 +0000)]
Rebaseline a bindings test.

* bindings/scripts/test/JS/JSTestNode.h:
(WebCore::JSTestNode::createStructure):

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

6 years agoFast-path for casting JS wrappers to JSNode.
akling@apple.com [Fri, 4 Apr 2014 02:29:15 +0000 (02:29 +0000)]
Fast-path for casting JS wrappers to JSNode.
<https://webkit.org/b/131196>

Source/JavaScriptCore:

Allow code outside of JSC (well, WebCore) to extend the JSType spectrum
a little bit. We do this by exposing a LastJSCObjectType constant so
WebCore can encode its own wrapper types after that.

Reviewed by Mark Hahnenberg and Geoff Garen.

* runtime/JSType.h:

    Added LastJSCObjectType for use by WebCore.

* runtime/JSObject.h:
(JSC::JSObject::isVariableObject):

    Updated since this can no longer assume that types >= VariableObjectType
    are all variable objects.

Source/WebCore:

Add a way to quickly determine that a given JSObject is a JSNode.
This lets us avoid walking the ClassInfo chain in the DOM bindings
for WebCore::Node.

Reviewed by Mark Hahnenberg and Geoff Garen.

* bindings/js/JSDOMWrapper.h:

    Added a JSNodeType constant that extends beyond JSC::JSType.

* bindings/js/JSNodeCustom.h:
(WebCore::jsNodeCast):

    Added. Fast cast from JSValue to JSNode.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):

    Generate code that uses jsNodeCast in Node interfaces.

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

6 years agoAll Heap::writeBarriers should be inline
mhahnenberg@apple.com [Fri, 4 Apr 2014 02:24:28 +0000 (02:24 +0000)]
All Heap::writeBarriers should be inline
https://bugs.webkit.org/show_bug.cgi?id=131197

Reviewed by Mark Lam.

One is in a JSCellInlines.h, another is in Heap.cpp. These are all critical
enough and small enough to belong in HeapInlines.h. Also added the proper
ENABLE(GGC) ifdefs to minimize the cost of C++ barriers for !ENABLE(GGC) builds.

* heap/Heap.cpp:
(JSC::Heap::writeBarrier): Deleted.
* heap/Heap.h:
* heap/HeapInlines.h:
(JSC::Heap::writeBarrier):
* runtime/JSCellInlines.h:
(JSC::Heap::writeBarrier): Deleted.

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

6 years agocheck-webkit-style: Improve warnings on Objective-C @property syntax
commit-queue@webkit.org [Fri, 4 Apr 2014 01:56:47 +0000 (01:56 +0000)]
check-webkit-style: Improve warnings on Objective-C @property syntax
https://bugs.webkit.org/show_bug.cgi?id=131200

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-04-03
Reviewed by Dan Bernstein.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing):
(CppChecker):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_spacing_in_objective_c_properties):

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

6 years agoRebaseline some tests after r166748. These tests now correctly
simon.fraser@apple.com [Fri, 4 Apr 2014 01:24:57 +0000 (01:24 +0000)]
Rebaseline some tests after r166748. These tests now correctly
report a contentsScale.

* platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
* platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:

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

6 years agoWeb Inspector: JSContext inspection provide a way to opt-out of including Native...
commit-queue@webkit.org [Fri, 4 Apr 2014 00:50:49 +0000 (00:50 +0000)]
Web Inspector: JSContext inspection provide a way to opt-out of including Native Call Stacks in Exception traces reported to Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=131186

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-04-03
Reviewed by Geoffrey Garen.

* API/JSContextPrivate.h:
* API/JSContext.mm:
(-[JSContext _includesNativeCallStackWhenReportingExceptions]):
(-[JSContext _setIncludesNativeCallStackWhenReportingExceptions:]):
JSContext ObjC SPI to opt-out of including native call stacks in exceptions.

* API/JSContextRefPrivate.h:
* API/JSContextRef.cpp:
(JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions):
(JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions):
JSContext C SPI to opt-out of including native call stacks in exceptions.

* inspector/JSGlobalObjectInspectorController.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::reportAPIException):
Only include the native call stack if the setting is enabled. It is enabled by default.

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

6 years agoAdd WKWebView documentation
andersca@apple.com [Thu, 3 Apr 2014 23:55:31 +0000 (23:55 +0000)]
Add WKWebView documentation
https://bugs.webkit.org/show_bug.cgi?id=131190

Reviewed by Sam Weinig.

* UIProcess/API/Cocoa/WKBackForwardListItem.h:
* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKWebView.h:

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

6 years agoREGRESSION: PCE.js is 20x slower in WebKit2 because timers are throttled
msaboff@apple.com [Thu, 3 Apr 2014 23:51:47 +0000 (23:51 +0000)]
REGRESSION: PCE.js is 20x slower in WebKit2 because timers are throttled
https://bugs.webkit.org/show_bug.cgi?id=131189

Reviewed by Geoffrey Garen.

Elevate the priority of all WebKit2 service processes on iOS, not just the network process.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService):

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

6 years agoASSERT(m_children.isEmpty()) in PlatformCALayerRemote::removeAllSublayers() on time.com
simon.fraser@apple.com [Thu, 3 Apr 2014 23:28:42 +0000 (23:28 +0000)]
ASSERT(m_children.isEmpty()) in PlatformCALayerRemote::removeAllSublayers() on time.com
https://bugs.webkit.org/show_bug.cgi?id=131187

Reviewed by Maciej Stachowiak.

After a call to PlatformCALayerRemote::adoptSublayers() when a layer
toggles between tiled and non-tiled, we'd assert in PlatformCALayerRemote::removeAllSublayers()
that not all sublayers had been removed (there was one with a null superlayer).

Fix by ensuring that we don't copy over custom subviews when adoptSublayers()
is called; they'll get added as we update children anyway.

* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::adoptSublayers):

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

6 years agoMerge ShapeInfo & ShapeOutsideInfo now that ShapeInsideInfo is no more
bjonesbe@adobe.com [Thu, 3 Apr 2014 23:04:49 +0000 (23:04 +0000)]
Merge ShapeInfo & ShapeOutsideInfo now that ShapeInsideInfo is no more
https://bugs.webkit.org/show_bug.cgi?id=131180

Reviewed by Andreas Kling.

Now that ShapeInsideInfo is gone, having a class hiearachy and
templates doesn't make any sense. As a first step to cleaning up the
code, this remove ShapeInfo and puts all of its functionality into
ShapeOutsideInfo.

No new tests, no behavior change.

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* rendering/shapes/ShapeInfo.cpp: Removed.
* rendering/shapes/ShapeInfo.h: Removed.
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::computedShapePhysicalBoundingBox):
(WebCore::ShapeOutsideInfo::shapeToRendererPoint):
(WebCore::ShapeOutsideInfo::shapeToRendererSize):
(WebCore::referenceBox):
(WebCore::ShapeOutsideInfo::setReferenceBoxLogicalSize):
(WebCore::checkShapeImageOrigin):
(WebCore::getShapeImageAndRect):
(WebCore::getShapeImageMarginRect):
(WebCore::ShapeOutsideInfo::computedShape):
(WebCore::borderBeforeInWritingMode):
(WebCore::borderAndPaddingBeforeInWritingMode):
(WebCore::ShapeOutsideInfo::logicalTopOffset):
(WebCore::borderStartWithStyleForWritingMode):
(WebCore::borderAndPaddingStartWithStyleForWritingMode):
(WebCore::ShapeOutsideInfo::logicalLeftOffset):
(WebCore::ShapeOutsideInfo::computeSegmentsForLine):
(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
(WebCore::ShapeOutsideInfo::shapeValue): Deleted.
(WebCore::ShapeOutsideInfo::styleForWritingMode): Deleted.
* rendering/shapes/ShapeOutsideInfo.h:

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

6 years agoFix over-retain in SharedBufferCF's createCFData().
akling@apple.com [Thu, 3 Apr 2014 22:56:47 +0000 (22:56 +0000)]
Fix over-retain in SharedBufferCF's createCFData().
<https://webkit.org/b/131139>

Constructing the return type (RetainPtr<CFDataRef>) will also retain
the pointee, so this would end up leaking.

Reviewed by Anders Carlsson.

* platform/cf/SharedBufferCF.cpp:
(WebCore::SharedBuffer::createCFData):

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

6 years ago[iOS][WK2] Add SPI to handle animated resize
benjamin@webkit.org [Thu, 3 Apr 2014 22:55:39 +0000 (22:55 +0000)]
[iOS][WK2] Add SPI to handle animated resize
https://bugs.webkit.org/show_bug.cgi?id=131141

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-03
Reviewed by Simon Fraser.

Set up a basic API to handle animated resize. The code does not do much at the moment,
it is mostly to have an interface we can implement later.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView setFrame:]):
(-[WKWebView setBounds:]):
(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _frameOrBoundsChangedFrom:]):
(-[WKWebView _beginAnimatedResizeToSize:obscuredInsets:minimumLayoutSizeOverride:]):
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _frameOrBoundsChanged]): Deleted.
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

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

6 years agoSource/WebCore: [Win] Turn on ENABLE_CSS_GRID_LAYOUT
bfulgham@apple.com [Thu, 3 Apr 2014 22:47:22 +0000 (22:47 +0000)]
Source/WebCore: [Win] Turn on ENABLE_CSS_GRID_LAYOUT
https://bugs.webkit.org/show_bug.cgi?id=131147

Reviewed by Simon Fraser.

Covered by existing fast/css/getComputedStyle tests.

* css/CSSAllInOne.cpp: Add CSSGridLineNamesValue.cpp when building
with ENABLE(CSS_GRID_LAYOUT)

WebKitLibraries: [Win] Enable the CSS_GRID_LAYOUT feature.
https://bugs.webkit.org/show_bug.cgi?id=131147

Reviewed by Simon Fraser.

Just like the CANVAS_PATH feature, this seems to have been
overlooked when it was turned on for other ports.

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

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

6 years agoSource/WebCore: Pixelated WebView when display is changed from hiDPI to regularDPI
simon.fraser@apple.com [Thu, 3 Apr 2014 22:44:58 +0000 (22:44 +0000)]
Source/WebCore: Pixelated WebView when display is changed from hiDPI to regularDPI
https://bugs.webkit.org/show_bug.cgi?id=131185

Reviewed by Tim Horton.

r166309 added a short circuit in GraphicsLayerCA::updateContentsScale()
when the scale didn't change. This broke layers which expected to
unconditionally receive a setContentsScale(), namely the WebTiledBackingLayer
which owns the TileController. WebTiledBackingLayer overrode -setContentsScale:
to pass the scale down to the TileController; however, it didn't override
-contentsScale, and it mucked with the scale passed in.

Fix by having setting and fetching contentsScale on a WebTiledBackingLayer
work as expected. Also rename the TileController functions to mirror the
CALayer functions better.

* WebCore.exp.in:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateContentsScale):
* platform/graphics/ca/mac/TileController.h:
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::TileController):
(WebCore::TileController::contentsScale):
(WebCore::TileController::setContentsScale):
(WebCore::TileController::scale): Deleted.
(WebCore::TileController::setScale): Deleted.
* platform/graphics/ca/mac/WebTiledBackingLayer.mm:
(-[WebTiledBackingLayer setContentsScale:]):
(-[WebTiledBackingLayer contentsScale]):

Source/WebKit2: Pixelated WebView when display is changed from hiDPI to regularDPI
https://bugs.webkit.org/show_bug.cgi?id=131185
<rdar://problem/16512184&16503714>

Reviewed by Tim Horton.

TileController function was renamed.

* WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
(WebKit::PlatformCALayerRemoteTiledBacking::setContentsScale):

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

6 years ago[CSS Shapes] LineSegment logicalLeft and logicalRight members should be floats
zoltan@webkit.org [Thu, 3 Apr 2014 22:34:34 +0000 (22:34 +0000)]
[CSS Shapes] LineSegment logicalLeft and logicalRight members should be floats
https://bugs.webkit.org/show_bug.cgi?id=116160

Reviewed by Andreas Kling.

LineSegment edges should not have been changed to LayoutUnit. These are
used only as floats. I modified them back to floats.

No new tests are needed, no behavior change.

* rendering/shapes/Shape.h:

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

6 years ago[CG] Canvas lineDashOffset does not handle negative numbers correctly
krit@webkit.org [Thu, 3 Apr 2014 21:44:54 +0000 (21:44 +0000)]
[CG] Canvas lineDashOffset does not handle negative numbers correctly
https://bugs.webkit.org/show_bug.cgi?id=80560

Reviewed by Dean Jackson.

Source/WebCore:

CG ignores negative dash array offsets. Check if we have a negative offset, if yes
then calculate the length of the dash array and modulo the dash array offset with
the dash array length.

Test: fast/canvas/canvas-negative-lineDashOffset.html

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setLineDash):

LayoutTests:

Test correct rendering of negative offset for Canvas dash arrays.

* fast/canvas/canvas-negative-lineDashOffset-expected.txt: Added.
* fast/canvas/canvas-negative-lineDashOffset.html: Added.
* fast/canvas/script-tests/canvas-negative-lineDashOffset.js: Added.
(dataToArray):
(getPixel):
(pixelShouldBe):

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

6 years agoREGRESSION: fast/css/relative-positioned-block-nested-with-inline-parent-multiple...
hyatt@apple.com [Thu, 3 Apr 2014 21:40:49 +0000 (21:40 +0000)]
REGRESSION: fast/css/relative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic.html broken
https://bugs.webkit.org/show_bug.cgi?id=131183

Reviewed by Simon Fraser.

Revert the loop to continue rather than breaking when an invalid block is encountered.
This is what it used to do if it encountered a non-continuation block.

* rendering/RenderInline.cpp:
(WebCore::updateStyleOfAnonymousBlockContinuations):

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

6 years ago[WebKit2] Promote user script SPI to API
weinig@apple.com [Thu, 3 Apr 2014 21:36:32 +0000 (21:36 +0000)]
[WebKit2] Promote user script SPI to API
https://bugs.webkit.org/show_bug.cgi?id=131181

Reviewed by Anders Carlsson.

Source/WebKit/mac:

* MigrateHeaders.make:

Source/WebKit2:

* UIProcess/API/Cocoa/WKScriptMessage.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptMessage.h.
* UIProcess/API/Cocoa/WKScriptMessage.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptMessage.mm.
(-[WKScriptMessage scriptWorld]):
(-[_WKScriptMessage scriptWorld]): Deleted.
* UIProcess/API/Cocoa/WKScriptMessageHandler.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptMessageHandler.h.
* UIProcess/API/Cocoa/WKScriptWorld.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.h.
* UIProcess/API/Cocoa/WKScriptWorld.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.mm.
(+[WKScriptWorld defaultWorld]):
(+[_WKScriptWorld defaultWorld]): Deleted.
* UIProcess/API/Cocoa/WKUserContentController.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentController.h.
* UIProcess/API/Cocoa/WKUserContentController.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentController.mm.
(-[WKUserContentController addScriptMessageHandler:name:world:]):
(-[WKUserContentController removeScriptMessageHandlerForName:world:]):
(-[_WKUserContentController addScriptMessageHandler:name:world:]): Deleted.
(-[_WKUserContentController removeScriptMessageHandlerForName:world:]): Deleted.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration userContentController]):
(-[WKWebViewConfiguration setUserContentController:]):
(-[WKWebViewConfiguration _userContentController]): Deleted.
(-[WKWebViewConfiguration _setUserContentController:]): Deleted.
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/Cocoa/_WKScriptMessage.h: Removed.
* UIProcess/API/Cocoa/_WKScriptMessage.mm: Removed.
* UIProcess/API/Cocoa/_WKScriptMessageHandler.h: Removed.
* UIProcess/API/Cocoa/_WKScriptWorld.h: Removed.
* UIProcess/API/Cocoa/_WKScriptWorld.mm: Removed.
* UIProcess/API/Cocoa/_WKUserContentController.h: Removed.
* UIProcess/API/Cocoa/_WKUserContentController.mm: Removed.
* WebKit2.xcodeproj/project.pbxproj:

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

6 years ago Unreviewed. Moving my name to committer section accidently
santoshbit2007@gmail.com [Thu, 3 Apr 2014 21:11:01 +0000 (21:11 +0000)]
  Unreviewed. Moving my name to committer section accidently
              added in reviewer section.
     * Scripts/webkitpy/common/config/contributors.json:

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

6 years agoMake download policy decisions SPI for now
andersca@apple.com [Thu, 3 Apr 2014 21:03:48 +0000 (21:03 +0000)]
Make download policy decisions SPI for now
https://bugs.webkit.org/show_bug.cgi?id=131179

Reviewed by Sam Weinig.

* UIProcess/API/Cocoa/WKNavigationDelegate.h:
(NS_ENUM):
* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
(NS_ENUM):
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::PolicyClient::decidePolicyForResponse):

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

6 years agoHarden FilterOperation type casting
simon.fraser@apple.com [Thu, 3 Apr 2014 20:57:48 +0000 (20:57 +0000)]
Harden FilterOperation type casting
https://bugs.webkit.org/show_bug.cgi?id=131142

Reviewed by Sam Weinig.

DefaultFilterOperation had an error-prone behavior where it set the base class
OperationType to the type of some other filter class, but overrode isDefault().
This made it very easy to write incorrect code that casted incorrectly based on type().

Fix by making adding a DEFAULT filter operation type, and storing the represented
type on DefaultFilterOperation().

Also remove the OperationType argument for constructors of FilterOperations that
can only be of one type, to avoid possible mistakes.

Make the type cast macros a bit more normal, and use them in a few places.

Fixed PlatformCAFiltersMac to handle the default filter case more cleanly.

Source/WebCore:

* WebCore.exp.in:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForFilter):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::createFilterOperations):
* platform/graphics/ca/PlatformCAFilters.h:
* platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
(PlatformCAFilters::filterValueForOperation):
(PlatformCAFilters::colorMatrixValueForFilter):
* platform/graphics/filters/FilterOperation.cpp:
(WebCore::DefaultFilterOperation::operator==):
(WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
(WebCore::ReferenceFilterOperation::operator==):
(WebCore::BlurFilterOperation::operator==):
(WebCore::BlurFilterOperation::blend):
(WebCore::DropShadowFilterOperation::operator==):
(WebCore::DropShadowFilterOperation::blend):
* platform/graphics/filters/FilterOperation.h:
(WebCore::FilterOperation::blend):
(WebCore::FilterOperation::type):
(WebCore::FilterOperation::isBasicColorMatrixFilterOperation):
(WebCore::FilterOperation::isBasicComponentTransferFilterOperation):
(WebCore::FilterOperation::isSameType):
(WebCore::DefaultFilterOperation::create):
(WebCore::DefaultFilterOperation::representedType):
(WebCore::DefaultFilterOperation::DefaultFilterOperation):
(WebCore::ReferenceFilterOperation::create):
(WebCore::BlurFilterOperation::create):
(WebCore::BlurFilterOperation::BlurFilterOperation):
(WebCore::DropShadowFilterOperation::create):
(WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
(WebCore::FilterOperation::isDefault): Deleted.
* platform/graphics/filters/FilterOperations.cpp:
(WebCore::FilterOperations::outsets):
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::build):
* rendering/RenderLayerFilterInfo.cpp:
(WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):

Source/WebKit2:

* Shared/WebCoreArgumentCoders.cpp:
(IPC::encodeFilterOperation):
(IPC::decodeFilterOperation):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTextStream::operator<<):

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

6 years agoStop throwing away the Document's StyleResolver on a timer.
akling@apple.com [Thu, 3 Apr 2014 20:56:33 +0000 (20:56 +0000)]
Stop throwing away the Document's StyleResolver on a timer.
<https://webkit.org/b/131168>
<rdar://problem/15227045>

This was causing some unfortunate pauses when returning to idle pages
after a long-ish time. There's already a mechanism in place that will
throw these away if the system comes under memory pressure.

Reviewed by Sam Weinig.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::didAccessStyleResolver): Deleted.
(WebCore::Document::styleResolverThrowawayTimerFired): Deleted.
* dom/Document.h:

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

6 years agoAssertion under RenderLayerCompositor::updateScrollCoordinatedLayer on time.com on iOS
simon.fraser@apple.com [Thu, 3 Apr 2014 20:46:03 +0000 (20:46 +0000)]
Assertion under RenderLayerCompositor::updateScrollCoordinatedLayer on time.com on iOS
https://bugs.webkit.org/show_bug.cgi?id=131150

Reviewed by Beth Dakin.

When calling updateScrollCoordinatedLayer() under styleChanged, we haven't done
layout yet so our composting layers haven't been hooked together. Don't try
to add a zero nodeID to the map in this case.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

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

6 years agogit-svn-id: https://svn.webkit.org/repository/webkit/trunk@166738 268f45cc-cd09-0410...
santoshbit2007@gmail.com [Thu, 3 Apr 2014 20:14:29 +0000 (20:14 +0000)]
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166738 268f45cc-cd09-0410-ab3c-d52691b4dbfc