WebKit-https.git
4 years ago[Mac] Don't show default controls after playing to wireless target, again
eric.carlson@apple.com [Thu, 4 Jun 2015 22:08:59 +0000 (22:08 +0000)]
[Mac] Don't show default controls after playing to wireless target, again
https://bugs.webkit.org/show_bug.cgi?id=145620
<rdar://problem/21145806>

Reviewed by Dean Jackson.

Follow up to fix two tests broken by r185207.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.updateControls): Always show controls when the video element
  is the fullscreen element because custom controls aren't possible.

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

4 years ago[Cocoa] Add ASSERT to FontPlatformData::ctFont()
mmaxfield@apple.com [Thu, 4 Jun 2015 22:00:09 +0000 (22:00 +0000)]
[Cocoa] Add ASSERT to FontPlatformData::ctFont()
https://bugs.webkit.org/show_bug.cgi?id=145659

Reviewed by Dean Jackson.

The new ASSERT needs to be guarded with CORETEXT_WEB_FONTS, which is defined in FontCustomPlatformData.h,
and is not accessible to FontPlatformData. Therefore, I've moved the definition into TextFlags.h, which
both files include.

No new tests because there is no behavior change.

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::ctFont): Add the ASSERT.
* platform/graphics/mac/FontCustomPlatformData.h: Move the CORETEXT_WEB_FONTS preprocessor
macro from here ...
* platform/text/TextFlags.h: ... to here.

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

4 years agoUnreviewed, rolling out r185208.
commit-queue@webkit.org [Thu, 4 Jun 2015 21:12:34 +0000 (21:12 +0000)]
Unreviewed, rolling out r185208.
https://bugs.webkit.org/show_bug.cgi?id=145655

platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-
latched-select.html (Requested by shallawa on #webkit).

Reverted changeset:

"Latching algorithm in findEnclosingOverflowScroll is broken"
https://bugs.webkit.org/show_bug.cgi?id=145642
http://trac.webkit.org/changeset/185208

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

4 years ago[Cocoa] Remove unnecessary code from FontPlatformData::ctFont()
mmaxfield@apple.com [Thu, 4 Jun 2015 21:08:25 +0000 (21:08 +0000)]
[Cocoa] Remove unnecessary code from FontPlatformData::ctFont()
https://bugs.webkit.org/show_bug.cgi?id=145652

Hoefler Text Italic no longer has initial and final swashes by default, so there
is no reason to explicitly disable them.

Reviewed by Andreas Kling.

No new tests because there is no behavior change.

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::ctFont):
(WebCore::createFeatureSettingDictionary): Deleted.
(WebCore::cascadeToLastResortAndDisableSwashesFontDescriptor): Deleted.

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

4 years agoSimplify unboxing of double JSValues known to be not NaN and not Int32
fpizlo@apple.com [Thu, 4 Jun 2015 20:53:01 +0000 (20:53 +0000)]
Simplify unboxing of double JSValues known to be not NaN and not Int32
https://bugs.webkit.org/show_bug.cgi?id=145618

Reviewed by Geoffrey Garen.
Source/JavaScriptCore:

In many cases we know that we most likely loaded a non-NaN double value from the heap.
Prior to this patch, we would do two branches before unboxing the double. This patch
reduces this to one branch in the common case. Before:

    if (is int32)
        unbox int32 and convert to double
    else if (is number)
        unbox double
    else
        exit

After:

    tmp = unbox double
    if (tmp == tmp)
        done
    else if (is int32)
        unbox int32 and convert to double
    else
        exit

We only use the new style if we have profiling that tells us that we are unlikely to see
either Int32 or NaN - since we will now exit on NaN and int32 requires an extra branch.

This is a 8% speed-up on Octane/box2d. On one microbenchmark this is a 25% speed-up.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::observeUseKindOnNode):
(JSC::DFG::FixupPhase::fixEdgeRepresentation):
(JSC::DFG::FixupPhase::injectTypeConversionsForEdge):
* dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateDouble):
(JSC::DFG::Node::shouldSpeculateDoubleReal):
(JSC::DFG::Node::shouldSpeculateNumber):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileDoubleRep):
(JSC::DFG::SpeculativeJIT::speculateNumber):
(JSC::DFG::SpeculativeJIT::speculateRealNumber):
(JSC::DFG::SpeculativeJIT::speculateDoubleRepReal):
(JSC::DFG::SpeculativeJIT::speculate):
(JSC::DFG::SpeculativeJIT::speculateDoubleReal): Deleted.
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGUseKind.cpp:
(WTF::printInternal):
* dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isNumerical):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileDoubleRep):
(JSC::FTL::LowerDFGToLLVM::boxDouble):
(JSC::FTL::LowerDFGToLLVM::jsValueToStrictInt52):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::speculateNumber):
(JSC::FTL::LowerDFGToLLVM::speculateRealNumber):
(JSC::FTL::LowerDFGToLLVM::speculateDoubleRepReal):
(JSC::FTL::LowerDFGToLLVM::jsValueToDouble): Deleted.
(JSC::FTL::LowerDFGToLLVM::speculateDoubleReal): Deleted.
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchIfNotOther):
(JSC::AssemblyHelpers::branchIfInt32):
(JSC::AssemblyHelpers::branchIfNotInt32):
(JSC::AssemblyHelpers::branchIfNumber):

LayoutTests:

* js/regress/double-real-use-expected.txt: Added.
* js/regress/double-real-use.html: Added.
* js/regress/script-tests/double-real-use.js: Added.
(foo):

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

4 years agoSideState should be a distinct abstract heap from Heap and Stack
fpizlo@apple.com [Thu, 4 Jun 2015 20:50:20 +0000 (20:50 +0000)]
SideState should be a distinct abstract heap from Heap and Stack
https://bugs.webkit.org/show_bug.cgi?id=145653

Reviewed by Geoffrey Garen.

Before, SideState fit into the hierarchy like so:

World
   |
   +-- Stack
   |
   +-- Heap
         |
         +-- SideState

Now we will have:

World
   |
   +-- Stack
   |
   +-- Heap
   |
   +-- SideState

This makes it easy to ask if a writing operation wrote to anything that is observable even
if we don't exit. SideState is only observable if we exit.

* dfg/DFGAbstractHeap.h:
(JSC::DFG::AbstractHeap::AbstractHeap):
(JSC::DFG::AbstractHeap::supertype):

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

4 years agoWeb Inspector: Decrease tabs height to match Safari's tabs height
nvasilyev@apple.com [Thu, 4 Jun 2015 20:43:20 +0000 (20:43 +0000)]
Web Inspector: Decrease tabs height to match Safari's tabs height
https://bugs.webkit.org/show_bug.cgi?id=145647

Reviewed by Timothy Hatcher.

* UserInterface/Views/TabBar.css:
(.tab-bar):

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

4 years agoWeb Inspector: Activity Viewer does not update on "Clear Log on reload"
commit-queue@webkit.org [Thu, 4 Jun 2015 20:15:14 +0000 (20:15 +0000)]
Web Inspector: Activity Viewer does not update on "Clear Log on reload"
https://bugs.webkit.org/show_bug.cgi?id=145466

Patch by Tobias Reiss <tobi+webkit@basecode.de> on 2015-06-04
Reviewed by Joseph Pecoraro.

1. Isolate logic within LogManager and remove hacks/logic from all other files
2. Within LogManager: Differentiate "messagesCleared" calls
 a) that happen as a result of a "requested clear" by Frontend (e.g. Button)
 b) that happen on page reload and install "clear/keep-on-page-reload" logic
 c) that happen on frame navigated, console.clear() or clear()
3. Unify "ActiveLogCleared" and "Cleared" events to "Cleared"

For step 2b and 2c it is important to delay the handling and wait until
"_mainResourceDidChange" has determined whether a page reload happened or
not.

* UserInterface/Base/Main.js:
(WebInspector.loaded):
Store "clear-log-on-reload" setting globally.

* UserInterface/Controllers/IssueManager.js:
(WebInspector.IssueManager):
* UserInterface/Models/DefaultDashboard.js:
(WebInspector.DefaultDashboard): Deleted.
* UserInterface/Views/ObjectTreeView.js:
(WebInspector.ObjectTreeView.prototype._trackWeakEntries): Deleted.
(WebInspector.ObjectTreeView.prototype._untrackWeakEntries): Deleted.
(WebInspector.ObjectTreeView): Deleted.
Remove deleted events.

* UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController.prototype._handleClearShortcut):
(WebInspector.JavaScriptLogViewController.prototype.clear): Deleted.
Remove delegate function call and call LogManager directly.

* UserInterface/Controllers/LogManager.js:
(WebInspector.LogManager):
(WebInspector.LogManager.prototype.messagesCleared):
(WebInspector.LogManager.prototype._delayedMessagesCleared):
(WebInspector.LogManager.prototype.requestClearMessages):
(WebInspector.LogManager.prototype._mainResourceDidChange):
Isolate "clear log" logic, especially clear/keep-log-on-reload logic.

* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
(WebInspector.LogContentView.prototype._sessionStarted):
(WebInspector.LogContentView.prototype._handleContextMenuEvent):
(WebInspector.LogContentView.prototype._logCleared):
(WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting):
(WebInspector.LogContentView.prototype._clearLog):
(WebInspector.LogContentView.prototype.didClearMessages): Deleted.
(WebInspector.LogContentView.prototype._sessionsCleared): Deleted.
(WebInspector.LogContentView.prototype._activeLogCleared): Deleted.
(WebInspector.LogContentView.prototype._clearLogIgnoringClearMessages): Deleted.
Make it a consumer of LogManager and remove special hacks. Simplify code.

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

4 years ago[Cocoa] Expose interruptedForPolicyChangeError
mitz@apple.com [Thu, 4 Jun 2015 19:37:26 +0000 (19:37 +0000)]
[Cocoa] Expose interruptedForPolicyChangeError
https://bugs.webkit.org/show_bug.cgi?id=145627

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKErrorPrivate.h: Added WKErrorCodeFrameLoadInterruptedByPolicyChange with the same value as
kWKErrorCodeFrameLoadInterruptedByPolicyChange.

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

4 years agoAdd WK1 versions of tests from Bugs 145637 and 145642
bfulgham@apple.com [Thu, 4 Jun 2015 19:33:19 +0000 (19:33 +0000)]
Add WK1 versions of tests from Bugs 145637 and 145642
https://bugs.webkit.org/show_bug.cgi?id=145649

Reviewed by Zalan Bujtas.

* platform/mac/fast/scrolling/iframe_in_iframe-expected.txt: Added.
* platform/mac/fast/scrolling/iframe_in_iframe.html: Added.
* platform/mac/fast/scrolling/resources/inner_content.html: Added.
* platform/mac/fast/scrolling/resources/testContent.html: Added.
* platform/mac/fast/scrolling/resources/testImage.png: Added.

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

4 years agoREGRESSION: streams/reference-implementation/readable-stream-templated.html is flaky
youenn.fablet@crf.canon.fr [Thu, 4 Jun 2015 19:17:16 +0000 (19:17 +0000)]
REGRESSION: streams/reference-implementation/readable-stream-templated.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=145643

Reviewed by Alexey Proskuryakov.

* streams/reference-implementation/readable-stream-templated.html: Removed 'timeout: 50' for test that is now passing.

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

4 years agoLatching algorithm in findEnclosingOverflowScroll is broken
bfulgham@apple.com [Thu, 4 Jun 2015 18:55:42 +0000 (18:55 +0000)]
Latching algorithm in findEnclosingOverflowScroll is broken
https://bugs.webkit.org/show_bug.cgi?id=145642
<rdar://problem/21242308>

Reviewed by Simon Fraser.

Source/WebCore:

Test: platform/mac-wk2/tiled-drawing/scrolling/iframe_in_iframe.html

* page/mac/EventHandlerMac.mm:
(WebCore::findEnclosingOverflowScrollForDominantDirection): Renamed from
'findEnclosingOverflowScroll'. Only identify element as our overflow
scroll element if it can be scrolled in either axis of the gesture's
motion.
(WebCore::scrolledToEdgeInDominantDirection): Renamed.
(WebCore::EventHandler::platformPrepareForWheelEvents): Use new function
name, and pass horizontal and vertical deltas.
(WebCore::findEnclosingOverflowScroll): Deleted.

LayoutTests:

Revise the new latching test to remove the image "max-width: 100%" style, which was
preventing this example from having a horizontal scrollable region at the top of the
file.

It still correctly tests the subpixel bug from Bug 145637.

* platform/mac-wk2/tiled-drawing/scrolling/resources/inner_content.html: Remove width
adjustment on image.

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

4 years ago[Mac] Don't show default controls after playing to wireless target, again
eric.carlson@apple.com [Thu, 4 Jun 2015 18:26:05 +0000 (18:26 +0000)]
[Mac] Don't show default controls after playing to wireless target, again
https://bugs.webkit.org/show_bug.cgi?id=145620
<rdar://problem/21145806>

Reviewed by Dean Jackson.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.updateControls): Show or hide the panel as appropriate.
(Controller.prototype.handleWrapperMouseMove): Early return if !video.controls.
(Controller.prototype.addControls): Call updateControls instead of this.setNeedsTimelineMetricsUpdate
  so all needed setup is done.
(Controller.prototype.resetHideControlsTimer): Only start the hide timer if playing.

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

4 years ago[WK2] Prune more resources from the MemoryCache before process suspension
cdumez@apple.com [Thu, 4 Jun 2015 18:23:42 +0000 (18:23 +0000)]
[WK2] Prune more resources from the MemoryCache before process suspension
https://bugs.webkit.org/show_bug.cgi?id=145633

Reviewed by Andreas Kling.

Source/JavaScriptCore:

No longer move protect IncrementalSweeper::fullSweep() behind
USE(CF) so we don't need #ifdefs at call sites, similarly to what is
done for the rest of the IncrementalSweeper API.

* heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::fullSweep):
* heap/IncrementalSweeper.h:

Source/WebCore:

Prune more resources from the MemoryCache before process suspension or
on simulated memory warning by doing a synchronous JS garbage collection
and sweep *before* pruning dead resources from the memory cache.
Previously, we would do the garbage collection after pruning the
MemoryCache which meant that a lot of resources became dead after we
tried to prune them.

At the end a basic browsing on apple.com, we are able to remove ~17%
more resources from the MemoryCache on simulated memory warning with this
change.

Pruning as much as we can from the memory cache on critical memory
pressure or before process suspension is not only useful to free up
memory but also to make room in the vnode table as a lot of
CachedResources are mmmap'd from the network disk cache.

* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::MemoryPressureHandler):
(WebCore::MemoryPressureHandler::releaseCriticalMemory):

- Pass 'synchronous' argument so that we know if we need to do a
  synchronous JS garbage collection.
- Move here code from in the Cocoa handler that is doing a JS garbage
  collection as well as a sweep, and make this code cross-platform.
  This code used to be iOS specific but I see no reason we shouldn't
  do this on Mac.

(WebCore::MemoryPressureHandler::releaseMemory):
* platform/MemoryPressureHandler.h:

Use enum class arguments for critical / synchronous. The 'synchronous'
argument is new so that the call site can let us know if memory needs
to be freed synchronously (e.g. in case of imminent process suspension).

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

Remove iOS-specific code that was doing a JS garbage collection and
sweep as this code is now in the generic memory pressure handler.

(WebCore::MemoryPressureHandler::install):

On simulated memory pressure, set 'synchronous' argument to Yes so that
a synchronous GC is done by the generic memory pressure handler. This
way, we no longer need to do a sync GC after calling the memory pressure
handler. This avoids code duplication and makes sure the GC is done
before pruning the memory cache.

Source/WebKit2:

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::lowMemoryHandler):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::processWillSuspendImminently):
(WebKit::NetworkProcess::prepareToSuspend):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformLowMemoryHandler):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::initializeProcess):

Update low memory handler prototype to match WebCore changes.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::actualPrepareToSuspend):

Pass Synchronous::Yes argument to MemoryPressureHandler::releaseMemory()
to request that the memory is free up synchronously (e.g. synchronous
JS garbage collection) as the process is about to be suspended.
Previously, the memory pressure handler was trying to detect this case
by checking if the system was really under memory pressure but this was
a bit hackish and it wouldn't work if the process happened to get
suspended while the system was under memory pressure.

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

4 years ago[Cocoa] Clean up m_isEmoji in FontPlatformData
mmaxfield@apple.com [Thu, 4 Jun 2015 18:18:23 +0000 (18:18 +0000)]
[Cocoa] Clean up m_isEmoji in FontPlatformData
https://bugs.webkit.org/show_bug.cgi?id=145644

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-06-04
Reviewed by Andreas Kling.

m_isEmoji used to be a public member variable only defined on iOS. This
means that, whenever it was consulted, the sites were surrounded by
PLATFORM(IOS) guards. A cleaner design is to use a getter and setter,
which on non-iOS platforms, always return false / do nothing. Then, the
use sites can just use these functions without having ugly guards.

No new tests because there is no behavior change.

* platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::hash): Simplify isEmoji use site.
(WebCore::FontPlatformData::isEmoji): Getter. Returns false on Mac.
(WebCore::FontPlatformData::setIsEmoji): Setter. Does nothing on Mac.
* platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::pointAdjustedForEmoji): Simplify isEmoji use site.
(WebCore::FontCascade::drawGlyphs): Ditto.
* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformInit): Ditto.
(WebCore::canUseFastGlyphAdvanceGetter): Ditto.
(WebCore::isEmoji): Deleted.
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::platformDataInit): Simplify isEmoji use
site.
(WebCore::FontPlatformData::platformDataAssign): Ditto.
(WebCore::FontPlatformData::platformIsEqual): Ditto.
(WebCore::FontPlatformData::ctFontSize): Ditto.
* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::FontCache::getSystemFontFallbackForCharacters): Ditto.
(WebCore::FontCache::createFontPlatformData): Ditto.
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances): Ditto.

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

4 years agoREGRESSION (r181879): Scrolling order on pages with focused iframe is broken.
bfulgham@apple.com [Thu, 4 Jun 2015 17:53:24 +0000 (17:53 +0000)]
REGRESSION (r181879): Scrolling order on pages with focused iframe is broken.
https://bugs.webkit.org/show_bug.cgi?id=145637
<rdar://problem/20635581>

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: platform/mac-wk2/tiled-drawing/scrolling/iframe_in_iframe.html

This page revealed a bug in our RenderBox code caused by the mismatch between
our scrolling units, which are all integrally snapped, with our client height
and widths, which are not snapped at all.

In certain cases, the client height would have a small subpixel difference compared
to the scroll height, which would cause WebKit to believe it was scrollable. When
this happened, it would get stuck latched to this element and block scrolling events.

* page/Frame.cpp:
(WebCore::Frame::scrollOverflowLayer): Use roundToInt for clientWidth and clientHeight,
rather than integer truncation.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::canBeScrolledAndHasScrollableArea): Need to round clientWidth
and clientHeight to compare with scrollWidth/scrollHeight.
* rendering/RenderBox.h:
(WebCore::RenderBox::hasScrollableOverflowX): Ditto.
(WebCore::RenderBox::hasScrollableOverflowY): Ditto.
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::computePosition): Use roundToInt for clientWidth and
clientHeight, rather than integer truncation.

LayoutTests:

* platform/mac-wk2/tiled-drawing/scrolling/iframe_in_iframe-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/iframe_in_iframe.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/resources/inner_content.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/resources/testContent.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/resources/testImage.png: Added.

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

4 years ago[Cocoa] Clean up m_font inside FontPlatformData
mmaxfield@apple.com [Thu, 4 Jun 2015 16:50:38 +0000 (16:50 +0000)]
[Cocoa] Clean up m_font inside FontPlatformData
https://bugs.webkit.org/show_bug.cgi?id=145634

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-06-04
Reviewed by Andreas Kling.

FontPlatformDatas are used as keys in a HashMap. This means that they need
to be able to represent a "deleted" value. Previously, this "deleted" value
was represented as setting the pointer value of m_font to -1, and guarding
all uses of m_font to make sure it wasn't -1 before dereferencing it.

This patch simplifies FontPlatformData to represent a "deleted" value using
a separate boolean member variable. This class is already big enough that
the increased space is negligable (the class already contains two CoreText
fonts in addition to a CoreGraphics font). Because of this simplification,
m_font can now be a RetainPtr, instead of being manually retained and
released.

There is still a long way to go before FontPlatformData is acceptably
clean and understandable. This patch improves one aspect of it, and more
improvements will eventually follow.

No new tests because there is no behavior change.

* platform/graphics/FontCache.cpp: Remove unused variable.
* platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData): Clean up all the PLATFORM
macros in favor of a single bool. Also, update to include new state.
(WebCore::FontPlatformData::operator=): Update to include new state.
* platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::font): Update to account for RetainPtr.
(WebCore::FontPlatformData::nsFont): Ditto.
(WebCore::FontPlatformData::setNSFont): Ditto.
(WebCore::FontPlatformData::hash): Update to include new state.
(WebCore::FontPlatformData::operator==): Ditto.
(WebCore::FontPlatformData::isHashTableDeletedValue): Use new state.
(WebCore::FontPlatformData::hashTableDeletedFontValue): Deleted.
(WebCore::FontPlatformData::isValidCTFontRef): Deleted.
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::platformDataInit): No need for manual retain
and release.
(WebCore::FontPlatformData::platformDataAssign): Ditto.
(WebCore::FontPlatformData::platformIsEqual): Update to account for
RetanPtr.
(WebCore::FontPlatformData::setFont): No need for manual retain and
release.
(WebCore::FontPlatformData::FontPlatformData): Deleted.
(WebCore::FontPlatformData::~FontPlatformData): Deleted.
* platform/graphics/win/FontPlatformDataCairoWin.cpp:
(WebCore::FontPlatformData::~FontPlatformData): m_scaledFont is always
valid.
(WebCore::FontPlatformData::platformDataAssign): Ditto.

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

4 years agocss3/filters/backdrop/backdrop-filter-with-mask.html is missing the mask layer.
zalan@apple.com [Thu, 4 Jun 2015 14:25:50 +0000 (14:25 +0000)]
css3/filters/backdrop/backdrop-filter-with-mask.html is missing the mask layer.

Unreviewed gardening.

* css3/filters/backdrop/backdrop-filter-with-mask-expected.txt:

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

4 years ago[GTK] [Wayland] Build is broken on trunk
clopez@igalia.com [Thu, 4 Jun 2015 10:55:31 +0000 (10:55 +0000)]
[GTK] [Wayland] Build is broken on trunk
https://bugs.webkit.org/show_bug.cgi?id=142879

Reviewed by Carlos Garcia Campos.

Source/WebCore:

No new tests, no behavior changes.

Patch on GLContext.h picked from bug 136831 by
Iago Toral <itoral@igalia.com> and Zan Dobersek <zdobersek@igalia.com>

* platform/graphics/GLContext.h: Include wayland-egl.h before eglplatform.h
to use the Wayland platform when building for Wayland.
* platform/graphics/PlatformDisplay.cpp: Fix the include of GDK
headers for the different targets.
* platform/graphics/wayland/WaylandSurface.cpp: Fix build after r183731.
(WebCore::WaylandSurface::~WaylandSurface):

Source/WebKit2:

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::makeContextCurrent): When Wayland target
is enabled GLNativeWindowType is not an u_int64 type.
Cast contextID to avoid a build failure.

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

4 years ago[Streams API] Implement ReadableStreamController enqueue
youenn.fablet@crf.canon.fr [Thu, 4 Jun 2015 10:19:43 +0000 (10:19 +0000)]
[Streams API] Implement ReadableStreamController enqueue
https://bugs.webkit.org/show_bug.cgi?id=145210

Reviewed by Darin Adler.

Source/WebCore:

Added possibility to enqueue any JSValue within ReadableJSStream.
They are stored in a Vector of strongified JSValue.

Added support for streams that contain data but are asked to close.
This is done through m_closeRequested boolean and splitting actual closing of the stream from changeStateToClosed().

Chunk size and backpressure mechanism is not yet implemented.
Neither is pulling once enqueued data is processed.

Covered by rebased tests.

* Modules/streams/ReadableStream.cpp:
(WebCore::ReadableStream::changeStateToClosed): Split method with newly added close().
(WebCore::ReadableStream::close): Does the actual closing of stream once stream has no more values.
(WebCore::ReadableStream::read): Close the stream when stream is emptied and close is requested.
(WebCore::ReadableStream::resolveReadCallback): Added to enable ReadableJSStream to resolve read callbacks immediatly at enqueue time.
* Modules/streams/ReadableStream.h:
(WebCore::ReadableStream::isErrored): Getter added for the custom binding code.
(WebCore::ReadableStream::isCloseRequested): Ditto.
* bindings/js/JSReadableStreamControllerCustom.cpp:
(WebCore::JSReadableStreamController::enqueue): binding code for enqueue, taking care of raising exception if readable stream cannot enqueue.
* bindings/js/ReadableJSStream.cpp:
(WebCore::ReadableJSStream::hasValue):
(WebCore::ReadableJSStream::read):
(WebCore::ReadableJSStream::enqueue):
* bindings/js/ReadableJSStream.h:

LayoutTests:

* streams/reference-implementation/bad-underlying-sources-expected.txt:
* streams/reference-implementation/count-queuing-strategy-expected.txt:
* streams/reference-implementation/count-queuing-strategy.html:
* streams/reference-implementation/readable-stream-expected.txt:
* streams/reference-implementation/readable-stream-reader-expected.txt:
* streams/reference-implementation/readable-stream-reader.html:
* streams/reference-implementation/readable-stream-templated-expected.txt:
* streams/reference-implementation/readable-stream-templated.html:
* streams/reference-implementation/readable-stream.html:

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

4 years ago[Streams API] ReadableJSStream does not need a ReadableStreamSource
youenn.fablet@crf.canon.fr [Thu, 4 Jun 2015 07:52:55 +0000 (07:52 +0000)]
[Streams API] ReadableJSStream does not need a ReadableStreamSource
https://bugs.webkit.org/show_bug.cgi?id=145601

Reviewed by Darin Adler.

Covered by existing tests.

* Modules/streams/ReadableStream.cpp:
(WebCore::ReadableStream::ReadableStream): Remoed m_source.
* Modules/streams/ReadableStream.h: Ditto
* Modules/streams/ReadableStreamSource.h: Deleted.
* WebCore.vcxproj/WebCore.vcxproj: Removing Modules/streams/ReadableStreamSource.h.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/ReadableJSStream.cpp:
(WebCore::ReadableJSStream::globalObject):
(WebCore::ReadableJSStream::doStart): Equivalent of ReadableJSStream::Source::start().
(WebCore::ReadableJSStream::create): Updated according new constructor.
(WebCore::ReadableJSStream::ReadableJSStream):
(WebCore::startReadableStreamAsync): Deleted.
(WebCore::ReadableJSStream::jsController): Deleted.
(WebCore::ReadableJSStream::storeError): Deleted.
* bindings/js/ReadableJSStream.h: Added m_source member to store the JS source as a JS object.

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

4 years agoShrink the ArabicCharShapingMode enum in SVGGlyph.cpp
zandobersek@gmail.com [Thu, 4 Jun 2015 07:39:26 +0000 (07:39 +0000)]
Shrink the ArabicCharShapingMode enum in SVGGlyph.cpp
https://bugs.webkit.org/show_bug.cgi?id=145564

Reviewed by Darin Adler.

Shrink the ArabicCharShapingMode enum to just one byte.
This drops the size of the static s_arabicCharShapingMode
array of  ArabicCharShapingMode values from 888 bytes to 222.

* platform/graphics/SVGGlyph.cpp:
(WebCore::processArabicFormDetection):

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

4 years agoFix options in build-jsc for CMake builds
utatane.tea@gmail.com [Thu, 4 Jun 2015 06:49:27 +0000 (06:49 +0000)]
Fix options in build-jsc for CMake builds
https://bugs.webkit.org/show_bug.cgi?id=145636

Reviewed by Gyuyoung Kim.

CMake only accepts -DXXX=YYY style options.
And ensured that ENABLE_JIT=OFF when specifying `--cloop`.

* Scripts/build-jsc:

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

4 years agoAdded a patch so that the colors displayed on the page could be toggled
commit-queue@webkit.org [Thu, 4 Jun 2015 06:45:47 +0000 (06:45 +0000)]
Added a patch so that the colors displayed on the page could be toggled
in case people need accessibility colors displayed in their browser.
https://bugs.webkit.org/show_bug.cgi?id=145570
<rdar://problem/20994468>

Added in CSS colors and toggle buttons for checkmarks in the page, so that
the page could be rendered in a specific way for accessibility needs if needed.

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-06-03
Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
(updateHiddenPlatforms):
(applyAccessibilityColorSetting): Initial loading of accessibility colors if necessary
(toggleAccessibilityColors): Toggle colors on and off
(documentReady): Needed to make changes to the initialization
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(a:hover):
(div.cellButton, div.accessibilityButton): Added in similar properties for cellButton and accessibilityButton
(div.cellButton.hide, div.accessibilityButton.hide):
(div.cellButton.unhide, div.accessibilityButton.unhide):
(.settings-visible div.accessibilityButton.hide, .settings-visible div.accessibilityButton.unhide):
(.popover-tracking:hover):
(.accessibilityButton):
(div.cellButton): Deleted.
(div.cellButton.hide): Deleted.
(div.cellButton.unhide): Deleted.
(.settings-visible div.cellButton.hide, .settings-visible div.cellButton.unhide): Deleted.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:
(.status-line.neutral .bubble):
(.status-line.unauthorized .bubble):
(.status-line.danger .bubble.pictogram):
(.status-line.bad .bubble.pictogram):
(.status-line.no-bubble .message):
(.status-line.bad .bubble):
(.status-line.good .bubble):
(.status-line.good .message):
(.status-line.bad .message):
(body.accessibility-colors .status-line.good .bubble):
(body.accessibility-colors .status-line.bad .bubble):
(body.accessibility-colors .status-line.good .message):
(body.accessibility-colors .status-line.bad .message):
(.status-line.danger .message):
(.status-line.unauthorized .message):

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

4 years agoUse borderBoxRect instead of contentBoxRect for backdrop filter.
zalan@apple.com [Thu, 4 Jun 2015 06:23:47 +0000 (06:23 +0000)]
Use borderBoxRect instead of contentBoxRect for backdrop filter.
https://bugs.webkit.org/show_bug.cgi?id=145606

Reviewed by Simon Fraser.

Backdrop filter should use border box rect. It also needs to take css clip into account.

Source/WebCore:

Tests: css3/filters/backdrop/backdrop-filter-with-cliprect.html
       css3/filters/backdrop/backdrop-filter-with-mask.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateBackdropFiltersGeometry):

LayoutTests:

* css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding-expected.txt:
* css3/filters/backdrop/backdrop-filter-with-cliprect-expected.txt: Added.
* css3/filters/backdrop/backdrop-filter-with-cliprect.html: Added.
* css3/filters/backdrop/backdrop-filter-with-mask-expected.txt: Added.
* css3/filters/backdrop/backdrop-filter-with-mask.html: Added.

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

4 years agoMediaDevices.getUserMedia should put promises in resolve/reject state synchronously
youenn.fablet@crf.canon.fr [Thu, 4 Jun 2015 06:06:50 +0000 (06:06 +0000)]
MediaDevices.getUserMedia should put promises in resolve/reject state synchronously
https://bugs.webkit.org/show_bug.cgi?id=145308

Reviewed by Darin Adler.

Removed the calls to callToMainThread in which were resolved and rejected promises.
Cleaned up the code to remove unneeded callback copies.

Covered by existing tests.

* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::create):
(WebCore::UserMediaRequest::UserMediaRequest):
(WebCore::UserMediaRequest::didCreateStream):
(WebCore::UserMediaRequest::failedToCreateStreamWithConstraintsError):
(WebCore::UserMediaRequest::failedToCreateStreamWithPermissionError):
* Modules/mediastream/UserMediaRequest.h:

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

4 years agoMade WKBackForwardListItemPrivate.h a private header after it was added as internal...
mitz@apple.com [Thu, 4 Jun 2015 05:35:42 +0000 (05:35 +0000)]
Made WKBackForwardListItemPrivate.h a private header after it was added as internal in r185183.

* WebKit2.xcodeproj/project.pbxproj:

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

4 years ago[EFL] Unreviewed gardening on 4th June.
gyuyoung.kim@webkit.org [Thu, 4 Jun 2015 05:19:10 +0000 (05:19 +0000)]
[EFL] Unreviewed gardening on 4th June.

Skip a test regarding emoji font, mark timeout to animation tests.
Update a track test and a xhr test.

* platform/efl/TestExpectations:

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

4 years ago[EFL] Implement window_object_cleared callback in EwkPageClient.
commit-queue@webkit.org [Thu, 4 Jun 2015 05:14:25 +0000 (05:14 +0000)]
[EFL] Implement window_object_cleared callback in EwkPageClient.
https://bugs.webkit.org/show_bug.cgi?id=145603

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-06-03
Reviewed by Gyuyoung Kim.

We need to provide right timing for custom JS API that may need to work at the beginning of the page.

* UIProcess/API/efl/tests/extensions/extension_sample.cpp:
* WebProcess/InjectedBundle/API/efl/ewk_page.cpp:
(EwkPage::EwkPage):
(EwkPage::didStartProvisionalLoadForFrame):
(EwkPage::didClearWindowObjectForFrame):
(EwkPage::didFinishDocumentLoadForFrame):
* WebProcess/InjectedBundle/API/efl/ewk_page.h:
* WebProcess/InjectedBundle/API/efl/ewk_page_private.h:

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

4 years agoREGRESSION (r184968): missing media player buttons (control bar exists, but no buttons)
simon.fraser@apple.com [Thu, 4 Jun 2015 04:42:57 +0000 (04:42 +0000)]
REGRESSION (r184968): missing media player buttons (control bar exists, but no buttons)
https://bugs.webkit.org/show_bug.cgi?id=145630

Reviewed by Zalan Bujtas.

Source/WebCore:

r184968 changed the initial value of m_intersectsCoverageRect to false. However,
this triggered a bug with mask layers, whose value of m_intersectsCoverageRect was never
updated.

Fix by copying the value of m_intersectsCoverageRect from the main layer to its
mask layer, just as we do for m_visibleRect and m_coverageRect.

Test: compositing/visible-rect/mask-layer-coverage.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setVisibleAndCoverageRects):

LayoutTests:

Test that dumps coverage info for a layer with a mask.

* compositing/visible-rect/mask-layer-coverage-expected.txt: Added.
* compositing/visible-rect/mask-layer-coverage.html: Added.

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

4 years agoLayer tree dumps should include mask layers
simon.fraser@apple.com [Thu, 4 Jun 2015 04:42:52 +0000 (04:42 +0000)]
Layer tree dumps should include mask layers
https://bugs.webkit.org/show_bug.cgi?id=145629

Reviewed by Zalan Bujtas.
Source/WebCore:

Dumping the layer tree omitted to dump the mask layer, so fix
GraphicsLayer::dumpProperties() to dump this layer.

* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::dumpProperties):

LayoutTests:

New results.

* compositing/masks/compositing-clip-path-change-no-repaint-expected.txt:
* compositing/masks/mask-layer-size-expected.txt:

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

4 years agoAX: Expose field sets to accessibility clients
commit-queue@webkit.org [Thu, 4 Jun 2015 04:19:51 +0000 (04:19 +0000)]
AX: Expose field sets to accessibility clients
https://bugs.webkit.org/show_bug.cgi?id=145585

Source/WebCore:

Expose fieldsets to the accessibility API via a subrole of AXFieldset.

Patch by Greg Hughes <ghughes@apple.com> on 2015-06-03
Reviewed by Chris Fleizach.

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper subrole]):

LayoutTests:

Updated role tests to include the new subrole for fieldsets

Patch by Greg Hughes <ghughes@apple.com> on 2015-06-03
Reviewed by Chris Fleizach.

* platform/mac/accessibility/roles-exposed-expected.txt:

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

4 years agoWeb Inspector: if a known CSS property has an unsupported value, only strikethrough...
commit-queue@webkit.org [Thu, 4 Jun 2015 03:42:31 +0000 (03:42 +0000)]
Web Inspector: if a known CSS property has an unsupported value, only strikethrough the value
https://bugs.webkit.org/show_bug.cgi?id=141262

Patch by Devin Rousso <drousso@apple.com> on 2015-06-03
Reviewed by Timothy Hatcher.

* UserInterface/Models/CSSCompletions.js:
(WebInspector.CSSCompletions.prototype.nameMatchesValidPropertyExactly): Loops through the full property list and returns true only if a property exactly matches the given property name.
(WebInspector.CSSCompletions): Added nameMatchesValidPropertyExactly function.
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Added logic to limit the invalid class marker to only the property value if the property name is an actual property.

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

4 years agoAdd SPI that returns the snapshot layer contents for a given back/forward list item
andersca@apple.com [Thu, 4 Jun 2015 02:55:08 +0000 (02:55 +0000)]
Add SPI that returns the snapshot layer contents for a given back/forward list item
https://bugs.webkit.org/show_bug.cgi?id=145621

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKBackForwardListItem.mm:
(-[WKBackForwardListItem _snapshotLayerContents]):
* UIProcess/API/Cocoa/WKBackForwardListItemInternal.h:
* UIProcess/API/Cocoa/WKBackForwardListItemPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKBackForwardListItemInternal.h.
* WebKit2.xcodeproj/project.pbxproj:

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

4 years agoRemove dead code FontPlatformData::roundsGlyphAdvances()
mmaxfield@apple.com [Thu, 4 Jun 2015 02:55:07 +0000 (02:55 +0000)]
Remove dead code FontPlatformData::roundsGlyphAdvances()
https://bugs.webkit.org/show_bug.cgi?id=145628

Reviewed by Simon Fraser.

No new tests because there is no behavior change.

* WebCore.order:
* platform/graphics/FontPlatformData.h:
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::roundsGlyphAdvances): Deleted.

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

4 years agoSkip webgl/useWhilePending.html on WebKit 1 following:
said@apple.com [Thu, 4 Jun 2015 00:07:38 +0000 (00:07 +0000)]
Skip webgl/useWhilePending.html on WebKit 1 following:
<http://trac.webkit.org/changeset/185172>

Unreviewed.

* platform/mac-wk1/TestExpectations:

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

4 years ago[CoordinatedGraphics] Merge CoordinatedTile into Tile
ryuan.choi@navercorp.com [Thu, 4 Jun 2015 00:03:35 +0000 (00:03 +0000)]
[CoordinatedGraphics] Merge CoordinatedTile into Tile
https://bugs.webkit.org/show_bug.cgi?id=145602

Reviewed by Darin Adler.

CoordinatedTile only implements Tile since Qt and WebKit1/Efl were dropped.
So, there is no reason that CoordinatedTile inherits Tile interface.

No new tests, no behavior changes.

* PlatformEfl.cmake:
* PlatformGTK.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
* platform/graphics/texmap/coordinated/CoordinatedTile.cpp: Renamed to Tile.cpp
* platform/graphics/texmap/coordinated/CoordinatedTile.h: Merged into Tile.h
(WebCore::CoordinatedTile::coordinate): Deleted.
(WebCore::CoordinatedTile::rect): Deleted.
* platform/graphics/texmap/coordinated/Tile.cpp: Renamed from CoordinatedTile.cpp.
* platform/graphics/texmap/coordinated/Tile.h:
* platform/graphics/texmap/coordinated/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::createTiles):

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

4 years agoAdd basic Media Session support to HTMLMediaElement.
commit-queue@webkit.org [Wed, 3 Jun 2015 23:41:52 +0000 (23:41 +0000)]
Add basic Media Session support to HTMLMediaElement.
https://bugs.webkit.org/show_bug.cgi?id=145581

Patch by Matt Rajca <mrajca@apple.com> on 2015-06-03
Reviewed by Eric Carlson.

HTMLMediaElements now have:

- a 'kind' attribute representing the intrinsic media category
- a 'session' attribute representing the current media session, if any

* CMakeLists.txt: Include the new HTMLMediaElementMediaSession sources.
* DerivedSources.make: Include the new IDL file.
* Modules/mediasession/HTMLMediaElementMediaSession.cpp: Added.
(WebCore::HTMLMediaElementMediaSession::session):
* Modules/mediasession/HTMLMediaElementMediaSession.h: Added basic translation of the IDL file.
(WebCore::HTMLMediaElementMediaSession::kind):
(WebCore::HTMLMediaElementMediaSession::setKind):
(WebCore::HTMLMediaElementMediaSession::setSession):
* Modules/mediasession/HTMLMediaElementMediaSession.idl: Added from the Media Session spec.
* PlatformMac.cmake: Include DOMHTMLMediaElementMediaSession.cpp.
* WebCore.xcodeproj/project.pbxproj: Include the new HTMLMediaElementMediaSession sources.
* html/HTMLMediaElement.h: Added accessors for 'kind' and 'session'.
(WebCore::HTMLMediaElement::kind):
(WebCore::HTMLMediaElement::setKind):
(WebCore::HTMLMediaElement::session):
(WebCore::HTMLMediaElement::setSession):

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

4 years agoUnreviewed build fix for Dromaeo.
rniwa@webkit.org [Wed, 3 Jun 2015 23:35:24 +0000 (23:35 +0000)]
Unreviewed build fix for Dromaeo.

* Scripts/webkitpy/benchmark_runner/benchmark_results.py:
(BenchmarkResults._aggregate_results_for_test):

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

4 years agoFix build.
andersca@apple.com [Wed, 3 Jun 2015 22:51:18 +0000 (22:51 +0000)]
Fix build.

* DumpRenderTree/mac/TestRunnerMac.mm:

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

4 years agoCleanup after r185175.
mmaxfield@apple.com [Wed, 3 Jun 2015 22:50:35 +0000 (22:50 +0000)]
Cleanup after r185175.
https://bugs.webkit.org/show_bug.cgi?id=145569
<rdar://problem/20671711>

Unreviewed.

No new tests because there is no behavior change.

* platform/graphics/WidthIterator.h:

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

4 years agoSoftBank Emoji are not transformed by shaping when in a run of their own
mmaxfield@apple.com [Wed, 3 Jun 2015 22:48:27 +0000 (22:48 +0000)]
SoftBank Emoji are not transformed by shaping when in a run of their own
https://bugs.webkit.org/show_bug.cgi?id=145569
<rdar://problem/20671711>

Reviewed by Dean Jackson.

Normally, we don't perform shaping on single glyphs. However, these particular codepoints
need to have shaping run on them, even if they are alone.

Test: fast/text/softbank-emoji.html Note that this test may fail in different locales on
different platforms. This patch disables the test on iOS.

* Source/WebCore/platform/graphics/WidthIterator.cpp:
(WebCore::applyFontTransforms): Move the length-of-1 check into shouldApplyFontTransforms()
(WebCore::shouldApplyFontTransforms): Return true if we have one of these emoji characters in
a run of its own
(WebCore::advanceInternal): Keep track of the previous character, and use it to call
shouldApplyFontTransforms.
* Source/WebCore/platform/graphics/WidthIterator.h: shouldApplyFontTransforms() needs
some more information to perform its duties.

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

4 years agoAdd missing expected result files for ios-simulator port following
said@apple.com [Wed, 3 Jun 2015 22:46:35 +0000 (22:46 +0000)]
Add missing expected result files for ios-simulator port following
<http://trac.webkit.org/changeset/185095>
<http://trac.webkit.org/changeset/185096>

Unreviewed.

* platform/ios-simulator/fast/text/crash-complex-text-surrogate-expected.txt: Added.
* platform/ios-simulator/fast/text/font-weights-zh-expected.txt: Added.

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

4 years agoCaps lock indicator should not be shown in read-only or disabled field
dbates@webkit.org [Wed, 3 Jun 2015 22:35:44 +0000 (22:35 +0000)]
Caps lock indicator should not be shown in read-only or disabled field
https://bugs.webkit.org/show_bug.cgi?id=145612
<rdar://problem/21227454>

Reviewed by Darin Adler.

.:

* ManualTests/password-caps-lock-should-not-show-in-read-only-field.html: Added.
* ManualTests/password-caps-lock-should-not-show-when-field-becomes-disabled.html: Added.
* ManualTests/password-caps-lock-should-not-show-when-field-becomes-read-only.html: Added.

Source/WebCore:

* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::disabledAttributeChanged): Update caps lock indicator state.
(WebCore::TextFieldInputType::readonlyAttributeChanged): Ditto.
(WebCore::TextFieldInputType::shouldDrawCapsLockIndicator): Do not draw the caps lock indicator
when the field is read-only or disabled.

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

4 years agoCrash in GraphicsContext3D::getInternalFramebufferSize
dino@apple.com [Wed, 3 Jun 2015 22:32:40 +0000 (22:32 +0000)]
Crash in GraphicsContext3D::getInternalFramebufferSize
https://bugs.webkit.org/show_bug.cgi?id=145479
<rdar://problem/16461048>

Reviewed by Eric Carlson.

Source/WebCore:

If we are in an unitialized or lost state, don't try to access the context.

In order to test this, I added an Internal setting that always
forces WebGL into a pending state.

Test: fast/canvas/webgl/useWhilePending.html

* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create): Check internal settings for
a forced pending state.
(WebCore::WebGLRenderingContextBase::drawingBufferWidth): Guard against a pending state.
(WebCore::WebGLRenderingContextBase::drawingBufferHeight): Ditto.
* page/Settings.cpp: New Internal setting for forcing a pending policy.
(WebCore::Settings::Settings):
(WebCore::Settings::setForcePendingWebGLPolicy):
* page/Settings.h:
(WebCore::Settings::isForcePendingWebGLPolicy):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setForcePendingWebGLPolicy):
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

LayoutTests:

Attemps to use a WebGL context while it is in the pending state.

* fast/canvas/webgl/useWhilePending-expected.txt: Added.
* fast/canvas/webgl/useWhilePending.html: Added.

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

4 years agoAutoFill button should not be shown in read-only or disabled field
dbates@webkit.org [Wed, 3 Jun 2015 22:29:38 +0000 (22:29 +0000)]
AutoFill button should not be shown in read-only or disabled field
https://bugs.webkit.org/show_bug.cgi?id=145579
<rdar://problem/21212494>

Update expected result for Windows that I inadvertently modified in <http://trac.webkit.org/changeset/185166>.

* platform/win/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt:

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

4 years ago[iOS] Skip compositing/layer-creation/zoomed-clip-intersection.html
zalan@apple.com [Wed, 3 Jun 2015 22:00:28 +0000 (22:00 +0000)]
[iOS] Skip compositing/layer-creation/zoomed-clip-intersection.html
eventSender.scalePageBy() needs to be implemented.

Unreviewed garderning.

* platform/ios-simulator/TestExpectations:

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

4 years agoWebKit2.TextFieldDidBeginAndEndEditing is flaky on Mac
dbates@webkit.org [Wed, 3 Jun 2015 21:43:27 +0000 (21:43 +0000)]
WebKit2.TextFieldDidBeginAndEndEditing is flaky on Mac
https://bugs.webkit.org/show_bug.cgi?id=145616

Skip the test on Mac for now to avoid having the bots turn red due to the flakiness
of the test. Further investigation is needed.

* TestWebKitAPI/Tests/WebKit2/TextFieldDidBeginAndEndEditing.cpp:
* TestWebKitAPI/Tests/WebKit2/TextFieldDidBeginAndEndEditing_Bundle.cpp:

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

4 years agoDefine WK_ENABLE_FORMAL_DELEGATE_PROTOCOLS on iOS
andersca@apple.com [Wed, 3 Jun 2015 21:21:29 +0000 (21:21 +0000)]
Define WK_ENABLE_FORMAL_DELEGATE_PROTOCOLS on iOS
https://bugs.webkit.org/show_bug.cgi?id=145615
Part of rdar://problem/17380856.

Reviewed by Dan Bernstein.

* postprocess-headers.sh:

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

4 years agoUse modern for-loops in WebCore/page.
commit-queue@webkit.org [Wed, 3 Jun 2015 20:52:42 +0000 (20:52 +0000)]
Use modern for-loops in WebCore/page.
https://bugs.webkit.org/show_bug.cgi?id=145455

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-06-03
Reviewed by Darin Adler.

No new tests, no behavior changes.

* page/Chrome.cpp:
(WebCore::Chrome::notifyPopupOpeningObservers):
* page/ContentSecurityPolicy.cpp:
(WebCore::CSPSourceList::matches):
(WebCore::CSPDirectiveList::gatherReportURIs):
(WebCore::ContentSecurityPolicy::copyStateFrom):
(WebCore::isAllowedByAll):
(WebCore::isAllowedByAllWithState):
(WebCore::isAllowedByAllWithContext):
(WebCore::isAllowedByAllWithURL):
(WebCore::ContentSecurityPolicy::evalDisabledErrorMessage):
(WebCore::ContentSecurityPolicy::allowPluginType):
(WebCore::ContentSecurityPolicy::reflectedXSSDisposition):
(WebCore::ContentSecurityPolicy::gatherReportURIs):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::populate):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
(WebCore::DOMWindow::willDestroyCachedFrame):
(WebCore::DOMWindow::willDestroyDocumentInFrame):
(WebCore::DOMWindow::willDetachDocumentFromFrame):
(WebCore::DOMWindow::disconnectDOMWindowProperties):
(WebCore::DOMWindow::reconnectDOMWindowProperties):
(WebCore::DOMWindow::getMatchedCSSRules):
* page/DeviceController.cpp:
(WebCore::DeviceController::dispatchDeviceEvent):
(WebCore::DeviceController::fireDeviceEvent):
* page/EventHandler.cpp:
(WebCore::EventHandler::updateMouseEventTargetNode):
(WebCore::EventHandler::handleTouchEvent):
* page/FocusController.cpp:
(WebCore::FocusController::setIsVisibleAndActiveInternal):
* page/Frame.cpp:
(WebCore::Frame::orientationChanged):
(WebCore::Frame::injectUserScriptsForWorld):
* page/FrameView.cpp:
(WebCore::FrameView::scrollContentsFastPath):
(WebCore::FrameView::serviceScriptedAnimations):
(WebCore::FrameView::trackedRepaintRectsAsText):
(WebCore::FrameView::updateWidgetPositions):
(WebCore::FrameView::notifyWidgets):
* page/Page.cpp:
(WebCore::networkStateChanged):
(WebCore::Page::stringToViewMode):
(WebCore::Page::updateStyleForAllPagesAfterGlobalChangeInEnvironment):
(WebCore::Page::refreshPlugins):
(WebCore::Page::lockAllOverlayScrollbarsToHidden):
(WebCore::Page::pluginViews):
(WebCore::Page::storageBlockingStateChanged):
(WebCore::Page::setIsVisibleInternal):
* page/PageGroup.cpp:
(WebCore::PageGroup::captionPreferencesChanged):
* page/PageGroupLoadDeferrer.cpp:
(WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
(WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeFrame):
* page/Performance.cpp:
(WebCore::Performance::webkitGetEntriesByType):
(WebCore::Performance::webkitGetEntriesByName):
* page/PerformanceResourceTiming.cpp:
(WebCore::passesTimingAllowCheck):
* page/PerformanceUserTiming.cpp:
(WebCore::convertToEntrySequence):
* page/SecurityPolicy.cpp:
(WebCore::SecurityPolicy::isAccessWhiteListed):
* page/UserContentURLPattern.cpp:
(WebCore::UserContentURLPattern::matchesPatterns):
* page/WindowFeatures.cpp:
(WebCore::WindowFeatures::parseDialogFeatures):
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::updateAnimations):
(WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
(WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
(WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
(WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::ShorthandPropertyWrapper::equals):
(WebCore::ShorthandPropertyWrapper::blend):
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::setStateScrollingNodeSnapOffsetsAsFloat):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::absoluteNonFastScrollableRegionForFrame):
(WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):

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

4 years agoAutoFill button should not be shown in read-only or disabled field
dbates@webkit.org [Wed, 3 Jun 2015 20:44:56 +0000 (20:44 +0000)]
AutoFill button should not be shown in read-only or disabled field
https://bugs.webkit.org/show_bug.cgi?id=145579
<rdar://problem/21212494>

Reviewed by Darin Adler.

Source/WebCore:

Fixes an issue where the AutoFill button is shown in a read-only or disabled
field. We should not show the AutoFill button in such cases.

Tests: fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-disabled.html
       fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-readonly.html
       fast/forms/auto-fill-button/input-auto-fill-button.html
       fast/forms/auto-fill-button/input-disabled-auto-fill-button.html
       fast/forms/auto-fill-button/input-readonly-auto-fill-button.html
       fast/forms/auto-fill-button/input-readonly-non-empty-auto-fill-button.html

* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::disabledAttributeChanged): Update AutoFill button state.
(WebCore::TextFieldInputType::readonlyAttributeChanged): Ditto.
(WebCore::TextFieldInputType::shouldDrawAutoFillButton): Do not draw AutoFill button
when the field is disabled or read-only.

LayoutTests:

Add tests to ensure that we do no show the AutoFill button in a read-only or disabled field.

Additionally, create directory LayoutTests/fast/forms/auto-fill-button and move existing test
LayoutTests/fast/forms/input-auto-fill-button.html and associated test results into this directory
or the platform-specific variant of this directory.

* fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-disabled-expected.html: Added.
* fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-disabled.html: Added.
* fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-readonly-expected.html: Added.
* fast/forms/auto-fill-button/hide-auto-fill-button-when-input-becomes-readonly.html: Added.
* fast/forms/auto-fill-button/input-auto-fill-button-expected.txt: Renamed from LayoutTests/fast/forms/input-auto-fill-button-expected.txt.
* fast/forms/auto-fill-button/input-auto-fill-button.html: Renamed from LayoutTests/fast/forms/input-auto-fill-button.html.
* fast/forms/auto-fill-button/input-disabled-auto-fill-button-expected.html: Added.
* fast/forms/auto-fill-button/input-disabled-auto-fill-button.html: Added.
* fast/forms/auto-fill-button/input-readonly-auto-fill-button-expected.html: Added.
* fast/forms/auto-fill-button/input-readonly-auto-fill-button.html: Added.
* fast/forms/auto-fill-button/input-readonly-non-empty-auto-fill-button-expected.html: Added.
* fast/forms/auto-fill-button/input-readonly-non-empty-auto-fill-button.html: Added.
* platform/ios-simulator/fast/forms/auto-fill-button/input-auto-fill-button-expected.png: Renamed from LayoutTests/platform/ios-simulator/fast/forms/input-auto-fill-button-expected.png.
* platform/ios-simulator/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/forms/input-auto-fill-button-expected.txt.
* platform/mac-mavericks/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt: Renamed from LayoutTests/platform/mac-mavericks/fast/forms/input-auto-fill-button-expected.txt.
* platform/win/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt: Renamed from LayoutTests/platform/win/fast/forms/input-auto-fill-button-expected.txt.

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

4 years agoRemove ChangeLog entry; Mark Lam already fixed this yesterday.
andersca@apple.com [Wed, 3 Jun 2015 20:39:52 +0000 (20:39 +0000)]
Remove ChangeLog entry; Mark Lam already fixed this yesterday.

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

4 years agoWeb Inspector: Search field bottom border doesn't match the rest of the toolbar
nvasilyev@apple.com [Wed, 3 Jun 2015 20:37:23 +0000 (20:37 +0000)]
Web Inspector: Search field bottom border doesn't match the rest of the toolbar
https://bugs.webkit.org/show_bug.cgi?id=145611

Reviewed by Timothy Hatcher.

* UserInterface/Views/Toolbar.css:
(body:not(.unknown-mac) .toolbar .search-bar > input[type="search"]):

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

4 years agoFix build.
andersca@apple.com [Wed, 3 Jun 2015 20:36:25 +0000 (20:36 +0000)]
Fix build.

The exitingJITType parameter has been removed, so remove its UNUSED_PARAM declaration.

* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeExitSiteData):

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

4 years agoSkip Dromaeo/jslib-modify-prototype.html for now.
zalan@apple.com [Wed, 3 Jun 2015 20:34:00 +0000 (20:34 +0000)]
Skip Dromaeo/jslib-modify-prototype.html for now.

Unreviewed gardening.

* Skipped:

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

4 years agoCallLinkStatus should return takesSlowPath if the GC often cleared the IC
fpizlo@apple.com [Wed, 3 Jun 2015 20:08:01 +0000 (20:08 +0000)]
CallLinkStatus should return takesSlowPath if the GC often cleared the IC
https://bugs.webkit.org/show_bug.cgi?id=145502

Reviewed by Geoffrey Garen.

CallLinkInfo now remembers when it has been cleared by GC. This has some safeguards for when
a call gets cleared by GC only because we hadn't converted it into a closure call; in that
case the GC will just tell us that it should be a closure call. The DFG will not optimize
a call that was cleared by GC, and the DFG will always prefer a closure call if the GC told
us that the specific callee was dead but the executable wasn't.

This guards us from some scenarios that came up in Speedometer. It's neutral on the pure JS
benchmarks, most likely just because those benchmarks aren't real enough to have interesting
GC of code.

* bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::visitWeak):
(JSC::CallLinkInfo::dummy):
* bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::CallLinkInfo):
* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFromCallLinkInfo):

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

4 years agoGetById and PutById profiling should be more precise about it takes slow path
fpizlo@apple.com [Wed, 3 Jun 2015 20:04:00 +0000 (20:04 +0000)]
GetById and PutById profiling should be more precise about it takes slow path
https://bugs.webkit.org/show_bug.cgi?id=145590

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

If a ById access ever takes slow path, we want the DFG and FTL to know this. Previously we
were relying on slow path counts, which conflate slow paths taken due to a megamorphic
access and slow paths taken due to IC building.

* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFor):
(JSC::GetByIdStatus::computeForStubInfo):
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFor):
(JSC::PutByIdStatus::computeForStubInfo):
* bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::StructureStubInfo):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetById):
* jit/JITOperations.cpp:
* jit/JITOperations.h:

LayoutTests:

Added just two more tests for getters and setters. I needed more microbenchmarks to track
down a regression in an earlier version of this patch.

* js/regress/getter-prototype-expected.txt: Added.
* js/regress/getter-prototype.html: Added.
* js/regress/script-tests/getter-prototype.js: Added.
* js/regress/script-tests/setter-prototype.js: Added.
* js/regress/setter-prototype-expected.txt: Added.
* js/regress/setter-prototype.html: Added.

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

4 years ago[iOS] Rebaseline expected results for <br>
zalan@apple.com [Wed, 3 Jun 2015 19:46:18 +0000 (19:46 +0000)]
[iOS] Rebaseline expected results for <br>

Unreviewed garderning.

* platform/ios-simulator-wk2/fast/css/text-overflow-ellipsis-bidi-expected.txt:
* platform/ios-simulator-wk2/fast/forms/listbox-hit-test-zoomed-expected.txt:
* platform/ios-simulator/http/tests/navigation/postredirect-basic-expected.txt:
* platform/ios-simulator/http/tests/navigation/postredirect-goback1-expected.txt:
* platform/ios-simulator/tables/mozilla/bugs/bug106795-expected.txt:
* platform/ios-simulator/tables/mozilla/bugs/bug1224-expected.txt:
* platform/ios-simulator/tables/mozilla/bugs/bug131020-expected.txt:
* platform/ios-simulator/tables/mozilla/bugs/bug131020_iframe-expected.txt:
* platform/ios-simulator/tables/mozilla/bugs/bug1430-expected.txt:
* platform/ios-simulator/tables/mozilla/bugs/bug16252-expected.txt:
* platform/ios-simulator/tables/mozilla/bugs/bug19599-expected.txt:
* platform/ios-simulator/tables/mozilla/bugs/bug20579-expected.txt:
* platform/ios-simulator/tables/mozilla/bugs/bug32205-3-expected.txt:
* platform/ios-simulator/tables/mozilla/bugs/bug82946-2-expected.txt:
* platform/ios-simulator/tables/mozilla/bugs/bug92143-expected.txt:
* platform/ios-simulator/tables/mozilla/marvin/tables_cellpadding-expected.txt:
* platform/ios-simulator/tables/mozilla/marvin/tables_cellspacing-expected.txt:
* platform/ios-simulator/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
* platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug1262-expected.txt:
* platform/ios-simulator/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:

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

4 years agoImprove test coverage for changes made in 145527
msaboff@apple.com [Wed, 3 Jun 2015 18:48:41 +0000 (18:48 +0000)]
Improve test coverage for changes made in 145527
https://bugs.webkit.org/show_bug.cgi?id=145578

Reviewed by Geoffrey Garen.

Added more complexity to poly-setter-combo.js stress test to create more turmoil in the
polymorphic get-by-id / put-by-id with getters and setters to exercise the code change in
https://bugs.webkit.org/show_bug.cgi?id=145527.  By changing the objects that the main test
function sees, we are able to test those paths.  Verified with temporary logging code.

* tests/stress/poly-setter-combo.js:
(Cons2):
(Cons3):
(Cons4):
(foo):
(test):
(runTestWithConstructors):

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

4 years agoAdd missing expected result files for GTK and EFL ports following
said@apple.com [Wed, 3 Jun 2015 18:44:57 +0000 (18:44 +0000)]
Add missing expected result files for GTK and EFL ports following
<http://trac.webkit.org/changeset/185095>
<http://trac.webkit.org/changeset/181351>

Unreviewed.

* platform/efl/fast/text/crash-complex-text-surrogate-expected.txt: Added.
* platform/gtk/editing/selection/extend-by-character-007-expected.txt: Added.
* platform/gtk/fast/text/crash-complex-text-surrogate-expected.txt: Added.

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

4 years agoREGRESSION: (r181879): Scrolling in select/option region in iFrame scrolls both selec...
bfulgham@apple.com [Wed, 3 Jun 2015 18:37:23 +0000 (18:37 +0000)]
REGRESSION: (r181879): Scrolling in select/option region in iFrame scrolls both select and iframe
https://bugs.webkit.org/show_bug.cgi?id=145574
<rdar://problem/20966828>

Reviewed by Simon Fraser.

Source/WebCore:

Tested by platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-select.html

When the scroll gesture is started when the latched scrollable container is not at the limit of its
scroll region, we are NOT supposed to propagate the scroll event to the enclosing region. However,
we were doing two things wrong:
(1) When we recognized we were latching, we were using the right wheel event target, but not using
    the latched scrollable container.
(2) Likewise, we were not using latched ScrollableArea when handling wheel events.

Instead, we were using the current scrollable container and ScrollableArea under the mouse pointer,
which could be different from the point we started latching as the content scrolled.

The fix was to properly track the scrollable container and scrollable area during latching.

I attempted to store the latched ScrollableArea in the latchingState object, like we already do for the
scrollable container, but found that this did not work properly. I think the life cycle of the
ScrollableArea may not match the scrollable container, and since they are not reference counted I
simply retrieve the ScrollableArea when needed.

* page/mac/EventHandlerMac.mm:
(WebCore::scrollableAreaForContainerNode): Helper function to return the correct ScrollableArea
for the two types of RenderBox elements.
(WebCore::latchedToFrameOrBody): Helper predicate to identify Frame and Body elements.
(WebCore::EventHandler::platformPrepareForWheelEvents): Use the correct ScrollableArea for the given
ContainerNode. When latching, make sure to use the ScrollableArea that is related to the latched scrollable
container, not the area currently underneath the mouse pointer.

LayoutTests:

* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-select-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-select.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/frames/select_iframe.html: Added.

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

4 years agoREGRESSION (r183498): Certain types of frame loads in iframes with <base target=...
beidson@apple.com [Wed, 3 Jun 2015 17:33:16 +0000 (17:33 +0000)]
REGRESSION (r183498): Certain types of frame loads in iframes with <base target="_blank"> can open urls in new window/tabs
https://bugs.webkit.org/show_bug.cgi?id=145580

Reviewed by Mark Lam.

Source/WebCore:

Tests: fast/loader/fragment-navigation-base-blank.html
       fast/loader/iframe-meta-refresh-base-blank.html
       fast/loader/iframe-set-location-base-blank.html
       fast/loader/refresh-iframe-base-blank.html

Before 183498, callers of FrameLoader::changeLocation() got automatically assigned a frame name of "_self".
After 183498, many remained without a frame name.

Later on, FrameLoader applies the <base> target as their frame name if they don't already have one.

When the <base> target is "_blank", that causes a new window/tab.

Restoring "_self" to these call sites fixes this.

* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::openInNewTab):

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::navigate):

* loader/FrameLoadRequest.h:
(WebCore::FrameLoadRequest::FrameLoadRequest):

* loader/NavigationScheduler.cpp:
(WebCore::NavigationScheduler::scheduleLocationChange):

* page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow):

Tools:

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::didSameDocumentNavigationForFrame): Implement the dump for "didChangeLocationWithinPageForFrame"

LayoutTests:

* fast/loader/fragment-navigation-base-blank-expected.txt: Added.
* fast/loader/fragment-navigation-base-blank.html: Added.
* fast/loader/iframe-meta-refresh-base-blank-expected.txt: Added.
* fast/loader/iframe-meta-refresh-base-blank.html: Added.
* fast/loader/iframe-set-location-base-blank-expected.txt: Added.
* fast/loader/iframe-set-location-base-blank.html: Added.
* fast/loader/refresh-iframe-base-blank-expected.txt: Added.
* fast/loader/refresh-iframe-base-blank.html: Added.
* fast/loader/resources/fragment-navigation-base-blank.html: Added.
* fast/loader/resources/iframe-meta-refresh-base-blank.html: Added.
* fast/loader/resources/iframe-set-location-base-blank.html: Added.
* fast/loader/resources/notify-done-with-window-count.html: Added.
* fast/loader/resources/refresh-iframe-base-blank-frame.html: Added.

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

4 years agoAttempt to fix CSSPropertyParserTest.GridTrackLimits API test after http://trac.webki...
ap@apple.com [Wed, 3 Jun 2015 16:56:59 +0000 (16:56 +0000)]
Attempt to fix CSSPropertyParserTest.GridTrackLimits API test after trac.webkit.org/r185147

* TestWebKitAPI/Tests/WebCore/CSSParser.cpp:
(TestWebKitAPI::TEST): Update the syntax.

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

4 years agoMore iOS build fixing.
ap@apple.com [Wed, 3 Jun 2015 16:40:35 +0000 (16:40 +0000)]
More iOS build fixing.

* platform/spi/mac/AVFoundationSPI.h:

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

4 years agoSubpixel rendering: Composited layer with subpixel gap does not get painted properly...
zalan@apple.com [Wed, 3 Jun 2015 15:36:41 +0000 (15:36 +0000)]
Subpixel rendering: Composited layer with subpixel gap does not get painted properly when its position changes.
https://bugs.webkit.org/show_bug.cgi?id=145587

Reviewed by Simon Fraser.

The composited layer always snaps to an enclosing device pixel (floors) while the renderer rounds.
At certain positions (for example 0.5px on a 1x display), a gap is formed between the layer(0px) and its renderer(1px).
In such cases, when the the renderer moves to a position (1.1px) where the gap is closed, we need to issue repaint on the layer
in order to get the renderering right.

Source/WebCore:

Test: compositing/child-layer-with-subpixel-gap-needs-repaint-when-parent-moves.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterLayout):
(WebCore::devicePixelFractionGapFromRendererChanged):
(WebCore::RenderLayerBacking::updateGeometry):
* rendering/RenderLayerBacking.h:

LayoutTests:

* compositing/child-layer-with-subpixel-gap-needs-repaint-when-parent-moves-expected.html: Added.
* compositing/child-layer-with-subpixel-gap-needs-repaint-when-parent-moves.html: Added.

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

4 years agoWeb Inspector: Uncaught exception starting a NavigationBar drag and mousing over...
commit-queue@webkit.org [Wed, 3 Jun 2015 14:58:01 +0000 (14:58 +0000)]
Web Inspector: Uncaught exception starting a NavigationBar drag and mousing over a different NavigationBar
https://bugs.webkit.org/show_bug.cgi?id=145589

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

* UserInterface/Views/NavigationBar.js:
(WebInspector.NavigationBar.prototype._mouseDown):
(WebInspector.NavigationBar.prototype._mouseUp):
When mouse dragging for navigation bars, only match against navigation
bar items inside this navigation bar. Also, fix horizontal detection
of navigation bar items by scanning in the middle of the navigation
bar instead of the top, which missed the items.

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

4 years agoWeb Inspector: Debugger Popover for Node object should have go-to-arrow to show the...
commit-queue@webkit.org [Wed, 3 Jun 2015 14:55:56 +0000 (14:55 +0000)]
Web Inspector: Debugger Popover for Node object should have go-to-arrow to show the node in DOM tree
https://bugs.webkit.org/show_bug.cgi?id=145594

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

* UserInterface/Controllers/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype.inspectElement):
Previously we could get an exception later on if we tried to
inspect an element that was not in the DOM. Bail if the node
is not in the DOM or not.

* UserInterface/Views/SourceCodeTextEditor.css:
(.popover .debugger-popover-content > .title > .go-to-arrow):
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject.data.pushNodeToFrontend):
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
For a node type, add a go-to-arrow in the popover if it is in the DOM or not.

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

4 years ago[Streams API] ReadableStreamReader::closed() should be called once by binding code
youenn.fablet@crf.canon.fr [Wed, 3 Jun 2015 07:35:03 +0000 (07:35 +0000)]
[Streams API] ReadableStreamReader::closed() should be called once by binding code
https://bugs.webkit.org/show_bug.cgi?id=145551

Reviewed by Darin Adler.

Covered by existing tests.

* bindings/js/JSReadableStreamReaderCustom.cpp:
(WebCore::JSReadableStreamReader::closed): Calling ReadableStreamReader::closed only at creation of the promise.

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

4 years ago[EFL][GTK] Fix build error since r185137
gyuyoung.kim@webkit.org [Wed, 3 Jun 2015 06:58:44 +0000 (06:58 +0000)]
[EFL][GTK] Fix build error since r185137
https://bugs.webkit.org/show_bug.cgi?id=145596

Unreviewed, fix build break on EFL and GTK port.

* dom/Text.cpp:
(WebCore::Text::formatForDebugger): Use strncpy() instead of strlcpy().

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

4 years ago[CSS Grid Layout] Switch from parenthesis to brackets for grid line names
svillar@igalia.com [Wed, 3 Jun 2015 06:44:45 +0000 (06:44 +0000)]
[CSS Grid Layout] Switch from parenthesis to brackets for grid line names
https://bugs.webkit.org/show_bug.cgi?id=144996

Reviewed by Darin Adler.

Source/WebCore:

Grid line names are now enclosed by brackets instead of parentheses
as mentioned in the latest version of the spec. Appartently the CSS
code is now more readable and avoids issues with tools like SASS.

* css/CSSGrammar.y.in:
* css/CSSGridLineNamesValue.cpp:
(WebCore::CSSGridLineNamesValue::customCSSText):

LayoutTests:

Replaced parentheses by brackets when specifying grid line names.

* fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
* fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html:
* fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
* fast/css-grid-layout/grid-element-repeat-get-set.html:
* fast/css-grid-layout/grid-item-auto-placement-automatic-span.html:
* fast/css-grid-layout/grid-item-bad-resolution-double-span.html:
* fast/css-grid-layout/grid-item-column-row-get-set.html:
* fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
* fast/css-grid-layout/grid-item-named-grid-line-resolution.html:
* fast/css-grid-layout/grid-item-negative-position-resolution.html:
* fast/css-grid-layout/grid-item-position-changed-dynamic.html:
* fast/css-grid-layout/grid-shorthand-get-set-expected.txt:
* fast/css-grid-layout/grid-shorthand-get-set.html:
* fast/css-grid-layout/grid-template-shorthand-get-set-expected.txt:
* fast/css-grid-layout/grid-template-shorthand-get-set.html:
* fast/css-grid-layout/named-grid-line-get-set-expected.txt:
* fast/css-grid-layout/named-grid-line-get-set.html:
* fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks-expected.txt:
* fast/css-grid-layout/named-grid-lines-computed-style-implicit-tracks.html:
* fast/css-grid-layout/named-grid-lines-with-named-grid-areas-dynamic-get-set.html:
* fast/css-grid-layout/named-grid-lines-with-named-grid-areas-get-set.html:
* fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:
* fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-expected.txt:
* fast/css-grid-layout/non-grid-element-repeat-get-set-expected.txt:
* fast/css-grid-layout/non-grid-element-repeat-get-set.html:
* fast/css-grid-layout/non-named-grid-line-get-set-expected.txt:
* fast/css-grid-layout/non-named-grid-line-get-set.html:
* fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
(testInherit):
(testInitial):
* fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
(testInherit):
(testInitial):
* fast/css-grid-layout/resources/non-grid-columns-rows-get-set-multiple.js:
(testInherit):
(testInitial):
* fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:
(testInherit):
(testInitial):

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

4 years agoiOS build fix
ap@apple.com [Wed, 3 Jun 2015 06:24:24 +0000 (06:24 +0000)]
iOS build fix

* platform/spi/mac/AVFoundationSPI.h:

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

4 years agoUnreviewed, rolling out r185128 and r185132.
commit-queue@webkit.org [Wed, 3 Jun 2015 06:21:03 +0000 (06:21 +0000)]
Unreviewed, rolling out r185128 and r185132.
https://bugs.webkit.org/show_bug.cgi?id=145597

The new test hits a bad assertion (Requested by ap on
#webkit).

Reverted changesets:

"Crash in GraphicsContext3D::getInternalFramebufferSize"
https://bugs.webkit.org/show_bug.cgi?id=145479
http://trac.webkit.org/changeset/185128

"Skip webgl/useWhilePending.html on WebKit 1."
http://trac.webkit.org/changeset/185132

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

4 years agoVersioning.
bshafiei@apple.com [Wed, 3 Jun 2015 06:18:45 +0000 (06:18 +0000)]
Versioning.

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

4 years agoWeb Inspector: Remove uses of delete in Sidebar related code
commit-queue@webkit.org [Wed, 3 Jun 2015 05:57:33 +0000 (05:57 +0000)]
Web Inspector: Remove uses of delete in Sidebar related code
https://bugs.webkit.org/show_bug.cgi?id=145592

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

* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
Clear value instead of deleting.

* UserInterface/Views/SearchSidebarPanel.js:
(WebInspector.SearchSidebarPanel.prototype.performSearch):
Just clear the search identifier. Also assert it (a required string) is always non-falsey.

* UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar.prototype.resizerDragEnded): Deleted.
This entire callback is unnecessary because whenever we start
a drag we save the value.

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

4 years agoWeb Inspector: Sidebar and sometimes ContentView scroll position is lost when switchi...
commit-queue@webkit.org [Wed, 3 Jun 2015 05:46:56 +0000 (05:46 +0000)]
Web Inspector: Sidebar and sometimes ContentView scroll position is lost when switching between tabs
https://bugs.webkit.org/show_bug.cgi?id=145591

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

* UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar.prototype.removeSidebarPanel):
When removing a sidebar panel, ensure we call hidden if it was the visible panel.

* UserInterface/Views/SidebarPanel.js:
(WebInspector.SidebarPanel):
(WebInspector.SidebarPanel.prototype.shown):
(WebInspector.SidebarPanel.prototype.hidden):
Save and restore content element scroll position when sidebar panels are shown / hidden.

* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.visibilityDidChange):
* UserInterface/Views/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel.prototype.shown):
* UserInterface/Views/DetailsSidebarPanel.js:
(WebInspector.DetailsSidebarPanel.prototype.shown):
* UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
(WebInspector.LayerTreeDetailsSidebarPanel.prototype.shown):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype.hidden):
Cleanup. Since sidebar panels are using ES6 classes, have super class calls use `super`!

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

4 years ago[CoordinatedGraphics] Refactor TiledBackingStoreClient
ryuan.choi@navercorp.com [Wed, 3 Jun 2015 03:39:27 +0000 (03:39 +0000)]
[CoordinatedGraphics] Refactor TiledBackingStoreClient
https://bugs.webkit.org/show_bug.cgi?id=145577

Reviewed by Gyuyoung Kim.

This patch removes and simplifies unnecessary virtual methods of TiledBackingStoreClient.

No new tests, no behavior changes.

* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::didUpdateTileBuffers): Renamed from tiledBackingStorePaintEnd.
(WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintBegin): Deleted.
(WebCore::CoordinatedGraphicsLayer::tiledBackingStorePaintEnd): Deleted.
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreBackgroundColor):
Deleted because tiledBackingStoreBackgroundColor() is not used anywhere.
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
* platform/graphics/texmap/coordinated/CoordinatedTile.cpp:
(WebCore::CoordinatedTile::updateBackBuffer):
Simplified not to call unnecessary methods. In addition, used modern for loop.
(WebCore::CoordinatedTile::swapBackBufferToFront): Deleted.
* platform/graphics/texmap/coordinated/CoordinatedTile.h:
* platform/graphics/texmap/coordinated/Tile.h:
* platform/graphics/texmap/coordinated/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::updateTileBuffers):
* platform/graphics/texmap/coordinated/TiledBackingStoreClient.h:

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

4 years agoWeb Inspector: Use non-monospace font for the frame selector
nvasilyev@apple.com [Wed, 3 Jun 2015 02:46:44 +0000 (02:46 +0000)]
Web Inspector: Use non-monospace font for the frame selector
https://bugs.webkit.org/show_bug.cgi?id=145586

Reviewed by Timothy Hatcher.

* UserInterface/Views/HierarchicalPathComponent.css:
(.hierarchical-path-component):

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

4 years ago[EFL] Implement load_started callback in EwkPageClient.
commit-queue@webkit.org [Wed, 3 Jun 2015 02:33:16 +0000 (02:33 +0000)]
[EFL] Implement load_started callback in EwkPageClient.
https://bugs.webkit.org/show_bug.cgi?id=145545

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-06-02
Reviewed by Gyuyoung Kim.

We need to provide load_started callback to web extension module.

* UIProcess/API/efl/tests/extensions/extension_sample.cpp:
* WebProcess/InjectedBundle/API/efl/ewk_page.cpp:
(EwkPage::EwkPage):
(EwkPage::remove):
(EwkPage::didStartProvisionalLoadForFrame):
(EwkPage::didFinishDocumentLoadForFrame):
* WebProcess/InjectedBundle/API/efl/ewk_page.h:
* WebProcess/InjectedBundle/API/efl/ewk_page_private.h:

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

4 years agoAX: debugging attributes for text markers
commit-queue@webkit.org [Wed, 3 Jun 2015 01:29:43 +0000 (01:29 +0000)]
AX: debugging attributes for text markers
https://bugs.webkit.org/show_bug.cgi?id=145283

Patch by Doug Russell <d_russell@apple.com> on 2015-06-02
Reviewed by Chris Fleizach.

AXTextMarkerDebugDescription: returns the result of
VisiblePosition::formatForDebugger() for the visible position that a text marker
represents.
AXTextMarkerNodeDebugDescription: calls Node::showNode() and
Node::showNodePathForThis() for the visible position that a text marker
represents.
AXTextMarkerNodeTreeDebugDescription: calls Node::showTreeForThis() for the
visible position that a text marker represents.
AXTextMarkerRangeDebugDescription: returns the result of
formatForDebugger(VisiblePositionRange) for the visible position range that a text
marker range represents.

This is debug only tooling. Tests would be flakey and not very helpful.

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper debugDescriptionForTextMarker:]):
(-[WebAccessibilityObjectWrapper debugDescriptionForTextMarkerRange:]):
(-[WebAccessibilityObjectWrapper showNodeForTextMarker:]):
(-[WebAccessibilityObjectWrapper showNodeTreeForTextMarker:]):
(formatForDebugger):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
* dom/Text.cpp:
(WebCore::Text::formatForDebugger):

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

4 years agoMediaSessions should keep track of their current state.
commit-queue@webkit.org [Wed, 3 Jun 2015 00:45:00 +0000 (00:45 +0000)]
MediaSessions should keep track of their current state.
https://bugs.webkit.org/show_bug.cgi?id=145575

Patch by Matt Rajca <mrajca@apple.com> on 2015-06-02
Reviewed by Alex Christensen.

* Modules/mediasession/MediaSession.h: Per the Media Session spec, the state can be 'Idle', 'Active', or
  'Interrupted'. Sessions are created in an 'Idle' state.

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

4 years agoWeb Inspector: Dashboard arrow icon on the right is overlapped by a long function...
nvasilyev@apple.com [Tue, 2 Jun 2015 23:58:42 +0000 (23:58 +0000)]
Web Inspector: Dashboard arrow icon on the right is overlapped by a long function/file name
https://bugs.webkit.org/show_bug.cgi?id=145540

Also, increase clickable area of the arrow icon.

Reviewed by Timothy Hatcher.

* UserInterface/Views/DashboardContainerView.css:
(.dashboard-container .advance-arrow):
(.dashboard-container .advance-arrow.advance-forward):
(.dashboard-container .advance-arrow.advance-backward):
* UserInterface/Views/DebuggerDashboardView.css:
(.dashboard.debugger > .location):
(.toolbar .dashboard.debugger):
Increase padding on the right so the content of the dashboard would be never be overlayed by the arrow.

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

4 years agoWeb Inspector: Shift + Cmd + Left/Right shouldn't switch tabs while editing text
commit-queue@webkit.org [Tue, 2 Jun 2015 23:56:12 +0000 (23:56 +0000)]
Web Inspector: Shift + Cmd + Left/Right shouldn't switch tabs while editing text
https://bugs.webkit.org/show_bug.cgi?id=145562

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

* UserInterface/Views/TabBrowser.js:
(WebInspector.TabBrowser):
Only these keyboard shortcuts should check if we are in an editable field.
Remove the implicit prevent default so they can fall back to system behavior
if necessary.

(WebInspector.TabBrowser.prototype._showNextTabCheckingForEditableField):
(WebInspector.TabBrowser.prototype._showPreviousTabCheckingForEditableField):
Bail if we are in an editable field. Otherwise perform the action and prevent default.

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

4 years agoBuild fix when building with internal SDKs
jonlee@apple.com [Tue, 2 Jun 2015 23:51:18 +0000 (23:51 +0000)]
Build fix when building with internal SDKs
https://bugs.webkit.org/show_bug.cgi?id=145576
rdar://problem/21089476

Reviewed by Alexey Proskuryakov.

* platform/spi/mac/AVFoundationSPI.h: Include the right header.

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

4 years agoSkip webgl/useWhilePending.html on WebKit 1.
dino@apple.com [Tue, 2 Jun 2015 23:45:11 +0000 (23:45 +0000)]
Skip webgl/useWhilePending.html on WebKit 1.

* platform/mac-wk1/TestExpectations:

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

4 years agoGardening: fix broken CLoop build.
mark.lam@apple.com [Tue, 2 Jun 2015 23:33:00 +0000 (23:33 +0000)]
Gardening: fix broken CLoop build.

Not reviewed.

* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeExitSiteData):

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

4 years agoNo need to guard the sizes attribute against PICTURE_SIZES in preload scanner.
dino@apple.com [Tue, 2 Jun 2015 22:23:36 +0000 (22:23 +0000)]
No need to guard the sizes attribute against PICTURE_SIZES in preload scanner.
https://bugs.webkit.org/show_bug.cgi?id=145573
<rdar://problem/21210038>

Reviewed by Myles Maxfield.

The PICTURE_SIZES feature flag doesn't need to be used to
guard preloading of the sizes attribute.

* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes): Deleted.
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute): Deleted.

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

4 years agoUse UUIDs for WebSQL database filenames instead of a sequential number
andersca@apple.com [Tue, 2 Jun 2015 22:14:23 +0000 (22:14 +0000)]
Use UUIDs for WebSQL database filenames instead of a sequential number
https://bugs.webkit.org/show_bug.cgi?id=145571

Reviewed by Dan Bernstein.

This is a first step towards getting rid of the iOS specific code path where we truncate
database files instead of deleting them (in order to avoid file corruption).

* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::generateDatabaseFileName):
(WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
* platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::getFileNameForNewDatabase): Deleted.
* platform/sql/SQLiteFileSystem.h:

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

4 years agoCrash in GraphicsContext3D::getInternalFramebufferSize
dino@apple.com [Tue, 2 Jun 2015 22:11:32 +0000 (22:11 +0000)]
Crash in GraphicsContext3D::getInternalFramebufferSize
https://bugs.webkit.org/show_bug.cgi?id=145479
<rdar://problem/16461048>

Reviewed by Eric Carlson.

Source/WebCore:

If we are in an unitialized or lost state, don't try to access the context.

In order to test this, I added an Internal setting that always
forces WebGL into a pending state.

Test: fast/canvas/webgl/useWhilePending.html

* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create): Check internal settings for
a forced pending state.
(WebCore::WebGLRenderingContextBase::drawingBufferWidth): Guard against a pending state.
(WebCore::WebGLRenderingContextBase::drawingBufferHeight): Ditto.
* page/Settings.cpp: New Internal setting for forcing a pending policy.
(WebCore::Settings::Settings):
(WebCore::Settings::setForcePendingWebGLPolicy):
* page/Settings.h:
(WebCore::Settings::isForcePendingWebGLPolicy):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setForcePendingWebGLPolicy):
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

LayoutTests:

Attemps to use a WebGL context while it is in the pending state.

* fast/canvas/webgl/useWhilePending-expected.txt: Added.
* fast/canvas/webgl/useWhilePending.html: Added.

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

4 years agoPDFs always think they're visible on iOS.
barraclough@apple.com [Tue, 2 Jun 2015 22:02:35 +0000 (22:02 +0000)]
PDFs always think they're visible on iOS.
https://bugs.webkit.org/show_bug.cgi?id=145493
<rdar://problem/19668879>

Reviewed by Andreas Kling & Sam Weinig.

The problem here is that WKContentView is currently responsible for notifying the WebPageProxy
that the visibility may have changed, but when a PDF isn't showing the WKContentView isn't in
the view hierarchy and doesn't receive the didMoveToWindow notifications – and the WKPDFView
(which is in the view hierarchy) does not listen for these events.

Visibility of the page should really just track the visibility of the WKWebView (and when
actually assessing the visibility it largely does - the page client checks the web view's
visibility, bar a FIXME, and the foreground/background check, which needs to change).
So notifications should really just come from the WKWebView.

The WKWebView already listens for the didMoveToWindow notification, it just was only updating
the IsInWindow flag. Instead just update all flags, and the call to viewStateDidChange from
WKContentView can just be removed.

There is one problem with this in that it would reverse the order of the calls to
viewStateDidChange & _updateForScreen:, which would mean the the view would become visible before
updating the screen pixel density. To fix this, moving the call to _updateForScreen:
to willMoveToWindow:, to ensure it occurs before the page becomes visible.

This will also change behavior on Mac for WKWebView clients, in coalescing all view state changes
within the didMoveToWindow call. This is the direction we intended to go in anyway (the plan is
to remove the mayHaveChanged argument from viewStateDidChange - we're currently adding unnecessary
IPC traffic).

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView didMoveToWindow]):
    - should update all view state flags.
* UIProcess/API/ios/WKViewIOS.mm:
(-[WKView didMoveToWindow]):
    - added to match WKWebView.mm, for WebKitTestRunner.
* UIProcess/ios/WKContentView.mm:
(-[WKContentView willMoveToWindow:]):
    - should _updateForScreen:
(-[WKContentView didMoveToWindow]): Deleted.
    - functionality moved to -[WKWebView didMoveToWindow], -[WKContentView didMoveToWindow].

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

4 years agoAdded a stub implementation of MediaSession, part of the Media Session spec.
commit-queue@webkit.org [Tue, 2 Jun 2015 21:54:13 +0000 (21:54 +0000)]
Added a stub implementation of MediaSession, part of the Media Session spec.
https://bugs.webkit.org/show_bug.cgi?id=145530

Patch by Matt Rajca <mrajca@apple.com> on 2015-06-02
Reviewed by Eric Carlson.

* CMakeLists.txt: Added new MediaSession sources.
* DerivedSources.make:
* Modules/mediasession/MediaSession.cpp: Added stub implementation.
(WebCore::MediaSession::MediaSession): Per the Media Session spec, a Media Remote Controls object should only be
  set for 'content' sessions; it is null otherwise.
(WebCore::MediaSession::~MediaSession):
(WebCore::MediaSession::controls):
(WebCore::MediaSession::releaseSession):
* Modules/mediasession/MediaSession.h: Added basic translation of IDL file.
* Modules/mediasession/MediaSession.idl: Added from the Media Session spec.
* WebCore.xcodeproj/project.pbxproj: Added new MediaSession sources.

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

4 years agoFix Windows layout test failure following <http://trac.webkit.org/changeset/185095>
said@apple.com [Tue, 2 Jun 2015 21:37:36 +0000 (21:37 +0000)]
Fix Windows layout test failure following <trac.webkit.org/changeset/185095>
(https://bugs.webkit.org/show_bug.cgi?id=145537)

Unreviewed.

* platform/win/fast/text/crash-complex-text-surrogate-expected.txt: Added.

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

4 years agoBackdrop filter is pulling in content from behind the window.
zalan@apple.com [Tue, 2 Jun 2015 21:35:24 +0000 (21:35 +0000)]
Backdrop filter is pulling in content from behind the window.
https://bugs.webkit.org/show_bug.cgi?id=145561
rdar://problem/20909309

Reviewed by Simon Fraser.

This patch ensures that the backdrop filter layer is positioned and sized properly.

The backdrop filter layer should take its size and position from its renderer and not
directly from the composited layer.
In certain cases the composited layer's size is expanded to cover items like box shadow or an absolute positioned descendant.
In such cases, we ended up applying the backdrop filter to those areas as well.

Source/WebCore:

Tests: css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute.html
       css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding.html

* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setBackdropFiltersRect):
(WebCore::GraphicsLayer::backdropFiltersRect):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setBackdropFiltersRect):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateBackdropFilters):
(WebCore::GraphicsLayerCA::updateBackdropFiltersRect):
(WebCore::GraphicsLayerCA::updateContentsRects):
(WebCore::GraphicsLayerCA::updateGeometry): Deleted.
* platform/graphics/ca/GraphicsLayerCA.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateBackdropFiltersGeometry):
(WebCore::RenderLayerBacking::updateGeometry):
* rendering/RenderLayerBacking.h:

LayoutTests:

* css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute-expected.txt: Added.
* css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute.html: Added.
* css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding-expected.txt: Added.
* css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding.html: Added.

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

4 years ago[iOS][WK2] Always mark layers as volatile for background pages
cdumez@apple.com [Tue, 2 Jun 2015 21:30:27 +0000 (21:30 +0000)]
[iOS][WK2] Always mark layers as volatile for background pages
https://bugs.webkit.org/show_bug.cgi?id=145547
<rdar://problem/20663184>

Reviewed by Simon Fraser.

We previously marked layers as volatile when the WebProcess was about
to be suspended. Most of the time the WebProcess gets suspended when a
page goes into the background. However, it is not always true (see
radar), in which case the layers won't be marked as volatile and use
memory even though they are not visible.

We now mark layers as volatile as soon as the page goes into the
background, instead of relying on the WebProcess suspension mechanism
to do so.

A new ApplicationDidEnterBackground IPC message from the UIProcess to
the WebProcess is added (in addition to the pre-existing
ApplicationWillEnterForeground one). When the WebProcess receives this
message, it will freeze the layer tree state and mark the layers as
volatile (with a timer to keep retrying if needed), similarly to what
is already done in WebProcess::actualPrepareToSuspend().
When the ApplicationWillEnterForeground is received, we unfreeze the
layer tree state. The layers' volatile state will be automatically
updated when they are displayed (see setBufferVolatility() call in
RemoteLayerBackingStore::display()).

* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _applicationDidEnterBackground:]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::applicationDidEnterBackground):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setLayerTreeStateIsFrozen):
(WebKit::WebPage::markLayersVolatileImmediatelyIfPossible):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::volatilityTimerFired):
(WebKit::WebPage::applicationDidEnterBackground):
(WebKit::WebPage::applicationWillEnterForeground):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::markAllLayersVolatileIfPossible):
(WebKit::WebProcess::setAllLayerTreeStatesFrozen):

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

4 years agoJavaScriptCore: JSExport protocol with an NSInteger property converts negative values...
commit-queue@webkit.org [Tue, 2 Jun 2015 21:24:10 +0000 (21:24 +0000)]
JavaScriptCore: JSExport protocol with an NSInteger property converts negative values to 18446744073709552000
https://bugs.webkit.org/show_bug.cgi?id=145563

Patch by Keith Miller <keith_miller@apple.com> on 2015-06-02
Reviewed by Darin Adler.

The Objective-C bindings were improperly converting negative
long long/NSIntegers to 18446744073709552000 because they
were converted to unsigned numbers.

* API/ObjcRuntimeExtras.h:
(parseObjCType):
* API/tests/testapi.mm:
(testObjectiveCAPIMain):
(checkNegativeNSIntegers):
(testObjectiveCAPI):

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

4 years agoWeb Inspector: ⌘F no longer brings up the find-in-page bar after typing in the quick...
commit-queue@webkit.org [Tue, 2 Jun 2015 21:14:25 +0000 (21:14 +0000)]
Web Inspector: ⌘F no longer brings up the find-in-page bar after typing in the quick console
https://bugs.webkit.org/show_bug.cgi?id=145546

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

Scope ContentBrowser keyboard events within the ContentBrowser instead
of global, where they might conflict between ContentBrowsers. The scoped
shortcuts now no longer need to be enabled/disabled.

* UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser):
Scope the keyboard shortcuts.

(WebInspector.ContentBrowser.prototype.shown):
(WebInspector.ContentBrowser.prototype.hidden):
No longer need to control enabling / disabling these non-global shortcuts.

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

4 years ago[Mac] occasional crash in Document::playbackTargetAvailabilityDidChange
eric.carlson@apple.com [Tue, 2 Jun 2015 21:04:55 +0000 (21:04 +0000)]
[Mac] occasional crash in Document::playbackTargetAvailabilityDidChange
https://bugs.webkit.org/show_bug.cgi?id=145559

Reviewed by Darin Adler.

No new tests, covered by existing tests.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::registerWithDocument): Pass document to m_mediaSession->registerWithDocument.
(WebCore::HTMLMediaElement::unregisterWithDocument): Pass document to m_mediaSession->unRegisterWithDocument.
(WebCore::HTMLMediaElement::documentWillSuspendForPageCache): Ditto.
(WebCore::HTMLMediaElement::documentDidResumeFromPageCache): Ditto.

* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::registerWithDocument): Take a document.
(WebCore::MediaElementSession::unregisterWithDocument): Ditto.
* html/MediaElementSession.h:

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

4 years agoFix Mac Mavericks layout test failure following <http://trac.webkit.org/changeset...
said@apple.com [Tue, 2 Jun 2015 20:22:15 +0000 (20:22 +0000)]
Fix Mac Mavericks layout test failure following <trac.webkit.org/changeset/185096>
(https://bugs.webkit.org/show_bug.cgi?id=145478)

Move fast/text/font-weights-zh.html out of the platform directory. The
webkit test runner is not smart enough to ignore the expected results
in the mac directory and get it from the Mavericks directory, if it exists,
when running on Mavericks.

Reviewed by Alexey Proskuryakov.

* fast/text/font-weights-zh.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/fast/text/font-weights-zh.html: Removed.
* platform/win/TestExpectations:
* platform/win-xp/TestExpectations:
* platform/wincairo/TestExpectations:

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

4 years agoCalling FrameView::viewportContentsChanged() after style recalcs is too expensive
cdumez@apple.com [Tue, 2 Jun 2015 20:20:41 +0000 (20:20 +0000)]
Calling FrameView::viewportContentsChanged() after style recalcs is too expensive
https://bugs.webkit.org/show_bug.cgi?id=145554
<rdar://problem/21189478>

Reviewed by Darin Adler and Simon Fraser.

Only call FrameView::viewportContentsChanged() after a style recalc if
composited layers have been updated (and there is no pending layout).

We already viewportContentsChanged() after layout so we only need to
call viewportContentsChanged() after a style recalc if it did not cause
a layout but may have caused an element to become visible. In
particular, this can happen in the case of composited animations (e.g.
using -webkit-transform to move an element inside the viewport).
Therefore, we now only call viewportContentsChanged() after a style
recalc if it caused composited layers to be updated. This avoids a lot
of unnecessary calls to viewportContentsChanged(), which is expensive.

No new tests, already covered by:
fast/images/animated-gif-webkit-transform.html

* dom/Document.cpp:
(WebCore::Document::recalcStyle):
* page/FrameView.cpp:
(WebCore::FrameView::updateCompositingLayersAfterStyleChange):
* page/FrameView.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::didRecalcStyleWithNoPendingLayout):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
* rendering/RenderLayerCompositor.h:

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

4 years agoRemove use of CTFontSetRenderingParameters()
mmaxfield@apple.com [Tue, 2 Jun 2015 20:19:08 +0000 (20:19 +0000)]
Remove use of CTFontSetRenderingParameters()
https://bugs.webkit.org/show_bug.cgi?id=145560

Reviewed by Simon Fraser.

Instead, always use CTFontSetRenderingStyle().

No new tests because there is no behavior change.

* platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::RenderingStyleSaver::RenderingStyleSaver): Deleted.
(WebCore::RenderingStyleSaver::~RenderingStyleSaver): Deleted.

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

4 years agoMove WKFontAntialiasingStateSaver to its own file
andersca@apple.com [Tue, 2 Jun 2015 20:00:01 +0000 (20:00 +0000)]
Move WKFontAntialiasingStateSaver to its own file
https://bugs.webkit.org/show_bug.cgi?id=145557
rdar://problem/21134776

Reviewed by Dan Bernstein.

Also rename it to FontAntialiasingStateSaver. Also, change it to use the CoreGraphicsSPI.h header for its
CGFontAntialiasingStyle definition instead of using an explicit typedef.

* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::drawLayerContents):
* platform/graphics/ios/FontAntialiasingStateSaver.h: Copied from Source/WebCore/platform/ios/wak/WKGraphics.h.
(WebCore::FontAntialiasingStateSaver::FontAntialiasingStateSaver):
(WebCore::FontAntialiasingStateSaver::setup):
(WebCore::FontAntialiasingStateSaver::restore):
* platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::drawWindowContent):
* platform/ios/wak/WKGraphics.h:
(WKFontAntialiasingStateSaver::WKFontAntialiasingStateSaver): Deleted.
* platform/ios/wak/WKGraphics.mm:
(WKFontAntialiasingStateSaver::setup): Deleted.
(WKFontAntialiasingStateSaver::restore): Deleted.

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