WebKit-https.git
6 years agoTextBreakIterator's should support Latin-1 for all iterator types (Part 2)
weinig@apple.com [Thu, 16 Jan 2014 03:59:42 +0000 (03:59 +0000)]
TextBreakIterator's should support Latin-1 for all iterator types (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=126856

Reviewed by Ryosuke Niwa.

Move the contents of TextBreakIteratorICU.cpp to TextBreakIterator.cpp and remove TextBreakIteratorICU.cpp.

* CMakeLists.txt:
* GNUmakefile.list.am:
* PlatformGTK.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* platform/text/TextBreakIterator.cpp:
* platform/text/TextBreakIteratorICU.cpp: Removed.

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

6 years agoMediaSessionManager shouldn't use std::map
eric.carlson@apple.com [Thu, 16 Jan 2014 03:40:28 +0000 (03:40 +0000)]
MediaSessionManager shouldn't use std::map
https://bugs.webkit.org/show_bug.cgi?id=127003

Reviewed by Sam Weinig.

No new tests, no functional change.

Use an array instead of std::map.
* platform/audio/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::MediaSessionManager):
(WebCore::MediaSessionManager::addRestriction):
(WebCore::MediaSessionManager::removeRestriction):
(WebCore::MediaSessionManager::restrictions):
(WebCore::MediaSessionManager::sessionWillBeginPlayback):
* platform/audio/MediaSessionManager.h:

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

6 years agoChange Page, FocusController to use ViewState
barraclough@apple.com [Thu, 16 Jan 2014 02:18:43 +0000 (02:18 +0000)]
Change Page, FocusController to use ViewState
https://bugs.webkit.org/show_bug.cgi?id=126533

Unreviewed rollout, this caused a regression.

Source/WebCore:

* WebCore.exp.in:
* page/FocusController.cpp:
(WebCore::FocusController::FocusController):
(WebCore::FocusController::setFocused):
(WebCore::FocusController::setActive):
(WebCore::FocusController::setContentIsVisible):
* page/FocusController.h:
(WebCore::FocusController::isActive):
(WebCore::FocusController::isFocused):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::setIsInWindow):
(WebCore::Page::setIsVisuallyIdle):
(WebCore::Page::setIsVisible):
(WebCore::Page::visibilityState):
(WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
* page/Page.h:
(WebCore::Page::isVisible):
(WebCore::Page::isInWindow):

Source/WebKit2:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setActive):
(WebKit::WebPage::setViewIsVisible):
(WebKit::WebPage::setFocused):
(WebKit::WebPage::setIsInWindow):
(WebKit::WebPage::setViewStateInternal):
(WebKit::WebPage::setIsVisuallyIdle):
* WebProcess/WebPage/WebPage.h:

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

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=127072
commit-queue@webkit.org [Thu, 16 Jan 2014 02:04:25 +0000 (02:04 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=127072
Don't autorelease wrapper object (WebProcessPlugInScriptWorld) for InjectedBundleScriptWorld::normalWorld().

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-01-15
Reviewed by Geoffrey Garen.

In [WKWebProcessPlugInScriptWorld normalWorld], InjectedBundleScriptWorld::normalWorld() returns a static
instance,  autoreleasing its wrapper object could cause a dangling pointer and crash later.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm:
(+[WKWebProcessPlugInScriptWorld normalWorld]):

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

6 years ago[WebGL] Resizing and entering/exiting full screen draws garbage
bfulgham@apple.com [Thu, 16 Jan 2014 01:51:38 +0000 (01:51 +0000)]
[WebGL] Resizing and entering/exiting full screen draws garbage
https://bugs.webkit.org/show_bug.cgi?id=127077

Reviewed by Dean Jackson.

* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::reshapeFBOs): Simplified logic regarding FBO switching.
(WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Make sure a few things
are turned off that might affect blitting data from one FBO to another.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::prepareTexture): Actually turn dithering off!
(WebCore::GraphicsContext3D::reshape): Mark the context as dirty when resizing so that
the GL view is redrawn during resizing events.

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

6 years ago[iOS] Properly exclude the shim dylibs this time
aestes@apple.com [Thu, 16 Jan 2014 01:06:40 +0000 (01:06 +0000)]
[iOS] Properly exclude the shim dylibs this time
https://bugs.webkit.org/show_bug.cgi?id=127075

Reviewed by Anders Carlsson.

BaseLegacyProcess.xcconfig was setting EXCLUDED_SOURCE_FILE_NAMES in
conflict with what I added in r161918, and I misspelled the setting
name in two instances. Fix these two bugs.

Also remove a vestigial OTHER_LDFLAGS from WebContentProcess.xcconfig
while we're here.

* Configurations/BaseLegacyProcess.xcconfig:
* Configurations/NetworkProcess.xcconfig:
* Configurations/PluginProcess.xcconfig:
* Configurations/WebContentProcess.xcconfig:

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

6 years agoSupport WebSelections in WK2 on iOS.
enrica@apple.com [Thu, 16 Jan 2014 00:52:47 +0000 (00:52 +0000)]
Support WebSelections in WK2 on iOS.
https://bugs.webkit.org/show_bug.cgi?id=127015

Reviewed by Benjamin Poulain.

This is the first step towards adding support for selections in
non editable content on iOS for WK2.
In particular, this patch adds the basic plumbing to decide which
gesture recognizers are enabled and adds empty stubs for the gestures
that we'll need to support.
There are two separate assistants for selections, one to be used
in editable text (UIWKTextInteractionAssistant) and one for non editable
text (UIWKSelectionAssistant) and they are mutually exclusive.
UIWKSelectionAssistant is created at the time the view is created,
and swapped with UIWKTextInteraction assistant
only when an editable element is focused and the keyboard appears on screen.

gestureRecognizerShouldBegin is the delegate call used to decide which gestures
should begin based on the position the gesture occurred at.
We want to avoid as much as possible synchronous calls to the WebProcess to
retrieve information about the content and in order to do so, we take advantage
of the order in which the gesture recognizers will trigger, based on the delay
configured at initialization.
The first gesture to trigger is highlightLongPress, followed by longpress in the
active assistant and longpress in the WKInteractionView.
There are two different scenarios for highlighlongpress based on which assistant is
currently active.

UIWKSelectionAssistant is active:
    We send a request to the WebProcess to get information on the position
    and we return YES, allowing the gesture to start.
    We delegate to the WebProcess the proper handling of highlight based on the element.
    When longPress gesture fires for the assistant, we assume we have received the reply to our
    previous request, if not we fetch the information synchronously.
    We are then able to make an informed decision about whether
    or not to start the gesture. If the reply is NO, the third and last long press
    gesture can be evaluated to decide whether to show the action sheet or simply generate
    a click event.

UIWKTextInteractionAssistant is active:
    In this case we must have information about the position immediately and we issue
    a synchronous request to the WebProcess.
    If we are not interacting with the same node, we return NO.
    Then the longpress gesture fires for the assistant which performs the same check.
    If the node is the same, the loupe gesture will start, otherwise the last longpress
    gesture will be evaluated to decide about showing the action sheet or generating a
    click event.

* Scripts/webkit2/messages.py:
* Shared/InteractionInformationAtPosition.cpp: Added.
(WebKit::InteractionInformationAtPosition::encode):
(WebKit::InteractionInformationAtPosition::decode):
* Shared/InteractionInformationAtPosition.h: Added.
(WebKit::InteractionInformationAtPosition::InteractionInformationAtPosition):
* UIProcess/API/ios/PageClientImplIOS.h:
* UIProcess/API/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::positionInformationDidChange):
* UIProcess/API/ios/WKContentView.mm:
(-[WKContentView _positionInformationDidChange:]):
* UIProcess/API/ios/WKContentViewInternal.h:
* UIProcess/API/ios/WKInteractionView.h:
* UIProcess/API/ios/WKInteractionView.mm:
(-[WKInteractionView initWithFrame:]):
(-[WKInteractionView dealloc]):
(-[WKInteractionView gestureRecognizer:canPreventGestureRecognizer:]):
(-[WKInteractionView gestureRecognizer:canBePreventedByGestureRecognizer:]):
(isSamePair):
(-[WKInteractionView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKInteractionView _showImageSheet]):
(-[WKInteractionView _showLinkSheet]):
(-[WKInteractionView _actionForLongPress]):
(-[WKInteractionView ensurePositionInformationIsUpToDate:]):
(-[WKInteractionView gestureRecognizerShouldBegin:]):
(-[WKInteractionView hasSelectablePositionAtPoint:]):
(-[WKInteractionView pointIsInAssistedNode:]):
(-[WKInteractionView _longPressRecognized:]):
(-[WKInteractionView _doubleTapRecognized:]):
(-[WKInteractionView _twoFingerDoubleTapRecognized:]):
(-[WKInteractionView _twoFingerPanRecognized:]):
(-[WKInteractionView useSelectionAssistantWithMode:]):
(-[WKInteractionView _positionInformationDidChange:]):
(-[WKInteractionView interactionAssistant]):
(-[WKInteractionView _startAssistingKeyboard]):
(-[WKInteractionView _stopAssistingKeyboard]):
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::didReceivePositionInformation):
(WebKit::WebPageProxy::getPositionInformation):
(WebKit::WebPageProxy::requestPositionInformation):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::selectWithGesture):
(WebKit::WebPage::getPositionInformation):
(WebKit::WebPage::requestPositionInformation):

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

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=127066
commit-queue@webkit.org [Thu, 16 Jan 2014 00:08:47 +0000 (00:08 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=127066
Add WKBrowsingContextHandle.h to WebKit2 private headers.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-01-15
Reviewed by Dan Bernstein.

Add WKBrowsingContextHandle.h to WebKit2 private headers so that WebKit2 client
can use WKBrowsingContextHandle class.

* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoRemove unnecessary call to webGLContextCreated
roger_fong@apple.com [Thu, 16 Jan 2014 00:07:03 +0000 (00:07 +0000)]
Remove unnecessary call to webGLContextCreated
https://bugs.webkit.org/show_bug.cgi?id=127000

Reviewed by Brent Fulgham.

Source/WebCore:

Note that the functionality of webGLContextCreated will be handled by webGLPolicyForSite now.

Tests: Unskipping tests skipped in r162002.

* html/HTMLCanvasElement.cpp: Remove webGLContextCreated call.
(WebCore::HTMLCanvasElement::getContext):
* loader/FrameLoaderClient.h:
Have the returned load policy default to WebGLAllow so as to not break clients that don't implement the method.
(WebCore::FrameLoaderClient::webGLPolicyForSite):
webGLPolicyForSite is now assuming the role of webGLContextCreated as well, pass in the whole site URL instead of just the host.
* page/ChromeClient.h: Remove webGLContextCreated method.
(WebCore::ChromeClient::decrementActivePageCount):

LayoutTests:

* platform/mac/TestExpectations: Unskipping tests skipped in r162002.

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

6 years agoRepeating background images should continue into margin tiles
bdakin@apple.com [Wed, 15 Jan 2014 23:51:25 +0000 (23:51 +0000)]
Repeating background images should continue into margin tiles
https://bugs.webkit.org/show_bug.cgi?id=127021
-and corresponding-
<rdar://problem/15571300>

Reviewed by Simon Fraser.

This patch makes repeating background images continue into margin tiles.

RenderObject::repaintRectangle() now takes an addition bool parameter which
indicates whether or not the repaint rect should be clipped to the layer size.
* WebCore.exp.in:

These new functions on FrameView provide a way for code in the render tree to know
if the TiledBacking has a margin. tiledBacking() is now const. It should have
always been const, and it needs to be const to make these new functions const.
* page/FrameView.cpp:
(WebCore::FrameView::tiledBacking):
(WebCore::FrameView::hasExtendedBackground):
(WebCore::FrameView::extendedBackgroundRect):
* page/FrameView.h:
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::tiledBacking):

If we’re painting the root background and it is an extended background, we need to
inflate the repaint rect to span the extended background.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::repaintLayerRectsForImage):

To get the phase right on repeated background images on a page with margin tiles,
we need to make sure we factor the size of the margin tiles into the left and top
values that we use when calculating background image geometry.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

setBackingNeedsRepaintInRect() now takes GraphicsLayer::ShouldClipToLayer as a
parameter, just like setBackingNeedsRepaint().
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):

setContentsNeedDisplayInRect() also takes a GraphicsLayer::ShouldClipToLayer now,
and it passes that information down to the GraphicsLayer.
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
* rendering/RenderLayerBacking.h:

These two RenderObject functions now take an optional bool parameter which
indicates whether or not the rect should be clipped to the layer size. They use a
bool instead of the GraphicsLayer enum in order to avoid including GraphicsLayer.h
from within RenderObject.h. This seems like a simpler solution than adding a new
stand-alone file for this very simple enum.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::repaintRectangle):
* rendering/RenderObject.h:

RenderView::backgroundRect needs to return the extendedBackgroundRect when it had
one.
* rendering/RenderView.cpp:
(WebCore::RenderView::backgroundRect):

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

6 years agotoStringVector static function definition should not be redundant.
commit-queue@webkit.org [Wed, 15 Jan 2014 23:26:19 +0000 (23:26 +0000)]
toStringVector static function definition should not be redundant.
https://bugs.webkit.org/show_bug.cgi?id=126872.

Patch by Piotr Grad <p.grad@samsung.com> on 2014-01-15
Reviewed by Anders Carlsson.

toStringVector function was declared twice in InjectedBundle.cpp and WebPageGroup.cpp as static.
In order to remove redundant definition this function was moved into API::Array.

* Shared/APIArray.cpp:
(API::Array::toStringVector):
* Shared/APIArray.h:
* UIProcess/WebPageGroup.cpp:
(WebKit::WebPageGroup::addUserStyleSheet):
(WebKit::WebPageGroup::addUserScript):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::addUserScript):
(WebKit::InjectedBundle::addUserStyleSheet):

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

6 years agoWeb Inspector: capture probe samples on the backend
bburg@apple.com [Wed, 15 Jan 2014 23:22:39 +0000 (23:22 +0000)]
Web Inspector: capture probe samples on the backend
https://bugs.webkit.org/show_bug.cgi?id=126668

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Add the 'probe' breakpoint action to the protocol. Change the setBreakpoint
commands to return a list of assigned breakpoint action identifiers
Add a type for breakpoint action identifiers. Add an event for sending
captured probe samples to the inspector frontend.

* inspector/protocol/Debugger.json:

Source/WebCore:

Test: inspector-protocol/debugger/setProbe-multiple-actions.html

Add the probe breakpoint action type. A probe action
evaluates an expression on the script call frame, and
the result is aggregated on a per-probe basis. Each
evaluated expression result is called a probe sample.

* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::evaluateBreakpointAction): Teach
the debug server to evaluate a probe.

(WebCore::ScriptDebugServer::dispatchDidSampleProbe): Added.
(WebCore::ScriptDebugServer::handleBreakpointHit): Increment a hit count.
(WebCore::ScriptDebugServer::getActionsForBreakpoint):
* bindings/js/ScriptDebugServer.h:
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::objectGroupForBreakpointAction): Added. Create an object
group for each breakpoint action. Currently only probes make objects.
(WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::disable):
(WebCore::InspectorDebuggerAgent::enable): Remove stale comment.
(WebCore::breakpointActionTypeForString): Add new case.
(WebCore::InspectorDebuggerAgent::breakpointActionsFromProtocol): Make
this a member function instead of a static function, so it can increment
the breakpoint action identifier counter.
(WebCore::InspectorDebuggerAgent::setBreakpointByUrl): Propagate the
assigned breakpoint action identifiers.
(WebCore::InspectorDebuggerAgent::setBreakpoint): Propagate the
assigned breakpoint action identifiers.
(WebCore::InspectorDebuggerAgent::removeBreakpoint): Release object
groups for any actions that were associated with the removed breakpoint.
(WebCore::InspectorDebuggerAgent::didSampleProbe): Added.
(WebCore::InspectorDebuggerAgent::clearResolvedBreakpointState): Renamed from clear().
(WebCore::InspectorDebuggerAgent::didClearGlobalObject): Renamed from reset().
* inspector/InspectorDebuggerAgent.h:
* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::didClearMainFrameWindowObject):
* inspector/ScriptBreakpoint.h:
(WebCore::ScriptBreakpointAction::ScriptBreakpointAction): Add identifier member.
* inspector/ScriptDebugListener.h:

Source/WebInspectorUI:

* UserInterface/InspectorJSBackendCommands.js: Add probe enumeration value.

LayoutTests:

Add protocol tests for setting and hitting the probe breakpoint action type.

* inspector-protocol/debugger/setBreakpoint-actions-expected.txt:
* inspector-protocol/debugger/setBreakpoint-actions.html:
* inspector-protocol/debugger/setProbe-multiple-actions-expected.txt: Added.
* inspector-protocol/debugger/setProbe-multiple-actions.html: Added.
* inspector-protocol/resources/probe-helper.js: Added.
(ProbeHelper.simplifiedProbeSample):

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

6 years agoMore iOS build fixing.
ap@apple.com [Wed, 15 Jan 2014 22:58:24 +0000 (22:58 +0000)]
More iOS build fixing.

* WebView/WebPreferences.mm: (-[WebPreferences _invalidateCachedPreferences]):
Removed a now unused local variable.

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

6 years agoBuild fix for iOS.
ap@apple.com [Wed, 15 Jan 2014 22:53:20 +0000 (22:53 +0000)]
Build fix for iOS.

* WebView/WebPreferences.mm: (-[WebPreferences _invalidateCachedPreferences]):
Update a remaining call site of _updatePrivateBrowsingStateFram:to:.

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

6 years agoDumpRenderTree doesn't disable web preferences autosave
ap@apple.com [Wed, 15 Jan 2014 22:43:26 +0000 (22:43 +0000)]
DumpRenderTree doesn't disable web preferences autosave
https://bugs.webkit.org/show_bug.cgi?id=127062

Reviewed by Dan Bernstein.

* DumpRenderTree/mac/DumpRenderTree.mm: (prepareConsistentTestingEnvironment):
Do it.

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

6 years agoCrash when multiple WebView instances have different PrivateBrowsing settings
ap@apple.com [Wed, 15 Jan 2014 22:35:19 +0000 (22:35 +0000)]
Crash when multiple WebView instances have different PrivateBrowsing settings
https://bugs.webkit.org/show_bug.cgi?id=127019

* WebView/WebPreferences.mm: (-[WebPreferences _updatePrivateBrowsingStateTo:]):
Added a null check to fix Safari crash on startup when extensions are enabled.

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

6 years agoImprove filter-build-webkit, especially for iOS builds
dino@apple.com [Wed, 15 Jan 2014 22:25:07 +0000 (22:25 +0000)]
Improve filter-build-webkit, especially for iOS builds
https://bugs.webkit.org/show_bug.cgi?id=81046

Reviewed by Joseph Pecoraro.

Lots of updates to the filtering rules, mostly from the
iOS build output. Other highlights include:
- ignoring escape sequences for color ouput
- detecting escaped spaces in file name regexps

* Scripts/filter-build-webkit:
(shouldIgnoreLine):

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

6 years agoREGRESSION (r158369): Some pop-up windows open at incorrect size (affects GMail,...
barraclough@apple.com [Wed, 15 Jan 2014 21:39:14 +0000 (21:39 +0000)]
REGRESSION (r158369): Some pop-up windows open at incorrect size (affects GMail, theblaze.com)
https://bugs.webkit.org/show_bug.cgi?id=126289

Reviewed by Anders Carlson.

Partial revert of https://bugs.webkit.org/show_bug.cgi?id=123557.
On window.open, update page when the UIProcess sends the create message

Source/WebKit2:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::creationParameters):
* UIProcess/WebPageProxy.h:
    - creation paraments are not preserved at window.open.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::reinitializeWebPage):
(WebKit::WebPage::setViewState):
(WebKit::WebPage::setViewStateInternal):
* WebProcess/WebPage/WebPage.h:
    - add interface to update page.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::createWebPage):
    - if we try to create a page that already exists, update the current page's view state.

LayoutTests:

* platform/mac-wk2/TestExpectations:
    - test is bad (results in DRT don't reflect in browser behaviour).

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

6 years agoCrash when multiple WebView instances have different PrivateBrowsing settings
ap@apple.com [Wed, 15 Jan 2014 21:30:26 +0000 (21:30 +0000)]
Crash when multiple WebView instances have different PrivateBrowsing settings
https://bugs.webkit.org/show_bug.cgi?id=127019

Reviewed by Sam Weinig.

* WebView/WebView.mm: (-[WebView _preferencesChanged:]): Don't delete a private
browsing session simply because one preferences object doesn't use private browsing.
There could be others that do.

* WebView/WebPreferences.mm: Track how many WebPreferences objects use private
browsing, and only delete the private session when there are none any more.

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

6 years ago[GTK] v2.3.3 fails to build in Debian / FreeBSD
berto@igalia.com [Wed, 15 Jan 2014 21:21:17 +0000 (21:21 +0000)]
[GTK] v2.3.3 fails to build in Debian / FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=126502

Reviewed by Mark Lam.

* wtf/Platform.h: Add LLINT support to FreeBSD.

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

6 years ago[WebGL] Validation function for compressed formats incorrect
bfulgham@apple.com [Wed, 15 Jan 2014 20:13:01 +0000 (20:13 +0000)]
[WebGL] Validation function for compressed formats incorrect
https://bugs.webkit.org/show_bug.cgi?id=127023

Reviewed by Dean Jackson.

No new tests. Covered by existing WebGL compressed texture tests.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateCompressedTexFuncData): Revise to match specifications.

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

6 years agoRemove the CSS selector profiler.
akling@apple.com [Wed, 15 Jan 2014 20:09:09 +0000 (20:09 +0000)]
Remove the CSS selector profiler.
<https://webkit.org/b/127039>

Source/WebCore:

The selector profiler was painting a mostly fictional picture of what
selectors we were spending time on. It never really grokked the fast
path selectors, nor did it understand recent additions like the extra
cascading pass or the selector JIT.

Somewhat ironically, this may end up making some selectors run faster
since it removes a number of brances in hot code.

Reviewed by Sam Weinig.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRulesForList):
* css/ElementRuleCollector.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorInstrumentation.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/protocol/CSS.json:

Source/WebInspectorUI:

Purge selector profiler code from the new Web Inspector UI.

Reviewed by Sam Weinig.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/CSSSelectorProfileObject.js: Removed.
* UserInterface/CSSSelectorProfileType.js: Removed.
* UserInterface/CSSSelectorProfileView.js: Removed.
* UserInterface/ContentView.js:
(WebInspector.ContentView):
(WebInspector.ContentView.isViewable):
* UserInterface/InspectorWebBackendCommands.js:
* UserInterface/InstrumentSidebarPanel.js:
(WebInspector.InstrumentSidebarPanel):
(WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedOver):
(WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphMousedDown):
(WebInspector.InstrumentSidebarPanel.prototype._recordProfileGlyphClicked):
(WebInspector.InstrumentSidebarPanel.prototype._profileTypeWasSelected):
(WebInspector.InstrumentSidebarPanel.prototype._profilesCleared):
* UserInterface/Main.html:
* UserInterface/ProfileManager.js:
(WebInspector.ProfileManager):
(WebInspector.ProfileManager.prototype.initialize):
(WebInspector.ProfileManager.prototype._checkForInterruptions):
(WebInspector.ProfileManager.prototype._attemptToResumeProfiling):
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

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

6 years ago[SVG] Accept HTML and MathML namespaces as valid requiredExtensions
commit-queue@webkit.org [Wed, 15 Jan 2014 19:01:44 +0000 (19:01 +0000)]
[SVG] Accept HTML and MathML namespaces as valid requiredExtensions
https://bugs.webkit.org/show_bug.cgi?id=88188

Patch by Frédéric Wang <fred.wang@free.fr> on 2014-01-15
Reviewed by Chris Fleizach.

Source/WebCore:

When HTML and MathML are used as foreign objects of an SVG image, it is
important for Web authors to be able to specify a fallback content for
SVG-only readers or browsers without MathML support. We rely on the
requiredExtensions for that purpose and we use the XHTML/MathML
namespaces as suggested in SVG Tiny 1.2 and implemented in Gecko.

Tests: svg/custom/conditional-processing-1.svg
       svg/custom/conditional-processing-2.html
       svg/dom/SVGTests.html

* svg/SVGSwitchElement.cpp: Remove an incorrect FIXME comment and replace it with a reference to bug 74749.
(WebCore::SVGSwitchElement::childShouldCreateRenderer):
* svg/SVGTests.cpp: Check if the list of required extensions contains only the XHTML/MathML namespaces.
(WebCore::SVGTests::hasExtension):
(WebCore::SVGTests::isValid):

LayoutTests:

conditional-processing-1 verifies that indeed a renderer object is only
created for the first "valid" SVG element of a <switch>, contrary to
what an incorrect FIXME comment said. conditional-processing-2 verifies
that the <switch> takes into account XHTML and MathML namespaces in the
requiredExtensions attribute to decide which SVG element is "valid".
SVGTests.html verifies the SVGTests interface of SVG DOM: three
SVGStringList attributes (already tested in svg/dom/SVGStringList.html)
and the hasExtension() function.

* svg/custom/conditional-processing-1-expected.svg: Added.
* svg/custom/conditional-processing-1.svg: Added.
* svg/custom/conditional-processing-2-expected.html: Added.
* svg/custom/conditional-processing-2.html: Added.
* svg/dom/SVGTests-expected.txt: Added.
* svg/dom/SVGTests.html: Added.
* svg/dom/script-tests/SVGTests.js: Added.

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

6 years agoAX: Merge layout test from Mac and GTK checking accessibility roles
ap@apple.com [Wed, 15 Jan 2014 19:00:47 +0000 (19:00 +0000)]
AX: Merge layout test from Mac and GTK checking accessibility roles
https://bugs.webkit.org/show_bug.cgi?id=126685

Fix Mac test results.

* platform/mac-mountainlion/platform/mac/accessibility/role-subrole-roledescription-expected.txt: Removed.
This test was merged into another, but its Mountain Lion results were not moved accordingly.

* platform/mac-mountainlion/accessibility/roles-exposed-expected.txt: Copied from LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt.
Custom results with a different role for "dl".

* platform/mac/accessibility/roles-exposed-expected.txt: Changed to have results that
are correct forward looking.

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

6 years ago[iOS] Missing RenderObject::style() symbol in WebDOMOperations.mm
ddkilzer@apple.com [Wed, 15 Jan 2014 18:37:02 +0000 (18:37 +0000)]
[iOS] Missing RenderObject::style() symbol in WebDOMOperations.mm

Fixes the following linker error:

    Undefined symbols for architecture x86_64:
      "__ZNK7WebCore12RenderObject5styleEv", referenced from:
          -[DOMNode(WebDOMNodeOperations) isHorizontalWritingMode] in WebDOMOperations.o

* DOM/WebDOMOperations.mm: Include RenderElement.h instead of
RenderObject.h since the inline RenderObject::style() method
moved to the former header.

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

6 years agoUnreviewed, rolling out r162066.
commit-queue@webkit.org [Wed, 15 Jan 2014 18:29:23 +0000 (18:29 +0000)]
Unreviewed, rolling out r162066.
http://trac.webkit.org/changeset/162066
https://bugs.webkit.org/show_bug.cgi?id=127056

The added test still fails on some bots (Requested by ap on
#webkit).

Source/WebCore:

* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawPatternForContainer):
* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageForContainer.cpp:
(WebCore::SVGImageForContainer::drawPattern):

LayoutTests:

* css3/compositing/background-blend-mode-data-uri-svg-image-expected.html: Removed.
* css3/compositing/background-blend-mode-data-uri-svg-image.html: Removed.
* platform/efl/TestExpectations:

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

6 years ago[iOS] Fix intialization order of ResourceResponse constructor
ddkilzer@apple.com [Wed, 15 Jan 2014 18:23:43 +0000 (18:23 +0000)]
[iOS] Fix intialization order of ResourceResponse constructor

Fixes the following build failure:

    WebCore/platform/network/mac/ResourceResponseMac.mm:83:7: error: field 'm_nsResponse' will be initialized after field 'm_initLevel' [-Werror,-Wreorder]
        , m_nsResponse(nsResponse)
          ^

* platform/network/mac/ResourceResponseMac.mm:
(WebCore::ResourceResponse::ResourceResponse): Reorder member
initializers to match the order that they are defined in the
header.

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

6 years agoUnreviewed. Comment out part of r162036 which broke WebGL on many ports.
roger_fong@apple.com [Wed, 15 Jan 2014 18:11:15 +0000 (18:11 +0000)]
Unreviewed. Comment out part of r162036 which broke WebGL on many ports.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):

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

6 years agoUnreviewed test correctino for webgl compressed textures.
bfulgham@apple.com [Wed, 15 Jan 2014 18:03:28 +0000 (18:03 +0000)]
Unreviewed test correctino for webgl compressed textures.

* fast/canvas/webgl/webgl-compressed-texture-size-limit-expected.txt:
* platform/mac-mountainlion/fast/canvas: Removed.
* platform/mac-mountainlion/fast/canvas/webgl: Removed.
* platform/mac-mountainlion/fast/canvas/webgl/webgl-compressed-texture-size-limit-expected.txt: Removed.

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

6 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Wed, 15 Jan 2014 17:53:28 +0000 (17:53 +0000)]
Unreviewed EFL gardening

Add failure test expectations for reftests added in r161626.

* platform/efl/TestExpectations:

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

6 years agoUnreviewed, rolling out r162054.
commit-queue@webkit.org [Wed, 15 Jan 2014 17:46:58 +0000 (17:46 +0000)]
Unreviewed, rolling out r162054.
http://trac.webkit.org/changeset/162054
https://bugs.webkit.org/show_bug.cgi?id=127053

Causes assertion failures in DumpRenderTree (Requested by ap
on #webkit).

* WebView/WebPreferences.mm:
(-[WebPreferences initWithIdentifier:sendChangeNotification:initWithIdentifier:]):
(-[WebPreferences initWithCoder:]):
(+[WebPreferences standardPreferences]):
(-[WebPreferences dealloc]):
(-[WebPreferences setPrivateBrowsingEnabled:]):
(-[WebPreferences _invalidateCachedPreferences]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

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

6 years agoGet rid of RefCountedCustomAllocated
andersca@apple.com [Wed, 15 Jan 2014 17:45:43 +0000 (17:45 +0000)]
Get rid of RefCountedCustomAllocated
https://bugs.webkit.org/show_bug.cgi?id=127051

Reviewed by Antti Koivisto.

It's not used anywhere anymore, get rid of it.

* wtf/RefCounted.h:
* wtf/SizeLimits.cpp:

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

6 years ago[GTK] Web process sometimes crashes when printing in synchronous mode
carlosgc@webkit.org [Wed, 15 Jan 2014 17:37:36 +0000 (17:37 +0000)]
[GTK] Web process sometimes crashes when printing in synchronous mode
https://bugs.webkit.org/show_bug.cgi?id=126979

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

When printing synchronously in GTK+ we need to make sure that we
have a list of Printers before starting the print operation. Getting
the list of printers is done synchronously by GTK+, but using a
nested main loop that might process IPC messages comming from the
UI process like EndPrinting. When the EndPrinting message is
received while the printer list is being populated, the print
operation is finished unexpectely and the web process crashes. The
PrinterListGtk class gets the list of printers in the constructor
so we just need to ensure there's an instance alive during the
synchronous print operation. In case of asynchronous printing the
printer list will be created during the print operation without
any risk, because the EndPrinting message is not sent until the
printing callback has been received in the UI process.

* GNUmakefile.list.am: Add new files to compilation.
* PlatformGTK.cmake: Ditto.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::print): Ensure PrinterListGtk is created
before the synchronous printing and destroyed afterwards.
* WebProcess/WebPage/gtk/PrinterListGtk.cpp: Added.
(WebKit::PrinterListGtk::shared): Return the singleton.
(WebKit::PrinterListGtk::enumeratePrintersFunction): Callback
called by gtk_enumerate_printers() when a new printer is found.
(WebKit::PrinterListGtk::PrinterListGtk): Call
gtk_enumerate_printers() in syhchronous mode.
(WebKit::PrinterListGtk::~PrinterListGtk):
(WebKit::PrinterListGtk::addPrinter): Add the printer to the list
and set the default printer if needed.
(WebKit::PrinterListGtk::findPrinter): Find the printer for the
given name.
* WebProcess/WebPage/gtk/PrinterListGtk.h: Added.
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Use
PrinterListGtk class to find the printer instead of calling
gtk_enumerate_printers().

Tools:

* Scripts/run-gtk-tests:
(TestRunner): Unskip
/webkit2/WebKitPrintOperation/close-after-print.

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

6 years agoMerged some subpixel skipped tests. Unreviewed.
zalan@apple.com [Wed, 15 Jan 2014 17:22:32 +0000 (17:22 +0000)]
Merged some subpixel skipped tests. Unreviewed.

webkit.org/b/126894 is a duplicate of webkit.org/b/126892

* platform/mac/TestExpectations:

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

6 years agoWordMeasurement is a struct, not a class
zoltan@webkit.org [Wed, 15 Jan 2014 17:19:08 +0000 (17:19 +0000)]
WordMeasurement is a struct, not a class
https://bugs.webkit.org/show_bug.cgi?id=125373

Reviewed by Anders Carlsson.

Change class to struct, because there is no reason for WordMeasurement to be a class.

No new tests, no behavior change.

* rendering/RenderBlockFlow.h:
* rendering/line/BreakingContextInlineHeaders.h:

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

6 years agoUnreviewed test fix for Mountain Lion WebGL behavior.
bfulgham@apple.com [Wed, 15 Jan 2014 17:10:07 +0000 (17:10 +0000)]
Unreviewed test fix for Mountain Lion WebGL behavior.

Add Mountain Lion expected output matching ML's output of INVALID_OPERATION for improperly-sized textures.

* platform/mac-mountainlion/fast/canvas: Added.
* platform/mac-mountainlion/fast/canvas/webgl: Added.
* platform/mac-mountainlion/fast/canvas/webgl/webgl-compressed-texture-size-limit-expected.txt: Added.

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

6 years ago[GTK][WK1] Add ProgressTrackerClient implementation
zandobersek@gmail.com [Wed, 15 Jan 2014 17:03:52 +0000 (17:03 +0000)]
[GTK][WK1] Add ProgressTrackerClient implementation
https://bugs.webkit.org/show_bug.cgi?id=127048

Reviewed by Anders Carlsson.

In r162034, the progress tracker client was separated from FrameLoaderClient into the
ProgressTrackerClient class. This patch adds the WebKit layer implementation of that
class for GTK-WK1 that's practically identical to the client implementation that was
in use under WebKit::FrameLoaderClient.

* GNUmakefile.am:
* WebCoreSupport/FrameLoaderClientGtk.cpp:
* WebCoreSupport/FrameLoaderClientGtk.h:
* WebCoreSupport/ProgressTrackerClientGtk.cpp: Added.
(WebKit::ProgressTrackerClient::ProgressTrackerClient):
(WebKit::ProgressTrackerClient::progressTrackerDestroyed):
(WebKit::ProgressTrackerClient::progressStarted):
(WebKit::ProgressTrackerClient::progressEstimateChanged):
(WebKit::ProgressTrackerClient::progressFinished):
* WebCoreSupport/ProgressTrackerClientGtk.h: Added.
* webkit/webkitwebview.cpp:
(webkit_web_view_init):

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

6 years agoUnreviewed GTK gardening. Removing an unneeded GTK-specific baseline
zandobersek@gmail.com [Wed, 15 Jan 2014 17:01:07 +0000 (17:01 +0000)]
Unreviewed GTK gardening. Removing an unneeded GTK-specific baseline
for a layout test that was fixed proper in r161549.

* platform/gtk/http/tests/security/redirect-BLOCKED-to-localURL-expected.txt: Removed.

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

6 years agoAX: Merge layout test from Mac and GTK checking accessibility roles
mario.prada@samsung.com [Wed, 15 Jan 2014 13:15:49 +0000 (13:15 +0000)]
AX: Merge layout test from Mac and GTK checking accessibility roles
https://bugs.webkit.org/show_bug.cgi?id=126685

Reviewed by Chris Fleizach.

Merged GTK and Mac tests into one cross-platform test that is
aware of the platform-specific differences by declaring which
elements are supported in which platforms and which platform
specific roles (if it's the case) should be expected.

* accessibility/roles-exposed-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt.
* accessibility/roles-exposed.html: Added.
* platform/gtk/accessibility/roles-exposed.html: Removed.
* platform/mac/accessibility/role-subrole-roledescription.html: Removed.
* platform/mac/accessibility/roles-exposed-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/role-subrole-roledescription-expected.txt.

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

6 years agoSource/WebCore: Reapplying:
commit-queue@webkit.org [Wed, 15 Jan 2014 12:32:03 +0000 (12:32 +0000)]
Source/WebCore: Reapplying:
Background-blend-mode doesn't work for an element with an
SVG image as background and border-style or padding set.
The problem consisted in the drawing path using the default
blending parameter at all times.
https://bugs.webkit.org/show_bug.cgi?id=118894

Patch by Mihai Tica <mitica@adobe.com> on 2014-01-15
Reviewed by Dirk Schulze.

Test: css3/compositing/background-blend-mode-data-uri-svg-image.html

* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawPatternForContainer): Pass blendMode to Image::drawPattern.
* svg/graphics/SVGImage.h: Add a blendMode parameter to drawPatternForContainer.
* svg/graphics/SVGImageForContainer.cpp:
(WebCore::SVGImageForContainer::drawPattern): Pass blendMode to drawPatternForContainer call.

LayoutTests: Reapplying:
Background-blend-mode doesn't work for an element with an
SVG image as background and border-style or padding set.
Tests now use rectangles instead of circles for SVGs.
https://bugs.webkit.org/show_bug.cgi?id=118894

Patch by Mihai Tica <mitica@adobe.com> on 2014-01-15
Reviewed by Dirk Schulze.

* css3/compositing/background-blend-mode-data-uri-svg-image-expected.html:
* css3/compositing/background-blend-mode-data-uri-svg-image.html:
* platform/efl/TestExpectations: pass tests for efl, blendMode is not implemented.

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

6 years ago[CSS Regions] Add performance tests for selection with mixed content
rego@igalia.com [Wed, 15 Jan 2014 11:26:33 +0000 (11:26 +0000)]
[CSS Regions] Add performance tests for selection with mixed content
https://bugs.webkit.org/show_bug.cgi?id=126427

Reviewed by Ryosuke Niwa.

Add new performance tests for selection in CSS Regions mixing regular
content with regions. 2 new tests are added, one checking select all
command and another simulating a user selection passing through all the
paragraphs (similar to Layout/RegionsSelection.html).

Test are skipped for now while implementation of selection in CSS
Regions is still evolving.

* Layout/RegionsExtendingSelectionMixedContent.html: Added.
* Layout/RegionsSelectAllMixedContent.html: Added.
* Layout/resources/regions.css:
(.regular):
* Layout/resources/regions.js:
* Skipped:

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

6 years ago[CSS Regions] Hit-testing goes through clipped layer in fast/regions/overflow-first...
abucur@adobe.com [Wed, 15 Jan 2014 10:30:17 +0000 (10:30 +0000)]
[CSS Regions] Hit-testing goes through clipped layer in fast/regions/overflow-first-and-last-regions-in-container-hidden.html
https://bugs.webkit.org/show_bug.cgi?id=126886

Reviewed by Mihnea Ovidenie.

Source/WebCore:

Currently, when hit testing a location inside a flow thread we ignore the clipping rectangle of
the region. This leads to false positives when the location is over the clipped out content of a
flow thread. The patch verifies that the location is inside the clipping rectangle of the region before
forwarding the hit test verification to the flow thread layer.

Test: fast/regions/hover-and-js-in-visual-overflow-hidden.html

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

LayoutTests:

Add a test that verifies you can't hover an element flowed inside a region but found inside
the hidden overflow of the region.

* fast/regions/hover-and-js-in-visual-overflow-hidden-expected.html: Added.
* fast/regions/hover-and-js-in-visual-overflow-hidden.html: Added.

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

6 years agoSuspend resource requests during computedStyle
antti@apple.com [Wed, 15 Jan 2014 10:28:52 +0000 (10:28 +0000)]
Suspend resource requests during computedStyle
https://bugs.webkit.org/show_bug.cgi?id=127034

Reviewed by Andreas Kling.

We have some cases where getting computed style leads to crashes in loadPendingImages.
This is probably caused by load callbacks resulting in re-entering WebKit and killing the StyleResolver.

As a speculative fix suspend resource loads (and so callbacks) when getting the computed style.
We do similar suspension during style recalc for the same reason.

* dom/Document.cpp:
(WebCore::Document::styleForElementIgnoringPendingStylesheets):
* loader/ResourceLoadScheduler.h:
(WebCore::ResourceLoadScheduler::Suspender::Suspender):
(WebCore::ResourceLoadScheduler::Suspender::~Suspender):

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

6 years agoDocumentFragment should be constructable.
commit-queue@webkit.org [Wed, 15 Jan 2014 10:14:09 +0000 (10:14 +0000)]
DocumentFragment should be constructable.
https://bugs.webkit.org/show_bug.cgi?id=115641

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-01-15
Reviewed by Ryosuke Niwa.

Source/WebCore:

http://www.w3.org/TR/2013/WD-dom-20131107/#interface-documentfragment
This allows us to do `new DocumentFragment` instead of
`document.createDocumentFragment()`.

Blink: https://chromium.googlesource.com/chromium/blink/+/86855c44a5a127716840fb377281b1c428e5eb2d%5E%21
Test: fast/dom/DocumentFragment/document-fragment-constructor.html

* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::create):
* dom/DocumentFragment.h:
* dom/DocumentFragment.idl:

LayoutTests:

* fast/dom/DocumentFragment/document-fragment-constructor-expected.txt: Added.
* fast/dom/DocumentFragment/document-fragment-constructor.html: Added.
* fast/dom/dom-constructors-expected.txt:
* fast/dom/dom-constructors.html:

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

6 years ago[EFL][WK1] Implement ProgressTrackerClientEfl to fix the crash
ryuan.choi@samsung.com [Wed, 15 Jan 2014 10:01:43 +0000 (10:01 +0000)]
[EFL][WK1] Implement ProgressTrackerClientEfl to fix the crash
https://bugs.webkit.org/show_bug.cgi?id=127031

Reviewed by Gyuyoung Kim.

Source/WebKit:

* PlatformEfl.cmake: Added ProgressTrackerClientEfl.cpp into source lists.

Source/WebKit/efl:

Implmemented and moved ProgressTrackerClient logic from FrameLoaderClientEfl.
ProgressTrackerClient should be indenpendent instance since r162034

* WebCoreSupport/FrameLoaderClientEfl.cpp:
* WebCoreSupport/FrameLoaderClientEfl.h:
* WebCoreSupport/ProgressTrackerClientEfl.cpp:
(WebCore::ProgressTrackerClientEfl::ProgressTrackerClientEfl):
(WebCore::ProgressTrackerClientEfl::progressTrackerDestroyed):
(WebCore::ProgressTrackerClientEfl::progressStarted):
(WebCore::ProgressTrackerClientEfl::progressEstimateChanged):
(WebCore::ProgressTrackerClientEfl::progressFinished):
* WebCoreSupport/ProgressTrackerClientEfl.h: Added.
* ewk/ewk_view.cpp:
(_ewk_view_priv_new):

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

6 years ago[EFL] Change test font installed path to webkitgtk-font-tests
changseok.oh@collabora.com [Wed, 15 Jan 2014 09:55:05 +0000 (09:55 +0000)]
[EFL] Change test font installed path to webkitgtk-font-tests
https://bugs.webkit.org/show_bug.cgi?id=126723

Reviewed by Gyuyoung Kim.

I'd like to change the test fonts installed directory from 'webkitgtk-test-fonts-0.0.3'
to 'webkitgtk-test-fonts'. webkitgtk-test-fonts-0.0.3 doesn't match the path
hard-coded in FontManagement.cpp#105

* DumpRenderTree/PlatformEfl.cmake:
* WebKitTestRunner/PlatformEfl.cmake:
* efl/jhbuild.modules:

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

6 years ago[SOUP] [WK2] - Disable MemoryCache when the DOCUMENT_VIEWER cache model is set
commit-queue@webkit.org [Wed, 15 Jan 2014 09:45:26 +0000 (09:45 +0000)]
[SOUP] [WK2] - Disable MemoryCache when the DOCUMENT_VIEWER cache model is set
https://bugs.webkit.org/show_bug.cgi?id=126577

Patch by Tomas Popela <tpopela@redhat.com> on 2014-01-15
Reviewed by Carlos Garcia Campos.

As in http://trac.webkit.org/changeset/152483, but this time for
WebKit2. When WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER is set we need to
disable the MemoryCache completely to prevent caching of the resources.

* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformSetCacheModel):

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

6 years agoMake DoYouEvenBench runnable by run-perf-tests
rniwa@webkit.org [Wed, 15 Jan 2014 08:01:52 +0000 (08:01 +0000)]
Make DoYouEvenBench runnable by run-perf-tests
https://bugs.webkit.org/show_bug.cgi?id=127030

Reviewed by Andreas Kling.

PerformanceTests:

Added Full.html that runs 5 iterations of DoYouEvenBench. This is the canonical DoYouEvenBench,
which is also runnable by run-perf-tests.

* DoYouEvenBench/Full.html: Added.

* DoYouEvenBench/benchmark.html:
(startTest): Updated the code to account for the fact old measuredValues is pushed down to tests
property and we now have total property so that we don't have to manually compute the total.

* DoYouEvenBench/resources/benchmark-report.js: Added. When we're inside a DRT/WTR, use
PerfTestRunner to output that can be parsed by run-perf-tests. Do the same when the query part
or the fragment part of the current URL is "webkit" for debugging purposes.

* DoYouEvenBench/resources/benchmark-runner.js:
(BenchmarkRunner):
(BenchmarkRunner.prototype._appendFrame): Position the frame at (0, 0) inside DRT and WTR since
we have exactly 800px by 600px inside those two test runners. Also always insert the iframe as
the first child of body to avoid inserting it after the pre inserted by the test runner.
(BenchmarkRunner.prototype.step): Initializes _measuredValues.
(BenchmarkRunner.prototype.runAllSteps): Merged callNextStep in benchmark.html.
(BenchmarkRunner.prototype.runMultipleIterations): Added.
(BenchmarkRunner.prototype._runTestAndRecordResults): Compute the grand total among suites.
Also push down the sync and async time into tests property for consistency.
(BenchmarkRunner.prototype._finalize):

* Dromaeo/resources/dromaeorunner.js:
(DRT.testObject): Renamed dromaeoIterationCount to customIterationCount as this option is also
used by DoYouEvenBench.

* resources/runner.js: Ditto.
(.finish): Spit out the aggregator name.

Tools:

Ignore console messages spit out by DoYouEvenBench and support aggregator names such as
":Total" to appear at the end of a test name. We don't do anything with it for now.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest._metrics_regex): Handle aggregator names such as ":Total". We'll pass it down
to the JSON in a follow up patch for the perf dashboard.
(PerfTest._lines_to_ignore_in_parser_result): Added lines to ignore for DoYouEvenBench.

LayoutTests:

Use customIterationCount as it has been renamed from dromaeoIterationCount.

* fast/harness/perftests/runs-per-second-iterations.html:

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

6 years ago[GTK] UI process crashes when closing the window right after printing with javascript
carlosgc@webkit.org [Wed, 15 Jan 2014 07:56:42 +0000 (07:56 +0000)]
[GTK] UI process crashes when closing the window right after printing with javascript
https://bugs.webkit.org/show_bug.cgi?id=126981

Reviewed by Gustavo Noronha Silva.

The UI process crashes because when the page is closed, the web
view is destroyed before the print operation has actually
finished. Use a weak pointer to make sure the web view pointer is
set to NULL when the it's destroyed and emit the finished callback
always so that the user can clean up the operation even when the
web view has been closed.

* UIProcess/API/gtk/WebKitPrintOperation.cpp:
(drawPagesForPrintingCompleted):

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

6 years ago[GTK] UI process crashes when the web process crashes while printing
carlosgc@webkit.org [Wed, 15 Jan 2014 07:47:47 +0000 (07:47 +0000)]
[GTK] UI process crashes when the web process crashes while printing
https://bugs.webkit.org/show_bug.cgi?id=126977

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

When the web process crashes, the printing callback is
invalidated, so the function is called with a NULL error.

* UIProcess/API/gtk/WebKitPrintOperation.cpp:
(drawPagesForPrintingCompleted): Check wkError is not NULL before
trying to use it.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewPrintFrame): Set the print mode of the operation
before emitting the print signal.

Tools:

Add new test case to check that closing the window right after
printing works. It's skipped for now, because this patch only
fixes the UI process crash, but not the web process one.

* Scripts/run-gtk-tests:
(TestRunner): Skip
/webkit2/WebKitPrintOperation/close-after-print.
* TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp:
(testPrintOperationPrintPrinter):
(findPrintToFilePrinter):
(testPrintOperationPrint):
(testPrintOperationErrors):
(testPrintOperationCloseAfterPrint):
(beforeAll):

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

6 years agoUnreviewed build fix after r161980.
changseok.oh@collabora.com [Wed, 15 Jan 2014 07:41:41 +0000 (07:41 +0000)]
Unreviewed build fix after r161980.

CachedResourcesLoader.h should not belong to the CSS_SHADERS flag since it is used
out of the flag so it causes a compile failure when svg and css shaders are concurrently disabled.

* css/StyleResolver.cpp:

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

6 years agoCrash when multiple WebView instances have different PrivateBrowsing settings
ap@apple.com [Wed, 15 Jan 2014 07:18:40 +0000 (07:18 +0000)]
Crash when multiple WebView instances have different PrivateBrowsing settings
https://bugs.webkit.org/show_bug.cgi?id=127019

Reviewed by Sam Weinig.

* WebView/WebView.mm: (-[WebView _preferencesChanged:]): Don't delete a private
browsing session simply because one preferences object doesn't use private browsing.
There could be others that do.

* WebView/WebPreferences.mm: Track how many WebPreferences objects use private
browsing, and only delete the private session when there are none any more.

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

6 years agoFix the iOS build after r162034.
simon.fraser@apple.com [Wed, 15 Jan 2014 07:00:29 +0000 (07:00 +0000)]
Fix the iOS build after r162034.

* WebCoreSupport/WebProgressTrackerClient.mm:
* WebView/WebView.mm:
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

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

6 years agoPack ResourceResponse harder.
akling@apple.com [Wed, 15 Jan 2014 06:51:34 +0000 (06:51 +0000)]
Pack ResourceResponse harder.
<https://webkit.org/b/127005>

Re-arrange the members of ResourceResponse to reduce padding,
shrinking it by 8 bytes.

This nudges CachedResource and CachedImage into smaller size
classes, yielding a ~700 kB progression on Membuster3.

Reviewed by Anders Carlsson.

* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::ResourceResponseBase):
* platform/network/ResourceResponseBase.h:
* platform/network/cf/ResourceResponse.h:
(WebCore::ResourceResponse::ResourceResponse):

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

6 years agoRemove unnecessary WebkitCSSSVGDocumentValue
krit@webkit.org [Wed, 15 Jan 2014 06:50:13 +0000 (06:50 +0000)]
Remove unnecessary WebkitCSSSVGDocumentValue
https://bugs.webkit.org/show_bug.cgi?id=126997

Reviewed by Andreas Kling.

Source/WebCore:

Removing redundant code path. WebkitCSSSVGDocumentValue
can be expressed by a CSSPrimitiveValue.

No new tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.order:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFilter):
* css/CSSValue.cpp:
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::createFilterOperations):
* css/StyleResolver.h:
* css/WebKitCSSSVGDocumentValue.cpp: Removed.
* css/WebKitCSSSVGDocumentValue.h: Removed.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::valueForFilter):
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::customCSSText):

LayoutTests:

Update results after use of CSSPrimitiveValue.

* css3/filters/filter-property-computed-style-expected.txt:
* css3/filters/filter-property-expected.txt:
* css3/filters/filter-property-parsing-expected.txt:
* css3/filters/script-tests/filter-property-computed-style.js:
* css3/filters/script-tests/filter-property-parsing.js:
* css3/filters/script-tests/filter-property.js:
* fast/filter-image/parse-filter-image-expected.txt:
* fast/filter-image/parse-filter-image.html:

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

6 years ago[CSSRegions] Incorrect repaint of fixed element with transformed parent
mihnea@adobe.com [Wed, 15 Jan 2014 06:43:39 +0000 (06:43 +0000)]
[CSSRegions] Incorrect repaint of fixed element with transformed parent
https://bugs.webkit.org/show_bug.cgi?id=125756

Reviewed by Simon Fraser.

Source/WebCore:

When collecting the layers for fixed positioned elements with named flow
as a containing block, use layers collection at named flow layer level
instead of relying on the positioned elements collection.

With this approach, there are situations with nested named flows laid out in
auto-height regions and thus assuming 2 step layouts, in which is enough to lay
out the inner named flow once instead of twice with a performance gain.
In such situations, the layers lists for the inner named flow are not yet updated
when collectFixedPositionedLayers is called to paint the fixed positioned layers.
Therefore I called updateLayerListsIfNeeded for all named flows layers, via the flow thread controller, before inspecting the named flow layers to avoid hitting the assertions when
accessing the named flows layers lists.

Tests: fast/regions/repaint/fixed-in-named-flow-cb-changed.html
       fast/regions/repaint/fixed-in-named-flow-cb-changed2.html

* rendering/FlowThreadController.cpp:
(WebCore::FlowThreadController::updateNamedFlowsLayerListsIfNeeded):
(WebCore::FlowThreadController::collectFixedPositionedLayers):
* rendering/FlowThreadController.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintFixedLayersInNamedFlows):

LayoutTests:

Add tests for a fixed positioned element with a parent that:
1. dynamically gets a transform, in which case the fixed positioned element should be positioned
relative to its parent
2. dynamically loses its transform, in which case the fixed positioned element should be positioned
relative to the view.

* fast/regions/repaint/fixed-in-named-flow-cb-changed-expected.html: Added.
* fast/regions/repaint/fixed-in-named-flow-cb-changed.html: Added.
* fast/regions/repaint/fixed-in-named-flow-cb-changed2-expected.html: Added.
* fast/regions/repaint/fixed-in-named-flow-cb-changed2.html: Added.

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

6 years agoUnreviewed test fix.
bfulgham@apple.com [Wed, 15 Jan 2014 06:36:26 +0000 (06:36 +0000)]
Unreviewed test fix.

Source/WebCore:

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateCompressedTexDimensions): Emit
error state expected by Khronos test suite.

LayoutTests:

* fast/canvas/webgl/webgl-compressed-texture-size-limit.html: Use same
failure mode as the khronos test suite.

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

6 years agoStop cmp from spewing useless info during postprocess-headers.sh.
mrowe@apple.com [Wed, 15 Jan 2014 06:34:14 +0000 (06:34 +0000)]
Stop cmp from spewing useless info during postprocess-headers.sh.

* postprocess-headers.sh: Pass -s to silence cmp since we only care about the
exit status.

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

6 years agoIDB: create object store support
beidson@apple.com [Wed, 15 Jan 2014 06:31:16 +0000 (06:31 +0000)]
IDB: create object store support
<rdar://problem/15779639> and https://bugs.webkit.org/show_bug.cgi?id=127011

Reviewed by Anders Carlsson.

Source/WebCore:

Split the 3 objects declared in IDBDatabaseMetadata into their own header files:
* Modules/indexeddb/IDBDatabaseMetadata.h:
* Modules/indexeddb/IDBIndexMetadata.h:
(WebCore::IDBIndexMetadata::IDBIndexMetadata):
* Modules/indexeddb/IDBObjectStoreMetadata.h:
(WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):

Add cross thread copying for IDBDatabaseMetadata:
* platform/CrossThreadCopier.cpp:
(WebCore::IDBIndexMetadata>::copy):
(WebCore::IDBObjectStoreMetadata>::copy):
* platform/CrossThreadCopier.h:

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

Source/WebKit2:

Add messaging/callback infrastructure for creating object stores:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::createObjectStore):
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::createObjectStore):
(WebKit::WebIDBServerConnection::didCreateObjectStore):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::didChangeDatabaseVersion):
(WebKit::UniqueIDBDatabase::didCreateObjectStore):
(WebKit::UniqueIDBDatabase::didCompleteBoolRequest):
(WebKit::UniqueIDBDatabase::createObjectStore):
(WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:

Add serialization helpers to save/restore an IDBKeyPath to/from disk:
* DatabaseProcess/IndexedDB/IDBSerialization.cpp:
(WebKit::serializeIDBKeyPath):
(WebKit::deserializeIDBKeyPath):
* DatabaseProcess/IndexedDB/IDBSerialization.h:

Add object store metadata to the schema, and save/restore the metadata:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

* Scripts/webkit2/messages.py:
(struct_or_class):
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoOnly use color in make output when it’s going to a terminal.
mitz@apple.com [Wed, 15 Jan 2014 06:10:54 +0000 (06:10 +0000)]
Only use color in make output when it’s going to a terminal.

Reviewed by Mark Rowe.

* Makefile.shared:

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

6 years ago[GTK] Unreviewed build fix after r162034
jae.park@company100.net [Wed, 15 Jan 2014 05:43:58 +0000 (05:43 +0000)]
[GTK] Unreviewed build fix after r162034

* GNUmakefile.list.am:

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

6 years ago[iOS] Crash in NavigatorBase::vendor loading apple.com
commit-queue@webkit.org [Wed, 15 Jan 2014 04:26:14 +0000 (04:26 +0000)]
[iOS] Crash in NavigatorBase::vendor loading apple.com
https://bugs.webkit.org/show_bug.cgi?id=127028

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-01-14
Reviewed by Daniel Bates.

Source/WebCore:

Export function pointers to be filled in with WebKitSystemInterface functions.

* WebCore.exp.in:

Source/WebKit/mac:

Fill in iOS WebKitSystemInterface functions.

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

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

6 years agoUnreviewed build fix for CMake based ports after r162034.
ryuan.choi@samsung.com [Wed, 15 Jan 2014 04:22:30 +0000 (04:22 +0000)]
Unreviewed build fix for CMake based ports after r162034.

* CMakeLists.txt:

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

6 years agoBuild fix after r162034
jpfau@apple.com [Wed, 15 Jan 2014 03:56:02 +0000 (03:56 +0000)]
Build fix after r162034

Rubber-stamped by Benjamin Poulain.

Source/WebCore:

* WebCore.exp.in:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp:

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

6 years agoMerged some subpixel skipped tests. Unreviewed.
zalan@apple.com [Wed, 15 Jan 2014 03:39:31 +0000 (03:39 +0000)]
Merged some subpixel skipped tests. Unreviewed.

webkit.org/b/126893 is a duplicate of webkit.org/b/126892

* platform/mac/TestExpectations:

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

6 years agoWeb Inspector: Resource finish time is sometimes earlier than response received time.
timothy@apple.com [Wed, 15 Jan 2014 03:08:43 +0000 (03:08 +0000)]
Web Inspector: Resource finish time is sometimes earlier than response received time.

https://bugs.webkit.org/show_bug.cgi?id=127027

Reviewed by Joseph Pecoraro.

* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didFinishLoading): Use currentTime() and not the
passed in finishTime.

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

6 years agoFollow up build fix attempt.
andersca@apple.com [Wed, 15 Jan 2014 03:04:06 +0000 (03:04 +0000)]
Follow up build fix attempt.

* WebCore.exp.in:

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

6 years agoAdd support for handling WebGL load policies.
roger_fong@apple.com [Wed, 15 Jan 2014 02:58:58 +0000 (02:58 +0000)]
Add support for handling WebGL load policies.
https://bugs.webkit.org/show_bug.cgi?id=126935
<rdar://problem/15790448>.

Reviewed by Brent Fulgham.

* WebCore.xcodeproj/project.pbxproj: Copy over HTMLCanvasElement.h to the private headers directory.
* html/HTMLCanvasElement.cpp: Show the policy dialog and retrieve policies as necessary.
(WebCore::HTMLCanvasElement::getContext): Make sure that WebGL is allowed on the site.
                                          If it isn't, be sure to notify the frame loader client that
                                          the site is trying to create a WebGL context.
* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::webGLPolicyForHost): Used to get the WebGL load policy for a site.
* loader/FrameLoaderTypes.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::webGLContextCreated): Called when a site is creating a WebGL context.

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

6 years agoCreate separate progress tracker clients
andersca@apple.com [Wed, 15 Jan 2014 02:43:31 +0000 (02:43 +0000)]
Create separate progress tracker clients
https://bugs.webkit.org/show_bug.cgi?id=127025

Reviewed by Sam Weinig.

Source/WebCore:

* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::~ProgressTracker):
* loader/ProgressTrackerClient.h:

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebCoreSupport/WebProgressTrackerClient.h: Copied from Source/WebCore/loader/ProgressTrackerClient.h.
* WebCoreSupport/WebProgressTrackerClient.mm: Added.
(WebProgressTrackerClient::WebProgressTrackerClient):
(WebProgressTrackerClient::progressTrackerDestroyed):
(WebProgressTrackerClient::willChangeEstimatedProgress):
(WebProgressTrackerClient::didChangeEstimatedProgress):
(WebProgressTrackerClient::progressStarted):
(WebProgressTrackerClient::progressEstimateChanged):
(WebProgressTrackerClient::progressFinished):
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

Source/WebKit2:

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp: Copied from Source/WebCore/loader/ProgressTrackerClient.h.
(WebKit::WebProgressTrackerClient::WebProgressTrackerClient):
(WebKit::WebProgressTrackerClient::progressTrackerDestroyed):
(WebKit::WebProgressTrackerClient::progressStarted):
(WebKit::WebProgressTrackerClient::progressEstimateChanged):
(WebKit::WebProgressTrackerClient::progressFinished):
* WebProcess/WebCoreSupport/WebProgressTrackerClient.h: Copied from Source/WebCore/loader/ProgressTrackerClient.h.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):

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

6 years agoAnd yet another build fix.
andersca@apple.com [Wed, 15 Jan 2014 02:26:33 +0000 (02:26 +0000)]
And yet another build fix.

* wtf/SizeLimits.cpp:

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

6 years agoAnother build fix.
andersca@apple.com [Wed, 15 Jan 2014 02:21:34 +0000 (02:21 +0000)]
Another build fix.

* wtf/SizeLimits.cpp:

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

6 years ago[WebGL] WebGLRenderingContext::validateCompressedTexDimensions improperly calculates...
bfulgham@apple.com [Wed, 15 Jan 2014 02:03:49 +0000 (02:03 +0000)]
[WebGL] WebGLRenderingContext::validateCompressedTexDimensions improperly calculates values
https://bugs.webkit.org/show_bug.cgi?id=126926

Reviewed by Dean Jackson.

Test coverage in fast/canvas/webgl/webgl-compressed-texture-size-limit.html

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::compressedTexImage2D): Pass target to
validation function.
(WebCore::WebGLRenderingContext::validateCompressedTexDimensions): Revise
calculation to also confirm size is in bounds.
(WebCore::WebGLRenderingContext::validateCompressedTexSubDimensions): Pass
       target to validation function.
* html/canvas/WebGLRenderingContext.h: Modify signature.

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

6 years agoOn iOS, we never want to make scrollbar layers
simon.fraser@apple.com [Wed, 15 Jan 2014 01:58:23 +0000 (01:58 +0000)]
On iOS, we never want to make scrollbar layers
https://bugs.webkit.org/show_bug.cgi?id=127024
<rdar://problem/15745768>

Reviewed by Dean Jackson.

On platforms that delegate scrolling, don't try to make layers
for scrollbars.

This fixes a crash in RenderLayerCompositor::updateOverflowControlsLayers()
where m_overflowControlsHostLayer is null.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::shouldCompositeOverflowControls):

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

6 years agoCorrect grave mistake in updating the pbxproj file rather than xcconfig.
dino@apple.com [Wed, 15 Jan 2014 01:39:54 +0000 (01:39 +0000)]
Correct grave mistake in updating the pbxproj file rather than xcconfig.

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

* Configurations/WebKit.xcconfig:

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

6 years ago[WK2] Make WebPageProxy's setUserAgent private
benjamin@webkit.org [Wed, 15 Jan 2014 01:35:27 +0000 (01:35 +0000)]
[WK2] Make WebPageProxy's setUserAgent private
https://bugs.webkit.org/show_bug.cgi?id=127013

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-01-14
Reviewed by Anders Carlsson.

* UIProcess/WebPageProxy.h:
The API to modify the user agent already has 3 "setters":
-standardUserAgent
-setApplicationNameForUserAgent
-setCustomUserAgent

The method WebPageProxy::setUserAgent() is supposed to be internal, not used directly.
Using it directly would cause unexpected behaviors, for example:
-Set the user agent with setUserAgent.
-Set CustomUserAgent.
-Reset CustomUserAgent.
->The user agent is now standardUserAgent instead of the user agent defined initially.

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

6 years agoSource/WebCore: Avoid PLATFORM() macros in exported headers.
simon.fraser@apple.com [Wed, 15 Jan 2014 00:52:02 +0000 (00:52 +0000)]
Source/WebCore: Avoid PLATFORM() macros in exported headers.

* platform/ios/WebEvent.h:

Source/WebKit/ios: Avoid PLATFORM() macros in exported headers.

* WebView/WebPDFViewPlaceholder.h:

Source/WebKit/mac: #define ENABLE_DASHBOARD_SUPPORT for iOS.

* WebView/WebViewPrivate.h:

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

6 years ago[iOS] Build fix for 32-bit simulator and device
dbates@webkit.org [Wed, 15 Jan 2014 00:46:02 +0000 (00:46 +0000)]
[iOS] Build fix for 32-bit simulator and device

CGFloat is defined to be float, double for 32-bit, and 64-bit devices respectively.
Because WebCore::createCGColorWithDeviceWhite() takes CGFloat arguments we need to
list both the float and double-variants of this symbol in WebCore.exp.in. Currently
we only list the version whose arguments are of type double.

* WebCore.exp.in:

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

6 years agoAttempt to fix 32-bit Mac build.
dino@apple.com [Wed, 15 Jan 2014 00:28:27 +0000 (00:28 +0000)]
Attempt to fix 32-bit Mac build.

* WebKit.xcodeproj/project.pbxproj:

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

6 years agoSource/WebCore: Clean up exports and headers for iOS.
simon.fraser@apple.com [Wed, 15 Jan 2014 00:17:13 +0000 (00:17 +0000)]
Source/WebCore: Clean up exports and headers for iOS.

Don't use ENABLE() macro in an exported header.

* platform/ios/wak/WAKResponder.h:

Source/WebKit/ios: Clean up exports and headers for iOS.

* Misc/WebNSStringDrawing.h: Don't use PLATFORM() macro in an exported header.
* WebCoreSupport/WebFrameIOS.h: Ditto.
* WebCoreSupport/WebSelectionRect.h: Ditto.

Source/WebKit/mac: Clean up exports and headers for iOS.

Need to export WebArchivePboardType on Mac and iOS.

* WebKit.exp:
* WebKit.mac.exp:

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

6 years ago[iOS] Move symbol __ZN7WebCore34registerQLPreviewConverterIfNeededEP5NSURLP8NSStringP...
dbates@webkit.org [Wed, 15 Jan 2014 00:13:10 +0000 (00:13 +0000)]
[iOS] Move symbol __ZN7WebCore34registerQLPreviewConverterIfNeededEP5NSURLP8NSStringP6NSData to
section USE(QUICK_LOOK)

* WebCore.exp.in:

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

6 years agoClean up DNSResolveQueue
andersca@apple.com [Wed, 15 Jan 2014 00:07:19 +0000 (00:07 +0000)]
Clean up DNSResolveQueue
https://bugs.webkit.org/show_bug.cgi?id=127007

Reviewed by Geoffrey Garen.

Move the shared() getter out of line and make it use NeverDestroyed.
Add a Timer member variable instead of inheriting from TimerBase.
Use std::atomic<int> for the m_requestsInFlight member variable.

* platform/network/DNSResolveQueue.cpp:
(WebCore::DNSResolveQueue::shared):
(WebCore::DNSResolveQueue::DNSResolveQueue):
(WebCore::DNSResolveQueue::add):
(WebCore::DNSResolveQueue::timerFired):
* platform/network/DNSResolveQueue.h:
(WebCore::DNSResolveQueue::decrementRequestCount):

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

6 years agoFix header availability checks on iOS
simon.fraser@apple.com [Wed, 15 Jan 2014 00:00:47 +0000 (00:00 +0000)]
Fix header availability checks on iOS
https://bugs.webkit.org/show_bug.cgi?id=127016

Reviewed by Andy Estes.

Make DOMTouch* and DOMGesture* headers public headers on iOS,
and fix MigrateHeaders.make to skip availability checks when
building for iOS.

* MigrateHeaders.make:

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

6 years agoTwo more exports for iOS.
simon.fraser@apple.com [Wed, 15 Jan 2014 00:00:45 +0000 (00:00 +0000)]
Two more exports for iOS.

* WebCore.exp.in:

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

6 years agoNeed to #import <WebCore/QuickLook.h>.
simon.fraser@apple.com [Tue, 14 Jan 2014 23:22:08 +0000 (23:22 +0000)]
Need to #import <WebCore/QuickLook.h>.

* WebView/WebDataSource.mm:

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

6 years ago[iOS] Enable WTF_USE_UIKIT_EDITING
dbates@webkit.org [Tue, 14 Jan 2014 23:05:04 +0000 (23:05 +0000)]
[iOS] Enable WTF_USE_UIKIT_EDITING

* wtf/Platform.h:

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

6 years agoCopying should be generational
mhahnenberg@apple.com [Tue, 14 Jan 2014 23:03:01 +0000 (23:03 +0000)]
Copying should be generational
https://bugs.webkit.org/show_bug.cgi?id=126555

Reviewed by Geoffrey Garen.

This patch adds support for copying to our generational collector. Eden collections
always trigger copying. Full collections use our normal fragmentation-based heuristics.

The way this works is that the CopiedSpace now has the notion of an old generation set of CopiedBlocks
and a new generation of CopiedBlocks. During each mutator cycle new CopiedSpace allocations reside
in the new generation. When a collection occurs, those blocks are moved to the old generation.

One key thing to remember is that both new and old generation objects in the MarkedSpace can
refer to old or new generation allocations in CopiedSpace. This is why we must fire write barriers
when assigning to an old (MarkedSpace) object's Butterfly.

* heap/CopiedAllocator.h:
(JSC::CopiedAllocator::tryAllocateDuringCopying):
* heap/CopiedBlock.h:
(JSC::CopiedBlock::CopiedBlock):
(JSC::CopiedBlock::didEvacuateBytes):
(JSC::CopiedBlock::isOld):
(JSC::CopiedBlock::didPromote):
* heap/CopiedBlockInlines.h:
(JSC::CopiedBlock::reportLiveBytes):
(JSC::CopiedBlock::reportLiveBytesDuringCopying):
* heap/CopiedSpace.cpp:
(JSC::CopiedSpace::CopiedSpace):
(JSC::CopiedSpace::~CopiedSpace):
(JSC::CopiedSpace::init):
(JSC::CopiedSpace::tryAllocateOversize):
(JSC::CopiedSpace::tryReallocateOversize):
(JSC::CopiedSpace::doneFillingBlock):
(JSC::CopiedSpace::didStartFullCollection):
(JSC::CopiedSpace::doneCopying):
(JSC::CopiedSpace::size):
(JSC::CopiedSpace::capacity):
(JSC::CopiedSpace::isPagedOut):
* heap/CopiedSpace.h:
(JSC::CopiedSpace::CopiedGeneration::CopiedGeneration):
* heap/CopiedSpaceInlines.h:
(JSC::CopiedSpace::contains):
(JSC::CopiedSpace::recycleEvacuatedBlock):
(JSC::CopiedSpace::allocateBlock):
(JSC::CopiedSpace::startedCopying):
* heap/CopyVisitor.cpp:
(JSC::CopyVisitor::copyFromShared):
* heap/CopyVisitorInlines.h:
(JSC::CopyVisitor::allocateNewSpace):
(JSC::CopyVisitor::allocateNewSpaceSlow):
* heap/GCThreadSharedData.cpp:
(JSC::GCThreadSharedData::didStartCopying):
* heap/Heap.cpp:
(JSC::Heap::copyBackingStores):
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::copyLater):
* heap/TinyBloomFilter.h:
(JSC::TinyBloomFilter::add):

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

6 years ago[iOS] Enable QuickLook
dbates@webkit.org [Tue, 14 Jan 2014 23:01:33 +0000 (23:01 +0000)]
[iOS] Enable QuickLook
https://bugs.webkit.org/show_bug.cgi?id=126954

Reviewed by David Kilzer.

Source/WebKit/mac:

Remove empty implementation for quickLookContentForURL: since we always enable QuickLook on iOS.

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

Source/WTF:

* wtf/Platform.h:

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

6 years agoSource/WebKit/ios: Remove .objc_class_name_WebInspectorXPCWrapper from export on...
dino@apple.com [Tue, 14 Jan 2014 22:56:58 +0000 (22:56 +0000)]
Source/WebKit/ios: Remove .objc_class_name_WebInspectorXPCWrapper from export on iOS build.

* WebKit.iOS.exp:

Source/WebKit/mac: Move some Mac-only exports to WebKit.mac.exp for iOS build.

* WebKit.exp:
* WebKit.mac.exp:

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

6 years agoMove some Mac-only exports to WebKit.mac.exp for iOS build.
simon.fraser@apple.com [Tue, 14 Jan 2014 22:44:57 +0000 (22:44 +0000)]
Move some Mac-only exports to WebKit.mac.exp for iOS build.

* WebKit.exp:
* WebKit.mac.exp:

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

6 years agoOne more buildfix after r161999.
ossy@webkit.org [Tue, 14 Jan 2014 22:38:18 +0000 (22:38 +0000)]
One more buildfix after r161999.

* Modules/webaudio/MediaStreamAudioSource.h:

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

6 years agoSource/WebCore: Export __ZN7WebCore11FileChooser16chooseMediaFilesERKN3WTF6VectorINS1...
simon.fraser@apple.com [Tue, 14 Jan 2014 22:34:11 +0000 (22:34 +0000)]
Source/WebCore: Export __ZN7WebCore11FileChooser16chooseMediaFilesERKN3WTF6VectorINS1_6StringELm0ENS1_15CrashOnOverflowEEERKS3_PNS_4IconE
to fix WK1 iOS linking.

* WebCore.exp.in:

Source/WebKit/ios: Fix WK1 iOS build: need implementations of these functions in WebInspectorClientIOS.

* WebCoreSupport/WebInspectorClientIOS.mm:
(WebInspectorClient::indicate):
(WebInspectorClient::hideIndication):

Source/WebKit/mac: Fix iOS WK1 linking.

* Configurations/WebKit.xcconfig: We do need WebOpenPanelResultListener
on iOS.
* WebCoreSupport/WebOpenPanelResultListener.mm: Need <WebCore/Icon.h>

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

6 years ago[WIN] Set MSBuild environment variable to avoid long-lived processes locking log...
bfulgham@apple.com [Tue, 14 Jan 2014 22:33:56 +0000 (22:33 +0000)]
[WIN] Set MSBuild environment variable to avoid long-lived processes locking log files
https://bugs.webkit.org/show_bug.cgi?id=127002

Reviewed by David Kilzer.

* Scripts/webkitdirs.pm:
(setupAppleWinEnv): Export MSBUILDDISABLENODEREUSE=1 to the environment.

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

6 years agoSource/WebCore: iOS build fixing: export required by iOS WebKit1.
simon.fraser@apple.com [Tue, 14 Jan 2014 22:20:04 +0000 (22:20 +0000)]
Source/WebCore: iOS build fixing: export required by iOS WebKit1.

* WebCore.exp.in:

Source/WebKit/mac: iOS build fixing: link WebKit against Security.framework on iOS.

* Configurations/WebKit.xcconfig:

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

6 years ago[WK1] Allow generated export files on iOS
dino@apple.com [Tue, 14 Jan 2014 22:18:16 +0000 (22:18 +0000)]
[WK1] Allow generated export files on iOS
https://bugs.webkit.org/show_bug.cgi?id=127008

Reviewed by Simon Fraser.

Source/WebKit:

Modify the export file generation rule to read from
a shared and platform-specific input file.

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Add a new Mac-only symbol file.

* WebKit.exp: To begin, move the WebIcon* into the Mac-specific exports.
* WebKit.mac.exp: Added. New file holds Mac-only symbols.

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

6 years agoUnreviewed, rolling out r162000.
commit-queue@webkit.org [Tue, 14 Jan 2014 22:13:33 +0000 (22:13 +0000)]
Unreviewed, rolling out r162000.
http://trac.webkit.org/changeset/162000
https://bugs.webkit.org/show_bug.cgi?id=127009

API versioning is wrong (Requested by rfong on #webkit).

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
* loader/FrameLoaderClient.h:
* loader/FrameLoaderTypes.h:
* page/ChromeClient.h:

Source/WebKit2:

* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/WKPageLoaderClient.h:
* UIProcess/API/C/WKPageUIClient.h:
* UIProcess/WebLoaderClient.cpp:
* UIProcess/WebLoaderClient.h:
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebUIClient.cpp:
* UIProcess/WebUIClient.h:
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:

Tools:

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):

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

6 years agoASSERTION FAILED: !hasError() in JSC::Parser<LexerType>::createSavePoint().
mark.lam@apple.com [Tue, 14 Jan 2014 22:11:43 +0000 (22:11 +0000)]
ASSERTION FAILED: !hasError() in JSC::Parser<LexerType>::createSavePoint().
https://bugs.webkit.org/show_bug.cgi?id=126990.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseConstDeclarationList):
- We were missing an error check after attempting to parse an initializer
  expression. This is now fixed.

LayoutTests:

* js/dom/parse-syntax-error-in-initializer-expected.txt: Added.
* js/dom/parse-syntax-error-in-initializer.html: Added.
* js/resources/parse-syntax-error-in-initializer.js: Added.
- Added bug test case as a regression test.

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

6 years agoSpeculative buildfix after r161999.
ossy@webkit.org [Tue, 14 Jan 2014 22:10:40 +0000 (22:10 +0000)]
Speculative buildfix after r161999.

* Shared/APIObject.h:

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

6 years agoSkip some tests that now fail after r162000.
roger_fong@apple.com [Tue, 14 Jan 2014 21:46:26 +0000 (21:46 +0000)]
Skip some tests that now fail after r162000.
https://bugs.webkit.org/show_bug.cgi?id=127000.

* platform/mac/TestExpectations:

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

6 years ago[CSS Shapes] Move CSSPrimitiveValue <-> LayoutBox Conversion to CSSPrimitiveValueMappings
betravis@adobe.com [Tue, 14 Jan 2014 21:42:03 +0000 (21:42 +0000)]
[CSS Shapes] Move CSSPrimitiveValue <-> LayoutBox Conversion to CSSPrimitiveValueMappings
https://bugs.webkit.org/show_bug.cgi?id=126719

Reviewed by Dirk Schulze.

The standard location for conversions to/from CSSPrimitiveValues is CSSPrimitiveValueMappings.
This patch moves the conversion for LayoutBoxes from BasicShapeFunctions to
CSSPrimitiveValueMappings.h.

Refactoring, no new tests.

* css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape):
(WebCore::basicShapeForValue):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator LayoutBox):
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyClipPath::applyValue):
(WebCore::ApplyPropertyShape::applyValue):

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

6 years agoAdd support for handling WebGL load policies.
roger_fong@apple.com [Tue, 14 Jan 2014 21:41:04 +0000 (21:41 +0000)]
Add support for handling WebGL load policies.
https://bugs.webkit.org/show_bug.cgi?id=126935
<rdar://problem/15790448>.

Reviewed by Brent Fulgham.

* WebCore.xcodeproj/project.pbxproj: Copy over HTMLCanvasElement.h to the private headers directory.
* html/HTMLCanvasElement.cpp: Show the policy dialog and retrieve policies as necessary.
(WebCore::HTMLCanvasElement::getContext): Make sure that WebGL is allowed on the site.
                                          If it isn't, be sure to notify the frame loader client that
                                          the site is trying to create a WebGL context.

Boiler plate code for sending messages to and from the UI and Web Process.

* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::webGLPolicyForHost): Used to get the WebGL load policy for a site.
* loader/FrameLoaderTypes.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::webGLContextCreated): Called when a site is creating a WebGL context.
* UIProcess/API/C/WKAPICast.h:
(WebKit::toWebGLLoadPolicy):
* UIProcess/API/C/WKPageLoaderClient.h:
* UIProcess/API/C/WKPageUIClient.h:
* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::webGLLoadPolicy):
* UIProcess/WebLoaderClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::webGLContextCreated):
(WebKit::WebPageProxy::webGLPolicyForHost):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::webGLContextCreated):
* UIProcess/WebUIClient.h:
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::webGLContextCreated):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::webGLPolicyForHost):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebPage/WebPage.cpp: A sendSync is used here to get the webGLPolicyForHost message sent between the Web and UI process.
                                  In the future this will be replaced with a strategy is non-blocking.
(WebKit::WebPage::getWebGLPolicyForHost):
* WebProcess/WebPage/WebPage.h:
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):

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