Work around bug in Silverlight
https://bugs.webkit.org/show_bug.cgi?id=133004

Reviewed by Anders Carlsson.

* PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
(WebKit::PluginProcessMainDelegate::doPreInitializationWork): Add low-resolution flag
to user defaults prior to NSApplication invocation. This code was moved from
PluginProcess::platformInitializeProcess.
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializeProcess): Move low-resolution flag
setting to PluginProcessMainDelegate.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168976 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Link search area for touch events is too large in some cases
https://bugs.webkit.org/show_bug.cgi?id=132988
<rdar://problem/16917843>

Reviewed by Simon Fraser.

* page/ios/FrameIOS.mm:
(WebCore::Frame::qualifyingNodeAtViewportLocation):
        
    - Adjust the search area to screen ppi.
    - Remove cut-off at scale 1. This made us pick physically far-away elements when zoomed in.
            
* platform/PlatformScreen.h:
* platform/ios/PlatformScreenIOS.mm:
(WebCore::mobileGestaltFloatValue):
(WebCore::screenPPIFactor):

    Figure out screens physical PPI relative to a base.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168977 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove "region-based columns" prefs
https://bugs.webkit.org/show_bug.cgi?id=133006
<rdar://problem/16945824>

Reviewed by Dave Hyatt.

Remove "region-based columns" prefs and related code, since this is only
way to render columns now.

Source/WebCore:
* page/Settings.in:

Source/WebKit/mac:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setRegionBasedColumnsEnabled:]): Deleted.
(-[WebPreferences regionBasedColumnsEnabled]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:
* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetRegionBasedColumnsEnabled): Deleted.
(WKPreferencesGetRegionBasedColumnsEnabled): Deleted.
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] naturalSize not updated when preload=metadata
https://bugs.webkit.org/show_bug.cgi?id=132994

Reviewed by Eric Carlson.

Source/WebCore:
Test: media/video-load-preload-metadata-naturalsize.html

When preload=metadata, we never create an AVPlayerItem, and therefore never receive a
presentationSize KVO. When an AVAsset informs us that its tracks have changed, and there
is no AVPlayerItem, recalculate presentation size based on the first video track's natural
size.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):

LayoutTests:
* media/video-load-preload-metadata-naturalsize-expected.txt: Added.
* media/video-load-preload-metadata-naturalsize.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168979 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] ScrollView::visibleContentRectInternal is bypassing the iOS code for unobscuredContentRect
https://bugs.webkit.org/show_bug.cgi?id=133008

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

* platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRectInternal):
ScrollView::visibleContentRectInternal() was calling the internal implementation of visibleContentRect().
That was skipping the iOS implementation and getting the framerect directly. That size is invalid on iOS
when the exposed rect and unobscured rect are not the same.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168980 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS][WK2] On dynamic resize, the content offset is contrained to the old content size
https://bugs.webkit.org/show_bug.cgi?id=132972

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

When we set the content offset, UIScrollView limits the value to the current valid range for
content size. Since the content size was only updated after the animation, when the first frame
comes in, the content offset would sometimes be limited to a smaller rect that the actual content.

To fix this, set the expected future content size before changing the offset.

During the animation, the content size could have changed arbitrarily. At the end of the animation,
we take the actual frame and set the definite content size.
Any update after that will be regular updates through didCommitLayer. 

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168981 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS][WK2] Add a heuristic to set the right horizontal offset on rotation for responsive websites
https://bugs.webkit.org/show_bug.cgi?id=132937
<rdar://problem/16710097>

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

When responsive websites have the content size lay out larger than the minimal layout size,
we should not keep the relative horizontal position into view,
many of those websites have all the content on the left.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dynamicViewportSizeUpdate):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@168982 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash in JSC::Yarr::YarrGenerator<(JSC::Yarr::YarrJITCompileMode)0>::generatePatternCharacterFixed() due to WTF::CrashOnOverflow::overflowed + 9
https://bugs.webkit.org/show_bug.cgi?id=133009

Reviewed by Oliver Hunt.

If we determine that any alternative requires a minumum match size greater than
INT_MAX, we handle the match in the interpreter.

Check to see if the pattern has unsigned lengths before invoking YARR JIT.
* runtime/RegExp.cpp:
(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):

* tests/stress/large-regexp.js: New test added.

Set m_containsUnsignedLengthPattern flag if any alternative's minimum length
doesn't fit in an int.
* yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPatternConstructor::setupDisjunctionOffsets):

Clear new m_containsUnsignedLengthPattern flag.
* yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPattern::YarrPattern):
* yarr/YarrPattern.h:
(JSC::Yarr::YarrPattern::reset):
(JSC::Yarr::YarrPattern::containsUnsignedLengthPattern):


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