WebKit-https.git
5 years ago[WK2][GTK] Buildfix after r168999.
ossy@webkit.org [Sun, 18 May 2014 07:57:27 +0000 (07:57 +0000)]
[WK2][GTK] Buildfix after r168999.

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-18
Reviewed by Csaba Osztrogonác.

* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory): Renamed from WebKit::WebContext::platformDefaultDatabaseDirectory().
(WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): Added.

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

5 years ago[WK2][EFL] Buildfix after r168999.
ossy@webkit.org [Sun, 18 May 2014 07:52:55 +0000 (07:52 +0000)]
[WK2][EFL] Buildfix after r168999.

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-18
Reviewed by Csaba Osztrogonác.

* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory): Renamed from WebKit::WebContext::platformDefaultDatabaseDirectory().
(WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): Added.

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

5 years ago[WK2][cmake] Buildfix after r168994.
ossy@webkit.org [Sun, 18 May 2014 07:43:40 +0000 (07:43 +0000)]
[WK2][cmake] Buildfix after r168994.

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-18
Reviewed by Csaba Osztrogonác.

* CMakeLists.txt: Added new files to the build system introduced in r168994.

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

5 years agoDon't attempt to update id or name for nodes that are already removed
mjs@apple.com [Sun, 18 May 2014 06:11:24 +0000 (06:11 +0000)]
Don't attempt to update id or name for nodes that are already removed
https://bugs.webkit.org/show_bug.cgi?id=133041

Reviewed by Sam Weinig.

Source/WebCore:

Tests: fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved.html
       fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved.html

* dom/Element.cpp:
(WebCore::Element::removedFrom): Skip updating ids and names for an element not
in a treescope, as we already do for elements not in a document.

LayoutTests:

Test originally by Dan Bates.

* fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved-expected.txt: Added.
* fast/dom/remove-element-with-id-that-was-inserted-on-DOMNodeRemoved.html: Added.
* fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved-expected.txt: Added.
* fast/dom/remove-element-with-name-that-was-inserted-on-DOMNodeRemoved.html: Added.

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

5 years agoREGRESSION (NetworkProcess): Trying to use appcache fallback crashes in ApplicationCa...
ap@apple.com [Sun, 18 May 2014 05:29:36 +0000 (05:29 +0000)]
REGRESSION (NetworkProcess): Trying to use appcache fallback crashes in ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
https://bugs.webkit.org/show_bug.cgi?id=133007
<rdar://problem/13702706>

appcache tests often fail on the Mac WebKit2 bot
https://bugs.webkit.org/show_bug.cgi?id=82061

Reviewed by Maciej Stachowiak.

Source/WebCore:
Covered by existing tests, which this patch enables.

* WebCore.exp.in: Export ResourceLoader::cancel(const ResourceError&). It used
to be virtual, but marking subclasses final has resulted in the compiler calling
it directly from WebKitLegacy framework. Seeing that no subclass overrides it,
I then made it non-virtual.
Also export ApplicationCacheHost functions that are now used from WebKit2.

* loader/ResourceLoader.h: Made the class abstract (as I didn't realize at first
that it's always either a SubresourceLoader or a NetscapePlugInStreamLoader).
Made ResourceHandleClient functions private, as they should never be called other
than via a ResourceHandleClient pointer.

* loader/NetscapePlugInStreamLoader.h:
* loader/SubresourceLoader.h:
Marked these final.

* loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willSwitchToSubstituteResource):
Added a function to be called when switching to a substitute resource. We still
need a ResourceLoader at this point, as substitute resource will be delivered through
it, but we don't want it to continue its current load.

* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
Call the ResourceLoader function instead of using handle, which is null when
using out of process networking.

Source/WebKit2:
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
(WebKit::WebResourceLoader::didFailResourceLoad):
Perform the same appcache checks that ResourceHandleClient implementation in ResourceLoader
does. We should eventually come up with a way to share the code. Perhaps add a class that
isolates ResourceLoader from networking details? But ResourceLoader was itself supposed
to be the class that isolates DocumentLoader from networking details. So, unsure.

LayoutTests:
* platform/mac-wk2/TestExpectations: Let's enable all the appcache tests (except
for a couple that fail), and see what happens on bots. I don't see any reason
why WebKit2 would be any more flaky than WebKit1 here.

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

5 years agoWe shouldn't make a ScrollingThread on iOS.
akling@apple.com [Sun, 18 May 2014 02:05:24 +0000 (02:05 +0000)]
We shouldn't make a ScrollingThread on iOS.
<https://webkit.org/b/133038>
<rdar://problem/16947589>

Don't call ScrollingThred::dispatch() from the pressure relief
code on iOS since that will end up instantiating a scrolling thread
which we'd otherwise never have.

Reviewed by Sam Weinig.

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

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

5 years ago[EFL] Remove m_contentPosition from PageViewportControllerClientEfl
jaepark@webkit.org [Sun, 18 May 2014 01:43:49 +0000 (01:43 +0000)]
[EFL] Remove m_contentPosition from PageViewportControllerClientEfl
https://bugs.webkit.org/show_bug.cgi?id=132774

Reviewed by Anders Carlsson.

m_contentPosition is not used anywhere. So, this patch removes
m_contentPosition and reduces one unnecessary assignment in
setViewportPosition. Also, it renames contentsPoint to contentsPosition.

* UIProcess/PageViewportControllerClient.h:
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
* UIProcess/efl/PageViewportControllerClientEfl.h:

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

5 years agoSubpixel rendering: Add subpixelCSSOMElementMetricsEnabled to WK1 WebPreferences.
zalan@apple.com [Sun, 18 May 2014 00:40:15 +0000 (00:40 +0000)]
Subpixel rendering: Add subpixelCSSOMElementMetricsEnabled to WK1 WebPreferences.
https://bugs.webkit.org/show_bug.cgi?id=133029

Reviewed by Simon Fraser.

Source/WebKit/mac:
To match the WK2 preferences API.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences subpixelCSSOMElementMetricsEnabled]):
(-[WebPreferences setSubpixelCSSOMElementMetricsEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Tools:
Added a menu item to toggle subpixelCSSOMElementMetricsEnabled's value. However
toggling it on a WK2 window needs restart.
Adding dynamic toggle to WK2 requires a WebPreferences SPI. It's not worth cluttering
the WebPreferences just to support this temporary toggle.

* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/MainMenu.xib:
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController validateMenuItem:]):
(-[WK1BrowserWindowController isSubpixelCSSOMElementMetricsEnabled]):
(-[WK1BrowserWindowController toggleSubpixelCSSOMElementMetricsEnabled:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController isSubpixelCSSOMElementMetricsEnabled]):
(-[WK2BrowserWindowController toggleSubpixelCSSOMElementMetricsEnabled:]):

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

5 years agoNeed a way to get a WKPageRef from a WKWebView
ddkilzer@apple.com [Sun, 18 May 2014 00:38:39 +0000 (00:38 +0000)]
Need a way to get a WKPageRef from a WKWebView
<http://webkit.org/b/133015>

Reviewed by Benjamin Poulain.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _pageRef]): Added.
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
(-[WKWebView _pageRef]): Added declaration.

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

5 years agoGive user scripts custom URLs
andersca@apple.com [Sat, 17 May 2014 23:24:34 +0000 (23:24 +0000)]
Give user scripts custom URLs
https://bugs.webkit.org/show_bug.cgi?id=133035

Reviewed by Beth Dakin.

* UIProcess/API/Cocoa/WKUserContentController.mm:
(-[WKUserContentController addUserScript:]):
Create a user-script:<number> URL for user scripts.

* UIProcess/API/Cocoa/WKUserScript.h:
Move the init method after the properties.

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

5 years agoReplace WKContextSetDatabaseDirectory with two WKContextConfiguration parameters
andersca@apple.com [Sat, 17 May 2014 22:31:02 +0000 (22:31 +0000)]
Replace WKContextSetDatabaseDirectory with two WKContextConfiguration parameters
https://bugs.webkit.org/show_bug.cgi?id=133033
<rdar://problem/16830143>

Reviewed by Sam Weinig.

Source/WebKit2:
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
Rename databaseDirectory to webSQLDatabaseDirectory to better indicate the directory type.

* UIProcess/API/C/WKContext.cpp:
(WKContextSetDatabaseDirectory): Deleted.
This is no longer needed.

* UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationCopyIndexedDBDatabaseDirectory):
(WKContextConfigurationSetIndexedDBDatabaseDirectory):
(WKContextConfigurationCopyWebSQLDatabaseDirectory):
(WKContextConfigurationSetWebSQLDatabaseDirectory):
* UIProcess/API/C/WKContextConfigurationRef.h:
Add setters and getters.

* UIProcess/API/C/WKContextPrivate.h:
Remove WKContextSetDatabaseDirectory.

* UIProcess/APIContextConfiguration.cpp:
(API::ContextConfiguration::webContextConfiguration):
Set m_indexedDBDatabaseDirectory and m_webSQLDatabaseDirectory on the configuration.

* UIProcess/APIContextConfiguration.h:
(API::ContextConfiguration::indexedDBDatabaseDirectory):
(API::ContextConfiguration::setIndexedDBDatabaseDirectory):
(API::ContextConfiguration::webSQLDatabaseDirectory):
(API::ContextConfiguration::setWebSQLDatabaseDirectory):
Add getters and setters to the C++ part of WKContextConfigurationRef.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::applyPlatformSpecificConfigurationDefaults):
Set webSQLDatabaseDirectory and indexedDBDatabaseDirectory.

(WebKit::WebContext::WebContext):
Initialize m_webSQLDatabaseDirectory and m_indexedDBDatabaseDirectory.

(WebKit::WebContext::ensureDatabaseProcess):
Set parameters.indexedDatabaseDirectory from m_indexedDBDatabaseDirectory.

(WebKit::WebContext::createNewWebProcess):
Set parameters.webSQLDatabaseDirectory from m_webSQLDatabaseDirectory.

* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory):
Rename this to indicate that it's about WebSQL databases.

(WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory):
Add this.

* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::initialize):
Update for WebProcessCreationParameters rename.

* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Update for WebProcessCreationParameters rename.

Tools:
Set up the WebSQL and IndexedDB directories.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):

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

5 years ago[Phone Number Detection] drop-down menu in the phone number detection box doesn't...
bfulgham@apple.com [Sat, 17 May 2014 21:49:57 +0000 (21:49 +0000)]
[Phone Number Detection] drop-down menu in the phone number detection box doesn't appear.
https://bugs.webkit.org/show_bug.cgi?id=133024

Reviewed by Sam Weinig.

* WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:
(WebKit::TelephoneNumberOverlayController::drawRect): Don't clear the set of found phone numbers each
time we call drawRect. This gets called ~9 times per screen refresh, so end up with no active
phone numbers to interact with.

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

5 years agoNetworkProcess can repeatedly crash handling Blob messages after any unrelated crash
ap@apple.com [Sat, 17 May 2014 21:42:43 +0000 (21:42 +0000)]
NetworkProcess can repeatedly crash handling Blob messages after any unrelated crash
https://bugs.webkit.org/show_bug.cgi?id=133032
<rdar://problem/16951630>

Reviewed by Geoffrey Garen.

Replaced assertions with runtime checks. This can happen if NetworkProcess previously
crashed for any unrelated reason.

* NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::registerBlobURL):
(WebKit::NetworkBlobRegistry::registerBlobURLForSlice):
(WebKit::NetworkBlobRegistry::unregisterBlobURL):

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

5 years agoSetting playback rate on video with media controller is not ignored.
commit-queue@webkit.org [Sat, 17 May 2014 21:36:15 +0000 (21:36 +0000)]
Setting playback rate on video with media controller is not ignored.
https://bugs.webkit.org/show_bug.cgi?id=129048

Patch by Piotr Grad <p.grad@samsung.com> on 2014-05-17
Reviewed by Jer Noble.

Source/WebCore:
Replaced queries for m_playbackRate with effectivePlaybackRate()
which includes media controller playback rate.

Test: media/video-controller-child-rate.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLMediaElement.h:

LayoutTests:
* media/video-controller-child-rate-expected.txt: Added.
* media/video-controller-child-rate.html: Added.

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

5 years ago-[WKWebView dealloc] should close the page
andersca@apple.com [Sat, 17 May 2014 20:14:18 +0000 (20:14 +0000)]
-[WKWebView dealloc] should close the page
https://bugs.webkit.org/show_bug.cgi?id=133031
<rdar://problem/16929815>

Reviewed by Simon Fraser.

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

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

5 years agoExpose WKUserScript as API
andersca@apple.com [Sat, 17 May 2014 19:57:44 +0000 (19:57 +0000)]
Expose WKUserScript as API
https://bugs.webkit.org/show_bug.cgi?id=133017
<rdar://problem/16948059>

Reviewed by Sam Weinig.

Source/WebCore:
* WebCore.exp.in:
Export symbols.

* WebCore.xcodeproj/project.pbxproj:
Change UserContentController.h to be a private header.

* page/Page.cpp:
(WebCore::Page::Page):
Set m_userContentController from the page configuration and add it if it's not null.

* page/Page.h:
Add UserContentController to PageClients.

* page/PageGroup.cpp:
(WebCore::PageGroup::addPage):
Only try to add a user content controller if the page doesn't already have one.

(WebCore::PageGroup::removePage):
Only try to remove the user content controller if it's the group one.

Source/WebKit2:
* DerivedSources.make:
Add WebUserContentController.

* Shared/API/Cocoa/WebKit.h:
Add WKUserScript.h

* Shared/API/c/WKSharedAPICast.h:
(WebKit::toUserScriptInjectionTime):
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

* Shared/API/c/WKUserScriptInjectionTime.h:
Rename WKUserScriptInjectionTime to _WKUserScriptInjectionTime to free up the name for the Objective-C API

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
Encode the user content controller ID.

(WebKit::WebPageCreationParameters::decode):
Decode the user content controller ID.

* Shared/WebPageCreationParameters.h:
Add userContentControllerID.

* UIProcess/API/C/WKPageGroup.cpp:
(WKPageGroupAddUserScript):
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

* UIProcess/API/C/WKPageGroup.h:
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

* UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

* UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
(-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]):
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

* UIProcess/API/Cocoa/WKUserContentController.h:
Add new methods.

* UIProcess/API/Cocoa/WKUserContentController.mm:
(-[WKUserContentController init]):
Create the WebUserContentControllerProxy object and user scripts array.

(-[WKUserContentController userScripts]):
Return the user scripts array.

(toWebCoreUserScriptInjectionTime):
Helper for converting from a WKUserScriptInjectionTime enum to WebCore::UserScriptInjectionTime.

(-[WKUserContentController addUserScript:]):
Call through to the _userContentControllerProxy object.

(-[WKUserContentController removeAllUserScripts]):
Call through to the _userContentControllerProxy object.

* UIProcess/API/Cocoa/WKUserContentControllerInternal.h: Added.
Add WebUserContentControllerProxy ivar.

* UIProcess/API/Cocoa/WKUserScript.h: Added.
Add new header.

* UIProcess/API/Cocoa/WKUserScript.mm:
(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]):
Initialize the WKUserScript object.

(-[WKUserScript source]):
(-[WKUserScript injectionTime]):
(-[WKUserScript isForMainFrameOnly]):
Add getters.

(-[WKUserScript copyWithZone:]):
Since WKUserScript is immutable, just return a retained object.

* UIProcess/API/Cocoa/WKUserScriptInternal.h:
Add ivars.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
Set the user content controller from the configuration.

* UIProcess/UserContent/WebUserContentControllerProxy.cpp: Added.
(WebKit::generateIdentifier):
Return a unique identifier.

(WebKit::WebUserContentControllerProxy::create):
Return a new WebUserContentControllerProxy object.

(WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
Initialize m_identifier.

(WebKit::WebUserContentControllerProxy::~WebUserContentControllerProxy):
Add destructor.

(WebKit::WebUserContentControllerProxy::addProcess):
Add the process to the m_processes set. If it's the first time doing so, add the user scripts we know about.

(WebKit::WebUserContentControllerProxy::removeProcess):
Remove the process from m_processes.

(WebKit::WebUserContentControllerProxy::addUserScript):
Add the user script and let all the web processes know that it was added.

(WebKit::WebUserContentControllerProxy::removeAllUserScripts):
Remove all user scripts and tell all the web processes about it.

* UIProcess/UserContent/WebUserContentControllerProxy.h:
Add new class.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
If the process is already running, add it to the user content controller.

(WebKit::WebPageProxy::close):
If the process is running, remove it from the user content controller.

(WebKit::WebPageProxy::connectionWillOpen):
Add the process to the user content controller.

(WebKit::WebPageProxy::resetStateAfterProcessExited):
Remove the process from the user content controller.

(WebKit::WebPageProxy::creationParameters):
Pass along the user content controller ID when creating the web page.

* UIProcess/WebPageProxy.h:
Add a WebUserContentControllerProxy object to the web page configuration.

* WebKit2.xcodeproj/project.pbxproj:
Add new files.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
Update for WKUserScriptInjectionTime -> _WKUserScriptInjectionTime rename.

* WebProcess/UserContent/WebUserContentController.cpp: Added.
New class that manages a WebCore::UserContentController object.

(WebKit::WebUserContentController::getOrCreate):
Look up (or create) a WebUserContentController object given its identifier.

(WebKit::WebUserContentController::WebUserContentController):
Add ourselves as a message receiver.

(WebKit::WebUserContentController::~WebUserContentController):
Remove ourselves as a message receiver.

(WebKit::WebUserContentController::addUserScripts):
Add all passed in user scripts to the WebCore user content controller object.

(WebKit::WebUserContentController::removeAllUserScripts):
Remove all user scripts from the WebCore user content controller object.

* WebProcess/UserContent/WebUserContentController.messages.in: Added.
Add new messages file.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
Get a WebUserContentController object and pass it along to WebCore.

* WebProcess/WebPage/WebPage.h:
Add WebUserContentController member.

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

5 years agoREGRESSION (r166422): All RenderBox objects grew 104 bytes from adding repaint timers.
akling@apple.com [Sat, 17 May 2014 10:08:47 +0000 (10:08 +0000)]
REGRESSION (r166422): All RenderBox objects grew 104 bytes from adding repaint timers.
<https://webkit.org/b/133027>
<rdar://problem/16867410>

Instead of storing a rarely-used repaint timer on every RenderBox, store one
on the RenderView, and keep a hash set of renderers needing repaint.

Renderers get a flag tracking whether they have a pending lazy repaint.
This way we can avoid hash lookups in the common case.

Also added a static assertion to catch RenderBox growing in the future.

Reviewed by Antti Koivisto.

* rendering/RenderBox.cpp:
(WebCore::SameSizeAsRenderBox::~SameSizeAsRenderBox):
(WebCore::RenderBox::RenderBox):
(WebCore::RenderBox::~RenderBox):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
* rendering/RenderBox.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
* rendering/RenderElement.h:
(WebCore::RenderElement::setRenderBoxNeedsLazyRepaint):
(WebCore::RenderElement::renderBoxNeedsLazyRepaint):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::scheduleLazyRepaint):
(WebCore::RenderView::unscheduleLazyRepaint):
(WebCore::RenderView::lazyRepaintTimerFired):
* rendering/RenderView.h:

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

5 years ago[EFL] Build break after 168978.
commit-queue@webkit.org [Sat, 17 May 2014 06:23:46 +0000 (06:23 +0000)]
[EFL] Build break after 168978.
https://bugs.webkit.org/show_bug.cgi?id=133012.

Patch by Piotr Grad <p.grad@samsung.com> on 2014-05-16
Reviewed by Simon Fraser.

* ewk/ewk_view.cpp:
(_ewk_view_priv_new):

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

5 years ago[Mac][MSE] setCurrentTime() goes down fastSeek path in MediaPlayerPrivateMediaSourceA...
jer.noble@apple.com [Sat, 17 May 2014 05:41:47 +0000 (05:41 +0000)]
[Mac][MSE] setCurrentTime() goes down fastSeek path in MediaPlayerPrivateMediaSourceAVFObjC.
https://bugs.webkit.org/show_bug.cgi?id=133023

Reviewed by Eric Carlson.

When seeking a MSE video, do not go down the fastSeekForMediaTime() path if the
seek resulted from a setCurrentTime() call. The logic can lead to attempted seeks
before buffered ranges.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::seekToTime):

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

5 years ago[GTK] Build break after 168978.
commit-queue@webkit.org [Sat, 17 May 2014 01:30:51 +0000 (01:30 +0000)]
[GTK] Build break after 168978.
https://bugs.webkit.org/show_bug.cgi?id=133012.

Patch by Piotr Grad <p.grad@samsung.com> on 2014-05-16
Reviewed by Simon Fraser.

* UIProcess/API/gtk/WebKitSettings.cpp:
(webKitSettingsConstructed):

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

5 years agoFix a straggler.
simon.fraser@apple.com [Sat, 17 May 2014 01:18:15 +0000 (01:18 +0000)]
Fix a straggler.

Remove call to internals.settings.setRegionBasedColumnsEnabled(true).

* fast/repaint/spanner-with-margin.html:

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

5 years agoPut back a symbol removed in r168978 that Safari needs, but deprecate it.
simon.fraser@apple.com [Sat, 17 May 2014 00:29:37 +0000 (00:29 +0000)]
Put back a symbol removed in r168978 that Safari needs, but deprecate it.

Reviewed by Anders Carlsson.

* Shared/API/c/WKDeprecatedFunctions.cpp:
(WKPreferencesSetRegionBasedColumnsEnabled):
(WKPreferencesGetRegionBasedColumnsEnabled):

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

5 years agoRemove calls to internals.settings.setRegionBasedColumnsEnabled(true);
simon.fraser@apple.com [Sat, 17 May 2014 00:06:56 +0000 (00:06 +0000)]
Remove calls to internals.settings.setRegionBasedColumnsEnabled(true);
in tests.

Some of these tests may now be no-ops, but I haven't found a convenient
way to know which ones.

* fast/multicol/break-in-columns-before-spanner-expected.html:
* fast/multicol/break-in-columns-before-spanner.html:
* fast/multicol/break-in-scrollable-expected.html:
* fast/multicol/break-in-scrollable.html:
* fast/multicol/client-rects-spanners-complex.html:
* fast/multicol/client-rects-spanners.html:
* fast/multicol/inline-children-crash.html:
* fast/multicol/mixed-opacity-fixed-test.html:
* fast/multicol/mixed-opacity-test.html:
* fast/multicol/mixed-positioning-stacking-order.html:
* fast/multicol/multicol-li-crash.html:
* fast/multicol/newmulticol/adjacent-spanners.html:
* fast/multicol/newmulticol/avoid-column-break-inside.html:
* fast/multicol/newmulticol/balance-images.html:
* fast/multicol/newmulticol/balance-maxheight1.html:
* fast/multicol/newmulticol/balance-maxheight2.html:
* fast/multicol/newmulticol/balance1.html:
* fast/multicol/newmulticol/balance10.html:
* fast/multicol/newmulticol/balance2.html:
* fast/multicol/newmulticol/balance3.html:
* fast/multicol/newmulticol/balance4.html:
* fast/multicol/newmulticol/balance5.html:
* fast/multicol/newmulticol/balance6.html:
* fast/multicol/newmulticol/balance7.html:
* fast/multicol/newmulticol/balance8.html:
* fast/multicol/newmulticol/balance9.html:
* fast/multicol/newmulticol/block-becomes-spanner-expected.html:
* fast/multicol/newmulticol/block-becomes-spanner.html:
* fast/multicol/newmulticol/break-after-expected.html:
* fast/multicol/newmulticol/break-after.html:
* fast/multicol/newmulticol/break-before.html:
* fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html:
* fast/multicol/newmulticol/breaks-2-columns-3.html:
* fast/multicol/newmulticol/breaks-3-columns-3.html:
* fast/multicol/newmulticol/cell-shrinkback.html:
* fast/multicol/newmulticol/change-spanner-display-expected.html:
* fast/multicol/newmulticol/change-spanner-display.html:
* fast/multicol/newmulticol/change-spanner-parent-display-expected.html:
* fast/multicol/newmulticol/change-spanner-parent-display.html:
* fast/multicol/newmulticol/client-rects.html:
* fast/multicol/newmulticol/clipping-expected.html:
* fast/multicol/newmulticol/clipping-overflow-hidden-expected.html:
* fast/multicol/newmulticol/clipping-overflow-hidden.html:
* fast/multicol/newmulticol/clipping-top-overflow-expected.html:
* fast/multicol/newmulticol/clipping-top-overflow.html:
* fast/multicol/newmulticol/clipping.html:
* fast/multicol/newmulticol/column-rules-fixed-height.html:
* fast/multicol/newmulticol/columns-shorthand-parsing.html:
* fast/multicol/newmulticol/compare-with-old-impl/BottomToTop-tb.html:
* fast/multicol/newmulticol/compare-with-old-impl/LeftToRight-tb.html:
* fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/before-child-anonymous-column-block.html:
* fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox.html:
* fast/multicol/newmulticol/compare-with-old-impl/clone-summary.html:
* fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking.html:
* fast/multicol/newmulticol/compare-with-old-impl/column-span-inside-multicol-webkit-box.html:
* fast/multicol/newmulticol/compare-with-old-impl/continuation-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-float.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages.html:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis.html:
* fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input-expected.html:
* fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input.html:
* fast/multicol/newmulticol/compare-with-old-impl/overflow-content.html:
* fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/runin-continuation-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/shrink-to-column-height-for-pagination.html:
* fast/multicol/newmulticol/compare-with-old-impl/span-as-nested-inline-block-child.html:
* fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash.html:
* fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash.html:
* fast/multicol/newmulticol/direct-child-column-span-all.html:
* fast/multicol/newmulticol/fixed-height-fill-auto-expected.html:
* fast/multicol/newmulticol/fixed-height-fill-auto.html:
* fast/multicol/newmulticol/fixed-height-fill-balance-2.html:
* fast/multicol/newmulticol/fixed-height-fill-balance-expected.html:
* fast/multicol/newmulticol/fixed-height-fill-balance.html:
* fast/multicol/newmulticol/float-avoidance.html:
* fast/multicol/newmulticol/float-multicol.html:
* fast/multicol/newmulticol/float-paginate-complex.html:
* fast/multicol/newmulticol/float-paginate-empty-lines.html:
* fast/multicol/newmulticol/float-paginate.html:
* fast/multicol/newmulticol/hide-box-horizontal-bt-expected.html:
* fast/multicol/newmulticol/hide-box-horizontal-bt.html:
* fast/multicol/newmulticol/hide-box-vertical-lr-expected.html:
* fast/multicol/newmulticol/hide-box-vertical-lr.html:
* fast/multicol/newmulticol/hide-box-vertical-rl-expected.html:
* fast/multicol/newmulticol/hide-box-vertical-rl.html:
* fast/multicol/newmulticol/insert-row-content1-expected.html:
* fast/multicol/newmulticol/insert-row-content1.html:
* fast/multicol/newmulticol/insert-row-content2-expected.html:
* fast/multicol/newmulticol/insert-row-content2.html:
* fast/multicol/newmulticol/insert-row-content3-expected.html:
* fast/multicol/newmulticol/insert-row-content3.html:
* fast/multicol/newmulticol/insert-row-content4-expected.html:
* fast/multicol/newmulticol/insert-row-content4.html:
* fast/multicol/newmulticol/insert-row-content5-expected.html:
* fast/multicol/newmulticol/insert-row-content5.html:
* fast/multicol/newmulticol/insert-row-content6-expected.html:
* fast/multicol/newmulticol/insert-row-content6.html:
* fast/multicol/newmulticol/insert-row-content7-expected.html:
* fast/multicol/newmulticol/insert-row-content7.html:
* fast/multicol/newmulticol/insert-row-content8-expected.html:
* fast/multicol/newmulticol/insert-row-content8.html:
* fast/multicol/newmulticol/insert-row-content9-expected.html:
* fast/multicol/newmulticol/insert-row-content9.html:
* fast/multicol/newmulticol/insert-spanner-child1-expected.html:
* fast/multicol/newmulticol/insert-spanner-child1.html:
* fast/multicol/newmulticol/insert-spanner-child2-expected.html:
* fast/multicol/newmulticol/insert-spanner-child2.html:
* fast/multicol/newmulticol/insert-spanner-child3-expected.html:
* fast/multicol/newmulticol/insert-spanner-child3.html:
* fast/multicol/newmulticol/insert-spanner1-expected.html:
* fast/multicol/newmulticol/insert-spanner1.html:
* fast/multicol/newmulticol/insert-spanner2-expected.html:
* fast/multicol/newmulticol/insert-spanner2.html:
* fast/multicol/newmulticol/insert-spanner3-expected.html:
* fast/multicol/newmulticol/insert-spanner3.html:
* fast/multicol/newmulticol/insert-spanner4-expected.html:
* fast/multicol/newmulticol/insert-spanner4.html:
* fast/multicol/newmulticol/insert-spanner5-expected.html:
* fast/multicol/newmulticol/insert-spanner5.html:
* fast/multicol/newmulticol/insert-spanner6-expected.html:
* fast/multicol/newmulticol/insert-spanner6.html:
* fast/multicol/newmulticol/insert-spanner7-expected.html:
* fast/multicol/newmulticol/insert-spanner7.html:
* fast/multicol/newmulticol/insert-spanner8-expected.html:
* fast/multicol/newmulticol/insert-spanner8.html:
* fast/multicol/newmulticol/layers-in-multicol.html:
* fast/multicol/newmulticol/layers-split-across-columns.html:
* fast/multicol/newmulticol/leading-and-trailing-margin-expected.html:
* fast/multicol/newmulticol/leading-and-trailing-margin.html:
* fast/multicol/newmulticol/leading-margin.html:
* fast/multicol/newmulticol/line-grid-inside-columns.html:
* fast/multicol/newmulticol/line-grid-into-columns.html:
* fast/multicol/newmulticol/multicol-with-spanner-becomes-regular-block.html:
* fast/multicol/newmulticol/orphans-and-widows-balance.html:
* fast/multicol/newmulticol/positioned-split.html:
* fast/multicol/newmulticol/positioned-with-constrained-height.html:
* fast/multicol/newmulticol/progression-reverse-overflow.html:
* fast/multicol/newmulticol/progression-reverse.html:
* fast/multicol/newmulticol/remove-row-content1-expected.html:
* fast/multicol/newmulticol/remove-row-content1.html:
* fast/multicol/newmulticol/remove-row-content2-expected.html:
* fast/multicol/newmulticol/remove-row-content2.html:
* fast/multicol/newmulticol/remove-row-content3-expected.html:
* fast/multicol/newmulticol/remove-row-content3.html:
* fast/multicol/newmulticol/remove-row-content4-expected.html:
* fast/multicol/newmulticol/remove-row-content4.html:
* fast/multicol/newmulticol/remove-row-content5-expected.html:
* fast/multicol/newmulticol/remove-row-content5.html:
* fast/multicol/newmulticol/remove-row-content6-expected.html:
* fast/multicol/newmulticol/remove-row-content6.html:
* fast/multicol/newmulticol/remove-row-content7-expected.html:
* fast/multicol/newmulticol/remove-row-content7.html:
* fast/multicol/newmulticol/remove-row-content8-expected.html:
* fast/multicol/newmulticol/remove-row-content8.html:
* fast/multicol/newmulticol/remove-row-content9-expected.html:
* fast/multicol/newmulticol/remove-row-content9.html:
* fast/multicol/newmulticol/remove-spanner1-expected.html:
* fast/multicol/newmulticol/remove-spanner1.html:
* fast/multicol/newmulticol/remove-spanner2-expected.html:
* fast/multicol/newmulticol/remove-spanner2.html:
* fast/multicol/newmulticol/remove-spanner3-expected.html:
* fast/multicol/newmulticol/remove-spanner3.html:
* fast/multicol/newmulticol/remove-spanner4-expected.html:
* fast/multicol/newmulticol/remove-spanner4.html:
* fast/multicol/newmulticol/remove-spanner5-expected.html:
* fast/multicol/newmulticol/remove-spanner5.html:
* fast/multicol/newmulticol/remove-spanner6-expected.html:
* fast/multicol/newmulticol/remove-spanner6.html:
* fast/multicol/newmulticol/single-line.html:
* fast/multicol/newmulticol/sole-spanner.html:
* fast/multicol/newmulticol/span-between-text-expected.html:
* fast/multicol/newmulticol/span-between-text.html:
* fast/multicol/newmulticol/spanner-becomes-regular-block-expected.html:
* fast/multicol/newmulticol/spanner-becomes-regular-block.html:
* fast/multicol/newmulticol/spanner-first-expected.html:
* fast/multicol/newmulticol/spanner-first.html:
* fast/multicol/newmulticol/spanner-img-expected.html:
* fast/multicol/newmulticol/spanner-img.html:
* fast/multicol/newmulticol/spanner-inline-block-expected.html:
* fast/multicol/newmulticol/spanner-inline-block.html:
* fast/multicol/newmulticol/spanner-last-expected.html:
* fast/multicol/newmulticol/spanner-last.html:
* fast/multicol/newmulticol/spanner-nested-dynamic-expected.html:
* fast/multicol/newmulticol/spanner-nested-dynamic.html:
* fast/multicol/newmulticol/spanner-nested-expected.html:
* fast/multicol/newmulticol/spanner-nested.html:
* fast/multicol/newmulticol/spanner-pseudo-after1-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-after1.html:
* fast/multicol/newmulticol/spanner-pseudo-after2-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-after2.html:
* fast/multicol/newmulticol/spanner-pseudo-after3-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-after3.html:
* fast/multicol/newmulticol/spanner-pseudo-after4-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-after4.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after1-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after1.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after2-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after2.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after3-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after3.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after4-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before-after4.html:
* fast/multicol/newmulticol/spanner-pseudo-before1-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before1.html:
* fast/multicol/newmulticol/spanner-pseudo-before2-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before2.html:
* fast/multicol/newmulticol/spanner-pseudo-before3-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before3.html:
* fast/multicol/newmulticol/spanner-pseudo-before4-expected.html:
* fast/multicol/newmulticol/spanner-pseudo-before4.html:
* fast/multicol/newmulticol/spanner-table-expected.html:
* fast/multicol/newmulticol/spanner-table.html:
* fast/multicol/newmulticol/spanner-with-margin-expected.html:
* fast/multicol/newmulticol/spanner-with-margin.html:
* fast/multicol/newmulticol/spanner1-expected.html:
* fast/multicol/newmulticol/spanner1.html:
* fast/multicol/newmulticol/spanner2-expected.html:
* fast/multicol/newmulticol/spanner2.html:
* fast/multicol/newmulticol/spanner3-expected.html:
* fast/multicol/newmulticol/spanner3.html:
* fast/multicol/newmulticol/spanner4-expected.html:
* fast/multicol/newmulticol/spanner4.html:
* fast/multicol/newmulticol/spanner5-expected.html:
* fast/multicol/newmulticol/spanner5.html:
* fast/multicol/newmulticol/spanner6-expected.html:
* fast/multicol/newmulticol/spanner6.html:
* fast/multicol/newmulticol/spanner7-expected.html:
* fast/multicol/newmulticol/spanner7.html:
* fast/multicol/newmulticol/spanner8-expected.html:
* fast/multicol/newmulticol/spanner8.html:
* fast/multicol/newmulticol/spanner9-expected.html:
* fast/multicol/newmulticol/spanner9.html:
* fast/multicol/newmulticol/trailing-margin-with-spanner-expected.html:
* fast/multicol/newmulticol/trailing-margin-with-spanner.html:
* fast/multicol/newmulticol/trailing-margin-with-spanner2-expected.html:
* fast/multicol/newmulticol/trailing-margin-with-spanner2.html:
* fast/multicol/newmulticol/unresolvable-percent-height-2.html:
* fast/multicol/newmulticol/unresolvable-percent-height.html:
* fast/multicol/newmulticol/unresolvable-percent-max-height-2.html:
* fast/multicol/newmulticol/unresolvable-percent-max-height.html:
* fast/multicol/offset-top-left.html:
* fast/multicol/percent-height.html:
* fast/multicol/positioned-outside-of-columns.html:
* fast/multicol/scrolling-column-rules.html:
* fast/multicol/tall-float-expected.html:
* fast/multicol/tall-float.html:
* fast/multicol/transform-inside-opacity.html:
* fast/multicol/zoom-test-expected.html:
* fast/multicol/zoom-test.html:

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

5 years agoSeparate enabling sandbox extensions from the WEB_PROCESS_SANDBOX flag
oliver@apple.com [Fri, 16 May 2014 23:28:40 +0000 (23:28 +0000)]
Separate enabling sandbox extensions from the WEB_PROCESS_SANDBOX flag
https://bugs.webkit.org/show_bug.cgi?id=133016

Reviewed by Alexey Proskuryakov.

Add a distinct SANDBOX_EXTENSIONS flag to guard sandbox extensions
and switch over to it in the places that extensions are used.

* Shared/SandboxExtension.h:
* Shared/mac/SandboxExtensionMac.mm:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChooseFilesForOpenPanel):
* WebKit2Prefix.h:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

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

5 years agoCrash in JSC::Yarr::YarrGenerator<(JSC::Yarr::YarrJITCompileMode)0>::generatePatternC...
msaboff@apple.com [Fri, 16 May 2014 22:09:51 +0000 (22:09 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@168983 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS][WK2] Add a heuristic to set the right horizontal offset on rotation for respons...
benjamin@webkit.org [Fri, 16 May 2014 21:55:30 +0000 (21:55 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@168982 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS][WK2] On dynamic resize, the content offset is contrained to the old content...
benjamin@webkit.org [Fri, 16 May 2014 21:47:09 +0000 (21:47 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@168981 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS] ScrollView::visibleContentRectInternal is bypassing the iOS code for unobscured...
benjamin@webkit.org [Fri, 16 May 2014 21:39:43 +0000 (21:39 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@168980 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Mac] naturalSize not updated when preload=metadata
jer.noble@apple.com [Fri, 16 May 2014 21:32:11 +0000 (21:32 +0000)]
[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: https://svn.webkit.org/repository/webkit/trunk@168979 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove "region-based columns" prefs
simon.fraser@apple.com [Fri, 16 May 2014 21:16:29 +0000 (21:16 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@168978 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoLink search area for touch events is too large in some cases
antti@apple.com [Fri, 16 May 2014 20:53:51 +0000 (20:53 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@168977 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWork around bug in Silverlight
bfulgham@apple.com [Fri, 16 May 2014 20:46:29 +0000 (20:46 +0000)]
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: https://svn.webkit.org/repository/webkit/trunk@168976 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed GTK gardening.
commit-queue@webkit.org [Fri, 16 May 2014 19:53:35 +0000 (19:53 +0000)]
Unreviewed GTK gardening.

Added some flaky tests to TestExpectations.

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2014-05-16

* platform/gtk/TestExpectations:

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

5 years ago[MSE] Crash at WebCore::SourceBuffer::~SourceBuffer + 110
jer.noble@apple.com [Fri, 16 May 2014 19:45:15 +0000 (19:45 +0000)]
[MSE] Crash at  WebCore::SourceBuffer::~SourceBuffer + 110
https://bugs.webkit.org/show_bug.cgi?id=132973

Reviewed by Eric Carlson.

Change SourceBuffer::m_private into a Ref<>, and add an assertion to
SourceBufferPrivateAVFObjC's destructor if its client has not been cleared.

Eliminate unnecessary churn in MediaSourcePrivateAVFObjC by having the predicate
functor take bare pointers, rather than a PassRefPtr.

The underlying problem seems to be in WebAVStreamDataParserListener. RefPtrs were
being created off the main thread to a non-thread safe ref counted class. In some
situations, this would result in double decrementing the ref, which would cause an
early destruction of the underlying object. Instead replace these RefPtr strong
pointers with explicit weak ones. Ensure the parser and its delegate are not freed
before the append operation completes by passing strong pointers into the async
append operation lambda.

There were a few places where we weren't null checking m_mediaSource before using it,
and at least one place where we weren't clearing m_mediaSource.

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::SourceBuffer): Use Ref instead of RefPtr.
(WebCore::SourceBuffer::appendBufferTimerFired): Ditto.
* Modules/mediasource/SourceBuffer.h:
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjCHasAudio): Take a bare pointer, instead of a PassRefPtr.
(WebCore::MediaSourcePrivateAVFObjCHasVideo): Ditto.
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::removeSourceBuffer): Clear the back pointer when removing a buffer.
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(-[WebAVStreamDataParserListener initWithParser:parent:WebCore::]): Use WeakPtr instead of RefPtr.
(-[WebAVStreamDataParserListener invalidate]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::append): Ditto.

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

5 years ago[Gtk] media/media-blocked-by-beforeload.html is flaky.
commit-queue@webkit.org [Fri, 16 May 2014 19:01:57 +0000 (19:01 +0000)]
[Gtk] media/media-blocked-by-beforeload.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=89811

Patch by Piotr Grad <p.grad@samsung.com> on 2014-05-16
Reviewed by Eric Carlson.

Problem is that we cannot predict when 'error' event would be called,
because is called async on 'source' element. Solution is to not log
'loadedmetadata' and 'loadstart' events.

* media/media-blocked-by-beforeload-expected.txt:
* media/media-blocked-by-beforeload.html:

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

5 years agoSubpixel rendering: Push named flows in region to device pixel when painting.
zalan@apple.com [Fri, 16 May 2014 18:47:07 +0000 (18:47 +0000)]
Subpixel rendering: Push named flows in region to device pixel when painting.
https://bugs.webkit.org/show_bug.cgi?id=132986

Reviewed by Simon Fraser.

Remove integral rounding when named flow sets the painting offset on the graphics context.
Use device pixel snapping instead to ensure that we can paint on odd device pixel positions on retina displays.

Source/WebCore:
Test: fast/regions/hidpi-region-with-auto-margin-on-subpixel-position.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):

LayoutTests:
* fast/regions/hidpi-region-with-auto-margin-on-subpixel-position-expected.html: Added.
* fast/regions/hidpi-region-with-auto-margin-on-subpixel-position.html: Added.

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

5 years ago[CSS Regions] Add ASSERT to make sure using the flowThread cache does not return...
stavila@adobe.com [Fri, 16 May 2014 18:26:24 +0000 (18:26 +0000)]
[CSS Regions] Add ASSERT to make sure using the flowThread cache does not return incorrect results
https://bugs.webkit.org/show_bug.cgi?id=132906

Reviewed by Simon Fraser.

If flowThreadContainingBlock() is called on an object which is in a different
flow thread than the one currently being laid out, this method will return an incorrect
result. I added an assertion for that to make sure we catch and treat any such scenarios.
For the moment, this assertion is only validated for regions, as multicol still has some issues.

No new tests required.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::locateFlowThreadContainingBlockNoCache):
(WebCore::RenderObject::locateFlowThreadContainingBlock):
* rendering/RenderObject.h:

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

5 years agoMemoryCache::addImageToCache should return the result of add().
mhock@apple.com [Fri, 16 May 2014 17:07:09 +0000 (17:07 +0000)]
MemoryCache::addImageToCache should return the result of add().
https://bugs.webkit.org/show_bug.cgi?id=132928
<rdar://problem/16651547>

Reviewed by Alexey Proskuryakov.

Source/WebCore:
API test: WebKit1.MemoryCacheADdImageToCache (MemoryCacheAddImageToCacheIOS.mm)

* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::addImageToCache):

Tools:
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/MemoryCacheAddImageToCacheIOS.mm: Added.
(TestWebKitAPI::TEST):

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

5 years agoold-run-webkit-tests: allow specifying a simulator app path
dfarler@apple.com [Fri, 16 May 2014 16:34:40 +0000 (16:34 +0000)]
old-run-webkit-tests: allow specifying a simulator app path
https://bugs.webkit.org/show_bug.cgi?id=132975

Reviewed by Anders Carlsson.

* Scripts/old-run-webkit-tests:
(openIPhoneSimulator):
Add new --simulator-app command line parameter for specifying the
absolute path to the simulator app to launch before starting a
session.

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

5 years ago[webkitpy] In case of multiple bug rollout, all bugs should be reopened, not only...
commit-queue@webkit.org [Fri, 16 May 2014 14:35:47 +0000 (14:35 +0000)]
[webkitpy] In case of multiple bug rollout, all bugs should be reopened, not only the oldest one
https://bugs.webkit.org/show_bug.cgi?id=131363

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-05-16
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/common/checkout/checkout_mock.py:
* Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
(MockBugzilla):
* Scripts/webkitpy/tool/commands/download_unittest.py:
(test_create_rollout_multiple_revision_with_one_resolved):
(test_create_rollout_multiple_resolved):
(test_rollout_two_revisions):
(test_rollout_multiple_revisions):
(test_rollout_multiple_revisions_with_a_missing_bug_id):
* Scripts/webkitpy/tool/steps/createbug.py:
(CreateBug.run):
* Scripts/webkitpy/tool/steps/reopenbugafterrollout.py:
(ReopenBugAfterRollout.run):

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

5 years ago[CSS Regions] Reduce the RenderRegion invasiveness in rendering code
abucur@adobe.com [Fri, 16 May 2014 13:22:00 +0000 (13:22 +0000)]
[CSS Regions] Reduce the RenderRegion invasiveness in rendering code
https://bugs.webkit.org/show_bug.cgi?id=132121

Reviewed by Antti Koivisto.

Remove the RenderRegion / RenderNamedFlowFragment parameters and fields from
the painting / hit testing data structures and use a stateful approach to
correctly handle regions.

When painting or hit testing, the current flow thread is saved along the current
region. They are accessed through the |currentRenderNamedFlowFragment| helper
method on RenderObject or RenderLayer.

The patch also changes a bunch of 0s to nullptrs.

Tests: No new tests, no functional change.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
* rendering/HitTestLocation.cpp:
(WebCore::HitTestLocation::HitTestLocation):
(WebCore::HitTestLocation::operator=):
* rendering/HitTestLocation.h:
(WebCore::HitTestLocation::region): Deleted.
* rendering/HitTestResult.h:
* rendering/PaintInfo.h:
(WebCore::PaintInfo::PaintInfo):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::nodeAtPoint):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::pushContentsClip):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderBoxModelObject.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::clippedByAncestor):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::currentRenderNamedFlowFragment):
* rendering/RenderObject.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::shouldPaint):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::paint):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::nodeAtPoint):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeLayers):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::paint):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paintReplaced):

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

5 years agoRTCDtmfSender default values need to be updated.
berto@igalia.com [Fri, 16 May 2014 11:56:14 +0000 (11:56 +0000)]
RTCDtmfSender default values need to be updated.
https://bugs.webkit.org/show_bug.cgi?id=132952

Patch by Kiran <kiran.guduru@samsung.com> on 2014-05-16
Reviewed by Eric Carlson.

Source/WebCore:
The default ToneDuration and ToneGap values are modified in the updated spec.
So these values need to be updated.

Test: fast/mediastream/RTCPeerConnection-dtmf.html.

* Modules/mediastream/RTCDTMFSender.cpp:

LayoutTests:
Added checks to test default, min value interToneGap
and duration and max value for duration.
(Spec does not specify any max value for inTertoneGap)

* fast/mediastream/RTCPeerConnection-dtmf.html:

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

5 years ago[WK2] Change the remaining framework includes from WebKit2 to WebKit
ossy@webkit.org [Fri, 16 May 2014 08:53:19 +0000 (08:53 +0000)]
[WK2] Change the remaining framework includes from WebKit2 to WebKit
https://bugs.webkit.org/show_bug.cgi?id=132956

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-16
Reviewed by Sam Weinig.

Source/WebKit2:
* NetworkProcess/unix/NetworkProcessMainUnix.cpp:
* NetworkProcess/unix/NetworkProcessMainUnix.h:
* PluginProcess/unix/PluginProcessMainUnix.h:
* Shared/API/c/cairo/WKImageCairo.h:
* Shared/API/c/cf/WKURLRequestCF.h:
* Shared/API/c/cf/WKURLResponseCF.h:
* Shared/API/c/efl/WKArrayEfl.cpp:
* Shared/API/c/efl/WKArrayEfl.h:
* UIProcess/API/C/CoordinatedGraphics/WKView.h:
* UIProcess/API/C/WKBatteryManager.h:
* UIProcess/API/C/WKBatteryStatus.h:
* UIProcess/API/C/WKGrammarDetail.h:
* UIProcess/API/C/WKTextChecker.h:
* UIProcess/API/C/WKVibration.h:
* UIProcess/API/C/WKViewportAttributes.h:
* UIProcess/API/C/cairo/WKIconDatabaseCairo.h:
* UIProcess/API/C/efl/WKAPICastEfl.h:
* UIProcess/API/C/efl/WKColorPickerResultListener.h:
* UIProcess/API/C/efl/WKEventEfl.h:
* UIProcess/API/C/efl/WKPageEfl.h:
* UIProcess/API/C/efl/WKPopupItem.h:
* UIProcess/API/C/efl/WKPopupMenuListener.h:
* UIProcess/API/C/efl/WKViewEfl.cpp:
* UIProcess/API/C/efl/WKViewEfl.h:
* UIProcess/API/C/gtk/WKFullScreenClientGtk.h:
* UIProcess/API/C/gtk/WKInspectorClientGtk.h:
* UIProcess/API/C/gtk/WKView.h:
* UIProcess/API/C/gtk/WKViewPrivate.h:
* UIProcess/API/C/soup/WKContextSoup.h:
* UIProcess/API/C/soup/WKCookieManagerSoup.h:
* UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.h:
* UIProcess/API/C/soup/WKSoupRequestManager.h:
* UIProcess/API/Cocoa/WKErrorRecoveryAttempting.h:
* UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.h:
* UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
* UIProcess/API/cpp/efl/WKEinaSharedString.h:
* UIProcess/API/efl/EwkView.cpp:
* UIProcess/API/efl/EwkView.h:
* UIProcess/API/efl/EwkViewCallbacks.h:
* UIProcess/API/efl/GestureRecognizer.h:
* UIProcess/API/efl/ewk_application_cache_manager_private.h:
* UIProcess/API/efl/ewk_auth_request_private.h:
* UIProcess/API/efl/ewk_back_forward_list_item_private.h:
* UIProcess/API/efl/ewk_back_forward_list_private.h:
* UIProcess/API/efl/ewk_context_menu_item.cpp:
* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_cookie_manager_private.h:
* UIProcess/API/efl/ewk_database_manager_private.h:
* UIProcess/API/efl/ewk_error_private.h:
* UIProcess/API/efl/ewk_favicon_database_private.h:
* UIProcess/API/efl/ewk_file_chooser_request_private.h:
* UIProcess/API/efl/ewk_page_group_private.h:
* UIProcess/API/efl/ewk_popup_menu_item_private.h:
* UIProcess/API/efl/ewk_popup_menu_private.h:
* UIProcess/API/efl/ewk_security_origin_private.h:
* UIProcess/API/efl/ewk_settings_private.h:
* UIProcess/API/efl/ewk_storage_manager_private.h:
* UIProcess/API/efl/ewk_view.cpp:
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_window_features_private.h:
* UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp:
* UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
* UIProcess/API/gtk/WebKitDownloadClient.cpp:
* UIProcess/API/gtk/WebKitPrivate.h:
* UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h:
* UIProcess/efl/BatteryProvider.h:
* UIProcess/efl/ContextHistoryClientEfl.h:
* UIProcess/efl/DownloadManagerEfl.h:
* UIProcess/efl/FindClientEfl.h:
* UIProcess/efl/FormClientEfl.h:
* UIProcess/efl/PageLoadClientEfl.h:
* UIProcess/efl/PagePolicyClientEfl.h:
* UIProcess/efl/PageUIClientEfl.h:
* UIProcess/efl/RequestManagerClientEfl.h:
* UIProcess/efl/TextCheckerClientEfl.h:
* UIProcess/efl/VibrationClientEfl.h:
* UIProcess/efl/ViewClientEfl.cpp:
* UIProcess/efl/ViewClientEfl.h:
* UIProcess/efl/WebInspectorProxyEfl.cpp:
* WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
* WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
* WebProcess/efl/SeccompFiltersWebProcessEfl.cpp:
* WebProcess/efl/SeccompFiltersWebProcessEfl.h:
* WebProcess/efl/WebProcessMainEfl.cpp:
* WebProcess/efl/WebProcessMainEfl.h:
* WebProcess/gtk/WebGtkInjectedBundleMain.cpp:
* WebProcess/gtk/WebProcessMainGtk.cpp:
* WebProcess/gtk/WebProcessMainGtk.h:
* mac/WKPreferences.h:

Tools:
* MiniBrowser/MiniBrowserWebProcessPlugIn.h:
* MiniBrowser/mac/AppDelegate.m:
* MiniBrowser/mac/WK2BrowserWindowController.m:
* TestWebKitAPI/InjectedBundleController.h:
* TestWebKitAPI/InjectedBundleMain.cpp:
* TestWebKitAPI/JavaScriptTest.cpp:
* TestWebKitAPI/PlatformUtilities.h:
* TestWebKitAPI/Tests/CustomProtocolsSyncXHRTest.mm:
* TestWebKitAPI/Tests/WebKit2/CanHandleRequest.cpp:
* TestWebKitAPI/Tests/WebKit2/CanHandleRequest_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/CookieManager.cpp:
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewRestoreZoomAndScrollBackForward.cpp:
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewUserViewportToContents.cpp:
* TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp:
* TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/DidNotHandleKeyDown.cpp:
* TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/EphemeralSessionPushStateNoHistoryCallback.cpp:
* TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp:
* TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp:
* TestWebKitAPI/Tests/WebKit2/Find.cpp:
* TestWebKitAPI/Tests/WebKit2/FindMatches.mm:
* TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp:
* TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp:
* TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp:
* TestWebKitAPI/Tests/WebKit2/Geolocation.cpp:
* TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback.cpp:
* TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp:
* TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/LayoutMilestonesWithAllContentInFrame.cpp:
* TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
* TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback.cpp:
* TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/LoadPageOnCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:
* TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp:
* TestWebKitAPI/Tests/WebKit2/ParentFrame.cpp:
* TestWebKitAPI/Tests/WebKit2/ParentFrame_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/PasteboardNotifications.mm:
* TestWebKitAPI/Tests/WebKit2/PasteboardNotifications_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp:
* TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp:
* TestWebKitAPI/Tests/WebKit2/ReloadPageAfterCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/ResizeReversePaginatedWebView.cpp:
* TestWebKitAPI/Tests/WebKit2/ResizeWindowAfterCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp:
* TestWebKitAPI/Tests/WebKit2/SeccompFilters.cpp:
* TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem.cpp:
* TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp:
* TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
* TestWebKitAPI/Tests/WebKit2/WKStringJSString.cpp:
* TestWebKitAPI/Tests/WebKit2/WebArchive.cpp:
* TestWebKitAPI/Tests/WebKit2/WebArchive_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp:
* TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm:
* TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor.mm:
* TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor_Bundle.mm:
* TestWebKitAPI/Tests/WebKit2/mac/GetPIDAfterAbortedProcessLaunch.cpp:
* TestWebKitAPI/Tests/WebKit2/mac/WeakObjCPtr.mm:
* TestWebKitAPI/Tests/WebKit2/win/AltKeyGeneratesWMSysCommand.cpp:
* TestWebKitAPI/Tests/WebKit2/win/DoNotCopyANullCFURLResponse.cpp:
* TestWebKitAPI/Tests/WebKit2/win/ResizeViewWhileHidden.cpp:
* TestWebKitAPI/Tests/WebKit2/win/TranslateMessageGeneratesWMChar.cpp:
* TestWebKitAPI/Tests/WebKit2/win/WMCloseCallsUIClientClose.cpp:
* TestWebKitAPI/Tests/WebKit2/win/WMPrint.cpp:
* TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2ObjC/UserContentTest.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextGroupTest.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextLoadDelegateTest.mm:
* TestWebKitAPI/Tests/mac/DeviceScaleFactorOnBack.mm:
* TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
* TestWebKitAPI/config.h:
* TestWebKitAPI/efl/PlatformWebView.cpp:
* TestWebKitAPI/mac/JavaScriptTestMac.mm:
* TestWebKitAPI/mac/PlatformUtilitiesMac.mm:
* TestWebKitAPI/mac/PlatformWebViewMac.mm:
* TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.h:
* TestWebKitAPI/mac/WebKitAgnosticTest.mm:
* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/GeolocationProviderMock.cpp:
* WebKitTestRunner/GeolocationProviderMock.h:
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
* WebKitTestRunner/InjectedBundle/EventSendingController.h:
* WebKitTestRunner/InjectedBundle/GCController.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/InjectedBundle/TextInputController.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
* WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
* WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/StringFunctions.h:
* WebKitTestRunner/TestController.cpp:
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/WebKitTestRunnerPrefix.h:
* WebKitTestRunner/WebNotificationProvider.cpp:
* WebKitTestRunner/WebNotificationProvider.h:
* WebKitTestRunner/WorkQueueManager.cpp:
* WebKitTestRunner/cairo/TestInvocationCairo.cpp:
* WebKitTestRunner/cg/TestInvocationCG.cpp:
* WebKitTestRunner/cocoa/CrashReporterInfo.mm:
* WebKitTestRunner/config.h:
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
* WebKitTestRunner/ios/TestControllerIOS.mm:
* WebKitTestRunner/mac/EventSenderProxy.mm:
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
* WebKitTestRunner/mac/TestControllerMac.mm:

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

5 years ago[EFL][WK2] Skip failing unit tests
gyuyoung.kim@samsung.com [Fri, 16 May 2014 05:21:24 +0000 (05:21 +0000)]
[EFL][WK2] Skip failing unit tests
https://bugs.webkit.org/show_bug.cgi?id=132979

Reviewed by Daniel Bates.

Source/WebKit2:
* PlatformEfl.cmake: Skip failing unit tests for now.

Tools:
* TestWebKitAPI/PlatformEfl.cmake: Skip failing unit tests for now.

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

5 years agoAttempt to fix the Apple Mavericks Release, Apple MountainLion Release,
dbates@webkit.org [Fri, 16 May 2014 04:51:40 +0000 (04:51 +0000)]
Attempt to fix the Apple Mavericks Release, Apple MountainLion Release,
Apple MountainLion Release (32-bit Build), EFL, and GTK builds following
<http://trac.webkit.org/changeset/168921> (https://bugs.webkit.org/show_bug.cgi?id=132669)

* dom/ContainerNode.cpp: Include SVGElement.h for the definition of Node::hasTagName(const SVGQualifiedName&).

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

5 years agoASSERT_NOT_REACHED() in DocumentOrderedMap::get() when removing SVG subtree
dbates@webkit.org [Fri, 16 May 2014 04:30:12 +0000 (04:30 +0000)]
ASSERT_NOT_REACHED() in DocumentOrderedMap::get() when removing SVG subtree
https://bugs.webkit.org/show_bug.cgi?id=132669
<rdar://problem/14931432>

Reviewed by Brent Fulgham and Ryosuke Niwa.

Source/WebCore:
Fixes an assertion failure when removing an SVG element with a duplicate id.

When removing an SVG element with id A we synchronously instruct each element that references A
to find the first element with id A, call this N, from the document root and register itself to
either receive subsequent notifications from N (say, there is another element with id A) or as
waiting for an element with id A (say, N = nullptr; => we removed the last element with id A from
the document). Because the elements that reference A perform this operation synchronously when
removing an element they consult an transient state of the DocumentOrderedMap when querying for the
element with id A.

Without loss of generality, let E, E_1, E_2, and E_3 be elements, where E_1, E_2, E_3 are children
of E in that order and E_1.id = E_2.id = A and E_3.href = #A (that is, it references an element
with id A). Suppose we remove E then we remove E_1, update DocumentOrderedMap to decrement its count
for id A, and notify E_3 to look for an element with id A. This leads to an assertion failure since
DocumentOrderedMap expects to find an element with id A, E_2, but cannot find such an element when
traversing from the document root because E was unlinked from the document root (i.e. E_2 is in a
disjoint subtree).

Tests: svg/custom/change-id-of-use-during-removal.html
       svg/custom/remove-subtree-including-path-with-duplicate-id-referenced-by-later-textpath.html
       svg/custom/remove-subtree-including-text-with-duplicate-id-referenced-by-later-tref.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-earlier-use.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-animate.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-feimage.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-mpath.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use2.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-in-different-subtree.html
       svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-with-duplicate-id-in-different-subtree.html
       svg/custom/remove-use-with-duplicate-id-referenced-by-later-use.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChild): Call SVGDocumentExtensions::rebuildElements() after we remove
a DOM subtree so that applicable SVG elements can update their referenced element when the DocumentOrderedMap
is in a stable-state.
(WebCore::ContainerNode::removeChildren): Ditto.
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::rebuildElements): Added; notifies SVG elements that their href attribute
changed so that they query the DocumentOrderedMap for the element they reference by id in their href attribute.
(WebCore::SVGDocumentExtensions::clearTargetDependencies): Added; Called from removing
an SVG element S from the DOM. Appends all elements that reference the id of S to the end of a Vector of
elements to be rebuilt (when SVGDocumentExtensions::rebuildElements() is called) and notifies these elements
that have been marked to be rebuilt so that they can invalidate their state (e.g. stop animating).
(WebCore::SVGDocumentExtensions::rebuildAllElementReferencesForTarget): Changed to take its argument by reference
(since it's always non-null) and simplified logic to synchronously notify SVG updates that their referenced element
may have changed. Calling SVGElement::svgAttributeChanged() on an element E should at most remove the dependencies
of E.
* svg/SVGDocumentExtensions.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::~SVGElement): Substitute "*this" for "this" as SVGDocumentExtensions::rebuildAllElementReferencesForTarget()
now takes a reference instead of a pointer.
(WebCore::SVGElement::removedFrom): Modified to call SVGDocumentExtensions::clearTargetDependencies().
(WebCore::SVGElement::attributeChanged): Substitute "*this" for "this" as SVGDocumentExtensions::rebuildAllElementReferencesForTarget()
now takes a reference instead of a pointer.
* svg/SVGElement.h:
(WebCore::SVGElement::callClearTarget): Added; calls through to private virtual SVGElement::clearTarget().
(WebCore::SVGElement::clearTarget): Added.
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::clearTarget): Added.
* svg/SVGTRefElement.h:
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::clearTarget): Added.
* svg/animation/SVGSMILElement.h:

LayoutTests:
Add tests to ensure that we don't cause an assertion failure when removing an SVG element with a duplicate id.

* svg/custom/change-id-of-use-during-removal-expected.txt: Added.
* svg/custom/change-id-of-use-during-removal.html: Added.
* svg/custom/remove-subtree-including-path-with-duplicate-id-referenced-by-later-textpath-expected.txt: Added.
* svg/custom/remove-subtree-including-path-with-duplicate-id-referenced-by-later-textpath.html: Added.
* svg/custom/remove-subtree-including-text-with-duplicate-id-referenced-by-later-tref-expected.txt: Added.
* svg/custom/remove-subtree-including-text-with-duplicate-id-referenced-by-later-tref.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-earlier-use-expected.txt: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-earlier-use.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-animate-expected.txt: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-animate.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-feimage-expected.txt: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-feimage.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-mpath-expected.txt: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-mpath.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use-expected.txt: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use2-expected.txt: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use2.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-in-different-subtree-expected.txt: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-in-different-subtree.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-with-duplicate-id-in-different-subtree-expected.html: Added.
* svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-with-duplicate-id-in-different-subtree.html: Added.
* svg/custom/remove-use-with-duplicate-id-referenced-by-later-use-expected.html: Added.
* svg/custom/remove-use-with-duplicate-id-referenced-by-later-use.html: Added.

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

5 years ago[iOS WK2] When zoomed, fixed elements jump at the start of a scroll, and jump back...
simon.fraser@apple.com [Fri, 16 May 2014 03:56:10 +0000 (03:56 +0000)]
[iOS WK2] When zoomed, fixed elements jump at the start of a scroll, and jump back at the end.
https://bugs.webkit.org/show_bug.cgi?id=132978
<rdar://problem/16894428>

Reviewed by Benjamin Poulain.

Source/WebCore:

This was the actual cause of the bug; r168560 changed the rect passed in here
to be the customFixedPositionRect rather than the unobscured rect, but we
used it to call FrameView::rectForViewportConstrainedObjects() which gave back
another bogus rect. So just use the rect passed in.

* page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
(WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterViewportChange):

Source/WebKit2:

Move the static function fixedPositionRectFromExposedRect() to a member function on
WebPageProxy so we can call it from more places. Also never give WebCore a customFixedPosition
rect that extends past the document bounds, but allow rubber-banding/pinching in the UI process to
move fixed elements outside the document.

* UIProcess/PageClient.h: Need to expose minimumZoomScale() and contentsSize() to WebPageProxy.
* UIProcess/WebPageProxy.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::minimumZoomScale):
(WebKit::PageClientImpl::contentsSize):
* UIProcess/ios/WKContentView.mm:
(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
Pass the computeCustomFixedPositionRect(ConstrainedToDocumentRect) to WebCore, but use computeCustomFixedPositionRect()
for the ScrollingCoordinator update.
(adjustedUnexposedEdge): Deleted.
(adjustedUnexposedMaxEdge): Deleted.
(fixedPositionRectFromExposedRect): Deleted.
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::adjustedUnexposedEdge):
(WebKit::adjustedUnexposedMaxEdge):
(WebKit::WebPageProxy::computeCustomFixedPositionRect):
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): This fixes some flashing when the scrolling tree
was being updated while scrolling; we now pass the correct rect.

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

5 years agoWeb Inspector: Should remove JSDoc comment blocks.
commit-queue@webkit.org [Fri, 16 May 2014 03:32:19 +0000 (03:32 +0000)]
Web Inspector: Should remove JSDoc comment blocks.
https://bugs.webkit.org/show_bug.cgi?id=132984

Patch by Jono Wells <jonowells@apple.com> on 2014-05-15
Reviewed by Timothy Hatcher.

Remove JSDoc comment blocks. These are no longer necessary.

* UserInterface/Base/Main.js:
* UserInterface/Base/Object.js:
* UserInterface/Controllers/DOMTreeManager.js:
* UserInterface/Models/CSSCompletions.js:
* UserInterface/Models/DOMNode.js:
* UserInterface/Models/SourceMap.js:
* UserInterface/Protocol/InspectorBackend.js:
* UserInterface/Protocol/RemoteObject.js:
* UserInterface/Views/ApplicationCacheFrameContentView.js:
* UserInterface/Views/ConsoleMessage.js:
* UserInterface/Views/ConsoleMessageImpl.js:
* UserInterface/Views/ContextMenu.js:
* UserInterface/Views/DOMTreeElement.js:
* UserInterface/Views/DOMTreeOutline.js:
* UserInterface/Views/DOMTreeUpdater.js:
* UserInterface/Views/DataGrid.js:
* UserInterface/Views/DatabaseContentView.js:
* UserInterface/Views/EditingSupport.js:
* UserInterface/Views/ObjectPropertiesSection.js:
* UserInterface/Views/Popover.js:
* UserInterface/Views/TreeOutline.js:
JSDoc style comment blocks removed.

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

5 years ago<https://webkit.org/b/132976> Move discovery of sharing services off the main thread
mrowe@apple.com [Fri, 16 May 2014 00:11:39 +0000 (00:11 +0000)]
<https://webkit.org/b/132976> Move discovery of sharing services off the main thread

Discovery of sharing services can require disk access and IPC. Since the interface to
ServicesController is already asynchronous, we can easily perform the discovery on a
background queue. This can eliminate tens to hundreds of milliseconds worth of work
from the main thread when creating the first web process.

Reviewed by Brady Eidson.

* UIProcess/mac/ServicesController.h:
* UIProcess/mac/ServicesController.mm:
(WebKit::ServicesController::ServicesController):
(WebKit::ServicesController::refreshExistingServices): Bail out early if we're already
in the process of refreshing the services. Kick the discovery over to a background queue,
with it hopping back to the main queue to update the actual state and notify any contexts
that were interested.

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

5 years agoFixed a typo in a comment and updated previous change log entry.
mitz@apple.com [Fri, 16 May 2014 00:02:53 +0000 (00:02 +0000)]
Fixed a typo in a comment and updated previous change log entry.

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

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

5 years ago[iOS] www.wikipedia.org is loading much slower due to FormClient::willBeginInputSession
mitz@apple.com [Thu, 15 May 2014 23:46:30 +0000 (23:46 +0000)]
[iOS] wikipedia.org is loading much slower due to FormClient::willBeginInputSession
https://bugs.webkit.org/show_bug.cgi?id=132974

Reviewed by Enrica Casucci.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::elementDidFocus): Don’t call FormClient::willBeginInputSession if the
focus isn’t user-initiated, because in that case the UI process will bail out of
-_startAssistingNode:userIsInteracting:userObject: before creating an input session and
calling the -_webView:didStartInputSession:.

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

5 years agoSVG element may reference arbitrary DOM element before running its insertion logic
dbates@webkit.org [Thu, 15 May 2014 23:28:20 +0000 (23:28 +0000)]
SVG element may reference arbitrary DOM element before running its insertion logic
https://bugs.webkit.org/show_bug.cgi?id=132757
<rdar://problem/15703817>

Reviewed by Ryosuke Niwa.

Source/WebCore:
Fixes an issue where an SVG element may reference an arbitrary DOM element e before e finished being
inserted in the tree.

Currently when an SVG element A is inserted into a document we use document.getElementById() to find the
element B it references (if any). If A is inserted before B and B has the same id as a later element in
the document then A can find B before B is notified that its been inserted into the document (i.e. before
Element::insertedFrom() is called on B). Instead, A should call document.getElementById() only after
cessation of the insertion operation that inserted it to ensure that all inserted nodes (including B)
processed their insertion-specific logic.

Tests: svg/custom/reparent-animate-element.html
       svg/custom/reparent-feimage-element.html
       svg/custom/reparent-mpath-element.html
       svg/custom/reparent-textpath-element.html
       svg/custom/reparent-tref-element.html
       svg/custom/reparent-use-element.html

* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGFEImageElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGFEImageElement::didNotifySubtreeInsertions): Added; turns around and calls SVGFEImageElement::buildPendingResources().
* svg/SVGFEImageElement.h:
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGMPathElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGMPathElement::didNotifySubtreeInsertions): Added; turns around and calls SVGMPathElement::buildPendingResources().
* svg/SVGMPathElement.h:
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGTRefElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGTRefElement::didNotifySubtreeInsertions): Added; turns around and calls SVGTRefElement::buildPendingResources().
* svg/SVGTRefElement.h:
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGTextPathElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGTextPathElement::didNotifySubtreeInsertions): Added; turns around and calls SVGTextPathElement::buildPendingResources().
* svg/SVGTextPathElement.h:
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGUseElement::buildPendingResources()) after its subtree is
inserted.
(WebCore::SVGUseElement::didNotifySubtreeInsertions): Added; turns around and calls SVGUseElement::buildPendingResources().
* svg/SVGUseElement.h:
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGSMILElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGSMILElement::didNotifySubtreeInsertions): Added; turns around and calls SVGSMILElement::buildPendingResources().
* svg/animation/SVGSMILElement.h:

LayoutTests:
Add tests to ensure that we don't cause an assertion failure when re-parenting an SVG subtree that
contains an element with a duplicate id.

* svg/custom/reparent-animate-element-expected.txt: Added.
* svg/custom/reparent-animate-element.html: Added.
* svg/custom/reparent-feimage-element-expected.txt: Added.
* svg/custom/reparent-feimage-element.html: Added.
* svg/custom/reparent-mpath-element-expected.txt: Added.
* svg/custom/reparent-mpath-element.html: Added.
* svg/custom/reparent-textpath-element-expected.txt: Added.
* svg/custom/reparent-textpath-element.html: Added.
* svg/custom/reparent-tref-element-expected.txt: Added.
* svg/custom/reparent-tref-element.html: Added.
* svg/custom/reparent-use-element-expected.txt: Added.
* svg/custom/reparent-use-element.html: Added.

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

5 years agoJSDOMWindow should not claim HasImpureGetOwnPropertySlot
mhahnenberg@apple.com [Thu, 15 May 2014 23:03:06 +0000 (23:03 +0000)]
JSDOMWindow should not claim HasImpureGetOwnPropertySlot
https://bugs.webkit.org/show_bug.cgi?id=132918

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:
* jit/Repatch.cpp:
(JSC::tryRepatchIn): We forgot to check for watchpoints when repatching "in".

Source/WebCore:
Tests: js/cached-window-properties.html
       js/cached-window-prototype-properties.html

We now correctly handle the impurity of JSDOMWindow's custom getOwnPropertySlot without needing the
blanket HasImpureGetOwnPropertySlot. We do this through the use of watchpoints and by explicitly forbidding
any caching beyond a certain point using PropertySlot::disableCaching. Getting rid of this flag will allow
us to cache many properties/methods on both the JSDOMWindow and its prototype, which are very commonly used
across the web.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
* bindings/scripts/CodeGeneratorJS.pm:
(HasComplexGetOwnProperty):
(InterfaceRequiresAttributesOnInstance):
(InstanceOverridesGetOwnPropertySlot):
(GenerateHeader):

LayoutTests:
We now correctly handle the impurity of JSDOMWindow's custom getOwnPropertySlot without needing the
blanket HasImpureGetOwnPropertySlot. We do this through the use of watchpoints and by explicitly forbidding
any caching beyond a certain point using PropertySlot::disableCaching. Getting rid of this flag will allow
us to cache many properties/methods on both the JSDOMWindow and its prototype, which are very commonly used
across the web.

These tests trigger inline caching of window and window prototype properties.

* js/cached-window-properties-expected.txt: Added.
* js/cached-window-properties.html: Added.
* js/cached-window-prototype-properties-expected.txt: Added.
* js/cached-window-prototype-properties.html: Added.

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

5 years agoCrash in [WebSharingServicePickerController clear]
beidson@apple.com [Thu, 15 May 2014 21:27:31 +0000 (21:27 +0000)]
Crash in [WebSharingServicePickerController clear]
<rdar://problem/16879073> and https://bugs.webkit.org/show_bug.cgi?id=132968

Reviewed by Tim Horton.

* Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController clear]): Add a RetainPtr protector so this object
  isn’t dealloc’ed partway through.

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

5 years agoInitialize the WebKitRegionBasedColumnsEnabled pref on iOS WK1
simon.fraser@apple.com [Thu, 15 May 2014 21:20:57 +0000 (21:20 +0000)]
Initialize the WebKitRegionBasedColumnsEnabled pref on iOS WK1
https://bugs.webkit.org/show_bug.cgi?id=132969

Reviewed by Dan Bernstein.

Move this outside the #if !PLATFORM(IOS) block.

* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):

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

5 years agoClean up -[WebView _preferencesChanged]
simon.fraser@apple.com [Thu, 15 May 2014 21:20:55 +0000 (21:20 +0000)]
Clean up -[WebView _preferencesChanged]
https://bugs.webkit.org/show_bug.cgi?id=132967

Reviewed by Sam Weinig.

-[WebView _preferencesChanged] was a horrible mess of #ifdefs. Clean this up by
moving all the #if PLATFORM() code together, and moving all the feature-define related
settings to the end.

No behavior changes, checked by diffing the resulting Settings with and without
the patch, on OS X and iOS.

* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

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

5 years ago[iOS] Support TestWebKitAPI in the iOS Simulator
ddkilzer@apple.com [Thu, 15 May 2014 21:17:33 +0000 (21:17 +0000)]
[iOS] Support TestWebKitAPI in the iOS Simulator
<http://webkit.org/b/129535>
<rdar://problem/16203529>

Reviewed by Daniel Bates.

* Scripts/run-api-tests:
(runTest):
(listAllTests):
- Extract common arguments into local variable.
- Use xcrun to find the sim tool in order to invoke
TestWebKitAPI properly in the iOS Simulator.

* Scripts/webkitdirs.pm:
(argumentsForConfiguration): Set --device or --sim as
appropriate to fix buildTestTool() in run-api-tests.

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

5 years agoNetworkProcess crashes at ResourceHandle::continueDidReceiveResponse
ap@apple.com [Thu, 15 May 2014 21:00:07 +0000 (21:00 +0000)]
NetworkProcess crashes at ResourceHandle::continueDidReceiveResponse
https://bugs.webkit.org/show_bug.cgi?id=132966
<rdar://problem/16373694>

Reviewed by Brady Eidson.

Covered by many fast/files tests.

* platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::continueDidReceiveResponse):
* platform/network/BlobResourceHandle.h:
* platform/network/ResourceHandle.h:
Don't call delegate's continueDidReceiveResponse when loading a blob:// URL,
the delegate is null. On the Mac, we used to lazily create it, which was also wrong,
but at least not observable.

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

5 years agoAutomatically zip document bundles used via File API
ap@apple.com [Thu, 15 May 2014 20:58:32 +0000 (20:58 +0000)]
Automatically zip document bundles used via File API
https://bugs.webkit.org/show_bug.cgi?id=132713
<rdar://problem/13397892>

Actually land the tests.

* fast/files/filereader-zip-bundle-expected.txt: Added.
* fast/files/filereader-zip-bundle.html: Added.
* fast/files/resources/document.rtfd: Added.
* fast/files/resources/document.rtfd/TXT.rtf: Added.
* http/tests/local/fileapi/resources/document.rtfd: Added.
* http/tests/local/fileapi/resources/document.rtfd/TXT.rtf: Added.
* http/tests/local/fileapi/upload-zip-bundle-as-blob-expected.txt: Added.
* http/tests/local/fileapi/upload-zip-bundle-as-blob.html: Added.
* platform/wk2/TestExpectations:

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

5 years ago[iOS][WK2] WKWebView sends invalid content offsets at the end of animated resize
benjamin@webkit.org [Thu, 15 May 2014 20:03:27 +0000 (20:03 +0000)]
[iOS][WK2] WKWebView sends invalid content offsets at the end of animated resize
https://bugs.webkit.org/show_bug.cgi?id=132941
<rdar://problem/16921557>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-15
Reviewed by Tim Horton.

Since we cannot change the scale and content inset simultaneously while accounting for the obscured insets,
we end up with invalid contentOffsets.

To work around the problem, change the content scale outside of UIScrollView to ensure none of the side effect
happens.

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

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

5 years agoFix a logging typo in copy-webkitlibraries-to-product-directory
timothy_horton@apple.com [Thu, 15 May 2014 19:45:05 +0000 (19:45 +0000)]
Fix a logging typo in copy-webkitlibraries-to-product-directory

Reviewed by Dean Jackson.

* Scripts/copy-webkitlibraries-to-product-directory:

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

5 years agoUnreviewed, rolling out r168899.
commit-queue@webkit.org [Thu, 15 May 2014 19:17:27 +0000 (19:17 +0000)]
Unreviewed, rolling out r168899.
https://bugs.webkit.org/show_bug.cgi?id=132965

Broke some compositing regions tests on Mavericks (Requested
by mihnea___ on #webkit).

Reverted changeset:

"[CSS Regions] Reduce the RenderRegion invasiveness in
rendering code"
https://bugs.webkit.org/show_bug.cgi?id=132121
http://trac.webkit.org/changeset/168899

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

5 years agoWebKit2 View Gestures (Zoom): Document size changes during zoom gesture cause erratic...
timothy_horton@apple.com [Thu, 15 May 2014 19:15:21 +0000 (19:15 +0000)]
WebKit2 View Gestures (Zoom): Document size changes during zoom gesture cause erratic scrolling
https://bugs.webkit.org/show_bug.cgi?id=132944
<rdar://problem/15769454>

Reviewed by Simon Fraser.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
If a layer flush occurs and we have an active transient zoom,
re-apply the transient zoom to the relevant platform layers, because
WebCore might have overwritten the relevant layer properties.

(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
Reset m_transientZoomScale before flushLayers() so that we don't
re-apply the transient zoom when we're actually trying to commit it.

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

5 years agoAdd pointer lock to features without enabling it.
commit-queue@webkit.org [Thu, 15 May 2014 18:42:44 +0000 (18:42 +0000)]
Add pointer lock to features without enabling it.
https://bugs.webkit.org/show_bug.cgi?id=132961

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-15
Reviewed by Sam Weinig.

* Configurations/FeatureDefines.xcconfig:
Added ENABLE_POINTER_LOCK to list of features.

Source/WebCore:
* WebCore.exp.in:
Added linker symbols which differ with pointer lock enabled.
* WebCore.xcodeproj/project.pbxproj:
Added PointerLockController.cpp to build.

Source/WebKit/mac:
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
Added extra parameters needed when pointer lock is enabled.

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

5 years agoMove subframe name getter lookup later in JSDOMWindow::getOwnPropertySlot
mhahnenberg@apple.com [Thu, 15 May 2014 18:28:50 +0000 (18:28 +0000)]
Move subframe name getter lookup later in JSDOMWindow::getOwnPropertySlot
https://bugs.webkit.org/show_bug.cgi?id=132922

Reviewed by Geoffrey Garen.

Source/WebCore:
No new tests.

In JSDOMWindow::getOwnPropertySlot, we currently look for the property on the JSDOMWindow,
then we search the window's subframes for name getters, then we look in the window's prototype
chain. Apparently we were doing the lookup in this order to be compatible with Mozilla, but
Mozilla no longer implements this behavior. Instead, they do the lookup on the prototype before
looking for subframe name getters. We should change this to match Mozilla. This has the convenient
side effect of allowing us to cache lookups in the window's prototype chain.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):

LayoutTests:
In JSDOMWindow::getOwnPropertySlot, we currently look for the property on the JSDOMWindow,
then we search the window's subframes for name getters, then we look in the window's prototype
chain. Apparently we were doing the lookup in this order to be compatible with Mozilla, but
Mozilla no longer implements this behavior. Instead, they do the lookup on the prototype before
looking for subframe name getters. We should change this to match Mozilla. This has the convenient
side effect of allowing us to cache lookups in the window's prototype chain.

* fast/dom/Window/window-function-frame-getter-precedence-expected.txt: Rebaseline to account
for change in behavior.
* fast/dom/Window/window-function-frame-getter-precedence.html:
* http/tests/security/document-all-expected.txt: Rebaseline due to the presenece of a security check
that was previously not done with the old behavior.
* http/tests/security/window-named-proto-expected.txt: Ditto.
* http/tests/security/window-named-valueOf-expected.txt: Ditto.
* http/tests/security/xss-DENIED-window-name-alert.html: Changed test so it actually tests named getters.

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

5 years ago[UI-side compositing] Fix copying animations between layers, and pausing them
simon.fraser@apple.com [Thu, 15 May 2014 17:48:33 +0000 (17:48 +0000)]
[UI-side compositing] Fix copying animations between layers, and pausing them
https://bugs.webkit.org/show_bug.cgi?id=132943
<rdar://problem/16906369&16906541>

Reviewed by Tim Horton.

Source/WebCore:

Pass the animation key back to animationStarted(), though this isn't used
when animations are running in-process.

* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/mac/PlatformCALayerMac.h:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(-[WebAnimationDelegate animationDidStart:]):
(PlatformCALayerMac::animationStarted):
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::animationStarted):
* platform/graphics/ca/win/PlatformCALayerWin.h:

Source/WebKit2:

Fix PlatformCAAnimationRemote to support animation copying, and to record
the beginTime for implicitly started animations. This fixes animation pausing,
and copying of animations between layers when they go between tiled and non-tiled.

This requires sending the animation key back through animationDidStart() so that
we can record this beginTime on the PlatformCAAnimationRemote in the web process.
This path doesn't set the "hasExplicitBeginTime" flag.

PlatformCAAnimationRemote also now stores a hash of active animations, so that
it can implement animationForKey(), and record the beginTime.

* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidStart):
* UIProcess/mac/RemoteLayerTreeHost.h:
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::animationDidStart): Grovel for the key for this
animation; sadly CA doesn't give us an easier way.
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::acceleratedAnimationDidStart):
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
(-[WKAnimationDelegate animationDidStart:]):
(WebKit::PlatformCAAnimationRemote::copy):
(WebKit::PlatformCAAnimationRemote::copyTimingFunctionFrom):
(WebKit::PlatformCAAnimationRemote::copyFromValueFrom):
(WebKit::PlatformCAAnimationRemote::copyToValueFrom):
(WebKit::PlatformCAAnimationRemote::copyValuesFrom):
(WebKit::PlatformCAAnimationRemote::copyKeyTimesFrom):
(WebKit::PlatformCAAnimationRemote::copyTimingFunctionsFrom):
(WebKit::addAnimationToLayer):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::addAnimationForKey):
(WebKit::PlatformCALayerRemote::removeAnimationForKey):
(WebKit::PlatformCALayerRemote::animationForKey):
(WebKit::PlatformCALayerRemote::animationStarted):
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:
* WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
* WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
(WebKit::RemoteLayerTreeContext::animationDidStart):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::acceleratedAnimationDidStart):

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

5 years agoTestWebKitAPI: URLExtras.mm should be a shared test for iOS and Mac
ddkilzer@apple.com [Thu, 15 May 2014 17:18:25 +0000 (17:18 +0000)]
TestWebKitAPI: URLExtras.mm should be a shared test for iOS and Mac
<http://webkit.org/b/132959>

Reviewed by Dan Bernstein.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add
Cocoa directory to project and move URLExtras.mm into it.
* TestWebKitAPI/Tests/Cocoa/URLExtras.mm: Renamed from Tools/TestWebKitAPI/Tests/mac/URLExtras.mm.

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

5 years ago[CSS Regions] Reduce the RenderRegion invasiveness in rendering code
abucur@adobe.com [Thu, 15 May 2014 16:43:07 +0000 (16:43 +0000)]
[CSS Regions] Reduce the RenderRegion invasiveness in rendering code
https://bugs.webkit.org/show_bug.cgi?id=132121

Reviewed by Antti Koivisto.

Remove the RenderRegion / RenderNamedFlowFragment parameters and fields from
the painting / hit testing data structures and use a stateful approach to
correctly handle regions.

When painting or hit testing, the current flow thread is saved along the current
region. They are accessed through the |currentRenderNamedFlowFragment| helper
method on RenderObject or RenderLayer.

The patch also changes a bunch of 0s to nullptrs.

Tests: No new tests, no functional change.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
* rendering/HitTestLocation.cpp:
(WebCore::HitTestLocation::HitTestLocation):
(WebCore::HitTestLocation::operator=):
* rendering/HitTestLocation.h:
(WebCore::HitTestLocation::region): Deleted.
* rendering/HitTestResult.h:
* rendering/PaintInfo.h:
(WebCore::PaintInfo::PaintInfo):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::nodeAtPoint):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::pushContentsClip):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderBoxModelObject.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::clippedByAncestor):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::currentRenderNamedFlowFragment):
* rendering/RenderObject.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::shouldPaint):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::paint):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::nodeAtPoint):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeLayers):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::paint):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paintReplaced):

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

5 years agoClean up "has non-zero begin time" terminology in animations
simon.fraser@apple.com [Thu, 15 May 2014 16:35:00 +0000 (16:35 +0000)]
Clean up "has non-zero begin time" terminology in animations
https://bugs.webkit.org/show_bug.cgi?id=132942

Reviewed by Tim Horton.

Change the "non-zero beginTime" terminology in the platform CA animations
code to "explicit beginTime": this flag really means that we explicitly set
the beginTime of the animation, rather than let CA set the beginTime when
committing the animation. This flag is used for animations with negative
delay, and when pausing.

Source/WebCore:

The WKNonZeroBeginTimeFlag key was spread across PlatformCALayerMac and PlatformCAAnimationMac,
so hide it behind getter/setter functions.

Remove lots of m_layer.get() in PlatformCAAnimationMac.

* platform/graphics/ca/mac/PlatformCAAnimationMac.h:
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
(WebCore::hasExplicitBeginTime):
(WebCore::setHasExplicitBeginTime):
(PlatformCAAnimationMac::copy):
(PlatformCAAnimationMac::keyPath):
(PlatformCAAnimationMac::beginTime):
(PlatformCAAnimationMac::setBeginTime):
(PlatformCAAnimationMac::duration):
(PlatformCAAnimationMac::setDuration):
(PlatformCAAnimationMac::speed):
(PlatformCAAnimationMac::setSpeed):
(PlatformCAAnimationMac::timeOffset):
(PlatformCAAnimationMac::setTimeOffset):
(PlatformCAAnimationMac::repeatCount):
(PlatformCAAnimationMac::setRepeatCount):
(PlatformCAAnimationMac::autoreverses):
(PlatformCAAnimationMac::setAutoreverses):
(PlatformCAAnimationMac::fillMode):
(PlatformCAAnimationMac::setFillMode):
(PlatformCAAnimationMac::setTimingFunction):
(PlatformCAAnimationMac::copyTimingFunctionFrom):
(PlatformCAAnimationMac::isRemovedOnCompletion):
(PlatformCAAnimationMac::setRemovedOnCompletion):
(PlatformCAAnimationMac::isAdditive):
(PlatformCAAnimationMac::setAdditive):
(PlatformCAAnimationMac::valueFunction):
(PlatformCAAnimationMac::setValueFunction):
(hasNonZeroBeginTimeFlag): Deleted.
(setNonZeroBeginTimeFlag): Deleted.
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(-[WebAnimationDelegate animationDidStart:]):

Source/WebKit2:

* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTextStream::operator<<):
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
(-[WKAnimationDelegate animationDidStart:]):
(WebKit::PlatformCAAnimationRemote::Properties::encode):
(WebKit::PlatformCAAnimationRemote::Properties::decode):
(WebKit::PlatformCAAnimationRemote::setBeginTime):
(WebKit::addAnimationToLayer):

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

5 years agoUnreviewed, rolling out r168893.
commit-queue@webkit.org [Thu, 15 May 2014 15:18:57 +0000 (15:18 +0000)]
Unreviewed, rolling out r168893.
https://bugs.webkit.org/show_bug.cgi?id=132957

Lots of media tests still come to crash on EFL layout test
(Requested by gyuyoung on #webkit).

Reverted changeset:

"LayoutTests: Unreviewed EFL gardening. Unskip media test both
EFL WK1 and WK2."
http://trac.webkit.org/changeset/168893

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

5 years ago[EFL] Add new test expectations after r168544
commit-queue@webkit.org [Thu, 15 May 2014 08:51:01 +0000 (08:51 +0000)]
[EFL] Add new test expectations after r168544
https://bugs.webkit.org/show_bug.cgi?id=132908

Unreviewed gardening

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-05-15

* platform/efl/TestExpectations:
* platform/efl/svg/foreignObject/svg-document-in-html-document-expected.txt:
* platform/efl/svg/text/small-fonts-in-html5-expected.txt:
* platform/efl/svg/zoom/page/zoom-svg-as-relative-image-expected.txt: Added.
* platform/efl/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Added.

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

5 years ago[iOS] Incremental updates during scroll-to-top shouldn’t count as “stable” updates
timothy_horton@apple.com [Thu, 15 May 2014 08:09:15 +0000 (08:09 +0000)]
[iOS] Incremental updates during scroll-to-top shouldn’t count as “stable” updates
https://bugs.webkit.org/show_bug.cgi?id=132934

Reviewed by Simon Fraser.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateVisibleContentRects]):
If we're in a scroll-to-top programmatic scroll, the update is not stable.
The last event comes in with _isScrollingToTop false, so we do our stable update.

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

5 years ago[GTK] Compile all installed resources as GResources
carlosgc@webkit.org [Thu, 15 May 2014 08:06:29 +0000 (08:06 +0000)]
[GTK] Compile all installed resources as GResources
https://bugs.webkit.org/show_bug.cgi?id=131099

Reviewed by Philippe Normand.

Source/WebCore:
* PlatformGTK.cmake: Do not install the resources.
* platform/audio/gtk/AudioBusGtk.cpp:
(WebCore::AudioBus::loadPlatformResource): Load the audio resource
from GResources and use createBusFromInMemoryAudioFile().
* platform/graphics/Image.h: Remove unsued function loadPlatformThemeIcon.
* platform/graphics/gtk/ImageGtk.cpp:
(WebCore::loadImageFromGResource): Load the given icon name from GResources.
(WebCore::loadResourceSharedBuffer): Use char* instead of CString.
(WebCore::loadMissingImageIconFromTheme): Try to load the missing
icon from the current GTK icon theme.
(WebCore::Image::loadPlatformResource): Call
loadMissingImageIconFromTheme for missing icon or
loadImageFromGResource for any other icon name.
(WebCore::getPathToImageResource): Deleted.
(WebCore::getThemeIconFileName): Deleted.
(WebCore::loadImageFromFile): Deleted.
(WebCore::Image::loadPlatformThemeIcon): Deleted.

Source/WebKit2:
It avoids conflicts with old WebKit versions, and resources are
always found even without installing or using environment variables.

* PlatformGTK.cmake: Add rules to write the xml file with the
resources depending on the configure options and to generate and
build the GResources file.

Tools:
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server): Removed now unneeded
AUDIO_RESOURCES_PATH env var.

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

5 years agoLayoutTests: Unreviewed EFL gardening. Unskip media test both EFL WK1 and WK2.
gyuyoung.kim@samsung.com [Thu, 15 May 2014 05:40:53 +0000 (05:40 +0000)]
LayoutTests: Unreviewed EFL gardening. Unskip media test both EFL WK1 and WK2.
Crash doesn't happen anymore.

* platform/efl/TestExpectations:

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

5 years ago[EFL][WK2] Fix an unit test of ewk_context_url_scheme_register()
gyuyoung.kim@samsung.com [Thu, 15 May 2014 05:07:28 +0000 (05:07 +0000)]
[EFL][WK2] Fix an unit test of ewk_context_url_scheme_register()
https://bugs.webkit.org/show_bug.cgi?id=132902

Reviewed by Anders Carlsson.

This test can be run when CUSTOM_PROTOCOL is enabled. Besides the test needs
to check if registered callback function works well.

* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(EWK2ContextTest::schemeRequestCallback):
(TEST_F):

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

5 years ago[EFL][WK2] Use default context for ewk_view_add
ryuan.choi@samsung.com [Thu, 15 May 2014 04:20:44 +0000 (04:20 +0000)]
[EFL][WK2] Use default context for ewk_view_add
https://bugs.webkit.org/show_bug.cgi?id=132936

Reviewed by Gyuyoung Kim.

Since r146265, ewk_view_add created new context and it's regression.
This patch restores the behavior of ewk_view_add to original one.

* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_add):
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(TEST_F):

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

5 years agoTiled scrolling indicator needs to take topContentInset into account
bdakin@apple.com [Thu, 15 May 2014 04:08:48 +0000 (04:08 +0000)]
Tiled scrolling indicator needs to take topContentInset into account
https://bugs.webkit.org/show_bug.cgi?id=132940

Reviewed by Simon Fraser.

The tiled scrolling indicator needs to move down by the value of the
topContentInset. This patch makes that happen by caching the topContentInset in
the TileController. This does feel a little silly since there is already a
function called setTiledScrollingIndicatorPosition() on TiledBacking. However, it
was often the case that calling that function had no effect because m_coverageMap
had not yet been created, and then the information was lost. So instead, we cache
the value.

Set TiledBacking’s copy of topContentInset whenever it changes for the FrameView.
* page/FrameView.cpp:
(WebCore::FrameView::topContentInsetDidChange):

New function to set the inset. Use the inset to position the coverage map.
* platform/graphics/TiledBacking.h:
* platform/graphics/ca/mac/TileController.h:
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::TileController):
(WebCore::TileController::setTopContentInset):

When the coverage map is created, consult the value of the inset.
* platform/graphics/ca/mac/TileCoverageMap.mm:
(WebCore::TileCoverageMap::TileCoverageMap):

Once the backing has been ensured, set the inset.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):

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

5 years agoDatabase Process crashes after loading html5test.com
mjs@apple.com [Thu, 15 May 2014 03:58:04 +0000 (03:58 +0000)]
Database Process crashes after loading html5test.com
https://bugs.webkit.org/show_bug.cgi?id=132938
<rdar://problem/16241419>

Reviewed by Ryosuke Niwa.

* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess): Expand comment
about the null check.
(WebKit::DatabaseProcessIDBConnection::deleteDatabase): Call disconnectedFromWebProcess
to pick up its null check and to avoid duplicating code.

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

5 years agoMerge r1267628 from branch.
bfulgham@apple.com [Thu, 15 May 2014 03:24:41 +0000 (03:24 +0000)]
Merge r1267628 from branch.
<rdar://problem/15751219>

    Pratik Solanki  <psolanki@apple.com>

    Reviewed by Simon Fraser.",

    TileController relied on the tiling mode in TileCache to determine if it should use low-res
    tiles when zooming. Unfortunately, sometimes the tiling mode gets set to Zooming even though
    it's actually a pan. Thus we can end up with blurry tiles. Fix this by adding a new flag on
    TileCache that controls this behavior and have UIKit set it only when we have an actual zoom
    operation.

* platform/ios/LegacyTileCache.h:
(WebCore::LegacyTileCache::tileControllerShouldUseLowScaleTiles):
(WebCore::LegacyTileCache::setTileControllerShouldUseLowScaleTiles):
* platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::LegacyTileCache):
* platform/ios/wak/WAKWindow.h:
* platform/ios/wak/WAKWindow.mm:
(-[WAKWindow setTileControllerShouldUseLowScaleTiles:]):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles):

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

5 years agoUnreviewed, rolling out r168750.
commit-queue@webkit.org [Thu, 15 May 2014 02:37:45 +0000 (02:37 +0000)]
Unreviewed, rolling out r168750.
https://bugs.webkit.org/show_bug.cgi?id=132935

Caused repaint bugs (Requested by weinig on #webkit).

Reverted changeset:

"Text decorations do not contribute to visual overflow"
https://bugs.webkit.org/show_bug.cgi?id=132773
http://trac.webkit.org/changeset/168750

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

5 years ago[New multicolumn] Spin in RenderMultiColumnSet::repaintFlowThreadContent()
simon.fraser@apple.com [Thu, 15 May 2014 02:33:08 +0000 (02:33 +0000)]
[New multicolumn] Spin in RenderMultiColumnSet::repaintFlowThreadContent()
https://bugs.webkit.org/show_bug.cgi?id=132884

Reviewed by Beth Dakin.

On iOS, wikipedia pages can hang under RenderMultiColumnSet::repaintFlowThreadContent().
It appears that computedColumnHeight is set to 0 in prepareForLayout, but layout never happens
on the RenderMultiColumnSet in some cases, leaving the column height set to zero.
This caused columnIndexAtOffset() to return bad values, which resulted in very long loops
in repaintFlowThreadContent().

This fix is a stop-gap.

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::columnIndexAtOffset):

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

5 years ago[iOS][WK2] The top/bottom edges should not be sticky when restoring the scroll positi...
benjamin@webkit.org [Thu, 15 May 2014 00:32:33 +0000 (00:32 +0000)]
[iOS][WK2] The top/bottom edges should not be sticky when restoring the scroll position from the dynamic size update history
https://bugs.webkit.org/show_bug.cgi?id=132931

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-14
Reviewed by Sam Weinig.

The goal of dynamicSizeUpdateHistory is to make dynamic resize completely reversible.
Because of the stick-to-edges heuristics, this was not true near the top and bottom edges.

For example, start in landscape, scroll the page a bit, then rotate to portrait. Now you have
a lot more vertical space, and the top edge of the document is at the edge of the scrollview.
Rotate back to landscape: the position is restored  correct, but it is then overriden by
the stick-to-edges branch.

When we restore the position from history, we should only put it back in the valid bounds, skipping
stick-to-edges entirely.

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

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

5 years agoRemove FrameView::viewportConstrainedExtentRect, it is unused
benjamin@webkit.org [Thu, 15 May 2014 00:27:17 +0000 (00:27 +0000)]
Remove FrameView::viewportConstrainedExtentRect, it is unused
https://bugs.webkit.org/show_bug.cgi?id=132927

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

* page/FrameView.cpp:
(WebCore::FrameView::viewportConstrainedExtentRect): Deleted.
* page/FrameView.h:
Simon replaced this by viewportConstrainedVisibleContentRect, remove the old code.

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

5 years agoEnable IOSurface view snapshots for 10.9+
timothy_horton@apple.com [Thu, 15 May 2014 00:16:42 +0000 (00:16 +0000)]
Enable IOSurface view snapshots for 10.9+
https://bugs.webkit.org/show_bug.cgi?id=132932
<rdar://problem/16900619>

Reviewed by Dean Jackson.

* UIProcess/mac/ViewSnapshotStore.h:
r166005 unintentionally worked around <rdar://problem/16734031>.
r168689 fixed another bug that caused sometimes randomly white snapshots.
It's safe to turn on IOSurface view snapshots where purgeability is supported.

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

5 years agoOnly define MAX_GRID_TRACK_REPETITIONS if CSS_GRID_LAYOUT is enabled.
matthew_hanson@apple.com [Thu, 15 May 2014 00:13:15 +0000 (00:13 +0000)]
Only define MAX_GRID_TRACK_REPETITIONS if CSS_GRID_LAYOUT is enabled.

This was causing -Wunused-const-variable errors.

* css/CSSParser.cpp: Add include guard.

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

5 years agoTile cache has way too many tiles when pinch-zoomed in
bdakin@apple.com [Wed, 14 May 2014 23:58:06 +0000 (23:58 +0000)]
Tile cache has way too many tiles when pinch-zoomed in
https://bugs.webkit.org/show_bug.cgi?id=132929
-and corresponding-
<rdar://problem/16527172>

Reviewed by Benjamin Poulain.

This patch makes the margin sizing functions return the set margin size scaled by
the TileGrid's scale. We also need to get rid of the old notion we used to have
that margin tiles might be allowed to have a different size than the other tiles.
We don't want that. They should have the normal margin size, but they should
affect the overall coverage area.

Scale by the TileGrid's scale.
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::topMarginHeight):
(WebCore::TileController::bottomMarginHeight):
(WebCore::TileController::leftMarginWidth):
(WebCore::TileController::rightMarginWidth):

Get rid of adjustRectAtTileIndexForMargin() since we do not want to ever do this
adjustment. Use tileSize instead of margin size for all sizing computations.
* platform/graphics/ca/mac/TileGrid.h:
* platform/graphics/ca/mac/TileGrid.mm:
(WebCore::TileGrid::rectForTileIndex):
(WebCore::TileGrid::getTileIndexRangeForRect):
(WebCore::TileGrid::adjustRectAtTileIndexForMargin): Deleted.

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

5 years ago[Mac] Search fields should not use centered look
dino@apple.com [Wed, 14 May 2014 23:36:34 +0000 (23:36 +0000)]
[Mac] Search fields should not use centered look
https://bugs.webkit.org/show_bug.cgi?id=132930
<rdar://problem/16825842>

Reviewed by Beth Dakin.

We need to explicitly set the centeredLook property
to NO on modern releases of Mac.

* rendering/RenderThemeMac.mm: Declare a new private property and set it to NO.
(WebCore::RenderThemeMac::search):

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

5 years agoUse the correct client in WebPageProxy::unwrapCryptoKey
ap@apple.com [Wed, 14 May 2014 23:20:56 +0000 (23:20 +0000)]
Use the correct client in WebPageProxy::unwrapCryptoKey
https://bugs.webkit.org/show_bug.cgi?id=132924

Reviewed by Darin Adler.

* UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::unwrapCryptoKey): Match what
we now do in wrapCryptoKey().

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

5 years agoSubpixel layout: Change Element.offset* client* scroll* return type to double.
zalan@apple.com [Wed, 14 May 2014 23:13:52 +0000 (23:13 +0000)]
Subpixel layout: Change Element.offset* client* scroll* return type to double.
https://bugs.webkit.org/show_bug.cgi?id=132895

Reviewed by Simon Fraser.

Source/WebCore:
This patch changes Element.offset*, Element.client* and Element.scroll* APIs return
type from long to double to match the latest CSSOM View Module spec[1].
Element.offset* and Element.client* do return subpixel values from now on.
Element.scroll* still return integral values as the scrolling code hasn't adopted to subpixel rendering yet.

subpixelCSSOMElementMetricsEnabled setting is added to be able to turn this feature on/off
from WK2 preferences. It toggles the return value from subpixel to floored integral.
It does not change layout/rendering behavior.

Reference list of what other browsers do:
IE: http://blogs.msdn.com/b/ie/archive/2012/02/17/sub-pixel-rendering-and-the-css-object-model.aspx
Blink: http://www.chromestatus.com/features/5497402177880064
Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=825607

[1] http://www.w3.org/TR/2013/WD-cssom-view-20131217/

Test: cssom/subpixel-offsetleft-top-width-height-values.html

* dom/Element.cpp:
(WebCore::localZoomForRenderer):
(WebCore::adjustForLocalZoom):
(WebCore::convertToNonSubpixelValueIfNeeded):
(WebCore::Element::offsetLeft):
(WebCore::Element::offsetTop):
(WebCore::Element::offsetWidth):
(WebCore::Element::offsetHeight):
(WebCore::Element::clientLeft):
(WebCore::Element::clientTop):
(WebCore::Element::clientWidth):
(WebCore::Element::clientHeight):
(WebCore::Element::scrollLeft):
(WebCore::Element::scrollTop):
(WebCore::Element::setScrollLeft):
(WebCore::Element::setScrollTop):
(WebCore::Element::scrollWidth):
(WebCore::Element::scrollHeight):
* dom/Element.h:
* dom/Element.idl:
* html/HTMLBodyElement.cpp:
(WebCore::adjustForZoom):
(WebCore::HTMLBodyElement::scrollLeft):
(WebCore::HTMLBodyElement::setScrollLeft):
(WebCore::HTMLBodyElement::scrollTop):
(WebCore::HTMLBodyElement::setScrollTop):
(WebCore::HTMLBodyElement::scrollHeight):
(WebCore::HTMLBodyElement::scrollWidth):
* html/HTMLBodyElement.h:
* page/Settings.in:

Source/WebKit2:
This patch changes Element.offset*, Element.client* and Element.scroll* APIs return
type from long to double to match the latest CSSOM View Module spec[1].
Element.offset* and Element.client* do return subpixel values from now on.
Element.scroll* still return integral values as the scrolling code hasn't adopted to subpixel rendering yet.

subpixelCSSOMElementMetricsEnabled setting is added to be able to turn this feature on/off
from WK2 preferences. It toggles the return value from subpixel to floored integral.
It does not change layout/rendering behavior.

Reference list of what other browsers do:
IE: http://blogs.msdn.com/b/ie/archive/2012/02/17/sub-pixel-rendering-and-the-css-object-model.aspx
Blink: http://www.chromestatus.com/features/5497402177880064
Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=825607

[1] http://www.w3.org/TR/2013/WD-cssom-view-20131217/

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetSubpixelCSSOMElementMetricsEnabled):
(WKPreferencesGetSubpixelCSSOMElementMetricsEnabled):
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

LayoutTests:
Some test cases expect integral values, so the test content is updated accordingly.
It mostly means adding Math.round() before comparing values in order to match pixelSnappedIntRect()
functionality.

* css3/calc/simple-calcs-prefixed.html: changed file format from Windows to Unix.
* css3/calc/simple-calcs.html: changed file format from Windows to Unix.
* cssom/subpixel-offsetleft-top-width-height-values-expected.txt: Added.
* cssom/subpixel-offsetleft-top-width-height-values.html: Added.
* editing/selection/drag-start-event-client-x-y.html: use floor as we compare the return value to a truncated integer.
* editing/selection/mixed-editability-10.html:
* fast/css/zoom-in-length-round-trip.html:
* fast/dom/non-numeric-values-numeric-parameters-expected.txt:
* fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
* fast/forms/basic-buttons.html:
* js/dom/dom-static-property-for-in-iteration-expected.txt:
* platform/mac/fast/scrolling/scroll-div-latched-div.html:
* platform/mac/fast/scrolling/scroll-div-latched-mainframe.html:
* platform/mac/fast/scrolling/scroll-select-bottom-test.html:
* platform/mac/fast/scrolling/scroll-select-latched-mainframe.html:
* platform/mac/fast/scrolling/scroll-select-latched-select.html:
* resources/check-layout.js:

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

5 years ago[iOS][WK2] Expose the viewport meta tag width on the UIProcess
benjamin@webkit.org [Wed, 14 May 2014 22:55:26 +0000 (22:55 +0000)]
[iOS][WK2] Expose the viewport meta tag width on the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=132926
<rdar://problem/16892115>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-14
Reviewed by Sam Weinig.

Safari requires the viewport meta tag width for legacy stuff on WebApps. Just send it
over to the UIProcess when it changes.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView _setViewportMetaTagWidth:]):
(-[WKWebView _viewportMetaTagWidth]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didChangeViewportMetaTagWidth):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::viewportMetaTagWidthDidChange):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::viewportPropertiesDidChange):

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

5 years ago[GTK] Unreviewed GTK gardening.
commit-queue@webkit.org [Wed, 14 May 2014 22:50:29 +0000 (22:50 +0000)]
[GTK] Unreviewed GTK gardening.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-14

* platform/gtk/TestExpectations: Report and mark new tests failing.
* platform/gtk/editing/apply-style-iframe-crash-expected.txt: Added.
Rebaseline after r168641.
* platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.txt: Added.
Rebaseline after r168543.
* platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.txt: Added.
Rebaseline after r168543.
* platform/gtk/svg/hixie/mixed/010-expected.txt: Rebaseline after r168674.
* platform/gtk/svg/zoom/page/zoom-svg-as-relative-image-expected.txt: Added.
Rebaseline after r168350.
* platform/gtk/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Added.
Rebaseline after r168674.

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

5 years ago[iOS WK2] Make view debugging easier
simon.fraser@apple.com [Wed, 14 May 2014 22:39:02 +0000 (22:39 +0000)]
[iOS WK2] Make view debugging easier
https://bugs.webkit.org/show_bug.cgi?id=132892

Reviewed by Tim Horton.

Enhance -[WKCompositingView description] to show WebKit-related information
which is useful when dumping a window's UIView hierarchy.

Also have WKTransformView and WKRemoteView inherit from WKCompositingView,
and thereby get the hitTest:withEvent: override for free, as well as better dumping.

* UIProcess/ios/RemoteLayerTreeHostIOS.mm:
(-[WKCompositingView description]):
(-[WKTransformView hitTest:withEvent:]): Deleted.
(-[WKRemoteView hitTest:withEvent:]): Deleted.

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

5 years ago[iOS][WK2] Fixed positioned element must relayout correctly before sending resize...
benjamin@webkit.org [Wed, 14 May 2014 21:13:00 +0000 (21:13 +0000)]
[iOS][WK2] Fixed positioned element must relayout correctly before sending resize events to the page
https://bugs.webkit.org/show_bug.cgi?id=132920
<rdar://problem/16836866>

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

During the dynamic resize operation, we do not update the fixed position elements because
it is a very hard problem on the UI Process side.

When the animation finishes, the fixed positioned rect is recomputed on the UIProcess and pushed
to the WebProcess.

The problem is sending the rect after the animation is too late, the content can observe the fixed
elements layout through JavaScript and would get the old size.

This patch fixes the issue updating the CustomFixedPositionLayoutRect on the WebProcess before
notifying the content of the resize.
First, we layout the content to the new fixed layout size to get the new content size.
Then, we compute the new FixedPositionedLayoutRect with FrameView's viewportConstrainedObjectsRect(),
this use the real content size and our estimated unobscured content rect.

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

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

5 years agoInline caching for proxies clobbers baseGPR too early
mhahnenberg@apple.com [Wed, 14 May 2014 20:48:55 +0000 (20:48 +0000)]
Inline caching for proxies clobbers baseGPR too early
https://bugs.webkit.org/show_bug.cgi?id=132916

Reviewed by Filip Pizlo.

We clobber baseGPR prior to the Structure checks, so if any of the checks fail then the slow path
gets the target of the proxy rather than the proxy itself. We need to delay the clobbering of baseGPR
until we know the inline cache is going to succeed.

* jit/Repatch.cpp:
(JSC::generateByIdStub):

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

5 years ago[Win] Unreviewed build fix.
bfulgham@apple.com [Wed, 14 May 2014 20:17:24 +0000 (20:17 +0000)]
[Win] Unreviewed build fix.

* JavaScriptCore.vcxproj/JavaScriptCore.submit.sln: This solution
was missing commands to build LLInt portions of JSC.
* llint/LLIntData.cpp: 64-bit build fix.

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

5 years agoImplement NSSharingServiceDelegate method "transitionImageForShareItem"
beidson@apple.com [Wed, 14 May 2014 20:12:14 +0000 (20:12 +0000)]
Implement NSSharingServiceDelegate method "transitionImageForShareItem"
<rdar://problem/16878020> and https://bugs.webkit.org/show_bug.cgi?id=132911

Reviewed by Tim Horton.

Source/WebCore:
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:

Source/WebKit/mac:
* Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController sharingService:transitionImageForShareItem:contentRect:]):

* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::renderedImageForControlledImage): Paint the entire content rect for the controlled image
  into an ImageBuffer, then return the resulting NSImage. This only paints the image itself and not any
  overlapping content by setting the selection and appropriate painting mode.

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

5 years agoAnother unreviewed build fix.
achristensen@apple.com [Wed, 14 May 2014 20:11:12 +0000 (20:11 +0000)]
Another unreviewed build fix.

* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::getTimingData):
Added necessary UNUSED_PARAMs.

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

5 years agoUnreviewed build fix after r168849.
achristensen@apple.com [Wed, 14 May 2014 20:03:40 +0000 (20:03 +0000)]
Unreviewed build fix after r168849.

* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::getTimingData):
Protect use of timing data with ENABLE(WEB_TIMING).

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

5 years agoRefactor duplicate code in web timing.
achristensen@apple.com [Wed, 14 May 2014 18:28:58 +0000 (18:28 +0000)]
Refactor duplicate code in web timing.
https://bugs.webkit.org/show_bug.cgi?id=132917

Reviewed by Alexey Proskuryakov.

* platform/network/ResourceHandle.h:
Added getTimingData declaration.
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::getTimingData):
* platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
Moved duplicate code to ResourceHandle.

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

5 years agoREGRESSION(WK2): Many pages have very wrong text size after rotating.
enrica@apple.com [Wed, 14 May 2014 18:02:58 +0000 (18:02 +0000)]
REGRESSION(WK2): Many pages have very wrong text size after rotating.
https://bugs.webkit.org/show_bug.cgi?id=132893
<rdar://problem/16806958>

Reviewed by Benjamin Poulain.

Whenever our viewport width changes we must reset text autosizing
on the renderer.

* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setViewportConfigurationMinimumLayoutSize):
(WebKit::WebPage::setMinimumLayoutSizeForMinimalUI):
(WebKit::WebPage::resetTextAutosizingBeforeLayoutIfNeeded):
(WebKit::WebPage::dynamicViewportSizeUpdate):

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