WebKit-https.git
6 years ago<attachment> label can get very wide, doesn't wrap/truncate
timothy_horton@apple.com [Tue, 3 Mar 2015 22:12:49 +0000 (22:12 +0000)]
<attachment> label can get very wide, doesn't wrap/truncate
https://bugs.webkit.org/show_bug.cgi?id=142214
<rdar://problem/19982499>

* platform/mac-mavericks/fast/attachment: Added.
* platform/mac-mavericks/fast/attachment/attachment-label-highlight-expected.txt: Added.
Add a Mavericks result because text metrics differ.

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

6 years agobmalloc should implement malloc introspection (to stop false-positive leaks when...
ggaren@apple.com [Tue, 3 Mar 2015 21:58:02 +0000 (21:58 +0000)]
bmalloc should implement malloc introspection (to stop false-positive leaks when MallocStackLogging is off)
https://bugs.webkit.org/show_bug.cgi?id=141802

Reviewed by Andreas Kling.

Rolling back in but disabled on iOS until I can debug why the iOS PLT crashes.

* bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::grow):
* bmalloc/VMHeap.h:
* bmalloc/Zone.cpp:
(bmalloc::Zone::size):
(bmalloc::Zone::Zone):
* bmalloc/Zone.h:

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

6 years agobmalloc: Miscellaneous cleanup
ggaren@apple.com [Tue, 3 Mar 2015 21:47:49 +0000 (21:47 +0000)]
bmalloc: Miscellaneous cleanup
https://bugs.webkit.org/show_bug.cgi?id=142231

Reviewed by Andreas Kling.

No performance change -- maybe a tiny reduction in memory use.

* bmalloc/Heap.cpp: Moved the sleep function into StaticMutex, since
it's a helper for working with mutexes.

(bmalloc::Heap::scavenge): Make sure to wait before we start any
scavenging, since individual scavenging functions now always scavenge
at least one page before waiting themselves.

(bmalloc::Heap::scavengeSmallPages):
(bmalloc::Heap::scavengeMediumPages):
(bmalloc::Heap::scavengeLargeObjects): Use the new wait helper to
simplify this code. Also, we now require our caller to wait until at
least one deallocation is desirable. This simplifies our loop.

(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::allocateMediumPage):
(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::allocateLarge): Don't freak out any time the heap does
an allocation. Only consider the heap to be growing if it actually needs
to allocate new VM. This allows us to shrink the heap back down from a
high water mark more reliably even if heap activity continues.

(bmalloc::sleep): Deleted.
(bmalloc::Heap::scavengeLargeRanges): Renamed to match our use of
"LargeObject".

* bmalloc/Heap.h:

* bmalloc/LargeObject.h:
(bmalloc::LargeObject::operator bool): Added to simplify a while loop.

* bmalloc/StaticMutex.h:
(bmalloc::sleep):
(bmalloc::waitUntilFalse): New helper for waiting until a condition
becomes reliably false.

* bmalloc/Vector.h:
(bmalloc::Vector<T>::~Vector): Oops! Don't deallocate the null pointer.
We don't actually run any Vector destructors, but an iteration of this
patch did, and then crashed. So, let's fix that.

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

6 years agoTest legacy event handler attributes (ones with names like "onclick")
darin@apple.com [Tue, 3 Mar 2015 21:20:14 +0000 (21:20 +0000)]
Test legacy event handler attributes (ones with names like "onclick")
https://bugs.webkit.org/show_bug.cgi?id=142221

Reviewed by Anders Carlsson.

* fast/dom/legacy-event-handler-attributes-expected.txt: Added.
* fast/dom/legacy-event-handler-attributes.html: Added.

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

6 years agoTry to fix the build.
andersca@apple.com [Tue, 3 Mar 2015 21:13:48 +0000 (21:13 +0000)]
Try to fix the build.

* platform/spi/cf/CFNetworkSPI.h:

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

6 years ago<attachment> label can get very wide, doesn't wrap/truncate
timothy_horton@apple.com [Tue, 3 Mar 2015 20:16:50 +0000 (20:16 +0000)]
<attachment> label can get very wide, doesn't wrap/truncate
https://bugs.webkit.org/show_bug.cgi?id=142214
<rdar://problem/19982499>

Reviewed by Simon Fraser.

Test: fast/attachment/attachment-label-highlight.html

* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::labelTextColorForAttachment):
(WebCore::AttachmentLayout::addLine):
(WebCore::AttachmentLayout::layOutText):
(WebCore::AttachmentLayout::AttachmentLayout):
Make it possible to lay out multiple lines of label text.
We lay out the whole string normally, but then only draw N (where N=1 for now,
but is adjustable) of the lines. The remainder of the string is then
merged into a single line, which is middle-truncated with an ellipsis
and drawn in place of the N+1 line.

(WebCore::addAttachmentLabelBackgroundRightCorner):
(WebCore::addAttachmentLabelBackgroundLeftCorner):
(WebCore::paintAttachmentLabelBackground):
Wrap the label background around the multiple lines of text with curved edges.
We run first down the right side of the label, determining whether to use
concave or convex arcs based on the relative widths of adjacent lines.
Then, we run back up the left side of the label doing the same thing.

If the background rects of two lines are very similar (within the rounded rect radius),
they will be expanded to the larger of the two, because otherwise the arcs
look quite wrong.

(WebCore::paintAttachmentLabel):
Draw the label with CoreText directly instead of bothering with WebCore
text layout primitives. There's no need, and it makes wrapping much more complicated.

(WebCore::RenderThemeMac::paintAttachment):
(WebCore::RenderThemeMac::paintAttachmentLabelBackground): Deleted.
(WebCore::RenderThemeMac::paintAttachmentLabel): Deleted.

* fast/attachment/attachment-label-highlight.html: Added.
* platform/mac/fast/attachment/attachment-label-highlight-expected.png: Added.
* platform/mac/fast/attachment/attachment-label-highlight-expected.txt: Added.
Add a test for various <attachment> highlight cases.

* platform/mac/fast/attachment/attachment-rendering-expected.txt:
Update expected result for attachment-rendering, which changed size
because we now bail from text layout if we don't have any text.

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

6 years agoInclude key to NetworkCacheStorage::Entry
antti@apple.com [Tue, 3 Mar 2015 20:13:01 +0000 (20:13 +0000)]
Include key to NetworkCacheStorage::Entry
https://bugs.webkit.org/show_bug.cgi?id=142215

Reviewed by Chris Dumez.

This simplified code. The key is saved as part of the entry so it makes logical sense too.

* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::makeCacheKey):
(WebKit::encodeStorageEntry):
(WebKit::NetworkCache::retrieve):
(WebKit::NetworkCache::store):
(WebKit::NetworkCache::update):
(WebKit::NetworkCache::traverse):
(WebKit::entryAsJSON):
(WebKit::NetworkCache::dumpContentsToFile):
* NetworkProcess/cache/NetworkCacheKey.cpp:
(WebKit::NetworkCacheKey::operator=):
* NetworkProcess/cache/NetworkCacheKey.h:
(WebKit::NetworkCacheKey::isNull):
* NetworkProcess/cache/NetworkCacheStorage.h:
* NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::decodeEntry):
(WebKit::encodeEntryHeader):
(WebKit::retrieveFromMemory):
(WebKit::NetworkCacheStorage::retrieve):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::update):
(WebKit::NetworkCacheStorage::traverse):
(WebKit::NetworkCacheStorage::dispatchPendingWriteOperations):
(WebKit::NetworkCacheStorage::dispatchFullWriteOperation):
(WebKit::NetworkCacheStorage::dispatchHeaderWriteOperation):

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

6 years agoAvoid applying the clip-path when painting, if a layer also has a shape layer mask
simon.fraser@apple.com [Tue, 3 Mar 2015 20:12:54 +0000 (20:12 +0000)]
Avoid applying the clip-path when painting, if a layer also has a shape layer mask
https://bugs.webkit.org/show_bug.cgi?id=142212

Reviewed by Zalan Bujtas.

After r180882 we translate clip-path into a composited shape mask when the layer
is composited. However, we were also still applying the clip-path when painting
the layer contents.

Now, we set the GraphicsLayer bits GraphicsLayerPaintClipPath and GraphicsLayerPaintMask
only for the m_maskLayer's painting. This translate into setting PaintLayerPaintingCompositingMaskPhase
and PaintLayerPaintingCompositingClipPathPhase only when painting that same mask layer,
rather than always. To ensure that masks and clip-path get applied for software paints,
add shouldPaintMask() and shouldApplyClipPath() that return true for non-composited layers,
and when doing a flattening paint.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents): Use shouldApplyClipPath().
Pull three chunks of code under a single "if (shouldPaintContent && !selectionOnly)" condition.
The condition for paintChildClippingMaskForFragments() is changed slightly; we need to call this
only when painting the clip-path/mask layer contents, but also only when there is no mask to fill
the clipped area for us.
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::paintsWithClipPath): Deleted.
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateMaskingLayer): Be sure to set the GraphicsLayerPaintClipPath bit
when having a mask forces us onto the painting path.

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

6 years agoCache shrink leaves behind empty partition directories
antti@apple.com [Tue, 3 Mar 2015 20:10:07 +0000 (20:10 +0000)]
Cache shrink leaves behind empty partition directories
https://bugs.webkit.org/show_bug.cgi?id=142217

Reviewed by Andreas Kling.

* NetworkProcess/cache/NetworkCacheFileSystemPosix.h:
(WebKit::traverseCacheFiles):

    No need for std::function.

* NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::NetworkCacheStorage::shrinkIfNeeded):

    After shrink traverse through the partition directories and try to delete them.
    System knows if they are actually empty.

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

6 years agoUse the correct display name for website data for local files
andersca@apple.com [Tue, 3 Mar 2015 19:56:32 +0000 (19:56 +0000)]
Use the correct display name for website data for local files
https://bugs.webkit.org/show_bug.cgi?id=142228

Reviewed by Dan Bernstein.

Source/WebCore:

* English.lproj/Localizable.strings:
Add local file display name.

* platform/spi/cf/CFNetworkSPI.h:
Add kCFHTTPCookieLocalFileDomain declaration.

Source/WebKit2:

* UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(displayNameForLocalFiles):
Add new helper function.

(WebKit::WebsiteDataRecord::displayNameForCookieHostName):
Check if the hostname is kCFHTTPCookieLocalFileDomain.

(WebKit::WebsiteDataRecord::displayNameForOrigin):
Handle file URLs as well.

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

6 years agoJSC tests should not be repeated twice for each branch builder, and should if possibl...
mmirman@apple.com [Tue, 3 Mar 2015 19:14:24 +0000 (19:14 +0000)]
JSC tests should not be repeated twice for each branch builder, and should if possible have their own queue.
https://bugs.webkit.org/show_bug.cgi?id=142094

Reviewed by Csaba Osztrogonác.

* BuildSlaveSupport/build.webkit.org-config/config.json: Added bots 155 and 157
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(TestFactory):
(TestFactory.__init__): Made running of JSC tests conditional.
(TestAllButJSCFactory):
(TestJSCFactory): Added.
(TestJSCFactory.__init__):
(TestWebKit2AndJSCFactory): Added factory to not run JSC tests on WebKit2.

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

6 years agoBreakingContext cleanup
mmaxfield@apple.com [Tue, 3 Mar 2015 19:13:13 +0000 (19:13 +0000)]
BreakingContext cleanup
https://bugs.webkit.org/show_bug.cgi?id=142146

Reviewed by Dean Jackson.

1. Use commitLineBreakAtCurrentWidth() instead of directly
updating m_width and m_lineBreak, because the name makes the
intent clearer.
2. Remove duplicate function LineBreaker::nextSegmentBreak().
3. lineStyle() takes care of inspecting RenderText's parent's
style.
4. Add FIXME to BreakingContext::initializeForCurrentObject()
because it seems like we are ignoring first-line style for
some properties.

No new tests because there is no behavior change.

* rendering/line/BreakingContextInlineHeaders.h:
(WebCore::BreakingContext::BreakingContext):
(WebCore::BreakingContext::initializeForCurrentObject):
(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
(WebCore::BreakingContext::handleEndOfLine):
* rendering/line/LineBreaker.cpp:
(WebCore::LineBreaker::nextLineBreak): Deleted.
(WebCore::LineBreaker::nextSegmentBreak): Deleted.
* rendering/line/LineBreaker.h:
* rendering/line/LineInlineHeaders.h:
(WebCore::lineStyle):

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

6 years agoFixed typo in platform guard in http://trac.webkit.org/changeset/180939.
enrica@apple.com [Tue, 3 Mar 2015 18:52:00 +0000 (18:52 +0000)]
Fixed typo in platform guard in trac.webkit.org/changeset/180939.

Unreviewed.

* UIProcess/ios/WKContentViewInteraction.mm:

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

6 years ago`build-webkit --help` is wrong about how to build for the iOS simulator
ddkilzer@apple.com [Tue, 3 Mar 2015 18:50:49 +0000 (18:50 +0000)]
`build-webkit --help` is wrong about how to build for the iOS simulator
<http://webkit.org/b/142223>

Reviewed by Csaba Osztrogonác.

* Scripts/build-webkit: Fix help.

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

6 years agoWeb Inspector: Refactoring: separate ConsoleSession from ConsoleGroup
nvasilyev@apple.com [Tue, 3 Mar 2015 18:10:56 +0000 (18:10 +0000)]
Web Inspector: Refactoring: separate ConsoleSession from ConsoleGroup
https://bugs.webkit.org/show_bug.cgi?id=142141

ConsoleSession doesn't have a title and it's not collapsible either.
Simplify ConsoleSession by removing excessive markup.

Reviewed by Timothy Hatcher.

* UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController):
(WebInspector.JavaScriptLogViewController.prototype.startNewSession):
(WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage):
(WebInspector.JavaScriptLogViewController.prototype.get topConsoleGroup): Deleted.
* UserInterface/Main.html:
* UserInterface/Views/ConsoleGroup.js:
(WebInspector.ConsoleGroup):
(WebInspector.ConsoleGroup.prototype.render):
(WebInspector.ConsoleGroup.prototype.addMessage):
(WebInspector.ConsoleGroup.prototype.append):
(WebInspector.ConsoleGroup.prototype.hasMessages): Deleted.
* UserInterface/Views/ConsoleSession.js: Added.
(WebInspector.ConsoleSession):
(WebInspector.ConsoleSession.prototype.addMessage):
(WebInspector.ConsoleSession.prototype.append):
(WebInspector.ConsoleSession.prototype.hasMessages):
* UserInterface/Views/LogContentView.css:
(.console-session + .console-session):
(.console-group.new-session .console-group-messages .console-item:first-child): Deleted.
(.console-group.new-session): Deleted.

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

6 years agoUnreviewed. Bump libsoup version to 2.49.91.1 to fix 32 bit build.
carlosgc@webkit.org [Tue, 3 Mar 2015 18:05:59 +0000 (18:05 +0000)]
Unreviewed. Bump libsoup version to 2.49.91.1 to fix 32 bit build.

* gtk/jhbuild.modules:

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

6 years agoAdopt new API for keyboard interaction.
enrica@apple.com [Tue, 3 Mar 2015 17:46:00 +0000 (17:46 +0000)]
Adopt new API for keyboard interaction.
https://bugs.webkit.org/show_bug.cgi?id=142201
rdar://problem/19924949

Reviewed by Joseph Pecoraro.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView inputAssistantItem]):
(-[WKContentView _inputAssistantItem]):

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

6 years ago[Win64] JSC compile error.
commit-queue@webkit.org [Tue, 3 Mar 2015 17:32:39 +0000 (17:32 +0000)]
[Win64] JSC compile error.
https://bugs.webkit.org/show_bug.cgi?id=142216

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-03-03
Reviewed by Mark Lam.

There is missing a version of setupArgumentsWithExecState when NUMBER_OF_ARGUMENT_REGISTERS == 4.

* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):

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

6 years agoWeb Inspector: popover should use requestAnimationFrame to drive move/resize animations
burg@cs.washington.edu [Tue, 3 Mar 2015 17:13:23 +0000 (17:13 +0000)]
Web Inspector: popover should use requestAnimationFrame to drive move/resize animations
https://bugs.webkit.org/show_bug.cgi?id=142218

Reviewed by Timothy Hatcher.

Remove setTimeout workaround now that Inspector runs in its own process.

* UserInterface/Views/Popover.js:
(WebInspector.Popover.prototype.drawBackground):
(WebInspector.Popover.prototype._animateFrame):

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

6 years ago[Win] Document more debug assertions.
bfulgham@apple.com [Tue, 3 Mar 2015 17:08:39 +0000 (17:08 +0000)]
[Win] Document more debug assertions.

* platform/win/TestExpectations:

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

6 years agoWeb Inspector: Console log level selector loses selection on reload
burg@cs.washington.edu [Tue, 3 Mar 2015 16:52:09 +0000 (16:52 +0000)]
Web Inspector: Console log level selector loses selection on reload
https://bugs.webkit.org/show_bug.cgi?id=142199

Reviewed by Timothy Hatcher.

The selected items in the console scope bar were being saved as settings,
but the "All" scope is forcibly selected on reload due to a logic bug.

* UserInterface/Base/Main.js:
(WebInspector.showFullHeightConsole):
The scope bar may already have selected items restored from WebInspector.Settings.
Don't select a scope unless explicitly requested (i.e., clicking on dashboard buttons)
or if no scopes are selected at all. (In the latter case, "All" is the default scope.)

* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView): Don't specify a default value here to avoid trampling
settings. The "All" scope is selected by default in showFullHeightConsole if
nothing else is selected.

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

6 years agoMake AudioContext suspendable when it is not rendering
cdumez@apple.com [Tue, 3 Mar 2015 15:58:47 +0000 (15:58 +0000)]
Make AudioContext suspendable when it is not rendering
https://bugs.webkit.org/show_bug.cgi?id=142210
<rdar://problem/19923085>

Reviewed by Eric Carlson.

Source/WebCore:

Make AudioContext suspendable when it is not rendering to increase the
likelihood of entering the PageCache for pages using WebAudio.

This patch adds a state member to AudioContext with 3 possible states:
Suspended / Running / Closed, as defined in the specification:
http://webaudio.github.io/web-audio-api/#widl-AudioContext-state

This state is used to decide if we can suspend the page or not. We
can safely suspend if the AudioContext's state is suspended (did not
start rendering) or closed (Stopped rendering).

Note that this patch does not expose the AudioContext's state to the
Web yet, even though it is exposed in the latest specification.

Tests: fast/history/page-cache-closed-audiocontext.html
       fast/history/page-cache-running-audiocontext.html
       fast/history/page-cache-suspended-audiocontext.html

* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::uninitialize):
(WebCore::AudioContext::canSuspend):
(WebCore::AudioContext::startRendering):
(WebCore::AudioContext::fireCompletionEvent):
* Modules/webaudio/AudioContext.h:

LayoutTests:

Add layout tests to check cases where an AudioContext should or should
not prevent pages from entering the page cache.

* fast/history/page-cache-closed-audiocontext-expected.txt: Added.
* fast/history/page-cache-closed-audiocontext.html: Added.
* fast/history/page-cache-running-audiocontext-expected.txt: Added.
* fast/history/page-cache-running-audiocontext.html: Added.
* fast/history/page-cache-suspended-audiocontext-expected.txt: Added.
* fast/history/page-cache-suspended-audiocontext.html: Added.

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

6 years ago[SOUP] Use SoupMessage::starting instead of SoupSession::request-started
carlosgc@webkit.org [Tue, 3 Mar 2015 10:24:47 +0000 (10:24 +0000)]
[SOUP] Use SoupMessage::starting instead of SoupSession::request-started
https://bugs.webkit.org/show_bug.cgi?id=142164

Reviewed by Sergio Villar Senin.

SoupSession::request-started is deprecated in libsoup 2.50. Both
signals are equivalent, but SoupMessage::starting is also emitted
for resources loaded from the disk cache. This fixes web timing
calculations for cached resources, since we were not initializing
m_requestStart.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::startingCallback):
(WebCore::createSoupMessageForHandleAndRequest):
* platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::SoupNetworkSession):

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

6 years ago[SOUP] Synchronous XMLHttpRequests can time out when we reach the max connections...
carlosgc@webkit.org [Tue, 3 Mar 2015 09:17:24 +0000 (09:17 +0000)]
[SOUP] Synchronous XMLHttpRequests can time out when we reach the max connections limit
https://bugs.webkit.org/show_bug.cgi?id=141508

Reviewed by Sergio Villar Senin.

Source/WebCore:

Use SOUP_MESSAGE_IGNORE_CONNECTION_LIMITS flag when loading a
synchronous message instead of increasing the maximum number of
connections allowed if the soup version is recent enough.
The current solution of increasing/decreasing the limits doesn't
always work, because connections are not marked as IDLE in libsoup
until the message is unqueued, but we don't wait for the message
to be unqueued to finish our loads in WebKit, we finish them as
soon as we have finished reading the stream. This causes that
synchronous loads keep blocked in the nested main loop until the
timeout of 10 seconds is fired and the load fails.
Also marked WebCoreSynchronousLoader class as final, the virtual
methods as override and removed the unsused method isSynchronousClient.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::createSoupMessageForHandleAndRequest):
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::isSynchronousClient): Deleted.
(WebCore::WebCoreSynchronousLoader::didReceiveResponse):
(WebCore::WebCoreSynchronousLoader::didReceiveData):
(WebCore::WebCoreSynchronousLoader::didReceiveBuffer):
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::WebCoreSynchronousLoader::didReceiveAuthenticationChallenge):
(WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage):

Tools:

Add a unit test to check that synchronous XHRs load even if the
maximum connection limits are reached.

* TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
(testWebViewSyncRequestOnMaxConns):
(serverCallback):
(beforeAll):
* gtk/jhbuild.modules: Bump libsoup version to 2.49.91.

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

6 years agoREGRESSION(r177075): WebProcess crashes when entering accelerating compositing mode...
carlosgc@webkit.org [Tue, 3 Mar 2015 08:10:01 +0000 (08:10 +0000)]
REGRESSION(r177075): WebProcess crashes when entering accelerating compositing mode before the WebView is realized
https://bugs.webkit.org/show_bug.cgi?id=142079

Reviewed by Žan Doberšek.

The problem is that the texture mapper and native window handler
are initialized when the LayerTreeHost is initialized, assuming
the UI process has already sent the native window handler to the
web process, but that doesn't always happen since we moved the
redirected window creation to realize in r177075.

* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::nativeSurfaceHandleForCompositing): Deleted.
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): Call
LayerTreeHost::setNativeSurfaceHandleForCompositing if we
already have a native window handle at this point.
(WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
Call LayerTreeHost::setNativeSurfaceHandleForCompositing also when
not using threaded compositing.
* WebProcess/WebPage/LayerTreeHost.h:
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::makeContextCurrent): Helper function to
ensure a context and making it current.
(WebKit::LayerTreeHostGtk::ensureTextureMapper): Ensure a texture
is created for the current context.
(WebKit::LayerTreeHostGtk::initialize): Use makeContextCurrent()
and ensureTextureMapper(), and remove the LayerTreeContext
initialization since that's is now always initialized in
setNativeSurfaceHandleForCompositing().
(WebKit::LayerTreeHostGtk::compositeLayersToContext): Use
makeContextCurrent() helper function and also call
ensureTextureMapper() just in case the texture could not be
created during initialization because the native window handle was
not yet available.
(WebKit::LayerTreeHostGtk::flushAndRenderLayers): Use makeContextCurrent().
(WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing):
Initialize the LayerTreeContext.
(WebKit::LayerTreeHostGtk::glContext): Deleted.
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:

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

6 years ago[iOS] Disable -Wdeprecated-declaration warnings in WebVideoFullscreenInterfaceAVKit.mm
ddkilzer@apple.com [Tue, 3 Mar 2015 07:20:06 +0000 (07:20 +0000)]
[iOS] Disable -Wdeprecated-declaration warnings in WebVideoFullscreenInterfaceAVKit.mm

Fixing the deprecations is tracked by: <rdar://problem/20018692>

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::enterFullscreenOptimized):
Ignore -Wdeprecated-declaration warnings via clang pragmas.

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

6 years agoGardening: skipping inspector/timeline tests since they are still flaky.
mark.lam@apple.com [Tue, 3 Mar 2015 06:57:01 +0000 (06:57 +0000)]
Gardening: skipping inspector/timeline tests since they are still flaky.
<https://webkit.org/b/142208>

Not reviewed.

* TestExpectations:
- Restore skipping of inspector/timeline tests.
* platform/win/TestExpectations:
- Removing the skipping here since the general TestExpectations has it covered.

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

6 years ago[WK2] Remove unnecessary create() factory functions.
gyuyoung.kim@samsung.com [Tue, 3 Mar 2015 06:55:37 +0000 (06:55 +0000)]
[WK2] Remove unnecessary create() factory functions.
https://bugs.webkit.org/show_bug.cgi?id=142161

Reviewed by Chris Dumez.

We can replace some create() factory functions with std::make_unique(). Because
it just returns new instance. Even some of those functions have used std::unique_ptr<>
instead of std::make_unique<>. Fixed all.

Source/WebKit2:

* DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
(WebKit::SQLiteIDBTransaction::create): Deleted.
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
* Platform/efl/DispatchQueueWorkItemEfl.h:
(WorkItem::dispatch):
(WorkItem::create): Deleted.
* UIProcess/API/gtk/PageClientImpl.h:
(WebKit::PageClientImpl::create): Deleted.
* UIProcess/API/gtk/WebKitTextChecker.h:
(WebKitTextChecker::create): Deleted.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextConstructed):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseConstructed):

Source/WTF:

* wtf/efl/WorkQueueEfl.cpp:
(WorkQueue::dispatch):

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

6 years agoUpdate the name of ASan build step.
ap@apple.com [Tue, 3 Mar 2015 04:38:06 +0000 (04:38 +0000)]
Update the name of ASan build step.

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

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

6 years agoDFG compile time measurements should really report milliseconds
fpizlo@apple.com [Tue, 3 Mar 2015 04:33:28 +0000 (04:33 +0000)]
DFG compile time measurements should really report milliseconds
https://bugs.webkit.org/show_bug.cgi?id=142209

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Fix this to record milliseconds instead of seconds.

* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):

Source/WTF:

This bug was introduced because currentTimeMS() calls were converted to
monotonicallyIncreasingTime() calls. Perhaps this bug would be less likely if there was a
monotonicallyIncreasingTimeMS() function available, so this patch adds it.

* wtf/CurrentTime.h:
(WTF::monotonicallyIncreasingTimeMS):

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

6 years ago[Win] inspector/timeline always times out.
bfulgham@apple.com [Tue, 3 Mar 2015 04:12:58 +0000 (04:12 +0000)]
[Win] inspector/timeline always times out.
https://bugs.webkit.org/show_bug.cgi?id=142208

* platform/win/TestExpectations: Skipping.)

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

6 years agoRemove op_get_callee, it's unused
fpizlo@apple.com [Tue, 3 Mar 2015 04:05:05 +0000 (04:05 +0000)]
Remove op_get_callee, it's unused
https://bugs.webkit.org/show_bug.cgi?id=142206

Reviewed by Andreas Kling.

It's a bit of a shame that we stopped using this opcode since it gives us same-callee
profiling. But, if we were to add this functionality back in, we would almost certainly do
it by adding a JSFunction allocation watchpoint on FunctionExecutable.

* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::finalizeUnconditionally):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_get_callee): Deleted.
(JSC::JIT::emitSlow_op_get_callee): Deleted.
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_get_callee): Deleted.
(JSC::JIT::emitSlow_op_get_callee): Deleted.
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL): Deleted.

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

6 years agoWeb Inspector: Remove native extensions now built-in
commit-queue@webkit.org [Tue, 3 Mar 2015 03:58:53 +0000 (03:58 +0000)]
Web Inspector: Remove native extensions now built-in
https://bugs.webkit.org/show_bug.cgi?id=142203

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-03-02
Reviewed by Timothy Hatcher.

* UserInterface/Base/Utilities.js:

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

6 years agoUnreviewed, rolling out r180902.
commit-queue@webkit.org [Tue, 3 Mar 2015 03:29:41 +0000 (03:29 +0000)]
Unreviewed, rolling out r180902.
https://bugs.webkit.org/show_bug.cgi?id=142205

It broke scrolling in some cases. See bug 142202 for details.
(Requested by bdash on #webkit).

Reverted changeset:

"Move scroll animating functions from ScrollAnimator to
ScrollController"
https://bugs.webkit.org/show_bug.cgi?id=142102
http://trac.webkit.org/changeset/180902

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

6 years agoUnreviewed, rolling out r180911.
commit-queue@webkit.org [Tue, 3 Mar 2015 03:25:21 +0000 (03:25 +0000)]
Unreviewed, rolling out r180911.
https://bugs.webkit.org/show_bug.cgi?id=142204

The tests it added are crashing (Requested by bdash on
#webkit).

Reverted changeset:

"Add a microtask abstraction"
https://bugs.webkit.org/show_bug.cgi?id=137496
http://trac.webkit.org/changeset/180911

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

6 years agoWeb Inspector: Context Menu to Log a Particular Object
joepeck@webkit.org [Tue, 3 Mar 2015 02:24:49 +0000 (02:24 +0000)]
Web Inspector: Context Menu to Log a Particular Object
https://bugs.webkit.org/show_bug.cgi?id=142198

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Add a protocol method to assign a $n index to a value. For an object
use the injected script context for that object. For a value, use
the execution context to know where to save the value.

* inspector/InjectedScript.cpp:
(Inspector::InjectedScript::saveResult):
* inspector/InjectedScript.h:
* inspector/InjectedScriptSource.js:
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::saveResult):
* inspector/agents/InspectorRuntimeAgent.h:
* inspector/protocol/Debugger.json:
* inspector/protocol/Runtime.json:

Source/WebInspectorUI:

* UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController.prototype.saveResultCallback):
(WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult):
Add a way to show an execution and result immediately in the Log View.

* UserInterface/Views/ConsolePrompt.js:
(WebInspector.ConsolePrompt.prototype.pushHistoryItem):
(WebInspector.ConsolePrompt.prototype.commitTextOrInsertNewLine):
(WebInspector.ConsolePrompt.prototype._handleEnterKey):
(WebInspector.ConsolePrompt.prototype._commitHistoryEntry):
Add a way to append a history item to the console prompt history.

* UserInterface/Views/ObjectTreePropertyTreeElement.js:
(WebInspector.ObjectTreePropertyTreeElement.prototype):
Add a context menu item to object tree properties to log the value.

* UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject.createCallArgument):
(WebInspector.RemoteObject.prototype.callFunction):
(WebInspector.RemoteObject.prototype.asCallArgument):
Simplify CallArgument creation.

* UserInterface/Controllers/RuntimeManager.js:
(WebInspector.RuntimeManager.prototype.mycallback):
(WebInspector.RuntimeManager.prototype.saveResult):
Wrap RuntimeAgent.saveResult. If supported, run the backend command
and fetch a saved result index from the backend for the given value.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype.get logViewController):
Misc.

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

6 years agoLots of: ERROR: Unhandled web process message WebPageGroupProxy:RemoveAllUserContentF...
beidson@apple.com [Tue, 3 Mar 2015 01:37:12 +0000 (01:37 +0000)]
Lots of: ERROR: Unhandled web process message WebPageGroupProxy:RemoveAllUserContentFilters
https://bugs.webkit.org/show_bug.cgi?id=142155

Reviewed by Simon Fraser.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage): Return after handling WebPageGroupProxy messages
  instead of logging an error.

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

6 years agoAdd a microtask abstraction
yoav@yoav.ws [Tue, 3 Mar 2015 01:04:40 +0000 (01:04 +0000)]
Add a microtask abstraction
https://bugs.webkit.org/show_bug.cgi?id=137496

Reviewed by Sam Weinig.

Source/WebCore:

This patch adds a microtask abstraction: https://html.spec.whatwg.org/multipage/webappapis.html#microtask
That abstraction is required in order to enable async loading of images,
which is in turn required to enable support for the picture element, as well as
to make sure that the order of properties set on HTMLImageElement has no implications.

* WebCore.vcxproj/WebCore.vcxproj: Add MicroTask.{h,cpp} to the project.
* WebCore.vcxproj/WebCoreTestSupport.vcxproj: Add MicroTaskTest.{h,cpp} to the project.
* WebCore.vcxproj/WebCore.vcxproj.filters: Add MicroTask.{h,cpp} to the project.
* WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Add MicroTaskTest.{h,cpp} to the project.
* WebCore.xcodeproj/project.pbxproj: Add MicroTask{,Test}.{h,cpp} to the project.
* dom/Document.h: Add WEBCORE_EXPORT to addConsoleMessage, so it can be used in MicroTaskTest that's in WebCoreTestSupport..
* dom/MicroTask.h: Add a MicroTask interface class. Add a MicroTaskQueue singleton.
(WebCore::MicroTask::~MicroTask):
(WebCore::MicroTask::run): Run the microtask.
* dom/MicroTask.cpp: Implement the MicroTaskQueue singleton.
(WebCore::MicroTaskQueue::singleton): Get a singleton instance of MicroTaskQueue.
(WebCore::MicroTaskQueue::queueMicroTask): Add a microtask to the queue.
(WebCore::MicroTaskQueue::runMicroTasks): Run all the microtasks in the queue and clear it.
* dom/ScriptRunner.cpp: Trigger running of all microtasks in queue.
(WebCore::ScriptRunner::timerFired):
* html/parser/HTMLScriptRunner.cpp: Trigger running of all microtasks in queue.
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
(WebCore::HTMLScriptRunner::runScript):
* testing/Internals.cpp: Add a method to queue a test microtask.
(WebCore::Internals::queueMicroTask):
* testing/Internals.h: Add a method to queue a test microtask.
(WebCore::Internals::queueMicroTask):
* testing/Internals.idl: Expose test microtask queueing to test JS.
* testing/MicroTaskTest.cpp: Add a test class that implements a microtask and prints to the console when it runs.
(WebCore::MicroTaskTest::run): Run the microtask
(WebCore::MicroTaskTest::create): Create a test microtask.
* testing/MicroTaskTest.h: Add a test class that implements a microtask.
(WebCore::MicroTaskTest::run):
(WebCore::MicroTaskTest::create):

LayoutTests:

Adding a test for microtask abstraction.

* fast/dom/microtask-detach.html: Added.
* fast/dom/microtask-detach-expected.txt: Added.
* fast/dom/microtask-inorder.html: Added.
* fast/dom/microtask-inorder-expected.txt: Added.
* fast/dom/microtask-reverse.html: Added.
* fast/dom/microtask-reverse-expected.txt: Added.

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

6 years agoRenderVideo should not paint the video frame when video is fullscreen.
commit-queue@webkit.org [Tue, 3 Mar 2015 00:58:59 +0000 (00:58 +0000)]
RenderVideo should not paint the video frame when video is fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=142097

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-03-02
Reviewed by Eric Carlson.

For performance and correctness, RenderVideo should not paint the current video frame
inline when video is fullscreen. This happens when snapshots are taken and can have a
negative performance impact.

* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::paintReplaced):

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

6 years agoSpeculativeJIT::emitAllocateArguments() should be a bit faster, and shouldn't do...
fpizlo@apple.com [Tue, 3 Mar 2015 00:45:55 +0000 (00:45 +0000)]
SpeculativeJIT::emitAllocateArguments() should be a bit faster, and shouldn't do destructor initialization
https://bugs.webkit.org/show_bug.cgi?id=142197

Reviewed by Geoffrey Garen.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitAllocateArguments): Use shift instead of mul, since mul doesn't automatically strength-reduce to shift. Also pass the structure as a TrustedImmPtr.
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::emitAllocateVariableSizedJSObject): Rationalize this a bit. The other emitAllocate... methods take a templated structure so that it can be either a TrustedImmPtr or a register. Also don't do destructor initialization, since its one client doesn't need it, and it's actually probably wrong.

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

6 years agobmalloc: Eagerly remove allocated objects from the free list
ggaren@apple.com [Tue, 3 Mar 2015 00:38:29 +0000 (00:38 +0000)]
bmalloc: Eagerly remove allocated objects from the free list
https://bugs.webkit.org/show_bug.cgi?id=142194

Reviewed by Andreas Kling.

This reduces the pressure to garbage collect the free list.

Might be a 1% speedup on MallocBench.

* bmalloc/FreeList.cpp: Put this comment at the top of the file instead
of repeating it inside of each function. Tried to clarify the details.

(bmalloc::FreeList::takeGreedy): Matched the other iteration code in this
file for consistency -- even though either direction works fine in this
function.

(bmalloc::FreeList::take): Change to iterate from low to high so that we
can maintain an index into the vector that is not disturbed even if we
pop from the middle (which invalidates the last index in the vector).

Decrement i when popping from the middle to make sure that we don't
skip the next item after popping.

(bmalloc::FreeList::removeInvalidAndDuplicateEntries): Ditto.

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

6 years agoSource/JavaScriptCore:
mark.lam@apple.com [Tue, 3 Mar 2015 00:24:24 +0000 (00:24 +0000)]
Source/JavaScriptCore:
Exception stack unwinding in JSC hangs while the Timeline Profiler is enabled.
<https://webkit.org/b/142191>

Reviewed by Geoffrey Garen.

Imagine a scenario where the Inspector is paused / suspended at a breakpoint or
while the user is stepping through JS code. The user then tries to evaluate an
expression in the console, and that evaluation results in an exception being
thrown. Currently, if the Timeline Profiler is enabled while this exception is
being thrown, the WebProcess will hang while trying to handle that exception.

The issue is that the Timeline Profiler's ProfileGenerator::didExecute() will
return early and decline to process ProfileNodes if the Inspector is paused.
This is proper because it does not want to count work done for injected scripts
(e.g. from the console) towards the timeline profile of the webpage being run.
However, this is in conflict with ProfileGenerator::exceptionUnwind()'s
expectation that didExecute() will process ProfileNodes in order to do the stack
unwinding for the exception handling. As a result,
ProfileGenerator::exceptionUnwind() hangs.

ProfileGenerator::exceptionUnwind() is in error. While the Inspector is paused,
there will not be any ProfileNodes that it needs to "unwind". Hence, the fix is
simply to return early also in ProfileGenerator::exceptionUnwind() if the
Inspector is paused.

* profiler/ProfileGenerator.cpp:
(JSC::ProfileGenerator::exceptionUnwind):

LayoutTests:
Last gardening after r177774

Unreviewed.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-03-02

* fast/text/font-kerning-expected.html:
* fast/text/font-variant-ligatures-expected.html:
* fast/text/whitespace/inline-whitespace-wrapping-7-expected.html:
* fast/text/whitespace/inline-whitespace-wrapping-7.html:
* mathml/presentation/scripts-subsup-expected.html:
* mathml/presentation/scripts-subsup.html:
* platform/mac/TestExpectations:
* platform/mac/fast/text/multiple-codeunit-vertical-upright-expected.html:
* platform/mac/fast/text/multiple-codeunit-vertical-upright.html:
* platform/mac/fast/text/resources/multiple-codeunit-vertical-upright.otf: Removed.
* svg/text/svg-font-word-rounding-hacks-spaces-expected.html:
* svg/text/svg-font-word-rounding-hacks-spaces.html:
* svg/text/tspan-outline-expected.svg:
* svg/text/tspan-outline.html:

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

6 years ago[iOS Media] Airplay button should be blue when active
dino@apple.com [Mon, 2 Mar 2015 23:57:49 +0000 (23:57 +0000)]
[iOS Media] Airplay button should be blue when active
https://bugs.webkit.org/show_bug.cgi?id=142193

Reviewed by Brent Fulgham.

Add a blue form of the Airplay button that is used
when we are actively displaying on another screen.

* Modules/mediacontrols/mediaControlsiOS.css:
(video::-webkit-media-controls-wireless-playback-picker-button):
(video::-webkit-media-controls-wireless-playback-picker-button:active):
(video::-webkit-media-controls-wireless-playback-picker-button.playing):
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.updateWirelessPlaybackStatus):

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

6 years agoAdd way to dump cache meta data to file
antti@apple.com [Mon, 2 Mar 2015 23:52:06 +0000 (23:52 +0000)]
Add way to dump cache meta data to file
https://bugs.webkit.org/show_bug.cgi?id=142183

Add a missing return so we don't try to decode a null entry.

* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::dumpContentsToFile):

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

6 years agoLast gardening after r177774
mmaxfield@apple.com [Mon, 2 Mar 2015 23:51:23 +0000 (23:51 +0000)]
Last gardening after r177774

Unreviewed.

* fast/text/font-kerning-expected.html:
* fast/text/font-variant-ligatures-expected.html:
* fast/text/whitespace/inline-whitespace-wrapping-7-expected.html:
* fast/text/whitespace/inline-whitespace-wrapping-7.html:
* mathml/presentation/scripts-subsup-expected.html:
* mathml/presentation/scripts-subsup.html:
* platform/mac/TestExpectations:
* platform/mac/fast/text/multiple-codeunit-vertical-upright-expected.html:
* platform/mac/fast/text/multiple-codeunit-vertical-upright.html:
* platform/mac/fast/text/resources/multiple-codeunit-vertical-upright.otf: Removed.
* svg/text/svg-font-word-rounding-hacks-spaces-expected.html:
* svg/text/svg-font-word-rounding-hacks-spaces.html:
* svg/text/tspan-outline-expected.svg:
* svg/text/tspan-outline.html:

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

6 years agoFTL should correctly document where it puts the argument count for inlined varargs...
fpizlo@apple.com [Mon, 2 Mar 2015 23:49:29 +0000 (23:49 +0000)]
FTL should correctly document where it puts the argument count for inlined varargs frames
https://bugs.webkit.org/show_bug.cgi?id=142187

Reviewed by Geoffrey Garn.

After LLVM tells us where the captured variables alloca landed in the frame, we need to
tell all of our meta-data about it. We were forgetting to do so for the argument count
register, which is used by inlined varargs calls.

* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* tests/stress/inline-varargs-get-arguments.js: Added.
(foo):
(bar):
(baz):

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

6 years agoMove scroll animating functions from ScrollAnimator to ScrollController
bfulgham@apple.com [Mon, 2 Mar 2015 23:49:24 +0000 (23:49 +0000)]
Move scroll animating functions from ScrollAnimator to ScrollController
https://bugs.webkit.org/show_bug.cgi?id=142102
<rdar://problem/20007161>

Reviewed by Simon Fraser.

No change in functionality.

Do some refactoring of the various scrolling classes:
1. Consolidate animation times to RunLoop::Timer instead of a combination of WebCore::Timer
   and CFRunLoopTimers. Do this for Scroll Snap Point and Rubberband animations.
2. Move ScrollController from platform/mac to platform/cocoa to enable sharing with iOS.
3. Move code from ScrollAnimator{Mac} -> ScrollController.
4. Rename scrollOffsetInAxis -> scrollOffsetOnAxis
5. Rename immediateScrollInAxis -> immediateScrollOnAxis

* WebCore.xcodeproj/project.pbxproj: Move ScrollController to 'platform/cocoa'
* page/mac/EventHandlerMac.mm: Make sure the scroll controller is notified of end-of-scroll
events, just as is done for the "event not handled" case in EventHandler.cpp.
(WebCore::EventHandler::platformCompleteWheelEvent):
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h: Remove timer and some delegate
methods, now that ScrollController is controlling this state.
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac): We no longer
need to clean up the CFRunLoopTimer.
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollOffsetOnAxis): Add temporary stub needed
until Bug 141973 is completed.).
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollOnAxis): Ditto.
(WebCore::ScrollingTreeFrameScrollingNodeMac::startSnapRubberbandTimer): Deleted.
(WebCore::ScrollingTreeFrameScrollingNodeMac::stopSnapRubberbandTimer): Deleted.
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::ScrollAnimator):
(WebCore::ScrollAnimator::processWheelEventForScrollSnap): Just call the ScrollController method.
(WebCore::ScrollAnimator::handleWheelEvent): Ditto.
(WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers): Ditto.
(WebCore::ScrollAnimator::scrollOffsetOnAxis): Renamed from scrollOffsetInAxis.
(WebCore::ScrollAnimator::scrollOffsetInAxis): Deleted.
(WebCore::ScrollAnimator::immediateScrollOnAxis): Renamed from immediateScrollInAxis.
(WebCore::ScrollAnimator::immediateScrollInAxis): Deleted.
(WebCore::ScrollAnimator::startScrollSnapTimer): Deleted.
(WebCore::ScrollAnimator::stopScrollSnapTimer): Deleted.
(WebCore::ScrollAnimator::horizontalScrollSnapTimerFired): Deleted.
(WebCore::ScrollAnimator::verticalScrollSnapTimerFired): Deleted.
* platform/ScrollAnimator.h:
* platform/cocoa/ScrollController.h: Copied from platform/mac/ScrollController.h.
* platform/cocoa/ScrollController.mm: Copied from platform/mac/ScrollController.mm.
(WebCore::ScrollController::ScrollController): Update to initialize new timers.
(WebCore::ScrollController::handleWheelEvent): Update to handle Scroll Snap Point events.
(WebCore::ScrollController::startSnapRubberbandTimer): Added.
(WebCore::ScrollController::stopSnapRubberbandTimer): Manage animation timers locally, do not
require client to maintain timers.
(WebCore::ScrollController::snapRubberBand): Ditto.
(WebCore::ScrollController::processWheelEventForScrollSnap): Added. (Moved from ScrollAnimatorMac)
(WebCore::ScrollController::updateScrollAnimatorsAndTimers): Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::startScrollSnapTimer): Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::stopScrollSnapTimer):  Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::horizontalScrollSnapTimerFired): Ditto.
(WebCore::ScrollController::verticalScrollSnapTimerFired): Ditto.
(WebCore::ScrollController::scrollOffsetOnAxis): Moved from ScrollAnimatorMac.
(WebCore::ScrollController::immediateScrollOnAxis): Ditto.
* platform/mac/AxisScrollSnapAnimator.h: Rename methods from 'InAxis' to 'OnAxis'
* platform/mac/AxisScrollSnapAnimator.mm: Ditto.
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Remove unused Rubberband timers (now that this is
controlled in the ScrollController)
(WebCore::ScrollAnimatorMac::startSnapRubberbandTimer): Deleted.
(WebCore::ScrollAnimatorMac::stopSnapRubberbandTimer): Deleted.
(WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): Deleted.
* platform/mac/ScrollController.h: Removed.
* platform/mac/ScrollController.mm: Removed.

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

6 years agoThe InspectorTimelineAgent should gracefully handle attempts to start more than once.
mark.lam@apple.com [Mon, 2 Mar 2015 23:39:47 +0000 (23:39 +0000)]
The InspectorTimelineAgent should gracefully handle attempts to start more than once.
<https://webkit.org/b/142189>

Reviewed by Joseph Pecoraro.

Source/WebCore:

No new tests.  Unskipped an existing test that already asserts this.

InspectorTimelineAgent::internalStop() already checks for redundant calls to it in
case the InspectorTimelineAgent is already disabled. Similarly,
InspectorTimelineAgent::internalStart() should check if the InspectorTimelineAgent
is already enabled before proceeding to do work to enable it. Though wasteful,
it is legal for clients of the InspectorTimelineAgent to invoke start on it more
than once. Hence, this check is needed.

This check fixes the debug assertion failure when running the
inspector/timeline/debugger-paused-while-recording.html test. The test can now
be unskipped.

* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::internalStart):

LayoutTests:

* TestExpectations:
- Unskipped inspector/timeline tests.

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

6 years ago[Win] Skip media control test after r180893.
bfulgham@apple.com [Mon, 2 Mar 2015 23:35:53 +0000 (23:35 +0000)]
[Win] Skip media control test after r180893.

* platform/win/TestExpectations:

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

6 years agoReturn disk cache entries from the new disk cache
andersca@apple.com [Mon, 2 Mar 2015 23:25:07 +0000 (23:25 +0000)]
Return disk cache entries from the new disk cache
https://bugs.webkit.org/show_bug.cgi?id=142190

Reviewed by Antti Koivisto.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::fetchDiskCacheEntries):
Call NetworkCache::traverse() to get all the cache entries, unique their origins and pass them back with the completion handler.

* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::traverse):
New helper function that traverses network cache entries.

* NetworkProcess/cache/NetworkCache.h:

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

6 years agoUpdate backgrounds of sliders for inline media controls on OS X.
roger_fong@apple.com [Mon, 2 Mar 2015 22:54:50 +0000 (22:54 +0000)]
Update backgrounds of sliders for inline media controls on OS X.
https://bugs.webkit.org/show_bug.cgi?id=142188.
<rdar://problem/20012413>
Reviewed by Dean Jackson.
Don’t use CSS to draw volume and timeline slider backgrounds.
* Modules/mediacontrols/mediaControlsApple.css:
(video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb):
(audio::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
(audio::-webkit-media-controls-panel .thumbnail-track):
(audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb:active::-webkit-slider-thumb): Deleted.
(audio::-webkit-media-controls-timeline:active::-webkit-slider-thumb,): Deleted.
Draw volume and timeline slider backgrounds using 2d canvases.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls):
(Controller.prototype.handleVolumeSliderInput):
(Controller.prototype.addRoundedRect):
(Controller.prototype.drawTimelineBackground):
(Controller.prototype.drawVolumeBackground):
(Controller.prototype.showControls):
* Modules/mediacontrols/mediaControlsiOS.js:

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

6 years agoDeduplicate slow path calling code in JITOpcodes.cpp/JITOpcodes32_64.cpp
fpizlo@apple.com [Mon, 2 Mar 2015 22:52:56 +0000 (22:52 +0000)]
Deduplicate slow path calling code in JITOpcodes.cpp/JITOpcodes32_64.cpp
https://bugs.webkit.org/show_bug.cgi?id=142184

Reviewed by Michael Saboff.

* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_get_enumerable_length):
(JSC::JIT::emitSlow_op_has_structure_property):
(JSC::JIT::emit_op_has_generic_property):
(JSC::JIT::emit_op_get_structure_property_enumerator):
(JSC::JIT::emit_op_get_generic_property_enumerator):
(JSC::JIT::emit_op_to_index_string):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_get_enumerable_length): Deleted.
(JSC::JIT::emitSlow_op_has_structure_property): Deleted.
(JSC::JIT::emit_op_has_generic_property): Deleted.
(JSC::JIT::emit_op_get_structure_property_enumerator): Deleted.
(JSC::JIT::emit_op_get_generic_property_enumerator): Deleted.
(JSC::JIT::emit_op_to_index_string): Deleted.
(JSC::JIT::emit_op_profile_control_flow): Deleted.

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

6 years ago[Win] Document more debug assertions.
bfulgham@apple.com [Mon, 2 Mar 2015 22:28:34 +0000 (22:28 +0000)]
[Win] Document more debug assertions.

* platform/win/TestExpectations:

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

6 years agoSkip media control tests for now while new look is being finalized.
bfulgham@apple.com [Mon, 2 Mar 2015 22:10:55 +0000 (22:10 +0000)]
Skip media control tests for now while new look is being finalized.
https://bugs.webkit.org/show_bug.cgi?id=142138.

Patch by Roger Fong <roger_fong@apple.com> on 2015-02-28
Reviewed by Dean Jackson.

* platform/mac/TestExpectations:

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

6 years agoAdd way to dump cache meta data to file
antti@apple.com [Mon, 2 Mar 2015 21:51:13 +0000 (21:51 +0000)]
Add way to dump cache meta data to file
https://bugs.webkit.org/show_bug.cgi?id=142183

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Export appendQuotedJSONStringToBuilder.

* bytecompiler/NodesCodegen.cpp:
(JSC::ObjectPatternNode::toString):
* runtime/JSONObject.cpp:
(JSC::appendQuotedJSONStringToBuilder):
(JSC::Stringifier::appendQuotedString):
(JSC::escapeStringToBuilder): Deleted.
* runtime/JSONObject.h:

Source/WebKit2:

Dump goes to WebKitCache/dump.json. On OSX it can be triggered with

notifyutil -p com.apple.WebKit.Cache.dump

* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::initialize):
(WebKit::NetworkCache::dumpFilePath):
(WebKit::entryAsJSON):
(WebKit::NetworkCache::dumpContentsToFile):
(WebKit::NetworkCache::clear):

    Also clear any dumps.

* NetworkProcess/cache/NetworkCache.h:
* NetworkProcess/cache/NetworkCacheStorage.h:
(WebKit::NetworkCacheStorage::baseDirectoryPath):
* NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::fileNameForKey):
(WebKit::filePathForKey):
(WebKit::openFile):
(WebKit::openFileForKey):
(WebKit::decodeEntryHeader):

    Separate header decoding.

(WebKit::decodeEntry):
(WebKit::NetworkCacheStorage::traverse):

    Add asynchronous cache traversal inteface.

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

6 years agoUpdate inline media element controls appearance Part 1.
roger_fong@apple.com [Mon, 2 Mar 2015 21:07:33 +0000 (21:07 +0000)]
Update inline media element controls appearance Part 1.
https://bugs.webkit.org/show_bug.cgi?id=142138.
<rdar://problem/19997384>

Reviewed by Dean Jackson.

Update positioning, sizes, and background colors media control elements.
Volume and timeline sliders will be drawn in a separate patch via 2d canvases.
* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-panel):
(video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-rewind-button):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-panel .mute-box):
(video::-webkit-media-controls-volume-max-button):
(audio::-webkit-media-controls-panel .volume-box):
(audio::-webkit-media-controls-panel .volume-box:active):
(video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-toggle-closed-captions-button):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-current-time-display):
(audio::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-timeline-container .hour-long-time): Deleted.

Skip media control tests for now while new look is being finalized.
* platform/mac/TestExpectations:

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

6 years agoWebsiteDataStore should handle deleting cookies
andersca@apple.com [Mon, 2 Mar 2015 20:45:18 +0000 (20:45 +0000)]
WebsiteDataStore should handle deleting cookies
https://bugs.webkit.org/show_bug.cgi?id=142185

Reviewed by Beth Dakin.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
When asked to delete cookies, do so.

* NetworkProcess/NetworkProcess.h:
Update the deleteWebsiteDataForOrigins signature.

* NetworkProcess/NetworkProcess.messages.in:
Add cookieHostNames to DeleteWebsiteDataForOrigins.

* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
* UIProcess/Network/NetworkProcessProxy.h:
Update to take a vector of cookie host names.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::removeData):
Figure out if we need to ask the network process to delete data.

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

6 years agoWeb Inspector: Add Context Menus to Object Tree properties
joepeck@webkit.org [Mon, 2 Mar 2015 19:32:49 +0000 (19:32 +0000)]
Web Inspector: Add Context Menus to Object Tree properties
https://bugs.webkit.org/show_bug.cgi?id=142125

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::functionDetails):
Update to include columnNumber.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Views/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
(WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
Fix legacy implementation.

* UserInterface/Views/ObjectTreeArrayIndexTreeElement.js:
* UserInterface/Views/ObjectTreePropertyTreeElement.js:
(WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePrototype):
Give prototype buttons a tooltip.

(WebInspector.ObjectTreePropertyTreeElement.prototype.oncontextmenu):
(WebInspector.ObjectTreePropertyTreeElement.prototype._contextMenuHandler):
(WebInspector.ObjectTreePropertyTreeElement.prototype._appendMenusItemsForObject):
Context Menus based on the selected object.

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

6 years ago[Win] Document more debug assertions.
bfulgham@apple.com [Mon, 2 Mar 2015 19:08:06 +0000 (19:08 +0000)]
[Win] Document more debug assertions.

* platform/win/TestExpectations:

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

6 years agoWebsiteDataStore should support getting cookie host names
andersca@apple.com [Mon, 2 Mar 2015 18:42:12 +0000 (18:42 +0000)]
WebsiteDataStore should support getting cookie host names
https://bugs.webkit.org/show_bug.cgi?id=142178

Reviewed by Dan Bernstein.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::fetchWebsiteData):
Assert that we're destroyed from the main thread since we end up copying the website data struct.

* Shared/WebsiteData/WebsiteData.cpp:
(WebKit::WebsiteData::encode):
(WebKit::WebsiteData::decode):
* Shared/WebsiteData/WebsiteData.h:
Add a hostnamesWithCookies member.

* UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(WebKit::WebsiteDataRecord::displayNameForCookieHostName):
Add a new function that will return the display name for a cookie host name.

(WebKit::WebsiteDataRecord::addCookieHostName):
* UIProcess/WebsiteData/WebsiteDataRecord.h:
Add a hash set of cookie host names.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
Create data records for each host name with cookies.

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

6 years agoFix a typo in TestExpectations.
ap@apple.com [Mon, 2 Mar 2015 18:18:16 +0000 (18:18 +0000)]
Fix a typo in TestExpectations.

* platform/mac/TestExpectations: Faiure - > Failure.

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

6 years agojs/promises-tests/promises-tests-2-1-2.html sometimes times out
ap@apple.com [Mon, 2 Mar 2015 17:52:02 +0000 (17:52 +0000)]
js/promises-tests/promises-tests-2-1-2.html sometimes times out
https://bugs.webkit.org/show_bug.cgi?id=142175

* TestExpectations: Marking as flaky.

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

6 years ago[WK2][Mac] WebPageProxy::supressVisibilityUpdates() should suppress visibility updates.
jer.noble@apple.com [Mon, 2 Mar 2015 17:39:10 +0000 (17:39 +0000)]
[WK2][Mac] WebPageProxy::supressVisibilityUpdates() should suppress visibility updates.
https://bugs.webkit.org/show_bug.cgi?id=141907

Reviewed by Tim Horton.

At some point, the window/view/page visibility update code was refactored such that setting
WebPageProxy::setSuppressVisibilityUpdate() no longer suppressed visibility updates. This causes
full screen animations to become "flashy" when moving the WebView between the regular and full
screen window, as a HTMLMediaElement in the full screen animation will receive a "!visible"
notification and disconnect its rendering pipeline.

In WebPageProxy::viewStateDidChange(), respect m_suppressVisibilityUpdates and bail out early
if set. In WebPageProxy::setSuppressVisibilityUpdates(), trigger an explicit update after
clearing m_suppressVisibilityUpdates.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setSuppressVisibilityUpdates):
(WebKit::WebPageProxy::viewStateDidChange):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::setSuppressVisibilityUpdates): Deleted.

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

6 years ago[WK1][WK2][Mac] Fullscreen animation is incorrect when page is scaled.
jer.noble@apple.com [Mon, 2 Mar 2015 17:37:14 +0000 (17:37 +0000)]
[WK1][WK2][Mac] Fullscreen animation is incorrect when page is scaled.
https://bugs.webkit.org/show_bug.cgi?id=142121

Reviewed by Simon Fraser.

Source/WebKit/mac:

Fullscreening a page with a non-1 scale would result in that scale being applied to the
fullscreen content, breaking fullscreen mode. Set the page scale to 1 when entering
fullscreen and reset it to the original value when exiting fullscreen.

* WebView/WebFullScreenController.h:
* WebView/WebFullScreenController.mm:
(-[WebFullScreenController enterFullScreen:]): Set the page scale to 1.
(-[WebFullScreenController finishedExitFullScreenAnimation:]): Reset the page
        scale to the original value.
* WebView/WebView.mm:
(-[WebView _supportsFullScreenForElement:withKeyboard:]): Drive-by fix. Check the
        WebView's own preferences to see if fullscreen mode is enabled, rather than
        the global object's.

Source/WebKit2:

Change the order of operations when entering or exiting fullscreen. Change the page scale to
1 before entering, so the final screen rect takes that scale into account, and vice-versa on
exiting.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController exitFullScreen]):

Tools:

Add a test which changes the WebView's page scale, then enters fullscreen mode, and verifies
that the initial and final screen rects for the web content are as expected.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.html: Added.
* TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm: Added.
(-[FullscreenStateDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):
(runJavaScriptAlert):
(TestWebKitAPI::FullscreenZoomInitialFrame::initializeView):
(TestWebKitAPI::FullscreenZoomInitialFrame::teardownView):
(TestWebKitAPI::FullscreenZoomInitialFrame::setPageScale):
(TestWebKitAPI::FullscreenZoomInitialFrame::sendMouseDownEvent):
(TestWebKitAPI::FullscreenZoomInitialFrame::runTest):
(TestWebKitAPI::TEST_F):

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

6 years agoREGRESSION(r179409): [GTK] Undefined symbol prevents web extensions from being loaded
commit-queue@webkit.org [Mon, 2 Mar 2015 15:34:25 +0000 (15:34 +0000)]
REGRESSION(r179409): [GTK] Undefined symbol prevents web extensions from being loaded
https://bugs.webkit.org/show_bug.cgi?id=142165

Patch by Debarshi Ray <debarshir@gnome.org> on 2015-03-02
Reviewed by Carlos Garcia Campos.

* Source/cmake/gtksymbols.filter:

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

6 years agoREGRESSION (r180882): Build failure: Methods not marked override in GraphicsLayerCA.h
ddkilzer@apple.com [Mon, 2 Mar 2015 15:30:12 +0000 (15:30 +0000)]
REGRESSION (r180882): Build failure: Methods not marked override in GraphicsLayerCA.h
<http://webkit.org/b/138684>

Fixes the following build failures:

    In file included from WebKit2/WebProcess/WebPage/DrawingArea.cpp:39:
    In file included from WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:30:
    In file included from WebKit2/WebProcess/WebPage/mac/GraphicsLayerCARemote.h:29:
    WebCore.framework/PrivateHeaders/GraphicsLayerCA.h:123:33: error: 'setShapeLayerPath' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]
        WEBCORE_EXPORT virtual void setShapeLayerPath(const Path&);
                                    ^
    In file included from WebKit2/WebProcess/WebPage/DrawingArea.cpp:30:
    In file included from WebKit2/WebProcess/WebPage/WebPage.h:46:
    In file included from WebKit2/WebProcess/Plugins/Plugin.h:31:
    WebCore.framework/PrivateHeaders/GraphicsLayer.h:390:18: note: overridden virtual function is here
        virtual void setShapeLayerPath(const Path&);
                     ^
    In file included from WebKit2/WebProcess/WebPage/DrawingArea.cpp:39:
    In file included from WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:30:
    In file included from WebKit2/WebProcess/WebPage/mac/GraphicsLayerCARemote.h:29:
    WebCore.framework/PrivateHeaders/GraphicsLayerCA.h:124:33: error: 'setShapeLayerWindRule' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]
        WEBCORE_EXPORT virtual void setShapeLayerWindRule(WindRule);
                                    ^
    In file included from WebKit2/WebProcess/WebPage/DrawingArea.cpp:30:
    In file included from WebKit2/WebProcess/WebPage/WebPage.h:46:
    In file included from WebKit2/WebProcess/Plugins/Plugin.h:31:
    WebCore.framework/PrivateHeaders/GraphicsLayer.h:393:18: note: overridden virtual function is here
        virtual void setShapeLayerWindRule(WindRule);
                     ^
    2 errors generated.

* platform/graphics/ca/GraphicsLayerCA.h:
(WebCore::GraphicsLayer::setShapeLayerPath): Mark as override.
(WebCore::GraphicsLayer::setShapeLayerWindRule): Ditto.

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

6 years agoMake clip-path work on <video>, <canvas> etc.
simon.fraser@apple.com [Mon, 2 Mar 2015 06:35:20 +0000 (06:35 +0000)]
Make clip-path work on <video>, <canvas> etc.
https://bugs.webkit.org/show_bug.cgi?id=138684

Reviewed by Darin Adler.

Source/WebCore:

clip-path only worked in compositing layers on the painted contents of the layer,
and failed to clip children. Fix this by translating the clip path into a Path
which is set on a CA shape layer (for Mac and iOS), or painted into the
RenderLayerBacking's mask layer. There are two code paths:

1. clip-path which is a <basic-shape> or <geometry-box>, and no mask.
    Here we can use the optimal code path of converting the clip into a path
    that is put onto a CAShapeLayer, which is then used as a mask. There is no
    additional backing store.
2. clip-path with an SVG reference, or clip-path combined with -webkit-mask:
    Here we have to allocate backing store for the mask layer, and paint the
    clip path (possibly with the mask).

We add GraphicsLayer::Type::Shape, and add a getter for the layer type.

Tests: compositing/masks/compositing-clip-path-and-mask.html
       compositing/masks/compositing-clip-path-mask-change.html
       compositing/masks/compositing-clip-path.html
       compositing/masks/reference-clip-path-on-composited.html

* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer): Store the type in the layer so the getter can return it.
(WebCore::GraphicsLayer::shapeLayerPath): Get and set the shape layer path.
(WebCore::GraphicsLayer::setShapeLayerPath): Ditto.
(WebCore::GraphicsLayer::shapeLayerWindRule): Get and set the shape layer wind rule.
(WebCore::GraphicsLayer::setShapeLayerWindRule): Ditto.
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::type): Expose the type.
(WebCore::GraphicsLayer::supportsLayerType): Allow the cross-platform code to use
shape layers when it knows they are available.
(WebCore::GraphicsLayer::needsClippingMaskLayer): Deleted. This was never used.
* platform/graphics/GraphicsLayerClient.h: Align the bits (helps avoid typos). Add a
GraphicsLayerPaintClipPath phase.
* platform/graphics/Path.h: Some exports since WK2 needs to encode Paths now.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::initialize): Make shape layers.
(WebCore::GraphicsLayerCA::setShapeLayerPath): Setter for the shape path. Sadly we
can't early return on unchanged paths yet.
(WebCore::GraphicsLayerCA::setShapeLayerWindRule):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Updates for shape path
and wind rule.
(WebCore::GraphicsLayerCA::updateShape):
(WebCore::GraphicsLayerCA::updateWindRule):
* platform/graphics/ca/GraphicsLayerCA.h: Some new dirty bits for shape path and wind rule.
* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/mac/PlatformCALayerMac.h:
* platform/graphics/ca/mac/PlatformCALayerMac.mm: Got rid of lots of m_layer.get().
(PlatformCALayerMac::~PlatformCALayerMac):
(PlatformCALayerMac::setNeedsDisplay):
(PlatformCALayerMac::setNeedsDisplayInRect):
(PlatformCALayerMac::removeFromSuperlayer):
(PlatformCALayerMac::setSublayers):
(PlatformCALayerMac::removeAllSublayers):
(PlatformCALayerMac::appendSublayer):
(PlatformCALayerMac::insertSublayer):
(PlatformCALayerMac::replaceSublayer):
(PlatformCALayerMac::adoptSublayers):
(PlatformCALayerMac::addAnimationForKey):
(PlatformCALayerMac::removeAnimationForKey):
(PlatformCALayerMac::animationForKey):
(PlatformCALayerMac::setMask):
(PlatformCALayerMac::isOpaque):
(PlatformCALayerMac::setOpaque):
(PlatformCALayerMac::bounds):
(PlatformCALayerMac::setBounds):
(PlatformCALayerMac::position):
(PlatformCALayerMac::setPosition):
(PlatformCALayerMac::anchorPoint):
(PlatformCALayerMac::setAnchorPoint):
(PlatformCALayerMac::transform):
(PlatformCALayerMac::setTransform):
(PlatformCALayerMac::sublayerTransform):
(PlatformCALayerMac::setSublayerTransform):
(PlatformCALayerMac::setHidden):
(PlatformCALayerMac::setGeometryFlipped):
(PlatformCALayerMac::isDoubleSided):
(PlatformCALayerMac::setDoubleSided):
(PlatformCALayerMac::masksToBounds):
(PlatformCALayerMac::setMasksToBounds):
(PlatformCALayerMac::acceleratesDrawing):
(PlatformCALayerMac::setAcceleratesDrawing):
(PlatformCALayerMac::contents):
(PlatformCALayerMac::setContents):
(PlatformCALayerMac::setContentsRect):
(PlatformCALayerMac::setMinificationFilter):
(PlatformCALayerMac::setMagnificationFilter):
(PlatformCALayerMac::backgroundColor):
(PlatformCALayerMac::setBackgroundColor):
(PlatformCALayerMac::setBorderWidth):
(PlatformCALayerMac::setBorderColor):
(PlatformCALayerMac::opacity):
(PlatformCALayerMac::setOpacity):
(PlatformCALayerMac::copyFiltersFrom):
(PlatformCALayerMac::setName):
(PlatformCALayerMac::setSpeed):
(PlatformCALayerMac::setTimeOffset):
(PlatformCALayerMac::contentsScale):
(PlatformCALayerMac::setContentsScale):
(PlatformCALayerMac::cornerRadius):
(PlatformCALayerMac::setCornerRadius):
(PlatformCALayerMac::setEdgeAntialiasingMask):
(PlatformCALayerMac::shapeWindRule): New function.
(PlatformCALayerMac::setShapeWindRule): Ditto.
(PlatformCALayerMac::shapePath): Ditto.
(PlatformCALayerMac::setShapePath): Ditto.
(PlatformCALayer::isWebLayer):
* platform/graphics/cg/PathCG.cpp:
(WebCore::Path::Path): nullptr.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintsWithClipPath): Return true if the clip path is painted.
(WebCore::RenderLayer::computeClipPath): Factor code that computes the clip path into this
function, so we can call it from RenderLayerBacking too.
(WebCore::RenderLayer::setupClipPath):
(WebCore::RenderLayer::paintLayerContents): We only want to apply the clip path
for painting when we're either painting a non-composited layer, or we're painting the
mask layer of a composited layer. We in the latter case, we just want to fill the clip
path with black, so re-use the paintChildClippingMaskForFragments() which does this.
* rendering/RenderLayer.h: Align the bits, add PaintLayerPaintingCompositingClipPathPhase.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::~RenderLayerBacking):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateGeometry): Move mask updating into its own function.
(WebCore::RenderLayerBacking::updateMaskingLayerGeometry): If we're using the shape layer
code path, compute the Path and set it and the wind rule on the mask layer.
(WebCore::RenderLayerBacking::updateMaskingLayer): This is now more complex, as it has
to deal with combinations of clip-path and mask, some of which allow for the shape layer
mask, and we handle dynamic changes between these and painted masks.
(WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer): Include the GraphicsLayerPaintClipPath phase.
(WebCore::RenderLayerBacking::paintIntoLayer): Map GraphicsLayerPaintClipPath to PaintLayerPaintingCompositingClipPathPhase.
(WebCore::RenderLayerBacking::updateMaskLayer): Deleted.
* rendering/RenderLayerBacking.h:

Source/WebKit2:

Support encode/decode for WebCore Path objects, which is done by traversing
the path.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::pathPointCountApplierFunction):
(IPC::pathEncodeApplierFunction):
(IPC::ArgumentCoder<Path>::encode):
(IPC::ArgumentCoder<Path>::decode):
* Shared/WebCoreArgumentCoders.h:
* Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::applyPropertiesToLayer): Actually apply the path and wind rule to the shape layer.
* Shared/mac/RemoteLayerTreeTransaction.h: Include path and wind rule in the layer properties.
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): Encode shape and wind rule.
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): Decode shape and wind rule.
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::shapePath):
(WebKit::PlatformCALayerRemote::setShapePath):
(WebKit::PlatformCALayerRemote::shapeWindRule):
(WebKit::PlatformCALayerRemote::setShapeWindRule):
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:

LayoutTests:

Tests for various combinations of clip-path and mask, and dynamic changes
thereof.

* compositing/masks/compositing-clip-path-and-mask-expected.html: Added.
* compositing/masks/compositing-clip-path-and-mask.html: Added.
* compositing/masks/compositing-clip-path-expected.html: Added.
* compositing/masks/compositing-clip-path-mask-change-expected.html: Added.
* compositing/masks/compositing-clip-path-mask-change.html: Added.
* compositing/masks/compositing-clip-path.html: Added.
* compositing/masks/reference-clip-path-on-composited-expected.html: Added.
* compositing/masks/reference-clip-path-on-composited.html: Added.

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

6 years ago[Cairo] Implement Path::addEllipse
commit-queue@webkit.org [Mon, 2 Mar 2015 04:33:06 +0000 (04:33 +0000)]
[Cairo] Implement Path::addEllipse
https://bugs.webkit.org/show_bug.cgi?id=142144

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-03-01
Reviewed by Gyuyoung Kim.

Add support for addEllipse method for platforms using cairo.

* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::addEllipse):

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

6 years agoUnreviewed EFL gardening. Mark crash tests of webgl to CRASH.
gyuyoung.kim@samsung.com [Mon, 2 Mar 2015 03:56:45 +0000 (03:56 +0000)]
Unreviewed EFL gardening. Mark crash tests of webgl to CRASH.
WebGL isn't supported by EFL port now.

* platform/efl/TestExpectations:

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

6 years agoSilence non-fatal errors about failing to create WebKitPluginHost.app and WebKitPlugi...
mitz@apple.com [Mon, 2 Mar 2015 02:59:31 +0000 (02:59 +0000)]
Silence non-fatal errors about failing to create WebKitPluginHost.app and WebKitPluginAgent symlinks.

Rubber-stamped by Alexey Proskuryakov.

* WebKit.xcodeproj/project.pbxproj: If a link already exist, don’t try to create it.

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

6 years agoBytecodeGenerator shouldn't emit op_resolve_scope as a roundabout way of returning...
fpizlo@apple.com [Mon, 2 Mar 2015 02:08:26 +0000 (02:08 +0000)]
BytecodeGenerator shouldn't emit op_resolve_scope as a roundabout way of returning the scopeRegister
https://bugs.webkit.org/show_bug.cgi?id=142153

Reviewed by Michael Saboff.

We don't need a op_resolve_scope if we know that it will simply return the scope register.
This changes the BytecodeGenerator to use the scope register directly in those cases where
we know statically that we would just have returned that from op_resolve_scope.

This doesn't appear to have a significant impact on performance.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitReturn):
(JSC::BytecodeGenerator::emitGetOwnScope): Deleted.
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::ResolveNode::emitBytecode):
(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::DeleteResolveNode::emitBytecode):
(JSC::TypeOfResolveNode::emitBytecode):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::EmptyVarExpression::emitBytecode):
(JSC::ForInNode::emitLoopHeader):
(JSC::ForOfNode::emitBytecode):
(JSC::BindingNode::bindValue):

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

6 years agoUnreviewed EFL gardening on 2nd March.
gyuyoung.kim@samsung.com [Mon, 2 Mar 2015 01:53:46 +0000 (01:53 +0000)]
Unreviewed EFL gardening on 2nd March.

Mark css3 shape tests to flaky. Unskip passing tests and so on.

* platform/efl/TestExpectations:

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

6 years agoUse std::unique_ptr instead of PassOwnPtr|OwnPtr for ScrollAnimator
commit-queue@webkit.org [Mon, 2 Mar 2015 01:48:54 +0000 (01:48 +0000)]
Use std::unique_ptr instead of PassOwnPtr|OwnPtr for ScrollAnimator
https://bugs.webkit.org/show_bug.cgi?id=142143

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-03-01
Reviewed by Darin Adler.

No new tests, no behavior changes.

* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::create):
* platform/ScrollAnimator.h:
* platform/ScrollAnimatorNone.cpp:
(WebCore::ScrollAnimator::create):
* platform/ScrollableArea.h:
* platform/ios/ScrollAnimatorIOS.mm:
(WebCore::ScrollAnimator::create):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimator::create):

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

6 years ago[Content Filtering] Move another declaration to WebFilterEvaluatorSPI.h
aestes@apple.com [Mon, 2 Mar 2015 01:46:22 +0000 (01:46 +0000)]
[Content Filtering] Move another declaration to WebFilterEvaluatorSPI.h
https://bugs.webkit.org/show_bug.cgi?id=142066

Reviewed by Andreas Kling.

* platform/ios/ContentFilterIOS.mm:
* platform/spi/cocoa/WebFilterEvaluatorSPI.h:

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

6 years agoMake NotificationCenter / Notification suspendable
cdumez@apple.com [Mon, 2 Mar 2015 00:08:03 +0000 (00:08 +0000)]
Make NotificationCenter / Notification suspendable
https://bugs.webkit.org/show_bug.cgi?id=142117
<rdar://problem/19923085>

Reviewed by Andreas Kling.

Source/WebCore:

Make NotificationCenter / Notification suspendable so that pages using
them can enter the PageCache.

NotificationCenter can safely be suspended if there are no pending
permission requests. This required adding an
"hasPendingPermissionRequests()" callback to the NotificationClient.

Notification can safely be suspended if it is either idle (not showing
yet) or closed.

Tests: fast/history/page-cache-notification-non-suspendable.html
       fast/history/page-cache-notification-suspendable.html

* Modules/notifications/Notification.cpp:
(WebCore::Notification::canSuspend):
* Modules/notifications/NotificationCenter.cpp:
(WebCore::NotificationCenter::canSuspend):
* Modules/notifications/NotificationClient.h:

Source/WebKit/mac:

Provide implementation for NotificationClient::hasPendingPermissionRequests().
The implementation is very simplistic. it will only return false if no
request for permission for ever made. This is because there is currently no
easy way to figure out if a permission request is pending or not.

* WebCoreSupport/WebNotificationClient.h:
* WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::requestPermission):
(WebNotificationClient::hasPendingPermissionRequests):

Source/WebKit/win:

Provide implementation for NotificationClient::hasPendingPermissionRequests().

* WebCoreSupport/WebDesktopNotificationsDelegate.cpp:
(WebDesktopNotificationsDelegate::requestPermission):
(hasPendingPermissionRequests):
* WebCoreSupport/WebDesktopNotificationsDelegate.h:

Source/WebKit2:

Provide implementation for NotificationClient::hasPendingPermissionRequests().

* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
(WebKit::NotificationPermissionRequestManager::hasPendingPermissionRequests):
* WebProcess/Notifications/NotificationPermissionRequestManager.h:
* WebProcess/WebCoreSupport/WebNotificationClient.cpp:
(WebKit::WebNotificationClient::hasPendingPermissionRequests):
* WebProcess/WebCoreSupport/WebNotificationClient.h:

LayoutTests:

Add layout tests to cover cases where notifications should prevent
entering the PageCache or not.

* fast/history/page-cache-notification-non-suspendable-expected.txt: Added.
* fast/history/page-cache-notification-non-suspendable.html: Added.
* fast/history/page-cache-notification-suspendable-expected.txt: Added.
* fast/history/page-cache-notification-suspendable.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/ios-simulator/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

6 years agoEFL, GTK+, and Windows rebaselines after r180867.
rniwa@webkit.org [Sun, 1 Mar 2015 22:34:12 +0000 (22:34 +0000)]
EFL, GTK+, and Windows rebaselines after r180867.

* platform/efl/TestExpectations:
* platform/efl/editing/execCommand/5142012-1-expected.txt:
* platform/efl/editing/execCommand/nsresponder-outdent-expected.txt:
* platform/efl/editing/inserting/insert-at-end-02-expected.txt:
* platform/gtk/editing/execCommand/5142012-1-expected.txt:
* platform/gtk/editing/execCommand/nsresponder-outdent-expected.txt:
* platform/gtk/editing/inserting/insert-at-end-02-expected.txt:
* platform/gtk/editing/pasteboard/4989774-expected.txt:
* platform/win/editing/execCommand/5142012-1-expected.txt:
* platform/win/editing/execCommand/nsresponder-outdent-expected.txt:
* platform/win/editing/inserting/insert-at-end-02-expected.txt:

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

6 years agoEnable new disk cache on iOS
antti@apple.com [Sun, 1 Mar 2015 21:56:14 +0000 (21:56 +0000)]
Enable new disk cache on iOS
https://bugs.webkit.org/show_bug.cgi?id=142148

Reviewed by Sam Weinig.

* NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

    iOS build fix.

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::registerUserDefaultsIfNeeded):

    Disable the efficacy logging by default for now. It has significant performance impact.

* config.h:

    Enable it.

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

6 years agomedia/track/track-in-band-cues-added-once.html flakily fails
ap@apple.com [Sun, 1 Mar 2015 20:43:22 +0000 (20:43 +0000)]
media/track/track-in-band-cues-added-once.html flakily fails
https://bugs.webkit.org/show_bug.cgi?id=142152

* platform/mac/TestExpectations: Marked it as such.

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

6 years agoisContentEditable shouldn't trigger synchronous style recalc in most cases
rniwa@webkit.org [Sun, 1 Mar 2015 19:52:21 +0000 (19:52 +0000)]
isContentEditable shouldn't trigger synchronous style recalc in most cases
https://bugs.webkit.org/show_bug.cgi?id=129034

Reviewed by Antti Koivisto.

Source/WebCore:

Avoid style recalc inside isContentEditable when the document doesn't contain -webkit-user-modify or
-webkit-user-select: all. Instead, compute the value from contenteditable attributes in ancestors.
However, still compute the editability from the style tree when it's up-to-date in order to avoid
repeatedly walking up the DOM tree in a hot code path inside editing.

Test: fast/dom/HTMLElement/dynamic-editability-change.html

* css/CSSGrammar.y.in: No need to pass in "true" as we never call this function with false.
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue): Calls parserSetUsesStyleBasedEditability as needed.
(WebCore::parseKeywordValue): Passes around StyleSheetContents*.
(WebCore::CSSParser::parseValue): Ditto.
(WebCore::CSSParser::parseFont): Ditto.

* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::StyleSheetContents): Initializes and copies m_usesStyleBasedEditability.

* css/StyleSheetContents.h:
(WebCore::StyleSheetContents::parserSetUsesRemUnits): Removed the argument since it was always true.
(WebCore::StyleSheetContents::parserSetUsesStyleBasedEditability): Added.
(WebCore::StyleSheetContents::usesStyleBasedEditability): Added.

* dom/Document.cpp:
(WebCore::Document::recalcStyle): Added a FIXME as well as a comment explaining why we don't call
setUsesStyleBasedEditability. Since Node::computeEditability triggers style recalc only when the flag
is set to true, it's too late to update the flag here.
(WebCore::Document::updateStyleIfNeeded): Uses a newly extracted needsStyleRecalc.
(WebCore::Document::updateBaseURL): Preserves m_usesStyleBasedEditability as well as m_usesRemUnit.
(WebCore::Document::usesStyleBasedEditability): Added. Returns true when inline style declarations or
any active stylesheet uses -webkit-user-modify or -webkit-user-select: all. Flushing pending stylesheet
changes here is fine because the alternative is to trigger a full blown style recalc.

* dom/Document.h:
(WebCore::Document::needsStyleRecalc): Added. Extracted from updateStyleIfNeeded.

* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::styleSheetsUseRemUnits): Deleted.
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets): Updates m_usesStyleBasedEditability
as well as m_usesRemUnit.

* dom/DocumentStyleSheetCollection.h:
(WebCore::DocumentStyleSheetCollection::usesStyleBasedEditability): Added.
(WebCore::DocumentStyleSheetCollection::setUsesStyleBasedEditability): Added.

* dom/Node.cpp:
(WebCore::computeEditabilityFromComputedStyle): Extracted from computeEditability.
(WebCore::Node::computeEditability): When the style recalc is requested and the render tree is dirty,
check if the document uses any CSS property that can affect the editability of elements. If it doesn't,
compute the editability from contenteditable attributes in the anchors via matchesReadWritePseudoClass.
Continue to use the style-based computation when the render tree isn't dirty to avoid the tree walk.

* html/HTMLElement.cpp:
(WebCore::HTMLElement::editabilityFromContentEditableAttr): Extracted from matchesReadWritePseudoClass
to be called in Node::computeEditability. Also made it return Editability instead of boolean.
(WebCore::HTMLElement::matchesReadWritePseudoClass):
* html/HTMLElement.h:

LayoutTests:

Added a regression test to update the editability of elements dynamically. Also rebaselined
tests per style recalc timing changes.

* fast/dom/HTMLElement/dynamic-editability-change-expected.txt: Added.
* fast/dom/HTMLElement/dynamic-editability-change.html: Added.
* platform/mac/editing/execCommand/5142012-1-expected.txt: anonymous render block differences.
* platform/mac/editing/execCommand/nsresponder-outdent-expected.txt: Ditto.
* platform/mac/editing/inserting/insert-at-end-02-expected.txt: Empty render text differences.
* platform/mac/editing/pasteboard/4989774-expected.txt: Ditto.

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

6 years agoLayoutTestRealy: Prepend __XPC_ to the key, not the value!
ddkilzer@apple.com [Sun, 1 Mar 2015 19:48:55 +0000 (19:48 +0000)]
LayoutTestRealy: Prepend __XPC_ to the key, not the value!

Follow-up fix for:

LayoutTestRelay: App environment variables not set for --guard-malloc or --leaks
<http://webkit.org/b/142145>

* LayoutTestRelay/LayoutTestRelay/LTRelayController.m:
(-[LTRelayController _environmentVariables]): Fix think-o.

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

6 years ago[Win] Unreviewed build fix.
bfulgham@apple.com [Sun, 1 Mar 2015 19:12:53 +0000 (19:12 +0000)]
[Win] Unreviewed build fix.

* WebCorePrefix.h: Provide some default definitions to help build on Windows
machines with different application support libraries.

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

6 years agoLayoutTestRelay: App environment variables not set for --guard-malloc or --leaks
ddkilzer@apple.com [Sun, 1 Mar 2015 18:57:01 +0000 (18:57 +0000)]
LayoutTestRelay: App environment variables not set for --guard-malloc or --leaks
<http://webkit.org/b/142145>

Reviewed by Simon Fraser.

* LayoutTestRelay/LayoutTestRelay/LTRelayController.m:
(-[LTRelayController _environmentVariables]): Add.
(-[LTRelayController launchApp]): Use -_environmentVariables.

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

6 years ago[Win] Document some more debug assertions.
bfulgham@apple.com [Sun, 1 Mar 2015 18:28:58 +0000 (18:28 +0000)]
[Win] Document some more debug assertions.

* platform/win/TestExpectations:

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

6 years agoViewport units should not dirty style just before we do layout
simon.fraser@apple.com [Sun, 1 Mar 2015 04:36:39 +0000 (04:36 +0000)]
Viewport units should not dirty style just before we do layout
https://bugs.webkit.org/show_bug.cgi?id=141682

Reviewed by Zalan Bujtas.
Source/WebCore:

In documents using viewport units, we dirtied style every time layout changed
the size of the document. This is nonsensical, because viewport units depend on the
viewport size, not the document size.

Move the style dirtying from layout() into availableContentSizeChanged(). Hook
this up for WebKit1 by calling from -[WebFrameView _frameSizeChanged], and,
since that causes availableContentSizeChanged() to be called for WK1 for the first
time, protect the call to updateScrollbars() with a !platformWidget check.

Covered by existing viewport unit tests.

* page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::availableContentSizeChanged):
(WebCore::FrameView::viewportSizeForCSSViewportUnits): Add a FIXME comment. Whether
scrollbars are ignored depends on the value of the overflow property on the root element.
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::availableContentSizeChanged):

Source/WebKit/mac:

* WebView/WebFrameView.mm:
(-[WebFrameView _frameSizeChanged]):

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

6 years ago[Cocoa] Purge SQLite page cache when under memory pressure.
akling@apple.com [Sun, 1 Mar 2015 02:31:16 +0000 (02:31 +0000)]
[Cocoa] Purge SQLite page cache when under memory pressure.
<https://webkit.org/b/142139>
<rdar://problem/19997739>

Reviewed by Pratik Solanki.

Call out to sqlite3 cache purging SPI on Cocoa platforms when
we need to free up some extra memory.

* platform/cocoa/MemoryPressureHandlerCocoa.mm:
(WebCore::MemoryPressureHandler::platformReleaseMemory):

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

6 years agoFrameView::layoutTimerFired() should update style if needed before doing layout
simon.fraser@apple.com [Sun, 1 Mar 2015 01:04:05 +0000 (01:04 +0000)]
FrameView::layoutTimerFired() should update style if needed before doing layout
https://bugs.webkit.org/show_bug.cgi?id=141688

Reviewed by Andreas Kling.

If the style recalc timer has been scheduled to fire after the layout timer,
when the layout timer fires, we might as well just do the style recalc
too. The call to updateStyleIfNeeded() will cancel the pending style
recalc timer.

This doesn't have much impact on the number of layouts (measured via PLT)
but seems like a reasonable thing to do.

* page/FrameView.cpp:
(WebCore::FrameView::layoutTimerFired):

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

6 years ago[iOS] Stop running webkit-build-directory on every layout test
ddkilzer@apple.com [Sat, 28 Feb 2015 23:06:20 +0000 (23:06 +0000)]
[iOS] Stop running webkit-build-directory on every layout test

This was originally fixed by David Farler for Bug 135409 in
r172602.

* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.relay_path): Mark as @memoized so it doesn't
run webkit-build-directory every time it's called.

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

6 years agoW3C importer should use filesystem instead of shutil/host
youenn.fablet@crf.canon.fr [Sat, 28 Feb 2015 22:47:40 +0000 (22:47 +0000)]
W3C importer should use filesystem instead of shutil/host
https://bugs.webkit.org/show_bug.cgi?id=142012

Reviewed by Bem Jones-Bey.

Removed direct use of python shutil and os, except for os.walk which will require its own fix.

* Scripts/webkitpy/w3c/test_importer.py:
(main):
(TestImporter.do_import):
(TestImporter.find_importable_tests):
(TestImporter.import_tests):
(TestImporter.remove_deleted_files):
(TestImporter.write_import_log):

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

6 years agoREGRESSION(r85798): Lists of crashing/timeouting/stderr tests aren't sorted
ossy@webkit.org [Sat, 28 Feb 2015 22:33:34 +0000 (22:33 +0000)]
REGRESSION(r85798): Lists of crashing/timeouting/stderr tests aren't sorted
https://bugs.webkit.org/show_bug.cgi?id=142081

Reviewed by Ryosuke Niwa.

* fast/harness/results.html:

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

6 years agoWebsiteDataStore should handle fetching and deleting local storage data
andersca@apple.com [Sat, 28 Feb 2015 22:20:17 +0000 (22:20 +0000)]
WebsiteDataStore should handle fetching and deleting local storage data
https://bugs.webkit.org/show_bug.cgi?id=142137

Reviewed by Sam Weinig.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::deleteEntriesForOrigins):
Add a new function that deletes entries from multiple origins.

* UIProcess/Storage/StorageManager.h:
Add new members.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
Fetch local storage data as well.

(WebKit::WebsiteDataStore::removeData):
Delete local storage data as well.

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

6 years agoFetch cache origins from the network process
andersca@apple.com [Sat, 28 Feb 2015 21:52:59 +0000 (21:52 +0000)]
Fetch cache origins from the network process
https://bugs.webkit.org/show_bug.cgi?id=142135

Reviewed by Dan Bernstein.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::cfURLCacheOrigins):
Add a new helper function that returns a vector of CFURL cache origins.

(WebKit::fetchDiskCacheOrigins):
Fetch the disk cache origins and pass them along to the completion handler. Currently we don't handle the new disk cache.

(WebKit::NetworkProcess::fetchWebsiteData):
Create a callback aggregator and fetch disk cache origins if we're asked for it.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::computeNetworkProcessAccessTypeForDataFetch):
New helper function that computes if we need to launch the network process in order to fetch data.

(WebKit::WebsiteDataStore::fetchData):
Fetch website data from the network process as well.

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

6 years agoUnreviewed - set svn:ignore for generated web-platform-tests files - see bug 142110
youenn.fablet@crf.canon.fr [Sat, 28 Feb 2015 21:41:42 +0000 (21:41 +0000)]
Unreviewed - set svn:ignore for generated web-platform-tests files - see bug 142110

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

6 years agoFullscreen video layers are off by one sometimes
simon.fraser@apple.com [Sat, 28 Feb 2015 20:58:51 +0000 (20:58 +0000)]
Fullscreen video layers are off by one sometimes
https://bugs.webkit.org/show_bug.cgi?id=142122
rdar://problem/19878821

Reviewed by Eric Carlson.

Convert MediaPlayer::naturalSize() to return a FloatSize, since the natural size
isn't always integral (because of preserving pixel aspect ratio etc). Fix all the media
backends to use FloatSizes for natural size. Convert the video image drawing code
paths to FloatSize, since naturalSize is used on the destination rect computation,
and painting should be floating point anyway.

Give the layer created by SourceBufferPrivateAVFObjC a name in debug builds.

* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::videoWidth):
(WebCore::HTMLVideoElement::videoHeight):
(WebCore::HTMLVideoElement::paintCurrentFrameInContext):
* html/HTMLVideoElement.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::size):
(WebCore::CanvasRenderingContext2D::drawImage):
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::videoFrameToImage):
* platform/graphics/MediaPlayer.cpp:
(WebCore::NullMediaPlayerPrivate::naturalSize):
(WebCore::MediaPlayer::naturalSize):
(WebCore::MediaPlayer::paint):
(WebCore::MediaPlayer::paintCurrentFrameInContext):
(WebCore::NullMediaPlayerPrivate::paint): Deleted.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::naturalSize):
(WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithImageGenerator):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect):
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
(WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::naturalSize):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paint):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paintCurrentFrameInContext):
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::naturalSize):
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::SourceBufferPrivateAVFObjC::naturalSize):
* platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm:
(WebCore::VideoTrackPrivateMediaSourceAVFObjC::naturalSize):
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::naturalSize):
(WebCore::MediaPlayerPrivateQTKit::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateQTKit::paint):
* platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::MockMediaPlayerMediaSource::naturalSize):
(WebCore::MockMediaPlayerMediaSource::paint):
* platform/mock/mediasource/MockMediaPlayerMediaSource.h:
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::calculateIntrinsicSize):
(WebCore::RenderVideo::paintReplaced):

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

6 years agoSimplify WebResourceCacheManagerCFNet.mm code
andersca@apple.com [Sat, 28 Feb 2015 20:20:31 +0000 (20:20 +0000)]
Simplify WebResourceCacheManagerCFNet.mm code
https://bugs.webkit.org/show_bug.cgi?id=142134

Reviewed by Dan Bernstein.

- ENABLE(CACHE_PARTITIONING) is always true on Mac and iOS, so remove those #ifdefs.
- Make cfURLCacheHostNamesWithCallback and clearCFURLCacheForHostNames public
  so they can be used by the new WebsiteDataStore code in an upcoming patch.
- Change cfURLCacheHostNamesWithCallback to take an std::function instead of a block.

* WebProcess/ResourceCache/WebResourceCacheManager.cpp:
(WebKit::WebResourceCacheManager::getCacheOrigins):
* WebProcess/ResourceCache/WebResourceCacheManager.h:
* WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.mm:
(WebKit::partitionName):
(WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):
(WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames):
(WebKit::WebResourceCacheManager::cfURLCacheHostNames): Deleted.

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

6 years agoUnreviewed, rolling out r180804.
commit-queue@webkit.org [Sat, 28 Feb 2015 18:45:42 +0000 (18:45 +0000)]
Unreviewed, rolling out r180804.
https://bugs.webkit.org/show_bug.cgi?id=142131

Broke nightlies (Requested by ap on #webkit).

Reverted changeset:

"[WK2] Drop legacy WKBundlePageDiagnosticLoggingClient API"
https://bugs.webkit.org/show_bug.cgi?id=141176
http://trac.webkit.org/changeset/180804

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

6 years agoUnreviewed EFL gardening 1st Mar.
gyuyoung.kim@samsung.com [Sat, 28 Feb 2015 15:05:51 +0000 (15:05 +0000)]
Unreviewed EFL gardening 1st Mar.

* platform/efl/TestExpectations:
- Unskip tests which have been passed since r180672.
- Skip compositing/webgl.

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

6 years agoW3C test importer should use filesystem to read and write files
youenn.fablet@crf.canon.fr [Sat, 28 Feb 2015 11:49:20 +0000 (11:49 +0000)]
W3C test importer should use filesystem to read and write files
https://bugs.webkit.org/show_bug.cgi?id=142084

Reviewed by Bem Jones-Bey.

Use of FileSystem.write_binary_file, read_text_file and write_text_file in lieu of open().

* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.import_tests):
(TestImporter.remove_deleted_files):
(TestImporter.write_import_log):

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

6 years agoSource/WebCore:
ossy@webkit.org [Sat, 28 Feb 2015 07:26:02 +0000 (07:26 +0000)]
Source/WebCore:
[EFL][GTK] Fix build break after r180790,180798
https://bugs.webkit.org/show_bug.cgi?id=142127

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-02-27
Reviewed by Gyuyoung Kim.

* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::addEllipse):

Source/WebKit2:
[EFL][GTK] Fix build break after r180790,180798
https://bugs.webkit.org/show_bug.cgi?id=142127

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-02-27
Reviewed by Gyuyoung Kim.

* CMakeLists.txt:

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

6 years ago[Win] Unreviewed build fix.
bfulgham@apple.com [Sat, 28 Feb 2015 07:12:47 +0000 (07:12 +0000)]
[Win] Unreviewed build fix.

Adjust project dependencies to ensure a consistent build order.

* WebKit.vcxproj/WebKit.sln:

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

6 years agoSubpixel-layout: width: max-content; property might cause unnecessary scrollbar.
zalan@apple.com [Sat, 28 Feb 2015 06:21:05 +0000 (06:21 +0000)]
Subpixel-layout: width: max-content; property might cause unnecessary scrollbar.
https://bugs.webkit.org/show_bug.cgi?id=142065

Reviewed by Simon Fraser.

Source/WebCore:

We should not pixelsnap (ceil in this case) logical coordinates during layout.
Should this cause content to be partially cut off, we need to
find the broken piece in the computation logic.

Covered by the unskipped test.

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::paddedLayoutOverflowRect):

LayoutTests:

Rebaseline. Scroll layer shrinks in certain cases.

* platform/mac-mavericks/editing/input/caret-at-the-edge-of-input-expected.txt:
* platform/mac-mavericks/fast/css/text-overflow-input-expected.txt:
* platform/mac-mavericks/fast/forms/basic-inputs-expected.txt:
* platform/mac-mavericks/fast/forms/control-restrict-line-height-expected.txt:
* platform/mac-mavericks/fast/forms/input-disabled-color-expected.txt:
* platform/mac-mavericks/fast/forms/search/search-size-with-decorations-expected.txt:
* platform/mac-mavericks/http/tests/navigation/javascriptlink-frames-expected.txt:
* platform/mac/TestExpectations:
* platform/mac/fast/forms/control-restrict-line-height-expected.txt:
* platform/mac/fast/forms/input-appearance-selection-expected.txt:
* platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
* platform/mac/fast/forms/input-type-text-min-width-expected.txt:
* platform/mac/fast/forms/minWidthPercent-expected.txt:
* platform/mac/fast/forms/search/search-size-with-decorations-expected.txt:
* platform/mac/tables/mozilla/bugs/bug96334-expected.txt:

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