WebKit-https.git
4 years agoExpose MediaStream methods to be used in the MediaStream Engine
commit-queue@webkit.org [Thu, 9 Jul 2015 22:11:53 +0000 (22:11 +0000)]
Expose MediaStream methods to be used in the MediaStream Engine
https://bugs.webkit.org/show_bug.cgi?id=146791
<rdar://problem/21747589>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-09
Reviewed by Brent Fulgham.

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::getAudioTracks): Removed const
(WebCore::MediaStream::getVideoTracks): Ditto
* Modules/mediastream/MediaStream.h: Needed to change functions to
override
* platform/mediastream/MediaStreamPrivate.h: Added certain calls to
PrivateClient that exposes methods to be used in the engine

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

4 years agoWeb Inspector: Fix shape-highlight layout tests
drousso@apple.com [Thu, 9 Jul 2015 22:07:51 +0000 (22:07 +0000)]
Web Inspector: Fix shape-highlight layout tests
https://bugs.webkit.org/show_bug.cgi?id=146080

Reviewed by Joseph Pecoraro.

Source/WebCore:

* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForShapeOutside): Now properly returns the shape margin.

LayoutTests:

* http/tests/inspector/dom/shapes-test.js: Updated.

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

4 years ago[Mac] AirPlay to password protected AppleTV fails
eric.carlson@apple.com [Thu, 9 Jul 2015 21:59:33 +0000 (21:59 +0000)]
[Mac] AirPlay to password protected AppleTV fails
https://bugs.webkit.org/show_bug.cgi?id=146812

Reviewed by NOBODY (OOPS!).

* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker): Initialize previouslyRequestedPicker.
(WebCore::WebMediaSessionManager::clientStateDidChange): Cleanup the logic and add a comment
  to make it slightly easier to follow. Don't begin playing to a device unless playback
  has just started (don't switch in mid-play).
(WebCore::WebMediaSessionManager::configurePlaybackTargetClients): Use the last client to
  request the device picker as a fallback in case no other client is a canditate. Add more
  logging to make it possible to debug the selection logic.
(WebCore::WebMediaSessionManager::scheduleDelayedTask): Fiddle with the logging.

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

4 years agoWeb Inspector: Pseudo-element style ordering is wrong for pseudo-styles on unique...
drousso@apple.com [Thu, 9 Jul 2015 21:57:32 +0000 (21:57 +0000)]
Web Inspector: Pseudo-element style ordering is wrong for pseudo-styles on unique selectors
https://bugs.webkit.org/show_bug.cgi?id=146804

Reviewed by Timothy Hatcher.

* UserInterface/Models/CSSRule.js:
(WebInspector.CSSRule.prototype.selectorIsGreater):
Loops through the selectors in a rule to check if their specificity is greater than a given selector's specificity.
* UserInterface/Models/CSSSelector.js:
(WebInspector.CSSSelector.prototype.isGreaterThan):
Determines if the given selector's specificity is greater than this selector's specificity.
(WebInspector.CSSSelector):
* UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.refresh):
If the pseudo-element selector's specificity is greater than the current selector's
specificity, create the pseudo-element's section and add it before the current style.

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

4 years agoWeb Inspector: Special Logs to Console that do not have an expression should be style...
drousso@apple.com [Thu, 9 Jul 2015 21:54:11 +0000 (21:54 +0000)]
Web Inspector: Special Logs to Console that do not have an expression should be styled differently, looks like code
https://bugs.webkit.org/show_bug.cgi?id=143840

Reviewed by Timothy Hatcher.

* UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.WebInspector.JavaScriptLogViewController.appendImmediateExecutionWithResult):
Now applies a class to special logs initiated by the user (log element, log object, etc).
* UserInterface/Views/ConsoleCommandView.js:
(WebInspector.ConsoleCommandView): Added className parameter.
* UserInterface/Views/ConsoleMessageView.css:
(.console-user-command.selected-element-log):
(.console-user-command.special-user-log > .console-message-text):
* UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement):
(WebInspector.DOMTreeOutline.prototype._populateContextMenu):
* UserInterface/Views/ObjectPreviewView.js:
(WebInspector.ObjectPreviewView.prototype._contextMenuHandler):
* UserInterface/Views/ObjectTreeBaseTreeElement.js:
(WebInspector.ObjectTreeBaseTreeElement.prototype._logSymbolProperty):
(WebInspector.ObjectTreeBaseTreeElement.prototype._logValue):

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

4 years agoUnreviewed. Added myself as a committer.
drousso@apple.com [Thu, 9 Jul 2015 20:47:58 +0000 (20:47 +0000)]
Unreviewed.  Added myself as a committer.

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

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

4 years agoImplementing platform-specific section of enumerateDevices
commit-queue@webkit.org [Thu, 9 Jul 2015 20:47:15 +0000 (20:47 +0000)]
Implementing platform-specific section of enumerateDevices
https://bugs.webkit.org/show_bug.cgi?id=146461
<rdar://problem/21614466>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-09
Reviewed by Darin Adler.

* Modules/mediastream/MediaDeviceInfo.cpp: Changed access methods
(WebCore::MediaDeviceInfo::audioInputType): Added AtomicString
permanent refs
(WebCore::MediaDeviceInfo::audioOutputType): Ditto
(WebCore::MediaDeviceInfo::videoInputType): Ditto
* Modules/mediastream/MediaDeviceInfo.h: Changed String refs to values
(WebCore::MediaDeviceInfo::label): Ditto
(WebCore::MediaDeviceInfo::deviceId): Ditto
(WebCore::MediaDeviceInfo::groupId): Ditto
(WebCore::MediaDeviceInfo::kind): Ditto
* platform/mediastream/MediaDevicesPrivate.cpp: Implemented query for
available devices
(WebCore::MediaDevicesPrivate::MediaDevicesPrivate):
(WebCore::MediaDevicesPrivate::create):
(WebCore::MediaDevicesPrivate::availableMediaDevices):
* platform/mediastream/MediaDevicesPrivate.h:
(WebCore::MediaDevicesPrivate::~MediaDevicesPrivate):
* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/MediaStreamTrackSourcesRequestClient.h: Needed
to tack on extra fields to hold data
(WebCore::TrackSourceInfo::create):
(WebCore::TrackSourceInfo::groupId):
(WebCore::TrackSourceInfo::deviceId):
(WebCore::TrackSourceInfo::TrackSourceInfo):
* platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::getSourcesInfo):

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

4 years ago[Win] Add memory pressure handler.
peavo@outlook.com [Thu, 9 Jul 2015 20:37:49 +0000 (20:37 +0000)]
[Win] Add memory pressure handler.
https://bugs.webkit.org/show_bug.cgi?id=146685

Reviewed by Brent Fulgham.

Source/WebCore:

Add memory pressure handler implementation on Windows.
We check the memory usage at regular intervals with a timer.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseMemory):
(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::uninstall):
(WebCore::MemoryPressureHandler::holdOff):
* platform/win/MemoryPressureHandlerWin.cpp: Added.
(WebCore::CheckMemoryTimer::CheckMemoryTimer):
(WebCore::CheckMemoryTimer::fired):
(WebCore::CheckMemoryTimer::handleMemoryLow):
(WebCore::MemoryPressureHandler::platformReleaseMemory):
(WebCore::memCheckTimer):
(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::uninstall):
(WebCore::MemoryPressureHandler::holdOff):
(WebCore::MemoryPressureHandler::respondToMemoryPressure):
(WebCore::MemoryPressureHandler::ReliefLogger::platformMemoryUsage):
(WebCore::MemoryPressureHandler::ReliefLogger::platformLog):
* platform/win/Win32Handle.h:
(WebCore::Win32Handle::operator=):

Source/WebKit:

* WebKit.vcxproj/WebKit/WebKitCommon.props: Link with process api library.

Source/WebKit/win:

* WebView.cpp:
(WebView::initWithFrame): Install memory pressure handler.

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

4 years agoREGRESSION (r180248): Repro Crash: com.apple.WebKit.WebContent at com.apple.JavaScrip...
msaboff@apple.com [Thu, 9 Jul 2015 20:24:39 +0000 (20:24 +0000)]
REGRESSION (r180248): Repro Crash: com.apple.WebKit.WebContent at com.apple.JavaScriptCore: JSC::createRangeError + 20
https://bugs.webkit.org/show_bug.cgi?id=146767

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

If the stack check fails at the top most frame, we must use that frame to
generate the exception.  Reverted the code to always use the current frame to
throw an out of stack exception.

* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

LayoutTests:

New test that generates a call to a function that involves creating a huge
object literal that exceeds the available stack space.

* http/tests/misc/large-js-program-expected.txt: Added.
* http/tests/misc/large-js-program.php: Added.

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

4 years agoOSR exit fuzzing should allow us to select a static exit site
fpizlo@apple.com [Thu, 9 Jul 2015 19:43:28 +0000 (19:43 +0000)]
OSR exit fuzzing should allow us to select a static exit site
https://bugs.webkit.org/show_bug.cgi?id=146601

Reviewed by Geoffrey Garen.

The original implementation of the fuzzer allows us to trigger an exit based on its index
in the dynamic sequence of exit sites encountered. But there are usually millions of
dynamically encountered exit sites, even if the program only has thousands of static exit
sites. That means that we would at best be able to do a random sampling of exits, and
those would be biased to the hottest exit sites.

This change allows us to also select exit sites based on their index in the static
sequence of exit sites that the compiler compiled. Then, once that static exit site is
selected, we can select which dynamic exit at that exit site we should trigger. Since the
number of static exit sites is usually smallish (it's bounded by program size), we can do
an exhaustive search over all exit sites in most programs.

* dfg/DFGOSRExitFuzz.cpp:
(JSC::numberOfStaticOSRExitFuzzChecks):
(JSC::numberOfOSRExitFuzzChecks):
* dfg/DFGOSRExitFuzz.h:
(JSC::DFG::doOSRExitFuzzing):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitOSRExitFuzzCheck):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::appendOSRExit):
* jsc.cpp:
(jscmain):
* runtime/Options.h:
* runtime/TestRunnerUtils.h:

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

4 years agoAdd a way to set the default URL from Minibrowser UI
timothy_horton@apple.com [Thu, 9 Jul 2015 19:31:09 +0000 (19:31 +0000)]
Add a way to set the default URL from Minibrowser UI
https://bugs.webkit.org/show_bug.cgi?id=146780

Reviewed by Simon Fraser.

* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate didChangeSettings]):
* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController fetch:]):
(-[BrowserWindowController reload:]):
(-[BrowserWindowController forceRepaint:]):
(-[BrowserWindowController goBack:]):
(-[BrowserWindowController goForward:]):
(-[BrowserWindowController showHideWebView:]):
(-[BrowserWindowController removeReinsertWebView:]):
(-[BrowserWindowController zoomIn:]):
(-[BrowserWindowController zoomOut:]):
(-[BrowserWindowController resetZoom:]):
(-[BrowserWindowController canZoomIn]):
(-[BrowserWindowController canZoomOut]):
(-[BrowserWindowController canResetZoom]):
(-[BrowserWindowController toggleZoomMode:]):
(-[BrowserWindowController setScale:]):
(-[BrowserWindowController toggleShrinkToFit:]):
(-[BrowserWindowController dumpSourceToConsole:]):
(-[BrowserWindowController find:]):
(-[BrowserWindowController didChangeSettings]):
(-[BrowserWindowController currentURL]):
Get rid of the BrowserController protocol. It was a bad idea and confused
Interface Builder more than I thought possible.

* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController setDefaultURLToCurrentURL:]):
If we have a BrowserWindowController, grab its URL and set the relevant default.

* MiniBrowser/mac/WK1BrowserWindowController.h:
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController currentURL]):
* MiniBrowser/mac/WK2BrowserWindowController.h:
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController currentURL]):
Retrieve the current URL from the WKView/WebView.

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

4 years agoIncrease MiniBrowser location bar maximum width
timothy_horton@apple.com [Thu, 9 Jul 2015 19:30:25 +0000 (19:30 +0000)]
Increase MiniBrowser location bar maximum width
https://bugs.webkit.org/show_bug.cgi?id=146779

Reviewed by Simon Fraser.

* MiniBrowser/mac/BrowserWindow.xib:
Have an enormous maximum width on the location bar, so that it doesn't
stop expanding with the window at 800px.

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

4 years agoWeb Inspector: Checkbox disappears when unchecking CSS background style
drousso@apple.com [Thu, 9 Jul 2015 19:25:25 +0000 (19:25 +0000)]
Web Inspector: Checkbox disappears when unchecking CSS background style
https://bugs.webkit.org/show_bug.cgi?id=146776

Reviewed by Timothy Hatcher.

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers): Now uses _createCommentedCheckboxMarker.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createCommentedCheckboxMarker):
Scans the content of the given lineHandle for any commented text and adds an unselected checkbox to
the beginning of that lineHandle's line.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent): Now adds commented checkbox markers.

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

4 years agoWeb Inspector: Align slider knobs in the color picker
nvasilyev@apple.com [Thu, 9 Jul 2015 19:16:10 +0000 (19:16 +0000)]
Web Inspector: Align slider knobs in the color picker
https://bugs.webkit.org/show_bug.cgi?id=146778

Also:
- Use half pixel borders on retina
- Remove one pixel white outline to match native OS X color picker more closely

Reviewed by Timothy Hatcher.

* UserInterface/Views/ColorPicker.css:
(.color-picker > .slider > img):
* UserInterface/Views/Slider.css:
(.slider):
(@media (-webkit-min-device-pixel-ratio: 2)):

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

4 years agoExposed AVVideoCaptureSource's bounds
commit-queue@webkit.org [Thu, 9 Jul 2015 18:48:52 +0000 (18:48 +0000)]
Exposed AVVideoCaptureSource's bounds
https://bugs.webkit.org/show_bug.cgi?id=146760
<rdar://problem/21736772>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-09
Reviewed by Brent Fulgham.

* platform/mediastream/mac/AVVideoCaptureSource.h:
(WebCore::AVVideoCaptureSource::width): Needed access to video width
(WebCore::AVVideoCaptureSource::height): Needed access to video height

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

4 years ago[WinCairo] ClearType should be enabled on Cairo port
achristensen@apple.com [Thu, 9 Jul 2015 18:40:34 +0000 (18:40 +0000)]
[WinCairo] ClearType should be enabled on Cairo port
https://bugs.webkit.org/show_bug.cgi?id=145492

Patch by Karlen Simonyan <szkarlen@gmail.com> on 2015-07-09
Reviewed by Brent Fulgham.

* platform/graphics/win/FontPlatformDataCairoWin.cpp:
(WebCore::FontPlatformData::FontPlatformData):
Use CAIRO_ANTIALIAS_BEST instead of CAIRO_ANTIALIAS_GRAY.

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

4 years agoAX: <details> element should allow expand/close through AX API
cfleizach@apple.com [Thu, 9 Jul 2015 18:38:39 +0000 (18:38 +0000)]
AX: <details> element should allow expand/close through AX API
https://bugs.webkit.org/show_bug.cgi?id=146549

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Allow AXExpanded to be writeable for <details> element, which, when set
will toggle the opening and closing of the element.
Post a notification when that happens as well.

Modified test: platform/mac/accessibility/details-summary.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::hierarchicalLevel):
(WebCore::AccessibilityNodeObject::setIsExpanded):
(WebCore::shouldUseAccessibilityObjectInnerText):
* accessibility/AccessibilityNodeObject.h:
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::supportsPressAction):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::canSetExpandedAttribute):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
(-[WebAccessibilityObjectWrapper _accessibilitySetValue:forAttribute:]):
* html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::toggleOpen):

LayoutTests:

* platform/mac/accessibility/details-summary-expected.txt:
* platform/mac/accessibility/details-summary.html:

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

4 years ago[Content Extensions] Prevent crashes with plugins.
achristensen@apple.com [Thu, 9 Jul 2015 18:36:29 +0000 (18:36 +0000)]
[Content Extensions] Prevent crashes with plugins.
https://bugs.webkit.org/show_bug.cgi?id=146705
rdar://problem/20855444

Reviewed by Brady Eidson.

Source/WebCore:

* loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::create):
Call addPlugInStreamLoader in ResourceLoader::willSendRequest to always add blocked loads.
* loader/NetscapePlugInStreamLoader.h:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequest):
Removed unnecessary early returns.
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::isPlugInStreamLoader):

LayoutTests:

* http/tests/contentextensions/plugin-doesnt-crash-expected.txt: Copied from http/tests/plugins/get-url-expected.txt.
* http/tests/contentextensions/plugin-doesnt-crash.html: Copied from http/tests/plugins/get-url.html.
* http/tests/contentextensions/plugin-doesnt-crash.html.json: Added.
* http/tests/contentextensions/resources/load-me-1.txt: Copied from http/tests/plugins/resources/load-me-1.txt.

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

4 years ago[Win] Skip canvas/philip/tests/2d.text.draw.fontface.notinpage.html
bfulgham@apple.com [Thu, 9 Jul 2015 18:34:42 +0000 (18:34 +0000)]
[Win] Skip canvas/philip/tests/2d.text.draw.fontface.notinpage.html
https://bugs.webkit.org/show_bug.cgi?id=146795

* platform/win/TestExpectations:

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

4 years agoAX: VoiceOver cannot get to any content in Yahoo Mail messages table
cfleizach@apple.com [Thu, 9 Jul 2015 18:16:36 +0000 (18:16 +0000)]
AX: VoiceOver cannot get to any content in Yahoo Mail messages table
https://bugs.webkit.org/show_bug.cgi?id=146674

Unreviewed. Skip a test on windows that needs more WKTR and DRT implementations.

* platform/win/TestExpectations:

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

4 years ago[Win] Honor CACFLayer content scale factor
bfulgham@apple.com [Thu, 9 Jul 2015 18:09:47 +0000 (18:09 +0000)]
[Win] Honor CACFLayer content scale factor
https://bugs.webkit.org/show_bug.cgi?id=146792

Reviewed by Dean Jackson.

* AVFoundationSupport.py: Check for the CACFLayerSet/GetContentsScale
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::PlatformCALayerWin): Use owner's scale factor (if
present).
(PlatformCALayerWin::contentsScale): Use CACFLayer API if present.
(PlatformCALayerWin::setContentsScale): Ditto.
* platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
(PlatformCALayerWinInternal::PlatformCALayerWinInternal): Use owner's scale
factor (if present).
(PlatformCALayerWinInternal::addTile): Use tile parent's scale factor.

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

4 years agoMedia Session: report to chrome client 'hasActiveMediaElements' changes
mrajca@apple.com [Thu, 9 Jul 2015 16:26:33 +0000 (16:26 +0000)]
Media Session: report to chrome client 'hasActiveMediaElements' changes
https://bugs.webkit.org/show_bug.cgi?id=146745

Reviewed by Eric Carlson.

* Modules/mediasession/MediaSession.cpp: All updates to active media elements are now funneled through a helper
  method that will invoke the 'hasMediaSessionWithActiveMediaElementsDidChange' callback when necessary.
(WebCore::MediaSession::removeMediaElement):
(WebCore::MediaSession::changeActiveMediaElements):
(WebCore::MediaSession::addActiveMediaElement):
(WebCore::MediaSession::releaseSession):
* Modules/mediasession/MediaSession.h:
* Modules/mediasession/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::hasActiveMediaElements):
* Modules/mediasession/MediaSessionManager.h:

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

4 years agoREGRESSION (r182866): repeated prompts for password on internal Apple website using...
darin@apple.com [Thu, 9 Jul 2015 15:27:43 +0000 (15:27 +0000)]
REGRESSION (r182866): repeated prompts for password on internal Apple website using workers
https://bugs.webkit.org/show_bug.cgi?id=146769

Reviewed by Sam Weinig.

Not sure how to make a regression test for this. Sure would be nice to have one though.

* loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Added. Calls through to the
base class copy constructor to copy data members of the base class (the lack of this was
the bug). Also initializes all the data members of this class.
(WebCore::ThreadableLoaderOptions::isolatedCopy): Changed to call the constructor above.

* loader/ThreadableLoader.h: Added new constructor.

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

4 years agoWeb Inspector: Rendering Frame segment colors should match those used in original...
mattbaker@apple.com [Thu, 9 Jul 2015 08:58:49 +0000 (08:58 +0000)]
Web Inspector: Rendering Frame segment colors should match those used in original Timelines graph
https://bugs.webkit.org/show_bug.cgi?id=146777

Reviewed by Brian Burg.

* UserInterface/Views/TimelineRecordFrame.css:
(.timeline-record-frame > .frame > .duration):
(.timeline-record-frame > .frame > .duration:last-child):
(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-script):
(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-layout):
(.timeline-record-frame > .frame > .duration.rendering-frame-timeline-record-paint):
Use same RGB values as TimelineRecordBar.

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

4 years agoWeb Inspector: New JavaScript/Probe breakpoint action disappears when clicking contin...
mattbaker@apple.com [Thu, 9 Jul 2015 08:03:55 +0000 (08:03 +0000)]
Web Inspector: New JavaScript/Probe breakpoint action disappears when clicking continue checkbox
https://bugs.webkit.org/show_bug.cgi?id=146688

Reviewed by Brian Burg.

Delay removal of empty Evaluate and Probe actions until after the breakpoint popover has been dismissed. This
will make the breakpoint editing experience less jarring, by preventing actions from disappearing when clicking
other controls in the popover.

* UserInterface/Models/Breakpoint.js:
(WebInspector.Breakpoint.prototype.didDismissPopover):
Clear empty Evaluate and Probe actions on popover dismissal.

* UserInterface/Views/BreakpointActionView.js:
(WebInspector.BreakpointActionView.prototype._codeMirrorBlurred):
Don't remove actions with empty data on CodeMirror blur.

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

4 years agoWeb Inspector: new breakpoint action dialog should reuse same action type
mattbaker@apple.com [Thu, 9 Jul 2015 07:35:15 +0000 (07:35 +0000)]
Web Inspector: new breakpoint action dialog should reuse same action type
https://bugs.webkit.org/show_bug.cgi?id=137255

Reviewed by Brian Burg.

* UserInterface/Views/BreakpointActionView.js:
(WebInspector.BreakpointActionView.prototype._appendActionButtonClicked):
Use the view's action type instead of the default.

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

4 years agoAX: VoiceOver cannot get to any content in Yahoo Mail messages table
cfleizach@apple.com [Thu, 9 Jul 2015 07:31:27 +0000 (07:31 +0000)]
AX: VoiceOver cannot get to any content in Yahoo Mail messages table
https://bugs.webkit.org/show_bug.cgi?id=146674

Reviewed by Darin Adler.

Source/WebCore:

A table row could have any number of parent elements in the render tree, but for the purposes
of accessibility we only want to report the AXTable as the parent so that it looks like a sane
data table.

Test: accessibility/aria-table-with-presentational-elements.html

* accessibility/AccessibilityARIAGridRow.cpp:
(WebCore::AccessibilityARIAGridRow::disclosedByRow):
(WebCore::AccessibilityARIAGridRow::parentObjectUnignored):
(WebCore::AccessibilityARIAGridRow::parentTable):
* accessibility/AccessibilityARIAGridRow.h:

LayoutTests:

* accessibility/aria-table-with-presentational-elements-expected.txt: Added.
* accessibility/aria-table-with-presentational-elements.html: Added.

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

4 years ago[Cocoa] Report the first paint after committing a load as a rendering progress event
mitz@apple.com [Thu, 9 Jul 2015 07:01:49 +0000 (07:01 +0000)]
[Cocoa] Report the first paint after committing a load as a rendering progress event
https://bugs.webkit.org/show_bug.cgi?id=146765

Reviewed by Tim Horton.

* Shared/API/Cocoa/_WKRenderingProgressEvents.h: Added _WKRenderingProgressEventFirstPaint.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLayerTree:]): If this is the first layer tree commit since the load
was committed, and the delegate is observing _WKRenderingProgressEventFirstPaint, call
NavigationState::didFirstPaint.

* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::didFirstPaint): Added. Calls -_webView:renderingProgressDidChange:
with _WKRenderingProgressEventFirstPaint.

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

4 years agoWeb Inspector: Copy Rule in the context menu copies hidden properties in the rule
drousso@apple.com [Thu, 9 Jul 2015 06:41:12 +0000 (06:41 +0000)]
Web Inspector: Copy Rule in the context menu copies hidden properties in the rule
https://bugs.webkit.org/show_bug.cgi?id=146775

Reviewed by Timothy Hatcher.

* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString):
Now only uses properties from the rule's visibleProperties list.

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

4 years agoFix grammar issue in TypeError attempting to change an unconfigurable property
commit-queue@webkit.org [Thu, 9 Jul 2015 06:04:42 +0000 (06:04 +0000)]
Fix grammar issue in TypeError attempting to change an unconfigurable property
https://bugs.webkit.org/show_bug.cgi?id=146774

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-07-08
Reviewed by Brent Fulgham.

Source/JavaScriptCore:

* runtime/JSFunction.cpp:
(JSC::JSFunction::defineOwnProperty):
* runtime/JSObject.cpp:
(JSC::JSObject::defineOwnNonIndexProperty):
* runtime/StringObject.cpp:
(JSC::StringObject::defineOwnProperty):

LayoutTests:

* js/dom/Object-defineProperty-expected.txt:

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

4 years ago[EFL] When closing inspector window, EwkView is not released properly.
jinwoo7.song@samsung.com [Thu, 9 Jul 2015 06:01:01 +0000 (06:01 +0000)]
[EFL] When closing inspector window, EwkView is not released properly.
https://bugs.webkit.org/show_bug.cgi?id=146716

Reviewed by Gyuyoung Kim.

It's because inspector window could not be deleted by remaining reference
from inspector view(evas object). This patch deletes the inspector window
after finishing the evas object smart call.

* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::destroyInspectorWindow):
(WebKit::WebInspectorProxy::platformDidClose):

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

4 years ago[EFL] vibration/navigator-vibration.html failed after r186265
dbates@webkit.org [Thu, 9 Jul 2015 05:52:54 +0000 (05:52 +0000)]
[EFL] vibration/navigator-vibration.html failed after r186265
https://bugs.webkit.org/show_bug.cgi?id=146770

Reviewed by Gyuyoung Kim.

Update test LayoutTests/vibration/navigator-vibration.html and its expected result.

Following <http://trac.webkit.org/changeset/186265> extra arguments passed
to a Web IDL overloaded function are ignored per section "Interface object Call? method"
of the Web IDL spec, <http://www.w3.org/TR/2012/CR-WebIDL-20120419/> (19 April 2012).

* vibration/navigator-vibration-expected.txt:
* vibration/navigator-vibration.html:

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

4 years ago[GTK] The "Missing Plug-in" buttons are not showing up on some flash contents.
commit-queue@webkit.org [Thu, 9 Jul 2015 05:50:38 +0000 (05:50 +0000)]
[GTK] The "Missing Plug-in" buttons are not showing up on some flash contents.
https://bugs.webkit.org/show_bug.cgi?id=146707

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-07-08
Reviewed by Martin Robinson.

Currently, WebKitGTK+ doesn't show the "Missing Plug-in" buttons if the plugin-related tags
don't have a "type" attribute. In such a case, WebCore tries to guess the MIME type from
the extensions by using MIMETypeRegistry::getMIMETypeForExtension(). For WebKitGTK+,
MIMETypeRegistry::getMIMETypeForExtension() goes through |extensionMap|, which is a simple
array of <extension, mime type>, looking for the mime type for the given extension.
But |extensionMap| in MIMETypeRegistryGtk.cpp doesn't have the information for ".swf",
so WebCore fails to guess the MIME type and regard the content type as ObjectContentFrame,
not ObjectContentNetscapePlugin.

* platform/gtk/MIMETypeRegistryGtk.cpp:

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

4 years agoWeb Inspector: Add page weight and time back to the toolbar dashboard
timothy@apple.com [Thu, 9 Jul 2015 05:47:04 +0000 (05:47 +0000)]
Web Inspector: Add page weight and time back to the toolbar dashboard
https://bugs.webkit.org/show_bug.cgi?id=146755

Revert r183328 which removed the page weight and load time from the dashboard. We have space
in the dashboard, we can put these back since we didn't find a better home for them.

Reviewed by Joseph Pecoraro.

* Localizations/en.lproj/localizedStrings.js: Updated.
* UserInterface/Base/Main.js:
(WebInspector.showNetworkTab):
* UserInterface/Images/Time.svg: Added.
* UserInterface/Images/Weight.svg: Added.
* UserInterface/Images/gtk/Time.svg: Added.
* UserInterface/Images/gtk/Weight.svg: Added.
* UserInterface/Models/DefaultDashboard.js:
(WebInspector.DefaultDashboard):
(WebInspector.DefaultDashboard.prototype.get resourcesSize):
(WebInspector.DefaultDashboard.prototype.set resourcesSize):
(WebInspector.DefaultDashboard.prototype.get time):
(WebInspector.DefaultDashboard.prototype.set time):
(WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
(WebInspector.DefaultDashboard.prototype._capturingStopped):
(WebInspector.DefaultDashboard.prototype._startUpdatingTime):
(WebInspector.DefaultDashboard.prototype._stopUpdatingTime):
(WebInspector.DefaultDashboard.prototype._updateTime):
* UserInterface/Views/DashboardContainerView.css:
(body.web .toolbar .dashboard-container):
(body.javascript .toolbar .dashboard-container):
(.toolbar.collapsed .dashboard-container):
(.toolbar .dashboard-container): Deleted.
* UserInterface/Views/DefaultDashboardView.css:
(body.web .toolbar.collapsed .dashboard.default > :matches(.resourcesSize, .time, .logs)):
(body.javascript .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)):
(.toolbar .dashboard.default > .resourcesSize):
(.toolbar .dashboard.default > .time > img):
(.toolbar .dashboard.default > .resourcesSize > img):
(body.web .toolbar.collapsed .dashboard.default > .item.resourcesCount): Deleted.
(body.javascript .toolbar .dashboard.default > .item.resourcesCount): Deleted.
* UserInterface/Views/DefaultDashboardView.js:
(WebInspector.DefaultDashboardView):
(WebInspector.DefaultDashboardView.prototype._updateDisplay):
(WebInspector.DefaultDashboardView.prototype._networkItemWasClicked):
(WebInspector.DefaultDashboardView.prototype._timelineItemWasClicked):

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

4 years agoCrash calling [WebView close] in didFinishLoadForFrame callback.
beidson@apple.com [Thu, 9 Jul 2015 04:47:09 +0000 (04:47 +0000)]
Crash calling [WebView close] in didFinishLoadForFrame callback.
<rdar://problem/21690765> and https://bugs.webkit.org/show_bug.cgi?id=146773

Reviewed by David Kilzer.

Source/WebCore:

Added API Test "WebViewCloseInsideDidFinishLoadForFrame"

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame): After the delegate callback,
  don't use the local Page* variable from earlier, but instead refetch it from m_frame.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

* TestWebKitAPI/Tests/mac/WebViewCloseInsideDidFinishLoadForFrame.mm: Added.
(-[WebViewCloseFrameLoadDelegate webView:didFinishLoadForFrame:]):
(TestWebKitAPI::TEST):

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

4 years agoAttempt to fix the Apple Windows build after <https://trac.webkit.org/changeset/186566>
dbates@webkit.org [Thu, 9 Jul 2015 04:31:41 +0000 (04:31 +0000)]
Attempt to fix the Apple Windows build after <https://trac.webkit.org/changeset/186566>
(https://bugs.webkit.org/show_bug.cgi?id=146591)

Update implementation of PluginView::create() to return a Ref<PluginView> object
instead of a PassRefPtr<PluginView> object.

* Plugins/PluginView.cpp:
(WebCore::PluginView::create):

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

4 years agoWeb Inspector: Style sidebar is showing incorrect strikethroughs
drousso@apple.com [Thu, 9 Jul 2015 04:20:35 +0000 (04:20 +0000)]
Web Inspector: Style sidebar is showing incorrect strikethroughs
https://bugs.webkit.org/show_bug.cgi?id=146768

Reviewed by Timothy Hatcher.

* UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype._markOverriddenProperties):
No longer sets the effective property as overridden if the overriding property is anonymous (not visible).

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

4 years agoCleanup: Make ContentSecurityPolicy::ReportingStatus an enum class
dbates@webkit.org [Thu, 9 Jul 2015 04:10:05 +0000 (04:10 +0000)]
Cleanup: Make ContentSecurityPolicy::ReportingStatus an enum class
https://bugs.webkit.org/show_bug.cgi?id=146670

Reviewed by Darin Adler.

Make calling the ContentSecurityPolicy::allow* functions less error prone by making
ContentSecurityPolicy::ReportingStatus an enum class. Among other benefits this will
prevent a caller from inadvertently passing an enumerator of ContentSecurityPolicy::ReportingStatus
as the boolean argument overridingContentSecurityPolicy, which is taken by the various
ContentSecurityPolicy::allow* functions, by causing a compile-time error (since an enum class
enumerator cannot be implicitly converted to an integral type).

* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::initScript):
* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::allowJavaScriptURLs):
(WebCore::CSPDirectiveList::allowInlineEventHandlers):
(WebCore::CSPDirectiveList::allowInlineScript):
(WebCore::CSPDirectiveList::allowInlineStyle):
(WebCore::CSPDirectiveList::allowEval):
(WebCore::CSPDirectiveList::allowPluginType):
(WebCore::CSPDirectiveList::allowScriptFromSource):
(WebCore::CSPDirectiveList::allowObjectFromSource):
(WebCore::CSPDirectiveList::allowChildFrameFromSource):
(WebCore::CSPDirectiveList::allowImageFromSource):
(WebCore::CSPDirectiveList::allowStyleFromSource):
(WebCore::CSPDirectiveList::allowFontFromSource):
(WebCore::CSPDirectiveList::allowMediaFromSource):
(WebCore::CSPDirectiveList::allowConnectToSource):
(WebCore::CSPDirectiveList::allowFormAction):
(WebCore::CSPDirectiveList::allowBaseURI):
(WebCore::ContentSecurityPolicy::didReceiveHeader):
(WebCore::ContentSecurityPolicy::evalDisabledErrorMessage):
* page/ContentSecurityPolicy.h:
* page/DOMSecurityPolicy.cpp:
(WebCore::DOMSecurityPolicy::allowsEval):

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

4 years agoActivate DOMURLMediaStream
commit-queue@webkit.org [Thu, 9 Jul 2015 03:55:19 +0000 (03:55 +0000)]
Activate DOMURLMediaStream
https://bugs.webkit.org/show_bug.cgi?id=146764
<rdar://problem/21738101>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-08
Reviewed by Eric Carlson.

* DerivedSources.make: Added DOMURLMediaStream.idl to list
* WebCore.xcodeproj/project.pbxproj: Added DOMURLMediaStream.cpp and
DOMURLMediaStream.h to compile

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

4 years agoMake sure MediaStream uses blob protocol
commit-queue@webkit.org [Thu, 9 Jul 2015 03:51:39 +0000 (03:51 +0000)]
Make sure MediaStream uses blob protocol
https://bugs.webkit.org/show_bug.cgi?id=146752
<rdar://problem/21736057>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-08
Reviewed by Eric Carlson.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild): Added MediaStream
blob protocol

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

4 years agoFix ASSERTION FAILED: !m_pendingNavigationID in WebPage::reload().
commit-queue@webkit.org [Thu, 9 Jul 2015 03:33:49 +0000 (03:33 +0000)]
Fix ASSERTION FAILED: !m_pendingNavigationID in WebPage::reload().
https://bugs.webkit.org/show_bug.cgi?id=146546

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-07-08
Reviewed by Darin Adler.

We did't reset pendingNavigationID value when request url is empty.
Hence we need to ignore ASSERT check in this case.

Source/WebKit2:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::reload):

Tools:

* TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:
(TestWebKitAPI::TEST):

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

4 years agoVideos on apple.com don't show up when restored from page cache.
akling@apple.com [Thu, 9 Jul 2015 03:28:24 +0000 (03:28 +0000)]
Videos on apple.com don't show up when restored from page cache.
<https://webkit.org/b/146766>
<rdar://problem/21712311>

Reviewed by Darin Adler.

Source/WebCore:

Break out most of HTMLMediaElement::stop() (override of ActiveDOMObject::stop(), to be clear)
into a stopWithoutDestroyingMediaPlayer() function that both stop() and suspend() can call.

Before this change, suspend() would call stop() when moving into the page cache, killing the
internal MediaPlayer object which caused the video to disappear from the page.

Test: LayoutTests/media/restore-from-page-cache.html (amended)

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer):
(WebCore::HTMLMediaElement::stop):
(WebCore::HTMLMediaElement::suspend):
* html/HTMLMediaElement.h:

LayoutTests:

Tweaked an existing media element page caching test to dump out the video height
after restoring from page cache. Failure to restore the video player would result
in incorrect geometry (it falls back to RenderReplaced's default 300x150.)

* media/restore-from-page-cache-expected.txt:
* media/restore-from-page-cache.html:

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

4 years agoUse Ref/RefPtr instead of PassRefPtr in WebKit2 - 2
gyuyoung.kim@webkit.org [Thu, 9 Jul 2015 02:31:21 +0000 (02:31 +0000)]
Use Ref/RefPtr instead of PassRefPtr in WebKit2 - 2
https://bugs.webkit.org/show_bug.cgi?id=146591

Reviewed by Darin Adler.

Following patch in order to reduce use of PassRefPtr.

* Shared/BlobDataFileReferenceWithSandboxExtension.h:
* Shared/Cocoa/CompletionHandlerCallChecker.h:
* Shared/Cocoa/CompletionHandlerCallChecker.mm:
(WebKit::CompletionHandlerCallChecker::create):
* Shared/Downloads/DownloadAuthenticationClient.h:
(WebKit::DownloadAuthenticationClient::create):
* Shared/SandboxExtension.h:
* Shared/ShareableResource.cpp:
(WebKit::ShareableResource::create):
* Shared/ShareableResource.h:
* Shared/mac/ObjCObjectGraph.h:
(WebKit::ObjCObjectGraph::create):
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::create):
* UIProcess/API/Cocoa/WKProcessGroup.mm:
(getInjectedBundleInitializationUserData):
* UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::create):
* UIProcess/WebPreferences.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
(WKBundlePageOverlayCreate):
* WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
(WKBundlePageBannerCreateBannerWithCALayer):
* WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
(WebKit::InjectedBundleDOMWindowExtension::create):
* WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
(WebKit::InjectedBundleHitTestResult::create):
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
* WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
(WebKit::InjectedBundleNavigationAction::create):
* WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
* WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
(WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
(WebKit::InjectedBundlePageContextMenuClient::prepareForImmediateAction):
* WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
(WebKit::InjectedBundleScriptWorld::create):
* WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
* WebProcess/Network/NetworkProcessConnection.h:
(WebKit::NetworkProcessConnection::create):
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::create):
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
(WebKit::NotificationPermissionRequestManager::create):
* WebProcess/Notifications/NotificationPermissionRequestManager.h:
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::create):
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/Netscape/NetscapePluginStream.h:
(WebKit::NetscapePluginStream::create):
* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::create):
* WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
(WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::create):
* WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h:
* WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
(WebKit::PDFPluginChoiceAnnotation::create):
* WebProcess/Plugins/PDF/PDFPluginPasswordField.h:
* WebProcess/Plugins/PDF/PDFPluginPasswordField.mm:
(WebKit::PDFPluginPasswordField::create):
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::create):
* WebProcess/Plugins/PluginProcessConnection.h:
(WebKit::PluginProcessConnection::create):
* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::create):
* WebProcess/Plugins/PluginProcessConnectionManager.h:
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::create):
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::URLRequest::create):
(WebKit::PluginView::Stream::create):
(WebKit::PluginView::create):
* WebProcess/Plugins/PluginView.h:
* WebProcess/Scrolling/RemoteScrollingCoordinator.h:
(WebKit::RemoteScrollingCoordinator::create):
* WebProcess/Storage/StorageAreaImpl.cpp:
(WebKit::StorageAreaImpl::create):
* WebProcess/Storage/StorageAreaImpl.h:
* WebProcess/Storage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::create):
* WebProcess/Storage/StorageAreaMap.h:
* WebProcess/WebConnectionToUIProcess.cpp:
(WebKit::WebConnectionToUIProcess::create):
* WebProcess/WebConnectionToUIProcess.h:
* WebProcess/WebCoreSupport/WebPopupMenu.cpp:
(WebKit::WebPopupMenu::create):
* WebProcess/WebCoreSupport/WebPopupMenu.h:
* WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
(WebKit::WebSearchPopupMenu::create):
* WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
* WebProcess/WebCoreSupport/ios/WebQuickLookHandleClient.h:
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
(WebKit::WebFrameNetworkingContext::create):
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
(WebKit::WebFrameNetworkingContext::create):
* WebProcess/WebPage/Cocoa/RemoteLayerTreeDisplayRefreshMonitor.h:
(WebKit::RemoteLayerTreeDisplayRefreshMonitor::create):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::create):
* WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::create):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::create):
* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/PageBanner.h:
* WebProcess/WebPage/WebBackForwardListProxy.h:
(WebKit::WebBackForwardListProxy::create):
* WebProcess/WebPage/WebContextMenu.h:
(WebKit::WebContextMenu::create):
* WebProcess/WebPage/WebDocumentLoader.h:
(WebKit::WebDocumentLoader::create):
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::create):
* WebProcess/WebPage/WebInspector.h:
* WebProcess/WebPage/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::create):
* WebProcess/WebPage/WebInspectorUI.h:
* WebProcess/WebPage/WebOpenPanelResultListener.cpp:
(WebKit::WebOpenPanelResultListener::create):
* WebProcess/WebPage/WebOpenPanelResultListener.h:
* WebProcess/WebPage/WebPageOverlay.cpp:
(WebKit::WebPageOverlay::create):
* WebProcess/WebPage/WebPageOverlay.h:
* WebProcess/WebPage/WebUndoStep.cpp:
(WebKit::WebUndoStep::create):
* WebProcess/WebPage/WebUndoStep.h:
* WebProcess/WebPage/mac/PageBannerMac.mm:
(WebKit::PageBanner::create):
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
(WebKit::PlatformCAAnimationRemote::create):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::create):
* WebProcess/ios/WebVideoFullscreenManager.h:
* WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::create):

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

4 years agoMake MediaStream conform to its private client like MediaSource does
commit-queue@webkit.org [Thu, 9 Jul 2015 02:27:32 +0000 (02:27 +0000)]
Make MediaStream conform to its private client like MediaSource does
https://bugs.webkit.org/show_bug.cgi?id=146756
<rdar://problem/21736457>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-08
Reviewed by Brent Fulgham.

MediaStream should be inheriting its PrivateClient's getters and
setters for RefCounted, not inheriting its own.

* Modules/mediastream/MediaStream.h: Changed MediaStream's inherit
statements
* platform/mediastream/MediaStreamPrivate.h: Changed
MediaStreamPrivateClient to inherit RefCounted<MediaStreamPrivateClient>

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

4 years agoMade AVMediaCaptureSource's session accessor public
commit-queue@webkit.org [Thu, 9 Jul 2015 02:23:25 +0000 (02:23 +0000)]
Made AVMediaCaptureSource's session accessor public
https://bugs.webkit.org/show_bug.cgi?id=146758
<rdar://problem/21736651>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-08
Reviewed by Brent Fulgham.

* platform/mediastream/mac/AVMediaCaptureSource.h:
(WebCore::AVMediaCaptureSource::session): Changed to public

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

4 years agoMake sure MediaStream engine loaded for interpreting MediaStreams
commit-queue@webkit.org [Thu, 9 Jul 2015 01:22:28 +0000 (01:22 +0000)]
Make sure MediaStream engine loaded for interpreting MediaStreams
https://bugs.webkit.org/show_bug.cgi?id=146748
<rdar://problem/21735416>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-08
Reviewed by Brent Fulgham.

Prevent the MediaSource engine from being used to process
MediaStreams, since they are not compatible

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):
Changed MediaStream to never be loaded
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType):
Changed MediaStream to never be loaded

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

4 years agoWeb Inspector: Color swatches show up in color names in comments
drousso@apple.com [Thu, 9 Jul 2015 01:17:44 +0000 (01:17 +0000)]
Web Inspector: Color swatches show up in color names in comments
https://bugs.webkit.org/show_bug.cgi?id=146757

Reviewed by Timothy Hatcher.

* UserInterface/Views/CodeMirrorAdditions.js: Color markers now only appear if the color is in a keyword.

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

4 years agoWeb Inspector: Only record a timeline when the Timelines tab is showing
timothy@apple.com [Thu, 9 Jul 2015 01:14:03 +0000 (01:14 +0000)]
Web Inspector: Only record a timeline when the Timelines tab is showing
https://bugs.webkit.org/show_bug.cgi?id=146759

Reviewed by Joseph Pecoraro.

* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype.get autoCaptureOnPageLoad):
(WebInspector.TimelineManager.prototype.set autoCaptureOnPageLoad):
(WebInspector.TimelineManager.prototype._startAutoCapturing):
* UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView.prototype.shown):
(WebInspector.TimelineTabContentView.prototype.hidden):

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

4 years ago[Content Extensions] Fuse undistinguishable actions as much as possible
benjamin@webkit.org [Thu, 9 Jul 2015 00:52:53 +0000 (00:52 +0000)]
[Content Extensions] Fuse undistinguishable actions as much as possible
https://bugs.webkit.org/show_bug.cgi?id=146762

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-07-08
Reviewed by Alex Christensen.

Source/WebCore:

Our previous code that fused actions was based on test lists that were
grouping similar actions in the input.

The input we get from developers is more distributed. It is very common to
have trigger flags all over the place, and "css-display-none" mixed with "block".

This patch refines the merging code to merge those cases as much as possible.

The size taken by the actions is negligible, but having different actions make
nodes unkillable by the Minimizer. By merging many more actions, the minimizer
no longer see those subtrees as distinguishable and can do a better job.

On a large test list, this cuts the bytecode size by 2 megabytes.

Tests: http/tests/contentextensions/css-display-none-after-ignore-previous-rules.html
       http/tests/contentextensions/single-css-display-none.html

* contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::resolvePendingDisplayNoneActions):
(WebCore::ContentExtensions::serializeActions):

Tools:

* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
Test that combinations and flags still work as expected.

LayoutTests:

Make sure the last CSS rule is not ignored.

* http/tests/contentextensions/css-display-none-after-ignore-previous-rules-expected.txt: Added.
* http/tests/contentextensions/css-display-none-after-ignore-previous-rules.html: Added.
* http/tests/contentextensions/css-display-none-after-ignore-previous-rules.html.json: Added.
* http/tests/contentextensions/single-css-display-none-expected.txt: Added.
* http/tests/contentextensions/single-css-display-none.html: Added.
* http/tests/contentextensions/single-css-display-none.html.json: Added.

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

4 years agoWKSecurityOrigin.h has wrong availability info
andersca@apple.com [Thu, 9 Jul 2015 00:24:58 +0000 (00:24 +0000)]
WKSecurityOrigin.h has wrong availability info
https://bugs.webkit.org/show_bug.cgi?id=146761
rdar://problem/21735802

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKSecurityOrigin.h:

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

4 years ago[iOS] Scrolling is laggy when the keyboard is up and a form element is focused.
akling@apple.com [Thu, 9 Jul 2015 00:19:10 +0000 (00:19 +0000)]
[iOS] Scrolling is laggy when the keyboard is up and a form element is focused.
<https://webkit.org/b/146735>
<rdar://problem/21151033>

Reviewed by Enrica Casucci.

Every touch on the page causes us to call elementDidFocus(), since we may need to bring
up a keyboard if the node had previously been programmatically focused. This was causing
little lag spikes during scrolling every time you'd put your finger to the screen.

Have WebPage::elementDidFocus() return early if the node already has focus, and we've
started an input session in response to non-programmatic focus already.

* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::elementDidFocus):
(WebKit::WebPage::elementDidBlur):

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

4 years agoFix asynchronous function calls for scroll snap animation tests
commit-queue@webkit.org [Thu, 9 Jul 2015 00:17:13 +0000 (00:17 +0000)]
Fix asynchronous function calls for scroll snap animation tests
https://bugs.webkit.org/show_bug.cgi?id=146753

Patch by Wenson Hsieh <whsieh@berkeley.edu> on 2015-07-08
Reviewed by Brent Fulgham.

Fixes unintended use of setTimeout in several scroll snap tests.

* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-iframe.html: Fixed asynchronous Javascript invocations.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders.html: See above.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow.html: See above.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-padding.html: See above.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated.html: See above.

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

4 years agoCleared contentMIMETypes for MediaStreams
commit-queue@webkit.org [Thu, 9 Jul 2015 00:16:03 +0000 (00:16 +0000)]
Cleared contentMIMETypes for MediaStreams
https://bugs.webkit.org/show_bug.cgi?id=146750
<rdar://problem/21735678>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-08
Reviewed by Brent Fulgham.

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::load): Needed to clear contentMIMETypes

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

4 years agoAudio elements with controls force their enclosing stacking context to composite
dino@apple.com [Thu, 9 Jul 2015 00:11:35 +0000 (00:11 +0000)]
Audio elements with controls force their enclosing stacking context to composite
https://bugs.webkit.org/show_bug.cgi?id=146751
<rdar://problem/21466572>

Reviewed by Simon Fraser.

There were a number of issues with audio controls, on both iOS and OS X.

- they used a blurry background which was not the intended design
- they cause the page to composite, which causes a degradation in
  text rendering quality
- they inserted 20px of padding above every audio element, which
  could break existing page designs.

Removing the need for compositing and blending means that the
colors used for control tints need to be adjusted for the non-blended
case. Wherever I could, I kept as much as possible in a shared
rule and made specific changes for audio or video.

The controls were also unintentionally relying on the compositing
to create stacking contexts and control the rendering order. Without
them, I needed to add some explicit stacking.

I also made some drive-by whitespace clean-ups.

* Modules/mediacontrols/mediaControlsApple.css: Remove as much compositing
as possible in audio controls.

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.drawTimelineBackground): Use specific colors for audio.

* Modules/mediacontrols/mediaControlsiOS.css: Remove as much need for compositing
as possible.

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

4 years agoNow that PingLoaders work in the NetworkProcess, re-enable http/tests/navigation...
beidson@apple.com [Thu, 9 Jul 2015 00:04:24 +0000 (00:04 +0000)]
Now that PingLoaders work in the NetworkProcess, re-enable http/tests/navigation/ping-cookie.html
https://bugs.webkit.org/show_bug.cgi?id=146747

Reviewed by Tim Horton.

* platform/gtk/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations:

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

4 years agoCrash when appending an SVG <use> element dynamically which has animated SVG <path...
commit-queue@webkit.org [Wed, 8 Jul 2015 23:56:58 +0000 (23:56 +0000)]
Crash when appending an SVG <use> element dynamically which has animated SVG <path> element
https://bugs.webkit.org/show_bug.cgi?id=146690
<rdar://problem/20790376>

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-07-08
Reviewed by Dean Jackson.

Source/WebCore:

Test: svg/animations/insert-animate-use-path-while-animation.svg

The crashing call stack shows that
SVGAnimatedListPropertyTearOff<SVGPathSegList>::m_animVal is null when
trying to access it in synchronizeWrappersIfNeeded(). This happens because
animationStarted() was not called for this animatedType.

SVGAnimateElementBase::resetAnimatedType() calls
SVGAnimatedPathAnimator::startAnimValAnimation() at the beginning of the
animation. For the target element and all its instances, this function calls
SVGAnimatedPathSegListPropertyTearOff::animationStarted() which calls
SVGAnimatedListPropertyTearOff<SVGPathSegList>::animationStarted(). This
last function allocates the member m_animVal when calling
SVGAnimatedListPropertyTearOff<SVGPathSegList>::animVal().

When adding a new instance of the same animating target element,
SVGAnimateElementBase::resetAnimatedType() just keeps calling
SVGAnimatedPathAnimator::animValDidChange() for all the instances of the
targetElement without ensuring that all of them have started their
animations.

The fix is to make SVGAnimatedPathAnimator::resetAnimValToBaseVal() ensure
that animationStarted() is called for the targetElement and all its instances.

* svg/SVGAnimatedPath.cpp:
(WebCore::SVGAnimatedPathAnimator::startAnimValAnimation): Move resetting
the animation value and starting the animatedTypes code to a new overriding
function which is named resetAnimValToBaseVal().

(WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal): Call the overriding
function which calls buildSVGPathByteStreamFromSVGPathSegList() as before
and ensure that all the animatedTypes have started their animations.

* svg/SVGAnimatedPath.h:

LayoutTests:

When adding dynamically a new <use> element which references an animated
SVG path after the animation starts, ensure that WebKit is not crashing.

* svg/animations/insert-animate-use-path-while-animation-expected.txt: Added.
* svg/animations/insert-animate-use-path-while-animation.svg: Added.

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

4 years agoWeb Inspector: Details sidebar doesn't activate on first selected resource in Network tab
timothy@apple.com [Wed, 8 Jul 2015 23:54:17 +0000 (23:54 +0000)]
Web Inspector: Details sidebar doesn't activate on first selected resource in Network tab
https://bugs.webkit.org/show_bug.cgi?id=146691

Make sure the SelectionPathComponentsDidChange event is dispatched when the tree elements are selected.
Selecting in the DataGrid selects the TreeElements, but onselect is not fired to avoid an inifinte loop.

Reviewed by Joseph Pecoraro.

* UserInterface/Views/NetworkGridContentView.js:
(WebInspector.NetworkGridContentView): Hook up _treeElementSelected.
(WebInspector.NetworkGridContentView.prototype._treeElementSelected): Added. Moved from
NetworkSidebarPanel and added dispatch of SelectionPathComponentsDidChange event.

* UserInterface/Views/NetworkSidebarPanel.js:
(WebInspector.NetworkSidebarPanel): Removed _treeElementSelected.
(WebInspector.NetworkSidebarPanel.prototype.canShowDifferentContentView): Renamed from _canShowDifferentContentView.
(WebInspector.NetworkSidebarPanel.prototype._canShowDifferentContentView): Deleted.
(WebInspector.NetworkSidebarPanel.prototype._treeElementSelected): Moved to NetworkGridContentView.

* UserInterface/Views/TimelineView.js:
(WebInspector.TimelineView.prototype.treeElementSelected): Dispatch SelectionPathComponentsDidChange event.

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

4 years agoMedia Session: indicate to clients whether a media session has active media elements
mrajca@apple.com [Wed, 8 Jul 2015 23:46:16 +0000 (23:46 +0000)]
Media Session: indicate to clients whether a media session has active media elements
https://bugs.webkit.org/show_bug.cgi?id=146742

Reviewed by Tim Horton.

* UIProcess/API/C/WKPage.cpp:
(WKPageHasMediaSessionWithActiveMediaElements):
* UIProcess/API/C/WKPagePrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::hasMediaSessionWithActiveMediaElementsDidChange):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::hasMediaSessionWithActiveMediaElementsDidChange):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::hasMediaSessionWithActiveMediaElementsDidChange):
* WebProcess/WebCoreSupport/WebChromeClient.h:

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

4 years agoWeb Inspector: Confusingly crossed out properties in .sidebar > .panel.navigation...
drousso@apple.com [Wed, 8 Jul 2015 23:46:11 +0000 (23:46 +0000)]
Web Inspector: Confusingly crossed out properties in .sidebar > .panel.navigation.timeline > .title-bar
https://bugs.webkit.org/show_bug.cgi?id=146727

Reviewed by Timothy Hatcher.

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
The properties map used for refreshing each property now holds a list of properties for each line to ensure that
if a duplicate property exists, it also gets refreshed.

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

4 years agoWeb Inspector: Can't select last row in the timeline because it's covered by filter...
drousso@apple.com [Wed, 8 Jul 2015 23:44:40 +0000 (23:44 +0000)]
Web Inspector: Can't select last row in the timeline because it's covered by filter selector
https://bugs.webkit.org/show_bug.cgi?id=146603

Reviewed by Timothy Hatcher.

* UserInterface/Views/ScopeBar.js: Now adds a class to the scope bar if the default item is selected.
* UserInterface/Views/LayoutTimelineView.js:
* UserInterface/Views/NetworkTimelineView.js:
* UserInterface/Views/TimelineDataGrid.css:
(.data-grid.timeline > .navigation-bar-container): Deleted.
(.data-grid.timeline.has-non-default-filter > .navigation-bar-container): Deleted.
(.data-grid.timeline:hover > .navigation-bar-container): Deleted.
(.data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
(body.window-inactive .data-grid.timeline > .navigation-bar-container > .navigation-bar): Deleted.
* UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid):
(WebInspector.TimelineDataGrid.createColumnScopeBar):
(WebInspector.TimelineDataGrid.prototype.updateLayout): Deleted.
* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
* UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline > .title-bar.timeline-events):
(.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar):
(.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple):
(.sidebar > .panel.navigation.timeline > .title-bar.timeline-events > .title-bar-scope-bar > .default-item-selected > .multiple path):
* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.set contentTreeOutlineScopeBar):
Clears the title bar scope element and adds the given element as a child node.
* UserInterface/Views/TimelineView.js:
(WebInspector.TimelineView.prototype.get navigationSidebarTreeOutlineScopeBar):
Returns the scope bar element of the current object if it exists.

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

4 years agoMedia Session: propagate artwork URL with metadata to UI clients
mrajca@apple.com [Wed, 8 Jul 2015 23:43:09 +0000 (23:43 +0000)]
Media Session: propagate artwork URL with metadata to UI clients
https://bugs.webkit.org/show_bug.cgi?id=146698

Reviewed by Tim Horton.

* Shared/WebMediaSessionMetadata.h:
(WebKit::WebMediaSessionMetadata::artworkURL):
* UIProcess/API/C/WKMediaSessionMetadata.cpp:
(WKMediaSessionMetadataCopyArtworkURL):
* UIProcess/API/C/WKMediaSessionMetadata.h:

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

4 years agoDon't allow page scroll when previewing a link or image.
commit-queue@webkit.org [Wed, 8 Jul 2015 23:40:10 +0000 (23:40 +0000)]
Don't allow page scroll when previewing a link or image.
https://bugs.webkit.org/show_bug.cgi?id=146741
rdar://problem/21733053

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-07-08
Reviewed by Beth Dakin.

Don't let preview gesture and scroll panning gesture or zooming gesture recognize at the same time.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:canPreventGestureRecognizer:]):

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

4 years agoSnapshots can be misplaced when custom swipe views are offset from the window origin
timothy_horton@apple.com [Wed, 8 Jul 2015 23:03:38 +0000 (23:03 +0000)]
Snapshots can be misplaced when custom swipe views are offset from the window origin
https://bugs.webkit.org/show_bug.cgi?id=146744
<rdar://problem/20942120>

Reviewed by Dean Jackson.

* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
Keep swipeArea in window coordinates; it was already in window coordinates
when using custom swipe views, but not in the non-custom case.

Convert from window coordinates to parent-of-m_swipeLayer coordinates when
determining m_swipeLayer's frame.

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

4 years ago[iOS][WK2] Ignore synthetic clicks in subframes initiated on a previous page
aestes@apple.com [Wed, 8 Jul 2015 23:02:43 +0000 (23:02 +0000)]
[iOS][WK2] Ignore synthetic clicks in subframes initiated on a previous page
https://bugs.webkit.org/show_bug.cgi?id=146712

Reviewed by Benjamin Poulain.

r178980 fixed an issue where, if a main frame navigation occurs in response to a touch event, a synthetic click
event could fire on the navigated-to page. This change extends this fix to apply to subframes.

* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::WebFrame):
* WebProcess/WebPage/WebFrame.h:
(WebKit::WebFrame::firstLayerTreeTransactionIDAfterDidCommitLoad):
(WebKit::WebFrame::setFirstLayerTreeTransactionIDAfterDidCommitLoad):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad): Stored the next layer tree transaction ID, and called cancelPotentialTapInFrame(), for the committed frame.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleTap): Determined the first post-commit layer tree transaction ID from the tap target node's frame.
(WebKit::WebPage::commitPotentialTap): Ditto.
(WebKit::WebPage::cancelPotentialTap): Called cancelPotentialTapInFrame(), passing m_mainFrame.
(WebKit::WebPage::cancelPotentialTapInFrame): Taught to only cancel a potential tap whose target node is a descendant of the given frame.
(WebKit::WebPage::updateVisibleContentRects): Updated to use the main frame's first post-commit layer tree transaction ID.

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

4 years agoMove PingLoaders to the NetworkingProcess.
beidson@apple.com [Wed, 8 Jul 2015 22:53:41 +0000 (22:53 +0000)]
Move PingLoaders to the NetworkingProcess.
<rdar://problem/18860263> and https://bugs.webkit.org/show_bug.cgi?id=146710

Reviewed by Tim Horton.

Source/WebCore:

No new tests.
There's no current solution for communicating back to a page that a ping load has reached its target.
Until we have such a solution, any attempt at a layout test will be fragile at best.

* WebCore.xcodeproj/project.pbxproj:

* loader/LoaderStrategy.cpp:
(WebCore::LoaderStrategy::createPingHandle): Default implementation is create the PingHandle directly.
* loader/LoaderStrategy.h:

PingLoader becomes a static class for now that crafts the ResourceRequest then passes it off
to the LoaderStrategy:
* loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::sendViolationReport):
(WebCore::PingLoader::startPingLoad):
(WebCore::PingLoader::createPingLoader): Deleted.
(WebCore::PingLoader::PingLoader): Deleted.
(WebCore::PingLoader::~PingLoader): Deleted.
* loader/PingLoader.h:
(WebCore::PingLoader::timeoutTimerFired): Deleted.

PingHandle does what PingLoader used to - It's a basic ResourceHandleClient that simply waits
for any response/completion/failure and then deletes itself.
* platform/network/PingHandle.h: Added.
(WebCore::PingHandle::PingHandle):
(WebCore::PingHandle::usesAsyncCallbacks):
(WebCore::PingHandle::timeoutTimerFired):
(WebCore::PingHandle::~PingHandle):

Source/WebKit2:

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::loadPing): Create a PingHandle and then return.
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:

* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::createPingHandle): If the Network process is enabled,
  compile the appropriate load parameters and then message to it.
  Otherwise, use the default in-process PingHandle.
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:

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

4 years agoAdd new sources to StyleAllInOne.cpp
bfulgham@apple.com [Wed, 8 Jul 2015 21:38:10 +0000 (21:38 +0000)]
Add new sources to StyleAllInOne.cpp
https://bugs.webkit.org/show_bug.cgi?id=146584

Patch by Csaba Osztrogonác <ossy@webkit.org> on 2015-07-08
Reviewed by Brent Fulgham.

* WebCore.vcxproj/WebCore.vcxproj:
* rendering/style/StyleAllInOne.cpp:

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

4 years agoOnly support image previews for clients that implement commitPreviewedImageWithURL
bdakin@apple.com [Wed, 8 Jul 2015 21:15:01 +0000 (21:15 +0000)]
Only support image previews for clients that implement commitPreviewedImageWithURL
delegate
https://bugs.webkit.org/show_bug.cgi?id=146739
-and corresponding-
rdar://problem/21692929

Reviewed by Tim Horton.

We should only support image previews for clients that implement
commitPreviewedImageWithURL delegate since there is no default commit action.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView previewViewControllerForPosition:inSourceView:]):

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

4 years agoAdd new sources to DOMAllInOne.cpp
bfulgham@apple.com [Wed, 8 Jul 2015 21:11:04 +0000 (21:11 +0000)]
Add new sources to DOMAllInOne.cpp
https://bugs.webkit.org/show_bug.cgi?id=146587

Patch by Csaba Osztrogonác <ossy@webkit.org> on 2015-07-08
Reviewed by Brent Fulgham.

* WebCore.vcxproj/WebCore.vcxproj:
* dom/DOMAllInOne.cpp:

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

4 years agoAdd new sources to AccessibilityAllInOne.cpp
bfulgham@apple.com [Wed, 8 Jul 2015 20:49:55 +0000 (20:49 +0000)]
Add new sources to AccessibilityAllInOne.cpp
https://bugs.webkit.org/show_bug.cgi?id=146582

Patch by Csaba Osztrogonác <ossy@webkit.org> on 2015-07-08
Reviewed by Brent Fulgham.

* WebCore.vcxproj/WebCore.vcxproj:
* accessibility/AccessibilityAllInOne.cpp:

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

4 years agoWeb Inspector: Clicking style checkbox selects the property name while mouse down
drousso@apple.com [Wed, 8 Jul 2015 20:40:24 +0000 (20:40 +0000)]
Web Inspector: Clicking style checkbox selects the property name while mouse down
https://bugs.webkit.org/show_bug.cgi?id=146728

Reviewed by Timothy Hatcher.

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown):
Now returns if the click was not at the end of the line.

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

4 years agoMake ApplicationStateTracker be per view instead of being a singleton
andersca@apple.com [Wed, 8 Jul 2015 20:36:09 +0000 (20:36 +0000)]
Make ApplicationStateTracker be per view instead of being a singleton
https://bugs.webkit.org/show_bug.cgi?id=146737

Reviewed by Andreas Kling.

* UIProcess/ApplicationStateTracker.h:
Update to be per view instead of a singleton.

* UIProcess/ApplicationStateTracker.mm:
(WebKit::ApplicationStateTracker::ApplicationStateTracker):
Change to take a view + selectors.

(WebKit::ApplicationStateTracker::~ApplicationStateTracker):
Invalidate the state monitor and remove the listeners.

(WebKit::ApplicationStateTracker::applicationDidEnterBackground):
Just call the single background method.

(WebKit::ApplicationStateTracker::applicationWillEnterForeground):
Just call the single foreground method.

(WebKit::ApplicationStateTracker::singleton): Deleted.
(WebKit::ApplicationStateTracker::addListener): Deleted.
(WebKit::ApplicationStateTracker::invokeListeners): Deleted.
(WebKit::ApplicationStateTracker::pruneListeners): Deleted.

* UIProcess/ios/WKContentView.mm:
(-[WKContentView _commonInitializationWithProcessPool:configuration:]):
Create the ApplicationStateTracker here.

(-[WKContentView isBackground]):
Get the ivar instead of the singleton.

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

4 years agoInteractionInformationAtPosition bounds seem wrong on many sites, affects
bdakin@apple.com [Wed, 8 Jul 2015 20:20:09 +0000 (20:20 +0000)]
InteractionInformationAtPosition bounds seem wrong on many sites, affects
apple.com
https://bugs.webkit.org/show_bug.cgi?id=146736
-and corresponding-
rdar://problem/21655549

Reviewed by Tim Horton.

http://trac.webkit.org/changeset/186132/ changed the bounds for
InteractionInformationAtPosition. The image-related changes are good, but the
link-related changes feel wrong on many sites. We should revert the change for now
and just use the absoluteBoundingBoxRect() for non-images.
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):

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

4 years agoREGRESSION (r185629): Web Inspector: Filtering doesn't display any items if folders...
timothy@apple.com [Wed, 8 Jul 2015 19:27:46 +0000 (19:27 +0000)]
REGRESSION (r185629): Web Inspector: Filtering doesn't display any items if folders are used to organize the web page resources
https://bugs.webkit.org/show_bug.cgi?id=146675

Reviewed by Joseph Pecoraro.

* UserInterface/Views/TreeOutline.js:
(WebInspector.TreeElement.prototype.revealed): Added ignoreHidden parameter.
(WebInspector.TreeElement.prototype.traverseNextTreeElement.shouldSkip): Pass true to ignore hidden elements.
(WebInspector.TreeElement.prototype.traverseNextTreeElement): Populate up front like the old traverseNextTreeElement.
This is needed to traverse into lazy populated tree elements. Don't call shouldSkip in the loop.
(WebInspector.TreeElement.prototype.traversePreviousTreeElement.shouldSkip): Pass true to ignore hidden elements.
(WebInspector.TreeElement.prototype.traversePreviousTreeElement): Add some newlines.

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

4 years ago[Mac] Two clicks required to enable AirPlay at youtube.com
eric.carlson@apple.com [Wed, 8 Jul 2015 18:54:34 +0000 (18:54 +0000)]
[Mac] Two clicks required to enable AirPlay at youtube.com
https://bugs.webkit.org/show_bug.cgi?id=146733
<rdar://problem/21556356>

Reviewed by Brent Fulgham.

* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::clientStateDidChange): Only log when state has changed.
  Don't steal the route if another client is actively playing to the device.
(WebCore::WebMediaSessionManager::setPlaybackTarget): Set m_targetChanged.
(WebCore::WebMediaSessionManager::configurePlaybackTargetClients): Don't consider the
  requestedPicker flag until after a target change.
* Modules/mediasession/WebMediaSessionManager.h:

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::webkitShowPlaybackTargetPicker): Add logging.
(WebCore::HTMLMediaElement::setShouldPlayToPlaybackTarget): Ditto.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget): Always log.

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

4 years agohttp/tests/xmlviewer/dumpAsText/svg.xml contains a typo that breaks the test with...
ddkilzer@apple.com [Wed, 8 Jul 2015 18:52:31 +0000 (18:52 +0000)]
http/tests/xmlviewer/dumpAsText/svg.xml contains a typo that breaks the test with libxml2 v2.9.2

* http/tests/xmlviewer/dumpAsText/svg.xml: Add missing space to
<svg:svg> tag make this test work with libxml2 v2.9.2.

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

4 years agoWeb Inspector: Pressing delete in the styles sidebar with no text causes text to...
drousso@apple.com [Wed, 8 Jul 2015 18:36:18 +0000 (18:36 +0000)]
Web Inspector: Pressing delete in the styles sidebar with no text causes text to become misaligned
https://bugs.webkit.org/show_bug.cgi?id=146715

Reviewed by Timothy Hatcher.

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleBeforeChange):
Now returns if the change was in the first character of the first line.

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

4 years agoAdd actions to image previews
bdakin@apple.com [Wed, 8 Jul 2015 17:58:35 +0000 (17:58 +0000)]
Add actions to image previews
https://bugs.webkit.org/show_bug.cgi?id=146702
-and corresponding-
<rdar://problem/21642654>

Reviewed by Sam Weinig.

Add an array of actions and _WKActivatedElementInfo in order to properly invoke
the actions.
* UIProcess/WKImagePreviewViewController.h:
* UIProcess/WKImagePreviewViewController.mm:
(-[WKImagePreviewViewController loadView]):
(-[WKImagePreviewViewController initWithCGImage:defaultActions:elementInfo:]):
(_scaleSizeWithinSize):
(-[WKImagePreviewViewController initWithCGImage:]): Deleted.

Re-factor defaultActionsForImageSheet into a stand-alone function so that it can
be invoked for previews as well as for the action sheet.
* UIProcess/ios/WKActionSheetAssistant.h:
* UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant defaultActionsForLinkSheet]):
(-[WKActionSheetAssistant defaultActionsForImageSheet]):
(-[WKActionSheetAssistant showLinkSheet]):

WKImagePreviewViewController initializer now takes the default actions and
_WKActivatedElementInfo.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView previewViewControllerForPosition:inSourceView:]):

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

4 years ago<rdar://problem/21669397> [iOS] Keyboard shortcuts that take focus away from the...
mitz@apple.com [Wed, 8 Jul 2015 17:48:52 +0000 (17:48 +0000)]
<rdar://problem/21669397> [iOS] Keyboard shortcuts that take focus away from the web view end up typing a letter into the newly focused field
https://bugs.webkit.org/show_bug.cgi?id=146732

Reviewed by Sam Weinig.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _interpretKeyEvent:isCharEvent:]): Bail out if we are no longer the first
responder.

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

4 years ago[GTK] Unreviewed GTK gardening after r186500.
clopez@igalia.com [Wed, 8 Jul 2015 17:31:22 +0000 (17:31 +0000)]
[GTK] Unreviewed GTK gardening after r186500.

* platform/gtk/TestExpectations: Mark new failures and remove new passes
that were affected by the update of libraries inside the JHBuild.
* platform/gtk/fast/css/input-search-padding-expected.png: Rebaseline test.
* platform/gtk/fast/css/input-search-padding-expected.txt: Rebaseline test.

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

4 years agoAlways begin a background task when needed, not just when we go into the background
andersca@apple.com [Wed, 8 Jul 2015 17:24:01 +0000 (17:24 +0000)]
Always begin a background task when needed, not just when we go into the background
https://bugs.webkit.org/show_bug.cgi?id=146704

Reviewed by Gavin Barraclough.

The system let background code run for the same amount of time regardless of whether the assertion was grabbed
when the app is in the foreground or being backgrounded, so remove the background/foreground tracking code.

* UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
(-[WKProcessAssertionBackgroundTaskManager init]): Deleted.
(-[WKProcessAssertionBackgroundTaskManager _applicationWillEnterForeground]): Deleted.
(-[WKProcessAssertionBackgroundTaskManager _applicationDidEnterBackground]): Deleted.

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

4 years agoNetwork Cache: Don't open files in main thread
antti@apple.com [Wed, 8 Jul 2015 17:18:03 +0000 (17:18 +0000)]
Network Cache: Don't open files in main thread
https://bugs.webkit.org/show_bug.cgi?id=146722

Follow-up.

* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::dispatchReadOperation):

    Accessing m_bodyFilter is technically not thread safe so keep it in main thread.

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

4 years agoNetwork Cache: Don't open files in main thread
antti@apple.com [Wed, 8 Jul 2015 17:02:54 +0000 (17:02 +0000)]
Network Cache: Don't open files in main thread
https://bugs.webkit.org/show_bug.cgi?id=146722

Reviewed by Chris Dumez.

While we use open() with O_NONBLOCK profiling indicates that we still may block up to 5ms under the syscall in some case.

* NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::dispatchReadOperation):

    Dispatch read operation to a concurrent queue.
    With this we can also eliminate the separate dispatch() for body blob read.

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

4 years agoDo not waste window server memory for placeholder windows initiated by ThemeMac.
zalan@apple.com [Wed, 8 Jul 2015 16:48:28 +0000 (16:48 +0000)]
Do not waste window server memory for placeholder windows initiated by ThemeMac.
https://bugs.webkit.org/show_bug.cgi?id=146730
rdar://problem/20321222

Using defer:YES prevents us from wasting any window server resources for WebCoreThemeWindow(s).

Patch by Darin Adler.
Reviewed by Zalan Bujtas.

Not testable.

* platform/mac/ThemeMac.mm:
(-[WebCoreThemeView window]):

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

4 years agohttp/tests/security/XFrameOptions/x-frame-options-{cached,deny-delete-frame-in-load...
ddkilzer@apple.com [Wed, 8 Jul 2015 15:55:49 +0000 (15:55 +0000)]
http/tests/security/XFrameOptions/x-frame-options-{cached,deny-delete-frame-in-load-event}.html crash on Windows Debug bots

<http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=http%2Ftests%2Fsecurity%2FXFrameOptions%2Fx-frame-options-cached.html>
<http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=http%2Ftests%2Fsecurity%2FXFrameOptions%2Fx-frame-options-deny-delete-frame-in-load-event.html>

* platform/win/TestExpectations: Mark tests as crashing:
- http/tests/security/XFrameOptions/x-frame-options-cached.html
- http/tests/security/XFrameOptions/x-frame-options-deny-delete-frame-in-load-event.html

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

4 years ago[GTK] [Wayland] Allow building and testing the Wayland target with the default JHBuil...
clopez@igalia.com [Wed, 8 Jul 2015 14:00:31 +0000 (14:00 +0000)]
[GTK] [Wayland] Allow building and testing the Wayland target with the default JHBuild moduleset.
https://bugs.webkit.org/show_bug.cgi?id=146056

Reviewed by Martin Robinson.

* gtk/install-dependencies: libepoxy is now required for building GTK+.
* gtk/jhbuild-wayland.modules: Removed. Not longer needed.
* gtk/jhbuild.modules: Upgrade GTK+ (3.16.4) and required dependencies for building:
Cairo (1.14.2), Gdk-Pixbuf (2.30.8) and GLib (2.44.1).
* gtk/patches/cairo-1.12.8-add_disable-lto.patch: Removed. Not longer needed.
Cairo removed support for LTO on (1.14). Upstream commit: c7ff9bb.
* gtk/patches/gtk-3.6-do-not-shutdown-accessibility.patch: Removed. Not longer needed.
GTK+ merged this patch on GTK+-3.10. Upstream commit: 8d83d98.

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

4 years ago[GTK] Unreviewed GTK gardening.
clopez@igalia.com [Wed, 8 Jul 2015 13:43:25 +0000 (13:43 +0000)]
[GTK] Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Report and mark new failing tests.
* platform/gtk/editing/pasteboard/onpaste-text-html-expected.txt: Rebaseline after r186191.
* platform/gtk/fast/forms/auto-fill-button/input-auto-fill-button-expected.txt: Added. Rebaseline after r185166.
* platform/gtk/fast/images/gif-loop-count-expected.png: Removed. Remove unneded expected image result after 185310.
* platform/gtk/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Rebaseline after r185533.
* platform/gtk/media/media-controls-clone-expected.png: Rebaseline after r184932.
* platform/gtk/media/media-controls-clone-expected.txt: Rebaseline after r184932.
* platform/gtk/media/video-controls-rendering-expected.png: Rebaseline after r184932.
* platform/gtk/media/video-controls-rendering-expected.txt: Rebaseline after r184932.

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

4 years ago[GTK] Deactivate GObject bindings for static methods
calvaris@igalia.com [Wed, 8 Jul 2015 10:34:41 +0000 (10:34 +0000)]
[GTK] Deactivate GObject bindings for static methods
https://bugs.webkit.org/show_bug.cgi?id=146717

Reviewed by Carlos Garcia Campos.

Static methods are currently not supported by GObject bindings so we deactivate them from the generation.

Current tests suffice. Expectations updated.

* bindings/scripts/CodeGeneratorGObject.pm:
(SkipFunction): Skip isStatic functions.
* bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
(webkit_dom_test_interface_implements_method4): Deleted.
(webkit_dom_test_interface_supplemental_method4): Deleted.
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_class_method): Deleted.
(webkit_dom_test_obj_class_method_with_optional): Deleted.
(webkit_dom_test_obj_overloaded_method1): Deleted.

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

4 years ago[Unix] Remove unused local variable from Connection::sendOutgoingMessage().
commit-queue@webkit.org [Wed, 8 Jul 2015 10:28:23 +0000 (10:28 +0000)]
[Unix] Remove unused local variable from Connection::sendOutgoingMessage().
https://bugs.webkit.org/show_bug.cgi?id=146713

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-07-08
Reviewed by Csaba Osztrogonác.

* Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::sendOutgoingMessage):

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

4 years agoWeb Inspector: Use "hairline" borders on retina screen
nvasilyev@apple.com [Wed, 8 Jul 2015 06:27:07 +0000 (06:27 +0000)]
Web Inspector: Use "hairline" borders on retina screen
https://bugs.webkit.org/show_bug.cgi?id=146619

Reviewed by Timothy Hatcher.

* UserInterface/Views/CSSStyleDeclarationSection.css:
(.style-declaration-section):
(.style-declaration-section.locked):
(.style-declaration-section:not(.locked)):
(.style-declaration-section.last-in-group):
(.style-declaration-section + .style-declaration-section):
(.style-declaration-section.last-in-group + .style-declaration-section):
(@media (-webkit-min-device-pixel-ratio: 2)):
* UserInterface/Views/DetailsSection.css:
(.details-section .details-section):
(.details-section > .content > .group:nth-child(even)):
(@media (-webkit-min-device-pixel-ratio: 2)):
* UserInterface/Views/DividerNavigationItem.css:
(@media (-webkit-min-device-pixel-ratio: 2)):
* UserInterface/Views/RulesStyleDetailsPanel.css:
(.sidebar > .panel.details.css-style .rules .label + .style-declaration-section):
(.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label):
(.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section):
(.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .label):
(@media (-webkit-min-device-pixel-ratio: 2)):

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

4 years agoRemove the overflow checks from the important vectors used by the content extensions...
benjamin@webkit.org [Wed, 8 Jul 2015 05:44:42 +0000 (05:44 +0000)]
Remove the overflow checks from the important vectors used by the content extensions machines
https://bugs.webkit.org/show_bug.cgi?id=146703

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-07-07
Reviewed by Andreas Kling.

Most of the overflow checks cannot be eliminated by clang. Removing them
explicitly removes 400 ms from the compile time of a very large test list.

* contentextensions/ContentExtensionsDebugging.h:
* contentextensions/DFA.h:
* contentextensions/DFACombiner.cpp:
* contentextensions/DFAMinimizer.cpp:
* contentextensions/ImmutableNFA.h:
* contentextensions/MutableRangeList.h:
* contentextensions/NFAToDFA.cpp:
(WebCore::ContentExtensions::epsilonClosureExcludingSelf):
(WebCore::ContentExtensions::resolveEpsilonClosures):
(WebCore::ContentExtensions::extendSetWithClosure):
(WebCore::ContentExtensions::DataConverterWithEpsilonClosure::convert):
(WebCore::ContentExtensions::DataConverterWithEpsilonClosure::extend):
(WebCore::ContentExtensions::createCombinedTransition):
(WebCore::ContentExtensions::getOrCreateDFANode):
(WebCore::ContentExtensions::NFAToDFA::convert):

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

4 years agoWeb Inspector: Pressing tab on a comment in the styles sidebar doesn't highlight...
drousso@apple.com [Wed, 8 Jul 2015 05:27:17 +0000 (05:27 +0000)]
Web Inspector: Pressing tab on a comment in the styles sidebar doesn't highlight the comment
https://bugs.webkit.org/show_bug.cgi?id=146709

Reviewed by Timothy Hatcher.

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype.selectFirstProperty):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.selectLastProperty):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._textAtCursorIsComment):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._insertNewlineAfterCurrentLine):
Determines if the text at the given cursor position in the given line is a comment.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):

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

4 years agoWeb Inspector: spacebar should pause/resume timeline recording when timelines are...
drousso@apple.com [Wed, 8 Jul 2015 05:24:35 +0000 (05:24 +0000)]
Web Inspector: spacebar should pause/resume timeline recording when timelines are open
https://bugs.webkit.org/show_bug.cgi?id=143267

Reviewed by Timothy Hatcher.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineSidebarPanel): Added two new keyboard shortcuts: space and shift-space.
(WebInspector.TimelineSidebarPanel.prototype.shown): Enables the keyboard shortcuts.
(WebInspector.TimelineSidebarPanel.prototype.hidden): Disables the keyboard shortcuts.
(WebInspector.TimelineSidebarPanel.prototype._toggleRecordingOnSpacebar):
(WebInspector.TimelineSidebarPanel.prototype._toggleNewRecordingOnSpacebar):
(WebInspector.TimelineSidebarPanel.prototype._toggleRecording): Starts/stops recording.

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

4 years agoWeb Inspector: Improve names for unprefixed animation events
commit-queue@webkit.org [Wed, 8 Jul 2015 05:23:46 +0000 (05:23 +0000)]
Web Inspector: Improve names for unprefixed animation events
https://bugs.webkit.org/show_bug.cgi?id=146708

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

* UserInterface/Models/ScriptTimelineRecord.js:

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

4 years ago[iOS] MediaControls: Start Play and Can't Play buttons need to be cutout and blurred
dino@apple.com [Wed, 8 Jul 2015 02:19:45 +0000 (02:19 +0000)]
[iOS] MediaControls: Start Play and Can't Play buttons need to be cutout and blurred
https://bugs.webkit.org/show_bug.cgi?id=146226

Reviewed by Simon Fraser.

This patch takes what Said Abou-Hallawa posted in an earlier revision and
makes a few tweaks to workaround the bugs he's listed.

Replicate the iOS System blur backdrop in pure CSS, so that the large
start button looks more correct. Also add artwork for a failure state.

* Modules/mediacontrols/mediaControlsiOS.css: New style rules for the start
button, which now is a collection of elements rather than a <button>.
(video::-webkit-media-controls-start-playback-button):
(video::-webkit-media-controls-start-playback-background):
(video::-webkit-media-controls-start-playback-tint):

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.createBase): Replace the <button> with the hierarchy of
elements to replicate the blur. Give some of them a class attribute, so they
can match selectors (see the bugs Said filed in the original bugzilla).
(ControllerIOS.prototype.handleStartPlaybackButtonTouchStart): Toggle classes on
the hierarchy as needed.
(ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd): Ditto.
(ControllerIOS.prototype.updateStatusDisplay): Ditto.

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

4 years agoCrash when parent iframe is set to display none and the child frame is mutated the...
zalan@apple.com [Wed, 8 Jul 2015 01:53:42 +0000 (01:53 +0000)]
Crash when parent iframe is set to display none and the child frame is mutated the same time.
https://bugs.webkit.org/show_bug.cgi?id=146699
rdar://problem/16207881

Reviewed by Andreas Kling.

When the parent iframe is set to display: none, we destroy the associated renderer (RenderIFrame).
However if the child frame is mutated the same time, during layout we try to access this RenderIFrame
to check whether it needs frame flattening.
This patch checks whether the parent render widget is still valid.

Source/WebCore:

Test: fast/frames/crash-display-none-iframe-during-onbeforeload.html

* page/FrameView.cpp:
(WebCore::FrameView::isInChildFrameWithFrameFlattening): rearrange early returns.

LayoutTests:

* fast/frames/crash-display-none-iframe-during-onbeforeload-expected.txt: Added.
* fast/frames/crash-display-none-iframe-during-onbeforeload.html: Added.
* fast/frames/resources/displaynone-this-during-object-beforeload.html: Added.

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

4 years agoOccasional null deref in the CA callback in flushLayers()
timothy_horton@apple.com [Tue, 7 Jul 2015 23:54:11 +0000 (23:54 +0000)]
Occasional null deref in the CA callback in flushLayers()
https://bugs.webkit.org/show_bug.cgi?id=146700
<rdar://problem/21668754>

Reviewed by Simon Fraser.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
Make sure we keep the WebPage alive, and null-check the potentially null
WebCore objects (Page and Frame).

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

4 years agoMedia Session: propagate metadata changes to UI clients
mrajca@apple.com [Tue, 7 Jul 2015 23:52:29 +0000 (23:52 +0000)]
Media Session: propagate metadata changes to UI clients
https://bugs.webkit.org/show_bug.cgi?id=146660

Reviewed by Tim Horton.

* CMakeLists.txt: Added WebMediaSessionMetadata and WKMediaSessionMetadata.
* Shared/API/APIObject.h: Added a media session metadata type.
* Shared/API/c/WKBase.h:
* Shared/WebMediaSessionMetadata.cpp: Added API adapter for WebCore::MediaSessionMetadata.
(WebKit::WebMediaSessionMetadata::create):
(WebKit::WebMediaSessionMetadata::WebMediaSessionMetadata):
(WebKit::WebMediaSessionMetadata::~WebMediaSessionMetadata):
* Shared/WebMediaSessionMetadata.h: Added API adapter for WebCore::MediaSessionMetadata.
(WebKit::WebMediaSessionMetadata::title):
(WebKit::WebMediaSessionMetadata::artist):
(WebKit::WebMediaSessionMetadata::album):
* UIProcess/API/APIUIClient.h: Added 'mediaSessionMetadataDidChange' interface.
(API::UIClient::mediaSessionMetadataDidChange):
* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/WKMediaSessionMetadata.cpp: Added C wrapper for WebMediaSessionMetadata.
(WKMediaSessionMetadataGetTypeID):
(WKMediaSessionMetadataCopyTitle):
(WKMediaSessionMetadataCopyArtist):
(WKMediaSessionMetadataCopyAlbum):
* UIProcess/API/C/WKMediaSessionMetadata.h: Added C wrapper for WebMediaSessionMetadata.
* UIProcess/API/C/WKPage.cpp: Forward 'mediaSessionMetadataDidChange' to client.
(WKPageSetPageUIClient):
* UIProcess/API/C/WKPageUIClient.h: Added 'mediaSessionMetadataDidChange' callback.
* UIProcess/WebPageProxy.cpp: Forward 'mediaSessionMetadataDidChange' to UI client.
(WebKit::WebPageProxy::mediaSessionMetadataDidChange):
* WebKit2.xcodeproj/project.pbxproj: Added WebMediaSessionMetadata and WKMediaSessionMetadata.

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

4 years ago[Win] Unreviewed test skip after r186476.
bfulgham@apple.com [Tue, 7 Jul 2015 23:25:55 +0000 (23:25 +0000)]
[Win] Unreviewed test skip after r186476.

* platform/win/TestExpectations:

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

4 years agoMedia Session: remove seek forward/backward attributes
mrajca@apple.com [Tue, 7 Jul 2015 23:00:41 +0000 (23:00 +0000)]
Media Session: remove seek forward/backward attributes
https://bugs.webkit.org/show_bug.cgi?id=146645

Reviewed by Eric Carlson.

* Modules/mediasession/MediaRemoteControls.h:
* Modules/mediasession/MediaRemoteControls.idl:

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

4 years agoWeb Inspector: Timeline record bars are not white when the row is selected from the...
timothy@apple.com [Tue, 7 Jul 2015 22:57:01 +0000 (22:57 +0000)]
Web Inspector: Timeline record bars are not white when the row is selected from the sidebar
https://bugs.webkit.org/show_bug.cgi?id=146694

Reviewed by Joseph Pecoraro.

* UserInterface/Views/TimelineRecordBar.css:
(:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment):
(:matches(:focus, .force-focus) .selected .timeline-record-bar > .segment.inactive):
(:matches(:focus, .force-focus) .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):

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