WebKit-https.git
5 years ago[iOS WebKit2] Enable optimization to mmap downloaded resources once they become file...
akling@apple.com [Fri, 25 Apr 2014 07:19:31 +0000 (07:19 +0000)]
[iOS WebKit2] Enable optimization to mmap downloaded resources once they become file-backed.
<https://webkit.org/b/132171>
<rdar://problem/16720733>

Source/WebCore:
Add a missing export for the USE(CFNETWORK) + WebKit2 combo.

Reviewed by Antti Koivisto.

* WebCore.exp.in:

Source/WebKit2:
Implement a CFNetwork-based version of NetworkResourceLoader::willCacheResponseAsync()
and activate the DiskCacheMonitor code path. This means that once resources go into
file system cache, we get notified and mmap them from disk, saving heaps of memory.

Reviewed by Antti Koivisto.

* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/mac/DiskCacheMonitor.mm:
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::willCacheResponseAsync):

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

5 years ago[iOS WebKit2] RemoteLayerTreeDrawingArea should force CA to garbage collect surfaces.
akling@apple.com [Fri, 25 Apr 2014 06:28:33 +0000 (06:28 +0000)]
[iOS WebKit2] RemoteLayerTreeDrawingArea should force CA to garbage collect surfaces.
<https://webkit.org/b/132160>
<rdar://problem/16110687>

Do an empty CATransaction at the end of RemoteLayerTreeDrawingArea::flushLayers()
to get CA to garbage collect its IOSurfaces. This helps clean up unused surfaces
that we'd otherwise end up hanging on to for a long time.

Reviewed by Tim Horton.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::didUpdate):

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

5 years agoFix typo in comment from last check-in
darin@apple.com [Fri, 25 Apr 2014 06:02:42 +0000 (06:02 +0000)]
Fix typo in comment from last check-in

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

5 years agoFrameLoader::checkCompleted can hit the "ref'ing while destroyed" assertion
darin@apple.com [Fri, 25 Apr 2014 06:01:34 +0000 (06:01 +0000)]
FrameLoader::checkCompleted can hit the "ref'ing while destroyed" assertion
https://bugs.webkit.org/show_bug.cgi?id=132163
rdar://problem/16720640

Reviewed by Brady Eidson.

Couldn't find a way to test this yet. Would be nice to have a test.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkCompleted): Move protector until after we check
if the frame is already complete. That can happen in practice when this is
called from within the frame's destructor. All the code that runs before the
protector simply checks state and does not require protection.

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

5 years agoMark Supplement instead of RefCountedSupplement in NavigatorContentUtils
gyuyoung.kim@samsung.com [Fri, 25 Apr 2014 03:59:46 +0000 (03:59 +0000)]
Mark Supplement instead of RefCountedSupplement in NavigatorContentUtils
https://bugs.webkit.org/show_bug.cgi?id=132151

Reviewed by Darin Adler.

Though Original goal was to make it sharable across navigator instances, the NavigatorContentUtils
has used RefCountedSupplement<Page> instead of RefCountedSupplement<Navigator>. This patch makes it
use Supplement<Page> because there is no scenario which needs to be shared across navigator instances.

Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=171403.

No new tests, no behavior changes.

* Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
(WebCore::NavigatorContentUtils::from):
(WebCore::NavigatorContentUtils::create):
(WebCore::provideNavigatorContentUtilsTo):
* Modules/navigatorcontentutils/NavigatorContentUtils.h:

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

5 years agoUnreviewed, rolling out r167700.
rniwa@webkit.org [Fri, 25 Apr 2014 01:24:27 +0000 (01:24 +0000)]
Unreviewed, rolling out r167700.
https://bugs.webkit.org/show_bug.cgi?id=132142

Incorrectly reverted the change in r167547 for
webkit.org/b/131898 (Requested by rniwa on #webkit).

Reverted changeset:

"Cursor doesn't change back to pointer when leaving the Safari
window"
https://bugs.webkit.org/show_bug.cgi?id=132038
http://trac.webkit.org/changeset/167700

Patch by Commit Queue <commit-queue@webkit.org> on 2014-04-24

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

5 years agoWeb Inspector: Dashboard when paused in debugger shows some missing glyph boxes
timothy@apple.com [Fri, 25 Apr 2014 00:54:05 +0000 (00:54 +0000)]
Web Inspector: Dashboard when paused in debugger shows some missing glyph boxes
https://bugs.webkit.org/show_bug.cgi?id=132113

Reviewed by Joseph Pecoraro.

* UserInterface/Views/DebuggerDashboardView.css:
(.dashboard.debugger > .location .function-name::after): Fix the codepoint for nbsp.

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

5 years agoRename "IMAGE_CONTROLS" feature to "SERVICE_CONTROLS"
beidson@apple.com [Fri, 25 Apr 2014 00:53:01 +0000 (00:53 +0000)]
Rename "IMAGE_CONTROLS" feature to "SERVICE_CONTROLS"
https://bugs.webkit.org/show_bug.cgi?id=132155

Reviewed by Tim Horton.

Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:

Source/WebCore:
No new tests (No change in behavior).

* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* WebCore.exp.in:
* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSValueKeywords.in:
* dom/Node.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didAttachRenderers):
* html/HTMLImageElement.h:
* html/shadow/ImageControlsRootElement.cpp:
* html/shadow/ImageControlsRootElement.h:
* html/shadow/mac/ImageControlsButtonElementMac.cpp:
* html/shadow/mac/ImageControlsButtonElementMac.h:
* html/shadow/mac/ImageControlsRootElementMac.cpp:
* html/shadow/mac/ImageControlsRootElementMac.h:
* page/ContextMenuContext.cpp:
(WebCore::ContextMenuContext::ContextMenuContext):
* page/ContextMenuContext.h:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::maybeCreateContextMenu):
(WebCore::ContextMenuController::populate):
* page/ContextMenuController.h:
* page/Settings.in:
* platform/ThemeTypes.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::canHaveChildren):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::servicesRolloverButtonCell):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize):

Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
* Misc/WebSharingServicePickerController.h:
* Misc/WebSharingServicePickerController.mm:
* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::contextMenuForEvent):
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
* Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::operator=):
(WebKit::ContextMenuContextData::encode):
(WebKit::ContextMenuContextData::decode):
* Shared/ContextMenuContextData.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::internalShowContextMenu):
* UIProcess/WebPageProxy.h:
* UIProcess/mac/WebContextMenuProxyMac.h:
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
(WebKit::WebContextMenuProxyMac::populate):
(WebKit::WebContextMenuProxyMac::showContextMenu):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
* WebProcess/WebPage/WebContextMenu.cpp:
* WebProcess/WebPage/WebContextMenu.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

5 years agoWeb Inspector: Restore PageDebuggerAgent::enable / disable
timothy@apple.com [Fri, 25 Apr 2014 00:51:14 +0000 (00:51 +0000)]
Web Inspector: Restore PageDebuggerAgent::enable / disable
https://bugs.webkit.org/show_bug.cgi?id=132156

Restore functions that were eroniously removed in r167530.

Reviewed by Joseph Pecoraro.

* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::enable): Added.
(WebCore::PageDebuggerAgent::disable): Added.
* inspector/PageDebuggerAgent.h:

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

5 years agoDropzone effects don't work in non-file documents
ap@apple.com [Fri, 25 Apr 2014 00:48:38 +0000 (00:48 +0000)]
Dropzone effects don't work in non-file documents
https://bugs.webkit.org/show_bug.cgi?id=131770

Reviewed by Darin Adler.

File documents have two quirks that were making dropzone work in these before:
1. An ancient hack for Dashboard allows pasteboard access from JS.
2. On Mac, sandbox doesn't prevent File object creation, as we already have the access.

* dom/DataTransfer.cpp:
(WebCore::DataTransfer::hasFileOfType):
(WebCore::DataTransfer::hasStringOfType):
* dom/DataTransfer.h:
Moved these functions from EventHandler to DataTransfer. We can't create a DataTransfer
with Files while dragging, security doesn't permit us to. But we can get the file name.

* fileapi/File.cpp:
(WebCore::createBlobDataForFile):
(WebCore::createBlobDataForFileWithName):
(WebCore::File::contentTypeFromFilePath):
(WebCore::getContentTypeFromFileName): Deleted.
* fileapi/File.h:
Exposed a function to get file type from path without creating a File first.
This is much cheaper than creating a File, and works even when sandbox disallows
read access to content, such as when dragging over a target.

* page/EventHandler.cpp:
(WebCore::hasDropZoneType):
(WebCore::hasFileOfType): Deleted.
(WebCore::hasStringOfType): Deleted.

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

5 years ago[iOS] Add some missing overrides and remove unnecessary virtuals
commit-queue@webkit.org [Fri, 25 Apr 2014 00:17:07 +0000 (00:17 +0000)]
[iOS] Add some missing overrides and remove unnecessary virtuals
https://bugs.webkit.org/show_bug.cgi?id=132153

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-04-24
Reviewed by Darin Adler.

* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/WebVideoFullscreenManagerProxy.h:

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

5 years agoREGRESSION: Apparent hang of PCE.js Mac OS System 7.0.1 on ARM64 devices
msaboff@apple.com [Fri, 25 Apr 2014 00:14:14 +0000 (00:14 +0000)]
REGRESSION: Apparent hang of PCE.js Mac OS System 7.0.1 on ARM64 devices
https://bugs.webkit.org/show_bug.cgi?id=132147

Reviewed by Mark Lam.

Fixed or64(), eor32( ) and eor64() to use "src" register when we have a valid logicalImm.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::or64):
(JSC::MacroAssemblerARM64::xor32):
(JSC::MacroAssemblerARM64::xor64):
* tests/stress/regress-132147.js: Added test.

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

5 years agoWeb Inspector: Should update to CodeMirror 4.1
commit-queue@webkit.org [Fri, 25 Apr 2014 00:06:46 +0000 (00:06 +0000)]
Web Inspector: Should update to CodeMirror 4.1
https://bugs.webkit.org/show_bug.cgi?id=132140

Patch by Jonathan Wells <jonowells@apple.com> on 2014-04-24
Reviewed by Timothy Hatcher.

Updated to CodeMirror 4.1, which contains several bugfixes.
Release notes: http://codemirror.net/doc/releases.html#v4

* Tools/PrettyPrinting/codemirror.js:
* Tools/PrettyPrinting/css.js:
* Tools/PrettyPrinting/javascript.js:
* UserInterface/External/CodeMirror/codemirror.js:
* UserInterface/External/CodeMirror/css.js:
* UserInterface/External/CodeMirror/javascript.js:
* UserInterface/External/CodeMirror/livescript.js:
* UserInterface/External/CodeMirror/runmode.js:
* UserInterface/External/CodeMirror/xml.js:
Updated to CodeMirror 4.1.

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

5 years agoUnreviewed, rolling out r167441.
jer.noble@apple.com [Thu, 24 Apr 2014 22:48:32 +0000 (22:48 +0000)]
Unreviewed, rolling out r167441.
https://bugs.webkit.org/show_bug.cgi?id=132152

Caused full screen regressions on vimeo, youtube, and others.
(Requested by jernoble on #webkit).

Reverted changeset:

"Fullscreen media controls are unusable in pagination mode"
https://bugs.webkit.org/show_bug.cgi?id=131705
http://trac.webkit.org/changeset/167441

Patch by Commit Queue <commit-queue@webkit.org> on 2014-04-24

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

5 years agoWeb Inspector: CSS autofill suggests properties instead of values when values are...
commit-queue@webkit.org [Thu, 24 Apr 2014 22:29:16 +0000 (22:29 +0000)]
Web Inspector: CSS autofill suggests properties instead of values when values are needed
https://bugs.webkit.org/show_bug.cgi?id=132090

Patch by Jonathan Wells <jonowells@apple.com> on 2014-04-24
Reviewed by Joseph Pecoraro.

Updates are required to the CodeMirror helpers to be compatible with
CodeMirror 4. Some of those changes have been made to fix an issue
with CSS autofill, CSS code coloring, and also
https://bugs.webkit.org/show_bug.cgi?id=131859. The main issue is that
CodeMirror 4's CSS mode (css.js) stores its parsing modes in a different
data structure. All references to state.stack are obscelete. Many
are fixed here and more will be in an upcoming patch.

* Tools/PrettyPrinting/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
* UserInterface/Controllers/CodeMirrorCompletionController.js:
(WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): Corrected "block" state detection.
* UserInterface/External/CodeMirror/less.js: Removed.
* UserInterface/Views/CodeMirrorAdditions.js: Sets default state of "block" correctly.
* UserInterface/Views/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
* UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Fix styles to match CSS mode changes.

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

5 years agoUnused class forward declarations in Page
cavalcantii@gmail.com [Thu, 24 Apr 2014 22:14:14 +0000 (22:14 +0000)]
Unused class forward declarations in Page
https://bugs.webkit.org/show_bug.cgi?id=132141

Reviewed by Benjamin Poulain.

No new tests, no change on behavior.

* page/Page.h:

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

5 years ago[Mac] don't ask for AVAssetTrack properties before they are available
eric.carlson@apple.com [Thu, 24 Apr 2014 21:46:19 +0000 (21:46 +0000)]
[Mac] don't ask for AVAssetTrack properties before they are available
https://bugs.webkit.org/show_bug.cgi?id=131902
<rdar://problem/16505076>

Reviewed by Brent Fulgham.

No new tests, the behavior this changes can not be tested with a layout test.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
    m_cachedTotalBytes.
(WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Don't report that
    metadata has been loaded until the track properties we need have been loaded too.
(WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Cache totalBytes instead
    of recalculating it every time.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange): Invalidate cached
    total bytes.
(WebCore::assetTrackMetadataKeyNames): Array of AVAssetTrack properties we use.

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

5 years agoWebKit2 View Gestures: Use a single struct for the snapshot, and pass it around
timothy_horton@apple.com [Thu, 24 Apr 2014 21:45:55 +0000 (21:45 +0000)]
WebKit2 View Gestures: Use a single struct for the snapshot, and pass it around
https://bugs.webkit.org/show_bug.cgi?id=132114

Reviewed by Simon Fraser.

Have only a single map in ViewSnapshotStore, from back-forward item
to ViewSnapshotStore::Snapshot, and return the Snapshot struct when looking
up snapshots (via getSnapshot()), so that future patches can persist additional
information along with the snapshot.

* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
* UIProcess/mac/ViewGestureController.h:
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::retrieveSnapshotForItem):
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
Adopt getSnapshot() instead of snapshotAndRenderTreeSize().
Move retrieveSnapshotForItem out into a separate function (for future use).

* UIProcess/mac/ViewSnapshotStore.h:
(WebKit::ViewSnapshotStore::disableSnapshotting):
(WebKit::ViewSnapshotStore::enableSnapshotting):
* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::pruneSnapshots):
(WebKit::ViewSnapshotStore::recordSnapshot):
(WebKit::ViewSnapshotStore::getSnapshot):
(WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize): Deleted.
Make Snapshot struct public.
Get rid of the separate map of back-forward items to render tree sizes.
When evicting, instead of removing the entry, clear out its snapshot image;
this way, we can keep other snapshot metadata around.

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

5 years ago[iOS WebKit2] Should properly handle focus redirect (keyboard state changes when...
enrica@apple.com [Thu, 24 Apr 2014 21:44:42 +0000 (21:44 +0000)]
[iOS WebKit2] Should properly handle focus redirect (keyboard state changes when focus changes).
https://bugs.webkit.org/show_bug.cgi?id=132136
<rdar://problem/16238336>

Reviewed by Benjamin Poulain.

Focusing a field from JavaScript should not make the keyboard or the select picker
appear unless the user has already started interacting with one of the fields in the page.
Adding a parameter to StartAssistingNode to indicate whether the focus change is a result
of a user action.

* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::startAssistingNode):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _startAssistingNode:userIsInteracting:userObject:]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::startAssistingNode):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::dispatchTouchEvent):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleTap):
(WebKit::WebPage::elementDidFocus):

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

5 years agoUnify platformWidthForGlyph across OS X and iOS
mmaxfield@apple.com [Thu, 24 Apr 2014 21:20:54 +0000 (21:20 +0000)]
Unify platformWidthForGlyph across OS X and iOS
https://bugs.webkit.org/show_bug.cgi?id=132036

Reviewed by Darin Adler.

This patch creates on shared SimpleFontData::platformWidthForGlyph() function for both OS X and iOS.

No new tests are necessary because there should be no behavior changes.

* platform/graphics/SimpleFontData.h: Signatures for two helper functions
* platform/graphics/ios/SimpleFontDataIOS.mm: Replace iOS implementation of platformWidthForGlyph() with
implementations of only the two helper functions
(WebCore::SimpleFontData::getRenderingStyle): Compute style argument to CGFontGetGlyphAdvancesForStyle()
(WebCore::SimpleFontData::advanceForColorBitmapFont): iOS doesn't have color bitmap fonts
(WebCore::SimpleFontData::platformWidthForGlyph): Deleted.
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::getRenderingStyle): Compute style argument to CGFontGetGlyphAdvancesForStyle()
(WebCore::SimpleFontData::advanceForColorBitmapFont): Use [NSFont advancementForGlyph] to compute the advance
(WebCore::hasCustomTracking): Removed #if
(WebCore::isEmoji): Only relevant on iOS
(WebCore::SimpleFontData::platformWidthForGlyph): Shared implementation. Calls helper functions.

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

5 years agoMake slowPathAllocsBetweenGCs a runtime option.
mark.lam@apple.com [Thu, 24 Apr 2014 21:12:56 +0000 (21:12 +0000)]
Make slowPathAllocsBetweenGCs a runtime option.
<https://webkit.org/b/132137>

Reviewed by Mark Hahnenberg.

This will make it easier to more casually run tests with this configuration
as well as to reproduce issues (instead of requiring a code mod and rebuild).
We will now take --slowPathAllocsBetweenGCs=N where N is the number of
slow path allocations before we trigger a collection.

The option defaults to 0, which is reserved to mean that we will not trigger
any collections there.

* heap/Heap.h:
* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::doTestCollectionsIfNeeded):
(JSC::MarkedAllocator::allocateSlowCase):
* heap/MarkedAllocator.h:
* runtime/Options.h:

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

5 years agoSubpixel rendering: Clipping on text areas when shifted by one device pixel.
zalan@apple.com [Thu, 24 Apr 2014 20:46:26 +0000 (20:46 +0000)]
Subpixel rendering: Clipping on text areas when shifted by one device pixel.
https://bugs.webkit.org/show_bug.cgi?id=132008

Reviewed by Darin Adler.

Make RenderTheme paint* functions LayoutRect aware. Textarea is device pixel snapped, while
other theme controls are still on integral size/positions.

Source/WebCore:
Test: fast/forms/hidpi-textarea-on-subpixel-position.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintTextField):
(WebCore::RenderTheme::paintTextFieldDecorations):
(WebCore::RenderTheme::paintTextArea):
(WebCore::RenderTheme::paintTextAreaDecorations):
* rendering/RenderThemeIOS.h:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintTextAreaDecorations):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintTextArea):

LayoutTests:
* fast/forms/hidpi-textarea-on-subpixel-position-expected.html: Added.
* fast/forms/hidpi-textarea-on-subpixel-position.html: Added.
* platform/mac-wk2/TestExpectations: Due to defective RenderLayer cliprect calculation (WK2 only): webkit.org/b/132100

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

5 years agoText caret disappears in Mail after returning from another application
rniwa@webkit.org [Thu, 24 Apr 2014 20:24:13 +0000 (20:24 +0000)]
Text caret disappears in Mail after returning from another application
https://bugs.webkit.org/show_bug.cgi?id=132111

Reviewed by Darin Adler.

The bug was caused by our SPI _windowChangedKeyState not getting called upon deminiaturization.

Fixed the bug by using the standard NSWindowDidBecomeKeyNotification and NSWindowDidResignKeyNotification
notifications as done in WebKit2 since they DO get called upon deminiaturization.

* WebView/WebView.mm:
(-[WebView addWindowObserversForWindow:]):
(-[WebView removeWindowObservers]):
(-[WebView _windowKeyStateChanged:]):
(-[WebView _windowChangedKeyState]): Deleted.

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

5 years agoUnreviewed GTK gardening
commit-queue@webkit.org [Thu, 24 Apr 2014 19:49:23 +0000 (19:49 +0000)]
Unreviewed GTK gardening

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-04-24

Tools:
* Scripts/run-gtk-tests: Skips one flaky accesibility test in WK2API suite
(TestRunner):

LayoutTests:
* platform/gtk/TestExpectations: Updated a few expectations entries

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

5 years agoFontCache::fontCache() never returns nullptr so it can be made to return a reference...
mmaxfield@apple.com [Thu, 24 Apr 2014 19:05:47 +0000 (19:05 +0000)]
FontCache::fontCache() never returns nullptr so it can be made to return a reference instead
https://bugs.webkit.org/show_bug.cgi?id=132110

Reviewed by Tim Horton.

Updates callers to use '.' instead of '->'.

No new tests are necessary because there should be no behavior change.

Source/WebCore:
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::CSSFontSelector):
(WebCore::CSSFontSelector::~CSSFontSelector):
(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::fontDataForGenericFamily):
(WebCore::CSSFontSelector::getFallbackFontData):
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseMemory):
* platform/graphics/FontCache.cpp:
(WebCore::fontCache): Return a reference
* platform/graphics/FontCache.h:
(WebCore::FontCachePurgePreventer::FontCachePurgePreventer):
(WebCore::FontCachePurgePreventer::~FontCachePurgePreventer):
* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::releaseFontData):
(WebCore::FontGlyphs::realizeFontDataAt):
(WebCore::FontGlyphs::glyphDataAndPageForCharacter):
* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::verticalData):
* platform/graphics/ios/SimpleFontDataIOS.mm:
(WebCore::SimpleFontData::platformCreateScaledFontData):
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::invalidateFontCache):
(WebCore::fontCacheRegisteredFontsChangedNotificationCallback):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::platformCreateScaledFontData):
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::getCJKCodePageMasks):
* platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::containsCharacters):
* platform/graphics/wince/FontCacheWinCE.cpp:
(WebCore::getCJKCodePageMasks):
* platform/graphics/wince/FontPlatformData.cpp:
(WebCore::FontFamilyCodePageInfo::codePages):
(WebCore::FixedSizeFontData::create):
* platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/wince/SimpleFontDataWinCE.cpp:
(WebCore::SimpleFontData::platformCreateScaledFontData):
(WebCore::SimpleFontData::containsCharacters):

Source/WebKit/efl:
* ewk/ewk_settings.cpp:
(ewk_settings_memory_cache_clear):

Source/WebKit/ios:
* Misc/EmojiFallbackFontSelector.cpp:
(EmojiFallbackFontSelector::getFallbackFontData):

Source/WebKit/mac:
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics cachedFontDataCount]):
(+[WebCoreStatistics cachedFontDataInactiveCount]):
(+[WebCoreStatistics purgeInactiveFontData]):
* WebView/WebView.mm:
(+[WebView purgeInactiveFontData]):

Source/WebKit/win:
* WebCoreStatistics.cpp:
(WebCoreStatistics::cachedFontDataCount):
(WebCoreStatistics::cachedFontDataInactiveCount):
(WebCoreStatistics::purgeInactiveFontData):

Source/WebKit2:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::terminate):
(WebKit::WebProcess::didClose):
(WebKit::WebProcess::getWebCoreStatistics):

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

5 years ago[iOS] Manage AudioSession category according to media type
eric.carlson@apple.com [Thu, 24 Apr 2014 19:04:01 +0000 (19:04 +0000)]
[iOS] Manage AudioSession category according to media type
https://bugs.webkit.org/show_bug.cgi?id=132096

Reviewed by Jer Noble.

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

* html/HTMLMediaSession.cpp:
(WebCore::HTMLMediaSession::HTMLMediaSession):
(WebCore::initializeAudioSession): Deleted.

* page/Settings.cpp:
* page/Settings.h:
(WebCore::Settings::setShouldManageAudioSession): New.
(WebCore::Settings::shouldManageAudioSession): Ditto.

* platform/audio/ios/AudioDestinationIOS.cpp:
(WebCore::AudioDestinationIOS::AudioDestinationIOS): Use a MediaSession instead of inheriting
    from AudioListener and calling the AudioSession directly.
(WebCore::AudioDestinationIOS::~AudioDestinationIOS): Ditto.
(WebCore::AudioDestinationIOS::start): Notify session.
(WebCore::AudioDestinationIOS::stop): Ditto.
(WebCore::AudioDestinationIOS::beganAudioInterruption): Deleted.
(WebCore::AudioDestinationIOS::endedAudioInterruption): Deleted.
* platform/audio/ios/AudioDestinationIOS.h:
(WebCore::AudioDestinationIOS::mediaType):
(WebCore::AudioDestinationIOS::canReceiveRemoteControlCommands):
(WebCore::AudioDestinationIOS::didReceiveRemoteControlCommand):
(WebCore::AudioDestinationIOS::isPlaying): Deleted.

* platform/audio/ios/AudioSessionIOS.mm:
(WebCore::categoryName): Debug-only logging function.
(WebCore::AudioSession::setCategory): Don't stick with "media" once it is set.

* platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::resetRestrictions): Set up restrictions for WebAudio.
(WebCore::MediaSessionManageriOS::updateNowPlayingInfo): Don't set invalid start time.

* platform/audio/mac/MediaSessionManagerMac.cpp:
(MediaSessionManager::updateSessionState): Manage AudioSession.active when WebAudio clients
    come and go. Manage AudioSession.category according to the number of WebAudio and
    HTMLMediaElement clients.

Source/WebKit/mac:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Tell
    WebCore to manage the AudioSession when running in MobileSafari.

Source/WebKit2:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Tell WebCore to manage the AudioSession.

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

5 years ago[wk2] Provide SPI allowing clients to hand events directly to swipe code, bypassing...
timothy_horton@apple.com [Thu, 24 Apr 2014 17:48:28 +0000 (17:48 +0000)]
[wk2] Provide SPI allowing clients to hand events directly to swipe code, bypassing scrolling
https://bugs.webkit.org/show_bug.cgi?id=132092
<rdar://problem/15948244>

Reviewed by Darin Adler.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _tryToSwipeWithEvent:ignoringPinnedState:]):
Added. Hand the event directly to ViewGestureController, optionally
ignoring whether or not the WKView is scrollable (always pretending that it is not).

* UIProcess/mac/ViewGestureController.h:
(WebKit::ViewGestureController::shouldIgnorePinnedState):
(WebKit::ViewGestureController::setShouldIgnorePinnedState):
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::scrollEventCanBecomeSwipe):
(WebKit::ViewGestureController::handleScrollWheelEvent):
(WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
(WebKit::scrollEventCanBecomeSwipe):
If we're ignoring the view's pinned state, pretend that we're always pinned,
and don't worry about sending events to WebCore.

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

5 years ago[GTK] Unreviewed GTK gardening.
commit-queue@webkit.org [Thu, 24 Apr 2014 17:30:57 +0000 (17:30 +0000)]
[GTK] Unreviewed GTK gardening.
Update expectations after removal of environment variable
XVFB_SCREEN_DEPTH=8 from the GTK Release bot.

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

* platform/gtk/TestExpectations:

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

5 years ago[New Multicolumn] Client rects don't work with column spans.
hyatt@apple.com [Thu, 24 Apr 2014 17:02:37 +0000 (17:02 +0000)]
[New Multicolumn] Client rects don't work with column spans.
https://bugs.webkit.org/show_bug.cgi?id=132131

Reviewed by Dean Jackson.

Source/WebCore:

Don't factor in the offset of the multicolumn set from the top
of the multicolumn block. This was added already, and it doesn't
need to be a part of columnTranslationForOffset.

Added fast/multicol/client-rects-spanners.html

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

LayoutTests:

* fast/multicol/client-rects-spanners.html: Added.
* platform/mac/fast/multicol/client-rects-spanners-expected.png: Added.
* platform/mac/fast/multicol/client-rects-spanners-expected.txt: Added.

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

5 years agoTest that we correctly process ArrayBufferView slices in WebCrypto
ap@apple.com [Thu, 24 Apr 2014 16:36:56 +0000 (16:36 +0000)]
Test that we correctly process ArrayBufferView slices in WebCrypto
https://bugs.webkit.org/show_bug.cgi?id=132087

Reviewed by Brent Fulgham.

* crypto/subtle/array-buffer-view-offset-expected.txt: Added.
* crypto/subtle/array-buffer-view-offset.html: Added.

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

5 years ago[EFL] WebKit build fails when MEDIA_SOURCE is enabled
commit-queue@webkit.org [Thu, 24 Apr 2014 16:31:21 +0000 (16:31 +0000)]
[EFL] WebKit build fails when MEDIA_SOURCE is enabled
https://bugs.webkit.org/show_bug.cgi?id=132118

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-04-24
Reviewed by Brent Fulgham.

Files MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp and
WebKitMediaSourceGStreamer.cpp are included for EFL port build.

No new tests. No change in behaviour.

* PlatformEfl.cmake: MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp
and WebKitMediaSourceGStreamer.cpp are included for compilation.

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

5 years agoASSERTION FAILED: !begin.isIndefinite() in WebCore::SVGSMILElement::resolveFirstInterval.
tgergely.u-szeged@partner.samsung.com [Thu, 24 Apr 2014 16:27:38 +0000 (16:27 +0000)]
ASSERTION FAILED: !begin.isIndefinite() in WebCore::SVGSMILElement::resolveFirstInterval.
https://bugs.webkit.org/show_bug.cgi?id=131097

Reviewed by Darin Adler.

Source/WebCore:
According to smil animation reference, max attribute cannot be 0.

Test: svg/animations/smil-animation-max-attribute-zero-crash.svg

* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::maxValue):
  changed (result < 0) to (result <= 0)

LayoutTests:
Test added.

* svg/animations/smil-animation-max-attribute-zero-crash-expected.txt: Added.
* svg/animations/smil-animation-max-attribute-zero-crash.svg: Added.

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

5 years agoRemove screenColorProfile()
ryuan.choi@samsung.com [Thu, 24 Apr 2014 16:18:34 +0000 (16:18 +0000)]
Remove screenColorProfile()
https://bugs.webkit.org/show_bug.cgi?id=132035

Reviewed by Darin Adler.

Only chromium used screenColorProfile() since r120789.

* platform/PlatformScreen.h:
* platform/efl/PlatformScreenEfl.cpp:
(WebCore::screenColorProfile): Deleted.
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::screenColorProfile): Deleted.
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::qcmsOutputDeviceProfile):
* platform/ios/PlatformScreenIOS.mm:
(WebCore::screenColorProfile): Deleted.
* platform/mac/PlatformScreenMac.mm:
(WebCore::screenColorProfile): Deleted.
* platform/win/PlatformScreenWin.cpp:
(WebCore::screenColorProfile): Deleted.

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

5 years ago[GTK] wmode='transparent' for flash plugin doesn't work
carlosgc@webkit.org [Thu, 24 Apr 2014 15:59:37 +0000 (15:59 +0000)]
[GTK] wmode='transparent' for flash plugin doesn't work
https://bugs.webkit.org/show_bug.cgi?id=120055

Reviewed by Gustavo Noronha Silva.

Force opaque window mode for flash plugin when wmode='transparent',
since X11 backend doesn't support transparency. We should add
proper transparency support because forcing opaque window mode
doesn't really work. Handle this as a plugin quirk instead of
adding X11 specific code to WebFrameLoaderClient::createPlugin().

* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::NetscapePluginModule::determineQuirks): Add
ForceFlashWindowlessMode quirk for flash in case of EFL platform
because EFL port doesn't support windowed plugins.
* Shared/Plugins/PluginQuirks.h: Add ForceFlashWindowlessMode X11
plugin quirk.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::initialize): Modify or add wmode
parameter for flash plugin, to force opaque window mode when
transparent mode is specified or when ForceFlashWindowlessMode
quirk is present.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createPlugin): Remove X11 specific code.

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

5 years agoOne more unreviewed build fix after r167755.
zalan@apple.com [Thu, 24 Apr 2014 15:56:00 +0000 (15:56 +0000)]
One more unreviewed build fix after r167755.

* html/shadow/mac/ImageControlsButtonElementMac.cpp:
(WebCore::RenderImageControlsButton::updateLogicalWidth):
(WebCore::RenderImageControlsButton::computeLogicalHeight):

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

5 years agoUnreviewed build fix after r167755.
zalan@apple.com [Thu, 24 Apr 2014 15:33:48 +0000 (15:33 +0000)]
Unreviewed build fix after r167755.

* rendering/RenderThemeMac.h:

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

5 years agoWeb Inspector: gradient editor does not appear for linear-gradient with no specified...
graouts@webkit.org [Thu, 24 Apr 2014 14:37:15 +0000 (14:37 +0000)]
Web Inspector: gradient editor does not appear for linear-gradient with no specified angle
https://bugs.webkit.org/show_bug.cgi?id=132083

Reviewed by Timothy Hatcher.

Only assume we're parsing a legacy-formatted gradient if the first parameter is not a color.

* UserInterface/Models/Gradient.js:
(WebInspector.LinearGradient.linearGradientWithComponents):

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

5 years agoTransition RenderTheme API from RenderObject* to const RenderObject&
zalan@apple.com [Thu, 24 Apr 2014 14:27:54 +0000 (14:27 +0000)]
Transition RenderTheme API from RenderObject* to const RenderObject&
https://bugs.webkit.org/show_bug.cgi?id=132037

Reviewed by Andreas Kling.

Using const references provides better encapsulation and improve security.

No change in behavior.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::boundingBoxForQuads):
* dom/Element.cpp:
(WebCore::Element::setActive):
(WebCore::Element::setHovered):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::focusedOrActiveStateChanged):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::disabledStateChanged):
(WebCore::HTMLFormControlElement::readOnlyAttributeChanged):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::setIndeterminate):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::parseAttribute):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addVisualOverflowFromTheme):
(WebCore::RenderBlock::baselinePosition):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
* rendering/RenderButton.cpp:
(WebCore::RenderButton::styleDidChange):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
* rendering/RenderObject.h:
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::computeLogicalHeight):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::paint):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::baselinePosition):
(WebCore::RenderTheme::adjustRepaintRect):
(WebCore::RenderTheme::stateChanged):
(WebCore::RenderTheme::updateControlStatesForRenderer):
(WebCore::RenderTheme::extractControlStatesForRenderer):
(WebCore::RenderTheme::isActive):
(WebCore::RenderTheme::isChecked):
(WebCore::RenderTheme::isIndeterminate):
(WebCore::RenderTheme::isEnabled):
(WebCore::RenderTheme::isFocused):
(WebCore::RenderTheme::isPressed):
(WebCore::RenderTheme::isSpinUpButtonPartPressed):
(WebCore::RenderTheme::isReadOnlyControl):
(WebCore::RenderTheme::isHovered):
(WebCore::RenderTheme::isSpinUpButtonPartHovered):
(WebCore::RenderTheme::isDefault):
(WebCore::RenderTheme::paintInputFieldSpeechButton):
(WebCore::RenderTheme::paintMeter):
(WebCore::RenderTheme::paintSliderTicks):
(WebCore::RenderTheme::progressBarRectForBounds):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::controlSupportsTints):
(WebCore::RenderTheme::paintCapsLockIndicator):
(WebCore::RenderTheme::paintFileUploadIconDecorations):
(WebCore::RenderTheme::imageControlsButtonSize):
(WebCore::RenderTheme::paintCheckbox):
(WebCore::RenderTheme::paintRadio):
(WebCore::RenderTheme::paintButton):
(WebCore::RenderTheme::paintInnerSpinButton):
(WebCore::RenderTheme::paintCheckboxDecorations):
(WebCore::RenderTheme::paintRadioDecorations):
(WebCore::RenderTheme::paintButtonDecorations):
(WebCore::RenderTheme::paintTextField):
(WebCore::RenderTheme::paintTextFieldDecorations):
(WebCore::RenderTheme::paintTextArea):
(WebCore::RenderTheme::paintTextAreaDecorations):
(WebCore::RenderTheme::paintMenuList):
(WebCore::RenderTheme::paintMenuListDecorations):
(WebCore::RenderTheme::paintMenuListButtonDecorations):
(WebCore::RenderTheme::paintPushButtonDecorations):
(WebCore::RenderTheme::paintSquareButtonDecorations):
(WebCore::RenderTheme::paintProgressBar):
(WebCore::RenderTheme::paintSliderTrack):
(WebCore::RenderTheme::paintSliderThumb):
(WebCore::RenderTheme::paintSliderThumbDecorations):
(WebCore::RenderTheme::paintSearchField):
(WebCore::RenderTheme::paintSearchFieldDecorations):
(WebCore::RenderTheme::paintSearchFieldCancelButton):
(WebCore::RenderTheme::paintSearchFieldDecorationPart):
(WebCore::RenderTheme::paintSearchFieldResultsDecorationPart):
(WebCore::RenderTheme::paintSearchFieldResultsButton):
(WebCore::RenderTheme::paintMediaFullscreenButton):
(WebCore::RenderTheme::paintMediaPlayButton):
(WebCore::RenderTheme::paintMediaOverlayPlayButton):
(WebCore::RenderTheme::paintMediaMuteButton):
(WebCore::RenderTheme::paintMediaSeekBackButton):
(WebCore::RenderTheme::paintMediaSeekForwardButton):
(WebCore::RenderTheme::paintMediaSliderTrack):
(WebCore::RenderTheme::paintMediaSliderThumb):
(WebCore::RenderTheme::paintMediaVolumeSliderContainer):
(WebCore::RenderTheme::paintMediaVolumeSliderTrack):
(WebCore::RenderTheme::paintMediaVolumeSliderThumb):
(WebCore::RenderTheme::paintMediaRewindButton):
(WebCore::RenderTheme::paintMediaReturnToRealtimeButton):
(WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
(WebCore::RenderTheme::paintMediaControlsBackground):
(WebCore::RenderTheme::paintMediaCurrentTime):
(WebCore::RenderTheme::paintMediaTimeRemaining):
(WebCore::RenderTheme::paintMediaFullScreenVolumeSliderTrack):
(WebCore::RenderTheme::paintMediaFullScreenVolumeSliderThumb):
(WebCore::RenderTheme::paintSnapshottedPluginOverlay):
(WebCore::RenderTheme::paintImageControlsButton):
* rendering/RenderThemeIOS.h:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::addRoundedBorderClip):
(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::baselinePosition):
(WebCore::RenderThemeIOS::paintRadioDecorations):
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintTextAreaDecorations):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
(WebCore::RenderThemeIOS::paintSliderTrack):
(WebCore::RenderThemeIOS::paintSliderThumbDecorations):
(WebCore::RenderThemeIOS::paintProgressBar):
(WebCore::RenderThemeIOS::paintSearchFieldDecorations):
(WebCore::RenderThemeIOS::paintButtonDecorations):
(WebCore::RenderThemeIOS::paintPushButtonDecorations):
(WebCore::RenderThemeIOS::paintFileUploadIconDecorations):
* rendering/RenderThemeMac.h:
(WebCore::RenderThemeMac::updateActiveState):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::documentViewFor):
(WebCore::RenderThemeMac::adjustRepaintRect):
(WebCore::RenderThemeMac::convertToPaintingRect):
(WebCore::RenderThemeMac::updateCheckedState):
(WebCore::RenderThemeMac::updateEnabledState):
(WebCore::RenderThemeMac::updateFocusedState):
(WebCore::RenderThemeMac::updatePressedState):
(WebCore::RenderThemeMac::controlSupportsTints):
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintCapsLockIndicator):
(WebCore::RenderThemeMac::paintTextArea):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::paintMeter):
(WebCore::RenderThemeMac::progressBarRectForBounds):
(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintMenuListButtonDecorations):
(WebCore::RenderThemeMac::setPopupButtonCellState):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchField):
(WebCore::RenderThemeMac::setSearchCellState):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize):

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

5 years ago[EFL] Update baselines after r167568
commit-queue@webkit.org [Thu, 24 Apr 2014 12:58:16 +0000 (12:58 +0000)]
[EFL] Update baselines after r167568
https://bugs.webkit.org/show_bug.cgi?id=132125

Unreviewed EFL gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-04-24

* platform/efl-wk2/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local-expected.txt: Added.
* platform/efl/fast/repaint/reflection-redraw-expected.txt: Rebaseline after r167568.
* platform/efl/fast/table/multiple-captions-display-expected.txt: Rebaseline after r167568.
* platform/efl/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt: Added.
* platform/efl/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt: Added.
* platform/efl/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt: Added.
* platform/efl/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt: Added.
* platform/efl/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt: Added.
* platform/efl/tables/mozilla/marvin/body_col-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla/marvin/x_th_valign_baseline-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla/other/body_col-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla_expected_failures/bugs/bug10140-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla_expected_failures/bugs/bug10216-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla_expected_failures/core/captions3-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla_expected_failures/other/test4-expected.txt: Rebaseline after r167568.

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

5 years agoprepare-ChangeLog reports as deleted methods that has not been removed.
llango.u-szeged@partner.samsung.com [Thu, 24 Apr 2014 08:55:18 +0000 (08:55 +0000)]
prepare-ChangeLog reports as deleted methods that has not been removed.
https://bugs.webkit.org/show_bug.cgi?id=131733

Reviewed by Ryosuke Niwa.

* Scripts/prepare-ChangeLog:
(originalFile): Set merge base to origin/master by default.

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

5 years ago[GTK] HTML Media capture attribute is a boolean since r163958
carlosgc@webkit.org [Thu, 24 Apr 2014 07:17:15 +0000 (07:17 +0000)]
[GTK] HTML Media capture attribute is a boolean since r163958
https://bugs.webkit.org/show_bug.cgi?id=132061

Reviewed by Gustavo Noronha Silva.

Add new methods webkit_dom_html_input_element_get_capture_enabled
and webkit_dom_html_input_element_set_capture_enabled using a
boolean and deprecate the old methods.

* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_html_input_element_get_capture):
(webkit_dom_html_input_element_set_capture):
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols:
* bindings/gobject/webkitdom.symbols:
* bindings/scripts/CodeGeneratorGObject.pm:
(GetEffectiveFunctionName): Helper function to rename API methods
for special cases.
(GenerateFunction): Use GetEffectiveFunctionName().

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

5 years agoprepare-Changelog and svn-create-patch should optionally run check-webkit-style.
jcraig@apple.com [Thu, 24 Apr 2014 07:07:06 +0000 (07:07 +0000)]
prepare-Changelog and svn-create-patch should optionally run check-webkit-style.
https://bugs.webkit.org/show_bug.cgi?id=131115

Reviewed by Daniel Bates.

Added [--[no-]style] param to run check-webkit-style as part of prepare-Changelog and svn-create-patch.

* Scripts/commit-log-editor: Added --no-style.
* Scripts/prepare-ChangeLog: Primary patch.
(main): Primary patch.
(createPatchCommand): Added --no-style.
* Scripts/svn-create-patch: Primary patch.
* Scripts/webkit-tools-completion.sh: Added --style and --no-style.
* Scripts/webkitpy/common/checkout/scm/svn.py: Added --no-style.
(SVN.create_patch): Added --no-style.

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

5 years ago[MediaStream] Implement MediaStream active attribute
commit-queue@webkit.org [Thu, 24 Apr 2014 06:37:51 +0000 (06:37 +0000)]
[MediaStream] Implement MediaStream active attribute
https://bugs.webkit.org/show_bug.cgi?id=131973

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-04-23
Reviewed by Eric Carlson.

Source/WebCore:
MediaStream .active attribute are introduced which will replace
.ended attribute. This patch implements the newly introduced attributes.

MediaStream-add-remove-tracks.html is updated to handle this scenario.

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::active): Added.
(WebCore::MediaStream::setActive): Added.
(WebCore::MediaStream::addTrack): Propagates 'onactive' event when required.
(WebCore::MediaStream::removeTrack): Propagates 'oninactive' event when required.
(WebCore::MediaStream::trackDidEnd): Propagates 'oninactive' event when required.
(WebCore::MediaStream::streamDidEnd):
(WebCore::MediaStream::setStreamIsActive): Added.
* Modules/mediastream/MediaStream.h:
* Modules/mediastream/MediaStream.idl:
* dom/EventNames.h:
* platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::MediaStreamPrivate): Initialize .active attribute
(WebCore::MediaStreamPrivate::setEnded):
(WebCore::MediaStreamPrivate::setActive): Added.
* platform/mediastream/MediaStreamPrivate.h:
(WebCore::MediaStreamPrivate::active): Added.

LayoutTests:
MediaStream .onended attribute will be replaced with .active attribute.
Patch updates the test case to verify the .active attribute.

* fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
* fast/mediastream/MediaStream-add-remove-tracks.html:

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

5 years ago[iOS WK2] Missing content inside long overflow-scrolling:touch
simon.fraser@apple.com [Thu, 24 Apr 2014 05:16:45 +0000 (05:16 +0000)]
[iOS WK2] Missing content inside long overflow-scrolling:touch
https://bugs.webkit.org/show_bug.cgi?id=132105

Reviewed by Tim Horton.

PlatformCALayerRemote needs to track bounds origin as well as size,
since iOS uses bounds origin for overflow scrolling.

* Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::applyPropertiesToLayer):
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::dumpChangedLayers):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::updateBackingStore):
(WebKit::PlatformCALayerRemote::bounds):
(WebKit::PlatformCALayerRemote::setBounds):

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

5 years agoVersioning.
lforschler@apple.com [Thu, 24 Apr 2014 04:49:22 +0000 (04:49 +0000)]
Versioning.

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

5 years ago[Cocoa] fix CF leaks found by code inspection
darin@apple.com [Thu, 24 Apr 2014 04:46:28 +0000 (04:46 +0000)]
[Cocoa] fix CF leaks found by code inspection
https://bugs.webkit.org/show_bug.cgi?id=132106

Reviewed by Andreas Kling.

* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::trackDisplayName): Added a missing adoptCF.

* platform/Language.cpp:
(WebCore::displayNameForLanguageLocale): Added a missing adoptCF.

* platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::openTypeTable): Added a missing adoptCF.

* platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:
(WebCore::InbandTextTrackPrivateAVCF::label): Added two missing adoptCF.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::createImageForTimeInRect): Added two missing adoptCF.

* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::createPDFDocument): Added missing adoptCF.

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::cascadeToLastResortFontDescriptor): Added two missing adoptCF.

* platform/graphics/mac/FontMac.mm:
(WebCore::Font::primaryFontDataIsSystemFont): Added missing adoptCF.

* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::hasCustomTracking): Added missing adoptCF.

* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::qcmsOutputDeviceProfile): Added CFRelease.

* plugins/mac/PluginPackageMac.cpp:
(WebCore::readPListFile): Added two missing adoptCF.

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

5 years agoRemove Apple Dictionary workaround in WebFrameLoaderClient.
akling@apple.com [Thu, 24 Apr 2014 04:42:32 +0000 (04:42 +0000)]
Remove Apple Dictionary workaround in WebFrameLoaderClient.
<https://webkit.org/b/132095>

Kill a hack to work around a WK1 client bug that got fixed years ago.
See <rdar://problem/6471058> for backstory.

Reviewed by Darin Adler.

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
(WebFrameLoaderClient::dispatchWillSendRequest):
(applyAppleDictionaryApplicationQuirkNonInlinePart): Deleted.
(applyAppleDictionaryApplicationQuirk): Deleted.

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

5 years agoREGRESSION (r157328): popover to check into flight ba.com dismisses instantly when...
rniwa@webkit.org [Thu, 24 Apr 2014 04:24:30 +0000 (04:24 +0000)]
REGRESSION (r157328): popover to check into flight ba.com dismisses instantly when focusing form
https://bugs.webkit.org/show_bug.cgi?id=131949

Address the review comment.

* dom/EventDispatcher.cpp:
(WebCore::EventRelatedNodeResolver::findHostOfTreeScopeInTargetTreeScope):

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

5 years agoCachedResourceLoader hoards URLs indefinitely for no good reason.
akling@apple.com [Thu, 24 Apr 2014 04:11:50 +0000 (04:11 +0000)]
CachedResourceLoader hoards URLs indefinitely for no good reason.
<https://webkit.org/b/132102>
<rdar://problem/16708265>

Since we don't care about CachedResourceLoader::m_validatedURL's after
the Document has finished dispatching its initial load event, clear the
set at that point, and don't add any new URLs to it.

Reviewed by Anders Carlsson.

* dom/Document.cpp:
(WebCore::Document::dispatchWindowLoadEvent):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::documentDidFinishLoadEvent):
* loader/cache/CachedResourceLoader.h:

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

5 years agoRemove unused WKPageSetMemoryCacheClientCallsEnabled API.
akling@apple.com [Thu, 24 Apr 2014 03:56:09 +0000 (03:56 +0000)]
Remove unused WKPageSetMemoryCacheClientCallsEnabled API.
<https://webkit.org/b/132098>

This API was added to WK2 back in 2011 but never actually used.

Reviewed by Anders Carlsson.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetMemoryCacheClientCallsEnabled): Deleted.
* UIProcess/API/C/WKPage.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled): Deleted.
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setMemoryCacheMessagesEnabled): Deleted.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

5 years agoCanvas cache of clean URLs can grow without bounds.
akling@apple.com [Thu, 24 Apr 2014 03:43:47 +0000 (03:43 +0000)]
Canvas cache of clean URLs can grow without bounds.
<https://webkit.org/b/132091>
<rdar://problem/16695665>

Remove a silly "optimization" that kept a cache of clean URLs
that can be drawn into a canvas without tainting it, all to avoid
the "expensive" checks to determine whether it would taint.

Reviewed by Benjamin Poulain.

* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin):
* html/canvas/CanvasRenderingContext.h:

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

5 years ago[iOS WK2] Make -webkit-overflow-scrolling:touch work
simon.fraser@apple.com [Thu, 24 Apr 2014 03:31:30 +0000 (03:31 +0000)]
[iOS WK2] Make -webkit-overflow-scrolling:touch work
https://bugs.webkit.org/show_bug.cgi?id=132097

Reviewed by Tim Horton.

Scrolling of UIScrollViews in content (for -webkit-overflow-scrolling:touch)
depends on them getting hit-tested correctly. UIKit hit testing assumes
that subviews are enclosed by their ancestors, but this is not true of
web content. In addition, we had a root layer that was zero sized.

Fix by overriding hitTest:withEvent: on our content WKViews to hit
test subviews even if they are not enclosed.

* UIProcess/ios/RemoteLayerTreeHostIOS.mm:
(-[UIView _recursiveFindDescendantViewAtPoint:withEvent:]):
(-[UIView _findDescendantViewAtPoint:withEvent:]):
(-[WKCompositingView hitTest:withEvent:]):
(-[WKTransformView hitTest:withEvent:]):
(-[WKRemoteView hitTest:withEvent:]):
(WebKit::RemoteLayerTreeHost::createLayer):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::updatePreferences):
Update debug borders on the root layer.
(WebKit::RemoteLayerTreeDrawingArea::mainFrameContentSizeChanged):
Size the root layer to the contents size. This isn't strictly necessary
given the hit testing overrides, but seems sensible to do anyway.

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

5 years agoNonopaque layers double-paint with UI-side compositing
simon.fraser@apple.com [Thu, 24 Apr 2014 03:31:28 +0000 (03:31 +0000)]
Nonopaque layers double-paint with UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=132101

Reviewed by Tim Horton.

The non-IOSurface code path was failing to clear the backing store
before painting.

* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):

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

5 years ago[iOS][WK2] Image and text documents sometime gets the webpage viewport configuration
benjamin@webkit.org [Thu, 24 Apr 2014 02:37:05 +0000 (02:37 +0000)]
[iOS][WK2] Image and text documents sometime gets the webpage viewport configuration
https://bugs.webkit.org/show_bug.cgi?id=132099

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

When didReceiveMobileDocType(), if the doctype was not XHTML mobile, we were setting
the viewport configuration to webpageParameters(). This is obviously not correct for
Image and Text documents.

This patch moves the code deciding the default configuration out of WebPage::didCommitLoad()
and use it from WebPage::didCommitLoad() and WebPage::didReceiveMobileDocType().

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::didReceiveMobileDocType):
(WebKit::WebPage::resetViewportDefaultConfiguration):

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

5 years ago[EFL][WK1] Add *const* keyword to _get() APIs
commit-queue@webkit.org [Thu, 24 Apr 2014 02:25:08 +0000 (02:25 +0000)]
[EFL][WK1] Add *const* keyword to _get() APIs
https://bugs.webkit.org/show_bug.cgi?id=132094

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-04-23
Reviewed by Gyuyoung Kim.

Some _get() EFL APIs don't have *const* keyword though the _get() APIs don't modify passed argument.
We need to add *const* keyword to those APIs.

* ewk/ewk_history.cpp:
(ewk_history_limit_get):
* ewk/ewk_history.h:
* ewk/ewk_js.cpp:
(ewk_js_object_type_get):
* ewk/ewk_js.h:

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

5 years agoTry to fix iOS build.
andersca@apple.com [Thu, 24 Apr 2014 02:23:32 +0000 (02:23 +0000)]
Try to fix iOS build.

* DumpRenderTree/mac/DumpRenderTree.mm:

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

5 years ago[iOS][WK2] Fix a few mistakes affecting the initial layout and the initial unobscured...
benjamin@webkit.org [Thu, 24 Apr 2014 02:13:06 +0000 (02:13 +0000)]
[iOS][WK2] Fix a few mistakes affecting the initial layout and the initial unobscured rect
https://bugs.webkit.org/show_bug.cgi?id=132093

Source/WebCore:

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

Change the minimum layout size to float point values to account for size defined on retina displays.
The minimum layout size supports half-pixels, the value is rounded later when computing the layout size
in document coordinates.

* WebCore.exp.in:
* page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::ViewportConfiguration):
Setting the initial content size is incorrect. The layout size computation already take into account
empty size for the first layout.

Setting the content size upfront make the first computation incorrect when the viewport arguments specify
the initial scale.

(WebCore::ViewportConfiguration::setMinimumLayoutSize):
* page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::minimumLayoutSize):

Source/WebKit2:
<rdar://problem/16703237>

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

The user of WKWebView can setup a size on device pixels, which can add half a point to the minimum
layout size. By rounding this up before applying the page scale, we ended up with rounding errors
on the layout size and the transitory unobscured content rect.

This patch fixes changes the minimal layout size to float point values to reduce the rounding problems.

* UIProcess/API/Cocoa/WKWebView.mm:
(setViewportConfigurationMinimumLayoutSize):
(-[WKWebView _setMinimumLayoutSizeOverrideForMinimalUI:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSize):
(WebKit::WebPageProxy::setMinimumLayoutSizeForMinimalUI):

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
Defaulting the content size to the minimum layout size only works if the initial-scale is 1.
ViewportConfiguration knows exactly what to do before the first layout.

* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setViewportConfigurationMinimumLayoutSize):
(WebKit::WebPage::setMinimumLayoutSizeForMinimalUI):
(WebKit::WebPage::dynamicViewportSizeUpdate):
A few fixes here:
-setZoomedOutPageScaleFactor() was incorrectly using the initial scale. 99% of the time, initial scale
 and minimum scale are equal, but the page can specify something different with the viewport meta tag.
-Use floating point for manipulating the minimum layout sizes, then round the value.
-minimumLayoutSizeInDocumentCoordinate was scaled the wrong way around.

(WebKit::WebPage::viewportConfigurationChanged):

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

5 years ago[Mac, iOS] Stop buffering media when on an inactive tab.
bfulgham@apple.com [Thu, 24 Apr 2014 01:23:58 +0000 (01:23 +0000)]
[Mac, iOS] Stop buffering media when on an inactive tab.
https://bugs.webkit.org/show_bug.cgi?id=132077

Reviewed by Eric Carlson.

* html/HTMLMediaElement.cpp: Rename 'm_isDisplaySleepDisablingSuspended'
to 'm_elementIsHidden'.
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::visibilityStatusChanged): Notify the
media session that the element is (or is not) hidden.
(WebCore::HTMLMediaElement::setShouldBufferData): Added.
* html/HTMLMediaElement.h:
* platform/audio/MediaSession.cpp:
(WebCore::MediaSession::clientWillBeginPlayback): Tell media to
buffer if not hidden or playing.
(WebCore::MediaSession::clientWillPausePlayback): Ditto.
(WebCore::MediaSession::visibilityChanged): Added. Client API, just relays call
to updateClientDataBuffering.
(WebCore::MediaSession::updateClientDataBuffering): Tell client it should only
buffer data if it's currently playing, or not hidden.
* platform/audio/MediaSession.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::setShouldBufferData): Added: Just relays to
MediaPlayerPrivate object.
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::setShouldBufferData):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldBufferData): Added.
Detach the player item from the player if we don't want to continue
buffering or other background tasks.

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

5 years agoThe GC should only resume compiler threads that it suspended in the same GC pass.
mark.lam@apple.com [Thu, 24 Apr 2014 00:43:15 +0000 (00:43 +0000)]
The GC should only resume compiler threads that it suspended in the same GC pass.
<https://webkit.org/b/132088>

Reviewed by Mark Hahnenberg.

Previously, this scenario can occur:
1. Thread 1 starts a GC and tries to suspend DFG worklist threads.  However,
   no worklists were created yet at the that time.
2. Thread 2 starts to compile some functions and creates a DFG worklist, and
   acquires the worklist thread's lock.
3. Thread 1's GC completes and tries to resume suspended DFG worklist thread.
   This time, it sees the worklist created by Thread 2 and ends up unlocking
   the worklist thread's lock that is supposedly held by Thread 2.
Thereafter, chaos ensues.

The fix is to cache the worklists that were actually suspended by each GC pass,
and only resume those when the GC is done.

This issue was discovered by enabling COLLECT_ON_EVERY_ALLOCATION and running
the fast/workers layout tests.

* heap/Heap.cpp:
(JSC::Heap::visitCompilerWorklists):
(JSC::Heap::deleteAllCompiledCode):
(JSC::Heap::suspendCompilerThreads):
(JSC::Heap::resumeCompilerThreads):
* heap/Heap.h:

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

5 years agoEliminate internals.setMockScrollbarsEnabled()
ap@apple.com [Thu, 24 Apr 2014 00:32:14 +0000 (00:32 +0000)]
Eliminate internals.setMockScrollbarsEnabled()
https://bugs.webkit.org/show_bug.cgi?id=132085

Reviewed by Tim Horton.

Source/WebCore:
This was essentially unused, and also didnt work.

* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setMockScrollbarsEnabled): Deleted.
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

Tools:
* DumpRenderTree/mac/DumpRenderTree.mm: (resetWebPreferencesToConsistentValues):
No need to reset the preference, there is no way it can change.

LayoutTests:
Remove calls, all of which were resetting it to true (which is the default, and
the only value that makes sense).

* compositing/geometry/fixed-position.html:
* compositing/geometry/horizontal-scroll-composited.html:
* compositing/geometry/vertical-scroll-composited.html:
* compositing/iframes/resources/scrollgrandchild-inner.html:
* compositing/overflow/fixed-position-ancestor-clip.html:
* compositing/resources/mock_scrollbars.js: Removed.
* css3/filters/blur-filter-page-scroll-parents.html:
* css3/filters/blur-filter-page-scroll-self.html:
* css3/filters/blur-filter-page-scroll.html:
* fast/dom/window-scroll-scaling.html:
* fast/events/touch/gesture/gesture-scrollbar.html:
* fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html:
* fast/sub-pixel/transformed-iframe-copy-on-scroll.html:
* media/video-controls-rendering.html:
* media/video-zoom.html:
* scrollingcoordinator/resources/non-fast-scrollable-region-testing.js:

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

5 years agoUnreviewed. Moving myself from Contributors to Committers list.
jcraig@apple.com [Thu, 24 Apr 2014 00:08:28 +0000 (00:08 +0000)]
Unreviewed. Moving myself from Contributors to Committers list.

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

5 years agoDon't migrate the WKView.h header from WebCore to WebKit
andersca@apple.com [Wed, 23 Apr 2014 23:17:49 +0000 (23:17 +0000)]
Don't migrate the WKView.h header from WebCore to WebKit
https://bugs.webkit.org/show_bug.cgi?id=132086

Reviewed by Dan Bernstein.

Source/WebCore:
* WebCore.xcodeproj/project.pbxproj:
Add WAKViewInternal.h.

* platform/WAKViewInternal.h: Added.

* platform/ios/wak/WAKClipView.m:
Import WAKViewInternal.h instead of WAKViewPrivate.h.

* platform/ios/wak/WAKScrollView.mm:
Import WAKViewInternal.h instead of WAKViewPrivate.h.

* platform/ios/wak/WAKView.h:
Move ivars to a class extension in WAKViewInternal.h and remove WKView.h import.

* platform/ios/wak/WAKView.mm:
Import WAKViewInternal.h instead of WAKViewPrivate.h.

* platform/ios/wak/WAKViewPrivate.h:
Import WKViewPrivate.h.

Source/WebKit/mac:
* MigrateHeaders.make:
Remove WKView.h from the list of headers to migrate.

* WebView/WebView.mm:
Import WKView.h.

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

5 years agoArguments::copyBackingStore needs to update m_registers in tandem with m_registerArray
mhahnenberg@apple.com [Wed, 23 Apr 2014 22:35:16 +0000 (22:35 +0000)]
Arguments::copyBackingStore needs to update m_registers in tandem with m_registerArray
https://bugs.webkit.org/show_bug.cgi?id=132079

Reviewed by Michael Saboff.

Since we're moving the register backing store, we don't want to leave a dangling pointer into a random CopiedBlock.

Also added a test that previously triggered this bug.

* runtime/Arguments.cpp:
(JSC::Arguments::copyBackingStore): D'oh!
* tests/stress/arguments-copy-register-array-backing-store.js: Added.
(foo):
(bar):

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

5 years agoMock scrollbars don't always work in DumpRenderTree
timothy_horton@apple.com [Wed, 23 Apr 2014 22:22:00 +0000 (22:22 +0000)]
Mock scrollbars don't always work in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=132082

Reviewed by Alexey Proskuryakov.

* DumpRenderTree/mac/DumpRenderTree.mm:
(prepareConsistentTestingEnvironment):
Set the mock scrollbar setting before creating the WebView, as this setting
cannot be dynamically changed, so any scrollbars that are created during
WebView initialization and are not replaced before snapshotting will end
up being platform scrollbars instead of mock ones.
WebKitTestRunner already sets this preference before creating WKViews,
so we're just matching its behavior.

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

5 years ago[New Multicolumn] fast/multicol/fixed-column-percent-logical-height-orthogonal-writin...
hyatt@apple.com [Wed, 23 Apr 2014 22:19:19 +0000 (22:19 +0000)]
[New Multicolumn] fast/multicol/fixed-column-percent-logical-height-orthogonal-writing-mode.html fails
https://bugs.webkit.org/show_bug.cgi?id=132078

Reviewed by Anders Carlsson.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation):
Add a parameter to test for orthogonal writing modes. If we're perpendicular,
then we should not skip the flow thread, since we resolve relative to the column width,
and that is always set.

(WebCore::RenderBox::computePercentageLogicalHeight):
Patched to pass in whether or not the box and the ancestor block are perpendicular.

* rendering/RenderBox.h:
Patched the signature of skipContainingBlockForPercentHeightCalculation

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

5 years ago[OS X] Make checking if a font is the system font more robust
mmaxfield@apple.com [Wed, 23 Apr 2014 21:33:14 +0000 (21:33 +0000)]
[OS X] Make checking if a font is the system font more robust
https://bugs.webkit.org/show_bug.cgi?id=132030

Reviewed by Dean Jackson.

Instead of inspecting a font's name to determine if it is a system font,
on OS X we can ask the system directly.

This patch also moves a platform-specific check into platform-specific
code, so that other platforms don't check for OS X-specific behavior.

Covered by existing tests.

* platform/graphics/Font.cpp:
(WebCore::Font::hasValidAverageCharWidth):
* platform/graphics/Font.h:
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::primaryFontDataIsSystemFont):

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

5 years ago[New Multicolumn] Assertion failure in huge-column-count.html
hyatt@apple.com [Wed, 23 Apr 2014 21:27:54 +0000 (21:27 +0000)]
[New Multicolumn] Assertion failure in huge-column-count.html
https://bugs.webkit.org/show_bug.cgi?id=132071

Reviewed by Dean Jackson.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::regionAtBlockOffset):
Back out this change, since it wasn't general enough.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::getRegionRangeForBox):
The real issue was that this loop needed to consider the actual box
rather than starting from the parent. This was a non-issue for normal
regions (which cannot have nested flow threads), but for columns, you
have to consider the fact that the box could itself be a flow thread.

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

5 years ago[iOS] Memory pressure notification should fire on main thread.
akling@apple.com [Wed, 23 Apr 2014 21:22:53 +0000 (21:22 +0000)]
[iOS] Memory pressure notification should fire on main thread.
<https://webkit.org/b/132074>

Rejig the memory pressure notification to fire on the main queue
directly instead of rerouting it manually.

Reviewed by Mark Rowe.

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

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

5 years agoUnreviewed, rolling out r167720.
commit-queue@webkit.org [Wed, 23 Apr 2014 20:54:12 +0000 (20:54 +0000)]
Unreviewed, rolling out r167720.
https://bugs.webkit.org/show_bug.cgi?id=132075

broke eight newmulticol tests (Requested by thorton on
#webkit).

Reverted changeset:

"[New Multicolumn] Assertion failure in huge-column-
count.html"
https://bugs.webkit.org/show_bug.cgi?id=132071
http://trac.webkit.org/changeset/167720

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

5 years ago[New Multicolumn] Assertion failure in huge-column-count.html
hyatt@apple.com [Wed, 23 Apr 2014 20:01:01 +0000 (20:01 +0000)]
[New Multicolumn] Assertion failure in huge-column-count.html
https://bugs.webkit.org/show_bug.cgi?id=132071

Reviewed by Dean Jackson.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::regionAtBlockOffset):
Remove the code that returned 0 here, since we're going to patch a lower-level
function to catch all cases.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::getRegionRangeForBox):
Don't allow in-flow RenderFlowThreads to ever have a region range. The sets
are what should have ranges... the flow thread needs to just be ignored.

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

5 years agoSupport encoding/decoding NSUInteger arguments in WKRemoteObjectCoder.
commit-queue@webkit.org [Wed, 23 Apr 2014 19:38:42 +0000 (19:38 +0000)]
Support encoding/decoding NSUInteger arguments in WKRemoteObjectCoder.
https://bugs.webkit.org/show_bug.cgi?id=132040

Add support for encoding/decoding NSUInteger arguments.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-04-23
Reviewed by Sam Weinig.

* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeInvocation):
(decodeInvocationArguments):

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

5 years ago[New Multicolumn] Crasher when clearing out a flow thread in multicolumn layout.
hyatt@apple.com [Wed, 23 Apr 2014 18:55:43 +0000 (18:55 +0000)]
[New Multicolumn] Crasher when clearing out a flow thread in multicolumn layout.
https://bugs.webkit.org/show_bug.cgi?id=132069

Reviewed by Dean Jackson.

Source/WebCore:
This is imported from a patch Morten did for Blink, but I had to change it a fair
bit. deleteLines() is used to handle simple line box layout instead of just calling
deleteLineBoxTree.

I also had to disable the layout state to stop asserts on repaint when the children
get moved. Not sure why Blink didn't hit this, but it's simple enough to add a
LayoutStateDisabler to stop the assert.

Added fast/multicol/inline-children-crash.html

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy):

LayoutTests:
* fast/multicol/inline-children-crash-expected.txt: Added.
* fast/multicol/inline-children-crash.html: Added.

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

5 years ago[iOS WebKit2] IOSurfacePool should force CA to actually garbage collect surfaces.
akling@apple.com [Wed, 23 Apr 2014 18:47:15 +0000 (18:47 +0000)]
[iOS WebKit2] IOSurfacePool should force CA to actually garbage collect surfaces.
<https://webkit.org/b/132065>
<rdar://problem/16110687>

Add a platformGarbageCollectNow() helper function to IOSurfacePool that
triggers a sweep of the IOSurfaces. Call this from collectionTimerFired()
and discardAllSurfaces().

This lets us drop all otherwise-unused 420f surfaces on memory pressure.

Reviewed by Tim Horton.

* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::IOSurfacePool::collectionTimerFired):
(WebCore::IOSurfacePool::discardAllSurfaces):
* platform/graphics/cg/IOSurfacePool.h:
* platform/graphics/cocoa/IOSurfacePoolCocoa.mm: Added.
(WebCore::IOSurfacePool::platformGarbageCollectNow):

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

5 years agoREGRESSION (Safari 6 - ToT): Incorrectly assumes that RenderStyle data can be shared
commit-queue@webkit.org [Wed, 23 Apr 2014 18:39:57 +0000 (18:39 +0000)]
REGRESSION (Safari 6 - ToT): Incorrectly assumes that RenderStyle data can be shared
https://bugs.webkit.org/show_bug.cgi?id=113058

Patch by Morten Stenshorne <mstensho@opera.com> on 2014-04-23
Reviewed by David Hyatt.

Source/WebCore:
Before sharing CSS properties with an element in the cache, we need to
check that the new element is suitable for this, just like we check
elements before inserting them into the cache.

Test: fast/css/identical-logical-height-decl.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyMatchedProperties):

LayoutTests:
* fast/css/identical-logical-height-decl-expected.html: Added.
* fast/css/identical-logical-height-decl.html: Added.

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

5 years agoUnreviewed, rolling out r167713.
commit-queue@webkit.org [Wed, 23 Apr 2014 18:36:26 +0000 (18:36 +0000)]
Unreviewed, rolling out r167713.
https://bugs.webkit.org/show_bug.cgi?id=132070

broke hundreds of tests (Requested by thorton on #webkit).

Reverted changeset:

"[OS X] Make checking if a font is the system font more
robust"
https://bugs.webkit.org/show_bug.cgi?id=132030
http://trac.webkit.org/changeset/167713

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

5 years ago[New Multicolumn] Nested columns not working at all.
hyatt@apple.com [Wed, 23 Apr 2014 18:05:33 +0000 (18:05 +0000)]
[New Multicolumn] Nested columns not working at all.
https://bugs.webkit.org/show_bug.cgi?id=131805

Reviewed by Dean Jackson.

Add support for nested pagination contexts, allowing for an arbitrary level
of nesting of multicolumn layouts. There were a number of things that had to
be patched in order for this to work.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::regionAtBlockOffset):
Make sure RenderMultiColumnFlowThreads just return null for regions at any
block offset. Individual region sets will be created as you cross ancestor
regions eventually, so this is just getting in the way.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::enclosingPaginationLayerInSubtree):
Add a new helper method for obtaining an enclosingPaginationLayer when
constrained by some root. This function ensures you don't accidentally
cross your subtree root when looking for enclosing pagination layers.

(WebCore::RenderLayer::collectFragments):
Patch collectFragments to know how to recur to collect ancestor fragments
in order to apply nested splitting as you cross pagination boundaries.

(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
(WebCore::LayerFragment::LayerFragment):
(WebCore::LayerFragment::setRects):
(WebCore::LayerFragment::moveBy):
(WebCore::LayerFragment::intersect):
Improve the LayerFragment so that it caches transformed bounding boxes as
well. This is needed to fix intersectsDamageRect so that it doesn't grab
the wrong bounding box when checking inline layers that are paginated.

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
Ignore inserted flow threads inside an ancestor flow thread, since we only
care about what the sets do.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::insertedIntoTree):
Make sure that nested flow thread layers return themselves when a child
is inserted directly under them.

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

5 years ago[OS X] Make checking if a font is the system font more robust
mmaxfield@apple.com [Wed, 23 Apr 2014 17:49:40 +0000 (17:49 +0000)]
[OS X] Make checking if a font is the system font more robust
https://bugs.webkit.org/show_bug.cgi?id=132030

Reviewed by Dean Jackson.

Instead of inspecting a font's name to determine if it is a system font,
on OS X we can ask the system directly.

This patch also moves a platform-specific check into platform-specific
code, so that other platforms don't check for OS X-specific behavior.

Covered by existing tests.

* platform/graphics/Font.cpp:
(WebCore::Font::hasValidAverageCharWidth):
* platform/graphics/Font.h:
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::primaryFontDataIsSystemFont):

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

5 years ago[GTK] Focus management API was moved from HTMLDocument to Document in r166668
commit-queue@webkit.org [Wed, 23 Apr 2014 16:44:13 +0000 (16:44 +0000)]
[GTK] Focus management API was moved from HTMLDocument to Document in r166668
https://bugs.webkit.org/show_bug.cgi?id=132060

Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-23
Reviewed by Carlos Garcia Campos.

Deprecate the removed methods in WebKitDOMHTMLDocument to keep API compatibility.

* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_html_document_get_active_element):
(webkit_dom_html_document_has_focus):
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols:
* bindings/gobject/webkitdom.symbols:

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

5 years ago[iOS WebKit1] MemoryPressureHandler::respondToMemoryPressure called on wrong thread.
akling@apple.com [Wed, 23 Apr 2014 16:19:24 +0000 (16:19 +0000)]
[iOS WebKit1] MemoryPressureHandler::respondToMemoryPressure called on wrong thread.
<https://webkit.org/b/132041>
<rdar://problem/16687238>

Always dispatch the memory pressure relief code on the main queue.
This is really only needed for iOS/WK1, but we might as well share the code.

Reviewed by Michael Saboff.

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

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

5 years ago[GTK] Unreviewed GTK gardening
commit-queue@webkit.org [Wed, 23 Apr 2014 15:38:31 +0000 (15:38 +0000)]
[GTK] Unreviewed GTK gardening
https://bugs.webkit.org/show_bug.cgi?id=132058

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-04-23

* platform/gtk/TestExpectations:

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

5 years ago[Mac] REGRESSION (r164823): Building JavaScriptCore creates files under /tmp/JavaScri...
mrowe@apple.com [Wed, 23 Apr 2014 14:39:46 +0000 (14:39 +0000)]
[Mac] REGRESSION (r164823): Building JavaScriptCore creates files under /tmp/JavaScriptCore.dst
<https://webkit.org/b/132053>

Reviewed by Dan Bernstein.

* JavaScriptCore.xcodeproj/project.pbxproj: Don't try to create a symlink at /usr/local/bin/jsc inside
the DSTROOT unless we're building to the deployment location. Also remove the unnecessary -x argument
from /bin/sh since that generates unnecessary output.

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

5 years ago[GTK] ShadowRoot API was removed in r164131
commit-queue@webkit.org [Wed, 23 Apr 2014 13:43:12 +0000 (13:43 +0000)]
[GTK] ShadowRoot API was removed in r164131
https://bugs.webkit.org/show_bug.cgi?id=132059

Source/WebCore:
Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-23
Reviewed by Gustavo Noronha Silva.

Add ShadowRoot removed API to WebKitDOMDeprecated to keep API/ABI compatibility.

* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_shadow_root_class_init):
(webkit_dom_shadow_root_init):
(webkit_dom_shadow_root_element_from_point):
(webkit_dom_shadow_root_get_active_element):
(webkit_dom_shadow_root_get_apply_author_styles):
(webkit_dom_shadow_root_get_element_by_id):
(webkit_dom_shadow_root_get_elements_by_class_name):
(webkit_dom_shadow_root_get_elements_by_tag_name):
(webkit_dom_shadow_root_get_elements_by_tag_name_ns):
(webkit_dom_shadow_root_get_inner_html):
(webkit_dom_shadow_root_get_reset_style_inheritance):
(webkit_dom_shadow_root_get_selection):
(webkit_dom_shadow_root_set_apply_author_styles):
(webkit_dom_shadow_root_set_inner_html):
(webkit_dom_shadow_root_set_reset_style_inheritance):
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols:

Tools:
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2014-04-23
Reviewed by Gustavo Noronha Silva.

Add WebKitDOMShadowRoot to the list of deleted classes to generate
the API docs.

* gtk/webkitdom.py:
(WebKitDOMDocGenerator):

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

5 years ago[New Multicolumn] fast/multicol/overflow-content.html displays red
commit-queue@webkit.org [Wed, 23 Apr 2014 13:36:30 +0000 (13:36 +0000)]
[New Multicolumn] fast/multicol/overflow-content.html displays red
https://bugs.webkit.org/show_bug.cgi?id=131809

Patch by Morten Stenshorne <mstensho@opera.com> on 2014-04-23
Reviewed by David Hyatt.

Source/WebCore:
Insert a break at end of content on our own in the multicol code, to make sure
that overflow is accounted for, and also to make sure that we account for all
content in non-final sets (i.e. those preceding spanners).

In other words, this will additionally fix balancing issues in sets preceding
a spanner. Added a test for that.

Tests: fast/multicol/break-in-columns-before-spanner.html
       fast/multicol/newmulticol/compare-with-old-impl/overflow-content.html

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::regionInRange): Deleted.
* rendering/RenderFlowThread.h:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::distributeImplicitBreaks):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::applyBreakAfterContent):
* rendering/RenderNamedFlowThread.h:

LayoutTests:
* fast/multicol/break-in-columns-before-spanner-expected.html: Added.
* fast/multicol/break-in-columns-before-spanner.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/overflow-content-expected.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/overflow-content.html: Added.

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

5 years agoOverflow propagation broken in BTT and RTL writing-modes
commit-queue@webkit.org [Wed, 23 Apr 2014 13:32:56 +0000 (13:32 +0000)]
Overflow propagation broken in BTT and RTL writing-modes
https://bugs.webkit.org/show_bug.cgi?id=113781

Patch by Morten Stenshorne <mstensho@opera.com> on 2014-04-23
Reviewed by David Hyatt.

Source/WebCore:
Overflow rectangles are not quite physical, not quite logical. This
means that we cannot use clientBoxRect() directly to represent a
rectangle that expresses exactly no overflow. This rectangle is the
padding box (relative to the border box) in vertical-lr and
horizontal-tb, but the block-direction borders need to be flipped in
vertical-rl and horizontal-bt.

Tests: fast/css/overflow-btt-border-after.html
       fast/css/overflow-rtl-border-after.html

* WebCore.exp.in:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeOverflow):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addVisualOverflow):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
* rendering/RenderBox.h:
(WebCore::RenderBox::layoutOverflowRect):

LayoutTests:
* fast/css/overflow-btt-border-after-expected.txt: Added.
* fast/css/overflow-btt-border-after.html: Added.
* fast/css/overflow-rtl-border-after-expected.txt: Added.
* fast/css/overflow-rtl-border-after.html: Added.
* fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.
* platform/gtk/fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.
* platform/mac/fast/multicol/vertical-rl/rules-with-border-before-expected.png: Removed.
Removed incorrect screenshots that now differ from the actual (correct) rendering.

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

5 years ago[CSS Regions] Improve the debugging infrastructure
abucur@adobe.com [Wed, 23 Apr 2014 12:30:22 +0000 (12:30 +0000)]
[CSS Regions] Improve the debugging infrastructure
https://bugs.webkit.org/show_bug.cgi?id=132042

Reviewed by Mihnea Ovidenie.

This patch improves the debugging code for CSS Regions.

Tests: No function change. No new tests.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::showRegionsInformation): Print brackets around the region range when dumping
the render tree to the console.
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::containingRegion): Convert the ASSERT to an ASSERT_WITH_SECURITY_IMPLICATION.

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

5 years agoUnreviewed EFL gardening.
ryuan.choi@samsung.com [Wed, 23 Apr 2014 11:19:36 +0000 (11:19 +0000)]
Unreviewed EFL gardening.

* platform/efl-wk1/css3/flexbox/flexbox-baseline-expected.png: Removed.
* platform/efl-wk1/css3/flexbox/flexbox-baseline-expected.txt: Removed.
* platform/efl-wk1/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Removed.
* platform/efl-wk1/fast/block/basic/020-expected.txt: Removed.
* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
* platform/efl/css3/flexbox/flexbox-baseline-expected.png: Renamed from LayoutTests/platform/efl-wk2/css3/flexbox/flexbox-baseline-expected.png.
* platform/efl/css3/flexbox/flexbox-baseline-expected.txt: Renamed from LayoutTests/platform/efl-wk2/css3/flexbox/flexbox-baseline-expected.txt.
* platform/efl/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt: Renamed from LayoutTests/platform/efl-wk2/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt.

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

5 years ago[EFL] Add expectations of new added tests.
commit-queue@webkit.org [Wed, 23 Apr 2014 11:11:47 +0000 (11:11 +0000)]
[EFL] Add expectations of new added tests.
https://bugs.webkit.org/show_bug.cgi?id=132052

Unreviewed EFL gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-04-23

* platform/efl-wk2/TestExpectations:
* platform/efl/fast/repaint/spanner-with-margin-expected.txt: Added. Rebaseline after r167439

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

5 years ago[GTK] run-webkit-tests script is failing to invoke run-launcher
commit-queue@webkit.org [Wed, 23 Apr 2014 09:39:51 +0000 (09:39 +0000)]
[GTK] run-webkit-tests script is failing to invoke run-launcher
https://bugs.webkit.org/show_bug.cgi?id=132051

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-04-23
Reviewed by Philippe Normand.

After the WK1 support was dropped, if run-webkit-tests is executed
without --no-show-results parameter, the launcher is being called
using a -2 parameter that is it causing the run-launcher to break.

* Scripts/webkitpy/port/gtk.py:
(GtkPort.show_results_html_file):

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

5 years agoRefactoring editing/selection/13804.html
g.czajkowski@samsung.com [Wed, 23 Apr 2014 07:34:01 +0000 (07:34 +0000)]
Refactoring editing/selection/13804.html
https://bugs.webkit.org/show_bug.cgi?id=131986

Reviewed by Darin Adler.

This test does not need pixel baselines (MAC, EFL, GTK) to just
check whether spelling marker appears on 'adf'.

According to bug 125688, the test starts using asynchronous
spellchecking.

Since the test mostly verifies spelling behaviour, it was moved
to editing/spelling directory.
Its name was changed to spelling-backward.html.

* editing/selection/13804.html: Removed.
* editing/spelling/spelling-backward-expected.txt: Added, renamed from editing/selection/13804.html.
* editing/spelling/spelling-backward.html: Added.

* platform/efl/editing/selection/13804-expected.png: Removed.
* platform/efl/editing/selection/13804-expected.txt: Removed.
* platform/gtk/editing/selection/13804-expected.png: Removed.
* platform/gtk/editing/selection/13804-expected.txt: Removed.
* platform/mac/editing/selection/13804-expected.png: Removed.
* platform/mac/editing/selection/13804-expected.txt: Removed.
Get rid of platform specific expectation.

* platform/gtk/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/win/TestExpectations:
Mark spelling-backward.html as failure due to missing asynchronous spellchecking.

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

5 years agoCursor doesn't change back to pointer when leaving the Safari window
rniwa@webkit.org [Wed, 23 Apr 2014 06:11:22 +0000 (06:11 +0000)]
Cursor doesn't change back to pointer when leaving the Safari window
https://bugs.webkit.org/show_bug.cgi?id=132038

Reviewed by Alexey Proskuryakov.

Source/WebCore:
r147739 incorrectly added an early exit in EventHandler::selectCursor when hit test result didn't have
any node associated with it. Since we will hit this code when the cursor is outside of the WebView,
we still need to take the CURSOR_AUTO path as did the code before r147739.

No new test is added since this behavior can't be tested in DRT or WTR.

* page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor):

Source/WebKit/mac:
Since the cursor type is now updated asynchronously after r147739,
[window windowNumber] != [NSWindow windowNumberAtPoint:[NSEvent mouseLocation] belowWindowWithWindowNumber:0]
evalutes to false depending on how fast cursor is moving.

Instead, check whether the NSWindow of the WebView is the key window or not since
key window appears to control the cursor style in Cocoa as far as I've tested:
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/WinPanel/Concepts/ChangingMainKeyWindow.html

* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setCursor):

Source/WebKit2:
Since the cursor type is now updated asynchronously after r147739,
[window windowNumber] != [NSWindow windowNumberAtPoint:[NSEvent mouseLocation] belowWindowWithWindowNumber:0]
evalutes to false depending on how fast cursor is moving.

Instead, check whether the NSWindow of the WebView is the key window or not since
key window appears to control the cursor style in Cocoa as far as I've tested:
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/WinPanel/Concepts/ChangingMainKeyWindow.html

* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::setCursor):

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

5 years agoAdd SPI to expose provisional URL from Frame.
commit-queue@webkit.org [Wed, 23 Apr 2014 05:59:34 +0000 (05:59 +0000)]
Add SPI to expose provisional URL from Frame.
https://bugs.webkit.org/show_bug.cgi?id=132014

Add methods to return the provisional URL from WKWebProcessPlugInFrame.

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

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(-[WKWebProcessPlugInFrame _provisionalURL]):
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h:

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

5 years ago[iOS][WK2] Split iOS touch event dispatch for the regular touch event dispatch
benjamin@webkit.org [Wed, 23 Apr 2014 05:53:05 +0000 (05:53 +0000)]
[iOS][WK2] Split iOS touch event dispatch for the regular touch event dispatch
https://bugs.webkit.org/show_bug.cgi?id=132033

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

The generic touch event dispatching does not work well with iOS gesture recognizers.
Some events are required to be synchronous, while other needs can be asynchronous and
can even use event coalescing. We only need UI callback for the synchronous events.

Previously, that was implemented by changing the property ShouldSendEventsSynchronously
on WebPageProxy. That is causing issues when synchronous events are sent right after asynchronous
events because the responses in WebPageProxy::didReceiveEvent() easily get out of order.

This patch completely split the UIGestureRecognizerDispatching from the normal asynchronous event dispatching.

Synchronous events are sent directly to the WebProcess and report the result to the PageClient right away.

Asynchronous events are sent to the EventDispatcher where they are coalesced until the main thread is free
to process events.

There can be a race where a synchronous event comes before the asynchronous events are processed. In that case,
the synchronous event handler starts by getting the events out of the EventDispatcher and dispatch them first.

* Shared/NativeWebTouchEvent.h:
(WebKit::NativeWebTouchEvent::uniqueId): Deleted.
* Shared/ios/NativeWebTouchEventIOS.mm:
(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleSynchronousTouchEvent):
(WebKit::WebPageProxy::sendAsynchronousTouchEvent):
(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _webTouchEventsRecognized:]):
(-[WKContentView _webTouchEvent:WebKit::preventsNativeGestures:]):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::EventDispatcher):
(WebKit::EventDispatcher::clearQueuedTouchEventsForPage):
(WebKit::EventDispatcher::getQueuedTouchEventsForPage):
(WebKit::EventDispatcher::touchEvent):
(WebKit::EventDispatcher::dispatchTouchEvents):
* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/EventDispatcher.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::dispatchTouchEvent):
(WebKit::WebPage::touchEventSync):
(WebKit::WebPage::touchEvent):
(WebKit::WebPage::touchEventSyncForTesting):
(WebKit::WebPage::didCommitLoad):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dispatchAsynchronousTouchEventsQueue):

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

5 years ago[EFL][WK1] There are many failures in fast/forms since r163033
ryuan.choi@samsung.com [Wed, 23 Apr 2014 05:28:20 +0000 (05:28 +0000)]
[EFL][WK1] There are many failures in fast/forms since r163033
https://bugs.webkit.org/show_bug.cgi?id=132039

Reviewed by Gyuyoung Kim.

* ewk/ewk_view.cpp: Added break statements which is missing while remove COMPILE_ASSERT_MATCHING_ENUM
(ewk_view_navigation_policy_decision):

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

5 years agoUnreviewed EFL gardening. media tests has been broken since r166395 on both EFL wk1...
gyuyoung.kim@samsung.com [Wed, 23 Apr 2014 05:03:07 +0000 (05:03 +0000)]
Unreviewed EFL gardening. media tests has been broken since r166395 on both EFL wk1 and wk2.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

5 years agoSkip fast/events/ghostly-mousemoves-in-subframe.html on Mac/WK1.
akling@apple.com [Wed, 23 Apr 2014 03:13:41 +0000 (03:13 +0000)]
Skip fast/events/ghostly-mousemoves-in-subframe.html on Mac/WK1.

* platform/mac-wk1/TestExpectations:

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

5 years agoDo not paint border image when the border rect is empty.
zalan@apple.com [Wed, 23 Apr 2014 02:44:25 +0000 (02:44 +0000)]
Do not paint border image when the border rect is empty.
https://bugs.webkit.org/show_bug.cgi?id=131988

Reviewed by Darin Adler.

http://trac.webkit.org/changeset/167351 introduced an early return when border
rect is empty. This patch ensures that border image is not painted either in that case.

Source/WebCore:
Modified padding-margin-negative-border.html to cover border-image case.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBorder):

LayoutTests:
* fast/css/padding-margin-negative-border-expected.html: Borders in -expected.html does not get painted either, just
ensure that they are explicitly different colors.
* fast/css/padding-margin-negative-border.html:

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

5 years agoASSERTION FAILED: scrollerImp == scrollbarPainterForScrollbar(_scrollbar) on two...
timothy_horton@apple.com [Wed, 23 Apr 2014 01:37:39 +0000 (01:37 +0000)]
ASSERTION FAILED: scrollerImp == scrollbarPainterForScrollbar(_scrollbar) on two API tests
https://bugs.webkit.org/show_bug.cgi?id=132034
<rdar://problem/16624332>

Reviewed by Simon Fraser.

* platform/mac/ScrollAnimatorMac.mm:
(-[WebScrollbarPainterDelegate shouldUseLayerPerPartForScrollerImp:]):
scrollerImpWithStyle:controlSize:horizontal:replacingScrollerImp: moves the delegate
from the old scrollerImp to the new one, and also happens to call shouldUseLayerPerPartForScrollerImp.
Since scrollerImpWithStyle: has not returned yet, the scrollbarPainterForScrollbar still returns the old scrollerImp,
so this assertion fires. It's safe to remove this because supportsUpdateOnSecondaryThread doesn't make use of the imp.

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

5 years agoDFG::Worklist should acquire the m_lock before iterating DFG plans.
mark.lam@apple.com [Wed, 23 Apr 2014 00:36:49 +0000 (00:36 +0000)]
DFG::Worklist should acquire the m_lock before iterating DFG plans.
<https://webkit.org/b/132032>

Reviewed by Filip Pizlo.

Currently, there's a rightToRun mechanism that ensures that no compilation
threads are running when the GC is iterating through the DFG worklists.
However, this does not prevent a Worker thread from doing a DFG compilation
and modifying the plans in the worklists thereby invalidating the plan
iterator that the GC is using.  This patch fixes the issue by acquiring
the worklist m_lock before iterating the worklist plans.

This issue was uncovered by running the fast/workers layout tests with
COLLECT_ON_EVERY_ALLOCATION enabled.

* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::isActiveForVM):
(JSC::DFG::Worklist::visitChildren):

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

5 years agoDumpRenderTree generates black snapshots on some platforms
timothy_horton@apple.com [Tue, 22 Apr 2014 23:54:49 +0000 (23:54 +0000)]
DumpRenderTree generates black snapshots on some platforms
https://bugs.webkit.org/show_bug.cgi?id=132029
<rdar://problem/16679363>

Reviewed by Simon Fraser.

* DumpRenderTree/mac/PixelDumpSupportMac.mm:
(createBitmapContextFromWebView):
DRT checks with the WebView to determine whether it can use the window's
backing store directly or (because of compositing) needs to take a WindowServer
snapshot. However, on some platforms and in some situations, the window can
be layer backed without the WebView necessarily currently being composited.
We should check with the window in addition to the WebView before going
ahead and using its backing store.

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

5 years agoAX: iOS hit-testing does not work when page is zoomed
cfleizach@apple.com [Tue, 22 Apr 2014 23:51:51 +0000 (23:51 +0000)]
AX: iOS hit-testing does not work when page is zoomed
https://bugs.webkit.org/show_bug.cgi?id=132013

Reviewed by Simon Fraser.

Implement accessibilityHitTest so that the point can be converted correctly.

* WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:
(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

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